.sa-ux{--ink:#182033;--muted:#667085;--line:#e5e7eb;--bg:#f6f7fb;--card:#fff;--purple:#6d28d9;--purple2:#8b5cf6;--blue:#1b41f5;--green:#087b5b;--red:#c9364f;--amber:#b56909;--shadow:0 12px 34px rgba(25,28,45,.08);--radius:18px;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sa-ux *{box-sizing:border-box}.sa-ux button,.sa-ux input,.sa-ux select{font:inherit}.sa-ux a{color:inherit;text-decoration:none}.sa-ux .shell{max-width:1440px;margin:auto;padding:28px}.sa-ux .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:var(--purple);font-weight:800}.sa-ux .hero{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.sa-ux .hero h1{font-size:32px;margin:6px 0 8px;letter-spacing:-.035em}.sa-ux .hero p{color:var(--muted);margin:0;max-width:720px;line-height:1.55}.sa-ux .hero-actions{display:flex;gap:10px;flex-wrap:wrap}.sa-ux .btn{border:0;border-radius:11px;padding:10px 15px;cursor:pointer;font-weight:700;font-size:14px;display:inline-block}.sa-ux .btn.primary{background:var(--purple);color:#fff}.sa-ux .btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.sa-ux .btn.ghost{background:#f4f0ff;color:var(--purple)}.sa-ux .btn.sm{padding:7px 10px;font-size:12px}.sa-ux .btn:hover{transform:translateY(-1px)}.sa-ux .grid{display:grid;gap:18px}.sa-ux .grid.cols-4{grid-template-columns:repeat(4,1fr)}.sa-ux .grid.cols-3{grid-template-columns:repeat(3,1fr)}.sa-ux .grid.two{grid-template-columns:1.4fr .8fr}.sa-ux .card{background:var(--card);border:1px solid #e9eaf0;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.sa-ux .card.flat{box-shadow:none}.sa-ux .metric{position:relative;overflow:hidden}.sa-ux .metric:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#f3e8ff;right:-45px;top:-50px}.sa-ux .metric .label{font-size:13px;color:var(--muted)}.sa-ux .metric .value{font-size:26px;font-weight:800;margin:6px 0 4px}.sa-ux .delta{font-size:12px;font-weight:700}.sa-ux .up{color:var(--green)}.sa-ux .down{color:var(--red)}.sa-ux .warn{color:var(--amber)}.sa-ux .section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 12px;gap:16px}.sa-ux .section-head h2{font-size:19px;margin:0}.sa-ux .section-head p{font-size:13px;color:var(--muted);margin:3px 0 0}.sa-ux .filters{display:flex;gap:9px;flex-wrap:wrap}.sa-ux .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer}.sa-ux .chip.active{color:#fff;border-color:var(--purple);background:var(--purple)}.sa-ux .search{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 12px;min-width:220px}.sa-ux .strategy-card{display:flex;flex-direction:column;gap:14px;min-height:282px}.sa-ux .strategy-top{display:flex;justify-content:space-between;gap:12px}.sa-ux .strategy-icon{width:42px;height:42px;border-radius:12px;background:#f2ecff;color:var(--purple);display:grid;place-items:center;font-weight:900}.sa-ux .fit{width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--green) var(--fit),#edf0f3 0);display:grid;place-items:center;position:relative}.sa-ux .fit:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}.sa-ux .fit span{position:relative;font-size:12px;font-weight:900}.sa-ux .strategy-card h3{font-size:18px;margin:0}.sa-ux .strategy-card p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.sa-ux .tags{display:flex;gap:6px;flex-wrap:wrap}.sa-ux .tag{font-size:11px;font-weight:700;padding:5px 8px;border-radius:7px;background:#f2f4f7;color:#475467}.sa-ux .tag.good{background:#e8f7f1;color:var(--green)}.sa-ux .tag.risk{background:#fff3e4;color:#9a5b08}.sa-ux .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:10px}.sa-ux .card-footer small{color:var(--muted)}.sa-ux .notice{display:flex;gap:12px;padding:14px 16px;border-radius:13px;background:#fff8e9;border:1px solid #f3ddb1;color:#73510b;font-size:13px;line-height:1.5}.sa-ux .notice.info{background:#eef4ff;border-color:#cfdcff;color:#244094}.sa-ux .progress-steps{display:flex;margin:0 0 24px;gap:8px}.sa-ux .step{flex:1;position:relative;color:#98a2b3;font-size:12px;font-weight:700}.sa-ux .step:before{content:"";display:block;height:4px;background:#e5e7eb;margin-bottom:9px;border-radius:3px}.sa-ux .step.active:before,.sa-ux .step.done:before{background:var(--purple)}.sa-ux .step.active{color:var(--purple)}.sa-ux .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sa-ux .field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.sa-ux .field input,.sa-ux .field select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.sa-ux .segmented{display:flex;border:1px solid var(--line);border-radius:11px;padding:3px}.sa-ux .segmented button{flex:1;border:0;background:transparent;padding:8px;border-radius:8px;color:var(--muted);cursor:pointer}.sa-ux .segmented button.active{background:#eee8ff;color:var(--purple);font-weight:800}.sa-ux .stock-head{justify-content:space-between}.sa-ux .stock-head,.sa-ux .ticker{display:flex;align-items:center;gap:12px}.sa-ux .ticker-logo{width:46px;height:46px;border-radius:13px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900}.sa-ux .ticker h2{margin:0}.sa-ux .ticker small{color:var(--muted)}.sa-ux .price{text-align:right}.sa-ux .price strong{font-size:27px}.sa-ux .signal-list{display:grid;gap:12px}.sa-ux .signal{display:grid;grid-template-columns:1fr auto;gap:8px}.sa-ux .signal label{font-size:12px;color:var(--muted)}.sa-ux .bar{height:7px;border-radius:9px;background:#edf0f3;overflow:hidden;grid-column:1/-1}.sa-ux .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--purple2));border-radius:9px}.sa-ux .candidate{border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:12px;cursor:pointer}.sa-ux .candidate.selected{border:2px solid var(--purple);background:#fbf9ff}.sa-ux .candidate-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:12px;align-items:center}.sa-ux .candidate .num{font-weight:800}.sa-ux .candidate small{display:block;color:var(--muted);margin-top:3px}.sa-ux .risk-row{display:flex;gap:8px;align-items:center;color:var(--amber);font-size:12px;margin-top:10px}.sa-ux .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sa-ux .kpi{background:#f8f8fb;border-radius:12px;padding:12px}.sa-ux .kpi small{display:block;color:var(--muted);font-size:11px}.sa-ux .kpi strong{display:block;margin-top:5px;font-size:17px}.sa-ux .chart-wrap{height:280px;position:relative;margin-top:16px}.sa-ux .chart-wrap svg{width:100%;height:100%}.sa-ux .axis-label{font-size:11px;fill:#858b98}.sa-ux .table{width:100%;border-collapse:collapse}.sa-ux .table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:11px 10px;border-bottom:1px solid var(--line)}.sa-ux .table td{padding:13px 10px;border-bottom:1px solid #f0f1f4;font-size:13px}.sa-ux .status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.sa-ux .status.safe{background:#e8f7f1;color:var(--green)}.sa-ux .status.watch{background:#fff3e4;color:#9a5b08}.sa-ux .status.risk{background:#feecee;color:var(--red)}.sa-ux .alert-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.sa-ux .alert-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);margin-top:5px;flex-shrink:0}.sa-ux .alert-item p{margin:0;font-size:13px;line-height:1.45}.sa-ux .alert-item small,.sa-ux .empty{color:var(--muted)}.sa-ux .empty{text-align:center;padding:38px}.sa-ux .footer-note{margin:25px 0 0;color:var(--muted);font-size:11px;line-height:1.5}@media (max-width:1000px){.sa-ux .grid.cols-3,.sa-ux .grid.cols-4{grid-template-columns:repeat(2,1fr)}.sa-ux .grid.two{grid-template-columns:1fr}.sa-ux .kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.sa-ux .shell{padding:18px}.sa-ux .hero{display:block}.sa-ux .hero-actions{margin-top:16px}.sa-ux .form-grid,.sa-ux .grid.cols-3,.sa-ux .grid.cols-4{grid-template-columns:1fr}.sa-ux .candidate-row{grid-template-columns:1fr 1fr}.sa-ux .candidate-row>div:first-child{grid-column:1/-1}.sa-ux .kpis{grid-template-columns:1fr 1fr}}