:root{
  --navy:#f8fafc;
  --blue:#ef1b2d;
  --sky:#181f33;
  --bg:#020617;
  --text:#e5eaf3;
  --muted:#8d9ab0;
  --line:#202b42;
  --green:#10b981;
  --amber:#f59e0b;
  --red:#ef4444;
  --white:#0f172a;
  --surface:#0f172a;
  --surface-soft:#111a2e;
  --surface-deep:#030817;
  --shadow:0 18px 45px rgba(0,0,0,.22);
}

body{color:var(--text);background:var(--bg)}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 85% 0,rgba(30,64,175,.10),transparent 32rem),radial-gradient(circle at 10% 85%,rgba(239,27,45,.055),transparent 28rem)}
.top{height:72px;padding:0 32px;background:#0d1629;border-color:var(--line);box-shadow:0 8px 30px rgba(0,0,0,.14)}
.brand{color:#f8fafc}.brand span,.auth-mark{background:linear-gradient(145deg,#ff2538,#d90018);border-radius:7px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(239,27,45,.22)}
.company-identity{color:#aeb9ca}.company-identity img{background:#fff;border-radius:8px}.user{color:#cbd5e1}.user a{padding:8px 14px;border:1px solid #354158;border-radius:20px;color:#e9edf5;background:#172136}.user a:hover{border-color:#ef1b2d;color:#fff}
.shell{display:block;min-height:calc(100vh - 72px)}
aside{position:sticky;top:72px;z-index:4;padding:14px 32px;background:#050a19;border-bottom:1px solid #182239;overflow-x:auto}
nav{display:flex;align-items:center;gap:8px;max-width:1430px;margin:auto;white-space:nowrap}
nav>a,.nav-group summary{min-height:38px;padding:9px 14px;border:1px solid #202b42;border-radius:18px;background:#111a2e;color:#aeb9ca}
nav>a:hover,nav>a.active,.nav-group summary:hover,.nav-group summary.active{background:#ef1b2d;border-color:#ef1b2d;color:#fff;box-shadow:0 8px 20px rgba(239,27,45,.18)}
nav i,.nav-group summary i{width:auto;color:inherit;font-size:15px}.nav-group{position:relative}.nav-group summary{list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{margin-left:8px}.nav-submenu{position:absolute;top:calc(100% + 9px);left:0;z-index:20;min-width:220px;margin:0;padding:8px;gap:4px;border:1px solid var(--line);border-radius:12px;background:#0f172a;box-shadow:var(--shadow)}.nav-submenu a{padding:10px 12px;border-radius:8px;color:#aeb9ca}.nav-submenu a:hover,.nav-submenu a.active{background:#1a2439;color:#fff}
main{max-width:1500px;padding:32px}
h1,h2,h3{color:#f8fafc}h1{font-size:30px;letter-spacing:-.025em}h2{letter-spacing:-.01em}p{color:var(--muted)}
.page-head{padding-bottom:4px}.page-head>div>p{margin-top:5px}
.card,.stats article,.trip-card,.driver-current-trip{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.card{border-radius:17px}.stats{gap:16px}.stats article{position:relative;overflow:hidden;border-radius:16px}.stats article:after{content:"";position:absolute;right:-28px;bottom:-38px;width:100px;height:100px;border:1px solid rgba(239,27,45,.10);border-radius:50%}.stats i{background:#151d32;color:#ff3345;border:1px solid #3a1d2b}.stats strong{color:#f8fafc;font-family:Consolas,"Courier New",monospace;letter-spacing:.02em}.stats span{color:#9ba8bc;text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:.055em}
.btn{border-color:#334057;border-radius:20px;background:#151f34;color:#dce3ed}.btn:hover{border-color:#58657a;background:#1b2740}.btn.primary{border-color:#ef1b2d;background:linear-gradient(135deg,#ff2437,#e00019);box-shadow:0 8px 22px rgba(239,27,45,.2)}
.form-grid label,.inspection-checklist legend{color:#cbd5e1}.form-grid input,.form-grid select,.form-grid textarea,.trip-filters input,.trip-filters select,.compact-action input,.compact-action select,.destination-search{border-color:#26334a;background:#050a19;color:#e5eaf3;border-radius:10px}.form-grid input::placeholder,.form-grid textarea::placeholder,.destination-search::placeholder{color:#637087}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(239,27,45,.12);border-color:#ef1b2d}
.table-card{border-radius:17px}th{background:#111a2e;color:#8795ab;border-bottom:1px solid var(--line)}td{border-color:#1a253a}tbody tr:hover{background:#111a2e}td small{color:var(--muted)}
.badge.ok{background:rgba(16,185,129,.12);color:#34d399;border:1px solid rgba(16,185,129,.2)}.badge.warn{background:rgba(245,158,11,.11);color:#fbbf24;border:1px solid rgba(245,158,11,.19)}.badge.muted{background:#182238;color:#aab5c6;border:1px solid #29364c}.link,.button-link{color:#ff4b5c}
.alert.success{background:#092c26;color:#6ee7b7;border:1px solid #145443}.alert.error{background:#32131d;color:#fda4af;border:1px solid #652135}
.auth-card{background:#0f172a;border-color:#26334a;box-shadow:0 28px 80px rgba(0,0,0,.42)}.login-main{background:radial-gradient(circle at 50% 10%,#17223a 0,#070c1b 42%,#020617 100%)}
.workshop-service>summary:hover,.workshop-service[open]>summary{background:#111a2e}.workshop-service-body{background:#090f20}.workshop-service,.workshop-order-tools{border-color:var(--line)}.workshop-service-open{color:#ff4b5c}
.maintenance-history-search input{border-color:#26334a;background:#050a19;color:#e5eaf3}.maintenance-history-search input:focus{outline:3px solid rgba(239,27,45,.12);border-color:#ef1b2d}.maintenance-history-sheet{background:#090f20}.maintenance-history-sheet dl>div{background:#111a2e}.maintenance-history-sheet h3{color:#f8fafc}
.maintenance-inspection-head h4,.maintenance-inspection-empty h4{color:#f8fafc}.maintenance-inspection-gallery figure{border-color:#2a364c;background:#111a2e}
.dashboard-stat-link:hover article{border-color:#ef1b2d!important;box-shadow:0 14px 34px rgba(0,0,0,.3)!important}.ranking-position{background:#251523;color:#ff5363}.ranking-row>div>span{background:#1d273b}.ranking-row>div>span i{background:#ef1b2d}.compact-table{border-color:var(--line)}
.inspection-checklist,.inspection-gallery figure,.logo-preview img{border-color:#2a364c;background:#0a1020}.inspection-summary>div{background:#111a2e}.selected-vehicle{border-color:#17634e;background:#0a2923}.selected-vehicle strong{color:#f8fafc}.scan-box{border-color:#3a485f;background:#0d1528}.scanner-frame{background:#020617}.destination-results{background:#0f172a;border-color:#334057}.destination-results button{background:#0f172a;border-color:#202b42;color:#dce3ed}.destination-results button:active{background:#1a253c}
.driver-vehicle{background:linear-gradient(135deg,#111a2e,#17223a)}.driver-trip-details dd{color:#e5eaf3}.driver-trip-details div,.driver-trip-actions{border-color:#202b42}.fixed-driver{background:#111a2e!important;color:#9ca9bd!important}
.driver-fuel-status.approved{border-color:#17634e;background:#0a2923;color:#6ee7b7}.driver-fuel-status.pending{border-color:#684716;background:#2b210d;color:#fbbf24}.fuel-request-panel{border-color:#684716}.fuel-request-list article{border-color:#26334a;background:#0b1325}
.driver-wizard-progress span{border-color:#334057;background:#0f172a}.driver-wizard-progress>div:before,.driver-wizard-actions{border-color:#26334a}.driver-wizard-progress>div:before{background:#26334a}.driver-wizard-step>header h3{color:#f8fafc}
dialog{background:#0f172a;color:#e5eaf3;border:1px solid #28354c}dialog::backdrop{background:rgba(0,3,12,.82)}

@media(max-width:950px){aside{padding:12px 18px}nav a,nav a.active,.nav-group summary{justify-content:center;font-size:13px}nav a:not(.active){font-size:13px}.nav-group summary i,nav i{font-size:14px}.shell{grid-template-columns:1fr}}
@media(max-width:650px){.top{height:64px;padding:0 15px}.shell{min-height:calc(100vh - 64px)}aside{position:fixed;top:auto;bottom:0;padding:7px 8px;border-top:1px solid #26334a;border-bottom:0;background:#080e1d}nav{justify-content:flex-start;overflow-x:auto}.nav-group{display:block}.nav-group summary,nav a,nav a.active,nav a:not(.active){min-width:48px;padding:10px;font-size:0;border-radius:12px}.nav-group summary i,nav i{font-size:19px}.nav-group[open] .nav-submenu{display:grid;position:fixed;left:10px;right:10px;bottom:66px;top:auto;background:#0f172a}.nav-group[open] .nav-submenu a{font-size:14px}main{padding:22px 14px 88px}.card{border-radius:14px}.page-head{gap:15px}.page-head .btn{width:100%;text-align:center}.stats article{border-radius:13px}.stats span{font-size:10px}}
@media print{body{background:#fff!important;color:#111!important}body:before,.top,aside{display:none!important}.card{background:#fff!important;color:#111!important;box-shadow:none!important}}

/* Menu contextual da oficina */
.workshop-nav .nav-submenu{width:292px;padding:9px;border-color:#2a3750;border-radius:14px;background:#0b1325}
.workshop-nav .nav-submenu:before{content:"";position:absolute;top:-6px;left:27px;width:10px;height:10px;transform:rotate(45deg);border-left:1px solid #2a3750;border-top:1px solid #2a3750;background:#0b1325}
.workshop-nav .nav-submenu a{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid transparent;white-space:normal}
.workshop-nav .nav-submenu a>i{display:grid;place-items:center;width:32px;height:32px;border:1px solid #2a3750;border-radius:9px;background:#121d32;color:#ff5262;font-style:normal}
.workshop-nav .nav-submenu a span,.workshop-nav .nav-submenu a small{display:block}
.workshop-nav .nav-submenu a span{font-weight:700;color:#dce4ef}
.workshop-nav .nav-submenu a small{margin-top:2px;color:#7988a0;font-size:11px;font-weight:500}
.workshop-nav .nav-submenu a:hover{border-color:#33425d;background:#141f34}
.workshop-nav .nav-submenu a.active{border-color:#5d2432;background:#211525}
.workshop-nav .nav-submenu a.active>i{border-color:#7a2839;background:#321421;color:#ff6b78}
.workshop-nav>summary span{display:inline}

@media(max-width:650px){
  .workshop-nav>summary span{display:none}
  .workshop-nav[open] .nav-submenu{width:auto;background:#0b1325}
  .workshop-nav .nav-submenu:before{display:none}
}

/* Navegação de segundo nível sem rolagem horizontal */
nav.submenu-mode{overflow:visible}
nav.submenu-mode>:not(.nav-group[open]){display:none}
nav.submenu-mode>.nav-group[open]{display:flex;align-items:center;gap:12px;width:100%}
nav.submenu-mode>.nav-group[open]>summary{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:#151f34;border-color:#35425a;color:#fff}
nav.submenu-mode>.nav-group[open]>summary:before{content:"←";font-size:16px}
nav.submenu-mode>.nav-group[open]>summary>i,nav.submenu-mode>.nav-group[open]>summary>span{display:none}
nav.submenu-mode>.nav-group[open]>summary:after{content:"Voltar";margin:0;font-size:13px}
nav.submenu-mode>.nav-group[open]>.nav-submenu{position:static;display:flex;align-items:center;flex:1;min-width:0;width:auto;padding:0;border:0;background:transparent;box-shadow:none}
nav.submenu-mode>.nav-group[open]>.nav-submenu:before{display:none}
nav.submenu-mode>.nav-group[open]>.nav-submenu>a{display:flex;align-items:center;min-height:38px;padding:9px 14px;border:1px solid #202b42;border-radius:18px;background:#111a2e;white-space:nowrap}
nav.submenu-mode>.nav-group[open]>.nav-submenu>a:hover,nav.submenu-mode>.nav-group[open]>.nav-submenu>a.active{border-color:#ef1b2d;background:#ef1b2d;color:#fff}
nav.submenu-mode>.workshop-nav[open]>.nav-submenu>a>i{display:none}
nav.submenu-mode>.workshop-nav[open]>.nav-submenu>a span{color:inherit}
nav.submenu-mode>.workshop-nav[open]>.nav-submenu>a small{display:none}

@media(max-width:650px){
  aside:has(nav.submenu-mode){padding:9px 10px}
  nav.submenu-mode>.nav-group[open]{gap:8px}
  nav.submenu-mode>.nav-group[open]>summary{position:static;min-width:auto;padding:10px 12px;font-size:13px}
  nav.submenu-mode>.nav-group[open]>.nav-submenu{position:static;display:flex;overflow:visible;gap:6px}
  nav.submenu-mode>.nav-group[open]>.nav-submenu>a{min-width:0;padding:9px 10px;font-size:11px;white-space:normal;text-align:center;line-height:1.15}
}

/* Ações visuais da tela de saídas e retornos */
.row-actions{align-items:center;gap:7px}
.row-actions .icon-action{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #2d3a51;border-radius:11px;background:#121c30;color:#dce5f1;font-size:18px;line-height:1;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.row-actions .icon-action:hover{transform:translateY(-2px);border-color:#ef1b2d;background:#211522;color:#ff5a69}
.row-actions .icon-action[data-return]{border-color:#632536;background:#251521;color:#ff6674}
.row-actions .icon-action[data-refuel]{border-color:#5a451d;background:#251e12;color:#fbbf24}
.row-actions .icon-action b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #0f172a;border-radius:9px;background:#ef1b2d;color:#fff;font:700 9px/1 Inter,Segoe UI,sans-serif}
@media(max-width:650px){.row-actions{gap:6px}.row-actions .icon-action{width:36px;height:36px}}
.camera-upload{border-color:#334057!important;background:#0b1325!important}.camera-upload-control{border-color:#394a66;background:#151f34;color:#dce3ed}.camera-upload.has-photo{border-color:#17634e!important;background:#0a2923!important}.camera-upload.has-photo .camera-upload-control{border-color:#17634e;background:#103b31;color:#6ee7b7}
body[data-role="driver"] .inspection-checklist label.check{border-color:#334057;background:#111a2e;color:#dce3ed}body[data-role="driver"] .inspection-checklist label.check input[type="checkbox"]{border-color:#66748a!important;background:#080e1d!important}body[data-role="driver"] .inspection-checklist label.check:has(input:checked){border-color:#ef1b2d;background:#251521;box-shadow:0 0 0 3px rgba(239,27,45,.1)}body[data-role="driver"] .maintenance-confirm{border-color:#684716!important;background:#2b210d!important;color:#fbbf24!important}
.ticket-description,.ticket-thread article{background:#0b1325;border-color:#26334a}.ticket-thread p{color:#dce3ed}.ticket-filters input,.ticket-filters select{border-color:#26334a;background:#050a19;color:#e5eaf3}
.top{height:auto;min-height:68px}.company-identity strong{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.25}@media(max-width:700px){.top{height:auto;min-height:64px}.company-identity strong{max-width:none;white-space:normal;overflow:visible}}
body[data-role="driver"] .inspection-checklist label.maintenance-confirm{border-color:#334057!important;background:#111a2e!important;color:#dce3ed!important}body[data-role="driver"] .inspection-checklist label.maintenance-confirm:has(input:checked){border-color:#ef1b2d!important;background:#251521!important;color:#dce3ed!important}
