:root {
  color-scheme: light;
  --ink: #15233c;
  --muted: #738098;
  --line: #e4e9f2;
  --surface: #ffffff;
  --canvas: #f4f6fa;
  --navy: #14284c;
  --blue: #315efb;
  --blue-soft: #edf2ff;
  --green: #148764;
  --shadow: 0 10px 30px rgba(34, 50, 80, 0.08);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.login-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 10%,#e1e9ff 0,transparent 38%),var(--canvas); }
.login-card { width: min(440px,100%); background: white; border: 1px solid var(--line); border-radius: 22px; padding: 32px; box-shadow: var(--shadow); }
.login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }
.login-brand strong,.login-brand small { display:block; }.login-brand small{color:var(--muted);margin-top:2px}.login-card h1{font-size:28px}.login-card>p{color:var(--muted);line-height:1.5;margin:8px 0 24px}
.login-card label,.candidate-form label,.questionnaire label { display:grid; gap:7px; color:#526079; font-size:12px; font-weight:700; }
.login-card label{margin-bottom:15px}.login-card input,.candidate-form input,.questionnaire input,.questionnaire select,.questionnaire textarea{width:100%;border:1px solid #d7deea;border-radius:10px;background:white;color:var(--ink);padding:11px 12px;outline:0}.login-card input:focus,.candidate-form input:focus,.questionnaire input:focus,.questionnaire select:focus,.questionnaire textarea:focus{border-color:#7794ff;box-shadow:0 0 0 3px rgba(49,94,251,.1)}
.login-card .primary{width:100%;margin-top:8px}.form-error{display:block;color:#b93440;font-size:12px;min-height:18px;margin-top:10px}
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0, 1fr); }
.sidebar { background: var(--navy); color: white; padding: 28px 20px; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; margin: 0 8px 42px; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#4f75ff,#2f54e8); font-weight: 800; }
.brand strong, .brand small, .sidebar-footer strong, .sidebar-footer small { display: block; }
.brand strong { font-size: 18px; }
.brand small, .sidebar-footer small { color: #9eacc6; margin-top: 2px; }
nav { display: grid; gap: 8px; }
.nav-item { width: 100%; border: 0; background: transparent; color: #b8c4d9; text-align: left; padding: 13px 14px; border-radius: 11px; font-weight: 600; display: flex; gap: 12px; }
.nav-item span { width: 20px; text-align: center; }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.1); color: white; }
.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: 20px 8px 0; display: flex; gap: 10px; align-items: center; font-size: 13px; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #42d6a4; box-shadow: 0 0 0 5px rgba(66,214,164,.12); }
main { padding: 28px 34px 42px; overflow: hidden; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.eyebrow { color: var(--muted); margin: 0 0 5px; font-size: 13px; }
h1 { font-size: 30px; margin: 0; letter-spacing: -.5px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.search { height: 44px; width: min(360px, 32vw); background: white; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 9px; padding: 0 13px; }
.search input { border: 0; outline: 0; width: 100%; color: var(--ink); }
.search input::placeholder { color: #98a3b7; }
.primary, .secondary { border: 0; border-radius: 11px; padding: 12px 16px; font-weight: 700; }
.primary { background: var(--blue); color: white; box-shadow: 0 7px 16px rgba(49,94,251,.22); }
.secondary { background: white; color: #56647c; border: 1px solid var(--line); }
.avatar, .person { display: grid; place-items: center; border-radius: 50%; font-weight: 800; }
.avatar { width: 42px; height: 42px; border: 0; background: #dfe7ff; color: #2648b9; }
.summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 26px 0 22px; }
.summary-grid article { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 18px 20px; box-shadow: 0 4px 15px rgba(34,50,80,.035); }
.summary-grid span, .summary-grid small { display: block; color: var(--muted); }
.summary-grid strong { font-size: 28px; display: block; margin: 8px 0 5px; }
.summary-grid small { font-size: 12px; }
.summary-grid .accent { background: linear-gradient(140deg,#315efb,#2747be); border-color: transparent; color: white; }
.summary-grid .accent span, .summary-grid .accent small { color: #dce4ff; }
.board-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; flex-wrap: wrap; }
.board-toolbar > select { border: 1px solid var(--line); border-radius: 10px; background: white; color: #56647c; padding: 9px 12px; min-height: 40px; }
.archive-filter { display: flex; align-items: center; gap: 7px; color: #66738a; font-size: 13px; font-weight: 700; background: white; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; }
.view-switch { display: flex; background: #e8ecf4; padding: 4px; border-radius: 10px; }
.view-switch button { border: 0; background: transparent; padding: 8px 14px; color: #6f7b90; border-radius: 8px; font-weight: 700; }
.view-switch .active { background: white; color: var(--ink); box-shadow: 0 2px 7px rgba(35,49,74,.08); }
.filter-count { background: var(--blue-soft); color: var(--blue); padding: 2px 6px; border-radius: 7px; }
.muted { color: var(--muted); margin-left: auto; font-size: 13px; }
.kanban { display: grid; grid-template-columns: repeat(4,minmax(245px,1fr)); gap: 14px; overflow-x: auto; padding-bottom: 12px; }
.column { min-width: 245px; background: #edf0f6; border-radius: 15px; padding: 12px; }
.column > header { height: 38px; display: flex; justify-content: space-between; align-items: center; padding: 0 4px 9px; }
.column > header > div { display: flex; align-items: center; gap: 8px; }
.column > header b { background: #dde3ee; color: #637089; border-radius: 8px; padding: 3px 8px; font-size: 12px; }
.column-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.blue { background:#3f69fb; }.amber{background:#f2a63b}.violet{background:#8561e8}.green{background:#27a77a}
.candidate-card { background: white; border: 1px solid #e0e5ee; border-radius: 13px; padding: 14px; margin-bottom: 10px; box-shadow: 0 3px 10px rgba(33,48,75,.045); }
.candidate-card.archived { opacity: .72; border-style: dashed; }
.candidate-card.selected { border-color: #7190ff; box-shadow: 0 0 0 2px rgba(49,94,251,.09); }
.card-head { display: flex; justify-content: space-between; gap: 8px; align-items: start; }
.card-head strong { font-size: 14px; }
.card-head span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.candidate-card p { color: #66738a; font-size: 12px; margin: 8px 0 12px; }
.tags { display: flex; flex-wrap: wrap; gap: 5px; }
.tags span { font-size: 10px; padding: 5px 7px; border-radius: 7px; background: var(--blue-soft); color: #4561b7; }
.candidate-card footer { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eef1f6; margin-top: 13px; padding-top: 10px; }
.candidate-card footer small { color: #929db0; }
.person { width: 24px; height: 24px; background: #e9edf5; color: #61708a; font-size: 9px; }
.notice, .result-line, .document-line { border-radius: 8px; padding: 8px 9px; font-size: 11px; }
.notice { background: #fff5e4; color: #ad6c15; }
.result-line { background: #eaf8f2; color: #28765f; }
.document-line { background: #f1edff; color: #7057b7; }
.add-card { width: 100%; border: 1px dashed #bdc7d8; color: #718097; background: transparent; border-radius: 11px; padding: 11px; }
dialog { border: 0; padding: 0; border-radius: 20px; width: min(680px,calc(100vw - 30px)); box-shadow: 0 22px 80px rgba(21,35,60,.25); }
dialog::backdrop { background: rgba(15,27,49,.52); backdrop-filter: blur(3px); }
.candidate-form { padding: 26px; }
.candidate-form>header,.drawer-header { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.candidate-form h2,.drawer-header h2{margin:0;font-size:23px}.icon-button{width:36px;height:36px;border:0;border-radius:10px;background:#eef1f6;color:#64728a;font-size:24px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}.candidate-form>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.matrix-info{background:#eef3ff;color:#3f568e;border-radius:11px;padding:13px 15px;margin-bottom:16px;font-size:13px}.upload-zone{border:1px dashed #aebbd2;border-radius:13px;padding:18px;background:#f8faff}.upload-zone input{margin-top:10px}.upload-zone small{font-weight:400;color:var(--muted);line-height:1.45}
.drawer { position:fixed;inset:0;z-index:20;background:rgba(15,27,49,.42);opacity:0;visibility:hidden;transition:.2s; }
.drawer.open { opacity:1;visibility:visible; }
.drawer-panel { position:absolute;right:0;top:0;height:100%;width:min(800px,96vw);background:#f8f9fc;box-shadow:-20px 0 60px rgba(21,35,60,.18);padding:26px 30px 50px;overflow:auto;transform:translateX(30px);transition:.2s; }
.drawer.open .drawer-panel{transform:none}.drawer-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:20px}.drawer-tabs button{border:0;background:transparent;color:var(--muted);font-weight:700;padding:10px 13px;border-bottom:2px solid transparent}.drawer-tabs .active{color:var(--blue);border-color:var(--blue)}
.questionnaire{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.questionnaire .wide{grid-column:1/-1}.form-section{grid-column:1/-1;margin:10px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:14px;color:#273855}.form-section:first-child{margin-top:0;padding-top:0;border:0}.questionnaire-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.questionnaire textarea{min-height:76px;resize:vertical}.radio-group{display:flex;gap:12px;align-items:center;min-height:42px}.radio-group label{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--ink)}.radio-group input{width:auto}
.analysis-panel{margin-top:18px}.analysis-empty,.analysis-summary{background:white;border:1px solid var(--line);border-radius:15px;padding:18px;color:#5e6b82}.analysis-summary h3{margin:0 0 5px;color:var(--ink)}.recommendations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.offer-card{background:white;border:1px solid #dce3ef;border-left:3px solid var(--blue);border-radius:13px;padding:14px}.offer-card header{display:flex;justify-content:space-between;gap:10px;align-items:start}.offer-card h4{margin:0}.offer-number{background:var(--blue-soft);color:var(--blue);border-radius:7px;padding:4px 7px;font-size:11px}.money-row{display:flex;gap:8px;margin-top:11px}.money-row span{flex:1;background:#f3f5f9;border-radius:8px;padding:8px;color:var(--muted);font-size:10px}.money-row strong{display:block;color:var(--ink);font-size:13px;margin-top:3px}.specialties{font-size:11px;color:#56647c;line-height:1.45;background:#f5f7fb;border-radius:8px;padding:9px;margin-top:9px}.analysis-warning{background:#fff5e4;color:#975e10;border-radius:10px;padding:10px;margin-top:12px;font-size:12px}.empty-column{color:#8a95a8;font-size:12px;text-align:center;padding:24px 8px}.toast{position:fixed;z-index:40;right:24px;bottom:24px;max-width:420px;background:#172743;color:white;border-radius:11px;padding:12px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#a62e3a}
.calls-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.calls-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:800;margin-bottom:16px}.call-link{text-decoration:none;display:inline-flex}.call-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f6f8fc;border-radius:13px;padding:16px;margin-bottom:18px}.call-form label{display:grid;gap:7px;color:#526079;font-size:12px;font-weight:700}.call-form input,.call-form select,.call-form textarea{width:100%;border:1px solid #d7deea;border-radius:10px;background:white;padding:11px 12px}.call-form .wide{grid-column:1/-1}.call-form textarea{min-height:72px}.call-form>button{justify-self:end;grid-column:1/-1}.calls-list{display:grid;gap:9px}.call-item{border:1px solid #e1e6ef;border-radius:11px;padding:12px}.call-item strong,.call-item small{display:block}.call-item small{color:var(--muted);margin-top:4px}.call-item p{margin:8px 0 0}.call-reminder{margin-top:8px;background:#fff2d7;color:#8c5a13;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}
.fit-reason{font-size:11px;line-height:1.4;margin-top:9px;padding:9px;border-radius:8px;background:#edf3ff;color:#35558f;font-weight:700}.exclusions{margin-top:14px;background:white;border:1px solid var(--line);border-radius:15px;padding:18px}.exclusions h3{margin:0 0 12px;font-size:15px}.exclusions ul{margin:0;padding-left:20px;display:grid;gap:8px}.exclusions li{font-size:12px;line-height:1.45;color:#5b687e}.exclusions li strong{color:#33435f}
.candidate-card{cursor:pointer}.candidate-card:focus-visible{outline:3px solid rgba(49,94,251,.25);outline-offset:2px}.loading{opacity:.55;pointer-events:none}
.danger-link{border:0;background:#fff0f1;color:#ad3340;border-radius:10px;padding:11px 14px;font-weight:700;margin-right:auto}
.candidate-list{background:white;border:1px solid var(--line);border-radius:15px;overflow:auto;min-width:920px}.list-row{width:100%;display:grid;grid-template-columns:1.2fr .45fr 1fr 1fr .85fr .9fr .75fr;gap:12px;text-align:left;padding:13px 16px;border:0;border-bottom:1px solid #edf0f5;background:white;color:#536078;align-items:center}.list-row:not(.list-header):hover{background:#f7f9fd}.list-row span:first-child{color:var(--ink);font-weight:700}.list-header{background:#f3f5f9;color:#68758b;font-size:12px;position:sticky;top:0;z-index:1}
.documents-panel{margin-top:18px;background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.documents-panel>.form-section{display:block;border:0;margin:0 0 14px;padding:0}.documents-list{display:grid;gap:8px}.document-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e5eaf2;border-radius:11px;padding:11px 12px}.document-item strong,.document-item small{display:block}.document-item small{color:var(--muted);margin-top:4px}.document-item a{text-decoration:none;font-size:12px;padding:8px 12px}.document-upload{display:inline-flex!important;margin-top:12px;background:var(--blue-soft);color:var(--blue)!important;border-radius:9px;padding:10px 13px;cursor:pointer}.document-upload input{display:none}
.password-create{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:7px}.password-create button{white-space:nowrap}.user-hint{margin:8px 0 18px}.text-link{color:var(--blue);font-weight:700;text-decoration:none}
.history-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:8px 20px}.history-item{position:relative;display:grid;grid-template-columns:18px 1fr;column-gap:10px;padding:16px 0;border-bottom:1px solid #edf0f5}.history-item:last-child{border:0}.history-item strong,.history-item small{grid-column:2}.history-item small{color:var(--muted);margin-top:4px}.history-dot{grid-row:1/3;width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.version-list{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.version-list h3{font-size:15px}.version-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f5}.version-item strong,.version-item small{display:block}.version-item small{color:var(--muted);margin-top:4px}.active-badge{background:#eaf8f2;color:#28765f;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800}
.wide-dialog{width:min(1000px,calc(100vw - 30px))}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-card,.report-wide,.report-half{background:#f7f9fd;border:1px solid var(--line);border-radius:13px;padding:16px}.report-card span,.report-card small{display:block;color:var(--muted)}.report-card strong{font-size:26px;display:block;margin:7px 0}.report-wide{grid-column:1/-1}.report-half{grid-column:span 2}.report-wide h3,.report-half h3{margin:0 0 14px;font-size:15px}.bar-chart{height:160px;display:grid;grid-template-columns:repeat(14,1fr);gap:8px;align-items:end}.bar-chart>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.bar-chart i{display:block;width:100%;max-width:30px;background:linear-gradient(#6f8bff,#315efb);border-radius:6px 6px 2px 2px;min-height:4px}.bar-chart small{color:var(--muted)}.metric-row{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--line)}
.user-create{display:grid;grid-template-columns:1.1fr 1fr .85fr 1.4fr auto;gap:9px;background:#f5f7fb;border-radius:13px;padding:13px}.user-create input,.user-create select,.user-row input,.user-row select{width:100%;border:1px solid #d7deea;border-radius:9px;background:white;padding:10px;color:var(--ink)}.users-list{display:grid;gap:8px;margin-top:14px}.user-row{display:grid;grid-template-columns:1.1fr .8fr .85fr .7fr 1.3fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px}.user-row>strong{font-size:12px;color:#66738a}.check-label{display:flex!important;align-items:center;gap:6px}.check-label input{width:auto}.user-row .secondary{padding:10px 12px}
@media (max-width: 980px) {
  .app-shell { grid-template-columns: 78px minmax(0,1fr); }
  .sidebar { padding: 24px 12px; }.brand div,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center}.sidebar-footer div{display:none}
  .summary-grid { grid-template-columns: repeat(2,1fr); }.kanban{grid-template-columns: repeat(4,280px)}.report-grid{grid-template-columns:repeat(2,1fr)}.user-create,.user-row{grid-template-columns:1fr 1fr}.user-create>button,.user-row button{grid-column:span 2}
}
@media (max-width: 700px) {
  .app-shell{display:block}.sidebar{display:none}main{padding:20px 16px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.search{order:3;width:100%}.summary-grid{grid-template-columns:1fr 1fr}.board-toolbar{overflow:auto}.kanban{grid-template-columns:repeat(4,82vw)}
  .form-grid,.questionnaire,.recommendations,.call-form{grid-template-columns:1fr}.questionnaire .wide,.form-grid .wide,.call-form .wide,.call-form>button{grid-column:auto}.drawer-panel{padding:20px 16px 40px}.summary-grid article{padding:14px}.summary-grid strong{font-size:23px}.report-half{grid-column:1/-1}.report-grid{grid-template-columns:1fr 1fr}.bar-chart{gap:3px}.document-item{align-items:flex-start}.user-create,.user-row{grid-template-columns:1fr}.user-create button,.user-row button{grid-column:auto}.password-create{grid-template-columns:1fr}
}
