
:root{
  --red:#c83b3b;--redSoft:#fff1f1;--redLine:#f1b8b8;
  --blue:#2563eb;--blueSoft:#eef4ff;--blueLine:#bfd2ff;
  --yellow:#fff8d8;--yellowLine:#f2d36b;
  --green:#16834a;--greenSoft:#e8f8ef;
  --gold:#b26a00;--goldSoft:#fff7e6;
  --ink:#172033;--muted:#667085;--line:#e5eaf2;--bg:#f6f8fb;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer;transition:.18s ease}
button:hover{transform:translateY(-1px);opacity:.96}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#fff7f7,#f6f8fb 52%,#edf5ff)}
.login-card{width:min(520px,94vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 30px 80px rgba(15,23,42,.14);text-align:center}
.login-logo{font-size:30px;font-weight:900;color:var(--red);margin-bottom:6px}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.role-card{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fbfcff;text-align:left;cursor:pointer}
.role-card.active{background:var(--redSoft);border-color:var(--redLine)}
.login-form{text-align:left;display:grid;gap:12px}
label{display:block;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}
input,select,textarea{border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}
.login-form input{width:100%}
.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#111827;color:#fff;padding:22px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0}
.logo{font-size:24px;font-weight:900;color:var(--red);margin-bottom:22px}
.side-title{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.nav-btn{display:block;width:100%;margin:6px 0;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:#d1d5db;text-align:left;font-weight:800}
.nav-btn.active,.nav-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:14px;font-size:13px;color:#d1d5db;line-height:1.45}
.profile b{color:#fff}
.logout{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:10px;font-weight:900}
.main{padding:24px;overflow:auto}
.card,.topbar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:16px;box-shadow:0 10px 24px rgba(16,24,40,.05)}
.eyebrow{margin:0 0 6px;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
h1,h2,h3{margin:0 0 8px}.muted{color:var(--muted)}.subtitle{color:var(--muted)}
.tabs,.admin-tabs,.review-tabs,.ref-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tab,.admin-tab,.review-tab,.ref-tab{border:1px solid var(--line);background:white;border-radius:12px;padding:10px 14px;font-weight:900;color:#334155}
.tab.active,.admin-tab.active,.review-tab.active,.ref-tab.active{background:var(--redSoft);border-color:var(--redLine);color:var(--red)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.toolbar input,.toolbar select{min-width:175px}
.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric{border:1px solid var(--line);border-radius:16px;background:#fbfcff;padding:14px}
.metric strong{display:block;font-size:27px;margin-top:4px}
.chart-card canvas{max-height:260px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.tbl{width:max-content;min-width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}
.tbl th{background:#f8fafc;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;position:relative}
.tbl td{white-space:nowrap}
.filter-btn{border:0;background:transparent;font-size:11px;font-weight:950;color:#475467;text-transform:uppercase;letter-spacing:.06em;padding:0}
.filter-menu{position:absolute;top:35px;left:6px;z-index:40;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.16);padding:10px;min-width:260px;text-transform:none;letter-spacing:0}
.filter-menu input,.filter-menu select{width:100%;margin-bottom:8px}
.mini{display:flex;gap:6px;justify-content:flex-end}
.btn,.mini button{border:0;border-radius:10px;padding:8px 10px;font-weight:900;background:#f1f5f9;color:#334155}
.btn.primary,.mini .primary{background:var(--red);color:#fff}
.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:var(--blueSoft);color:var(--blue)}
.badge.follow{background:var(--goldSoft);color:var(--gold)}
.badge.completed{background:var(--greenSoft);color:var(--green)}
.chip{display:inline-flex;border-radius:999px;background:#f1f5f9;color:#334155;padding:5px 8px;font-size:12px;font-weight:900;margin:3px}
.doc-pill{display:inline-flex;border-radius:999px;background:#eef4ff;color:#2563eb;padding:4px 7px;font-size:11px;font-weight:900;margin:2px}
.facility-cell{line-height:1.35}.facility-cell span{font-size:12px;color:var(--muted)}
.drill{border:1px solid var(--line);padding:12px;border-radius:12px;background:#fbfcff;cursor:pointer}
.drill:hover{box-shadow:0 8px 18px rgba(16,24,40,.08)}
.drawer{position:fixed;inset:0;background:#fff;z-index:60;display:grid;grid-template-rows:auto auto 1fr}
.drawer-head{display:flex;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.close{border:0;background:#f1f5f9;border-radius:10px;width:36px;height:36px;font-size:20px;color:#334155}
.review-tabs{padding:12px 22px 0}
.review-shell{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;padding:16px 22px 22px;min-height:0;overflow:hidden}
.doc-view{border:1px solid var(--line);border-radius:18px;background:#f8fafc;padding:16px;overflow:auto}
.doc-page{background:#fff;border:1px solid #d0d5dd;border-radius:10px;min-height:760px;padding:18px}
.panel{overflow:auto;padding-bottom:90px}
.field-group{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:14px;background:#fff}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ai-val{font-size:11px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:6px;margin-bottom:6px;color:#475467}
.ai-val.flag,.flag{background:var(--redSoft)!important;border:1px solid var(--redLine)!important;color:#8b1d1d}
.flag-reason{font-size:11px;color:#8b1d1d;margin-top:4px;white-space:normal}
.adv label{color:var(--blue)}.adv input,.adv select{border:1px solid var(--blueLine);border-radius:8px;padding:7px;width:100%}
.edited{background:var(--yellow)!important;border-color:var(--yellowLine)!important}
.ai-table{width:max-content;min-width:100%;border-collapse:collapse}
.ai-table th,.ai-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:7px;min-width:135px;vertical-align:top}
.ai-table th{background:#f8fafc;font-size:10px;text-transform:uppercase;color:#475467}
.log{border:1px solid var(--line);border-radius:18px;padding:14px}
.log-item{border:1px solid var(--line);background:#fbfcff;border-radius:12px;padding:8px;font-size:12px;margin-bottom:8px}
.reminder{font-size:12px;color:#8a4b00;background:#fff8e8;border:1px solid #f3d7a3;border-radius:12px;padding:9px;margin-top:8px}
.modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;display:flex;align-items:center;justify-content:center}
.modal{background:#fff;border-radius:20px;padding:22px;width:min(620px,94vw)}
.modal textarea{width:100%;min-height:90px}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.sidebar{position:relative;min-height:auto}.two,.three,.review-shell{grid-template-columns:1fr}.drawer{overflow:auto}.review-shell{overflow:auto}.field-grid{grid-template-columns:1fr}}
