:root{
  --bg-1:#0b3d6b;--bg-2:#0e7490;--accent:#0ea5a4;--accent-dark:#0b7a79;
  --ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--card:#ffffff;--bg:#f4f7fa;
  --topbar:72px;--sidew:272px;--sidebarText:#d9eef2;--sidebarMuted:#88bdc5;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidew);background:linear-gradient(180deg,var(--bg-1),var(--bg-2));color:#fff;z-index:1040;overflow-y:auto;transition:.25s}.sidebar-brand{height:var(--topbar);display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;background:rgba(11,61,107,.96);backdrop-filter:blur(8px);z-index:2}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--bg-1);font-size:20px;box-shadow:0 8px 20px rgba(2,20,43,.16)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-size:18px}.brand-text small{color:#bfe6ea;margin-top:4px}.sidebar-nav{padding:14px 10px 30px}.sidebar-section{padding:18px 12px 7px;color:var(--sidebarMuted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.sidebar-link{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;margin:2px 0;border:0;background:transparent;color:var(--sidebarText);text-decoration:none;border-radius:10px;text-align:left;transition:.18s}.sidebar-link i:first-child{width:20px;font-size:16px}.sidebar-link:hover,.sidebar-link.active{background:rgba(255,255,255,.12);color:#fff}.sidebar-link.active{box-shadow:inset 3px 0 0 #7ee6df}.sidebar-submenu{padding-left:14px}.sidebar-submenu .sidebar-link{font-size:13px;padding-top:8px;padding-bottom:8px}.group-arrow{transition:.2s}.sidebar-group-toggle[aria-expanded=true] .group-arrow{transform:rotate(180deg)}.topbar{position:fixed;left:var(--sidew);right:0;top:0;height:var(--topbar);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1030;transition:.25s;box-shadow:0 4px 18px rgba(15,23,42,.035)}.top-search{width:320px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:8px 12px;gap:8px}.top-search input{border:0;outline:0;background:transparent;width:100%}.avatar-circle{width:32px;height:32px;border-radius:50%;background:rgba(14,165,164,.13);color:var(--accent-dark);display:grid;place-items:center;font-weight:800}.app-main{margin-left:var(--sidew);padding-top:var(--topbar);min-height:100vh;transition:.25s;display:flex;flex-direction:column}.content-wrap{padding:24px;flex:1}.page-heading h1{font-weight:800}.breadcrumb a{color:var(--muted);text-decoration:none}.card{border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 18px rgba(15,23,42,.035)}.card-header{border-bottom-color:var(--line)}.metric-card .metric-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(14,165,164,.11);color:var(--accent-dark);font-size:20px}.metric-card .metric-value{font-size:26px;font-weight:800;color:var(--ink)}.table{--bs-table-bg:transparent}.table thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);background:#f8fafc;border-bottom-color:var(--line);white-space:nowrap}.table td{vertical-align:middle;border-color:#edf2f5}.btn{border-radius:9px;font-weight:600}.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-dark);--bs-btn-hover-border-color:var(--accent-dark);--bs-btn-active-bg:var(--accent-dark);--bs-btn-active-border-color:var(--accent-dark)}.btn-theme{background:linear-gradient(135deg,var(--accent),var(--bg-1));color:#fff;border:0;box-shadow:0 10px 22px -12px rgba(14,116,144,.85)}.btn-theme:hover{color:#fff;filter:brightness(.97)}.form-control,.form-select{border-radius:10px;border:1.5px solid var(--line);min-height:42px;background:#fbfcfd}.form-control:focus,.form-select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(14,165,164,.13)}.form-label{font-size:13px;font-weight:700;color:#334155}.app-footer{border-top:1px solid var(--line);padding:16px 24px;background:#fff;color:#7a8698;display:flex;justify-content:space-between}.badge-soft-success{background:#ecfdf5;color:#047857}.badge-soft-danger{background:#fef2f2;color:#b91c1c}.badge-soft-info{background:#ecfeff;color:#0e7490}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.info-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.info-value{font-weight:600;color:var(--ink)}.logo-preview{width:76px;height:76px;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;background:#f8fafc;overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-link span,.sidebar-collapsed .sidebar-section,.sidebar-collapsed .group-arrow,.sidebar-collapsed .sidebar-submenu{display:none}.sidebar-collapsed .sidebar-link{justify-content:center}.sidebar-collapsed .topbar,.sidebar-collapsed .app-main{left:76px;margin-left:76px}
/* Login UI follows the supplied navy/teal reference */
.login-page{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(1200px 600px at 100% 0%,rgba(14,116,144,.55),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(11,61,107,.65),transparent 55%),linear-gradient(135deg,var(--bg-1),var(--bg-2));display:flex;align-items:center;justify-content:center;padding:24px}.login-shell{width:100%;max-width:960px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(2,20,43,.55);display:grid;grid-template-columns:1.05fr .95fr}.login-brand-panel{position:relative;color:#eaf6ff;background:radial-gradient(600px 300px at 20% 10%,rgba(255,255,255,.14),transparent 60%),linear-gradient(160deg,var(--bg-1) 0%,var(--bg-2) 100%);padding:44px 40px;display:flex;flex-direction:column;justify-content:space-between;min-height:540px}.login-brand-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 85% 20%,rgba(255,255,255,.10) 0 2px,transparent 3px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.08) 0 2px,transparent 3px);background-size:26px 26px;opacity:.5;pointer-events:none}.login-brand-logo,.login-brand-copy,.login-brand-foot{position:relative}.login-brand-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px}.login-brand-logo .mark{width:52px;height:52px;border-radius:12px;background:#fff;color:var(--bg-1);display:grid;place-items:center;font-size:24px}.login-brand-copy h1{font-size:30px;line-height:1.2;font-weight:800;margin:0 0 12px}.login-brand-copy p{margin:0;color:rgba(234,246,255,.8);font-size:15px;line-height:1.6;max-width:36ch}.login-brand-foot{font-size:12.5px;color:rgba(234,246,255,.7)}.login-form-panel{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}.login-form-panel h2{margin:0 0 6px;font-size:24px;font-weight:800}.login-sub{margin:0 0 26px;color:var(--muted);font-size:14.5px}.login-field{margin-bottom:18px}.login-field label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:7px}.login-input-wrap{position:relative}.login-input-wrap .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;width:18px;height:18px;pointer-events:none}.login-input-wrap input{width:100%;height:48px;border:1.5px solid var(--line);border-radius:11px;padding:0 44px;font-size:15px;color:var(--ink);background:#f8fafc;transition:.15s;outline:none}.login-input-wrap input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(14,165,164,.14)}.login-toggle-pass{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:8px;color:#94a3b8;display:flex;align-items:center;border-radius:8px}.login-toggle-pass:hover{color:#475569}.login-row-between{display:flex;align-items:center;justify-content:space-between;margin:4px 0 24px}.login-remember{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#475569}.login-remember input{width:16px;height:16px;accent-color:var(--accent)}.login-btn{width:100%;height:50px;border:none;border-radius:11px;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--bg-1));color:#fff;font-size:15.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 24px -10px rgba(14,116,144,.7)}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar-mobile-open .sidebar{transform:translateX(0)}.topbar{left:0}.app-main{margin-left:0}.content-wrap{padding:18px}.top-search{display:none!important}.sidebar-collapsed .topbar,.sidebar-collapsed .app-main{left:0;margin-left:0}.sidebar-collapsed .sidebar{width:var(--sidew)}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-link span,.sidebar-collapsed .sidebar-section,.sidebar-collapsed .group-arrow,.sidebar-collapsed .sidebar-submenu{display:initial}.sidebar-collapsed .sidebar-link{justify-content:flex-start}}
@media(max-width:820px){.login-shell{grid-template-columns:1fr;max-width:440px}.login-brand-panel{display:none}.login-form-panel{padding:40px 30px}}
@media(max-width:420px){.login-page{padding:14px}.login-form-panel{padding:34px 22px}.content-wrap{padding:14px}}
