:root{--bg:#eef2f7;--surface:#ffffff;--surface-2:#f2f6fb;--ink:#1b2733;--ink-soft:#6B7374;--ink-faint:#A6ACB4;--primary:#036AAB;--primary-ink:#024E80;--primary-soft:#e4f0f9;--primary-line:#b6d8ee;--line:#d8dfe6;--line-soft:#e8edf2;--ok:#0091D4;--ok-soft:#e0f2fb;--warn:#b06a00;--warn-soft:#fbeed6;--danger:#b0341f;--danger-soft:#f8e0da;--info:#333366;--info-soft:#e7e7f1;--accent:#0091D4;--sidebar:#333366;--radius:10px;--radius-sm:7px;--shadow:0 1px 2px rgba(27,39,51,.06),0 8px 24px rgba(27,39,51,.07);--shadow-sm:0 1px 2px rgba(27,39,51,.08);--mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"Avenir Next","Avenir","Nunito Sans","IBM Plex Sans",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:14px;color:var(--ink)}a{color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c4d0da;border-radius:20px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}#login{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--bg);z-index:100}.login-brand{flex:1;background:linear-gradient(150deg,#243049,#036aab 62%,#0091d4);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:#ffffff0d}.login-brand:before{content:"";position:absolute;right:60px;top:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff0a}.lb-top{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;z-index:1}.lb-mid{z-index:1}.lb-mid h1{font-size:38px;font-weight:600;line-height:1.15;letter-spacing:-.02em;max-width:12ch}.lb-mid p{margin-top:18px;font-size:15px;opacity:.9;max-width:42ch;line-height:1.6}.lb-suite{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap;z-index:1}.lb-chip{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:#ffffff0f}.lb-chip.on{background:#fff;color:var(--primary-ink);border-color:#fff;font-weight:600}.lb-foot{font-family:var(--mono);font-size:11px;letter-spacing:.08em;opacity:.7;z-index:1}.login-panel{width:440px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;padding:56px 48px}.login-panel h2{font-size:22px;font-weight:600;letter-spacing:-.01em}.login-panel .sub{color:var(--ink-soft);margin:6px 0 30px;font-size:13.5px}.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;letter-spacing:.01em}.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field textarea{resize:vertical;min-height:74px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.role-opt{border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;text-align:left;transition:.15s}.role-opt:hover{border-color:var(--primary-line);background:var(--surface-2)}.role-opt.on{border-color:var(--primary);background:var(--primary-soft)}.role-opt .r-name{font-weight:600;font-size:13px}.role-opt .r-desc{font-size:11px;color:var(--ink-soft);margin-top:2px}.btn-primary{width:100%;background:var(--primary);color:#fff;padding:12px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:background .15s}.btn-primary:hover{background:#024e80}#app{display:none;height:100vh;overflow:hidden}.shell{display:flex;height:100vh}.sidebar{width:246px;background:#336;color:#d3d6ea;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sb-brand{padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:11px}.sb-logo{width:34px;height:34px;border-radius:8px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sb-logo svg{width:20px;height:20px}.sb-brand .t1{font-weight:700;font-size:14px;color:#fff;letter-spacing:-.01em;line-height:1.1}.sb-brand .t2{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#9a9cc2;text-transform:uppercase;margin-top:2px}.sb-nav{padding:12px 12px 30px;flex:1}.sb-group{margin-top:16px}.sb-group-t{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a8cb4;padding:0 10px 7px}.sb-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:7px;font-size:13.5px;color:#c6c8e0;transition:.13s;position:relative;width:100%;text-align:left}.sb-item:hover{background:#ffffff0f;color:#fff}.sb-item.on{background:var(--primary);color:#fff;font-weight:600}.sb-item svg{width:17px;height:17px;flex-shrink:0;opacity:.9}.sb-item .badge{margin-left:auto;background:var(--accent);color:#fff;font-size:10px;font-weight:700;font-family:var(--mono);padding:1px 6px;border-radius:20px}.sb-item.on .badge{background:#ffffff40}.sb-user{padding:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.sb-ava{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.sb-user .u-name{font-size:13px;font-weight:600;color:#fff}.sb-user .u-role{font-size:11px;color:#9a9cc2;font-family:var(--mono)}.sb-logout{margin-left:auto;color:#9a9cc2;padding:6px;border-radius:6px}.sb-logout:hover{background:#ffffff14;color:#fff}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 26px;gap:16px;flex-shrink:0}.tb-title h1{font-size:17px;font-weight:600;letter-spacing:-.01em}.tb-title .crumb{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.05em}.tb-search{margin-left:auto;position:relative}.tb-search input{width:230px;padding:8px 12px 8px 34px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2);outline:none;transition:.15s}.tb-search input:focus{border-color:var(--primary);background:#fff;width:280px}.tb-search svg{position:absolute;left:11px;top:9px;width:15px;height:15px;color:var(--ink-faint)}.tb-bell{position:relative;padding:8px;border-radius:8px;color:var(--ink-soft)}.tb-bell:hover{background:var(--surface-2)}.tb-bell .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--danger);border-radius:50%;border:1.5px solid #fff}.content{flex:1;overflow-y:auto;padding:24px 26px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-head .ph-l h2{font-size:20px;font-weight:600;letter-spacing:-.01em}.page-head .ph-l p{color:var(--ink-soft);font-size:13px;margin-top:3px}.page-head .ph-r{display:flex;gap:9px}.btn{padding:9px 15px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:7px;transition:.15s;border:1px solid transparent;white-space:nowrap}.btn svg{width:15px;height:15px}.btn.solid{background:var(--primary);color:#fff}.btn.solid:hover{background:#024e80}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--primary-line);background:var(--surface-2)}.btn.sm{padding:6px 11px;font-size:12px}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.danger:hover{background:#f2cec5}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden}.stat .s-top{display:flex;align-items:center;justify-content:space-between}.stat .s-label{font-size:12px;color:var(--ink-soft);font-weight:500}.stat .s-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center}.stat .s-ic svg{width:16px;height:16px}.stat .s-val{font-size:27px;font-weight:700;letter-spacing:-.02em;margin-top:10px;font-variant-numeric:tabular-nums}.stat .s-val small{font-size:14px;color:var(--ink-soft);font-weight:500}.stat .s-sub{font-size:11.5px;color:var(--ink-faint);margin-top:3px;font-family:var(--mono)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.panel-head{padding:14px 18px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{font-size:14.5px;font-weight:600}.panel-head .p-sub{font-size:12px;color:var(--ink-soft)}.panel-body{padding:18px}.panel-body.flush{padding:0}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:11px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}tbody td{padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:13px;vertical-align:middle}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}tbody tr:last-child td{border-bottom:none}.plate{background:linear-gradient(135deg,#075985,#0369a1);color:#fff;border:1px solid rgba(125,211,252,.24);box-shadow:0 1px 2px #0369a138;font-family:var(--mono);font-weight:600;font-size:12.5px;letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:100px;flex-shrink:0;padding:0 11px;border-radius:5px;line-height:1;white-space:nowrap;vertical-align:middle}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;font-family:var(--mono);letter-spacing:.02em;white-space:nowrap}.tag.ok{background:var(--ok-soft);color:var(--primary-ink)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.tag.info{background:var(--info-soft);color:var(--info)}.tag.neutral{background:var(--surface-2);color:var(--ink-soft)}.tag .tdot{width:6px;height:6px;border-radius:50%;background:currentColor}.usage{min-width:130px}.usage-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;margin-bottom:4px}.usage-top .u-cur{font-weight:600}.usage-bar{height:6px;background:var(--line);border-radius:20px;overflow:hidden;position:relative}.usage-fill{height:100%;border-radius:20px;background:var(--primary);transition:width .5s}.usage-fill.over{background:var(--danger)}.usage-lbl{font-size:10.5px;color:var(--ink-faint);margin-top:3px;font-family:var(--mono)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.chip-f{padding:6px 12px;border:1px solid var(--line);background:var(--surface);border-radius:20px;font-size:12.5px;font-weight:500;color:var(--ink-soft);transition:.13s}.chip-f:hover{border-color:var(--primary-line)}.chip-f.on{background:var(--primary);color:#fff;border-color:var(--primary)}.mini-search{margin-left:auto;position:relative}.mini-search input{padding:7px 12px 7px 30px;border:1px solid var(--line);border-radius:20px;width:200px;outline:none;background:var(--surface)}.mini-search input:focus{border-color:var(--primary)}.mini-search svg{position:absolute;left:10px;top:8px;width:14px;height:14px;color:var(--ink-faint)}.veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.veh-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;transition:.15s;cursor:pointer}.veh-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow);transform:translateY(-1px)}.vc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vc-mid{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vc-ic{width:42px;height:42px;border-radius:9px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vc-ic svg{width:23px;height:23px;color:var(--ink-soft)}.vc-name{font-weight:600;font-size:14px}.vc-sub{font-size:12px;color:var(--ink-soft)}.vc-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;font-size:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.vc-meta .m-k{color:var(--ink-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.vc-meta .m-v{font-weight:500;margin-top:1px}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f192166;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-back.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100vh;width:560px;max-width:94vw;background:var(--bg);z-index:201;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 30px #00000029}.drawer.on{transform:translate(0)}.drawer-head{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 22px;display:flex;align-items:flex-start;gap:14px;flex-shrink:0}.drawer-head .dh-close{margin-left:auto;padding:6px;border-radius:7px;color:var(--ink-soft)}.drawer-head .dh-close:hover{background:var(--surface-2)}.drawer-body{flex:1;overflow-y:auto;padding:20px 22px}.drawer-tabs{display:flex;gap:2px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 22px}.d-tab{padding:11px 14px;font-size:13px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;transition:.13s}.d-tab:hover{color:var(--ink)}.d-tab.on{color:var(--primary);border-bottom-color:var(--primary)}.kv{display:grid;grid-template-columns:150px 1fr;gap:11px 14px;font-size:13px}.kv .k{color:var(--ink-soft);font-weight:500}.kv .v{font-weight:500}.sec-t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:20px 0 11px;font-weight:600}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-item{position:relative;padding-bottom:18px}.tl-item:before{content:"";position:absolute;left:-22px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2.5px solid var(--primary)}.tl-item.multa:before{border-color:var(--danger)}.tl-item.manut:before{border-color:var(--warn)}.tl-item.abast:before{border-color:var(--info)}.tl-item.realoc:before{border-color:var(--accent)}.tl-date{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.tl-title{font-weight:600;font-size:13.5px;margin:2px 0}.tl-desc{font-size:12.5px;color:var(--ink-soft)}.tl-km{font-family:var(--mono);font-size:11px;background:var(--surface-2);padding:1px 7px;border-radius:5px;color:var(--ink-soft);margin-left:6px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f192173;z-index:300;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.modal-back.on{display:flex}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:560px;box-shadow:0 20px 60px #00000040;animation:pop .2s}.modal.wide{max-width:760px}@keyframes pop{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h3{font-size:16px;font-weight:600}.modal-head .m-close{padding:5px;border-radius:6px;color:var(--ink-soft)}.modal-head .m-close:hover{background:var(--surface-2)}.modal-body{padding:22px;max-height:64vh;overflow-y:auto}.modal-foot{padding:15px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:var(--surface-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.cl-builder{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:8px}.cl-item .grip{color:var(--ink-faint);cursor:grab}.cl-item .ci-txt{flex:1;font-size:13px}.cl-item .ci-type{font-family:var(--mono);font-size:10.5px;padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--ink-soft)}.cl-item .ci-del{color:var(--ink-faint);padding:4px}.cl-item .ci-del:hover{color:var(--danger)}.tmpl-card{border:1px solid var(--line);border-radius:var(--radius);padding:15px;background:var(--surface);transition:.15s}.tmpl-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow-sm)}.tmpl-badge{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:11px}.tmpl-badge svg{width:20px;height:20px}.run-item{padding:14px 0;border-bottom:1px solid var(--line-soft)}.run-item:last-child{border-bottom:none}.run-q{font-weight:500;font-size:14px;margin-bottom:9px}.run-opts{display:flex;gap:8px}.run-opt{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:.13s;flex:1;text-align:center}.run-opt:hover{border-color:var(--primary-line)}.run-opt.sel-ok{background:var(--ok-soft);border-color:var(--ok);color:var(--primary-ink)}.run-opt.sel-nok{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.run-opt.sel-na{background:var(--surface-2);border-color:var(--ink-faint);color:var(--ink-soft)}.empty{text-align:center;padding:50px 20px;color:var(--ink-faint)}.empty svg{width:44px;height:44px;margin-bottom:12px;opacity:.5}.empty p{font-size:14px}.hint-box{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:var(--radius-sm);padding:12px 14px;font-size:12.5px;color:var(--primary-ink);display:flex;gap:10px;margin-bottom:18px}.hint-box svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.hint-box.warn{background:var(--warn-soft);border-color:#eccf9e;color:var(--warn)}.hint-box.alerta-uso-severo{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 20px;line-height:1.5}.alerta-uso-severo-titulo{flex-shrink:0;background:transparent;border:0;padding:0;font-family:inherit;font-weight:700}.alerta-uso-severo-texto{flex:1;min-width:0;overflow-wrap:anywhere}@media (max-width:760px){.hint-box.alerta-uso-severo{flex-wrap:wrap}.alerta-uso-severo-titulo,.alerta-uso-severo-texto{flex-basis:100%}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;font-size:13.5px;font-weight:500;z-index:500;opacity:0;transition:.25s;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px #00000040}.toast.on{transform:translate(-50%) translateY(0);opacity:1}.toast svg{width:17px;height:17px;color:#5bb0e6}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.split-3{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width:1080px){.split-2,.split-3,.cl-builder{grid-template-columns:1fr}}.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.bar-row .bl{width:150px;font-size:12.5px;font-weight:500;flex-shrink:0}.bar-row .bt{flex:1;height:22px;background:var(--surface-2);border-radius:6px;overflow:hidden;position:relative}.bar-row .bf{height:100%;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:11px;font-weight:600;font-family:var(--mono);min-width:34px}.bar-row .bv{width:70px;text-align:right;font-family:var(--mono);font-size:12.5px;font-weight:600}.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.boot{display:grid;place-items:center;min-height:100vh;color:var(--ink-soft);font-family:var(--sans)}.sidebar{display:flex;flex-direction:column;background:var(--sidebar);color:#d3d6ea;border-right:1px solid rgba(255,255,255,.06);padding:16px 12px;gap:8px}.side-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:40px;height:40px;border-radius:11px;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.brand-mark svg{width:22px;height:22px}.brand-mark.sm{width:34px;height:34px}.brand-mark.sm svg{width:19px;height:19px}.brand-name{font-weight:700;color:#fff;font-size:15px;letter-spacing:-.01em}.brand-sub{font-size:12px;color:#9a9cc2}.side-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.nav-grp{display:flex;flex-direction:column;gap:2px}.nav-grp-t{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#8a8cb4;padding:6px 10px 2px;font-weight:600}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-sm);border:none;background:transparent;color:#c6c8e0;font-family:var(--sans);font-size:13.5px;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item.on{background:var(--primary);color:#fff;font-weight:600}.side-foot{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;display:flex;flex-direction:column;gap:9px}.side-user{display:flex;align-items:center;gap:10px;padding:2px 6px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}.su-name{font-size:13px;font-weight:600;color:#fff}.su-role{font-size:11.5px;color:#9a9cc2;text-transform:capitalize}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--surface)}.tb-crumb{font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.tb-title{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin:2px 0 0}.content{padding:24px 28px 60px;max-width:1180px;width:100%}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,var(--primary-soft),var(--bg));font-family:var(--sans)}.login-card{width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 28px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-form{display:flex;flex-direction:column;gap:7px}.login-form label{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-top:8px}.login-form input{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--sans);font-size:14px;background:var(--surface);color:var(--ink)}.login-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.login-erro{color:var(--danger);font-size:12.5px;margin-top:4px}.login-hint{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin:10px 0 0}.btn.full{width:100%;justify-content:center;margin-top:14px}.stat{display:flex;align-items:flex-start;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.stat-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.stat-ic svg{width:20px;height:20px}.stat-ic.ok{background:var(--ok-soft);color:var(--ok)}.stat-ic.warn{background:var(--warn-soft);color:var(--warn)}.stat-ic.danger{background:var(--danger-soft);color:var(--danger)}.stat-ic.info{background:var(--info-soft);color:var(--info)}.stat-body{display:flex;flex-direction:column;flex:1;align-items:flex-start;gap:3px;text-align:left}.stat-val{width:100%;min-height:28px;font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:28px}.stat-lbl{width:100%;min-height:18px;font-size:12.5px;color:var(--ink-soft);line-height:18px;overflow-wrap:anywhere}.stat-sub{width:100%;min-height:16px;font-size:11px;color:var(--ink-faint);line-height:16px;overflow-wrap:anywhere}.usage{margin:9px 0}.usage-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin-bottom:4px}.usage-track{height:7px;border-radius:99px;background:var(--bg);overflow:hidden;border:1px solid var(--line-soft)}.usage-fill{height:100%;border-radius:99px;transition:width .3s ease}.usage-fill.ok{background:var(--ok)}.usage-fill.warn{background:var(--warn)}.usage-fill.danger{background:var(--danger)}.veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.veh-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--sans);transition:box-shadow .14s,border-color .14s}.veh-card:hover{box-shadow:var(--shadow);border-color:var(--primary-line)}.vc-top{display:flex;align-items:center;gap:11px}.vc-ic{width:40px;height:40px;border-radius:11px;background:var(--primary-soft);color:var(--primary-ink);display:grid;place-items:center;flex-shrink:0}.vc-ic svg{width:21px;height:21px}.vc-ic.lg{width:46px;height:46px}.vc-id{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.vc-model{font-size:12.5px;color:var(--ink-soft)}.vc-meta{display:flex;justify-content:space-between;margin:11px 0 3px;font-size:12.5px}.dh-title{font-size:17px;font-weight:600;color:var(--ink)}.alert-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.alert-row:last-child{border-bottom:none}.alert-bars{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;min-width:0}.lnk{color:var(--primary);font-weight:600;cursor:pointer;font-family:var(--mono)}.lnk:hover{text-decoration:underline}.chk{display:flex;align-items:center;gap:9px;font-weight:500!important}.chk input{width:auto!important}.small{font-size:12px}.empty{padding:40px;text-align:center;color:var(--ink-soft);font-family:var(--sans)}.auth{display:grid;grid-template-columns:1fr 460px;min-height:100vh;font-family:var(--sans)}.auth-hero{position:relative;color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(120deg,#121a2c9e,#121a2cd6),url(/login-bg.jpg) center/cover}.auth-hero-top{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cfd6e6}.auth-hero-mid h1{font-size:40px;font-weight:800;line-height:1.05;letter-spacing:-.02em;max-width:9ch}.auth-hero-mid p{margin-top:16px;max-width:46ch;color:#d6dcea;line-height:1.6;font-size:15px}.auth-chips{display:flex;gap:8px;margin-top:22px}.auth-chips span{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em}.auth-chips span.on{background:#fff;color:#024e80;border-color:#fff;font-weight:700}.auth-hero-foot{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:#aab3c8}.auth-form{background:var(--surface);display:flex;flex-direction:column;justify-content:center;padding:56px 48px}.auth-form h2{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.auth-form .sub{color:var(--ink-soft);margin:6px 0 26px;font-size:13.5px}.auth-form label{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:10px 0 4px}.auth-form input{padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--sans);font-size:14px;color:var(--ink)}.auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.auth-erro{color:var(--danger);font-size:12.5px;margin-top:10px}.auth-hint{font-size:11.5px;color:var(--ink-faint);margin-top:14px;line-height:1.5}.btn.full{width:100%;justify-content:center;margin-top:18px}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-hero{display:none}}.side-brand{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:14px}.side-logo{width:152px;height:auto;display:block}.side-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#9a9cc2;margin-top:7px;padding-left:2px}.nav-grp-t{color:#8a8cb4}.nav-item{color:#c6c8e0}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.on{background:var(--primary);color:#fff}.su-name{color:#fff}.su-role,.brand-sub{color:#9a9cc2}.brand-name{color:#fff}.app{grid-template-columns:264px minmax(0,1fr);height:100dvh;min-height:0}.sidebar{width:100%;min-height:0;background:linear-gradient(180deg,#02233f,#01192f 52%,#000f20);color:#f8fafc}.side-brand{flex-direction:column;align-items:flex-start}.side-sub,.nav-grp-t,.su-role,.nav-item{color:#f8fafc}.nav-item:hover{background:#38bdf824}.nav-item.on{background:#0ea5e947;box-shadow:inset 3px 0 #38bdf8}.side-toggle{display:flex;gap:10px;align-items:center;padding:8px;color:#fff;border-radius:7px}.side-toggle:hover{background:#38bdf824}.side-toggle svg{width:20px;height:20px;transform:rotate(180deg)}.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-collapsed .side-toggle svg{transform:none}.sidebar-collapsed .side-toggle span,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-grp-t,.sidebar-collapsed .side-brand,.sidebar-collapsed .su-info{display:none}.sidebar-collapsed .nav-item{justify-content:center;min-height:42px}.sidebar-collapsed .side-user{justify-content:center;padding:0}.mobile-menu,.mobile-close{display:none}.main,.content,.panel,.panel-body,.field,.stat-body,.ph-l{min-width:0}.main{height:100%}.content{max-width:none;overflow-y:auto;overflow-x:clip}.topbar{height:auto;min-height:68px;justify-content:flex-start}.topbar>div{min-width:0}.page-head .ph-r,.panel-head,.modal-foot,.run-opts,.auth-chips{flex-wrap:wrap}.panel-body:has(>table){overflow-x:auto}table{min-width:520px}.kv,.vc-meta,.vc-model,.ph-l p,.modal-body{overflow-wrap:anywhere}.veh-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.cards-row{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f192180;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px}body:has(.modal-wrap) #nl-badge-frame,body:has(.menu-open) #nl-badge-frame{visibility:hidden!important;pointer-events:none!important}.modal{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);min-width:0;min-height:0;outline:none}.modal-head,.modal-foot{flex-shrink:0;gap:12px}.modal-head h3{overflow-wrap:anywhere}.modal-body{min-height:0;max-height:none;overflow-y:auto}.dh-close{padding:6px;border-radius:6px;flex-shrink:0}.dh-close svg{width:20px;height:20px}.modal .drawer-body{padding:16px 0 0;overflow:visible}.modal .drawer-head{padding:0 0 16px}.toast.show{opacity:1;transform:translate(-50%);max-width:calc(100vw - 32px);overflow-wrap:anywhere}.form-error{color:var(--danger);background:var(--danger-soft);padding:10px;margin-bottom:12px;border-radius:7px}.checklist-editor-row{display:grid;grid-template-columns:24px minmax(0,1fr) 160px auto auto;gap:8px;align-items:center;margin-bottom:12px}.checklist-editor-row input,.checklist-editor-row select,.run-item>input{min-width:0;max-width:100%;padding:9px;border:1px solid var(--line);border-radius:7px}.checklist-editor-row .chk{font-size:12px}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (max-width: 1024px){.content{padding:20px 18px 40px}.topbar{padding:12px 18px}.alert-bars{grid-template-columns:1fr}}@media (max-width: 760px){.app,.app.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;z-index:251;transform:translate(-100%);visibility:hidden;transition:transform .2s}.menu-open .sidebar{transform:none;visibility:visible}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#0f192180}.mobile-menu,.mobile-close{display:inline-flex}.mobile-close{align-self:flex-end;padding:8px}.mobile-close svg{width:20px;height:20px}.side-toggle{display:none}.sidebar-collapsed .side-brand,.sidebar-collapsed .su-info,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-grp-t{display:flex}.sidebar-collapsed .nav-item,.sidebar-collapsed .side-user{justify-content:flex-start}.content{padding:16px 12px 36px}.tb-title{font-size:17px}.form-grid,.split-2,.split-3,.cl-builder{grid-template-columns:minmax(0,1fr)}.modal-wrap{padding:10px}.modal{max-height:calc(100dvh - 20px)}.modal-head,.modal-body,.modal-foot{padding:14px}.modal-foot .btn{white-space:normal}.kv{grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:10px}.checklist-editor-row{grid-template-columns:24px minmax(0,1fr) auto}.checklist-editor-row select,.checklist-editor-row .chk{grid-column:2}.checklist-editor-row>button{grid-column:3;grid-row:1}.run-opt{min-width:100px;padding:8px}.auth-form{padding:32px 20px}.bar-row{gap:6px;flex-wrap:wrap}.bar-row .bl{width:100%}.alert-row{flex-wrap:wrap}.btn{white-space:normal}.login-card{width:min(380px,calc(100vw - 24px))}}.control-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;align-items:end}.control-filters .field,.allocation-controls .field{margin:0}.control-filters .field span,.allocation-controls .field span{font-size:12px;color:var(--ink-soft)}.vehicle-table{min-width:1320px}.sort-button{text-align:inherit;font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.account-panel{max-width:600px}.pagination{justify-content:flex-end}.allocation-scroll{max-width:100%;max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.allocation-matrix{width:max-content;border-collapse:separate;border-spacing:0;min-width:100%}.allocation-matrix th,.allocation-matrix td{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-width:150px;padding:5px}.allocation-matrix thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:center;height:40px}.allocation-matrix th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);min-width:230px;max-width:230px;padding:12px;text-align:left}.allocation-matrix thead th:first-child{z-index:3;background:var(--surface-2)}.allocation-cell{width:100%;min-height:74px;border:0;border-left:3px solid transparent;border-radius:5px;text-align:left;padding:8px;font-size:12px;cursor:pointer}.allocation-cell span,.allocation-cell small{display:block}.allocation-cell span+span{margin-top:6px;border-top:1px solid rgba(0,0,0,.1);padding-top:6px}.allocation-cell small{color:var(--ink-soft);font-size:10px;margin-top:4px}.allocation-cell.allocated,.allocation-swatch.allocated{background:#dcebf0;border-color:#17617a}.allocation-cell.idle,.allocation-swatch.idle{background:repeating-linear-gradient(135deg,#faf9f5,#faf9f5 6px,#eeeae1 6px,#eeeae1 11px);color:#756f62;text-align:center}.allocation-cell.maintenance,.allocation-swatch.maintenance{background:#fff0d2;border-color:#b68122}.allocation-cell.conflict,.allocation-swatch.conflict{background:#fae1df;border-color:#bd5147}.allocation-cell:hover{outline:2px solid var(--primary);outline-offset:-2px}.allocation-legend{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0;font-size:12px}.allocation-legend span{display:flex;gap:6px;align-items:center}.allocation-swatch{display:inline-block;width:20px;height:14px;border-left:3px solid transparent;border-radius:3px}.period-detail{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px}@media (max-width:600px){.control-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation-matrix th:first-child{min-width:180px;max-width:180px}.allocation-controls .field{flex:1;min-width:120px}}.veh-grid,.cards-row{align-items:stretch;grid-auto-rows:1fr}.veh-card{display:flex;flex-direction:column;height:100%;min-height:210px}.veh-card .vc-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:76px;margin-bottom:0}.veh-card .vc-top>.tag{justify-self:end;min-height:26px;margin-top:2px}.veh-card .vc-id{gap:6px}.vc-id>.plate{align-self:flex-start}.veh-card .vc-model{line-height:1.4;height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.veh-card .vc-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-height:50px;margin:12px 0 4px;padding-top:12px}.veh-card .vc-meta>.mono{white-space:nowrap;text-align:right}.veh-card .usage{margin-top:10px;margin-bottom:0}.checklist-card{min-height:224px}.checklist-card .vc-top{grid-template-columns:40px minmax(0,1fr) 78px;min-height:112px}.checklist-card .vc-top>.tag{width:78px;justify-content:center}.card-title{font-weight:600;line-height:1.35;min-height:4.05em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.checklist-description{border-top:1px solid var(--line-soft);padding-top:12px;margin-top:12px;color:var(--ink-soft);font-size:12.5px;line-height:1.5;min-height:5.5em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;color:var(--primary-ink);font-size:12px;font-weight:600}.stat{min-height:104px}.stat-val{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.page-head{align-items:center}.page-head .ph-r{align-items:center;justify-content:flex-end}.page-head .ph-r,.page-head>.btn{flex-shrink:0;max-width:100%}.btn:not(.sm){min-height:40px;justify-content:center}table th,table td{padding-left:14px;padding-right:14px}th.col-number,td.col-number{min-width:100px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th.col-plate,td:has(>.plate){width:128px;min-width:128px;white-space:nowrap}th.col-status,td.col-status{min-width:120px}th.col-project,td.col-project{min-width:180px}th.col-actions,td.col-actions{min-width:155px;text-align:right;white-space:nowrap}.panel-head h3{min-width:0;overflow-wrap:anywhere}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.form-grid .field{margin-bottom:0}.field label{min-height:18px;line-height:1.5}.field input:not([type=checkbox]),.field select,.checklist-editor-row input:not([type=checkbox]),.checklist-editor-row select,.run-item>input{height:42px;min-width:0;max-width:100%}.field textarea{min-height:100px}.checklist-editor-row,.drawer-head{align-items:center}.alert-row{display:grid;grid-template-columns:100px minmax(0,200px) minmax(0,1fr)}.alert-row>.muted{min-width:0!important;overflow-wrap:anywhere}.alert-bars{grid-template-columns:repeat(2,minmax(0,1fr))}.veh-card .vc-meta>.muted{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.bar-row .bl{min-width:0;overflow-wrap:anywhere}.bar-row .bt{min-width:0}.bar-row .bv{width:auto;min-width:120px;flex-shrink:0;font-variant-numeric:tabular-nums}@media (max-width:760px){.alert-row{grid-template-columns:100px minmax(0,1fr)}.alert-row>div{grid-column:1 / -1}.alert-bars,.form-grid{grid-template-columns:minmax(0,1fr)}.page-head .ph-r{justify-content:flex-start;width:100%}.page-head .ph-r .btn{flex:1 1 auto}.veh-card .vc-meta{min-height:50px}}@media (max-width:360px){.veh-card .vc-top{gap:8px;grid-template-columns:34px minmax(0,1fr) auto}.veh-card .vc-ic{width:34px;height:34px}.checklist-card .vc-top{grid-template-columns:34px minmax(0,1fr) 78px}.veh-card{padding:14px 12px}}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.fleet-project-table{table-layout:fixed;width:100%;min-width:940px}.request-table{table-layout:fixed;width:100%;min-width:1330px}.fleet-project-table th,.fleet-project-table td,.request-table th,.request-table td{vertical-align:middle;overflow-wrap:anywhere;padding:13px 16px}.fleet-project-table .col-number{text-align:right;white-space:nowrap}.status-button{cursor:pointer;font:inherit;font-size:12px;border:1px solid transparent;white-space:nowrap}.status-button:focus-visible,.status-menu button:focus-visible{outline:2px solid #176b80;outline-offset:3px}.status-button:disabled{cursor:wait;opacity:.65}.status-menu{position:fixed;z-index:400;width:220px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px;border:1px solid #dbe3e9;border-radius:10px;background:#fff;box-shadow:0 8px 28px #152d4140}.status-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px;border:0;border-radius:6px;background:transparent;cursor:pointer}.status-menu button:hover,.status-menu button[aria-checked=true]{background:#eef5f7}.request-counts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0 18px;color:#5c6974}.request-link-note{display:block;margin-top:8px}.kanban-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:12px}.request-kanban{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:16px;min-width:1100px;align-items:start}.kanban-column{min-width:0;padding:12px;background:#e8eef2;border:1px solid #d6dfe6;border-radius:10px}.kanban-column h3{display:flex;justify-content:space-between;margin:0 0 14px;font-size:14px}.request-card{min-width:0;background:#fff;border:1px solid #d8e1e7;border-radius:9px;padding:14px;margin-bottom:12px;overflow-wrap:anywhere}.request-card h4{margin:12px 0 8px}.request-card .btn{display:block;margin-top:12px}.request-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.request-timeline{padding-left:22px}.request-timeline li{margin:16px 0;padding-left:4px}.topbar{flex-shrink:0}.content{min-height:0}.event-fields{border:0;margin:0;padding:0;min-width:0}.event-fields output{display:block}.event-fields output+small{display:block;margin-top:6px}
