:root{--indigo-root:#0c1e4a;--indigo:#13295f;--royal:#1b3578;--indigo-mid:#2a478f;--indigo-surface:#eaeef7;--gold:#c4922a;--gold-dark:#9a6f12;--gold-surface:#fbefd8;--green:#0d5e45;--green-surface:#e3f3ec;--red:#b5341f;--red-surface:#fce7e7;--surface:#fff;--surface2:#f5f4f0;--wash:#f7f5f0;--border:#e2e8f0;--text1:#1a1a1a;--text2:#4a4a48;--text3:#8b8880;--r-sm:6px;--r-md:10px;--r-lg:14px;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"DM Sans", -apple-system, system-ui, sans-serif;--ink:#0d1b2a;--ink-light:#334155;--canvas:#f8fafb;--surface-raised:#f1f5f9;--accent:#0ea5e9;--accent-hover:#0284c7;--accent-dim:#e0f2fe;--accent-text:#0369a1;--positive:#059669;--positive-dim:#d1fae5;--caution:#d97706;--caution-dim:#fef3c7;--danger:#dc2626;--danger-dim:#fee2e2;--muted:#64748b;--border-hover:#cbd5e1;--shadow-sm:0 1px 3px #0d1b2a14;--shadow-md:0 4px 12px #0d1b2a1a;--font:"Plus Jakarta Sans", system-ui, sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text1);background:var(--wash);font-size:14px;line-height:1.5}a{color:var(--royal);text-decoration:none}h1,h2,h3{font-family:var(--font-serif);color:var(--indigo-root)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--indigo-root);color:#fff;flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{font-family:var(--font-serif);letter-spacing:-.02em;border-bottom:1px solid #ffffff1a;padding:20px 22px;font-size:20px;font-weight:800}.sidebar-brand span{color:var(--gold)}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.sidebar-section{text-transform:uppercase;letter-spacing:.08em;color:#fff6;padding:14px 22px 6px;font-size:10px;font-weight:600}.nav-link{color:#fffc;cursor:pointer;border-left:3px solid #0000;align-items:center;gap:11px;padding:10px 22px;font-size:13.5px;transition:all .12s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{border-left-color:var(--gold);color:#fff;background:#c4922a24;font-weight:600}.sidebar-foot{color:#fff9;border-top:1px solid #ffffff1a;padding:14px 22px;font-size:12px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.topbar-title{color:var(--indigo-root);font-size:18px;font-weight:700;font-family:var(--font-serif)}.page{width:100%;max-width:1200px;padding:28px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}.card+.card{margin-top:16px}.btn{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text1);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.btn:hover{background:var(--surface2)}.btn-primary{background:var(--royal);color:#fff;border-color:var(--royal)}.btn-primary:hover{background:var(--indigo)}.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-gold:hover{background:var(--gold-dark)}.btn-sm{padding:5px 11px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.btn-danger{color:var(--red);border-color:var(--red-surface)}.field{margin-bottom:14px}.label{color:var(--text2);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;width:100%;padding:9px 12px;font-family:inherit;font-size:14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--royal);outline:none}.hint{color:var(--text3);margin-top:4px;font-size:11px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--text3);padding:10px 12px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:11px 12px}.table tr:hover td{background:var(--wash)}.badge{border-radius:99px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-gold{background:var(--gold-surface);color:var(--gold-dark)}.badge-indigo{background:var(--indigo-surface);color:var(--royal)}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}.stat-value{color:var(--indigo-root);font-size:28px;font-weight:800;font-family:var(--font-serif)}.stat-label{color:var(--text3);margin-top:2px;font-size:12px}.auth-wrap{background:linear-gradient(135deg, var(--indigo-root), var(--royal));justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{border-radius:var(--r-lg);background:#fff;width:100%;max-width:400px;padding:36px}.auth-brand{font-family:var(--font-serif);text-align:center;margin-bottom:4px;font-size:28px;font-weight:800}.auth-brand span{color:var(--gold)}.spinner{border:3px solid var(--border);border-top-color:var(--royal);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--text3);padding:48px 20px}.empty-icon{margin-bottom:10px;font-size:40px}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--text3)}.mb-0{margin-bottom:0}@media (width<=768px){.sidebar{z-index:100;transition:left .2s;position:fixed;left:-240px}.sidebar.open{left:0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page{padding:16px}.table{display:block;overflow-x:auto}}body{font-family:var(--font);color:var(--ink);background:var(--canvas)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl);font-weight:600}.text-2xl{font-size:var(--text-2xl);font-weight:700}.text-3xl{font-size:var(--text-3xl);font-weight:700}.text-muted{color:var(--muted)}.text-accent{color:var(--accent-text)}.text-danger{color:var(--danger)}.text-positive{color:var(--positive)}.page{max-width:1200px;padding:28px 32px}.page-narrow{max-width:760px;padding:28px 32px}.stack{flex-direction:column;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-md{flex-direction:column;gap:16px;display:flex}.stack-lg{flex-direction:column;gap:24px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-flat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-hover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;padding:20px;transition:box-shadow .15s,border-color .15s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.btn{font-family:var(--font);font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:9px 16px;font-weight:600;text-decoration:none;transition:background .12s,opacity .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{color:var(--ink);border:1.5px solid var(--border);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--border-hover);background:var(--surface-raised)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{font-size:var(--text-xs);padding:6px 12px}.btn-lg{font-size:var(--text-base);padding:12px 24px}.btn-full{justify-content:center;width:100%}.field{flex-direction:column;gap:5px;display:flex}.label{font-size:var(--text-sm);color:var(--ink-light);font-weight:600}.label-sub{font-size:var(--text-xs);color:var(--muted);margin-left:4px;font-weight:400}.input{font-family:var(--font);font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:9px 12px;transition:border-color .12s}.input:focus{border-color:var(--accent);outline:none}.input::placeholder{color:var(--muted)}.input-error{border-color:var(--danger)}.field-error{font-size:var(--text-xs);color:var(--danger)}textarea.input{resize:vertical;min-height:80px}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:28px}.select-wrap:after{content:"▾";pointer-events:none;color:var(--muted);font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.badge{font-size:var(--text-xs);border-radius:20px;align-items:center;padding:3px 9px;font-weight:600;display:inline-flex}.badge-blue{background:var(--accent-dim);color:var(--accent-text)}.badge-green{background:var(--positive-dim);color:var(--positive)}.badge-amber{background:var(--caution-dim);color:var(--caution)}.badge-red{background:var(--danger-dim);color:var(--danger)}.badge-grey{background:var(--surface-raised);color:var(--muted)}.score-ring{width:44px;height:44px;font-size:var(--text-sm);border:3px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.score-ring.high{border-color:var(--positive);color:var(--positive)}.score-ring.mid{border-color:var(--caution);color:var(--caution)}.score-ring.low{border-color:var(--muted);color:var(--muted)}.progress-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .4s}.progress-bar-fill.high{background:var(--positive)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 24px;display:flex}.empty-state-icon{opacity:.4;font-size:36px}.empty-state-title{font-size:var(--text-lg);font-weight:600}.empty-state-body{font-size:var(--text-sm);color:var(--muted);max-width:320px}.nudge{background:var(--caution-dim);border-radius:var(--radius);font-size:var(--text-sm);color:#92400e;border:1px solid #fde68a;align-items:center;gap:12px;padding:12px 16px;display:flex}.nudge-info{background:var(--accent-dim);color:var(--accent-text);border-color:#bae6fd}.js-shell{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.js-topbar{z-index:100;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.js-topbar-brand{font-weight:700;font-size:var(--text-lg);color:var(--ink)}.js-topbar-brand span{color:var(--accent)}.js-content{flex:1;width:100%;max-width:640px;margin:0 auto;padding:20px}.js-bottom-nav{z-index:100;background:var(--surface);border-top:1px solid var(--border);align-items:stretch;display:flex;position:sticky;bottom:0}.js-nav-item{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:10px 4px;font-size:10px;font-weight:600;text-decoration:none;transition:color .12s;display:flex}.js-nav-item.active{color:var(--accent)}.js-nav-icon{font-size:20px}.candidate-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:18px;transition:box-shadow .15s,border-color .15s;display:flex}.candidate-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.candidate-card-locked{opacity:.85}.candidate-header{align-items:flex-start;gap:14px;display:flex}.candidate-avatar{background:var(--accent-dim);width:44px;height:44px;color:var(--accent-text);font-size:var(--text-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.candidate-name{font-weight:700;font-size:var(--text-base)}.candidate-role{font-size:var(--text-sm);color:var(--muted)}.candidate-skills{flex-wrap:wrap;gap:6px;display:flex}.candidate-skill-tag{font-size:var(--text-xs);background:var(--surface-raised);color:var(--ink-light);border-radius:var(--radius-sm);border:1px solid var(--border);padding:3px 8px;font-weight:500}.candidate-actions{align-items:center;gap:8px;display:flex}@media (width<=768px){.page,.page-narrow{padding:16px}.grid-2,.grid-3{grid-template-columns:1fr}}
