:root { --bg:#f3f6fb; --ink:#20334b; --muted:#60728a; --line:#e1e8f0; --brand:#087f8c; --brand-dark:#066570; }
body { font-family:"Segoe UI",Arial,sans-serif; line-height:1.55; }
.app { grid-template-columns:256px minmax(0,1fr); }
.sidebar { background:linear-gradient(165deg,#102c43,#153b51 65%,#11515a); padding:28px 18px; }
.brand { display:flex; align-items:center; gap:8px; font-size:22px; letter-spacing:-.6px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; background:#2dd4bf; border-radius:11px; color:#0e3648; font-size:30px; line-height:1; }
.brand-hms { font-size:11px; letter-spacing:1px; color:#91b8cb; align-self:end; margin-bottom:5px; }
.brand-sub { margin:12px 0 32px; color:#aac4d3; font-size:11px; }
.nav-caption { font-size:10px; letter-spacing:1.8px; color:#94b3c5; padding:0 12px 12px; }
.nav { gap:5px; }
.nav a { border:1px solid transparent; padding:11px 12px; font-size:13px; color:#cedde8; transition:background .15s; }
.nav a.active { background:#ffffff16; border-color:#ffffff20; box-shadow:inset 3px 0 #4ce0cb; color:white; }
.nav a:hover { background:#ffffff12; }
.topbar { height:76px; padding:0 32px; background:#ffffffed; }
.topbar strong { margin-right:12px; }
.content { max-width:1800px; margin:auto; padding:30px 32px 48px; }
h1 { font-size:28px; font-weight:700; letter-spacing:-.8px; }
h2 { font-size:16px; font-weight:650; }
.page-title { margin-bottom:24px; }
.page-title .muted { margin-top:7px; }
.dashboard-hero { border-radius:18px; padding:26px; background:linear-gradient(115deg,#fff 35%,#e7f6f6); border-color:#daeaed; box-shadow:none; margin-bottom:24px; }
.dashboard-hero p { margin:8px 0 0; }
.dashboard-hero h1 { font-size:30px; }
.eyebrow { font-size:10px; letter-spacing:1.5px; font-weight:700; color:var(--brand-dark); margin-bottom:8px; }
.panel,.stat,.stat-card { border-radius:14px; border-color:var(--line); box-shadow:0 4px 18px #19345104; }
.panel { padding:22px; overflow-x:auto; }
.stat { padding:22px; border-top:3px solid #58b6ba; }
.stat strong { font-size:30px; letter-spacing:-.7px; margin:8px 0; }
.stat-card { padding:22px; min-height:148px; transition:transform .15s,border-color .15s; }
.stat-card::before { height:3px; }
.stat-icon { border-radius:13px; width:46px; height:46px; }
.stat-value { font-size:30px; }
.stat-label { font-size:10px; font-weight:650; letter-spacing:1px; }
.stat-link { font-weight:600; }
.grid { gap:20px; }
th { background:#f7f9fc; font-size:10px; font-weight:700; letter-spacing:.8px; padding:12px; }
td { padding:14px 12px; font-size:13px; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#f8fbfd; }
.numeric { text-align:right; font-variant-numeric:tabular-nums; font-weight:600; }
label { font-weight:600; font-size:12px; }
input,select,textarea { border-radius:8px; border-color:#d4deea; min-height:40px; font:inherit; font-size:13px; }
input:focus,select:focus,textarea:focus { outline:3px solid #087f8c22; border-color:var(--brand); }
:focus-visible { outline:3px solid #2aa8bb; outline-offset:3px; }
.btn { border-radius:8px; font-weight:600; font-size:12px; padding:11px 16px; min-height:40px; }
.btn.secondary { background:#edf2f8; color:#34506b; }
.btn.secondary:hover { background:#e0e8f2; }
.badge { font-size:11px; font-weight:600; padding:5px 10px; }
.toolbar { align-items:end; }
.report-note { border-left:3px solid #5da8b9; background:#eaf3f7; padding:14px 18px; margin:0 0 22px; color:#405e73; font-size:12px; border-radius:0 10px 10px 0; }
.report-section h2 { margin-bottom:18px; }
.pagination svg { width:20px; height:20px; }
.pagination nav { display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap; }
.pagination a,.pagination span[aria-current] { display:inline-block; padding:5px 9px; }
@media(min-width:961px) and (max-width:1250px) { .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .app { grid-template-columns:225px minmax(0,1fr); } .content { padding:24px; } .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:960px) { .app { grid-template-columns:1fr; } .sidebar { padding:18px; } .brand-sub { margin-bottom:16px; } .nav { display:flex; overflow-x:auto; padding-bottom:5px; } .nav a { white-space:nowrap; flex-shrink:0; } .nav-caption { display:none; } .content { padding:22px 16px; } .topbar { padding:0 16px; } .panel { padding:16px; } .dashboard-hero { padding:22px; } }
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } .stat-card:hover { transform:none; } }
@media print { body { background:white; font-size:11px; } .report-section { break-inside:avoid; } .report-note { background:white; } .grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-hero { padding:10px 0; background:white; border:0; } .panel { overflow:visible; box-shadow:none; } }
