@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";
:root{--brand-primary:#6796b2;--brand-secondary:#62afed;--brand-ink:#282f6f;--bg:#fff;--surface:#f7f9fb;--line:#e3e8ef;--muted:#5b6473;--ok:#2f8a5b;--warn:#c0822a;--danger:#b23a48;--font-head:"DM Sans", system-ui, -apple-system, sans-serif;--font-body:Inter, system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--brand-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-head);color:var(--brand-ink);margin:0 0 .5rem;font-weight:700}h1{font-size:24px}h2{margin-top:4px;font-size:18px}h3{font-size:15px}a{color:var(--brand-primary);text-decoration:none}a:hover{text-decoration:underline}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--brand-ink);color:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar__brand{font-family:var(--font-head);color:#fff;border-bottom:1px solid #ffffff1f;padding:20px;font-size:18px;font-weight:700;text-decoration:none;display:block}.sidebar__brand:hover{color:#fff;opacity:.85;text-decoration:none}.sidebar__nav{flex:1;padding:8px 0 24px;overflow-y:auto}.sidebar__group{letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;padding:16px 20px 4px;font-size:10px}.navlink{color:#ffffffd1;border-left:3px solid #0000;padding:9px 20px;font-size:13px;display:block}.navlink:hover{color:#fff;background:#ffffff0f;text-decoration:none}.navlink--active{border-left-color:var(--brand-secondary);color:#fff;background:#62afed29;font-weight:600}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;padding:13px 28px;display:flex;position:sticky;top:0}.topbar__user{color:var(--muted);align-items:center;gap:16px;font-size:13px;display:flex}.content{flex:1;padding:28px}.btn{border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;font:600 13px/1 var(--font-body);cursor:pointer;border-radius:0;padding:10px 18px;display:inline-block}.btn:hover{background:#5a86a0;text-decoration:none}.btn--ghost{color:var(--brand-ink);border-color:var(--line);background:#fff}.btn--ghost:hover{background:var(--surface)}.btn:disabled{opacity:.55;cursor:not-allowed}.cards{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);background:var(--bg);padding:16px 18px}.card__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.card__value{font-family:var(--font-head);color:var(--brand-ink);font-size:26px;font-weight:700;line-height:1.25}.card__value--alert{color:var(--danger)}.card__sub{color:var(--muted);font-size:12px}label.field{margin-bottom:14px;display:block}label.field>span{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.input{border:1px solid var(--line);width:100%;font:400 14px var(--font-body);color:var(--brand-ink);background:#fff;border-radius:0;padding:10px 12px}.input:focus{border-color:var(--brand-primary);outline:none}.error{color:var(--danger);font-size:13px}.muted{color:var(--muted)}table.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;border-bottom:2px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:9px 12px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);padding:9px 12px}.tbl tr:hover td{background:var(--surface)}.authwrap{background:var(--surface);place-items:center;min-height:100vh;display:grid}.authcard{border:1px solid var(--line);background:#fff;width:360px;max-width:92vw;padding:32px}.authcard h1{margin-bottom:2px;font-size:22px}@media print{.sidebar,.topbar,.no-print{display:none!important}.shell{display:block!important}.content{padding:0!important}body{background:#fff}a{color:var(--brand-ink);text-decoration:none}.card{break-inside:avoid}table.tbl{font-size:11px}}
