:root{--bg: #f3f5f8;--surface: #ffffff;--raised: #ffffff;--border: #e1e6ee;--text: #1c2536;--muted: #64708a;--primary: #941444;--ok: #16a34a;--warn: #d97706;--bad: #dc2626;--focus: #941444;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,ui-sans-serif,system-ui,sans-serif;color:var(--text);background:var(--bg);color-scheme:light}:root[data-theme=dark]{--bg: #0e1319;--surface: #151c26;--raised: #1b2430;--border: #263243;--text: #e6ebf2;--muted: #8b98ab;--primary: #f27ba5;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--focus: #f27ba5;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}:focus-visible{outline:3px solid var(--focus)!important;outline-offset:2px}.app-shell{min-height:100vh}.app-sider{border-right:1px solid var(--border)}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.sider-nav{flex:1;overflow-y:auto;overflow-x:hidden}.sider-footer{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.brand{display:flex;align-items:center;gap:10px;padding:20px 0 18px 22px}.brand>span:nth-child(2){flex:1;min-width:0}.brand-mark{display:block;width:38px;height:38px;object-fit:contain;flex-shrink:0}.brand-name{display:block;color:var(--text);font-size:17px;font-weight:700}.sider-collapse-btn{flex-shrink:0;width:28px;height:28px;border:1px solid var(--border);border-radius:6px 0 0 6px;border-right:none;background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.sider-collapse-btn:hover{border-color:var(--primary);color:var(--primary)}.brand-collapsed{flex-direction:column;gap:10px;padding:20px 0 18px;justify-content:center}.brand-collapsed .sider-collapse-btn{border-radius:6px;border-right:1px solid var(--border)}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;display:flex;justify-content:space-between;align-items:center}.app-header-title{font-size:16px;font-weight:600;color:var(--text)}.app-header-actions{display:flex;gap:8px;align-items:center}.icon-btn{width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer}.icon-btn:hover{border-color:var(--primary);color:var(--primary)}.notification-empty{color:var(--muted);font-size:13px;padding:4px 0;min-width:180px}.user-card{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:var(--raised);border:1px solid var(--border)}.user-card-collapsed{justify-content:center;padding:9px}.user-card-avatar{width:32px;height:32px;border-radius:9px;background:#941444;color:#fff;font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.user-card-name{font-weight:600;color:var(--text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.user-card-role{font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--border);padding:2px 8px;border-radius:999px;white-space:nowrap}.logout-card{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:transparent;border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text)}.logout-card:hover{background:var(--raised)}.logout-card-collapsed{justify-content:center;padding:9px}.logout-card-icon{width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad);display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.logout-card-text{display:flex;flex-direction:column;line-height:1.3}.logout-card-label{font-size:11px;color:var(--muted)}.logout-card-value{font-size:13px;font-weight:600}.page-content{padding:24px;max-width:1440px;margin:0 auto}.page-title{margin:0!important}.page-description{color:var(--muted);margin:8px 0 20px}.state-card{text-align:center;padding:36px 24px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--primary) 18%,var(--bg)),var(--bg) 60%)}.login-card{width:min(100%,420px);text-align:center}.login-logo{width:64px;height:64px;object-fit:contain;margin-bottom:8px}.login-brand{color:var(--text);font-size:28px;font-weight:800;margin-bottom:0}.login-tagline{color:var(--muted);margin:4px 0 26px}.login-card .ant-form{text-align:left}.auth-loading{min-height:100vh;display:grid;place-items:center}.ai-banner{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 14px;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;background:var(--raised);color:var(--muted);font-size:13px;margin-bottom:16px}.ai-banner strong{color:var(--text);font-weight:600}.ai-banner span:before{content:"✓ ";color:var(--primary)}.score-ring{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring, var(--primary)) calc(var(--pct, 0) * 1%),var(--border) 0)}.score-ring>div{width:84px;height:84px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:26px;font-weight:700}.evidence{border-left:3px solid var(--primary);padding:6px 10px;margin:6px 0 0;background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:0 8px 8px 0;font-size:13px;color:var(--text);cursor:pointer;text-align:left;width:100%;border-top:0;border-right:0;border-bottom:0;font-family:inherit}.evidence:hover{background:color-mix(in srgb,var(--primary) 16%,transparent)}.evidence small{color:var(--muted);display:block}.cv-viewer{background:var(--raised);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center;min-height:320px}.cv-viewer img{max-width:100%;border-radius:6px;background:#fff}.pipeline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.pipeline .step{padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.pipeline .step.done{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,var(--border))}.pipeline .step.active{color:var(--primary);border-color:var(--primary);font-weight:600}.pipeline .step.bad{color:var(--bad);border-color:var(--bad)}@media(max-width:768px){.page-content{padding:16px}}
