:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#111827}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.app-shell{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:2rem 0}header{display:grid;gap:.5rem;margin-bottom:2rem}h1{margin:0;font-size:clamp(2rem,4vw,3rem)}.panel{background:#fff;border-radius:1.5rem;box-shadow:0 20px 50px #0f172a14;padding:1.75rem;margin-bottom:1.5rem}.panel-grid{display:grid;grid-template-columns:1.8fr 1.2fr;gap:1.5rem}.app-nav{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.nav-session{display:flex;align-items:center;gap:.75rem;margin-left:auto;color:#475569;font-size:.9rem}.nav-session .outline-button{padding:.7rem 1rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(430px,100%);display:grid;gap:1.75rem;padding:2rem;background:#fff;border-radius:1.5rem;box-shadow:0 24px 70px #0f172a21}.login-card h1{margin-top:.35rem}.login-card p{color:#64748b}.login-eyebrow{color:#4338ca;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-form{display:grid;gap:1rem}.login-form label{display:grid;gap:.5rem;font-weight:600}.login-form input{width:100%;padding:.95rem 1rem;border:1px solid #cbd5e1;border-radius:.85rem;background:#f8fafc;font:inherit}.login-form input:focus{outline:3px solid rgba(79,70,229,.18);border-color:#4f46e5}.login-form button:disabled{cursor:wait;opacity:.65}.nav-link{padding:.85rem 1.25rem;border-radius:1rem;background:#fff;color:#1f2937;text-decoration:none;font-weight:600;box-shadow:0 10px 25px #0f172a14}.nav-link.active{background:#4338ca;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:1.25rem;padding:1rem 1.25rem;box-shadow:0 12px 30px #0f172a0f}.stat-card span{display:block;color:#6b7280;margin-bottom:.5rem}.stat-card strong{font-size:1.75rem}.section-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.filters-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.filters-row input,.filters-row select,.candidate-form input,.candidate-form select,.candidate-form textarea,.profile-fields textarea{width:100%;padding:.95rem 1rem;border-radius:.85rem;border:1px solid #d1d5db;font-size:1rem;background:#f8fafc}.candidate-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.candidate-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:1rem;cursor:pointer;transition:background .2s ease}.candidate-list li:hover,.candidate-list li.selected{background:#eef2ff}.candidate-list li div{display:grid;gap:.2rem}.candidate-list li span{color:#6b7280;font-size:.95rem}.details-panel{display:grid;gap:1rem}.profile-summary h3{margin:0}.meta{margin:.35rem 0;color:#6b7280}.profile-fields{display:grid;gap:1rem}.profile-fields label,.candidate-form label{display:grid;gap:.5rem;font-size:.95rem}.candidate-form{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.full-width{grid-column:1 / -1}button,.secondary-button,.outline-button,.danger-button{border:none;border-radius:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.4rem}button{background:#4f46e5;color:#fff}.secondary-button{background:#eef2ff;color:#3730a3}.outline-button{background:#fff;color:#374151;border:1px solid #cbd5e1}.danger-button{background:#ef4444;color:#fff}button:hover,.secondary-button:hover,.outline-button:hover,.danger-button:hover{opacity:.95}.error{color:#b91c1c}.panel-grid>*{min-width:0}.details-panel{position:relative;z-index:2}.details-actions{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:.75rem}.details-actions button{position:relative;z-index:4;pointer-events:auto}@media (max-width: 980px){.panel-grid,.filters-row,.form-grid{grid-template-columns:1fr}}
