:root{--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-500: #10b981;--emerald-600: #059669;--emerald-800: #065f46;--rose-50: #fff1f2;--rose-100: #ffe4e6;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-200: #99f6e4;--teal-500: #14b8a6;--teal-600: #0891b2;--teal-700: #0e7490;--teal-800: #155e75;--teal-900: #164e63;--white: #ffffff;--brand-primary: var(--indigo-600);--brand-primary-dark: var(--indigo-700);--brand-primary-light: var(--indigo-50);--brand-primary-mid: var(--indigo-100);--brand-accent: var(--amber-500);--brand-accent-light: var(--amber-50);--gradient-brand: linear-gradient(135deg, var(--indigo-800) 0%, var(--indigo-600) 50%, var(--indigo-700) 100%);--gradient-header: linear-gradient(135deg, var(--indigo-900) 0%, var(--indigo-700) 100%);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-2xl: 2.5rem;--radius-3xl: 3rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.05);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.04);--shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.15);--shadow-inner: inset 0 2px 4px rgba(0,0,0,.04);--shadow-brand: 0 10px 25px -5px rgba(79,70,229,.25);--shadow-accent: 0 10px 25px -5px rgba(245,158,11,.25);--ease: cubic-bezier(.4, 0, .2, 1);--dur: .2s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--slate-50);color:var(--slate-900);line-height:1.6}::selection{background:var(--indigo-100)}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.anim-fade{animation:fadeIn .4s var(--ease) both}.anim-slide{animation:slideUp .5s var(--ease) both}.anim-zoom{animation:zoomIn .4s var(--ease) both}.anim-pulse{animation:pulse 2s ease-in-out infinite}.anim-spin{animation:spin 1s linear infinite}.card-enter{animation:cardEntrance .3s ease-out both}.card-enter:nth-child(2){animation-delay:40ms}.card-enter:nth-child(3){animation-delay:80ms}.card-enter:nth-child(4){animation-delay:.12s}.card-enter:nth-child(5){animation-delay:.16s}.card-enter:nth-child(6){animation-delay:.2s}.app-shell{min-height:100vh;overflow-x:hidden}.container{max-width:80rem;margin:0 auto;padding:0 2rem}.page-content{max-width:80rem;margin:0 auto;padding:2rem}.grid-main{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.grid-main{grid-template-columns:2fr 1fr}}.grid-2{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.grid-4{grid-template-columns:repeat(4,1fr)}}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{display:flex;flex-direction:column}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.headline-xl{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;letter-spacing:-.04em;line-height:1;font-style:italic}.headline-lg{font-size:1.75rem;font-weight:900;letter-spacing:-.03em}.headline-md{font-size:1.375rem;font-weight:900;letter-spacing:-.02em}.label{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}.label-sm{font-size:.6875rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.body-sm{font-size:.9375rem;line-height:1.7}.body-xs{font-size:.875rem;line-height:1.6}.text-brand{color:var(--brand-primary)}.text-accent{color:var(--brand-accent)}.text-slate{color:var(--slate-600)}.text-emerald{color:var(--emerald-600)}.text-rose{color:var(--rose-500)}.text-amber{color:var(--amber-600)}.text-white{color:var(--white)}.text-muted{color:var(--slate-500)}.italic{font-style:italic}.bold{font-weight:700}.line-clamp-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.875rem 2rem;background:var(--gradient-header);color:var(--white);box-shadow:0 4px 20px #4f46e54d}.navbar-brand{display:flex;align-items:center;gap:.875rem}.navbar-icon{background:#ffffff26;padding:.5rem;border-radius:var(--radius-md);color:var(--white);display:flex;align-items:center;justify-content:center}.navbar-title{font-size:1.375rem;font-weight:900;letter-spacing:-.04em;font-style:italic;color:var(--white)}.navbar-title span{color:var(--amber-400)}.navbar-sub{display:flex;align-items:center;gap:.375rem;margin-top:.125rem}.status-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--emerald-500);animation:pulse 2s ease-in-out infinite}.navbar-sub span{font-size:.625rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:#ffffffa6}.navbar-actions{display:flex;align-items:center;gap:.75rem}.tab-nav{display:flex;gap:.25rem;padding:.25rem;background:var(--slate-100);border-radius:var(--radius-lg);overflow-x:auto}.tab-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-500);border:none;background:transparent;transition:all var(--dur);white-space:nowrap;cursor:pointer}.tab-btn:hover{color:var(--brand-primary)}.tab-btn.active{background:var(--white);color:var(--brand-primary);box-shadow:var(--shadow-sm)}.card{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.card:hover{box-shadow:var(--shadow-lg)}.card-pad{padding:1.5rem}.card-pad-lg{padding:2rem}.card-pad-xl{padding:2.5rem}.card-r3{border-radius:var(--radius-3xl)}.card-dark{background:var(--slate-900);border-color:transparent;color:var(--white);border-radius:var(--radius-2xl)}.kpi{padding:1.5rem;border-radius:var(--radius-2xl);position:relative;overflow:hidden}.kpi-label{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.25rem}.kpi-value{font-size:2.5rem;font-weight:900;letter-spacing:-.04em;line-height:1}.kpi-white{background:var(--white);border:1px solid var(--slate-100);box-shadow:var(--shadow-sm)}.kpi-white .kpi-label{color:var(--slate-500)}.kpi-white .kpi-value{color:var(--brand-primary)}.kpi-brand{background:var(--brand-primary);color:var(--white);box-shadow:var(--shadow-brand)}.kpi-brand .kpi-label{opacity:.75}.kpi-accent{background:var(--brand-accent);color:var(--white);box-shadow:var(--shadow-accent)}.kpi-accent .kpi-label{opacity:.75}.kpi-emerald{background:var(--emerald-500);color:var(--white);box-shadow:var(--shadow-lg)}.kpi-emerald .kpi-label{opacity:.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;border-radius:var(--radius-lg);transition:all var(--dur) var(--ease)}.btn-primary{background:var(--brand-primary);color:var(--white);padding:.875rem 2rem;font-weight:900;font-size:.9375rem;box-shadow:var(--shadow-brand)}.btn-primary:hover{background:var(--brand-primary-dark);transform:translateY(-1px);box-shadow:0 14px 30px -5px #4f46e54d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--white);color:var(--brand-primary);border:2px solid var(--brand-primary);padding:.875rem 2rem;font-weight:900;font-size:.9375rem}.btn-secondary:hover{background:var(--brand-primary-light)}.btn-ghost{padding:.5rem .75rem;font-size:.8125rem;font-weight:700;color:var(--slate-600);border-radius:var(--radius-md)}.btn-ghost:hover{background:var(--slate-100);color:var(--slate-800)}.btn-text{padding:.5rem .75rem;font-size:.8125rem;font-weight:700;color:var(--brand-primary);border-radius:var(--radius-md)}.btn-text:hover{background:var(--brand-primary-light)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-accent{background:var(--amber-500);color:var(--white);padding:.875rem 2rem;font-weight:900;font-size:.9375rem;box-shadow:0 4px 14px -3px #f59e0b59}.btn-accent:hover{background:#d97706;transform:translateY(-1px)}.btn-accent:active{transform:translateY(0)}.btn-accent:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{padding:.5rem;border-radius:var(--radius-md);color:var(--slate-500)}.btn-icon:hover{background:var(--slate-100);color:var(--slate-700)}.btn-danger{background:var(--rose-50);color:var(--rose-600);padding:.5rem 1rem;font-size:.8125rem;font-weight:700;border-radius:var(--radius-md)}.btn-danger:hover{background:var(--rose-100)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8125rem;font-weight:700;color:var(--slate-700)}.form-input{width:100%;padding:.75rem 1rem;border:1.5px solid var(--slate-200);border-radius:var(--radius-md);font-size:.9375rem;outline:none;transition:border-color var(--dur),box-shadow var(--dur);background:var(--white)}.form-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light)}.form-input::placeholder{color:var(--slate-400)}.form-select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--slate-200);border-radius:var(--radius-md);font-size:.9375rem;outline:none;background:var(--white);transition:border-color var(--dur),box-shadow var(--dur)}.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light)}.form-hint{font-size:.8125rem;color:var(--slate-500)}.form-error{font-size:.8125rem;color:var(--rose-600);font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s var(--ease)}.modal-panel{background:var(--white);width:100%;border-radius:var(--radius-3xl);box-shadow:var(--shadow-2xl);overflow:hidden;display:flex;flex-direction:column}.modal-sm{max-width:32rem}.modal-lg{max-width:56rem;max-height:90vh}.modal-head{padding:1.5rem 2rem;border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:2rem;overflow-y:auto;flex:1}.close-btn{padding:.5rem;border-radius:50%;color:var(--slate-400);transition:background var(--dur)}.close-btn:hover{background:var(--slate-100)}.badge{display:inline-block;font-size:.75rem;font-weight:900;padding:.25rem .625rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-brand{background:var(--brand-primary-mid);color:var(--brand-primary)}.badge-accent{background:var(--amber-100);color:var(--amber-700)}.badge-emerald{background:var(--emerald-100);color:var(--emerald-600)}.badge-rose{background:var(--rose-100);color:var(--rose-600)}.badge-slate{background:var(--slate-100);color:var(--slate-600)}.badge-gold{background:#fef3c7;color:#92400e}.badge-purple{background:#ede9fe;color:#5b21b6}.data-table{width:100%;text-align:left;border-collapse:collapse}.data-table th{background:var(--slate-50);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-500);padding:1rem 1.5rem;border-bottom:1px solid var(--slate-100)}.data-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--slate-100);font-size:.9375rem}.data-table tbody tr{transition:background var(--dur);cursor:pointer}.data-table tbody tr:hover{background:var(--slate-50)}.data-table tbody tr:last-child td{border-bottom:none}.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:900;letter-spacing:-.02em}.score-gold{background:#fef3c7;color:#92400e}.score-purple{background:#ede9fe;color:#5b21b6}.score-gray{background:var(--slate-100);color:var(--slate-600)}.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);padding:2rem}.auth-card{background:var(--white);border-radius:var(--radius-3xl);box-shadow:var(--shadow-2xl);padding:3rem;width:100%;max-width:28rem;animation:slideUp .5s var(--ease) both}.auth-logo{font-size:1.75rem;font-weight:900;letter-spacing:-.04em;font-style:italic;color:var(--slate-900);margin-bottom:.25rem}.auth-logo span{color:var(--brand-primary)}.auth-subtitle{font-size:.875rem;color:var(--slate-500);margin-bottom:2rem}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--slate-400);font-size:.8125rem;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--slate-200)}.auth-toggle{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--slate-600)}.auth-toggle button{color:var(--brand-primary);font-weight:700}.auth-toggle button:hover{text-decoration:underline}.onboarding-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);padding:2rem}.onboarding-card{background:var(--white);border-radius:var(--radius-3xl);box-shadow:var(--shadow-2xl);padding:3rem;width:100%;max-width:34rem;animation:slideUp .5s var(--ease) both}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand)}.spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite}.alert{padding:1rem 1.25rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.alert-error{background:var(--rose-50);border:1px solid var(--rose-100);color:var(--rose-700)}.alert-warn{background:var(--amber-50);border:1px solid var(--amber-200);color:var(--amber-800)}.alert-success{background:var(--emerald-50);border:1px solid var(--emerald-100);color:var(--emerald-800)}.alert-info{background:var(--brand-primary-light);border:1px solid var(--brand-primary-mid);color:var(--brand-primary)}.sidebar-panel{background:var(--white);border-radius:var(--radius-2xl);border:1px solid var(--slate-200);box-shadow:var(--shadow-md);padding:1.5rem}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--slate-500)}.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--slate-100);box-shadow:var(--shadow-sm);transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur);cursor:pointer}.candidate-row:hover{border-color:var(--brand-primary-mid);box-shadow:var(--shadow-md);transform:translateY(-1px)}.candidate-name{font-weight:700;font-size:.9375rem}.candidate-meta{font-size:.8125rem;color:var(--slate-500)}.progress-bar{height:.5rem;background:var(--slate-100);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--brand-primary);transition:width .5s var(--ease)}.progress-fill.accent{background:var(--brand-accent)}.progress-fill.emerald{background:var(--emerald-500)}.rubric-category{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.rubric-category-name{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-600);margin-bottom:.75rem}.rubric-category-score{font-size:1.5rem;font-weight:900;color:var(--brand-primary);letter-spacing:-.03em}.brand-swatch{width:2rem;height:2rem;border-radius:50%;border:3px solid var(--white);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--dur)}.brand-swatch:hover{transform:scale(1.15)}.brand-swatch.selected{outline:3px solid var(--brand-primary);outline-offset:3px}.overflow-x{overflow-x:auto}.divider{height:1px;background:var(--slate-100);margin:1.5rem 0}.empty-state{padding:3rem;text-align:center;color:var(--slate-400)}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media print{.navbar{position:static;-webkit-print-color-adjust:exact;print-color-adjust:exact}.btn,button{display:none!important}.card{break-inside:avoid;box-shadow:none}body{font-size:12pt}}
