:root{--green:#174b2d;--green2:#237a45;--orange:#ef7d18;--bg:#f3f6f4;--ink:#17231c;--muted:#6b7971;--red:#c64032;--line:#dce5df}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.side{background:#123b25;color:#fff;padding:24px 17px;position:sticky;top:0;height:100vh}.brand{padding:0 10px 22px}.brand-logo{height:76px;padding:9px 13px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 6px 18px #061d1233}.brand-logo img{display:block;width:100%;max-width:157px;height:auto}.brand small{display:block;padding-top:11px;text-align:center;font-size:11px;font-weight:750;letter-spacing:1.35px;color:#c4d8cb}.nav a{display:flex;gap:10px;padding:11px 12px;border-radius:9px;margin:3px 0;color:#dcebe1}.nav a:hover,.nav a.on{background:#fff;color:var(--green)}.main{min-width:0}.top{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.content{padding:28px;max-width:1500px;margin:auto}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}h1{font-size:27px;margin:0}h2{font-size:18px}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--green2);color:#fff}.btn.orange{background:var(--orange)}.btn.light{background:#e6eee9;color:var(--green)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 3px 14px #16352308}.metric strong{font-size:28px;display:block}.metric span{color:var(--muted)}.metric.warn{border-left:4px solid var(--orange)}.metric.danger{border-left:4px solid var(--red)}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:18px;overflow:hidden}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 15px;border-bottom:1px solid #edf1ee;white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafcfb}.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#e5f3e9;color:#176738;font-size:12px}.badge.warn{background:#fff0dc;color:#9b570c}.badge.bad{background:#fde8e5;color:#a02c20}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}label{font-weight:650}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd8d0;border-radius:8px;margin-top:5px;background:#fff}textarea{min-height:90px}.flash{padding:12px 15px;border-radius:9px;background:#e4f5e9;color:#176338;margin-bottom:16px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0e3921,#237a45)}.login-card{width:min(420px,92vw);background:#fff;padding:34px;border-radius:20px;box-shadow:0 24px 70px #06261666;text-align:center}.login-logo{display:flex;justify-content:center;margin:0 auto 24px;padding-bottom:22px;border-bottom:1px solid #e5ece7}.login-logo img{display:block;width:min(220px,80%);height:auto}.login-card h1{color:var(--green);margin-bottom:4px}.login-card>p{margin:0 0 24px;color:var(--muted)}.login-card label{display:block;text-align:left;margin-top:13px}.danger-link{color:var(--red)}
.notification-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filter-pill{padding:8px 13px;border-radius:99px;background:#fff;border:1px solid var(--line);font-weight:700}.filter-pill.on{background:var(--green);color:#fff}.notification-list{display:grid;gap:12px}.notification-card{background:#fff;border:1px solid var(--line);border-left:5px solid #85aa93;border-radius:14px;padding:16px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:start}.notification-card.priority-critical{border-left-color:var(--red)}.notification-card.priority-high{border-left-color:var(--orange)}.notification-card.priority-medium{border-left-color:#e2aa37}.notification-date{background:#f1f6f3;border-radius:10px;text-align:center;padding:8px}.notification-date b{display:block;font-size:24px}.notification-date span{font-size:11px;color:var(--muted)}.notification-meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.notification-main h2{margin:7px 0 2px}.notification-main p{margin:0;color:var(--muted)}.recommended-action{margin-top:10px;padding:10px 12px;background:#f4f8f5;border-radius:9px;display:grid;gap:2px}.recommended-action b{font-size:11px;text-transform:uppercase;color:var(--green2)}.notification-actions{display:grid;gap:7px;min-width:145px}.notification-actions form{display:grid;gap:7px}.btn.ghost{background:#fff;color:var(--green);border:1px solid var(--line)}.ai-center{margin-top:20px;background:linear-gradient(145deg,#102f20,#174b2d);border-radius:18px;padding:18px;color:#fff}.ai-head{border:0;padding:0 0 16px}.ai-head h2{font-size:23px;margin:3px 0}.ai-head span{color:#c6dccd}.ai-badge{background:#ef7d18;color:#fff!important;padding:7px 10px;border-radius:99px;font-size:11px;font-weight:800}.ai-kpis .card{background:#fff;color:var(--ink)}.ai-kpis strong{display:block;font-size:25px;margin:5px 0}.ai-kpis small{color:var(--muted)}.ai-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.ai-grid .panel,.simulator{color:var(--ink)}.ai-insights{padding:18px}.ai-insights h2{margin-top:0}.ai-insights li{margin:12px 0}.simulator{padding:18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}.simulator h2{margin:3px 0}.simulator label{display:grid;grid-template-columns:1fr auto;gap:8px}.simulator input{grid-column:1/-1}.simulation-result{background:#edf7f0;border-radius:12px;padding:14px}.simulation-result strong{display:block;font-size:25px;color:var(--green2)}.simulation-result small{color:var(--muted)}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{height:auto;position:static}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.grid{grid-template-columns:repeat(2,1fr)}.notification-card{grid-template-columns:54px 1fr}.notification-actions{grid-column:2}.ai-grid{grid-template-columns:1fr}.simulator{grid-template-columns:1fr}}@media(max-width:560px){.grid,.form-grid{grid-template-columns:1fr}.content{padding:18px}.top{padding:0 18px}.form-grid .full{grid-column:auto}.notification-card{grid-template-columns:1fr}.notification-date{width:60px}.notification-actions{grid-column:1}.notification-actions,.notification-actions form{display:flex;flex-wrap:wrap}}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-card{margin-top:0}.settings-card h2{margin:0 0 4px}.settings-card>p{color:var(--muted);margin:0 0 18px}.settings-card small{font-weight:500;color:var(--muted)}.settings-save{position:sticky;bottom:14px;margin:18px 0;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:0 8px 28px #173b2520;z-index:3}.password-card{margin-top:18px}.subtle{color:var(--muted)}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}
.nav a{align-items:center}.nav a>span{min-width:0}.nav-counter{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border:2px solid #123b25;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:10px;line-height:1;box-shadow:0 2px 8px #061d1230}.nav-counter.has-alerts{background:var(--red)}.nav-counter.is-clear{background:#2db66f}.nav a.on .nav-counter{border-color:#fff}
.top-actions{display:flex;align-items:center;gap:16px}.bell-wrap{position:relative}.notification-bell{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer;position:relative}.notification-bell:hover,.notification-bell:focus-visible{border-color:var(--green2);outline:3px solid #237a4518}.notification-bell>span{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:850}.notification-bell>span.has-alerts{background:var(--red)}.notification-bell>span.is-clear{background:#2db66f}
.notification-popup{position:absolute;right:0;top:51px;width:min(430px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 55px #102f2030;z-index:30;overflow:hidden}.notification-popup[hidden]{display:none!important}.notification-popup-head{padding:16px 17px 13px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.notification-popup-head strong,.notification-popup-head small{display:block}.notification-popup-head small{color:var(--muted);font-size:11px;margin-top:3px}.notification-popup-head>a{background:#e8f4ed;color:var(--green);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}.notification-popup-list{max-height:min(470px,65vh);overflow:auto}.popup-notice{padding:13px 15px;border-bottom:1px solid #e9efeb;display:grid;grid-template-columns:10px minmax(0,1fr) 13px;align-items:center;gap:11px}.popup-notice:last-child{border-bottom:0}.popup-notice:hover,.popup-notice:focus-visible{background:#f5faf7;outline:0}.popup-notice span b,.popup-notice span small,.popup-notice span em{display:block}.popup-notice span b{font-size:13px}.popup-notice span small{color:var(--muted);font-size:11px;margin-top:3px}.popup-notice span em{color:#8a968f;font-size:10px;font-style:normal;margin-top:5px}.priority-dot{width:9px;height:9px;border-radius:50%;background:#6ca584}.priority-dot.priority-critical{background:var(--red);box-shadow:0 0 0 4px #c6403218}.priority-dot.priority-high{background:var(--orange)}.priority-dot.priority-medium{background:#d6a338}.notification-popup-empty{padding:30px 18px;text-align:center;display:grid;gap:4px}.notification-popup-empty span{color:var(--muted)}
.focused-row{background:#fff3dd!important;box-shadow:inset 5px 0 var(--orange);animation:focusPulse 1.2s ease-out 2}@keyframes focusPulse{50%{background:#ffe3b6}}
@media(max-width:900px){.nav-counter{margin-left:2px}.notification-popup{position:fixed;right:16px;top:68px}.top-actions{gap:10px}}
@media(max-width:560px){.top> b{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions>span{font-size:0}.top-actions>span a{font-size:13px}.notification-popup{left:12px;right:12px;top:66px;width:auto}.notification-popup-head{padding:14px}.popup-notice{padding:12px}}
.brand-logo{background:transparent;box-shadow:none;border-radius:0;padding:3px 13px}.brand-logo img{filter:brightness(0) invert(1)}.login-logo{border-bottom:0;padding-bottom:4px}.login-logo img{filter:none}
.nav-number{width:20px;flex:0 0 20px;color:#6fa18b;font-size:10px;font-style:normal;font-weight:850;letter-spacing:.05em}.nav a.on .nav-number{color:var(--green2)}
.flash.warning{background:#fff1dc;color:#8c510e}.flash.warning a{text-decoration:underline}
.automation-center{margin-bottom:18px}.automation-actions{display:grid;grid-template-columns:repeat(4,1fr)}.automation-actions>a{padding:17px;border-right:1px solid var(--line);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.automation-actions>a:last-child{border-right:0}.automation-actions>a:hover{background:#f7faf8}.automation-actions>a>b{width:38px;height:38px;border-radius:10px;background:#e6f3ea;color:var(--green2);display:grid;place-items:center;font-size:18px}.automation-actions>a.needs-action>b{background:#fff0dd;color:#a55b0a}.automation-actions span{font-weight:750}.automation-actions small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500}.automation-actions strong{color:var(--green2);font-size:20px}
.tracking-button{display:inline-flex;align-items:center;color:var(--green2);font-weight:800}.tracking-kpis{grid-template-columns:repeat(3,1fr)}.tracking-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.tracking-card{display:flex;flex-direction:column;gap:14px}.tracking-card>div{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center}.tracking-card p{margin:0}.tracking-card p b,.tracking-card p small{display:block}.tracking-card p small{color:var(--muted);font-size:11px}.tracking-vehicle{color:var(--green2);font-size:20px}.tracking-card dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:0;padding:12px 0;border-block:1px solid var(--line)}.tracking-card dt{color:var(--muted);font-size:11px}.tracking-card dd{margin:0;text-align:right;font-weight:750}.tracking-card>.btn{text-align:center;margin-top:auto}.tracking-disclaimer{color:var(--muted);font-size:12px}
.permission-grid{display:grid;grid-template-columns:repeat(2,1fr)}.permission-grid article{padding:15px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.permission-grid article:nth-child(even){border-right:0}.permission-grid b,.permission-grid small{display:block}.permission-grid small{margin-top:5px;color:var(--muted)}
.permission-note{padding:18px;display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}.permission-note span{color:var(--muted)}.assigned-count{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:#e5f3e9;color:#176738;font-weight:850}.user-access-form{max-width:1100px;margin:auto;padding:0 18px 20px}.form-heading{margin:0 -18px 20px}.form-heading h2{margin:3px 0 0}.user-fields{margin-bottom:24px}.permission-selector{border:1px solid var(--line);border-radius:13px;padding:18px;margin:0 0 20px}.permission-selector legend{padding:0 8px;font-size:16px;font-weight:850}.permission-selector>p{margin:0 0 14px;color:var(--muted)}.permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-options>label,.module-switches>label{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;background:var(--surface-soft);cursor:pointer}.permission-options input,.module-switches input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--green2)}.permission-options b,.permission-options small,.module-switches b,.module-switches small{display:block}.permission-options small,.module-switches small{margin-top:3px;color:var(--muted);font-weight:500}.modules-card{grid-column:1/-1}.mode-explanation{margin:13px 0;padding:12px 14px;border-left:4px solid var(--green2);background:var(--surface-soft);border-radius:8px;display:grid;gap:3px}.mode-explanation span{color:var(--muted)}.module-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.access-limited{max-width:720px;margin:9vh auto;padding:38px;text-align:center}.access-limited h1{margin:8px 0}.access-limited p{color:var(--muted);font-size:15px}
@media(max-width:1100px){.automation-actions{grid-template-columns:repeat(2,1fr)}.automation-actions>a:nth-child(2){border-right:0}.automation-actions>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.tracking-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.automation-actions,.tracking-list,.permission-grid{grid-template-columns:1fr}.automation-actions>a{border-right:0;border-bottom:1px solid var(--line)!important}.automation-actions>a:last-child{border-bottom:0!important}.permission-grid article{border-right:0}.tracking-kpis{grid-template-columns:1fr}}
:root{color-scheme:light;--surface:#fff;--surface-soft:#f8fbf9;--surface-muted:#eef4f0;--sidebar:#123b25;--shadow:0 10px 30px #1735230d}
html[data-theme=dark]{color-scheme:dark;--bg:#0d1611;--ink:#eef6f1;--muted:#9dafA4;--line:#293a31;--green:#9ed4b4;--green2:#46b978;--orange:#f49b4b;--red:#ff766b;--surface:#15221b;--surface-soft:#1a2a21;--surface-muted:#203228;--sidebar:#071a11;--shadow:0 12px 34px #0005}
body,.top,.card,.panel,.notification-card,.notification-popup,.notification-popup-list,.notification-popup-list a,.filter-pill,.settings-save,.notification-bell,.login-card,input,select,textarea,.btn.ghost{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.brand-logo{height:78px}.brand-logo img{width:100%;max-width:196px;max-height:68px;object-fit:contain}.login-logo img{width:min(260px,86%);max-height:96px;object-fit:contain}.logo-fallback{font-size:26px;font-weight:900;letter-spacing:-1px}.logo-fallback span{color:var(--orange)}.side{display:flex;flex-direction:column;overflow:auto}.side-version{margin-top:auto;border-top:1px solid #ffffff24;padding:14px 11px 0;display:flex;justify-content:space-between;color:#a9c6b5;font-size:11px}.side-version b{color:#fff}
.theme-toggle{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:18px}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--green2);outline:3px solid #46b97822}.theme-toggle .theme-moon{display:none}html[data-theme=dark] .theme-toggle .theme-sun{display:none}html[data-theme=dark] .theme-toggle .theme-moon{display:inline}.login-theme{position:fixed;right:20px;top:20px;z-index:5}.login-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.app-footer{max-width:1500px;margin:0 auto;padding:0 28px 24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.09em;color:var(--green2)}.title-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-state{padding:42px;text-align:center}.empty-state h2{margin-top:0}.row-overdue{background:#fff6e8}.row-overdue td:first-child{box-shadow:inset 4px 0 var(--orange)}
.module-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.module-tabs a{border:1px solid var(--line);background:var(--surface);padding:9px 13px;border-radius:999px;color:var(--muted);font-weight:750}.module-tabs a:hover,.module-tabs a.on{background:var(--green2);border-color:var(--green2);color:#fff}.logistics-kpis{margin-bottom:18px}.logistics-flow{margin-top:0}.flow-steps{display:grid;grid-template-columns:repeat(5,1fr)}.flow-steps>a{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:18px;border-right:1px solid var(--line)}.flow-steps>a:last-child{border-right:0}.flow-steps>a:hover{background:var(--surface-soft)}.flow-steps b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e5f3e9;color:#176738;font-size:11px}.flow-steps span{font-weight:800}.flow-steps small{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}.logistics-form{max-width:1050px;margin:auto}.logistics-form>h2{margin:0 0 4px}.logistics-form>p{color:var(--muted)}.inline-status select{min-width:145px;margin:0;padding:7px}.panel-head span{color:var(--muted)}
html[data-theme=dark] body{background:var(--bg);color:var(--ink)}html[data-theme=dark] .top,html[data-theme=dark] .card,html[data-theme=dark] .panel,html[data-theme=dark] .notification-card,html[data-theme=dark] .notification-popup,html[data-theme=dark] .notification-popup-list,html[data-theme=dark] .notification-popup-list>a,html[data-theme=dark] .filter-pill,html[data-theme=dark] .settings-save,html[data-theme=dark] .notification-bell,html[data-theme=dark] .login-card,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .side{background:linear-gradient(160deg,#06170e,#0a2517)}html[data-theme=dark] .nav a{color:#c2d5c8}html[data-theme=dark] .nav a:hover,html[data-theme=dark] .nav a.on{background:#e9f5ee;color:#153e27}html[data-theme=dark] th{background:var(--surface-soft);color:#b6c8bd}html[data-theme=dark] td,html[data-theme=dark] th,html[data-theme=dark] .panel-head{border-color:var(--line)}html[data-theme=dark] tbody tr:hover{background:var(--surface-soft)}html[data-theme=dark] .metric span,html[data-theme=dark] .subtle,html[data-theme=dark] .settings-card>p,html[data-theme=dark] .tracking-card p small,html[data-theme=dark] .tracking-card dt,html[data-theme=dark] .tracking-disclaimer{color:var(--muted)}html[data-theme=dark] .btn.light{background:#22372b;color:#bce8cc}html[data-theme=dark] .badge{background:#1f3a2a;color:#9ce0b6}html[data-theme=dark] .badge.warn{background:#422e1b;color:#ffc07a}html[data-theme=dark] .badge.bad{background:#452420;color:#ff9a90}html[data-theme=dark] .notification-date,html[data-theme=dark] .recommended-action,html[data-theme=dark] .simulation-result,html[data-theme=dark] .automation-actions>a>b,html[data-theme=dark] .flow-steps b{background:var(--surface-muted);color:#9ed4b4}html[data-theme=dark] .popup-notice:hover,html[data-theme=dark] .popup-notice:focus-visible,html[data-theme=dark] .automation-actions>a:hover,html[data-theme=dark] .flow-steps>a:hover{background:var(--surface-soft)}html[data-theme=dark] .row-overdue{background:#332719}html[data-theme=dark] .focused-row{background:#3b2c19!important}html[data-theme=dark] .ai-center{background:linear-gradient(145deg,#06150d,#0c2c1a)}html[data-theme=dark] .ai-kpis .card,html[data-theme=dark] .ai-grid .panel,html[data-theme=dark] .simulator{color:var(--ink)}html[data-theme=dark] .login{background:radial-gradient(circle at top,#174b2d,#08150d 68%)}html[data-theme=dark] .login-logo img{filter:brightness(0) invert(1)}html[data-theme=dark] .login-card h1{color:#bce8cc}html[data-theme=dark] .notification-popup-head>a{background:#203b2a;color:#9ed4b4}html[data-theme=dark] .global-search,html[data-theme=dark] .search{background:var(--surface)}
html[data-theme=dark] .year-filter{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .year-filter select{background:var(--surface);color:#a8dfba}html[data-theme=dark] .metric.executive:after{background:#203429}html[data-theme=dark] .rank-row{border-color:var(--line)}html[data-theme=dark] .rank-bar{background:#263a2e}html[data-theme=dark] .chart-legend b,html[data-theme=dark] .rank-row>strong{color:var(--ink)}
@media(max-width:1100px){.flow-steps{grid-template-columns:repeat(3,1fr)}.flow-steps>a:nth-child(3){border-right:0}.flow-steps>a:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.flow-steps,.permission-options,.module-switches{grid-template-columns:1fr}.flow-steps>a{border-right:0;border-bottom:1px solid var(--line)!important}.flow-steps>a:last-child{border-bottom:0!important}.app-footer{padding:0 18px 22px;display:grid}.titlebar{align-items:flex-start;flex-direction:column}.title-actions{width:100%}.title-actions .btn{flex:1;text-align:center}.permission-note{grid-template-columns:1fr}.access-limited{margin:4vh auto;padding:28px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.restore-panel{border-top:4px solid var(--orange)}.restore-head{padding:20px 22px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:15px;align-items:start;border-bottom:1px solid var(--line)}.restore-head h2{margin:3px 0}.restore-head p{margin:0;color:var(--muted)}.restore-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#fff0dc;color:#a25708;font-size:27px;font-weight:800}.restore-warning{margin:20px 22px 0;padding:14px 16px;border:1px solid #f1c27e;border-left:5px solid var(--orange);border-radius:10px;background:#fff8eb;display:grid;gap:4px}.restore-warning b{color:#8b4c08}.restore-warning span{color:#725634}.restore-form{padding:20px 22px 24px}.restore-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.restore-fields .full{grid-column:1/-1}.restore-fields small{display:block;margin-top:6px;color:var(--muted);font-weight:500}.restore-fields input[type=file]{padding:12px;background:var(--surface-soft)}.restore-ack{display:flex;align-items:flex-start;gap:10px;margin:18px 0;padding:12px 14px;border-radius:9px;background:var(--surface-soft)}.restore-ack input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--orange);flex:0 0 auto}.restore-button{background:#a93328}.restore-button:hover{background:#8e281f}
html[data-theme=dark] .restore-warning{background:#382919;border-color:#72522a}html[data-theme=dark] .restore-warning b{color:#ffc078}html[data-theme=dark] .restore-warning span{color:#d6bd9e}html[data-theme=dark] .restore-icon{background:#3c2d1d;color:#ffc078}
@media(max-width:700px){.restore-head{grid-template-columns:45px 1fr}.restore-head>.badge{grid-column:2;justify-self:start}.restore-fields{grid-template-columns:1fr}.restore-fields .full{grid-column:auto}.restore-form,.restore-head{padding-left:17px;padding-right:17px}.restore-warning{margin-left:17px;margin-right:17px}}

/* BenePVC Fleet 2.2 — identidade, ficha do ativo, meteorologia e diretório */
.logo-dark{display:none!important}.brand-logo{height:auto;min-height:82px;padding:4px 1px 8px}.brand-logo img{width:100%;max-width:220px;max-height:none;object-fit:contain;filter:none!important}.side .brand-logo .logo-light{display:none!important}.side .brand-logo .logo-dark{display:block!important}.login-logo{margin-bottom:16px}.login-logo img{width:min(350px,94%);max-height:none;filter:none!important}html[data-theme=dark] .login-logo .logo-light{display:none!important}html[data-theme=dark] .login-logo .logo-dark{display:block!important}
.weather-widget{margin:0 0 18px;padding:20px;border:1px solid #b9dcc6;border-radius:18px;background:linear-gradient(130deg,#eef9f2 0%,#fff 54%,#fff7ec 100%);box-shadow:var(--shadow);overflow:hidden}.weather-now{display:grid;grid-template-columns:58px minmax(0,1fr) 38px;gap:14px;align-items:center}.weather-now h2{margin:2px 0;font-size:23px}.weather-now p{margin:0;color:var(--muted)}.weather-now>button{width:38px;height:38px;border:1px solid #b9dcc6;border-radius:10px;background:#fff;color:var(--green2);font-size:21px;cursor:pointer}.weather-now>button.is-loading{animation:weatherSpin .8s linear infinite}.weather-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#dff3e6;color:var(--green2);font-size:29px}.weather-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0;background:#cfe3d6;border:1px solid #cfe3d6;border-radius:12px;overflow:hidden}.weather-metrics>span{display:grid;gap:3px;padding:12px 14px;background:#fff}.weather-metrics small{color:var(--muted)}.weather-forecast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.weather-day{padding:10px 12px;border-radius:10px;background:#ffffffa8;display:grid;grid-template-columns:1fr auto;gap:4px}.weather-day span{grid-column:1/-1;color:var(--muted);font-size:11px}.weather-source{display:block;margin-top:11px;color:var(--muted)}.weather-source a{text-decoration:underline}.weather-error{color:var(--red)!important}@keyframes weatherSpin{to{transform:rotate(360deg)}}
.asset-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow)}.asset-hero h1{margin:3px 0 4px}.asset-hero p{margin:0;color:var(--muted)}.asset-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px}.asset-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.asset-columns>.panel{height:max-content}.asset-details dl,.contact-card dl{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(0,1fr);gap:9px 15px;padding:18px;margin:0}.asset-details dt,.contact-card dt{color:var(--muted)}.asset-details dd,.contact-card dd{margin:0;font-weight:700;overflow-wrap:anywhere}.email-report form,.attachment-upload form{padding:18px;display:grid;gap:13px}.email-report small,.attachment-upload small{color:var(--muted);font-weight:500}.attachments-panel{margin-top:18px}.attachments-layout{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);min-height:260px}.attachment-upload{border-right:1px solid var(--line)}.attachment-list{padding:16px;display:grid;gap:10px;align-content:start}.file-card{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface-soft)}.file-type{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#e1f1e7;color:var(--green2);font-size:10px;font-weight:900;text-transform:uppercase}.file-card b,.file-card small{display:block}.file-card small{color:var(--muted);margin-top:3px}.file-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.file-actions form{display:inline}.file-actions button{border:0;background:transparent;padding:4px;cursor:pointer}.replace-inline{grid-column:2/-1;padding-top:8px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.replace-inline input{margin:0}.directory-note{color:var(--muted);font-size:12px;margin:16px 2px}.contact-toolbar{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:14px;align-items:end;margin-bottom:18px}.contact-filters{display:flex;gap:7px;flex-wrap:wrap}.contact-filters button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer}.contact-filters button.on{background:var(--green2);border-color:var(--green2);color:#fff}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-card{border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.contact-card[hidden]{display:none}.contact-card header{padding:16px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:start}.contact-card header h2{margin:2px 0;font-size:16px}.contact-card header small{color:var(--muted)}.contact-symbol{width:40px;height:40px;border-radius:11px;background:#e3f2e8;color:var(--green2);display:grid;place-items:center;font-size:11px;font-weight:900}.contact-card>p{margin:0;padding:0 16px 3px;color:var(--muted);min-height:44px}.contact-card dl{padding:13px 16px;margin-top:auto;border-top:1px solid var(--line)}.contact-card footer{padding:13px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line)}.contact-card footer form{margin-left:auto}.contact-card footer button{background:transparent;border:0;cursor:pointer}.contact-empty{grid-column:1/-1;padding:35px;text-align:center;color:var(--muted)}
html[data-theme=dark] .weather-widget{background:linear-gradient(130deg,#132c1d,#15221b 55%,#302415);border-color:#31583e}html[data-theme=dark] .weather-now>button,html[data-theme=dark] .weather-metrics>span,html[data-theme=dark] .weather-day{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .weather-icon,html[data-theme=dark] .file-type,html[data-theme=dark] .contact-symbol{background:var(--surface-muted);color:#9ed4b4}html[data-theme=dark] .weather-metrics{background:var(--line);border-color:var(--line)}html[data-theme=dark] .asset-hero,html[data-theme=dark] .file-card,html[data-theme=dark] .contact-card,html[data-theme=dark] .contact-filters button{background:var(--surface);border-color:var(--line)}
@media print{.side,.top,.app-footer,.no-print,.weather-widget,.title-actions{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.asset-hero,.card,.panel{box-shadow:none;break-inside:avoid}.asset-columns,.attachments-layout{grid-template-columns:1fr}.asset-kpis{grid-template-columns:repeat(3,1fr)}body{background:#fff;color:#111}}
@media(max-width:1100px){.asset-kpis{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attachments-layout{grid-template-columns:1fr}.attachment-upload{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.weather-metrics,.weather-forecast,.asset-kpis,.asset-columns,.contact-grid,.contact-toolbar{grid-template-columns:1fr}.weather-day{grid-template-columns:1fr auto}.asset-hero{flex-direction:column}.file-card{grid-template-columns:42px 1fr}.file-actions{grid-column:2}.replace-inline{grid-column:1/-1}.contact-card>p{min-height:0}.login-logo img{width:min(330px,100%)}}
.asset-files{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr)}.asset-files>.panel-head,.asset-files>.empty-state{grid-column:1/-1}.asset-files>.attachment-upload{padding:18px;display:grid;gap:13px;align-content:start;border-right:1px solid var(--line)}.attachment-card{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;background:var(--surface-soft)}.attachment-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#e1f1e7;color:var(--green2);font-size:10px;font-weight:900;text-transform:uppercase}.attachment-card b,.attachment-card span,.attachment-card small{display:block}.attachment-card span,.attachment-card small{color:var(--muted);margin-top:3px}.attachment-card p{margin:8px 0 0}.attachment-actions{grid-column:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.attachment-actions>form{display:inline}.attachment-actions button{border:0;background:transparent;padding:4px;cursor:pointer}.attachment-actions details{position:relative}.attachment-actions summary{cursor:pointer;color:var(--green2);font-weight:750}.attachment-actions details form{position:absolute;right:0;top:28px;width:min(390px,75vw);padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 40px #0002;z-index:5;display:grid;gap:8px}.attachment-actions details input{margin:0}html[data-theme=dark] .attachment-card{background:var(--surface-soft);border-color:var(--line)}html[data-theme=dark] .attachment-icon{background:var(--surface-muted);color:#9ed4b4}
@media(max-width:1100px){.asset-files{grid-template-columns:1fr}.asset-files>.attachment-upload{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.attachment-card{grid-template-columns:42px 1fr}.attachment-actions{grid-column:1/-1}.attachment-actions details form{right:auto;left:0}}

/* BenePVC Fleet 2.3 — listagens, impressão, PDF e Excel */
.report-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.report-card{display:flex;flex-direction:column;min-height:164px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.report-card:hover{transform:translateY(-2px);border-color:#91c6a4;box-shadow:0 15px 34px #17352316}.report-card.selected{border-color:var(--green2);box-shadow:inset 0 0 0 2px #46b97822}.report-card>span{color:var(--green2);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.report-card h2{font-size:15px;margin:7px 0 5px}.report-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.report-card strong{margin-top:auto;padding-top:12px;color:var(--green2);font-size:11px}.report-workbench{margin-bottom:18px}.report-workbench .panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.report-count{min-width:92px;padding:8px 11px;border-radius:999px;background:#e7f4eb;color:#176738!important;text-align:center;font-weight:850}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;padding:16px;border-bottom:1px solid var(--line);align-items:end}.report-filters>label:first-of-type{grid-column:span 2}.report-filters label{font-size:10px;font-weight:800}.report-filters input,.report-filters select{display:block;width:100%;height:39px;margin-top:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:0 9px}.report-filter-actions{display:flex;gap:7px}.report-filter-actions .btn{height:39px;white-space:nowrap}.report-export-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.report-export-bar>div:first-child{display:grid;gap:3px}.report-export-bar b{font-size:11px}.report-export-bar span{color:var(--muted);font-size:10px}.report-export-bar>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.report-preview{max-height:620px;overflow:auto}.report-preview thead{position:sticky;top:0;z-index:2}.report-preview td,.report-preview th{font-size:10px}.report-limit-note{margin:0;padding:12px 16px;background:#fff7e9;color:#7b531d;font-size:10px}.report-guidance{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-guidance article{border-left:4px solid var(--green2);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:14px 16px;display:grid;gap:4px}.report-guidance b{font-size:12px}.report-guidance span{color:var(--muted);font-size:10px}
html[data-theme=dark] .report-card,html[data-theme=dark] .report-guidance article{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .report-count{background:var(--surface-muted);color:#9ed4b4!important}html[data-theme=dark] .report-export-bar{background:var(--surface-soft)}html[data-theme=dark] .report-limit-note{background:#342817;color:#f2c98d}
@media(max-width:1280px){.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions{grid-column:1/-1}}
@media(max-width:760px){.report-catalog,.report-guidance,.report-filters{grid-template-columns:1fr}.report-filters>label:first-of-type{grid-column:auto}.report-export-bar{align-items:flex-start;flex-direction:column}.report-export-bar>div:last-child{width:100%}.report-export-bar .btn{flex:1;text-align:center}.report-card{min-height:0}.report-preview{max-height:520px}}
@media print{.report-catalog,.report-filters,.report-export-bar,.report-guidance{display:none!important}.report-preview{max-height:none;overflow:visible}.report-workbench{border:0}.report-workbench .panel-head{padding:0 0 12px}.report-workbench table{font-size:8px}}

/* BenePVC Fleet 2.4 — edição, eliminação recuperável e continuidade operacional */
.row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;white-space:normal}.row-actions>a:not(.btn){color:var(--green2);font-weight:750}.tracking-card>.row-actions{display:flex;grid-template-columns:none;align-items:center;margin-top:auto}.row-actions form{margin:0}.danger-link{border:0;background:transparent;color:var(--red);font-weight:750;cursor:pointer;padding:4px 0}.btn.danger{background:var(--red);color:#fff}.danger-menu{position:relative;display:inline-block}.danger-menu>summary{list-style:none;color:var(--red);font-weight:750;cursor:pointer}.danger-menu>summary::-webkit-details-marker{display:none}.danger-box{position:absolute;right:0;top:28px;width:min(360px,82vw);z-index:40;padding:14px;border:1px solid #e2a39d;border-radius:12px;background:var(--surface);box-shadow:0 18px 45px #2d130f2b;display:grid;gap:9px;white-space:normal}.danger-box p{margin:0}.danger-box p:nth-of-type(2){color:var(--muted);font-size:11px}.danger-box label{font-size:11px}.danger-box input{margin-top:4px}.trash-group{overflow:visible}.trash-group .empty-state{padding:22px}.trash-group td{white-space:normal}.trash-group table{min-width:760px}
html[data-theme=dark] .danger-box{background:var(--surface);border-color:#7c3e38}.title-actions .danger-menu{align-self:center}
@media(max-width:760px){.danger-box{position:fixed;left:12px;right:12px;top:18vh;width:auto}.row-actions{min-width:170px}.tracking-card>.row-actions{display:flex}.trash-group{overflow:hidden}}
@media print{.danger-menu,.row-actions .danger-link{display:none!important}}

/* BenePVC Fleet 2.5 — contraste e foco dos botões de localização */
.tracking-card>.row-actions>a.btn{font-weight:800;min-width:122px;text-align:center}
.tracking-card>.row-actions>a.btn:not(.light){background:#237a45;color:#fff}
.tracking-card>.row-actions>a.btn:not(.light):hover{background:#185d35;color:#fff}
.tracking-card>.row-actions>a.btn:focus-visible,.tracking-card>.row-actions .danger-link:focus-visible{outline:3px solid #ef7d18;outline-offset:2px}
html[data-theme=dark] .tracking-card>.row-actions>a.btn:not(.light){background:#187348;color:#fff}
html[data-theme=dark] .tracking-card>.row-actions>a.btn:not(.light):hover{background:#0f5b37;color:#fff}

/* BenePVC Fleet v2.5 — navegação modular 1–8 e experiência mobile */
:root{--menu-green:#2f8154;--menu-green-hover:#3d9364;--menu-orange:#ee7d20;--menu-orange-hover:#f18b32;--dock-height:72px}
.shell{grid-template-columns:286px minmax(0,1fr)}
.side{width:286px;padding:18px 15px 14px;background:radial-gradient(circle at 18% 0,#1d6842 0,#123b25 38%,#0b2e1c 100%);box-shadow:14px 0 40px #071d121a;scrollbar-width:thin;scrollbar-color:#ffffff35 transparent}
.side-head{position:relative}.side-head .brand{width:100%;padding:0 9px 13px}.side-close{display:none;position:absolute;right:0;top:0;width:38px;height:38px;border:1px solid #ffffff25;border-radius:10px;background:#ffffff12;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.nav{display:grid;gap:8px}.nav-primary,.nav-operational{display:grid;gap:5px}.nav a{min-height:46px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:12px;gap:9px;font-weight:750;line-height:1.18;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.nav a:hover{transform:translateX(3px)}
.nav-icon{width:20px;height:20px;flex:0 0 20px}.nav a>span{flex:1;font-size:12.5px}.nav-primary .nav-main{color:#fff;background:var(--menu-green);border-color:#ffffff17;box-shadow:0 7px 18px #061d1224}.nav-primary .nav-main:hover{background:var(--menu-green-hover);color:#fff}.nav-primary .nav-dashboard{background:linear-gradient(135deg,var(--menu-orange),#e66c11);color:#fff;box-shadow:0 8px 22px #5b26062e}.nav-primary .nav-dashboard:hover{background:linear-gradient(135deg,var(--menu-orange-hover),#ed7419)}
.nav-primary .nav-main.on,.nav-primary .nav-dashboard.on,.nav-operational .nav-module.on,.system-submenu a.on{background:#fff;color:#174b2d;border-color:#fff;box-shadow:0 9px 22px #061d1230;transform:none}.nav-primary .nav-main.on .nav-counter,.nav-operational .nav-module.on .nav-counter{border-color:#fff}
.nav-section-title{display:flex;align-items:center;justify-content:space-between;padding:9px 9px 2px;color:#9fc6ae;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.1em}.nav-section-title b{padding:3px 7px;border:1px solid #ffffff25;border-radius:999px;color:#cfe4d6;font-size:8px}.nav-operational .nav-module{color:#d9eadf;background:#ffffff08}.nav-operational .nav-module:hover{background:#ffffff14;color:#fff}.nav-number{width:24px;height:24px;flex:0 0 24px;border:1px solid #ffffff2d;border-radius:8px;display:grid;place-items:center;color:#bfdbc9;background:#ffffff0c;font-size:10px}.nav-operational .nav-module.on .nav-number{border-color:#b9dcca;background:#eaf5ee;color:#16653b}.nav .nav-counter.is-clear{width:0;min-width:0;padding:0;border:0;opacity:0;overflow:hidden}.nav .nav-counter.has-alerts{border-color:#ffffffa0;animation:menuAlert 2.4s ease-in-out infinite}
.system-menu{margin-top:1px}.system-menu>summary{min-height:48px;padding:10px 11px;border-radius:12px;background:linear-gradient(135deg,var(--menu-orange),#df6911);color:#fff;box-shadow:0 8px 22px #5b26062a;display:flex;align-items:center;gap:10px;font-weight:850;cursor:pointer;list-style:none;transition:.18s}.system-menu>summary::-webkit-details-marker{display:none}.system-menu>summary:hover{background:linear-gradient(135deg,var(--menu-orange-hover),#e87318);transform:translateY(-1px)}.system-menu>summary span{flex:1}.system-menu>summary>i{font-style:normal;transition:transform .2s}.system-menu[open]>summary>i{transform:rotate(180deg)}.system-submenu{display:grid;gap:4px;padding:7px 3px 0 14px;border-left:1px solid #ffffff25;margin-left:14px;animation:menuReveal .18s ease-out}.system-submenu a{min-height:42px;padding:8px 10px;color:#dbeadf;background:#ffffff08}.system-submenu a>span{font-size:11.5px}.system-submenu .nav-icon{width:17px;height:17px;flex-basis:17px}
.side-version{padding:12px 10px 0;margin-top:12px}.top{position:sticky;top:0;z-index:30;backdrop-filter:blur(16px);background:#fffffff2}.top-title{display:flex;align-items:center;gap:11px;min-width:0}.top-title>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);place-items:center;padding:10px;cursor:pointer}.mobile-menu-button span{display:block;width:19px;height:2px;margin:2px 0;border-radius:2px;background:currentColor}.menu-scrim,.mobile-dock{display:none}
.permission-options>label{grid-template-columns:20px 34px 1fr;align-items:center;position:relative;transition:.17s}.permission-options>label:has(input:checked){border-color:#66ad7f;background:#eef8f1;box-shadow:inset 0 0 0 1px #237a4520}.permission-module-number{width:30px;height:30px;border-radius:9px;background:#e3f1e8;color:#17683c;display:grid;place-items:center;font-style:normal;font-weight:900}.module-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-map>a{min-height:94px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;transition:.17s}.module-map>a:hover{border-color:#79b68e;transform:translateY(-2px);box-shadow:var(--shadow)}.module-map i{width:32px;height:32px;border-radius:9px;background:var(--green2);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}.module-map b,.module-map small{display:block}.module-map b{font-size:12px}.module-map small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}
.btn,.theme-toggle,.notification-bell{transition:transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover,.theme-toggle:hover,.notification-bell:hover{transform:translateY(-1px)}
@keyframes menuReveal{from{opacity:0;transform:translateY(-5px)}}@keyframes menuAlert{50%{box-shadow:0 0 0 5px #c6403224}}
html[data-theme=dark] .top{background:#15221bf2}html[data-theme=dark] .nav-primary .nav-main.on,html[data-theme=dark] .nav-primary .nav-dashboard.on,html[data-theme=dark] .nav-operational .nav-module.on,html[data-theme=dark] .system-submenu a.on{background:#eaf5ee;color:#153e27;border-color:#eaf5ee}html[data-theme=dark] .permission-options>label:has(input:checked){background:#1d3325;border-color:#3f7c57}html[data-theme=dark] .permission-module-number{background:#294835;color:#b7e8c9}html[data-theme=dark] .module-map>a{background:var(--surface-soft)}
@media(max-width:1180px){.module-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .shell{display:block}.main{min-height:100vh;padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom))}.top{height:64px;padding:0 14px}.mobile-menu-button{display:grid}.top-actions{gap:8px}.content{padding:20px 16px 28px}.app-footer{padding-bottom:calc(var(--dock-height) + 22px)}
 .side{display:flex;flex-direction:column;overflow-y:auto;position:fixed;inset:0 auto 0 0;z-index:100;width:min(88vw,340px);height:100dvh;padding-top:max(14px,env(safe-area-inset-top));transform:translateX(-105%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:22px 0 65px #06180f70}.side.mobile-open{transform:translateX(0)}.side-close{display:grid;place-items:center}.menu-scrim{display:block;position:fixed;inset:0;z-index:90;border:0;background:#06170e99;backdrop-filter:blur(3px);animation:menuFade .18s}.menu-scrim[hidden]{display:none}.menu-is-open{overflow:hidden}.nav{display:grid;overflow:visible}.nav a{white-space:normal}.side-version{margin-top:auto}
 .mobile-dock{position:fixed;left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));z-index:60;min-height:64px;padding:7px;border:1px solid #d7e3db;border-radius:19px;background:#fffffff2;box-shadow:0 14px 45px #0d2a1b30;backdrop-filter:blur(18px);display:flex;align-items:stretch;justify-content:space-around}.mobile-dock a,.mobile-dock button{position:relative;min-width:62px;border:0;border-radius:13px;background:transparent;color:#6b7971;display:grid;place-items:center;align-content:center;gap:2px;padding:4px 8px;font:inherit;cursor:pointer}.mobile-dock .nav-icon{width:21px;height:21px}.mobile-dock span{font-size:9px;font-weight:850}.mobile-dock .on{background:#e9f5ee;color:#17683c}.mobile-dock b{position:absolute;right:7px;top:2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:8px}.mobile-dock b:empty{display:none}
 html[data-theme=dark] .mobile-dock{background:#14231cf2;border-color:#30473a}html[data-theme=dark] .mobile-dock a,html[data-theme=dark] .mobile-dock button{color:#a9bdb1}html[data-theme=dark] .mobile-dock .on{background:#233b2d;color:#aee0c0}
}
@keyframes menuFade{from{opacity:0}}
@media(max-width:620px){.module-map,.permission-options{grid-template-columns:1fr}.permission-options>label{grid-template-columns:20px 32px 1fr}.top-title{max-width:65%}.top-title>b{font-size:13px}.top-actions .theme-toggle,.top-actions .notification-bell{width:38px;height:38px}.login{padding:72px 12px 28px}.login-card{padding:27px 22px;border-radius:18px}.login-theme{right:12px;top:12px}.table-wrap{border-radius:10px}.panel{border-radius:12px}.titlebar h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.nav .nav-counter.has-alerts{animation:none}}

/* BenePVC Fleet v2.5 — notificações uniformizadas por secção, urgência e total */
.nav .nav-counter.tone-urgent,.notification-bell>span.tone-urgent,.mobile-dock b.tone-urgent{background:#c64032}.nav .nav-counter.tone-attention,.notification-bell>span.tone-attention,.mobile-dock b.tone-attention{background:#ef7d18}.nav .nav-counter.tone-clear,.notification-bell>span.tone-clear,.mobile-dock b.tone-clear{background:#25a867}.nav .nav-counter.tone-urgent,.nav .nav-counter.tone-attention{border-color:#ffffffb8;animation:menuAlert 2.4s ease-in-out infinite}.nav .nav-counter.tone-clear{width:auto;min-width:21px;padding:0 6px;border:2px solid #ffffff9c;opacity:1;overflow:visible}.system-menu>summary .nav-counter{margin-left:auto}.system-menu>summary>i{margin-left:0}.system-submenu .nav-counter{margin-left:auto}
.notification-popup-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px 13px;border-bottom:1px solid var(--line);background:#f7faf8}.notification-popup-totals span{border-radius:9px;padding:8px 9px;color:#fff;font-size:10px;font-weight:800}.notification-popup-totals span b{font-size:14px;margin-right:3px}.notification-popup-totals .tone-urgent{background:#c64032}.notification-popup-totals .tone-attention{background:#ef7d18}.notification-popup-totals .tone-clear{background:#218153}
.notification-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}.notification-levels article{min-height:112px;border-radius:15px;padding:17px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:start;box-shadow:var(--shadow)}.notification-levels article.tone-urgent{background:linear-gradient(135deg,#a92d28,#d94b3f)}.notification-levels article.tone-attention{background:linear-gradient(135deg,#c55c0b,#ef8b2b)}.notification-levels article.tone-clear{background:linear-gradient(135deg,#176b41,#2d9d61)}.notification-levels span{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.notification-levels b{font-size:30px}.notification-levels small{grid-column:1/-1;align-self:end;color:#fff;opacity:.88}
.notification-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 18px}.notification-sections>a{min-height:58px;border:1px solid var(--line);border-radius:11px;background:var(--surface);display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:9px 10px;box-shadow:var(--shadow)}.notification-sections>a:hover{border-color:var(--green2);transform:translateY(-1px)}.notification-sections i{width:26px;height:26px;border-radius:8px;background:#e6f3ea;color:var(--green2);display:grid;place-items:center;font-size:10px;font-style:normal;font-weight:900}.notification-sections span{font-size:11px;font-weight:750;line-height:1.22}.notification-sections b{min-width:22px;height:22px;border-radius:999px;color:#fff;display:grid;place-items:center;font-size:10px}.notification-sections b.tone-urgent{background:#c64032}.notification-sections b.tone-attention{background:#ef7d18}.notification-sections b.tone-clear{background:#25a867}.notification-email-status small{display:block;color:var(--muted)}.email-delivery-note{display:block;margin-top:10px;color:var(--green2);font-weight:750}.notification-policy{margin:0 0 16px;padding:12px 14px;border-left:4px solid var(--green2);border-radius:9px;background:#eef8f1;display:grid;gap:3px}.notification-policy span{color:var(--muted);font-size:12px;font-weight:500}
html[data-theme=dark] .notification-popup-totals{background:var(--surface-soft)}html[data-theme=dark] .notification-sections i,html[data-theme=dark] .notification-policy{background:var(--surface-muted);color:#9ed4b4}
@media(max-width:1180px){.notification-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.notification-levels{grid-template-columns:1fr 1fr}.notification-levels article:first-child{grid-column:1/-1}.notification-popup-totals{grid-template-columns:1fr}.notification-popup-totals span{padding:7px 9px}.notification-sections{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.notification-levels,.notification-sections{grid-template-columns:1fr}.notification-levels article:first-child{grid-column:auto}.notification-levels article{min-height:92px}.notification-popup-totals{grid-template-columns:repeat(3,1fr)}.notification-popup-totals span{display:grid;text-align:center}.notification-popup-totals span b{margin:0}.nav .nav-counter{flex:0 0 auto}}
.notification-email-log{margin-top:20px}.notification-email-log table{min-width:860px}.notification-email-log td:last-child{max-width:430px;white-space:normal}.notification-email-log .badge.bad{background:#fde8e5;color:#a92d28}
@media(prefers-reduced-motion:reduce){.nav .nav-counter.tone-urgent,.nav .nav-counter.tone-attention{animation:none}}
