:root{--navy:#102f46;--navy-2:#174a68;--cyan:#45c2c9;--bg:#f4f7f9;--card:#fff;--text:#17232d;--muted:#647480;--line:#dce5ea;--danger:#b42318;--success:#147d64;--radius:14px;--shadow:0 8px 28px rgba(16,47,70,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:var(--navy-2)}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--navy);color:#fff;padding:26px 20px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:800;color:#fff;text-decoration:none;margin-bottom:32px}.brand span{color:var(--cyan)}.nav{display:grid;gap:8px}.nav a{color:#dbe8ef;text-decoration:none;padding:11px 13px;border-radius:9px}.nav a:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-foot{margin-top:auto;color:#a9bfcc;font-size:13px}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 30px}.user-chip{font-size:14px;color:var(--muted)}.content{max-width:1180px;margin:0 auto;padding:34px 30px 60px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:30px;line-height:1.2;margin:0 0 8px;color:var(--navy)}h2{font-size:20px;color:var(--navy);margin:0 0 16px}h3{color:var(--navy)}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.stat{font-size:32px;font-weight:800;color:var(--navy)}.card-link{text-decoration:none;color:inherit;transition:.15s transform}.card-link:hover{transform:translateY(-2px)}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;background:var(--navy-2);color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}.button.secondary{background:#e7f1f4;color:var(--navy)}.button.success{background:var(--success)}form p{display:grid;gap:6px;margin:0 0 16px}label{font-weight:650}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #bfccd4;border-radius:8px;background:#fff;font:inherit}input[type=checkbox]{width:auto;margin-right:8px}.list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.list a,.list-item{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#e8f2f4;color:var(--navy);font-size:12px;font-weight:700}.message{border-left:3px solid var(--cyan);padding:12px 16px;background:#f7fbfc;margin:12px 0}.document-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 22px}.empty{color:var(--muted);padding:15px 0}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--navy),#276c81)}.auth-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.auth-card .brand{display:block;color:var(--navy);margin-bottom:20px}.auth-card ul.errorlist{color:var(--danger)}@media(max-width:850px){.shell{display:block}.sidebar{padding:16px 20px}.brand{margin-bottom:12px}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.sidebar-foot{display:none}.topbar{display:none}.content{padding:24px 16px}.grid,.grid-2{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}
.dashboard-alerts{margin-top:22px}.alert-card{display:grid;gap:4px;border-color:#f0c4c4}.alert-card strong{font-size:1.8rem;color:#b42318}.alert-card span{color:var(--muted)}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px 0}.pagination a{font-weight:600}.search-results{display:grid;gap:0;margin-top:18px}.search-result{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}.search-result:last-child{border-bottom:0}.search-result strong{color:var(--navy)}
