
:root{
 --navy:#0b1220;--navy-2:#111b2e;--blue:#1769ff;--blue-2:#0f5ae8;--ink:#172033;--muted:#718096;
 --surface:#fff;--bg:#f5f7fb;--border:#e7ebf2;--success:#159a67;--warning:#d58b00;--danger:#d74747;
 --shadow:0 10px 30px rgba(16,30,54,.06);--radius:16px;
}
*{box-sizing:border-box}
body.admin-shell{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
.app-layout{min-height:100vh;display:flex}
.sidebar{width:268px;flex:0 0 268px;background:linear-gradient(180deg,#0b1220 0%,#0e1728 100%);color:#fff;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:1050;border-right:1px solid rgba(255,255,255,.04)}
.sidebar-brand{height:82px;padding:0 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#2b7cff,#1255d8);display:grid;place-items:center;font-weight:800;font-size:20px;box-shadow:0 7px 18px rgba(23,105,255,.3)}
.brand-name{font-size:17px;font-weight:800;letter-spacing:-.4px}.brand-name span{color:#67a0ff}.brand-sub{font-size:10px;color:#8290a8;text-transform:uppercase;letter-spacing:.9px;margin-top:2px}
.sidebar-scroll{padding:15px 13px;overflow-y:auto;flex:1}
.nav-section{padding:14px 11px 7px;color:#6f7e97;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.side-nav{display:grid;gap:3px}.side-link{display:flex;align-items:center;gap:11px;color:#b9c5d8;text-decoration:none;padding:10px 11px;border-radius:10px;font-weight:600;transition:.16s ease}
.side-link:hover{background:rgba(255,255,255,.055);color:#fff;transform:translateX(1px)}
.side-link.active{background:linear-gradient(90deg,rgba(23,105,255,.23),rgba(23,105,255,.09));color:#fff;box-shadow:inset 3px 0 0 #2b7cff}
.nav-icon{width:22px;text-align:center;color:#8391a8;font-size:15px}.side-link.active .nav-icon{color:#68a2ff}
.sidebar-footer{margin:13px;padding:12px;border-radius:12px;background:rgba(255,255,255,.045);display:flex;gap:9px;align-items:center;color:#d9e2f0}
.sidebar-footer strong{display:block;font-size:11px}.sidebar-footer small{display:block;color:#718099;font-size:9px;margin-top:2px}.security-dot{width:8px;height:8px;background:#21c785;border-radius:50%;box-shadow:0 0 0 4px rgba(33,199,133,.1)}
.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:82px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:1000}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:16px}.page-context .eyebrow{font-size:9px;color:#8490a4;font-weight:800;letter-spacing:1.25px;margin-bottom:2px}.page-context strong{font-size:18px;letter-spacing:-.25px}
.top-action{width:37px;height:37px;border:1px solid var(--border);background:#fff;border-radius:10px;display:grid;place-items:center;color:#526176;text-decoration:none;font-size:17px}.top-action:hover{color:var(--blue);border-color:#cbd9f5}
.user-menu{display:flex;align-items:center;gap:9px;padding-left:10px;border-left:1px solid var(--border)}.avatar{width:37px;height:37px;border-radius:50%;background:#e8f0ff;color:#1769ff;display:grid;place-items:center;font-weight:800}.user-meta strong{display:block;font-size:12px}.user-meta span{display:block;color:#8290a4;font-size:10px;margin-top:1px}
.content-area{flex:1}.content-container{padding:30px;max-width:1700px;margin:0 auto;width:100%}.admin-footer{padding:0 30px 22px;color:#9aa5b5;font-size:10px;display:flex;justify-content:space-between}
.page-title{font-weight:800;letter-spacing:-.7px;color:#172033}.text-muted{color:#7a8799!important}
.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.table-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);height:100%}.stat-label{font-size:11px;color:#7b889a;font-weight:650}.stat-value{font-size:24px;font-weight:800;letter-spacing:-.5px;color:#172033;margin-top:5px}
.btn{border-radius:10px;font-weight:650;padding:.58rem .9rem}.btn-primary{background:var(--blue);border-color:var(--blue)}.btn-primary:hover{background:var(--blue-2);border-color:var(--blue-2)}.btn-outline-primary{color:var(--blue);border-color:#cbd9f5}.btn-outline-primary:hover{background:#eef4ff;color:var(--blue)}
.form-control,.form-select{border-color:#dfe5ee;border-radius:10px;min-height:43px}.form-control:focus,.form-select:focus{border-color:#8bb2ff;box-shadow:0 0 0 .2rem rgba(23,105,255,.1)}
.table{--bs-table-bg:transparent;margin-bottom:0}.table>thead>tr>th{font-size:10px;text-transform:uppercase;letter-spacing:.65px;color:#77859a;font-weight:800;border-bottom:1px solid var(--border);white-space:nowrap}.table>tbody>tr>td{border-color:#edf0f5;color:#39465a;padding:.85rem .65rem}.table-hover>tbody>tr:hover>*{--bs-table-bg:#f8faff}
.modal-content{border:0;border-radius:16px;box-shadow:0 24px 70px rgba(9,20,40,.22)}.modal-header,.modal-footer{border-color:var(--border)}.badge{font-weight:700;border-radius:999px;padding:.42rem .62rem}
.mobile-only{display:none}.mobile-overlay{display:none}
.reports-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.reports-summary-grid .stat-card{min-width:0;height:100%}.reports-summary-grid .stat-value{font-size:1.65rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
@media(max-width:1199.98px){.sidebar{width:235px;flex-basis:235px}.content-container{padding:24px}.topbar{padding:0 24px}}
@media(max-width:991.98px){
 .desktop-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-102%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.18)}
 .desktop-sidebar.open{transform:translateX(0)}.mobile-only{display:grid}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(5,12,24,.5);z-index:1040}
 .topbar{height:70px}.content-container{padding:20px}.admin-footer{padding:0 20px 18px}
}
@media(max-width:575.98px){
 .topbar{padding:0 15px}.content-container{padding:16px}.user-meta{display:none}.top-action{display:none}.page-context strong{font-size:16px}
 .reports-summary-grid{grid-template-columns:1fr}.reports-summary-grid .stat-value{font-size:1.5rem}.admin-footer{display:block;padding:0 16px 16px}
}
body.menu-open{overflow:hidden}
