:root{--brand:#f97316;--brand-dark:#c2410c;--ink:#111827;--muted:#667085;--line:#e4e7ec;--bg:#f6f7f9;--green:#067647;--red:#b42318;--blue:#175cd3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.sa-topbar{position:sticky;top:0;z-index:20;min-height:68px;padding:12px max(18px,calc((100vw - 1460px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.sa-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.sa-brand span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:19px;font-weight:900}.sa-brand b{font-size:17px}.sa-top-actions{display:flex;gap:9px;align-items:center}.sa-pill{padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:800}.sa-pill.ok{background:#ecfdf3;color:var(--green)}.sa-shell{max-width:1460px;margin:auto;padding:22px}.sa-hero{padding:24px 28px;border-radius:18px;background:linear-gradient(135deg,#fff7ed,#fff 48%,#eff6ff);border:1px solid #fed7aa;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:16px}.sa-kicker{font-size:12px;color:var(--brand-dark);font-weight:900}.sa-hero h1{margin:7px 0 5px;font-size:28px;line-height:1.3}.sa-hero p{margin:0;color:var(--muted)}.sa-source{min-width:230px;padding:13px 15px;border-radius:12px;background:#fff;border:1px solid var(--line)}.sa-source b,.sa-source span{display:block}.sa-source span{margin-top:4px;color:var(--muted);font-size:12px}.sa-message{padding:11px 13px;margin-bottom:14px;border:1px solid #b2ddff;background:#eff8ff;color:var(--blue);border-radius:10px}.sa-message.err{border-color:#fecdca;background:#fef3f2;color:var(--red)}.sa-message.ok{border-color:#abefc6;background:#ecfdf3;color:var(--green)}.sa-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.sa-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 2px 8px rgba(16,24,40,.035)}.sa-form{padding:20px}.sa-result{padding:20px;position:sticky;top:86px}.sa-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:3px 0 14px}.sa-section-title b{font-size:17px}.sa-section-title small{display:block;color:var(--muted);margin-top:2px}.sa-link{border:0;background:transparent;color:var(--brand-dark);font-weight:800;cursor:pointer}.sa-grid{display:grid;gap:12px;margin-bottom:20px}.sa-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 8px}.sa-grid.five{grid-template-columns:repeat(5,minmax(0,1fr));margin:14px 0 8px}.sa-field{display:block;min-width:0}.sa-field.wide{grid-column:1/-1}.sa-field>span{display:block;margin-bottom:6px;color:#344054;font-size:12px;font-weight:800}.sa-field input,.sa-field select{width:100%;height:41px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 10px;outline:0}.sa-field input:focus,.sa-field select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(249,115,22,.1)}.source-tag{font-style:normal;background:#fff7ed;color:#c2410c;border-radius:999px;padding:2px 6px;font-size:10px}.sa-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.money{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px}.sa-advanced{border:1px solid var(--line);border-radius:11px;margin-top:12px;padding:0 13px}.sa-advanced summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:850}.sa-advanced summary::-webkit-details-marker{display:none}.sa-hint{color:var(--muted);font-size:12px;margin:7px 0 13px}.sa-main-result{padding:18px;border-radius:13px;background:#fff7ed;border:1px solid #fed7aa}.sa-main-result span,.sa-main-result strong,.sa-main-result em{display:block}.sa-main-result span{color:#9a3412;font-weight:800}.sa-main-result strong{font-size:32px;margin:4px 0}.sa-main-result em{font-style:normal;font-size:16px;font-weight:900}.sa-main-result.negative{background:#fef3f2;border-color:#fecdca}.sa-main-result.negative strong,.sa-main-result.negative em{color:var(--red)}.sa-main-result.positive strong,.sa-main-result.positive em{color:var(--green)}.sa-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.sa-metrics div{padding:10px;border:1px solid #eef0f2;border-radius:9px}.sa-metrics span,.sa-metrics b{display:block}.sa-metrics span{font-size:11px;color:var(--muted)}.sa-metrics b{margin-top:3px}.sa-decision{padding:11px;border-radius:9px;background:#f2f4f7;color:#475467}.sa-decision.warn{background:#fff7ed;color:#9a3412}.sa-decision.bad{background:#fef3f2;color:var(--red)}.sa-decision.good{background:#ecfdf3;color:var(--green)}.sa-reverse{margin:12px 0;padding:12px;border:1px dashed #fdba74;border-radius:10px}.sa-reverse span,.sa-reverse b,.sa-reverse small{display:block}.sa-reverse b{font-size:21px;color:var(--brand-dark)}.sa-reverse small{color:var(--muted)}.sa-actions{display:grid;gap:8px}.sa-btn{border:1px solid transparent;border-radius:9px;padding:10px 13px;text-decoration:none;cursor:pointer;font-weight:850;display:inline-flex;align-items:center;justify-content:center}.sa-btn.primary{background:var(--brand);color:#fff}.sa-btn.ghost{background:#fff;color:#344054;border-color:#d0d5dd}.sa-btn:disabled{opacity:.5;cursor:not-allowed}.sa-login-tip{color:var(--muted);font-size:12px}.sa-checklist{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.sa-checklist ul{padding:0;margin:8px 0 0;list-style:none;display:grid;gap:5px}.sa-checklist li{font-size:12px;color:var(--muted)}.sa-checklist li:before{content:"✓";margin-right:6px;color:var(--green);font-weight:900}.sa-checklist li.missing:before{content:"!";color:var(--brand)}.sa-saved{padding:20px;margin-top:16px}.sa-empty{padding:14px;color:#98a2b3;background:#f9fafb;border-radius:9px}
.sa-section-title .row{display:flex;gap:5px}.sa-candidate-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 150px 160px 150px;gap:8px;margin-bottom:12px}.sa-candidate-toolbar input,.sa-candidate-toolbar select{height:40px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 10px}.sa-candidate-list{display:grid;gap:10px}.sa-candidate-card{display:grid;grid-template-columns:auto 76px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.sa-candidate-card.muted{opacity:.67;background:#f9fafb}.sa-candidate-check{display:grid;justify-items:center;gap:2px;color:var(--muted);font-size:11px}.sa-candidate-check input{width:18px;height:18px;accent-color:var(--brand)}.sa-candidate-image{width:76px;height:76px;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:#f9fafb}.sa-candidate-image.empty{display:grid;place-items:center;color:#98a2b3;font-size:11px}.sa-candidate-main{min-width:0}.sa-candidate-title{display:flex;align-items:center;gap:8px}.sa-candidate-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.sa-candidate-main>small{display:block;color:var(--muted);margin:3px 0 7px}.sa-status,.risk{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800;white-space:nowrap}.sa-status{background:#f2f4f7;color:#475467}.sa-status.focus,.sa-status.converted{background:#ecfdf3;color:var(--green)}.sa-status.discarded{background:#fef3f2;color:var(--red)}.sa-candidate-signals,.sa-candidate-metrics{display:flex;gap:12px;flex-wrap:wrap}.sa-candidate-signals{font-size:12px;color:var(--muted)}.sa-candidate-metrics{margin-top:6px}.sa-candidate-metrics b{color:var(--green)}.sa-candidate-metrics b.bad{color:var(--red)}.risk.low{background:#ecfdf3;color:var(--green)}.risk.medium,.risk.incomplete{background:#fff7ed;color:#9a3412}.risk.high{background:#fef3f2;color:var(--red)}.sa-candidate-actions{display:grid;grid-template-columns:repeat(2,auto);gap:5px;justify-content:end}.sa-candidate-actions button,.sa-candidate-actions a,.sa-compare-head button{border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;text-decoration:none;padding:6px 8px;cursor:pointer;font-size:12px;text-align:center}.sa-candidate-actions .danger{color:var(--red)}.sa-compare{margin:0 0 12px;padding:13px;border:1px solid #fed7aa;border-radius:12px;background:#fffaf5}.sa-compare-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sa-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.sa-compare-grid>div{display:grid;gap:4px;padding:11px;border:1px solid #fed7aa;border-radius:9px;background:#fff}.sa-compare-grid strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-compare-grid span{font-size:12px;color:var(--muted)}.sa-compare-grid>b{font-size:20px;color:var(--brand-dark)}.sa-empty{padding:14px;color:#98a2b3;background:#f9fafb;border-radius:9px}
@media(max-width:1080px){.sa-layout{grid-template-columns:1fr}.sa-result{position:static}.sa-grid.four{grid-template-columns:repeat(2,1fr)}.sa-grid.five{grid-template-columns:repeat(3,1fr)}.sa-candidate-toolbar{grid-template-columns:1fr 1fr}.sa-candidate-card{grid-template-columns:auto 68px minmax(0,1fr)}.sa-candidate-image{width:68px;height:68px}.sa-candidate-actions{grid-column:2/-1;display:flex;flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:720px){.sa-shell{padding:12px}.sa-topbar{padding:10px 12px}.sa-top-actions .sa-pill{display:none}.sa-brand b{font-size:14px}.sa-hero{padding:18px;display:block}.sa-hero h1{font-size:22px}.sa-source{margin-top:14px;min-width:0}.sa-grid.two,.sa-cost-grid,.sa-grid.four,.sa-grid.five,.sa-candidate-toolbar{grid-template-columns:1fr}.sa-field.wide{grid-column:auto}.sa-form,.sa-result,.sa-saved{padding:15px}.sa-candidate-card{grid-template-columns:auto 58px minmax(0,1fr);align-items:start}.sa-candidate-image{width:58px;height:58px}.sa-candidate-title{display:grid;gap:4px}.sa-candidate-title b{white-space:normal}.sa-candidate-actions{grid-column:1/-1}.sa-section-title{align-items:flex-start}.sa-section-title .row{flex-wrap:wrap;justify-content:flex-end}}
