:root{--navy:#0b1739;--navy2:#122650;--blue:#18396e;--orange:#f28c18;--orange2:#ff9c24;--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#718096;--line:#e6eaf1;--danger:#cf3a3a;--ok:#2f8f67}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}button,input{font:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,var(--navy),#071026);color:white;padding:24px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 24px}.brandmark{height:42px;width:42px;border-radius:10px;background:var(--orange);display:grid;place-items:center;color:var(--navy);font-weight:900;font-size:24px}.brand strong{font-size:26px;letter-spacing:1px}.brand small{display:block;font-size:8px;opacity:.7;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.sidebar nav a{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:9px;display:flex;align-items:center;gap:10px;font-size:13px}.sidebar nav a.active,.sidebar nav a:hover{background:#132a55;color:white}.sidebar nav a.active svg{color:var(--orange)}.sidebarFoot{margin-top:auto;border-top:1px solid #23345b;padding:18px 8px 0;color:#8fa1c5;font-size:10px;line-height:1.5}.main{margin-left:250px;min-height:100vh;width:calc(100% - 250px)}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.search,.topbar{display:flex;align-items:center}.search{gap:10px;background:#f6f8fc;border:1px solid #edf0f5;border-radius:10px;padding:10px 14px;width:min(540px,50vw);color:#8390a8}.search input{border:0;outline:0;background:transparent;width:100%;font-size:13px}.topActions{display:flex;align-items:center;gap:10px}.iconBtn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;position:relative}.iconBtn span{position:absolute;right:-4px;top:-5px;background:var(--orange);color:white;border-radius:10px;font-size:9px;padding:2px 5px}.primaryBtn{border:0;background:var(--orange);color:#1e293b;border-radius:9px;font-weight:700;padding:11px 15px;display:flex;gap:7px;align-items:center;justify-content:center;cursor:pointer}.primaryBtn:hover{background:var(--orange2)}.primaryBtn.full{width:100%}.avatar{height:38px;width:38px;background:#e8edf7;border-radius:50%;display:grid;place-items:center;color:#2a416c;font-weight:800}.profile{display:flex;flex-direction:column;font-size:12px}.profile small{color:var(--muted)}.content{padding:28px;max-width:1600px;margin:auto}.hero{background:linear-gradient(120deg,#0e2048,#244e83);min-height:210px;border-radius:16px;padding:34px;color:white;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 28px rgba(15,23,42,.14);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-120px;top:-220px;border:80px solid rgba(242,140,24,.18)}.hero h1{font-size:35px;margin:8px 0}.hero p{color:#c8d6ee}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--orange)}.heroBadge{text-align:right;z-index:1;font-weight:800;line-height:1.45;font-size:22px}.heroBadge b{color:var(--orange)}.kpis{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:14px;gap:14px;margin:18px 0}.kpi{background:white;border:1px solid var(--line);border-radius:13px;padding:17px;min-height:135px;display:flex;flex-direction:column;gap:7px}.kpiIcon{height:34px;width:34px;border-radius:8px;background:#f0f4fb;display:grid;place-items:center;color:#294f84}.kpiIcon svg{width:18px}.kpi span{font-size:12px;color:var(--muted)}.kpi strong{font-size:23px}.kpi small{font-size:10px;color:#8b96a9}.grid2{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:16px;gap:16px}.grid2,.panel{margin-bottom:16px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:18px;overflow:auto}.panelHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panelHead h3{margin:0;font-size:16px}.panelHead span{font-size:11px;color:var(--muted)}.statusGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.statusItem{background:#f7f9fc;border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center}.statusItem span{font-size:12px;color:var(--muted)}.statusItem strong{font-size:21px}.alertList{display:grid;grid-gap:9px;gap:9px}.alertItem{display:flex;justify-content:space-between;padding:12px 14px;border-radius:9px;background:#f8fafc;border-left:4px solid #cbd5e1;font-size:12px}.alertItem.warn{border-left-color:var(--orange)}.alertItem.danger{border-left-color:var(--danger)}.quick{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.quick button{border:1px solid var(--line);background:#f8fafc;padding:16px;border-radius:9px;text-align:left;font-weight:700;color:#27364e;cursor:pointer}.pageTitle{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.pageTitle h1{margin:6px 0;font-size:28px}.pageTitle p{color:var(--muted);margin:0;font-size:13px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#718096;font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid #eef1f5}.pill{background:#eef3fa;color:#36547e;border-radius:18px;padding:5px 8px;font-size:10px;font-weight:700}.pill.expired{background:#feecec;color:#a92e2e}.pill.expiring{background:#fff4df;color:#a7630a}.pill.regular{background:#eaf7f0;color:#2d7759}.empty{text-align:center;color:var(--muted);padding:36px}.loginPage{min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr;background:linear-gradient(120deg,var(--navy),#17396c);align-items:center;padding:7vw}.loginBrand{color:white;max-width:640px}.bigBrand{font-size:64px;font-weight:900;letter-spacing:2px;color:var(--orange)}.loginBrand h1{font-size:43px;margin:16px 0}.loginBrand p{color:#c4d0e4;font-size:18px}.loginCard{background:white;padding:34px;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:16px}.loginCard h2{margin:0}.loginCard p{margin:0;color:var(--muted)}.loginCard label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.loginCard input{padding:12px;border:1px solid #dbe1ea;border-radius:8px;outline:0}.loginCard small{color:var(--muted);text-align:center}.errorBox{background:#feecec;color:#982b2b;padding:10px;border-radius:8px;font-size:12px}@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.profile{display:none}}@media(max-width:850px){.sidebar{width:76px}.brand div:not(.brandmark),.sidebar nav span,.sidebarFoot{display:none}.main{margin-left:76px;width:calc(100% - 76px)}.grid2{grid-template-columns:1fr}.kpis,.quick{grid-template-columns:repeat(2,1fr)}.loginPage{grid-template-columns:1fr}.loginBrand{display:none}}.modalBackdrop{position:fixed;inset:0;background:rgba(7,16,38,.56);display:grid;place-items:center;padding:24px;z-index:50}.modalCard{background:#fff;border-radius:16px;width:min(760px,96vw);max-height:90vh;overflow:auto;box-shadow:0 28px 90px rgba(0,0,0,.3)}.modalHead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.modalHead h3{margin:0}.formGrid{padding:20px;display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.formGrid.compact{padding:0}.formGrid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#46536a}.formGrid input,.formGrid select,.formGrid textarea{width:100%;border:1px solid #dbe1ea;border-radius:9px;padding:11px;background:white;color:var(--text);outline:none}.formGrid input:focus,.formGrid select:focus,.formGrid textarea:focus{border-color:#7892b8;box-shadow:0 0 0 3px #edf3fb}.span2{grid-column:span 2}.formActions{display:flex;gap:9px;justify-content:flex-end;align-items:center}.secondaryBtn{border:1px solid var(--line);background:#fff;color:#374151;border-radius:9px;padding:11px 15px;font-weight:700;cursor:pointer}.miniKpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.miniKpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;justify-content:space-between;align-items:center}.miniKpis span{font-size:11px;color:var(--muted)}.miniKpis strong{font-size:23px}.complianceGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.complianceBox{border:1px solid var(--line);border-radius:11px;padding:14px}.complianceBox h4{margin:0 0 10px}.complianceRow{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eef1f5;padding:10px 0;font-size:12px}.pill.compliant{background:#eaf7f0;color:#2d7759}.pill.warning{background:#fff4df;color:#a7630a}.pill.missing,.pill.non_compliant{background:#feecec;color:#a92e2e}.roleRow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef1f5;padding:13px 2px}.roleRow>div{display:flex;flex-direction:column}.roleRow small,.roleRow span{font-size:10px;color:var(--muted)}.permissionForm{padding:20px}.permissionForm .formGrid{padding:0 0 16px}.permissionGroups{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;max-height:48vh;overflow:auto;padding-right:6px}.permissionGroup{border:1px solid var(--line);border-radius:10px;padding:12px}.permissionGroup h4{margin:0 0 8px}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-size:11px;font-weight:600!important}.check input{width:auto!important}.permissionForm>.formActions{margin-top:16px}@media(max-width:850px){.complianceGrid,.formGrid,.permissionGroups{grid-template-columns:1fr}.span2{grid-column:span 1}.miniKpis{grid-template-columns:repeat(2,1fr)}}.envBadge{border:1px solid #f3c27b;background:#fff7e8;color:#9a5b08;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.dashboardContent{padding-top:22px}.industrialHero{min-height:238px;padding:0;align-items:stretch;background:linear-gradient(110deg,#0b1739,#173b68 48%,#284f6c)}.industrialHero:after{display:none}.heroCopy{padding:36px 34px;display:flex;flex-direction:column;justify-content:center;max-width:58%;z-index:2}.heroCopy h1{margin:7px 0 8px}.heroCopy p{margin:0;max-width:670px}.heroLine{margin-top:24px;color:#b8c8de;font-size:9px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.heroLine i{width:4px;height:4px;background:var(--orange);border-radius:50%}.heroVisual{position:relative;flex:1 1;min-width:360px;overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(0,0,0,.22))}.heroVisual:before{content:"";position:absolute;left:0;top:0;bottom:0;width:90px;background:linear-gradient(90deg,#173b68,transparent);z-index:1}.road{width:140%;height:90px;left:-15%;bottom:-18px;background:linear-gradient(180deg,#6a7180,#28313e);transform:rotate(-7deg);border-top:4px solid rgba(255,255,255,.18)}.machine,.road{position:absolute}.machine{border-radius:9px 9px 3px 3px;background:linear-gradient(135deg,#f28c18,#ffb14d);box-shadow:0 12px 30px rgba(0,0,0,.32)}.machine:after,.machine:before{content:"";position:absolute;background:#202b38}.machine.m1{width:115px;height:45px;left:20%;bottom:56px;transform:skewX(-8deg)}.machine.m1:before{width:34px;height:26px;right:10px;top:-24px;border-radius:4px 7px 0 0;background:#dfe7ef}.machine.m1:after{width:24px;height:24px;border-radius:50%;left:16px;bottom:-13px;box-shadow:62px 0 0 #202b38}.machine.m2{width:72px;height:56px;right:14%;bottom:67px}.machine.m2:before{width:17px;height:68px;left:-22px;top:-35px;transform:rotate(27deg);transform-origin:bottom;background:#f28c18;border-radius:8px}.machine.m2:after{width:78px;height:14px;left:-4px;bottom:-10px;border-radius:10px;background:#202b38}.heroStatement{position:absolute;right:20px;top:24px;text-align:right;color:#d8e3ef;font-weight:800;font-size:14px;line-height:1.35;letter-spacing:.4px}.heroStatement b{color:white}.dashboardKpis{margin-top:16px}.kpiMuted strong{color:#98a2b3}.dashboardGrid3{display:grid;grid-template-columns:1.35fr .85fr .9fr;grid-gap:16px;gap:16px;margin-bottom:16px}.panelHead a{font-size:10px;text-decoration:none;color:#49698e;display:flex;align-items:center;gap:3px}.modulePlaceholder,.operationalEmpty{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #dce3ec;border-radius:11px;background:#fafbfd;color:#667085}.modulePlaceholder svg,.operationalEmpty svg{width:31px;height:31px;color:#6982a2;flex:0 0 auto}.modulePlaceholder strong,.operationalEmpty strong{font-size:12px;color:#334155}.modulePlaceholder p,.operationalEmpty p{font-size:10px;line-height:1.5;margin:4px 0 0}.miniFacts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.miniFacts span{background:#f7f9fc;border-radius:9px;padding:11px;color:#738099;font-size:10px}.miniFacts b{display:block;color:#223450;font-size:18px;margin-bottom:2px}.fleetStatus{display:grid;grid-gap:12px;gap:12px}.fleetRow{position:relative;padding-bottom:10px}.fleetRow>div:first-child{display:flex;justify-content:space-between;padding-right:38px}.fleetRow span{font-size:11px;color:#657187}.fleetRow small{font-size:9px;color:#98a2b3}.fleetRow strong{position:absolute;right:0;top:-2px;font-size:16px}.fleetBar{height:5px;background:#edf1f5;border-radius:99px;margin-top:6px;overflow:hidden}.fleetBar i{display:block;height:100%;background:#426a99;border-radius:99px}.dashboardBottom{grid-template-columns:1.35fr 1fr}.premiumQuick{grid-template-columns:1fr 1fr}.premiumQuick a{border:1px solid var(--line);background:#f8fafc;padding:15px;border-radius:10px;text-align:left;font-weight:700;color:#27364e;text-decoration:none;display:flex;align-items:center;gap:9px;font-size:11px}.premiumQuick a:first-child{background:#122650;color:white;border-color:#122650}.premiumQuick a:nth-child(2){background:#f28c18;border-color:#f28c18;color:#1e293b}.premiumQuick svg{width:17px;height:17px}@media(max-width:1300px){.dashboardGrid3{grid-template-columns:1fr 1fr}.operationalPanel{grid-column:span 2}.industrialHero .heroCopy{max-width:64%}}@media(max-width:850px){.envBadge{display:none}.dashboardGrid3{grid-template-columns:1fr}.operationalPanel{grid-column:span 1}.industrialHero{min-height:auto}.heroCopy{max-width:none;padding:26px}.heroVisual{display:none}.dashboardBottom{grid-template-columns:1fr}.miniFacts{grid-template-columns:1fr 1fr 1fr}}