[hidden]{display:none!important}
:root{--ink:#182966;--muted:#687493;--green:#1e3079;--green2:#0b88a4;--lime:#ffb71b;--paper:#f3f6fb;--white:#fff;--line:#dce4f0;--red:#d51c24;--redbg:#fde9ea;--amber:#ad6900;--amberbg:#fff1cf;--ok:#128c91;--okbg:#dff3f2;--shadow:0 16px 45px rgba(20,39,100,.13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#092f28;color:#e9f1ee;padding:20px 16px;position:fixed;inset:0 auto 0 0;width:270px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 22px}.brand .mark{width:46px;height:46px;background:var(--lime);color:#15382f;border-radius:14px;display:grid;place-items:center;font-weight:900;letter-spacing:-1px}.brand b{display:block;font-size:20px}.brand span{font-size:10px;color:#a8bdb6;letter-spacing:.4px}.company-label,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#78978e;margin:0 8px 8px}.company-switch{border:1px solid #2d554d;background:#123e35;color:white;padding:10px;border-radius:12px;display:flex;align-items:center;text-align:left;gap:9px;cursor:pointer;margin-bottom:16px}.company-switch>span:nth-child(2){flex:1;min-width:0}.company-switch b,.company-switch small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-switch b{font-size:12px}.company-switch small{color:#9ab3ac;margin-top:2px}.company-avatar{width:32px;height:32px;background:#2e6458;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:800}nav{overflow:auto;flex:1}nav button{width:100%;border:0;background:transparent;color:#acc0ba;text-align:left;padding:10px 12px;border-radius:9px;margin:2px 0;display:flex;gap:11px;align-items:center;cursor:pointer;font-size:13px}nav button:hover,nav button.active{background:#1a4a40;color:white}nav .nav-section{margin:13px 12px 4px;color:#64867c;font-size:9px;letter-spacing:1.2px;font-weight:800}.nav-icon{width:19px;text-align:center}.sidebar-foot{border-top:1px solid #275148;padding:16px 5px 0;display:flex;align-items:center;gap:9px}.sidebar-foot .user-avatar{width:34px;height:34px;border-radius:50%;background:#d8f184;color:#17372f;display:grid;place-items:center;font-weight:800;font-size:11px}.sidebar-foot div:nth-child(2){flex:1}.sidebar-foot b,.sidebar-foot span{display:block}.sidebar-foot b{font-size:11px}.sidebar-foot span{font-size:9px;color:#819e95;margin-top:2px}.sidebar-foot button{border:0;background:transparent;color:#91aba3}.app-shell main{grid-column:2;min-width:0}.topbar{height:70px;background:white;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}.breadcrumb span,.breadcrumb b{display:block}.breadcrumb span{font-size:10px;color:var(--muted);margin-bottom:3px}.breadcrumb b{font-size:14px}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn{border:1px solid var(--line);background:white;border-radius:10px;width:38px;height:38px;cursor:pointer;color:var(--ink);position:relative}.alert-bell em{position:absolute;right:-3px;top:-4px;background:#d84949;color:white;border-radius:99px;font-size:9px;width:16px;height:16px;display:grid;place-items:center;font-style:normal}.menu-btn{display:none}.primary,.ghost{border:0;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer}.primary{background:var(--green);color:white}.primary:hover{background:var(--green2)}.primary.small{font-size:12px;padding:10px 13px}.ghost{background:#eef3f0;color:var(--ink)}#app{padding:28px;max-width:1540px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.page-head h1{font-size:26px;line-height:1.1;margin:5px 0 8px;letter-spacing:-.6px}.page-head p{margin:0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:8px}.select{background:white;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}.stats{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:14px;margin-bottom:16px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 0 rgba(0,0,0,.01)}.score-card{background:linear-gradient(145deg,#0d4337,#0a332b);color:white;position:relative;overflow:hidden}.score-card:after{content:"";position:absolute;width:145px;height:145px;border:32px solid rgba(201,239,106,.09);border-radius:50%;right:-52px;bottom:-70px}.card-label{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.8px}.score-card .card-label{color:#9fc0b6}.stat-value{font-size:29px;font-weight:850;margin:12px 0 6px;letter-spacing:-1px}.score-card .stat-value{font-size:38px}.stat-foot{font-size:10px;color:var(--muted)}.score-card .stat-foot{color:#afd0c5}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.ok{background:#40c48b}.dot.warn{background:#f2bd4f}.dot.danger{background:#e66565}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h2{font-size:15px;margin:0}.panel-head button{border:0;background:transparent;color:var(--green2);font-weight:700;font-size:11px;cursor:pointer}.compliance{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:center}.donut{width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--green2) 0 87%,#e8eeeb 87%);display:grid;place-items:center;position:relative}.donut:after{content:"";width:82px;height:82px;background:white;border-radius:50%;position:absolute}.donut strong,.donut span{position:relative;z-index:1}.donut strong{font-size:25px}.donut span{font-size:9px;color:var(--muted);position:absolute;top:67px}.bar-row{margin:10px 0}.bar-top{display:flex;justify-content:space-between;font-size:10px;margin-bottom:5px}.bar-top span{color:var(--muted)}.bar{height:6px;background:#e9eeeb;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green2);border-radius:6px}.bar i.warn{background:#e2a82f}.alerts{display:grid;gap:9px}.alert-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px;background:#f8faf8;border-radius:10px}.alert-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.alert-icon.red{background:var(--redbg);color:var(--red)}.alert-icon.yellow{background:var(--amberbg);color:var(--amber)}.alert-item b,.alert-item span{display:block}.alert-item b{font-size:11px}.alert-item span{font-size:9px;color:var(--muted);margin-top:3px}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:800}.badge.red{color:var(--red);background:var(--redbg)}.badge.yellow{color:var(--amber);background:var(--amberbg)}.badge.green{color:var(--ok);background:var(--okbg)}.section-row{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:16px}.timeline{border-left:2px solid #e0e8e3;margin-left:7px;padding-left:20px}.event{position:relative;padding:0 0 16px}.event:before{content:"";position:absolute;left:-26px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--green2);border:3px solid white}.event b{font-size:11px}.event p{font-size:9px;color:var(--muted);margin:4px 0}.event time{font-size:9px;color:#8a9995}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.6px;padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 10px;border-bottom:1px solid #edf1ef}.data-table tr:last-child td{border:0}.module-hero{background:linear-gradient(135deg,#0d4337,#176653);color:white;border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;overflow:hidden}.module-hero h1{margin:4px 0;font-size:24px}.module-hero p{color:#bad2cb;margin:0;max-width:650px;font-size:12px}.hero-count{font-size:44px;font-weight:900;color:var(--lime)}.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:14px}.toolbar input{flex:1;min-width:0;background:white;border:1px solid var(--line);border-radius:10px;padding:11px 14px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.module-card h3{font-size:13px;margin:10px 0 6px}.module-card p{font-size:10px;color:var(--muted);line-height:1.5}.module-card .meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:9px;color:var(--muted)}.empty{text-align:center;padding:45px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:rgba(4,30,25,.58);z-index:50;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{background:white;border-radius:18px;width:min(540px,100%);box-shadow:var(--shadow);padding:22px}.modal-head{display:flex;justify-content:space-between}.modal h2{margin:3px 0 20px}.modal form{display:grid;gap:13px}.modal label{font-size:10px;font-weight:800;color:var(--muted);display:grid;gap:6px}.modal input,.modal select,.modal textarea{border:1px solid var(--line);border-radius:9px;padding:11px;color:var(--ink);resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.toast{position:fixed;right:25px;bottom:25px;background:#103e34;color:white;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;z-index:80;font-size:12px}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.score-card{grid-column:span 2}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.app-shell main{width:100%}.menu-btn{display:block}.breadcrumb span{display:none}.topbar{padding:0 14px}.top-actions .icon-btn:first-child{display:none}.primary.small{font-size:0;padding:10px}.primary.small:after{content:"＋";font-size:18px}.page-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions>*{flex:1}.stats{grid-template-columns:1fr 1fr;gap:9px}.score-card{grid-column:span 2}.dashboard-grid,.section-row{grid-template-columns:1fr}.compliance{grid-template-columns:105px 1fr}.donut{width:100px;height:100px}.donut:after{width:69px;height:69px}.donut span{top:57px}.module-grid{grid-template-columns:1fr}#app{padding:18px 14px}.module-hero{padding:20px}.hero-count{display:none}.form-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.card{padding:15px}}
.sidebar{background:linear-gradient(180deg,#111f59,#172c73 68%,#087f9e 145%)}.brand{padding:0 4px 18px}.brand img{width:62px;height:48px;object-fit:cover;object-position:18% 48%;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:white}.brand span{color:#b9c4e6}.company-switch{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}nav button:hover,nav button.active{background:linear-gradient(90deg,rgba(20,161,176,.38),rgba(255,180,28,.14))}nav button.active{box-shadow:inset 3px 0 #ffb71b}.score-card{background:linear-gradient(145deg,#182b70,#087f9f)}.module-hero{background:linear-gradient(135deg,#182b70,#087f9f 72%,#ed912b 145%)}.role-switch{border:1px solid rgba(255,255,255,.2);background:rgba(255,183,27,.12);color:white;border-radius:10px;padding:9px;text-align:left;display:flex;gap:9px;align-items:center;cursor:pointer;margin:9px 0}.role-switch b,.role-switch small{display:block}.role-switch b{font-size:10px}.role-switch small{font-size:8px;color:#c1cae4;margin-top:2px}.sidebar-foot .user-avatar{background:linear-gradient(135deg,#ffb71b,#ee6d2b);color:white}
.login-screen{position:fixed;inset:0;z-index:200;background:linear-gradient(130deg,#101f59 0%,#087f9f 58%,#ef9c2a 135%);display:grid;place-items:center;padding:20px}.login-screen.authenticated{display:none}.login-card{width:min(430px,100%);background:rgba(255,255,255,.97);border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(7,19,63,.35);text-align:center}.login-card>img{width:150px;height:78px;object-fit:cover;object-position:55% 48%;border-radius:14px;margin-bottom:18px}.login-card h1{font-size:24px;margin:8px 0;color:#182966}.login-card>p{font-size:12px;color:#687493;line-height:1.5;margin:0 0 22px}.login-card form{display:grid;gap:12px;text-align:left}.login-card label{font-size:10px;font-weight:800;color:#4f5d81;display:grid;gap:6px}.login-card input{border:1px solid #d5deec;border-radius:10px;padding:12px}.login-card form .primary{width:100%;margin-top:3px}.link-button{border:0;background:transparent;color:#087f9f;font-size:11px;font-weight:700;cursor:pointer}.login-error{min-height:16px;color:#c82b32;font-size:10px}.login-card>small{display:block;margin-top:20px;color:#8994af;font-size:9px}.access-seal{border:1px solid rgba(255,255,255,.2);background:rgba(255,183,27,.12);color:white;border-radius:10px;padding:9px;display:flex;gap:9px;align-items:center;margin:9px 0}.access-seal b,.access-seal small{display:block}.access-seal b{font-size:10px}.access-seal small{font-size:8px;color:#c1cae4;margin-top:2px}
.login-card>img{width:210px!important;height:92px!important;object-fit:contain!important;object-position:center!important}.brand img{object-fit:contain!important;object-position:center!important}
