:root{
    --navy:#061725;--navy-2:#0a263a;--navy-3:#123b55;--steel:#647c8d;--blue:#2c6f9f;
    --accent:#e14a20;--accent-dark:#bd3514;--white:#fff;--bg:#f4f6f8;--panel:#fff;
    --line:#dce3e8;--text:#132433;--muted:#667783;--green:#1da85b;--yellow:#e2ad24;
    --danger:#d53a42;--gray:#909da6;--shadow:0 10px 26px rgba(9,28,42,.08);
    --shadow-lg:0 30px 80px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit} button,input,select{font-family:inherit}

.app-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}
.sidebar{background:linear-gradient(180deg,#04131f 0%,#062238 100%);color:#fff;padding:15px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:20;border-right:1px solid rgba(255,255,255,.06)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;padding:4px 4px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-logo{width:62px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.25))}
.brand-copy strong{display:block;font-size:.86rem;line-height:1.25}.brand-copy small{display:block;color:#91abc0;font-size:.66rem;line-height:1.25;margin-top:4px}
.sidebar nav{display:flex;flex-direction:column;margin-top:16px;gap:5px;overflow-y:auto}.sidebar nav a{padding:11px 12px;text-decoration:none;border-radius:7px;color:#d5dee4;display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;transition:.16s}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#0d4776,#123f69);color:#fff}.sidebar nav a[aria-disabled=true]{opacity:.76}.nav-icon{font-size:1rem;text-align:center;color:#d6e6f2}.sidebar nav em{font-style:normal;font-size:.62rem;background:rgba(255,255,255,.12);padding:3px 6px;border-radius:10px}.nav-heading{font-size:.62rem;letter-spacing:.13em;color:#6f8ba0;margin:16px 12px 4px;text-transform:uppercase}
.sidebar-footer{margin-top:auto;padding:14px 8px 3px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px;color:#8ca3b5;font-size:.65rem}.sidebar-footer strong{color:#fff;font-size:.78rem}.sidebar-footer span{display:flex;align-items:center;gap:7px}.environment-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#24bd68}

.main-area{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title strong{display:block;color:var(--navy);font-size:1rem}.topbar-title span{display:block;color:var(--accent);font-size:.75rem;font-weight:800;margin-top:3px}.user-menu{display:flex;align-items:center;gap:12px}.user-identity{display:flex;flex-direction:column;text-align:right}.user-identity strong{font-size:.86rem}.user-identity small{font-size:.69rem;color:var(--muted)}.user-avatar{width:38px;height:38px;border-radius:50%;background:#1f66a0;color:#fff;display:grid;place-items:center;font-weight:800}.link-button{border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-weight:700;cursor:pointer;border-radius:7px;padding:8px 10px}.menu-button{display:none;border:0;background:none;font-size:1.4rem;color:var(--navy)}
.content{padding:28px;max-width:1550px}

.page-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.page-intro h1{font-size:2rem;margin:4px 0 8px;color:var(--navy)}.page-intro p{margin:0;color:var(--muted)}.eyebrow{font-size:.68rem!important;letter-spacing:.13em;font-weight:800;color:var(--accent)!important}.eyebrow.light{color:#8fc8ec!important}
.overall-health{min-width:340px;background:#fff;border-left:6px solid var(--gray);box-shadow:var(--shadow);border-radius:10px;padding:18px;display:flex;gap:13px}.overall-health strong{display:block;margin:4px 0}.overall-health small{color:var(--muted);font-weight:700}.status-light{width:14px;height:14px;border-radius:50%;background:var(--gray);box-shadow:0 0 0 4px rgba(125,137,146,.15);flex:0 0 auto}
.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.health-card{background:#fff;border-radius:10px;padding:20px;box-shadow:var(--shadow);border-top:4px solid var(--gray)}.health-card.green{border-color:var(--green)}.health-card.yellow{border-color:var(--yellow)}.health-card.red{border-color:var(--danger)}.health-card-heading{display:flex;align-items:center;gap:10px}.health-card h2{font-size:1.08rem;margin:0;flex:1;color:var(--navy)}.status-word{font-size:.64rem;letter-spacing:.1em;color:var(--muted);font-weight:800}.health-card p{color:var(--muted);font-size:.88rem;line-height:1.5;min-height:54px}.metric{font-weight:800;color:var(--navy);margin:16px 0}.health-card button,.report-card button{width:100%;border:1px solid var(--line);background:#fbfcfd;color:#70808b;border-radius:6px;padding:9px}
.panel{background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:22px}.panel-heading{display:flex;justify-content:space-between}.panel h2{color:var(--navy)}
.badge{border-radius:20px;padding:5px 10px;font-size:.72rem;font-weight:700}.badge.neutral{background:#e8edf0;color:#52616b}.badge.good{background:#def3e7;color:#17643b}.notice{padding:12px 14px;border-radius:7px;margin-bottom:18px}.notice.success{background:#e2f5e9;color:#185c37}.notice.error{background:#fde7e8;color:#8c1e26;border-left:4px solid var(--danger)}
.primary-button,.secondary-button{display:inline-block;border-radius:7px;padding:11px 15px;text-decoration:none;font-weight:700;cursor:pointer;font-size:.9rem}.primary-button{border:1px solid var(--accent-dark);background:linear-gradient(180deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 8px 18px rgba(169,50,24,.2)}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--navy)}
.table-panel{padding:0;overflow:hidden}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#f7f9fa;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td{font-size:.9rem}
.form-panel{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-stack{display:flex;flex-direction:column;gap:15px}label{font-size:.82rem;font-weight:700;color:var(--navy)}input,select{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #becad2;border-radius:7px;background:#fff;outline:none}input:focus,select:focus{border-color:#4d94bf;box-shadow:0 0 0 3px rgba(77,148,191,.14)}.check-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:400}.check-row input{width:auto;margin:0}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-card{background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:20px}.report-card h2{font-size:1rem}.report-card p{color:var(--muted);font-size:.88rem;line-height:1.5;min-height:65px}

.login-page{min-height:100vh;background:radial-gradient(circle at 25% 25%,rgba(30,95,137,.34),transparent 36%),linear-gradient(135deg,#020910 0%,#061a2a 55%,#02070b 100%);display:grid;place-items:center;padding:0;overflow-x:hidden}.login-shell{width:min(1180px,100%);min-height:100vh;display:grid;grid-template-columns:42% 58%;background:#fff;box-shadow:var(--shadow-lg)}.login-brand-panel{background:linear-gradient(145deg,#061725,#0a2b43);color:#fff;display:flex;align-items:center;justify-content:center;padding:38px;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 25%,rgba(58,135,187,.2),transparent 28%)}.login-brand-inner{position:relative;z-index:1;width:100%}.login-logo{display:block;width:min(420px,95%);height:auto;margin:0 auto;filter:drop-shadow(0 16px 24px rgba(0,0,0,.38))}.login-brand-copy{margin-top:22px}.login-brand-panel h1{font-size:2.25rem;line-height:1.08;margin:8px 0}.login-subtitle{color:#c4d2dc;font-size:1rem}.accent-rule{display:block;width:44px;height:3px;background:var(--accent);margin-top:18px}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:54px}.login-form-wrap{width:min(410px,100%)}.login-form-panel h2{font-size:2.2rem;margin:6px 0;color:var(--navy)}.muted{color:var(--muted)}.login-submit{width:100%;padding:13px 16px}.login-footer{font-size:.72rem;color:#87949d;margin:28px 0 8px;text-align:center}.login-security-note{text-align:center;color:#73838e;font-size:.72rem}.mobile-overlay{display:none}

@media(max-width:1000px){.health-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:46% 54%}.login-form-panel{padding:40px}}
@media(max-width:780px){.app-shell{display:block}.sidebar{position:fixed;left:-240px;width:220px;transition:left .2s}.menu-open .sidebar{left:0}.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:15}.menu-button{display:block}.topbar{padding:0 14px}.topbar-title strong{font-size:.82rem}.user-identity{display:none}.content{padding:18px}.page-intro{display:block}.overall-health{min-width:0;margin-top:18px}.health-grid,.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand-panel{padding:22px;min-height:350px}.login-logo{width:min(300px,86%)}.login-brand-copy{text-align:center;margin-top:10px}.login-brand-panel h1{font-size:1.55rem}.accent-rule{margin:15px auto 0}.login-form-panel{padding:32px 26px}.login-form-panel h2{font-size:1.75rem}}
