:root{--bg:#f3f6fb;--card:#fff;--text:#172033;--muted:#687385;--line:#e5e7eb;--primary:#0b4a7a;--primary2:#113b63;--danger:#b91c1c;--success:#047857;--warn:#b45309}
*{box-sizing:border-box}html{font-size:13px}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.28}a{text-decoration:none;color:var(--primary)}
.sidebar{position:fixed;top:0;bottom:0;left:0;width:242px;background:linear-gradient(180deg,#09213d,#113b63);padding:12px 10px;overflow:auto;color:#fff}.brand{display:flex;gap:8px;align-items:center;margin-bottom:12px;padding:0 4px}.brand-mark{width:34px;height:34px;border-radius:11px;background:#fff;color:#0b4a7a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}.brand b{font-size:14px}.brand span{display:block;color:#bfd2e5;font-size:10px}
.side-nav{display:grid;gap:2px}.nav-toggle{width:100%;border:0;background:rgba(255,255,255,.045);color:#cfe1f3;display:flex;align-items:center;gap:7px;justify-content:flex-start;padding:8px 9px;border-radius:8px;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin:5px 0 1px}.nav-toggle:hover{background:rgba(255,255,255,.12);color:#fff}.nav-toggle .chev{display:inline-flex;width:12px;transition:transform .18s ease;font-size:11px}.nav-toggle.expanded .chev{transform:rotate(90deg)}.nav-toggle.active-parent{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 3px 0 0 #ffffff}.nav-sub{display:none;padding:2px 0 4px 9px;margin-left:3px;border-left:1px solid rgba(255,255,255,.16)}.nav-sub.open{display:grid;gap:1px}.nav-link{display:block;color:#edf6ff;padding:7px 9px;border-radius:8px;margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.nav-link:hover{background:rgba(255,255,255,.12)}.nav-link.sub-link{padding-left:12px;color:#e8f3ff}.nav-link.active{background:#fff;color:#0b4a7a;font-weight:900;box-shadow:inset 4px 0 0 #f59e0b}.nav-link.active::after{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;border-radius:50%;background:#f59e0b;transform:translateY(-50%)}.nav-group{display:none}.sidebar a{display:block}.sidebar a.active{background:#fff;color:#0b4a7a;font-weight:800}
.main{margin-left:242px;padding:14px 16px;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.topbar h1{margin:0;font-size:20px;line-height:1.1}.topbar p{margin:2px 0 0;color:var(--muted);font-size:11px}.userbox{text-align:right;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px 10px;font-size:12px;min-width:145px}.userbox span{display:block;color:var(--muted);font-size:10px}
.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:11px;box-shadow:0 3px 10px rgba(15,23,42,.04)}.card h2{margin:0 0 8px;font-size:16px}.card h3{margin:8px 0;font-size:14px}.report-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.report-title h2{margin:0}.report-title p{margin:2px 0 0}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:11px}.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;min-height:67px}.kpi small{display:block;color:var(--muted);font-size:10.5px}.kpi b{display:block;font-size:17px;margin-top:4px}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}label{font-size:11px;font-weight:700;color:#344054}input,select,textarea{width:100%;padding:7px 8px;border:1px solid #cfd6df;border-radius:8px;margin-top:3px;background:#fff;font:inherit;font-size:12px;min-height:32px}textarea{min-height:54px;resize:vertical}
.btn{display:inline-block;background:var(--primary);color:#fff!important;border:0;border-radius:8px;padding:7px 10px;margin:2px;font-weight:700;cursor:pointer;font-size:12px;line-height:1.15}.btn.secondary{background:#475569}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.btn.warn{background:var(--warn)}.actions{display:flex;gap:3px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.filters>*{min-width:155px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;max-height:68vh}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:7px 8px;border-bottom:1px solid var(--line);font-size:11.5px;vertical-align:top;white-space:nowrap}th{background:#f8fafc;text-align:left;color:#344054;font-weight:800;position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}td{max-width:285px;overflow:hidden;text-overflow:ellipsis}tr:hover td{background:#fbfdff}td.actions,td:last-child{white-space:nowrap}
.alert{padding:9px 10px;border-radius:9px;margin-bottom:10px;background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46;font-size:12px}.alert.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.badge{display:inline-block;border-radius:999px;padding:2px 7px;font-size:10.5px;background:#eef2ff;color:#3730a3}.badge.red{background:#fee2e2;color:#991b1b}.badge.green{background:#dcfce7;color:#166534}.muted{color:var(--muted)}
.tip{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#e2e8f0;color:#334155;font-size:10px;font-weight:900;cursor:help;margin-left:3px}.tip:hover{background:#0b4a7a;color:#fff}.collapsible summary{cursor:pointer;font-weight:800;font-size:15px;margin-bottom:8px}.slip{width:720px;max-width:100%;margin:auto;border:1px solid #111;padding:18px;background:#fff}.slip h2{text-align:center}.slip .line{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:6px 0}
.login-main{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card,.install-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;width:min(430px,92vw);box-shadow:0 12px 40px rgba(15,23,42,.12)}.install-body{display:flex;align-items:center;justify-content:center;min-height:100vh}.print-head{display:none}.letterhead-img{width:100%;max-height:130px;object-fit:contain;margin-bottom:8px}
.print-page-title{display:none}.print-area{position:relative}.no-print{} .entry-form{}
@media(max-width:1200px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){html{font-size:13px}.sidebar{position:static;width:auto}.main{margin-left:0;padding:12px}.grid,.form-grid{grid-template-columns:1fr}.topbar{display:block}.userbox{text-align:left;margin-top:8px}th,td{white-space:normal}.nav-sub{padding-left:6px}}
@media print{html{font-size:11px}body{background:#fff!important;color:#000!important}.sidebar,.topbar,.filters,.actions,.btn,.no-print,.entry-form,form.screen-only,.card.no-print{display:none!important}.main{margin:0!important;padding:0!important;width:100%!important}.print-page-title{display:block!important;text-align:center;margin:0 0 12px 0;padding-bottom:8px;border-bottom:1px solid #111}.print-page-title h2{margin:0;font-size:16px}.print-page-title p{margin:3px 0 0;font-size:10px;color:#333}.card,.table-wrap,.print-area{box-shadow:none!important;border:0!important;max-height:none!important;overflow:visible!important;width:100%!important}.print-head{display:block}table{width:100%!important;border-collapse:collapse!important}th{position:static!important;box-shadow:none!important;background:#f0f0f0!important;color:#000!important}td,th{border:1px solid #777!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important;font-size:9px!important;padding:4px 5px!important;color:#000!important}.slip{border:1px solid #111}td:last-child,th:last-child{display:none!important}@page{size:A4 landscape;margin:8mm}}
