/* Admin polish: brand #0b3a4c / #e31e25 */
.admin-page { max-width:1400px;margin:0 auto;width:100%;font-family:Montserrat,system-ui,sans-serif; }
.admin-page h1 { letter-spacing:-.01em; }
.admin-page h3 { color:#0b3a4c;font-size:14px;margin:22px 0 6px; }
.admin-page .card { background:#fff;border:1px solid #e1e8ec;border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(11,58,76,.05),0 8px 24px rgba(11,58,76,.05); }
.admin-tabs { gap:4px;position:sticky;top:0;background:#fff;z-index:2;scrollbar-width:none; }
.admin-tabs::-webkit-scrollbar { display:none; }
.admin-tabs button { border:0;background:transparent;cursor:pointer;transition:color .15s,background .15s;border-radius:8px 8px 0 0; }
.admin-tabs button:hover { background:#f3f7f9;color:#0b3a4c; }
.admin-tabs button:focus-visible,.admin-user-row:focus-visible { outline:2px solid #0b3a4c;outline-offset:-2px; }

/* KPI tiles */
.admin-kpis { display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:4px; }
.admin-exchange .admin-kpis { margin-bottom:14px; }
.admin-kpi { background:#fff;border:1px solid #e1e8ec;border-left:4px solid #0b3a4c;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0; }
.admin-kpi span { font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5b707b; }
.admin-kpi b { font-size:22px;font-weight:800;color:#0b3a4c;overflow-wrap:anywhere; }
.admin-kpi.ok { border-left-color:#0f7a4d; }
.admin-kpi.warn { border-left-color:#e31e25; }
.admin-kpi.warn b { color:#e31e25; }

/* Users table */
.admin-user-list { padding:16px; }
button.admin-user-row { background:transparent;border:0;border-bottom:1px solid #edf1f4;cursor:pointer;color:inherit;font-family:inherit;transition:background .12s; }
button.admin-user-row:hover { background:#f6fafc; }
.admin-user-row>b { color:#0b3a4c;font-weight:700; }
.admin-user-row>span:not(.admin-status) { color:#40565f; }
.admin-table-head { border-radius:8px;letter-spacing:.06em; }
.admin-status { display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:5px 10px;white-space:nowrap;width:max-content; }
.admin-status::before { content:"";width:6px;height:6px;border-radius:50%;background:currentColor; }
.admin-editor h2 { padding-bottom:12px;border-bottom:1px solid #edf1f4;margin-bottom:2px; }
.admin-editor input:focus,.admin-tools input:focus { outline:none;border-color:#0b3a4c;box-shadow:0 0 0 3px rgba(11,58,76,.14); }
.admin-role-options { display:flex;flex-direction:column;gap:2px; }
.admin-role-options label { padding:0 10px;border:1px solid transparent;border-radius:10px;color:#0b3a4c;font-weight:600; }
.admin-role-options label:hover { background:#f3f7f9; }
.admin-editor .btn-primary { background:#0b3a4c;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer; }
.admin-editor .btn-primary:hover:not(:disabled) { background:#0e4a60; }
.admin-editor .btn-primary:disabled { opacity:.45;cursor:not-allowed; }
.admin-tools .btn-primary { background:#e31e25;color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer;white-space:nowrap; }
.admin-tools .btn-primary:hover { background:#c9181f; }
.admin-editor [role=status] { margin:0;min-height:18px;font-size:12px;font-weight:600;color:#0f7a4d; }

/* Empty states */
.admin-empty { display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:32px 16px;margin-top:10px;border:1.5px dashed #c5d3d9;border-radius:12px;background:#fbfcfd; }
.admin-empty b { color:#0b3a4c;font-size:14px; }
.admin-empty span { color:#5b707b;font-size:12px;line-height:1.6;max-width:460px; }
.admin-log-row { display:grid;grid-template-columns:160px 1fr 140px;gap:12px;padding:12px 8px;min-width:480px; }

/* Matrix / reference lists */
.admin-permissions { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px; }
.admin-permissions>div { flex-direction:column;justify-content:flex-start;gap:6px;border:1px solid #e1e8ec;border-radius:12px;padding:14px 16px;background:#fbfcfd; }
.admin-permissions>div b { color:#0b3a4c;font-size:12px; }
.admin-permissions>div span { color:#40565f;line-height:1.55;overflow-wrap:anywhere; }
.admin-page .data-note { background:#f3f7f9;color:#40565f;border-left:3px solid #0b3a4c;border-radius:0 10px 10px 0;margin:0 0 14px; }
.admin-page .employee-event { display:flex;align-items:center;gap:10px;color:#0b3a4c;font-weight:500; }
.admin-page .employee-event::before { content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#e31e25; }

@media (max-width:900px) {
  .admin-page .card { padding:16px;border-radius:12px; }
  .admin-kpi b { font-size:18px; }
}
@media (max-width:640px) {
  .admin-kpis { grid-template-columns:1fr 1fr; }
  .admin-permissions { grid-template-columns:1fr; }
  .admin-user-list { padding:10px; }
}
@media (prefers-reduced-motion:reduce) { .admin-tabs button,button.admin-user-row { transition:none; } }

/* Matrix / reference / unmatched tables */
.admin-matrix { width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:520px; }
.admin-matrix th,.admin-matrix td { padding:10px 12px;text-align:left;border-bottom:1px solid #edf1f4;vertical-align:middle;color:#40565f; }
.admin-matrix thead th { background:#f3f7f9;color:#5b707b;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap; }
.admin-matrix thead th:first-child { border-radius:8px 0 0 8px; }
.admin-matrix thead th:last-child { border-radius:0 8px 8px 0; }
.admin-matrix tbody th { color:#0b3a4c;font-weight:700; }
.admin-matrix tbody tr:hover { background:#f6fafc; }
.admin-matrix tr.done td,.admin-matrix tr.done th { opacity:.7; }
.admin-matrix:not(.admin-ref):not(.admin-unmatched) th:not(:first-child),.admin-matrix:not(.admin-ref):not(.admin-unmatched) td { text-align:center; }
.admin-matrix input[type=checkbox] { width:18px;height:18px;accent-color:#0b3a4c;cursor:pointer; }
.admin-matrix input:not([type=checkbox]),.admin-matrix select { width:100%;box-sizing:border-box;border:1px solid #c5d3d9;border-radius:8px;padding:8px 10px;font:inherit;color:#0b3a4c;background:#fff; }
.admin-matrix input:focus,.admin-matrix select:focus { outline:none;border-color:#0b3a4c;box-shadow:0 0 0 3px rgba(11,58,76,.14); }
.admin-actions { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px; }
.admin-btn { border:1px solid #c5d3d9;background:#fff;color:#0b3a4c;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;font-family:inherit; }
.admin-btn:hover:not(:disabled) { background:#f3f7f9; }
.admin-btn.primary { background:#0b3a4c;border-color:#0b3a4c;color:#fff; }
.admin-btn.primary:hover:not(:disabled) { background:#0e4a60; }
.admin-btn:disabled { opacity:.45;cursor:not-allowed; }
.admin-msg { margin:0;font-size:12px;font-weight:600;color:#0f7a4d; }
.admin-status.ok { background:#e6f4ed;color:#0f7a4d; }
.admin-status.warn { background:#fdeaea;color:#e31e25; }
.admin-status.info { background:#e7f0f4;color:#0b3a4c; }
.readiness-settings {width:100%;color:#0b3a4c;}
.readiness-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;}
.readiness-heading h2 {font-size:20px;margin:0 0 6px;}.readiness-heading p {font-size:12px;color:#627b88;margin:0;}
.readiness-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;}
.readiness-card {padding:20px;min-width:0;}.readiness-card h3 {margin:0 0 12px;font-size:15px;}
.readiness-field {display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin-bottom:15px;}
.readiness-field input,.readiness-field select {box-sizing:border-box;width:100%;min-width:0;border:1px solid #c5d3d9;border-radius:8px;padding:9px 10px;background:#fff;color:#0b3a4c;font:inherit;font-weight:500;}
.readiness-field input:disabled,.readiness-field select:disabled {background:#f4f7f8;color:#627b88;opacity:1;}
.readiness-date-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.readiness-medical {display:grid;gap:6px;background:#f2f7fa;border:1px solid #e0e9ee;border-radius:9px;padding:12px;margin:0 0 16px;font-size:12px;}
.readiness-medical small {color:#627b88;line-height:1.5;font-size:11px;}
.readiness-check {display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;margin:4px 0 14px;}.readiness-check input {margin-top:2px;accent-color:#0b3a4c;}
.readiness-actions {padding-bottom:12px;}
@media(max-width:800px){.readiness-layout {grid-template-columns:1fr;}.readiness-card {padding:16px;}.readiness-heading {align-items:flex-start;}.readiness-heading h2 {font-size:18px;}}
@media(max-width:420px){.readiness-date-grid {grid-template-columns:1fr;gap:0;}}
.modal-back>.modal:has(.readiness-settings) {width:min(1050px,96vw);max-width:96vw;}
.modal .readiness-settings {width:100%;min-width:0;}
@media(max-width:700px) {.modal .readiness-layout {grid-template-columns:minmax(0,1fr);}}
