:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#2563eb;--primary-dark:#1d4ed8;--good:#15803d;--bad:#b91c1c;--warn:#b45309;--sidebar:#0f172a;--sidebar-text:#cbd5e1;--radius:16px;--shadow:0 10px 30px rgba(15,23,42,.06)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:fixed;z-index:20;top:0;left:250px;right:0;height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand-inline{display:none;align-items:center;gap:10px}.brand-inline span,.brand span{display:block;font-size:11px;color:var(--muted);font-weight:500}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#3b82f6,#1d4ed8);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;box-shadow:0 8px 18px rgba(37,99,235,.25)}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.role-control{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.role-control select{display:block;margin-top:2px;border:0;background:transparent;color:var(--text);font-weight:700;padding:2px 24px 2px 0;outline:none;text-transform:none;letter-spacing:0}
.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:250px;background:var(--sidebar);color:var(--sidebar-text);padding:20px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 22px;color:#fff}.brand span{color:#94a3b8}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;color:#94a3b8;padding:11px 13px;border-radius:10px;text-align:left;font-weight:650;display:flex;gap:12px;align-items:center}.sidebar nav button:hover{color:#fff;background:rgba(255,255,255,.06)}.sidebar nav button.active{color:#fff;background:rgba(59,130,246,.22)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 8px 0;display:grid;gap:8px}.sidebar-footer small{color:#64748b}.link-btn{border:0;background:transparent;color:#94a3b8;padding:0;text-align:left;font-size:12px}.link-btn:hover{color:#fff}
.main{margin-left:250px;padding:96px 28px 44px}.page{display:none}.page.active{display:block}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header h1{margin:0;font-size:25px;letter-spacing:-.03em}.page-header p,.card-header p{margin:5px 0 0;color:var(--muted);font-size:13px}.date-chip{background:#eaf1ff;color:#1d4ed8;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}
.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:750;font-size:13px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--text);border-color:var(--line)}.btn.danger{background:#fff;color:var(--bad);border-color:#fecaca}.icon-btn{border:0;background:transparent;color:inherit;font-size:24px;padding:6px}.mobile-only{display:none}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.kpi .label{color:var(--muted);font-size:12px;font-weight:700}.kpi .value{font-size:25px;font-weight:850;letter-spacing:-.04em;margin-top:8px}.kpi .hint{font-size:11px;color:var(--muted);margin-top:7px}.kpi.good .value{color:var(--good)}.kpi.bad .value{color:var(--bad)}.kpi.warn .value{color:var(--warn)}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 8px}.card-header h2{font-size:16px;margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfdff}.data-table td{padding:13px 16px;border-bottom:1px solid #edf1f5;font-size:13px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfdff}.money{font-variant-numeric:tabular-nums;font-weight:750}.positive{color:var(--good)}.negative{color:var(--bad)}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.table-actions{display:flex;gap:6px}.tiny-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.tiny-btn:hover{background:var(--surface-2)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;background:#eef2f7;color:#475569;white-space:nowrap}.badge.good{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.warn{background:#fef3c7;color:#92400e}.badge.blue{background:#dbeafe;color:#1e40af}
.entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entity-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.entity-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.entity-icon{width:46px;height:46px;border-radius:13px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-weight:850}.entity-card h3{font-size:16px;margin:10px 0 3px}.entity-card p{margin:0;color:var(--muted);font-size:12px}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.mini-stat{background:var(--surface-2);border-radius:10px;padding:10px}.mini-stat span{display:block;color:var(--muted);font-size:10px}.mini-stat strong{display:block;margin-top:4px;font-size:13px}.entity-card-actions{display:flex;gap:8px;margin-top:15px}.filters{display:flex;gap:10px;margin-bottom:14px}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;outline:none}.filters input{min-width:300px;flex:1}.filters input:focus,.filters select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}
.activity-list{padding:8px 18px 16px}.activity{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5}.activity:last-child{border-bottom:0}.activity-dot{width:9px;height:9px;border-radius:50%;background:#60a5fa}.activity .content{flex:1}.activity .content strong{display:block;font-size:13px}.activity .content span{font-size:11px;color:var(--muted)}.activity time{font-size:11px;color:var(--muted)}.account-list{padding:8px 16px 16px}.account-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f5}.account-item:last-child{border-bottom:0}.account-item strong{display:block;font-size:12px}.account-item span{font-size:11px;color:var(--muted)}
.modal{border:0;padding:0;border-radius:18px;width:min(720px,calc(100vw - 28px));max-height:90vh;box-shadow:0 30px 80px rgba(15,23,42,.25)}.modal::backdrop{background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}.modal form{display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:20px}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.modal-body{padding:20px 22px;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--line);background:#fbfdff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:10px 11px;outline:none;background:#fff;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.field small{color:var(--muted);font-size:11px}.receipt-box{border:1.5px dashed #cbd5e1;border-radius:13px;background:#f8fafc;padding:16px;text-align:center}.receipt-box input{display:none}.receipt-box label{display:block;cursor:pointer;font-weight:750;font-size:13px}.receipt-preview{max-width:100%;max-height:180px;border-radius:10px;margin-top:12px}.ocr-status{margin-top:9px;font-size:11px;color:var(--muted)}
.bar-chart{padding:15px 20px 22px;display:flex;align-items:flex-end;gap:12px;height:230px}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bar{width:min(44px,70%);background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:8px 8px 2px 2px;min-height:4px}.bar.negative{background:linear-gradient(180deg,#fca5a5,#dc2626)}.bar-item strong{font-size:10px}.bar-item span{font-size:10px;color:var(--muted)}.category-list{padding:12px 18px 20px}.category-row{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center;margin:12px 0;font-size:11px}.progress{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:#3b82f6;border-radius:999px}.empty{padding:26px;text-align:center;color:var(--muted);font-size:13px}.toast{position:fixed;z-index:100;right:20px;bottom:20px;background:#0f172a;color:#fff;border-radius:10px;padding:11px 14px;font-size:12px;box-shadow:0 12px 30px rgba(15,23,42,.25);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}.entity-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
@media(max-width:760px){.mobile-only{display:inline-flex}.desktop-only,.desktop-brand{display:none}.topbar{left:0;height:64px;padding:0 12px}.brand-inline{display:flex}.brand-inline .brand-mark{width:34px;height:34px}.topbar-actions{gap:4px}.role-control{font-size:9px}.role-control select{max-width:110px;font-size:11px}.sidebar{transform:translateX(-105%);transition:.22s;width:245px;padding-top:78px}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:84px 12px 32px}.page-header{align-items:flex-start}.page-header h1{font-size:21px}.page-header p{font-size:12px}.page-header .btn{white-space:nowrap;padding:9px 10px}.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi .value{font-size:19px}.entity-grid{grid-template-columns:1fr}.filters{flex-direction:column}.filters input{min-width:0;width:100%}.filters select{width:100%}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-body{padding:16px}.modal-header,.modal-actions{padding-left:16px;padding-right:16px}.date-chip{display:none}.data-table{min-width:650px}.toast{left:12px;right:12px;bottom:12px}.category-row{grid-template-columns:85px 1fr 72px}}
.login-view{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#f8fafc,#eaf1ff)}.login-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 70px rgba(15,23,42,.12);padding:28px;display:grid;gap:15px}.login-card h1{margin:2px 0 -10px;font-size:28px}.login-card p{margin:0 0 8px;color:var(--muted)}.login-card .btn{width:100%;margin-top:5px}.login-error{color:var(--bad);min-height:18px}.user-chip{text-align:right}.user-chip strong{display:block;font-size:12px}.user-chip span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.doc-links{display:flex;gap:6px;flex-wrap:wrap}.doc-link{font-size:10px;border:1px solid var(--line);border-radius:7px;padding:4px 6px;text-decoration:none;color:var(--primary);background:#fff}.ocr-actions{display:flex;align-items:center;gap:10px;margin-top:8px}.danger-text{color:var(--bad)}
.ocr-summary-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.ocr-summary-card strong{display:block;margin-bottom:8px}.ocr-line{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}.ocr-line.total{margin-top:6px;padding-top:9px;border-top:1px solid var(--line);font-weight:800}


/* Fleet v1.4 - abastecimento guiado */
.fuel-wizard{text-align:center;max-width:560px;margin:0 auto;padding:8px 0}.fuel-wizard h3{margin:10px 0 5px;font-size:21px}.fuel-wizard p{margin:0 auto 18px;color:var(--muted);font-size:13px;max-width:420px}.fuel-start{padding:34px 6px 40px}.fuel-camera-icon{width:72px;height:72px;border-radius:22px;background:#eaf1ff;color:var(--primary);display:grid;place-items:center;margin:0 auto;font-size:30px;font-weight:900}.fuel-big-btn{width:100%;min-height:72px;border:0;border-radius:16px;background:var(--primary);color:#fff;font-weight:850;font-size:18px;box-shadow:0 12px 26px rgba(37,99,235,.22)}.fuel-step-badge{display:inline-block;background:#eaf1ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.fuel-video-wrap{position:relative;overflow:hidden;border-radius:18px;background:#020617;aspect-ratio:3/4;max-height:58vh;margin:14px auto;width:100%}.fuel-video-wrap video{width:100%;height:100%;object-fit:cover;display:block}.fuel-camera-frame{position:absolute;inset:8%;border:2px solid rgba(255,255,255,.72);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.12);pointer-events:none}.fuel-shutter{width:70px;height:70px;border-radius:50%;border:5px solid #dbeafe;background:#fff;padding:7px;margin:2px auto 8px;display:grid;place-items:center;box-shadow:0 5px 18px rgba(15,23,42,.16)}.fuel-shutter span{display:block;width:100%;height:100%;border-radius:50%;background:var(--primary)}.fuel-camera-step small{display:block;color:var(--muted);font-size:11px}.fuel-loading{padding:55px 10px}.fuel-spinner{width:54px;height:54px;border-radius:50%;border:5px solid #dbeafe;border-top-color:var(--primary);margin:0 auto 20px;animation:fuel-spin .8s linear infinite}@keyframes fuel-spin{to{transform:rotate(360deg)}}.fuel-success{width:54px;height:54px;border-radius:50%;background:#dcfce7;color:#166534;display:grid;place-items:center;margin:0 auto;font-size:26px;font-weight:900}.fuel-confirm{text-align:left}.fuel-confirm>h3,.fuel-confirm>p{text-align:center}.fuel-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.fuel-confirm .field.full{grid-column:1/-1}.fuel-receipt-summary{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfdff;margin:16px 0}.fuel-receipt-summary>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.fuel-receipt-summary .receipt-grand-total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-weight:850}.full-tank-question{margin:18px 0 8px;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.full-tank-question>strong{display:block;font-size:14px}.full-tank-question>span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.full-tank-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.full-tank-options button{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:50px;font-weight:800}.full-tank-options button.selected{border-color:var(--primary);background:#eaf1ff;color:#1d4ed8;box-shadow:0 0 0 2px rgba(37,99,235,.12)}.fuel-ai-note{text-align:center;color:var(--muted);font-size:11px;margin:14px 0}.fuel-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.fuel-confirm-actions .btn{min-height:46px}.fuel-confirm-actions .btn:disabled{opacity:.45;cursor:not-allowed}.driver-mpg-panel{padding:14px 18px 18px}.driver-mpg-head{display:grid;grid-template-columns:1fr 1fr;gap:12px}.driver-mpg-head>div{border:1px solid var(--line);border-radius:12px;padding:12px}.driver-mpg-head span,.driver-mpg-head small{display:block;color:var(--muted);font-size:11px}.driver-mpg-head strong{display:block;font-size:24px;margin:4px 0}.mpg-history{margin-top:12px;border-top:1px solid var(--line)}.mpg-row{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid #edf1f5}.mpg-row>div:first-child strong,.mpg-row>div:first-child span,.mpg-result strong,.mpg-result span{display:block}.mpg-row>div:first-child span,.mpg-result span{font-size:11px;color:var(--muted);margin-top:3px}.mpg-result{text-align:right}.mpg-result.positive strong,.mpg-value.positive strong{color:var(--good)}.mpg-result.negative strong,.mpg-value.negative strong{color:var(--bad)}.current-cycle{margin-top:12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;padding:12px}.current-cycle strong,.current-cycle span,.current-cycle em{display:block}.current-cycle span{font-size:11px;color:#9a3412;margin:4px 0}.current-cycle em{font-size:11px;font-style:normal;font-weight:800;color:#c2410c}.mpg-value{display:inline-block}.mpg-value small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:760px){.fuel-wizard{max-width:none}.fuel-start{padding:44px 4px}.fuel-big-btn{min-height:78px;font-size:19px}.fuel-video-wrap{max-height:61vh;aspect-ratio:9/13}.fuel-confirm-grid{grid-template-columns:1fr}.fuel-confirm .field.full{grid-column:auto}.fuel-confirm-actions{display:grid;grid-template-columns:1fr 1.3fr}.fuel-confirm-actions .btn{width:100%}.full-tank-options{grid-template-columns:1fr}.driver-mpg-head{grid-template-columns:1fr}.mpg-row{align-items:center}}

/* v1.5: câmera do abastecimento sempre inteira no celular */
.modal.fuel-camera-modal{width:min(620px,calc(100vw - 12px));max-height:calc(100dvh - 12px)}
.modal.fuel-camera-modal form{max-height:calc(100dvh - 12px)}
.modal.fuel-camera-modal .modal-header{padding:12px 16px 9px}
.modal.fuel-camera-modal .modal-header h2{font-size:18px}
.modal.fuel-camera-modal .modal-header p{display:none}
.modal.fuel-camera-modal .modal-body{padding:8px 14px 10px;overflow:hidden}
.modal.fuel-camera-modal .fuel-wizard{padding:0;max-width:520px}
.modal.fuel-camera-modal .fuel-step-badge{padding:4px 9px;font-size:10px}
.modal.fuel-camera-modal .fuel-camera-step h3{font-size:18px;margin:6px 0 2px}
.modal.fuel-camera-modal .fuel-camera-step p{font-size:12px;margin:0 auto 7px}
.modal.fuel-camera-modal .fuel-video-wrap{height:min(42dvh,340px);max-height:none;aspect-ratio:auto;margin:7px auto 6px;border-radius:15px}
.modal.fuel-camera-modal .fuel-camera-frame{inset:7%}
.modal.fuel-camera-modal .fuel-shutter{width:58px;height:58px;border-width:4px;margin:1px auto 2px}
.modal.fuel-camera-modal .fuel-camera-step small{font-size:10px;line-height:1.2}
@media(max-width:760px){
  .modal.fuel-camera-modal{width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:14px}
  .modal.fuel-camera-modal form{max-height:calc(100dvh - 8px)}
  .modal.fuel-camera-modal .modal-header{padding:9px 12px 7px}
  .modal.fuel-camera-modal .modal-header h2{font-size:17px}
  .modal.fuel-camera-modal .modal-body{padding:6px 10px 8px}
  .modal.fuel-camera-modal .fuel-video-wrap{height:min(40dvh,310px);margin:6px auto 5px}
  .modal.fuel-camera-modal .fuel-shutter{width:54px;height:54px}
}
@media(max-height:700px){
  .modal.fuel-camera-modal .fuel-video-wrap{height:34dvh}
  .modal.fuel-camera-modal .fuel-camera-step p{display:none}
  .modal.fuel-camera-modal .fuel-camera-step small{display:none}
}

/* v1.6: brokers, conta corrente, Plaid e projeção */
.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.tiny-btn.primary-lite{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.form-info{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:12px}.form-info strong,.form-info span{display:block}.form-info span{margin-top:5px;color:var(--muted);font-size:12px}.cash-warning{margin:14px;border:1px solid #fde68a;background:#fffbeb;border-radius:12px;padding:12px 14px}.cash-warning strong,.cash-warning span{display:block}.cash-warning strong{font-size:12px;color:#92400e}.cash-warning span{font-size:11px;color:#a16207;margin-top:4px}.bank-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #edf1f5}.bank-account:last-child{border-bottom:0}.bank-account>div:last-child{text-align:right}.bank-account strong,.bank-account span{display:block}.bank-account strong{font-size:13px}.bank-account span{color:var(--muted);font-size:11px;margin-top:3px}.page#page-driver-account .data-table{min-width:900px}.page#page-bank .data-table{min-width:880px}
@media(max-width:760px){.page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.page-actions .btn{width:100%;padding:10px 8px}.bank-account{align-items:flex-start}.bank-account>div:last-child{min-width:110px}.cash-warning{margin:10px}.page#page-driver-account .data-table,.page#page-bank .data-table{min-width:780px}}

.password-input-wrap{position:relative}.password-input-wrap input{padding-right:52px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#64748b;display:grid;place-items:center;cursor:pointer}.password-toggle:hover{background:#f1f5f9;color:#0f172a}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.password-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle.is-visible{color:var(--primary);background:#eff6ff}


/* v1.7: analytics e bonus */
.analytics-period{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;color:var(--text);font-weight:700}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-bars{padding:12px 18px 18px}.analytics-bar-row{padding:10px 0;border-bottom:1px solid #edf1f5}.analytics-bar-row:last-child{border-bottom:0}.analytics-bar-label{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:7px}.analytics-bar-label strong{font-size:12px}.analytics-bar-label span{font-size:10px;color:var(--muted);text-align:right}.analytics-bar-track{height:12px;border-radius:999px;background:#eef2f7;position:relative;overflow:hidden}.analytics-bar-track i{position:absolute;left:0;height:5px;border-radius:999px}.analytics-bar-track .revenue{top:1px;background:#60a5fa}.analytics-bar-track .profit{bottom:1px;background:#22c55e}.analytics-bar-track .profit.loss{background:#ef4444}.analytics-insights{padding:10px 18px 18px}.analytics-insight{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 0;border-bottom:1px solid #edf1f5}.analytics-insight:last-child{border-bottom:0}.analytics-insight span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.analytics-insight strong{grid-row:2;font-size:13px}.analytics-insight em{grid-row:1/3;grid-column:2;font-style:normal;font-weight:850;align-self:center}.page#page-analytics .data-table{min-width:1180px}.bonus-board{padding:8px 18px 18px}.bonus-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f5}.bonus-row:last-child{border-bottom:0}.bonus-rank{width:30px;height:30px;border-radius:50%;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-size:11px;font-weight:900}.bonus-main>div:first-child{display:flex;justify-content:space-between;gap:12px}.bonus-main strong{font-size:13px}.bonus-main span,.bonus-main small{font-size:10px;color:var(--muted)}.bonus-main small{display:block;margin-top:5px}.bonus-progress{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden;margin-top:7px}.bonus-progress i{display:block;height:100%;background:#94a3b8;border-radius:999px}.bonus-progress i.bronze{background:#b7791f}.bonus-progress i.silver{background:#64748b}.bonus-progress i.gold{background:#d97706}.bonus-score{text-align:right;min-width:92px}.bonus-score strong,.bonus-score span,.bonus-score em{display:block}.bonus-score strong{font-size:22px}.bonus-score span,.bonus-score em{font-size:10px;color:var(--muted);font-style:normal}.bonus-score .tiny-btn{margin-top:6px}.page#page-analytics .kpi .value{font-size:22px}
@media(max-width:760px){.analytics-grid{grid-template-columns:1fr}.page#page-analytics .page-header{align-items:flex-start;flex-direction:column}.page#page-analytics .page-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-period{width:100%}.analytics-bar-label{display:block}.analytics-bar-label span{display:block;text-align:left;margin-top:2px}.bonus-row{grid-template-columns:28px 1fr}.bonus-score{grid-column:2;text-align:left;display:flex;gap:6px;align-items:center}.bonus-score strong,.bonus-score span,.bonus-score em{display:inline}.bonus-main>div:first-child{display:block}.bonus-main span{display:block;margin-top:2px}.page#page-analytics .data-table{min-width:1040px}}


/* EasyFleet v1.8 - branding + maintenance */
.company-logo{display:block;object-fit:contain;background:#fff;border-radius:10px}.login-company-logo{width:160px;height:92px;margin:0 auto 12px}.header-company-logo{width:52px;height:40px;padding:3px}.sidebar-company-logo{width:56px;height:44px;padding:3px}.company-profile-head{display:flex;align-items:center;gap:18px}.company-profile-logo{width:150px;height:92px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px}.company-profile-head h2{margin:0 0 4px}.company-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.company-details>div{border:1px solid var(--border);border-radius:12px;padding:12px}.company-details span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.company-details strong{display:block;margin-top:5px;overflow-wrap:anywhere}.form-note{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--muted);font-size:.86rem;margin:8px 0}.maintenance-board{display:grid;gap:16px;margin-bottom:18px}.maintenance-vehicle{display:grid;gap:10px}.maintenance-vehicle-title{display:flex;justify-content:space-between;align-items:end;gap:12px}.maintenance-vehicle-title h2{margin:0;font-size:1.05rem}.maintenance-vehicle-title p{margin:3px 0 0;color:var(--muted)}.maintenance-rule{background:#fff;border:1px solid var(--border);border-left:5px solid #94a3b8;border-radius:14px;padding:14px}.maintenance-rule.ok{border-left-color:#16a34a}.maintenance-rule.soon{border-left-color:#d97706}.maintenance-rule.overdue{border-left-color:#dc2626}.maintenance-rule.baseline,.maintenance-rule.draft{border-left-color:#d97706}.maintenance-rule-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.maintenance-rule-head h3{margin:7px 0 2px;font-size:1rem}.maintenance-rule-head p{margin:0;color:var(--muted);font-size:.86rem}.maintenance-rule-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.maintenance-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.maintenance-rule-grid>div{background:#f8fafc;border-radius:10px;padding:10px}.maintenance-rule-grid span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase}.maintenance-rule-grid strong{display:block;margin-top:4px;font-size:.9rem}.maintenance-rule-grid small{display:block;color:var(--muted);margin-top:3px}.maintenance-check{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);cursor:pointer}.maintenance-check:last-child{border-bottom:0}.maintenance-check input{margin-top:4px}.maintenance-check span{display:flex;flex-direction:column}.maintenance-check small{color:var(--muted);margin-top:2px}@media(max-width:760px){.company-details{grid-template-columns:1fr}.maintenance-rule-grid{grid-template-columns:1fr 1fr}.maintenance-vehicle-title{align-items:flex-start}.header-company-logo{width:46px;height:36px}.brand-inline span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:420px){.maintenance-rule-grid{grid-template-columns:1fr}.maintenance-rule-head{flex-direction:column}.maintenance-rule-actions{justify-content:flex-start}.login-company-logo{width:140px;height:82px}}


/* EasyFleet v1.8.3 - linked vehicle card */
.expense-linked-vehicle{margin-bottom:2px}.linked-vehicle-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #d7e2f0;background:linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%);border-radius:14px;padding:13px 14px;min-height:72px}.linked-vehicle-mark{width:42px;height:42px;border-radius:12px;background:#e8f0ff;color:var(--primary);display:grid;place-items:center;font-weight:900;font-size:17px}.linked-vehicle-info{min-width:0}.linked-vehicle-info strong{display:block;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linked-vehicle-info span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.linked-vehicle-plate{min-width:72px;text-align:center;background:#fff;border:1px solid #d7e2f0;border-radius:10px;padding:7px 10px}.linked-vehicle-plate small{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em}.linked-vehicle-plate b{display:block;margin-top:2px;font-size:15px;letter-spacing:.04em;color:var(--text)}
@media(max-width:420px){.linked-vehicle-card{grid-template-columns:40px minmax(0,1fr) auto;padding:11px;gap:9px}.linked-vehicle-mark{width:38px;height:38px}.linked-vehicle-info span{font-size:10px}.linked-vehicle-plate{min-width:62px;padding:6px 8px}.linked-vehicle-plate b{font-size:14px}}

/* EasyFleet v1.8.5 */
.tiny-btn.danger-lite{color:var(--bad);border-color:#fecaca;background:#fff}.tiny-btn.danger-lite:hover{background:#fef2f2}

.modal-toast{position:fixed;z-index:2147483647;left:50%;bottom:28px;transform:translate(-50%,12px);max-width:min(620px,calc(100vw - 32px));background:#0f172a;color:#fff;border-radius:12px;padding:12px 16px;font-size:13px;font-weight:650;line-height:1.35;box-shadow:0 16px 40px rgba(15,23,42,.32);opacity:0;pointer-events:none;transition:.2s}
.modal-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.modal-toast{left:16px;right:16px;bottom:18px;max-width:none;transform:translateY(12px)}.modal-toast.show{transform:translateY(0)}}

.easyfleet-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.easyfleet-login-brand h1{margin:0}
.easyfleet-login-brand p{margin:2px 0 0;color:var(--muted,#64748b)}
.easyfleet-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:800;letter-spacing:-1px;box-shadow:0 8px 22px rgba(37,99,235,.24)}
.login-divider{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:12px;margin:2px 0}
.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:#e2e8f0}
.signup-note{display:grid;gap:3px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:11px 12px;font-size:12px;color:#475569}
.signup-note strong{color:#1d4ed8}
.trial-chip{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750;white-space:nowrap}

.telemetry-driver-control{margin-bottom:16px}
.telemetry-start-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end}
.telemetry-start-btn{margin-bottom:2px}
.telemetry-linked-vehicle{min-height:42px;display:flex;align-items:center;padding:9px 11px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc}
.telemetry-live{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.telemetry-live>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.telemetry-live>div:first-child small{grid-column:2;color:#64748b;margin-top:2px}
.telemetry-live-dot{width:10px;height:10px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.12)}
.telemetry-live-stats{display:flex;gap:8px;flex-wrap:wrap}
.telemetry-live-stats span{background:#f1f5f9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}
.telemetry-note{margin-top:14px;padding:12px 14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;color:#475569;font-size:12px;line-height:1.45}
.btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
@media(max-width:760px){.telemetry-start-grid{grid-template-columns:1fr}.telemetry-live{align-items:flex-start}.telemetry-live-stats{width:100%}}

.telemetry-device-ok{display:inline-flex;align-items:center;gap:6px;color:#15803d;font-size:12px;font-weight:800;padding:8px 10px;background:#f0fdf4;border-radius:999px}
.bonus-detail{display:block;margin-top:5px;color:#64748b}
#closeBonusPeriod:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){#page-analytics .card-header>.page-actions{width:100%;display:grid;grid-template-columns:1fr}#bonusPeriod,#closeBonusPeriod{width:100%}}

.telemetry-permission-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.82);backdrop-filter:blur(7px)}
.telemetry-permission-gate.hidden{display:none!important}
.telemetry-permission-card{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 28px 80px rgba(2,6,23,.35);display:grid;gap:16px}
.telemetry-permission-mark{width:46px;height:46px}
.telemetry-permission-kicker{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;margin-bottom:5px}
.telemetry-permission-card h2{margin:0 0 8px;font-size:25px;line-height:1.15}
.telemetry-permission-card p{margin:0;color:#475569;line-height:1.55}
.telemetry-permission-list{display:grid;gap:8px}
.telemetry-permission-list>div{display:grid;gap:2px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.telemetry-permission-list span{font-size:12px;color:#64748b;line-height:1.4}
.telemetry-permission-status{padding:10px 12px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:13px;font-weight:650}
.telemetry-permission-status.good{background:#ecfdf5;color:#166534}
.telemetry-permission-status.bad{background:#fef2f2;color:#991b1b}
.telemetry-permission-status.working{background:#eff6ff;color:#1d4ed8}
.telemetry-permission-primary{width:100%;min-height:46px}
.telemetry-permission-help{color:#64748b;line-height:1.45}
body.telemetry-permission-locked{overflow:hidden}
@media(max-width:600px){.telemetry-permission-gate{padding:10px}.telemetry-permission-card{padding:20px;border-radius:16px}.telemetry-permission-card h2{font-size:22px}}

/* EasyFleet custom product logo */
.brand-mark,
.easyfleet-mark{
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
.brand-mark .easyfleet-brand-image,
.easyfleet-mark .easyfleet-brand-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:inherit;
}
.brand .brand-mark{
  width:44px;
  height:44px;
}
.brand-inline .brand-mark{
  width:38px;
  height:38px;
}
.telemetry-permission-mark{
  width:52px !important;
  height:52px !important;
}

/* DriveOS branding text fix */
.login-brand-title,
.auth-brand-title,
.brand-title {
  letter-spacing: -0.02em;
}

/* DRIVEOS_AUTH_UI_FIX_V2 */
.auth-brand,
.login-brand,
.signup-brand,
.brand-inline {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-card .auth-brand,
.login-card .login-brand,
.signup-card .signup-brand {
  margin-bottom: 22px;
}
.auth-brand img,
.login-brand img,
.signup-brand img,
.brand-inline img,
.easyfleet-brand-image {
  max-width: 150px;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.auth-card h1,
.login-card h1,
.signup-card h1 {
  margin-top: 8px;
  margin-bottom: 4px;
  line-height: 1.08;
}
.auth-card h1 + p,
.login-card h1 + p,
.signup-card h1 + p,
.auth-card h1 + .subtitle,
.login-card h1 + .subtitle,
.signup-card h1 + .subtitle {
  margin-top: 0;
  margin-bottom: 22px;
  line-height: 1.25;
}

/* DRIVEOS_MOBILE_AUTH_FIX */
.driveos-login-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
}

.driveos-login-brand .driveos-mark{
  width:150px;
  max-width:45vw;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 1 auto;
}

.driveos-login-brand .driveos-brand-image{
  display:block;
  width:100%;
  max-width:150px;
  max-height:56px;
  height:auto;
  object-fit:contain;
}

@media(max-width:600px){
  .login-view{
    width:100%;
    min-height:100dvh;
    padding:16px;
    overflow-x:hidden;
    box-sizing:border-box;
  }

  .login-card{
    width:100%;
    max-width:400px;
    padding:20px;
    box-sizing:border-box;
  }

  .login-card *,
  .login-card *::before,
  .login-card *::after{
    box-sizing:border-box;
  }

  .driveos-login-brand{
    width:100%;
  }

  .driveos-login-brand .driveos-mark{
    width:140px;
    max-width:42vw;
    height:52px;
  }

  .driveos-login-brand .driveos-brand-image{
    max-width:140px;
    max-height:52px;
  }

  .driveos-login-brand h1{
    font-size:24px;
    white-space:nowrap;
  }
}

/* DRIVEOS_LOGO_BIGGER */
.driveos-login-brand{
  margin-bottom: 18px;
}

.driveos-login-brand .driveos-mark{
  width: 220px;
  max-width: 70vw;
  height: 82px;
}

.driveos-login-brand .driveos-brand-image{
  width: 100%;
  max-width: 220px;
  max-height: 82px;
  height: auto;
  object-fit: contain;
}

@media(max-width:600px){
  .driveos-login-brand .driveos-mark{
    width: 190px;
    max-width: 62vw;
    height: 72px;
  }

  .driveos-login-brand .driveos-brand-image{
    max-width: 190px;
    max-height: 72px;
  }

  .login-card{
    padding-top: 24px;
  }
}


/* DriveOS v2.4.0 unified expenses */
.unified-fuel-kpis{margin-bottom:14px}
.expense-type-picker{text-align:center;padding:14px 4px 8px;max-width:580px;margin:0 auto}
.expense-type-picker h3{margin:0 0 5px;font-size:22px}
.expense-type-picker p{margin:0 0 18px;color:var(--muted)}
.expense-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.expense-type-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px 16px;text-align:left;min-height:118px;cursor:pointer;transition:.15s}
.expense-type-card:hover{border-color:#93c5fd;background:#f8fbff;transform:translateY(-1px)}
.expense-type-card.fuel{border-color:#bfdbfe;background:#eff6ff}
.expense-type-card strong{display:block;font-size:17px;color:var(--text)}
.expense-type-card span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4}

.modal.fuel-camera-modal .receipt-camera-step .fuel-video-wrap{
  width:min(100%,360px) !important;
  height:auto !important;
  max-height:58dvh !important;
  aspect-ratio:3/4 !important;
  margin:8px auto 6px !important;
}
.modal.fuel-camera-modal .receipt-camera-step .fuel-camera-frame{
  inset:5% 10% !important;
  border-radius:12px;
}
.modal.fuel-camera-modal .odometer-camera-step .fuel-video-wrap{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  max-height:42dvh !important;
}
@media(max-width:760px){
  .expense-type-grid{grid-template-columns:1fr}
  .expense-type-card{min-height:96px}
  .modal.fuel-camera-modal .receipt-camera-step .fuel-video-wrap{
    width:min(82vw,340px) !important;
    aspect-ratio:3/4 !important;
    max-height:56dvh !important;
  }
}


/* DriveOS v2.5.0 reconciliation */
.driver-ledger-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.driver-ledger-filters select,
.driver-ledger-filters input{
  min-width:150px;
}
.bank-resolution{max-width:720px;margin:0 auto}
.bank-resolution-tx{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 16px;
  border:1px solid var(--line);
  background:#f8fafc;
  border-radius:14px;
  margin-bottom:14px;
}
.bank-resolution-tx span{color:var(--muted)}
.bank-resolution-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.bank-resolution-card{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  min-height:92px;
}
.bank-resolution-card:hover{
  background:#f8fbff;
  border-color:#93c5fd;
}
.bank-resolution-card.suggested{
  margin-bottom:10px;
  border-color:#93c5fd;
  background:#eff6ff;
}
.bank-resolution-card strong{
  display:block;
  color:var(--text);
  font-size:15px;
}
.bank-resolution-card span{
  display:block;
  color:var(--muted);
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
}
.checkbox-line{
  grid-column:1/-1;
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  font-size:13px;
}
.checkbox-line input{
  width:auto;
  margin-top:2px;
}
@media(max-width:760px){
  .bank-resolution-grid{grid-template-columns:1fr}
  .driver-ledger-filters select,
  .driver-ledger-filters input{width:100%;min-width:0}
}


/* DriveOS v2.6.0 profitability */
.profitability-actions{flex-wrap:wrap}
.profitability-custom-range{align-items:end;margin-bottom:14px}
.profitability-custom-range label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.profitability-kpis{grid-template-columns:repeat(6,minmax(150px,1fr))}
.profitability-top-grid{margin-bottom:16px}
.profitability-ranking{display:grid;gap:12px}
.profit-rank-row{display:grid;gap:6px}
.profit-rank-row>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.profit-rank-row span{font-size:12px;color:var(--muted)}
.profit-rank-track{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}
.profit-rank-track i{display:block;height:100%;border-radius:999px;background:#0f766e}
.profit-rank-track i.loss{background:#b91c1c}
.profitability-settings-note{grid-column:1/-1;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:12px 14px;color:#475569;font-size:12px;line-height:1.45}
.profitability-rule-list{display:grid;gap:8px;margin-top:4px}
.profitability-rule-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,.9fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.profitability-rule-row:last-child{border-bottom:0}
.profitability-rule-row span{font-weight:650}
.profitability-detail-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.profitability-detail-head>div,.profitability-detail-kpis>div{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:11px 12px;display:grid;gap:3px}
.profitability-detail-head span,.profitability-detail-kpis span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.profitability-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.profitability-result-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:14px;font-size:16px}
@media(max-width:1100px){.profitability-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.profitability-actions{width:100%}.profitability-actions>*{width:100%}.profitability-kpis{grid-template-columns:1fr 1fr}.profitability-rule-row{grid-template-columns:1fr}.profitability-detail-head,.profitability-detail-kpis{grid-template-columns:1fr 1fr}}


/* DriveOS v2.7.0 Smart Rate Import */
.smart-rate-import{max-width:620px;margin:0 auto;text-align:center;padding:12px 4px 6px}
.smart-rate-icon{width:56px;height:56px;border-radius:18px;margin:0 auto 12px;display:grid;place-items:center;font-weight:800;border:1px solid var(--line);background:#eff6ff}
.smart-rate-import h3{margin:0 0 6px;font-size:22px}
.smart-rate-import p{margin:0 auto 16px;max-width:520px;color:var(--muted)}
.smart-rate-drop{display:block;border:1.5px dashed #94a3b8;border-radius:16px;padding:24px 16px;background:#f8fafc;cursor:pointer}
.smart-rate-drop strong,.smart-rate-drop span{display:block}.smart-rate-drop span{margin-top:5px;color:var(--muted);font-size:12px}.smart-rate-drop input{display:none}
.smart-rate-files{text-align:left;margin:12px 0;padding:10px 12px;border-radius:12px;background:#f8fafc;color:var(--muted);font-size:12px;min-height:38px}
.smart-rate-files div{display:flex;gap:6px;align-items:center;padding:3px 0}.smart-rate-files span{margin-left:auto}
.smart-rate-analyze{width:100%;margin-top:4px}
.smart-rate-import>small{display:block;margin-top:10px;color:var(--muted)}
.smart-rate-confirm{max-width:860px;margin:0 auto}
.smart-rate-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.smart-rate-summary>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fafc}.smart-rate-summary span,.smart-rate-summary strong{display:block}.smart-rate-summary span{font-size:11px;color:var(--muted);text-transform:uppercase}.smart-rate-summary strong{margin-top:4px}
.smart-rate-warning{border:1px solid #f59e0b;background:#fffbeb;border-radius:12px;padding:12px;margin-bottom:12px;text-align:left}.smart-rate-warning.danger{border-color:#ef4444;background:#fef2f2}.smart-rate-warning strong,.smart-rate-warning span{display:block}.smart-rate-warning span{margin-top:4px;color:var(--muted);font-size:12px}.smart-rate-warning label{display:flex;gap:7px;align-items:center;margin-top:8px;font-size:12px}.smart-rate-warning input{width:auto}
.smart-rate-section{padding-top:8px;border-top:1px solid var(--line);margin-top:4px}.smart-rate-section strong{display:block}.smart-rate-section span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
@media(max-width:760px){.smart-rate-summary{grid-template-columns:1fr 1fr}.smart-rate-import{padding-top:4px}}


/* DriveOS v2.8.0 operational loads */
.smart-rate-manual{width:100%;margin-top:8px}
.operational-status-card>div{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#f8fafc}
.operational-status-card small{display:block;margin-top:5px;color:var(--muted)}
.btn.compact{padding:7px 10px;font-size:12px}
.operational-current{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#f8fafc;margin-bottom:14px}
.operational-current span,.operational-current strong,.operational-current small{display:block}.operational-current span{font-size:11px;text-transform:uppercase;color:var(--muted)}.operational-current strong{font-size:19px;margin-top:3px}.operational-current small{margin-top:4px;color:var(--muted)}
.operational-history{margin-top:18px}.operational-history h3{margin:0 0 8px}
@media(max-width:760px){.operational-status-card>div{align-items:flex-start;flex-direction:column}.operational-status-card .btn{width:100%}}


/* DriveOS v2.8.1 bank expenses + checks */
.v281-review-line{align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #f2cf7c;border-radius:12px;background:#fffaf0}
.v281-review-line input{margin-top:3px}.v281-review-line span{display:grid;gap:3px}.v281-review-line small{color:var(--muted);font-weight:500;line-height:1.35}
.check-plan-box{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fbfcff}.check-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.check-plan-head>div{display:grid;gap:3px}.check-plan-head span{font-size:12px;color:var(--muted)}
#checkPlanRows{display:grid;gap:10px}.check-plan-row{display:grid;grid-template-columns:.8fr 1fr 1fr 38px;gap:10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff}.check-plan-row .field{margin:0}.check-plan-remove{height:38px;min-width:38px}.check-plan-total{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.check-plan-total span{color:var(--muted);font-size:12px}.check-plan-total strong{font-size:18px}
@media(max-width:760px){.check-plan-head{align-items:stretch;flex-direction:column}.check-plan-row{grid-template-columns:1fr 1fr}.check-plan-row .field:nth-child(3){grid-column:1/2}.check-plan-remove{grid-column:2/3;justify-self:end}}

/* DriveOS - Rate Confirmation uploaded file */
.smart-rate-files.has-files{
  background:#E8F5E9;
  border:1px solid #B7DDBB;
  color:#2E5E3E;
  border-radius:14px;
  padding:14px 16px;
}

/* Rate Confirmation - arquivo selecionado */
#smartRateFileList:not(:empty){
  background:#E8F5E9 !important;
  border:1px solid #B7DDBB !important;
  color:#2E5E3E !important;
  border-radius:14px !important;
}

#smartRateFileList > div{
  background:#E8F5E9 !important;
  color:#2E5E3E !important;
}

#smartRateFileList span{
  color:#527A60 !important;
}

/* DRIVEOS_V451B_CHECK_PLAN_CSS_START */
.driveos-v451b-plan{display:flex;flex-direction:column;gap:16px}
.driveos-v451b-plan .check-plan-block{border-top:1px solid var(--border);padding-top:14px}
.driveos-v451b-plan .check-plan-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.driveos-v451b-row{border:1px solid var(--border);border-radius:12px;padding:12px;margin:10px 0;background:var(--surface)}
.driveos-v451b-row.locked{background:var(--soft)}
.driveos-v451b-row .check-plan-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
@media(max-width:760px){
  .driveos-v451b-plan .check-plan-head{align-items:stretch;flex-direction:column}
  .driveos-v451b-plan .check-plan-head .btn{width:100%}
}
/* DRIVEOS_V451B_CHECK_PLAN_CSS_END */


/* DRIVEOS_V453_EXPENSE_FILTERS_CSS_START */
.expense-v453-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end;margin:0 0 14px}
.expense-v453-filters .field{margin:0}
.expense-v453-search{grid-column:span 2}
.expense-v453-custom{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:span 2}
.expense-v453-custom.hidden{display:none}
.expense-v453-filter-actions{display:flex;align-items:end;padding-bottom:2px}
.expense-v453-filter-actions .tiny-btn{min-height:38px}
@media(max-width:1100px){.expense-v453-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .expense-v453-filters{grid-template-columns:1fr 1fr}
  .expense-v453-search,.expense-v453-custom{grid-column:1/-1}
  .expense-v453-filter-actions{grid-column:1/-1}
  .expense-v453-filter-actions .tiny-btn{width:100%}
}
@media(max-width:460px){.expense-v453-filters{grid-template-columns:1fr}.expense-v453-search,.expense-v453-custom,.expense-v453-filter-actions{grid-column:auto}}
/* DRIVEOS_V453_EXPENSE_FILTERS_CSS_END */

/* DRIVEOS_V454_RESPONSIVE_UI_START */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
.field,.form-grid>*{min-width:0}
.field input,.field select,.field textarea{width:100%;min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Modal desktop */
#modal.modal{
  width:min(980px,calc(100vw - 48px));
  max-width:980px;
  max-height:calc(100dvh - 48px);
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
}
#modal.modal::backdrop{background:rgba(15,23,42,.48)}
#modalForm{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:100%;
  max-height:calc(100dvh - 48px);
  min-height:0;
}
#modal .modal-header{
  position:relative;
  z-index:2;
  padding:18px 22px 14px;
  background:var(--surface,#fff);
  border-bottom:1px solid var(--border,#e5e7eb);
}
#modal .modal-header>div{min-width:0;padding-right:44px}
#modal .modal-header h2{margin:0 0 4px;line-height:1.2}
#modal .modal-header p{margin:0;white-space:normal;overflow-wrap:anywhere}
#modal .modal-header .icon-btn{position:absolute;right:14px;top:11px;min-width:40px;min-height:40px}
#modal .modal-body{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:18px 22px 22px;
  -webkit-overflow-scrolling:touch;
}
#modal .modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 22px;
  background:var(--surface,#fff);
  border-top:1px solid var(--border,#e5e7eb);
}
#modal .modal-actions .btn{min-width:100px}
#modal .modal-body>.form-grid{
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
#modal .modal-body>.form-grid>.full{grid-column:1/-1}

/* Important: complex forms opened by openModal must span BOTH columns */
#modal .modal-body>.form-grid>.driveos-v451b-plan,
#modal .modal-body>.form-grid>.fuel-wizard,
#modal .modal-body>.form-grid>.fuel-confirm,
#modal .modal-body>.form-grid>.check-plan-block{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
}

/* Check-plan editor */
.driveos-v451b-plan{grid-column:1/-1!important;width:100%!important;max-width:none!important}
.driveos-v451b-plan>.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  width:100%;
}
.driveos-v451b-plan>.form-grid>.full{grid-column:1/-1}
.driveos-v451b-plan .check-plan-block{width:100%;margin-top:4px}
.driveos-v451b-plan .check-plan-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
}
.driveos-v451b-row{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr);
  gap:14px 18px;
  align-items:center;
  width:100%;
  padding:14px 16px!important;
  margin:10px 0!important;
}
.driveos-v451b-row .check-plan-row-head{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
}
.driveos-v451b-row>.form-grid{
  display:grid!important;
  grid-template-columns:minmax(120px,.8fr) minmax(180px,1.25fr) minmax(120px,.8fr)!important;
  gap:12px!important;
  align-items:end;
  width:100%;
}
.driveos-v451b-row>.form-grid .field{margin:0}

/* Other pages */
.page-header{gap:14px;flex-wrap:wrap}
.page-header>div:first-child{min-width:0}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}
.card,.grid-2,.kpi-grid,.entity-grid{min-width:0;max-width:100%}
.table-actions{display:flex;gap:6px;flex-wrap:wrap}
.v45-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.v45-tabs button{flex:0 0 auto}

/* Tablet */
@media(max-width:900px){
  #modal.modal{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}
  #modalForm{max-height:calc(100dvh - 28px)}
  .driveos-v451b-row{grid-template-columns:110px minmax(0,1fr)}
}

/* Mobile */
@media(max-width:640px){
  #modal.modal{
    width:calc(100vw - 12px);
    max-width:none;
    height:calc(100dvh - 12px);
    max-height:calc(100dvh - 12px);
    margin:6px auto;
    border-radius:16px;
  }
  #modalForm{height:100%;max-height:100%}
  #modal .modal-header{padding:15px 15px 12px}
  #modal .modal-header h2{font-size:20px}
  #modal .modal-header p{font-size:12px;line-height:1.35}
  #modal .modal-body{padding:14px 14px 20px}
  #modal .modal-actions{
    display:grid;
    grid-template-columns:1fr 1.15fr;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  }
  #modal .modal-actions .btn{width:100%;min-width:0;min-height:46px}

  #modal .modal-body>.form-grid,
  .driveos-v451b-plan>.form-grid,
  .driveos-v451b-row>.form-grid{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  #modal .modal-body>.form-grid>*,
  .driveos-v451b-plan>.form-grid>*{grid-column:1!important}

  .driveos-v451b-plan .check-plan-head{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .driveos-v451b-plan .check-plan-head .btn{width:100%;min-height:44px}
  .driveos-v451b-row{display:block!important;padding:14px!important}
  .driveos-v451b-row .check-plan-row-head{
    flex-direction:row;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0 0 12px!important;
  }
  .driveos-v451b-plan [data-action="distribute-check-plan-edit"]{width:100%;min-height:42px}

  .page-header{flex-direction:column;align-items:stretch}
  .page-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .page-actions .btn{width:100%;min-width:0}
  .filters,.grid-2{grid-template-columns:1fr!important}
  .kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .expense-v453-filters{grid-template-columns:1fr!important}
  .expense-v453-search,.expense-v453-custom,.expense-v453-filter-actions{grid-column:1!important}
}

/* Small phones */
@media(max-width:390px){
  #modal.modal{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  #modal .modal-header,#modal .modal-body,#modal .modal-actions{padding-left:12px;padding-right:12px}
  .kpi-grid.compact{grid-template-columns:1fr!important}
}

/* Wide desktop */
@media(min-width:1280px){
  #modal.modal{width:min(1040px,calc(100vw - 80px));max-width:1040px}
  .driveos-v451b-row{grid-template-columns:150px minmax(0,1fr)}
}
/* DRIVEOS_V454_RESPONSIVE_UI_END */

/* DRIVEOS_V455_FINANCIAL_OBLIGATIONS_CSS_START */
.driveos-v455-plan{grid-column:1/-1!important;width:100%;display:flex;flex-direction:column;gap:18px}
.driveos-v455-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--soft,#f8fafc)}
.driveos-v455-toolbar>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.driveos-v455-toolbar span{font-size:12px;color:var(--muted,#64748b);line-height:1.4}
.driveos-v455-plan>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.driveos-v455-plan>.form-grid>.full{grid-column:1/-1}
.driveos-v455-schedule{border-top:1px solid var(--border,#e5e7eb);padding-top:16px}
.driveos-v455-schedule-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.driveos-v455-schedule-head>div:first-child{display:flex;flex-direction:column;gap:3px}
.driveos-v455-schedule-head span{font-size:12px;color:var(--muted,#64748b)}
.driveos-v455-schedule-actions{display:flex;gap:8px;flex-wrap:wrap}
.driveos-v455-installment{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:13px 14px;margin:9px 0;background:var(--surface,#fff)}
.driveos-v455-installment.locked{background:var(--soft,#f8fafc)}
.driveos-v455-installment-head{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.driveos-v455-installment-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) minmax(160px,1fr);gap:10px;align-items:end}
.driveos-v455-installment-grid .field{margin:0;min-width:0}
.driveos-v455-list-head{display:flex;justify-content:flex-end;margin-bottom:12px}
@media(max-width:700px){
  .driveos-v455-toolbar,.driveos-v455-schedule-head{flex-direction:column;align-items:stretch}
  .driveos-v455-toolbar .btn,.driveos-v455-schedule-actions .btn{width:100%}
  .driveos-v455-plan>.form-grid{grid-template-columns:1fr}
  .driveos-v455-plan>.form-grid>*{grid-column:1!important}
  .driveos-v455-installment{display:block}
  .driveos-v455-installment-head{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:10px}
  .driveos-v455-installment-grid{grid-template-columns:1fr}
}
@media(min-width:1280px){
  .driveos-v455-installment{grid-template-columns:165px minmax(0,1fr)}
}
/* DRIVEOS_V455_FINANCIAL_OBLIGATIONS_CSS_END */

/* DRIVEOS_V456_UX_PRODUCTIVITY_CSS_START */

/* Obligation list owns the full modal width. */
#modal .modal-body>.form-grid>.driveos-v456-obligations{
  grid-column:1/-1!important;
  width:100%;
  min-width:0;
}
.driveos-v456-obligations{display:flex;flex-direction:column;gap:14px}
.v456-ob-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.v456-ob-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(150px,1fr));
  gap:9px;
  flex:1;
  min-width:0;
}
.v456-ob-filters input,.v456-ob-filters select{width:100%;min-width:0}
.v456-new-obligation{flex:0 0 auto;min-height:42px;white-space:nowrap}

.v456-ob-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v456-ob-kpi{
  border:1px solid var(--border,#e5e7eb);
  border-radius:12px;
  background:var(--soft,#f8fafc);
  padding:11px 13px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v456-ob-kpi span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted,#64748b)}
.v456-ob-kpi strong{font-size:20px}
.v456-ob-kpi small{color:var(--muted,#64748b)}

.v456-ob-desktop{border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow:hidden}
.v456-ob-grid{
  display:grid;
  grid-template-columns:minmax(200px,1.8fr) minmax(110px,.9fr) 110px 105px 90px 185px;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-bottom:1px solid var(--border,#e5e7eb);
}
.v456-ob-grid:last-child{border-bottom:0}
.v456-ob-grid-head{
  background:var(--soft,#f8fafc);
  padding-top:10px;padding-bottom:10px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted,#64748b);
}
.v456-ob-grid>div{min-width:0}
.v456-ob-grid>div:not(.v456-ob-actions):not(.v456-ob-main){display:flex;flex-direction:column;gap:3px}
.v456-ob-grid span{font-size:12px;color:var(--muted,#64748b);overflow-wrap:anywhere}
.v456-ob-main{display:flex;flex-direction:column;gap:3px}
.v456-ob-main strong{font-size:13px;overflow-wrap:anywhere}
.v456-ob-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}
.v456-ob-actions .tiny-btn{min-height:34px}

.v456-ob-mobile{display:none}
.v456-ob-card{
  border:1px solid var(--border,#e5e7eb);
  border-radius:13px;
  background:var(--surface,#fff);
  padding:13px;
}
.v456-ob-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.v456-ob-card-head>div{display:flex;flex-direction:column;gap:3px}
.v456-ob-card-head>div>span{font-size:12px;color:var(--muted,#64748b)}
.v456-ob-card-data{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}
.v456-ob-card-data>div{display:flex;flex-direction:column;gap:2px}
.v456-ob-card-data span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted,#64748b)}
.v456-ob-card-data strong{font-size:13px}
.v456-ob-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.v456-ob-card-actions .btn{width:100%;min-height:42px}

/* Real second-window action in modal header. */
#modal .modal-header .driveos-v456-popout-btn{
  position:absolute;
  right:62px;
  top:11px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  z-index:4;
}
#modal .modal-header>div{padding-right:190px!important}

/* Dedicated editor window: remove visual noise behind the dialog. */
body.driveos-v456-popout-mode #sidebar,
body.driveos-v456-popout-mode header,
body.driveos-v456-popout-mode .app-header{
  visibility:hidden!important;
}
body.driveos-v456-popout-mode #modal.modal{
  width:min(1120px,calc(100vw - 20px));
  max-width:1120px;
  max-height:calc(100dvh - 20px);
}
body.driveos-v456-popout-mode #modalForm{max-height:calc(100dvh - 20px)}
body.driveos-v456-popout-mode #modal .modal-header>div{padding-right:48px!important}

@media(max-width:1050px){
  .v456-ob-filters{grid-template-columns:1.4fr 1fr 1fr}
  .v456-ob-filters select:last-child{grid-column:auto}
  .v456-ob-grid{
    grid-template-columns:minmax(180px,1.7fr) 105px 105px 95px 80px 168px;
    gap:9px;
    padding-left:11px;padding-right:11px;
  }
}

@media(max-width:820px){
  .v456-ob-top{align-items:stretch;flex-direction:column}
  .v456-ob-filters{grid-template-columns:1fr 1fr}
  .v456-new-obligation{width:100%}
  .v456-ob-desktop{display:none}
  .v456-ob-mobile{display:flex;flex-direction:column;gap:10px}
  .v456-ob-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:640px){
  #modal .modal-header .driveos-v456-popout-btn{
    right:54px;
    top:9px;
    width:40px;
    min-width:40px;
    padding:0;
    justify-content:center;
  }
  #modal .modal-header .driveos-v456-popout-btn span:last-child{display:none}
  #modal .modal-header>div{padding-right:88px!important}
  .v456-ob-filters{grid-template-columns:1fr}
  .v456-ob-summary{grid-template-columns:1fr}
  .v456-ob-card-data{grid-template-columns:1fr 1fr}
}

@media(max-width:390px){
  .v456-ob-card-data{grid-template-columns:1fr}
  .v456-ob-card-actions{grid-template-columns:1fr}
}

/* DRIVEOS_V456_UX_PRODUCTIVITY_CSS_END */

/* DRIVEOS_V457_UNIFIED_EXPENSES_CSS_START */
.expense-v457-quick{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 14px}
.expense-v457-quick .tiny-btn{min-height:34px;border-radius:999px;padding:6px 12px;background:var(--surface,#fff)}
.expense-v457-quick .tiny-btn.active{background:#e8f0ff;border-color:#8fb2ff;color:#1554d1;font-weight:800}
#expenseKpis{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){#expenseKpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#expenseKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){
  #expenseKpis{grid-template-columns:1fr!important}
  .expense-v457-quick{display:grid;grid-template-columns:1fr 1fr}
  .expense-v457-quick .tiny-btn{width:100%}
}
/* DRIVEOS_V457_UNIFIED_EXPENSES_CSS_END */


/* DRIVEOS_V458_ACCOUNTS_PAYABLE_CONTROL_CSS_START */
.v458-plan-control-shell{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--border,#dfe5ee);
  border-radius:14px;
  background:var(--card,#fff);
}
.v458-plan-control-head,
.v458-installment-main,
.v458-recon-line,
.v458-delete-ready{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.v458-plan-control-head strong,
.v458-installment-main strong{display:block}
.v458-plan-control-head small,
.v458-installment-main small,
.v458-installment-state small,
.v458-delete-blocked small{display:block;margin-top:3px;color:var(--muted,#667085)}
.v458-plan-control-body{margin-top:14px}
.v458-plan-control-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.v458-plan-control-summary span{
  padding:6px 9px;border-radius:999px;background:#f2f5f9;font-size:12px;font-weight:700
}
.v458-plan-control-list{display:grid;gap:9px}
.v458-installment-control{
  padding:11px;border:1px solid var(--border,#e2e7ef);border-radius:11px;background:#fafbfd
}
.v458-installment-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v458-recon-line{
  margin-top:9px;padding-top:9px;border-top:1px dashed var(--border,#dfe5ee);font-size:12px
}
.v458-delete-ready,.v458-delete-blocked{
  margin-top:14px;padding:12px;border-radius:11px
}
.v458-delete-ready{border:1px solid #f3c7c7;background:#fff8f8}
.v458-delete-blocked{display:grid;gap:3px;border:1px solid #f3d9a5;background:#fffaf0}
.danger-text{color:#b42318}
@media(max-width:760px){
  .v458-plan-control-head,
  .v458-installment-main,
  .v458-recon-line,
  .v458-delete-ready{align-items:stretch;flex-direction:column}
  .v458-installment-state{justify-content:flex-start}
}
/* DRIVEOS_V458_ACCOUNTS_PAYABLE_CONTROL_CSS_END */


/* DRIVEOS_V459_EXPENSE_ACTIONS_UX_CSS_START */
#modal .modal-actions .v459-footer-delete{
  margin-right:auto;
  border-color:#efb4b4;
  color:#b42318;
  background:#fff;
}
#modal .modal-actions .v459-footer-delete:hover{
  background:#fff5f5;
}
.v458-plan-control-head [data-action="v458-load-plan-control"]{
  display:none !important;
}
.v458-plan-control-head small{
  max-width:560px;
}
.v458-plan-control-body{
  margin-top:10px;
}
.v458-delete-ready{
  display:none !important;
}
@media(max-width:760px){
  #modal .modal-actions{gap:8px}
  #modal .modal-actions .v459-footer-delete{margin-right:auto}
}
/* DRIVEOS_V459_EXPENSE_ACTIONS_UX_CSS_END */
\n\n/* DRIVEOS_V4512B_EXPENSE_TABLE_POLISH_CSS_START */\n#expensesTable td:nth-child(3) strong.v4512-plate{\n  display:inline-block;\n  white-space:nowrap !important;\n  word-break:keep-all !important;\n  overflow-wrap:normal !important;\n  min-width:max-content;\n}\n#expensesTable .v4512-bank-wait{\n  background:#eef4ff !important;\n  color:#315a9b !important;\n  border:1px solid #d7e3f8 !important;\n}\n#expensesTable .v4512-pending{\n  background:#f3f4f6 !important;\n  color:#4b5563 !important;\n  border:1px solid #e5e7eb !important;\n}\n#expensesTable td.v4512-docs-cell{\n  white-space:nowrap;\n}\n#expensesTable td.v4512-docs-cell .table-actions,\n#expensesTable td.v4512-docs-cell > div{\n  display:flex;\n  flex-wrap:nowrap;\n  align-items:center;\n  gap:5px;\n}\n#expensesTable td.v4512-docs-cell a,\n#expensesTable td.v4512-docs-cell button{\n  flex:0 0 auto;\n  white-space:nowrap;\n}\n/* DRIVEOS_V4512B_EXPENSE_TABLE_POLISH_CSS_END */\n
/* DRIVEOS_V4513A_EXPENSE_TABLE_VISUAL_FIX_START */
#expensesTable th:nth-child(3),
#expensesTable td:nth-child(3){
  min-width:118px !important;
  width:118px !important;
}
#expensesTable .v4513a-plate{
  display:inline-block !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
#expensesTable .badge.v4513a-bank-wait{
  background:#eef3f8 !important;
  color:#42566c !important;
  border:1px solid #dce5ee !important;
}
#expensesTable .badge.v4513a-pending{
  background:#f2f4f7 !important;
  color:#475467 !important;
  border:1px solid #e4e7ec !important;
}
#expensesTable th:nth-child(8),
#expensesTable td:nth-child(8){
  min-width:128px !important;
}
#expensesTable .v4513a-docs-inline{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:5px !important;
  white-space:nowrap !important;
}
#expensesTable .v4513a-docs-inline a,
#expensesTable .v4513a-docs-inline button{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  white-space:nowrap !important;
}
/* DRIVEOS_V4513A_EXPENSE_TABLE_VISUAL_FIX_END */

/* DRIVEOS_V4514_EXPENSE_SORTING_START */
.v4514-sort-controls{
  display:contents;
}
.v4514-sort-field{
  min-width:170px;
}
.v4514-sort-direction{
  min-width:145px;
}
.v4514-sort-field select,
.v4514-sort-direction select{
  width:100%;
}
@media(max-width:760px){
  .v4514-sort-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    grid-column:1/-1;
  }
  .v4514-sort-field,
  .v4514-sort-direction{
    min-width:0;
  }
}
/* DRIVEOS_V4514_EXPENSE_SORTING_END */


/* DRIVEOS_UNIFIED_EXPENSE_ENTRY_V1_START */
.driveos-unified-installment-block{
  margin-top:14px;
}
.driveos-unified-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0;
  color:var(--muted,#667085);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.driveos-unified-divider::before,
.driveos-unified-divider::after{
  content:"";
  height:1px;
  background:var(--border,#e2e8f0);
  flex:1;
}
.driveos-unified-expense-option{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  padding:15px 16px;
  border:1px solid #d9e2ef;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.driveos-unified-expense-option:hover{
  border-color:#b9c9df;
  background:#f8fafc;
}
.driveos-unified-option-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef4ff;
  color:#2457a6;
  font-size:15px;
  font-weight:800;
  flex:0 0 auto;
}
.driveos-unified-option-copy{
  display:grid;
  gap:3px;
  flex:1;
}
.driveos-unified-option-copy strong{
  color:var(--text,#101828);
}
.driveos-unified-option-copy small{
  color:var(--muted,#667085);
  line-height:1.35;
}
.driveos-unified-option-arrow{
  font-size:20px;
  color:#667085;
  flex:0 0 auto;
}
@media(max-width:760px){
  .driveos-unified-expense-option{
    align-items:flex-start;
    padding:13px;
  }
}
/* DRIVEOS_UNIFIED_EXPENSE_ENTRY_V1_END */


/* DRIVEOS_V4515_SINGLE_EXPENSE_FORM_START */
.driveos-v4515-single{
  display:grid;
  gap:16px;
}
.driveos-v4515-section{
  border:1px solid #dde5ee;
  border-radius:14px;
  padding:16px;
  background:#fff;
}
.driveos-v4515-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.driveos-v4515-section-head > div{
  display:grid;
  gap:3px;
}
.driveos-v4515-section-head strong{
  font-size:15px;
}
.driveos-v4515-section-head span{
  color:#64748b;
  font-size:12px;
}
.driveos-v4515-grid{
  align-items:start;
}
.driveos-v4515-plan-fields{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #e5eaf0;
}
.driveos-v4515-generate-wrap .btn{
  width:100%;
}
.driveos-v4515-schedule-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:18px 0 10px;
}
.driveos-v4515-schedule-head > div{
  display:grid;
  gap:2px;
}
.driveos-v4515-schedule-head span{
  color:#64748b;
  font-size:12px;
}
#driveosV4515Schedule{
  display:grid;
  gap:9px;
}
.driveos-v4515-installment{
  display:grid;
  align-items:end;
  gap:10px;
  padding:12px;
  border:1px solid #e1e7ef;
  border-radius:12px;
  background:#fafbfd;
}
.driveos-v4515-installment.with-reference{
  grid-template-columns:100px minmax(150px,1fr) minmax(130px,.75fr) minmax(160px,1fr) auto;
}
.driveos-v4515-installment.no-reference{
  grid-template-columns:100px minmax(160px,1fr) minmax(140px,.8fr) auto;
}
.driveos-v4515-installment-index{
  align-self:center;
  font-weight:800;
  white-space:nowrap;
}
.driveos-v4515-installment .field{
  margin:0;
}
.driveos-v4515-schedule-total{
  margin-top:10px;
  padding:10px 12px;
  border-radius:9px;
  background:#f6f8fb;
  color:#52627a;
  font-size:13px;
}
.driveos-v4515-receipt-field .btn{
  margin-top:7px;
}
#modal:has(#driveosV4515SingleExpense) .modal-dialog,
.modal:has(#driveosV4515SingleExpense) .modal-dialog{
  width:min(1100px,96vw);
}
@media(max-width:900px){
  .driveos-v4515-installment.with-reference,
  .driveos-v4515-installment.no-reference{
    grid-template-columns:1fr 1fr;
  }
  .driveos-v4515-installment-index{
    grid-column:1/-1;
  }
}
@media(max-width:640px){
  .driveos-v4515-section{
    padding:12px;
  }
  .driveos-v4515-installment.with-reference,
  .driveos-v4515-installment.no-reference{
    grid-template-columns:1fr;
  }
  .driveos-v4515-schedule-head{
    align-items:stretch;
    flex-direction:column;
  }
  .driveos-v4515-schedule-head .btn{
    width:100%;
  }
}
/* DRIVEOS_V4515_SINGLE_EXPENSE_FORM_END */

/* DRIVEOS_V4515A_FULLWIDTH_EXPENSE_LAYOUT_START */

#modal:has(#driveosV4515SingleExpense) #modalForm{
  width:min(1420px,96vw) !important;
  max-width:min(1420px,96vw) !important;
}

#modalBody:has(#driveosV4515SingleExpense){
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding-left:22px !important;
  padding-right:22px !important;
}

#driveosV4515SingleExpense{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

#driveosV4515SingleExpense > .driveos-v4515-section{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

#driveosV4515SingleExpense .driveos-v4515-grid,
#driveosV4515SingleExpense .form-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:18px !important;
  row-gap:14px !important;
}

#driveosV4515PaymentSection{
  width:100% !important;
  max-width:none !important;
}

#driveosV4515PlanFields{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-top:18px !important;
}

#driveosV4515Schedule{
  width:100% !important;
  max-width:none !important;
}

#driveosV4515Schedule .driveos-v4515-installment{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  grid-template-columns:110px minmax(180px,1.1fr) minmax(150px,.8fr) minmax(180px,1fr) auto !important;
}

#modal:has(#driveosV4515SingleExpense) .modal-actions{
  width:100% !important;
  box-sizing:border-box !important;
}

@media(min-width:1100px){
  #driveosV4515SingleExpense .driveos-v4515-section{
    padding:18px 20px !important;
  }
}

@media(max-width:900px){
  #modal:has(#driveosV4515SingleExpense) #modalForm{
    width:96vw !important;
    max-width:96vw !important;
  }

  #driveosV4515SingleExpense .driveos-v4515-grid,
  #driveosV4515SingleExpense .form-grid{
    grid-template-columns:1fr 1fr !important;
  }

  #driveosV4515Schedule .driveos-v4515-installment{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  #modalBody:has(#driveosV4515SingleExpense){
    padding-left:12px !important;
    padding-right:12px !important;
  }

  #driveosV4515SingleExpense .driveos-v4515-grid,
  #driveosV4515SingleExpense .form-grid{
    grid-template-columns:1fr !important;
  }

  #driveosV4515Schedule .driveos-v4515-installment{
    grid-template-columns:1fr !important;
  }
}

/* DRIVEOS_V4515A_FULLWIDTH_EXPENSE_LAYOUT_END */

/* DRIVEOS_V4515B_FULLWIDTH_EXPENSE_LAYOUT_START */

#modal.driveos-v4515b-expense-modal #modalForm,
#modalForm.driveos-v4515b-expense-form{
  width:min(1440px, calc(100vw - 56px)) !important;
  max-width:min(1440px, calc(100vw - 56px)) !important;
}

#modal.driveos-v4515b-expense-modal #modalBody,
#modalBody.driveos-v4515b-expense-body{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:20px 24px 26px !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  gap:16px !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense > .driveos-v4515-section{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .hidden,
#modal.driveos-v4515b-expense-modal #driveosV4515FuelSection.hidden,
#modal.driveos-v4515b-expense-modal #driveosV4515PlanFields.hidden{
  display:none !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .driveos-v4515-grid,
#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:100% !important;
  max-width:none !important;
  column-gap:20px !important;
  row-gap:14px !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .field{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense input,
#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense select,
#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense textarea{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515PaymentSection{
  width:100% !important;
  max-width:none !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515PlanFields{
  width:100% !important;
  max-width:none !important;
  margin-top:18px !important;
  padding-top:18px !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515Schedule{
  width:100% !important;
  max-width:none !important;
}

#modal.driveos-v4515b-expense-modal #driveosV4515Schedule .driveos-v4515-installment{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  grid-template-columns:105px minmax(190px,1.1fr) minmax(150px,.75fr) minmax(180px,1fr) auto !important;
}

#modal.driveos-v4515b-expense-modal .modal-actions{
  width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  #modal.driveos-v4515b-expense-modal #modalForm,
  #modalForm.driveos-v4515b-expense-form{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
  }

  #modal.driveos-v4515b-expense-modal #modalBody{
    padding:16px !important;
  }

  #modal.driveos-v4515b-expense-modal #driveosV4515Schedule .driveos-v4515-installment{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:640px){
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .driveos-v4515-grid,
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .form-grid{
    grid-template-columns:1fr !important;
  }

  #modal.driveos-v4515b-expense-modal #driveosV4515Schedule .driveos-v4515-installment{
    grid-template-columns:1fr !important;
  }
}

/* DRIVEOS_V4515B_FULLWIDTH_EXPENSE_LAYOUT_END */

/* DRIVEOS_V4515C_MODAL_WIDTH_FOOTER_FIX_START */

/* 1. A largura pertence ao DIALOG, não ao FORM.
      Isso mantém X / Cancelar / Salvar dentro da área visível. */
#modal:has(#driveosV4515SingleExpense),
#modal.driveos-v4515b-expense-modal{
  width:min(1440px, calc(100vw - 56px)) !important;
  max-width:min(1440px, calc(100vw - 56px)) !important;
  box-sizing:border-box !important;
}

/* O form acompanha exatamente o dialog. */
#modal:has(#driveosV4515SingleExpense) #modalForm,
#modal.driveos-v4515b-expense-modal #modalForm,
#modalForm.driveos-v4515b-expense-form{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* 2. openModal() envolve todo o HTML em:
      #modalBody > .form-grid
      Esse wrapper era o responsável por manter o formulário em meia tela. */
#modal:has(#driveosV4515SingleExpense) #modalBody,
#modal.driveos-v4515b-expense-modal #modalBody{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

#modal:has(#driveosV4515SingleExpense) #modalBody > .form-grid,
#modal.driveos-v4515b-expense-modal #modalBody > .form-grid{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* O formulário único ocupa a largura toda do wrapper. */
#modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense,
#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Cards: Despesa > Pagamento > Cronograma/Classificação em 100%. */
#modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense > .driveos-v4515-section,
#modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense > .driveos-v4515-section{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Mantém os blocos condicionais realmente ocultos. */
#modal:has(#driveosV4515SingleExpense) #driveosV4515FuelSection.hidden,
#modal:has(#driveosV4515SingleExpense) #driveosV4515PlanFields.hidden,
#modal.driveos-v4515b-expense-modal #driveosV4515FuelSection.hidden,
#modal.driveos-v4515b-expense-modal #driveosV4515PlanFields.hidden{
  display:none !important;
}

/* 3. Rodapé sempre visível e dentro do dialog. */
#modal:has(#driveosV4515SingleExpense) .modal-actions,
#modal.driveos-v4515b-expense-modal .modal-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  position:sticky !important;
  bottom:0 !important;
  z-index:20 !important;
  background:#fff !important;
  border-top:1px solid #e5eaf0 !important;
  padding:14px 20px !important;
}

/* Garante que os botões não sumam por regras antigas do modal. */
#modal:has(#driveosV4515SingleExpense) #modalCancel,
#modal:has(#driveosV4515SingleExpense) .modal-actions button[type="submit"],
#modal.driveos-v4515b-expense-modal #modalCancel,
#modal.driveos-v4515b-expense-modal .modal-actions button[type="submit"]{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Cabeçalho continua na largura correta e o X fica visível. */
#modal:has(#driveosV4515SingleExpense) .modal-header,
#modal.driveos-v4515b-expense-modal .modal-header{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

#modal:has(#driveosV4515SingleExpense) #modalClose,
#modal.driveos-v4515b-expense-modal #modalClose{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 0 auto !important;
}

/* Desktop: campos internos em duas colunas, usando todo o espaço. */
@media(min-width:641px){
  #modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense .driveos-v4515-grid,
  #modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense .form-grid,
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .driveos-v4515-grid,
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .form-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* Mobile */
@media(max-width:640px){
  #modal:has(#driveosV4515SingleExpense),
  #modal.driveos-v4515b-expense-modal{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }

  #modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense .driveos-v4515-grid,
  #modal:has(#driveosV4515SingleExpense) #driveosV4515SingleExpense .form-grid,
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .driveos-v4515-grid,
  #modal.driveos-v4515b-expense-modal #driveosV4515SingleExpense .form-grid{
    grid-template-columns:1fr !important;
  }
}

/* DRIVEOS_V4515C_MODAL_WIDTH_FOOTER_FIX_END */

/* DRIVEOS_V4516_EXPENSE_MASTER_DATA_CSS_START */
#modal:has(#driveosV4515SingleExpense) .modal-actions,
#modal.driveos-v4515b-expense-modal .modal-actions{
  align-self:stretch !important;
  justify-content:flex-end !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px 24px !important;
  box-sizing:border-box !important;
}
#modal:has(#driveosV4515SingleExpense) .modal-actions > button,
#modal.driveos-v4515b-expense-modal .modal-actions > button{
  flex:0 0 auto !important;
  min-width:110px;
}
.driveos-v4516-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  width:100%;
  align-items:center;
}
.driveos-v4516-control select,
.driveos-v4516-control input{min-width:0;width:100%;}
.driveos-v4516-manage-btn{height:42px;white-space:nowrap;}
.driveos-v4516-manager{
  position:absolute;
  inset:0;
  z-index:80;
  display:flex;
  justify-content:flex-end;
  background:rgba(15,23,42,.28);
  border-radius:inherit;
}
.driveos-v4516-manager-card{
  width:min(620px,92%);
  height:100%;
  overflow:auto;
  background:#fff;
  border-left:1px solid #dfe6ee;
  box-shadow:-16px 0 40px rgba(15,23,42,.14);
  padding:20px;
  box-sizing:border-box;
}
.driveos-v4516-manager-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;
}
.driveos-v4516-manager-head > div{display:grid;gap:3px;}
.driveos-v4516-manager-head strong{font-size:18px;}
.driveos-v4516-manager-head span,.driveos-v4516-manager-note{color:#64748b;font-size:12px;}
.driveos-v4516-add-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:14px;
}
.driveos-v4516-add-row input{width:100%;min-width:0;}
.driveos-v4516-manager-list{display:grid;gap:8px;}
.driveos-v4516-manager-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;
  padding:10px;border:1px solid #e2e8f0;border-radius:10px;
}
.driveos-v4516-manager-row.is-archived{opacity:.68;background:#f8fafc;}
.driveos-v4516-manager-row input{width:100%;min-width:0;}
.driveos-v4516-manager-note{margin-top:16px;padding:10px 12px;background:#f8fafc;border-radius:9px;}
@media(max-width:640px){
  #modal:has(#driveosV4515SingleExpense) .modal-actions{padding:12px !important;}
  #modal:has(#driveosV4515SingleExpense) .modal-actions > button{min-width:0;flex:1 1 0 !important;}
  .driveos-v4516-control{grid-template-columns:1fr;}
  .driveos-v4516-manage-btn{width:100%;}
  .driveos-v4516-manager-card{width:100%;}
  .driveos-v4516-manager-row{grid-template-columns:1fr 1fr;}
  .driveos-v4516-manager-row input{grid-column:1/-1;}
}
/* DRIVEOS_V4516_EXPENSE_MASTER_DATA_CSS_END */

/* ===== DriveOS - compact vehicle cards ===== */

#vehiclesGrid.entity-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

#vehiclesGrid .entity-card{
  padding:14px;
  border-radius:14px;
}

#vehiclesGrid .entity-icon{
  width:38px;
  height:38px;
  border-radius:10px;
  font-size:14px;
}

#vehiclesGrid .entity-card h3{
  font-size:15px;
  margin:8px 0 2px;
}

#vehiclesGrid .entity-card p{
  font-size:11px;
  line-height:1.3;
}

#vehiclesGrid .stats-row{
  gap:7px;
  margin-top:12px;
}

#vehiclesGrid .mini-stat{
  padding:8px 9px;
  border-radius:8px;
  min-height:44px;
}

#vehiclesGrid .mini-stat span{
  font-size:9px;
}

#vehiclesGrid .mini-stat strong{
  margin-top:2px;
  font-size:12px;
}

#vehiclesGrid .entity-card-actions{
  margin-top:10px;
}

#vehiclesGrid .tiny-btn{
  padding:5px 9px;
  font-size:11px;
}

/* Responsivo */
@media (max-width:1400px){
  #vehiclesGrid.entity-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1000px){
  #vehiclesGrid.entity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:650px){
  #vehiclesGrid.entity-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   DRIVEOS - ADMIN TRIPS MANAGEMENT
   ============================================================ */

#page-trips .admin-trip-main-filters{
  margin-bottom:10px;
}

#page-trips .admin-trip-filters{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

#page-trips .admin-trip-filter{
  min-width:145px;
}

#page-trips .admin-trip-filter label{
  display:block;
  margin:0 0 5px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

#page-trips .admin-trip-filter select,
#page-trips .admin-trip-filter input{
  width:100%;
  height:40px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:10px;
  padding:8px 10px;
  outline:none;
  color:var(--text);
}

#page-trips .admin-trip-filter select:focus,
#page-trips .admin-trip-filter input:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px #dbeafe;
}

#page-trips .admin-trip-date-range{
  display:flex;
  gap:10px;
}

#page-trips .admin-trip-date-range.hidden{
  display:none;
}

#page-trips .admin-trip-filter-actions{
  display:flex;
  gap:8px;
  margin-left:auto;
}

#page-trips .admin-trip-kpis{
  margin-top:4px;
}

#page-trips .data-table{
  min-width:1540px;
}

#page-trips .data-table th{
  white-space:nowrap;
}

#page-trips .admin-trip-route{
  display:block;
  min-width:120px;
  max-width:190px;
  line-height:1.35;
}

#page-trips .admin-trip-payment,
#page-trips .admin-trip-commission{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  white-space:nowrap;
}

#page-trips .admin-trip-payment small{
  color:var(--muted);
  font-size:9px;
}

#page-trips .admin-trip-commission small{
  display:block;
}

#page-trips .admin-trip-actions{
  flex-wrap:wrap;
  min-width:95px;
}

.admin-trip-danger-zone{
  margin-top:18px;
  padding:14px;
  border:1px solid #fecaca;
  border-radius:12px;
  background:#fffafa;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.admin-trip-danger-zone strong{
  display:block;
  color:#991b1b;
  font-size:13px;
}

.admin-trip-danger-zone span{
  display:block;
  margin-top:4px;
  color:#7f1d1d;
  font-size:11px;
  line-height:1.4;
}

.admin-trip-delete-btn{
  flex:0 0 auto;
  border:1px solid #ef4444 !important;
  background:#fff !important;
  color:#b91c1c !important;
}

.admin-trip-delete-btn:hover{
  background:#fef2f2 !important;
}

@media(max-width:760px){
  #page-trips .admin-trip-filters{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #page-trips .admin-trip-filter{
    min-width:0;
  }

  #page-trips .admin-trip-date-range{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #page-trips .admin-trip-filter-actions{
    grid-column:1/-1;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #page-trips .admin-trip-filter-actions .btn{
    width:100%;
  }

  .admin-trip-danger-zone{
    align-items:stretch;
    flex-direction:column;
  }

  .admin-trip-delete-btn{
    width:100%;
  }
}

/* ============================================================
   DRIVEOS ADMIN TRIPS - LAYOUT V2
   ============================================================ */

#page-trips .data-table th{
  text-align:center;
  vertical-align:middle;
  padding-left:12px;
  padding-right:12px;
}

#page-trips .data-table td{
  vertical-align:middle;
  padding-left:12px;
  padding-right:12px;
}

#page-trips .data-table th:first-child,
#page-trips .data-table td:first-child{
  padding-left:18px;
}

#page-trips .badge.trip-open{
  background:#e8f0fe;
  color:#315b8a;
  border:1px solid #d4e2f5;
}

#page-trips .badge.trip-scheduled{
  background:#eef2f7;
  color:#475569;
  border:1px solid #e2e8f0;
}

#page-trips .admin-trip-table-totals{
  min-height:58px;
  padding:12px 18px;
  border-top:1px solid var(--line);
  background:#fbfdff;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:38px;
}

#page-trips .admin-trip-table-total{
  min-width:145px;
  text-align:right;
}

#page-trips .admin-trip-table-total span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

#page-trips .admin-trip-table-total strong{
  display:block;
  margin-top:4px;
  font-size:17px;
  font-weight:850;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

#page-trips .admin-trip-table-total:last-child strong{
  color:#1d4ed8;
}

@media(max-width:760px){
  #page-trips .admin-trip-table-totals{
    justify-content:space-between;
    gap:14px;
  }

  #page-trips .admin-trip-table-total{
    min-width:0;
    flex:1;
  }
}

/* ============================================================
   DRIVEOS ADMIN TRIPS - ALIGNMENT + COLUMN TOTALS V3
   ============================================================ */

/* Cabeçalho e conteúdo: tudo centralizado */
#page-trips .data-table th,
#page-trips .data-table td{
  text-align:center !important;
  vertical-align:middle !important;
}

/* Remove tratamentos antigos que puxavam conteúdo */
#page-trips .data-table th:first-child,
#page-trips .data-table td:first-child{
  padding-left:12px !important;
}

#page-trips .admin-trip-route,
#page-trips .nowrap,
#page-trips .money{
  text-align:center !important;
}

#page-trips .admin-trip-route{
  margin-left:auto;
  margin-right:auto;
}

#page-trips .admin-trip-payment,
#page-trips .admin-trip-commission{
  align-items:center !important;
  justify-content:center;
  text-align:center !important;
}

#page-trips .admin-trip-actions,
#page-trips .table-actions{
  justify-content:center !important;
}

/* Badges centralizados */
#page-trips .data-table td .badge{
  margin-left:auto;
  margin-right:auto;
}

/* Totalizador antigo não aparece mais */
#page-trips #tripTableTotals{
  display:none !important;
}

/* Rodapé integrado à própria tabela */
#page-trips .data-table tfoot td{
  background:#fbfdff;
  border-top:1px solid var(--line);
  border-bottom:0;
  padding-top:13px;
  padding-bottom:13px;
  vertical-align:middle;
}

#page-trips .admin-trip-total-cell{
  white-space:nowrap;
  text-align:center !important;
}

#page-trips .admin-trip-total-cell span{
  display:block;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

#page-trips .admin-trip-total-cell strong{
  display:block;
  margin-top:4px;
  font-size:16px;
  font-weight:850;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

#page-trips .admin-trip-commission-total strong{
  color:#1d4ed8;
}

/* ============================================================
   DRIVER - LOAD NUMBER SEQUENCE
   ============================================================ */

.driver-load-sequence-box{
  margin-top:4px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.driver-load-sequence-info strong{
  display:block;
  font-size:13px;
  color:var(--text);
}

.driver-load-sequence-info span{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:var(--muted);
}

@media(max-width:760px){
  .driver-load-sequence-box{
    flex-direction:column;
    align-items:stretch;
  }

  .driver-load-sequence-box .btn{
    width:100%;
  }
}


/* DRIVEOS_BANK_BALANCE_CSS_START */
.bank-opening-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bank-opening-row{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) minmax(150px,.8fr) minmax(150px,.8fr);
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
}

.bank-opening-name{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-self:center;
}

.bank-opening-name span{
  font-size:12px;
  color:var(--muted);
}

@media(max-width:760px){
  .bank-opening-row{
    grid-template-columns:1fr;
  }
}
/* DRIVEOS_BANK_BALANCE_CSS_END */

/* DRIVEOS_BANK_STATUS_SIMPLE_CSS_START */

.bank-status-reconciled{
  background:#dcfce7 !important;
  color:#15803d !important;
  border:1px solid #bbf7d0 !important;
}

.bank-status-review{
  background:#fee2e2 !important;
  color:#b91c1c !important;
  border:1px solid #fecaca !important;
}

.bank-status-pending{
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  border:1px solid #bfdbfe !important;
}

/* DRIVEOS_BANK_STATUS_SIMPLE_CSS_END */

/* DRIVEOS_BANK_ALLOCATION_WIDTH_START */

#bankTransactionsTable table th:nth-child(6),
#bankTransactionsTable table td:nth-child(6){
  min-width:140px;
  width:140px;
  white-space:nowrap;
}

#bankTransactionsTable table td:nth-child(6) strong,
#bankTransactionsTable table td:nth-child(6) .badge{
  white-space:nowrap;
}

/* DRIVEOS_BANK_ALLOCATION_WIDTH_END */


/* DRIVEOS_BANK_RESOLVE_LAYOUT_START */

#modal:has(.bank-resolve-shell){
  width:min(820px,calc(100vw - 32px));
  max-width:820px;
}

#modal:has(.bank-resolve-shell) #modalBody{
  padding:20px 24px 24px;
}

#modal:has(.bank-resolve-shell) #modalBody > .form-grid{
  display:block;
}

.bank-resolve-shell{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.bank-resolve-transaction{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fafc;
}

.bank-resolve-transaction-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.bank-resolve-transaction-main > strong{
  font-size:15px;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bank-resolve-transaction-main > span{
  color:var(--muted);
  font-size:13px;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.bank-resolve-section{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.bank-resolve-section-title{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.bank-resolve-section-title strong{
  font-size:14px;
}

.bank-resolve-section-title span{
  font-size:12px;
  color:var(--muted);
}

.bank-resolve-section-title.compact{
  margin-bottom:-2px;
}

.bank-resolve-primary-grid,
.bank-resolve-secondary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.bank-resolve-option{
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:14px;
  text-align:left;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:84px;
  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.bank-resolve-option:hover{
  border-color:#94a3b8;
  background:#f8fafc;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  transform:translateY(-1px);
}

.bank-resolve-option-primary{
  min-height:100px;
  background:#f8fbff;
  border-color:#dbeafe;
}

.bank-resolve-option-primary:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}

.bank-resolve-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#dbeafe;
  color:#1d4ed8;
  font-weight:800;
  font-size:17px;
}

.bank-resolve-icon.subtle{
  background:#f1f5f9;
  color:#475569;
  font-size:14px;
}

.bank-resolve-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.bank-resolve-copy strong{
  font-size:14px;
  color:var(--text);
  line-height:1.3;
}

.bank-resolve-copy small{
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}

.bank-resolve-other{
  padding-top:2px;
}

.bank-resolve-ignore{
  width:100%;
  border:1px dashed #cbd5e1;
  background:#f8fafc;
  border-radius:10px;
  padding:11px 14px;
  cursor:pointer;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.bank-resolve-ignore:hover{
  background:#f1f5f9;
  border-color:#94a3b8;
}

.bank-resolve-ignore span{
  font-size:13px;
  font-weight:700;
  color:#475569;
}

.bank-resolve-ignore small{
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}

@media(max-width:680px){

  #modal:has(.bank-resolve-shell) #modalBody{
    padding:16px;
  }

  .bank-resolve-primary-grid,
  .bank-resolve-secondary-grid{
    grid-template-columns:1fr;
  }

  .bank-resolve-option,
  .bank-resolve-option-primary{
    min-height:0;
  }
}

/* DRIVEOS_BANK_RESOLVE_LAYOUT_END */

/* DRIVEOS_LOAN_ENTRY_V1_CSS_START */

.driveos-loan-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px;
  margin:6px 0 18px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fafc;
}

.driveos-loan-summary > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.driveos-loan-summary span{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  font-weight:700;
}

.driveos-loan-summary strong{
  font-size:18px;
}

.driveos-loan-cost-field input[readonly]{
  background:#f8fafc;
  font-weight:700;
}

.driveos-loan-treatment-note{
  display:block;
  margin-top:5px;
  color:var(--muted);
}

@media(max-width:700px){
  .driveos-loan-summary{
    grid-template-columns:1fr;
  }
}

/* DRIVEOS_LOAN_ENTRY_V1_CSS_END */

/* =========================================================
   DRIVEOS SIDEBAR GROUPS V1
   ========================================================= */

.driveos-nav{
  display:flex;
  flex-direction:column;
  gap:0;
}

.driveos-nav-main{
  margin-bottom:12px;
}

.driveos-nav-group{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:8px;
}

.driveos-nav-group + .driveos-nav-group{
  padding-top:11px;
  margin-top:11px;
  border-top:1px solid rgba(148,163,184,.12);
}

.driveos-nav-group-title{
  padding:0 14px;
  margin-bottom:5px;

  font-size:10px;
  line-height:18px;
  font-weight:800;

  letter-spacing:.085em;
  text-transform:uppercase;

  color:#64748b;

  user-select:none;
}

.driveos-nav button{
  position:relative;
  display:flex;
  align-items:center;

  gap:11px;

  min-height:40px;

  padding-left:13px;
  padding-right:12px;

  border-radius:9px;
}

.driveos-nav-icon{
  flex:0 0 22px;

  width:22px;

  text-align:center;

  font-size:15px;
  line-height:1;

  opacity:.8;
}

.driveos-nav button > span:last-child{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.driveos-nav button.active .driveos-nav-icon{
  opacity:1;
}

.driveos-nav button.active::before{
  content:"";

  position:absolute;

  left:0;
  top:8px;
  bottom:8px;

  width:3px;

  border-radius:0 4px 4px 0;

  background:currentColor;
}

@media(max-height:820px){

  .driveos-nav-group{
    margin-top:5px;
  }

  .driveos-nav-group + .driveos-nav-group{
    margin-top:6px;
    padding-top:6px;
  }

  .driveos-nav-group-title{
    margin-bottom:2px;
  }

  .driveos-nav button{
    min-height:36px;
  }

}

/* =========================================================
   END DRIVEOS SIDEBAR GROUPS V1
   ========================================================= */


/* =========================================================
   DRIVEOS ACCOUNTS SPLIT V1
   ========================================================= */

.accounts-split-grid{
  display:grid;
  grid-template-columns:minmax(320px,38%) minmax(0,62%);
  gap:16px;
  align-items:start;
}

.accounts-receivable-card,
.accounts-payable-card{
  min-width:0;
}

.accounts-receivable-card .table-wrap,
.accounts-payable-card .table-wrap{
  overflow-x:auto;
}

@media(max-width:1050px){
  .accounts-split-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   DRIVEOS NAV ACCORDION V1
   ========================================================= */

.sidebar{
  overflow-x:hidden;
}

#nav{
  min-width:0;
  overflow-x:hidden;
}

.driveos-nav-group{
  min-width:0;
}

.driveos-nav-group-toggle{
  width:100%;
  min-height:30px !important;

  padding:4px 12px !important;

  display:flex !important;
  align-items:center;
  justify-content:space-between;

  background:transparent !important;
  border:0 !important;

  color:#64748b !important;

  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.085em;
  text-transform:uppercase;

  cursor:pointer;
}

.driveos-nav-group-toggle:hover{
  color:#94a3b8 !important;
  background:rgba(255,255,255,.025) !important;
}

.driveos-nav-chevron{
  font-size:14px;
  line-height:1;

  transition:transform .18s ease;
}

.driveos-nav-group.collapsed .driveos-nav-chevron{
  transform:rotate(-90deg);
}

/*
  Esconde apenas os botões de páginas.
  O botão do cabeçalho continua visível.
*/
.driveos-nav-group.collapsed > button[data-page]{
  display:none !important;
}

.driveos-nav-group > button[data-page]{
  width:100%;
  max-width:100%;
  min-width:0;

  box-sizing:border-box;

  overflow:hidden;
}

.driveos-nav-group > button[data-page] > span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/*
  Corrige o active que estava ultrapassando a sidebar
*/
.driveos-nav button.active{
  width:100%;
  max-width:100%;
  box-sizing:border-box;

  margin-left:0 !important;
  margin-right:0 !important;

  overflow:hidden;
}

.driveos-nav button.active::before{
  left:0;
}

@media(max-width:760px){

  .driveos-nav-group-toggle{
    padding-left:10px !important;
    padding-right:10px !important;
  }

}

/* =========================================================
   END DRIVEOS NAV ACCORDION V1
   ========================================================= */


/* =========================================================
   DRIVEOS ACCOUNTS SEPARATE VIEW V1
   ========================================================= */

#page-accounts[data-accounts-view="payables"] .accounts-split-grid,
#page-accounts[data-accounts-view="receivables"] .accounts-split-grid{
  display:block;
}

#page-accounts[data-accounts-view="payables"] .accounts-payable-card,
#page-accounts[data-accounts-view="receivables"] .accounts-receivable-card{
  width:100%;
  max-width:none;
}

/*
  Nas telas separadas não precisamos mais limitar
  a tabela a 38/62.
*/
#page-accounts[data-accounts-view] .accounts-receivable-card,
#page-accounts[data-accounts-view] .accounts-payable-card{
  min-width:0;
}

/* =========================================================
   END DRIVEOS ACCOUNTS SEPARATE VIEW V1
   ========================================================= */


/* =========================================================
   DRIVEOS ACCOUNTS FILTERS V1
   ========================================================= */

.driveos-account-filters{
  display:flex;
  align-items:flex-end;
  gap:10px;

  padding:12px 16px;

  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);

  background:#f8fafc;
}

.driveos-account-filter-field{
  display:flex;
  flex-direction:column;
  gap:5px;

  min-width:150px;
}

.driveos-account-filter-field label{
  font-size:10px;
  font-weight:800;

  text-transform:uppercase;
  letter-spacing:.05em;

  color:var(--muted);
}

.driveos-account-filter-field select,
.driveos-account-filter-field input{
  height:36px;

  padding:0 10px;

  border:1px solid var(--border);
  border-radius:8px;

  background:#fff;

  font-size:12px;
}

.driveos-account-search{
  flex:1;
  min-width:220px;
}

.driveos-account-clear{
  height:36px;
  flex:0 0 auto;
}

.driveos-account-filter-total{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;

  min-width:140px;
  height:36px;

  margin-left:auto;

  white-space:nowrap;
}

.driveos-account-filter-total span{
  font-size:10px;
  color:var(--muted);
}

.driveos-account-filter-total strong{
  margin-top:2px;
  font-size:15px;
}

@media(max-width:900px){

  .driveos-account-filters{
    flex-wrap:wrap;
  }

  .driveos-account-filter-field{
    flex:1 1 160px;
  }

  .driveos-account-search{
    flex:1 1 100%;
  }

  .driveos-account-filter-total{
    margin-left:0;
  }
}

@media(max-width:600px){

  .driveos-account-filter-field{
    flex:1 1 100%;
  }

  .driveos-account-filter-total{
    width:100%;
    align-items:flex-start;
  }
}

/* =========================================================
   END DRIVEOS ACCOUNTS FILTERS V1
   ========================================================= */


/* =========================================================
   DRIVEOS FINANCIAL ACCOUNTS V2
   ========================================================= */

#page-accounts[data-accounts-view] .accounts-financial-card{
  width:100%;
}


/* KPIs */

.driveos-payable-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;

  padding:14px 16px;

  background:#f8fafc;

  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.driveos-account-kpi{
  min-width:0;

  padding:13px 14px;

  border:1px solid var(--border);
  border-radius:10px;

  background:#fff;
}

.driveos-account-kpi span{
  display:block;

  margin-bottom:5px;

  font-size:10px;
  font-weight:800;

  letter-spacing:.055em;
  text-transform:uppercase;

  color:var(--muted);
}

.driveos-account-kpi strong{
  display:block;

  font-size:20px;
  line-height:1.15;
}

.driveos-account-kpi small{
  display:block;

  margin-top:5px;

  color:var(--muted);
}

.driveos-account-kpi.attention{
  border-color:#fecaca;
  background:#fffafa;
}


/* Evita total duplicado espremido nos filtros */
.accounts-payable-card #payableFilteredTotal{
  display:none;
}


/* Grupos */

.driveos-payables-groups{
  overflow:visible;
}

.driveos-payable-group + .driveos-payable-group{
  margin-top:14px;
}

.driveos-payable-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding:11px 16px;

  background:#f8fafc;

  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.driveos-payable-group-head > div:first-child{
  display:flex;
  align-items:baseline;
  gap:9px;
}

.driveos-payable-group-head strong{
  font-size:12px;
}

.driveos-payable-group-head span{
  font-size:10px;
  color:var(--muted);
}

.driveos-payable-group-summary{
  display:flex;
  align-items:center;
  gap:12px;

  white-space:nowrap;
}

.driveos-payable-group-summary strong{
  font-size:12px;
}


/* Vencidas */

.driveos-payable-group.is-overdue
.driveos-payable-group-head{
  background:#fff7f7;
}

.driveos-payable-group.is-overdue
.driveos-payable-group-head > div:first-child > strong{
  color:#b91c1c;
}


/* Hoje */

.driveos-payable-group.is-today
.driveos-payable-group-head{
  background:#fffbeb;
}


/* Tipo */

.driveos-account-type{
  display:inline-flex;
  align-items:center;

  min-height:22px;

  padding:3px 8px;

  border-radius:999px;

  background:#f1f5f9;

  font-size:10px;
  font-weight:700;

  white-space:nowrap;
}


/* Tabela */

.driveos-payable-group table{
  margin:0;
}

.driveos-payable-group table th:nth-child(1),
.driveos-payable-group table td:nth-child(1){
  width:125px;
  white-space:nowrap;
}

.driveos-payable-group table th:nth-child(2),
.driveos-payable-group table td:nth-child(2){
  width:150px;
  white-space:nowrap;
}

.driveos-payable-group table th:nth-child(4),
.driveos-payable-group table td:nth-child(4){
  width:150px;
  white-space:nowrap;
}

.driveos-payable-group table th:nth-child(5),
.driveos-payable-group table td:nth-child(5){
  width:150px;
  white-space:nowrap;
}

.driveos-empty-payables{
  padding:35px 20px;

  text-align:center;

  color:var(--muted);
}


/* Lançamentos financeiros */

.accounts-financial-card{
  margin-top:0 !important;
}


/* Responsive */

@media(max-width:900px){

  .driveos-payable-kpis{
    grid-template-columns:1fr;
  }

  .driveos-payable-group-head{
    align-items:flex-start;
  }

}

@media(max-width:650px){

  .driveos-payable-group-head{
    flex-direction:column;
    gap:6px;
  }

  .driveos-payable-group-summary{
    width:100%;
    justify-content:space-between;
  }

}

/* =========================================================
   END DRIVEOS FINANCIAL ACCOUNTS V2
   ========================================================= */


/* =========================================================
   DRIVEOS ACCOUNTS BANK-ONLY V1
   ========================================================= */

.driveos-accounts-header-actions{
  margin-left:auto;
}

#page-accounts[data-accounts-view="payables"]
.driveos-payable-group table th:last-child,
#page-accounts[data-accounts-view="payables"]
.driveos-payable-group table td:last-child{
  white-space:nowrap;
}


/* =========================================================
   IMPRESSÃO CONTAS
   ========================================================= */

@media print{

  body.driveos-print-accounts *{
    visibility:hidden !important;
  }

  body.driveos-print-accounts #page-accounts,
  body.driveos-print-accounts #page-accounts *{
    visibility:visible !important;
  }

  body.driveos-print-accounts #page-accounts{
    position:absolute !important;

    left:0 !important;
    top:0 !important;

    width:100% !important;

    margin:0 !important;
    padding:18px !important;

    background:#fff !important;
  }

  body.driveos-print-accounts
  #page-accounts .page-header{
    margin-bottom:16px !important;
  }

  body.driveos-print-accounts
  .driveos-accounts-header-actions,

  body.driveos-print-accounts
  .driveos-account-filters,

  body.driveos-print-accounts
  button,

  body.driveos-print-accounts
  .tiny-btn{
    display:none !important;
  }

  body.driveos-print-accounts
  .card{
    box-shadow:none !important;
    border:1px solid #ddd !important;
  }

  body.driveos-print-accounts
  table{
    width:100% !important;
  }

  body.driveos-print-accounts
  .table-wrap{
    overflow:visible !important;
  }

}

/* =========================================================
   END DRIVEOS ACCOUNTS BANK-ONLY V1
   ========================================================= */


/* DRIVEOS_V4520_BID_INTELLIGENCE_CSS_START */
.driveos-v4520-clickable,.driveos-v4520-clickable-area,.driveos-v4520-bid-card{cursor:pointer}
.driveos-v4520-bid-card{margin:18px 0;border:1px solid rgba(37,99,235,.18)}
.driveos-v4520-bid-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.driveos-v4520-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;color:#2563eb}
.driveos-v4520-bid-head h2{margin:4px 0}.driveos-v4520-bid-head p{margin:0;color:var(--muted)}
.driveos-v4520-bid-stats,.driveos-v4520-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.driveos-v4520-bid-stats>div,.driveos-v4520-analysis>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#f8fafc}
.driveos-v4520-bid-stats span,.driveos-v4520-analysis span{display:block;font-size:12px;color:var(--muted)}
.driveos-v4520-bid-stats strong,.driveos-v4520-analysis strong{display:block;font-size:18px;margin-top:4px}
.driveos-v4520-import{display:grid;grid-template-columns:1fr minmax(200px,330px) auto;gap:10px;align-items:center;border:1px dashed var(--border);border-radius:12px;padding:14px;margin-bottom:14px}
.driveos-v4520-import strong,.driveos-v4520-import span{display:block}.driveos-v4520-import span{font-size:12px;color:var(--muted)}
.driveos-v4520-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.driveos-v4520-analyze{width:100%;margin-top:14px}
.driveos-v4520-result{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.driveos-v4520-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.driveos-v4520-levels>div{border:1px solid var(--border);border-radius:12px;padding:14px}.driveos-v4520-levels .rec{border:2px solid #2563eb;background:#eff6ff}.driveos-v4520-levels span,.driveos-v4520-levels small{display:block}.driveos-v4520-levels strong{display:block;font-size:23px;margin:4px 0}
.driveos-v4520-history{margin-top:14px;padding:12px;border-radius:10px;background:#f8fafc;color:var(--muted)}
.driveos-v4520-costmain{padding:16px;border-radius:12px;background:#f8fafc}.driveos-v4520-costmain span{display:block;color:var(--muted)}.driveos-v4520-costmain strong{display:block;font-size:30px;margin-top:5px}
@media(max-width:760px){.driveos-v4520-bid-head,.driveos-v4520-import{display:flex;flex-direction:column;align-items:stretch}.driveos-v4520-grid,.driveos-v4520-levels{grid-template-columns:1fr}.driveos-v4520-analysis,.driveos-v4520-bid-stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.driveos-v4520-analysis,.driveos-v4520-bid-stats{grid-template-columns:1fr}}
/* DRIVEOS_V4520_BID_INTELLIGENCE_CSS_END */

/* DRIVEOS_V4521_BID_CYCLE_DETAILS_CSS_START */
.driveos-v4521-bid-simple .driveos-v4520-bid-stats{display:none !important;}
.driveos-v4521-bid-simple-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 0;}
.driveos-v4521-bid-simple-wrap h2{margin:4px 0;}
.driveos-v4521-bid-simple-wrap p{margin:0;color:var(--muted);}
.driveos-v4521-open-cycle-list{margin:4px 0 14px auto;display:block;}
.driveos-v4521-clickable-cycle{cursor:pointer;transition:background .15s ease,transform .15s ease;}
.driveos-v4521-clickable-cycle:hover{background:rgba(37,99,235,.04);}
.driveos-v4521-cycle-list{display:grid;gap:10px;}
.driveos-v4521-cycle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px;text-align:left;cursor:pointer;}
.driveos-v4521-cycle-btn span{display:block;font-size:12px;color:var(--muted);margin-top:3px;}
.driveos-v4521-cycle-mpg{font-weight:800;color:#0b6836;white-space:nowrap;}
.driveos-v4521-cycle-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.driveos-v4521-cycle-head>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#f8fafc;}
.driveos-v4521-cycle-head span{display:block;font-size:12px;color:var(--muted);}
.driveos-v4521-cycle-head strong{display:block;margin-top:4px;font-size:20px;}
.driveos-v4521-cycle-table td,.driveos-v4521-cycle-table th{white-space:nowrap;}
@media(max-width:760px){
  .driveos-v4521-bid-simple-wrap{flex-direction:column;align-items:stretch;}
  .driveos-v4521-bid-simple-wrap .btn{width:100%;}
  .driveos-v4521-cycle-head{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .driveos-v4521-cycle-head{grid-template-columns:1fr;}
}
/* DRIVEOS_V4521_BID_CYCLE_DETAILS_CSS_END */

/* DRIVEOS_V4522_ADMIN_FUEL_CONTROL_CSS_START */
.driveos-v4522-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:14px}.driveos-v4522-filters .field{margin:0}.driveos-v4522-check{display:flex;align-items:center;gap:8px;padding:10px 0;font-weight:650}.driveos-v4522-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px;margin:14px 0}.driveos-v4522-cycle{width:100%;display:grid;grid-template-columns:1.4fr .9fr .8fr;gap:12px;align-items:center;text-align:left;border:0;border-top:1px solid var(--border);background:transparent;padding:13px 2px;cursor:pointer}.driveos-v4522-cycle:first-child{border-top:0}.driveos-v4522-cycle:hover{background:rgba(37,99,235,.035)}.driveos-v4522-cycle strong,.driveos-v4522-cycle span{display:block}.driveos-v4522-cycle span{font-size:12px;color:var(--muted);margin-top:3px}.driveos-v4522-alert{border-radius:12px;padding:12px;margin-bottom:10px}.driveos-v4522-alert strong,.driveos-v4522-alert span{display:block}.driveos-v4522-alert span{margin-top:4px;font-size:12px}.driveos-v4522-alert.warn{background:#fffbeb}.driveos-v4522-alert.good{background:#ecfdf5}.driveos-v4522-alert-row{display:block;width:100%;border:0;border-top:1px solid var(--border);background:transparent;text-align:left;padding:10px 2px;cursor:pointer}.driveos-v4522-alert-row strong,.driveos-v4522-alert-row span{display:block}.driveos-v4522-alert-row span{font-size:11px;color:var(--muted);margin-top:3px}.driveos-v4522-cycle-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.driveos-v4522-cycle-summary>div{border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:12px}.driveos-v4522-cycle-summary span{display:block;font-size:11px;color:var(--muted)}.driveos-v4522-cycle-summary strong{display:block;font-size:20px;margin-top:4px}#page-fuel-admin .data-table td,#page-fuel-admin .data-table th{white-space:nowrap}
@media(max-width:1000px){.driveos-v4522-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.driveos-v4522-grid{grid-template-columns:1fr}.driveos-v4522-cycle-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.driveos-v4522-filters{grid-template-columns:1fr}.driveos-v4522-cycle{grid-template-columns:1fr}.driveos-v4522-cycle-summary{grid-template-columns:1fr 1fr}}
/* DRIVEOS_V4522_ADMIN_FUEL_CONTROL_CSS_END */

/* DRIVEOS_V4523_DESKTOP_UI_POLISH_CSS_START */

/* ---------- Bid Inteligente: somente CTA ---------- */
.driveos-v4523-bid-only{
  display:flex!important;
  justify-content:flex-end;
  align-items:center;
  margin:12px 0 18px!important;
  padding:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.driveos-v4523-bid-button{
  min-width:154px;
  min-height:42px;
  padding:10px 20px!important;
  font-weight:800;
  border-radius:11px!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18);
}

/* ---------- Página Admin > Consumo / Médias ---------- */
#page-fuel-admin.driveos-v4523-polished{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  box-sizing:border-box;
}
#page-fuel-admin .driveos-v4522-header{
  margin-bottom:16px;
}
#page-fuel-admin .driveos-v4522-header h1{
  margin-bottom:4px;
  letter-spacing:-.02em;
}
#page-fuel-admin .driveos-v4522-header p{
  margin:0;
  color:var(--muted);
}
#page-fuel-admin .card{
  border-color:color-mix(in srgb,var(--border,#e5e7eb) 82%,#cbd5e1 18%);
  box-shadow:0 7px 24px rgba(15,23,42,.035);
}

/* Filtros mais organizados no desktop */
#page-fuel-admin .driveos-v4522-filters{
  padding:16px!important;
  gap:12px 14px!important;
  border-radius:15px!important;
}
#page-fuel-admin .driveos-v4522-filters label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.035em;
  color:var(--muted);
}
#page-fuel-admin .driveos-v4522-filters input,
#page-fuel-admin .driveos-v4522-filters select{
  min-height:42px;
  border-radius:9px;
}
#page-fuel-admin .driveos-v4522-filters input:disabled{
  opacity:.55;
  background:#f8fafc;
}
#page-fuel-admin .driveos-v4522-check{
  min-height:42px;
  margin:0;
  padding:0 4px!important;
  font-size:12px;
  letter-spacing:0!important;
  color:var(--text,#111827)!important;
}
#page-fuel-admin .driveos-v4522-check input{
  min-height:auto;
}

/* Quatro KPIs principais na mesma linha */
#page-fuel-admin #v4522Kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:14px 0 16px;
}
#page-fuel-admin #v4522Kpis .kpi{
  min-height:104px;
  padding:16px 18px;
  border-radius:15px;
}
#page-fuel-admin #v4522Kpis .label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
}
#page-fuel-admin #v4522Kpis .value{
  margin-top:7px;
  font-size:25px;
  letter-spacing:-.025em;
}
#page-fuel-admin #v4522Kpis .hint{
  margin-top:5px;
}

/* Fechamentos e alertas não precisam ter a mesma altura */
#page-fuel-admin .driveos-v4522-grid{
  grid-template-columns:minmax(0,2.15fr) minmax(300px,.95fr)!important;
  gap:16px!important;
  align-items:start!important;
  margin:16px 0!important;
}
#page-fuel-admin .driveos-v4522-grid>.card{
  min-width:0;
  border-radius:15px;
}
#page-fuel-admin .card-header{
  padding-bottom:9px;
}
#page-fuel-admin .card-header h2{
  margin-bottom:3px;
  letter-spacing:-.012em;
}
#page-fuel-admin .card-header p{
  margin:0;
  color:var(--muted);
}

/* Badge no cabeçalho de Alertas */
#page-fuel-admin .driveos-v4522-grid>.card:nth-child(2) .card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.driveos-v4523-alert-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:31px;
  height:25px;
  padding:0 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:850;
}
.driveos-v4523-alert-count.good{background:#ecfdf5;color:#047857;}
.driveos-v4523-alert-count.warn{background:#fff7ed;color:#c2410c;}

/* Lista dos fechamentos */
#page-fuel-admin .driveos-v4522-cycle{
  position:relative;
  grid-template-columns:minmax(220px,1.45fr) minmax(210px,.95fr) minmax(150px,.72fr)!important;
  padding:15px 12px!important;
  margin:0 -8px;
  width:calc(100% + 16px)!important;
  border-radius:10px;
  transition:background .14s ease,transform .14s ease;
}
#page-fuel-admin .driveos-v4522-cycle:hover{
  background:#f8fafc!important;
  transform:translateY(-1px);
}
#page-fuel-admin .driveos-v4522-cycle>div:nth-child(2) strong{
  color:#087443;
}
#page-fuel-admin .driveos-v4522-cycle>div:nth-child(3){
  text-align:right;
  padding-right:18px;
}
#page-fuel-admin .driveos-v4522-cycle::after{
  content:'›';
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  font-size:21px;
  font-weight:700;
}

/* Alertas compactos */
#page-fuel-admin .driveos-v4522-alert{
  margin:0!important;
  padding:13px 14px!important;
}
#page-fuel-admin .driveos-v4522-alert.good{
  border:1px solid rgba(16,185,129,.12);
}

/* Tabela principal */
#page-fuel-admin #v4522FuelTable{
  margin-top:4px;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:auto;
}
#page-fuel-admin #v4522FuelTable .data-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
#page-fuel-admin #v4522FuelTable .data-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8fafc;
  font-size:10px;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:#64748b;
  border-bottom:1px solid var(--border);
}
#page-fuel-admin #v4522FuelTable .data-table td,
#page-fuel-admin #v4522FuelTable .data-table th{
  padding:12px 11px;
  vertical-align:middle;
}
#page-fuel-admin #v4522FuelTable .data-table tbody tr:hover td{
  background:#fbfdff;
}
#page-fuel-admin #v4522FuelTable .data-table td:nth-child(5),
#page-fuel-admin #v4522FuelTable .data-table td:nth-child(6),
#page-fuel-admin #v4522FuelTable .data-table td:nth-child(7),
#page-fuel-admin #v4522FuelTable .data-table td:nth-child(8),
#page-fuel-admin #v4522FuelTable .data-table th:nth-child(5),
#page-fuel-admin #v4522FuelTable .data-table th:nth-child(6),
#page-fuel-admin #v4522FuelTable .data-table th:nth-child(7),
#page-fuel-admin #v4522FuelTable .data-table th:nth-child(8){
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#page-fuel-admin #v4522FuelTable .table-actions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
}

/* ---------- Modais de fechamento: corrigir o grid externo do openModal ---------- */
#modal:has(.driveos-v4522-cycle-summary),
#modal:has(.driveos-v4521-cycle-head){
  width:min(1180px,calc(100vw - 52px))!important;
  max-width:1180px!important;
}
#modal:has(.driveos-v4522-cycle-summary) #modalForm,
#modal:has(.driveos-v4521-cycle-head) #modalForm{
  width:100%!important;
  max-width:none!important;
}
#modal:has(.driveos-v4522-cycle-summary) #modalBody,
#modal:has(.driveos-v4521-cycle-head) #modalBody{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
}
#modal:has(.driveos-v4522-cycle-summary) #modalBody>.form-grid,
#modal:has(.driveos-v4521-cycle-head) #modalBody>.form-grid{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}

/* Modal v4.5.22 */
#modal:has(.driveos-v4522-cycle-summary) .driveos-v4522-cycle-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:100%;
  gap:10px;
  margin:0 0 12px!important;
}
#modal:has(.driveos-v4522-cycle-summary) .driveos-v4522-cycle-summary>div{
  min-height:72px;
  padding:12px 14px!important;
  box-sizing:border-box;
}
#modal:has(.driveos-v4522-cycle-summary) .form-note{
  display:block!important;
  width:100%!important;
  box-sizing:border-box;
  margin:0 0 14px!important;
  padding:11px 13px;
  border-radius:10px;
}
#modal:has(.driveos-v4522-cycle-summary) .table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:11px;
}
#modal:has(.driveos-v4522-cycle-summary) .data-table{
  width:100%!important;
  min-width:900px;
}
#modal:has(.driveos-v4522-cycle-summary) .data-table th{
  background:#f8fafc;
}
#modal:has(.driveos-v4522-cycle-summary) .data-table td,
#modal:has(.driveos-v4522-cycle-summary) .data-table th{
  padding:12px 11px;
}

/* Modal v4.5.21 ainda usado no painel do motorista */
#modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-head{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  margin:0 0 14px!important;
}
#modal:has(.driveos-v4521-cycle-head) .table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:11px;
}
#modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-table{
  width:100%!important;
  min-width:760px;
}
#modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-table th{
  background:#f8fafc;
}
#modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-table td,
#modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-table th{
  padding:12px 11px;
}

@media(max-width:1180px){
  #page-fuel-admin #v4522Kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #page-fuel-admin .driveos-v4522-grid{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .driveos-v4523-bid-only{justify-content:stretch;}
  .driveos-v4523-bid-button{width:100%;}
  #page-fuel-admin #v4522Kpis{grid-template-columns:1fr 1fr!important;}
  #modal:has(.driveos-v4522-cycle-summary),#modal:has(.driveos-v4521-cycle-head){width:calc(100vw - 22px)!important;}
  #modal:has(.driveos-v4522-cycle-summary) .driveos-v4522-cycle-summary{grid-template-columns:1fr 1fr!important;}
  #modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-head{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:520px){
  #page-fuel-admin #v4522Kpis{grid-template-columns:1fr!important;}
  #modal:has(.driveos-v4522-cycle-summary) .driveos-v4522-cycle-summary,
  #modal:has(.driveos-v4521-cycle-head) .driveos-v4521-cycle-head{grid-template-columns:1fr!important;}
}
/* DRIVEOS_V4523_DESKTOP_UI_POLISH_CSS_END */

/* DRIVEOS_V4524_COST_BASE_ENGINE_CSS_START */
#page-dashboard #kpis.driveos-v4524-driver-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
#page-dashboard #kpis.driveos-v4524-driver-kpis>.kpi{min-width:0!important;margin:0!important;}
.driveos-v4524-cost-card .value{color:#0f3f78!important;}
.driveos-v4524-cost-detail{width:100%;display:flex;flex-direction:column;gap:18px;}
.driveos-v4524-cost-hero{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:10px;}
.driveos-v4524-cost-hero>div{border:1px solid var(--border,#e5e7eb);background:#f8fafc;border-radius:13px;padding:14px;min-width:0;}
.driveos-v4524-cost-hero>div.primary{background:#eff6ff;border-color:#bfdbfe;}
.driveos-v4524-cost-hero span,.driveos-v4524-cost-hero small{display:block;color:var(--muted,#64748b);}
.driveos-v4524-cost-hero span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;}
.driveos-v4524-cost-hero strong{display:block;margin:5px 0;font-size:23px;letter-spacing:-.025em;}
.driveos-v4524-cost-hero .primary strong{font-size:29px;color:#1d4ed8;}
.driveos-v4524-section-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:9px;}
.driveos-v4524-section-head strong,.driveos-v4524-section-head span{display:block;}
.driveos-v4524-section-head strong{font-size:15px;}
.driveos-v4524-section-head span{margin-top:3px;font-size:12px;color:var(--muted,#64748b);}
.driveos-v4524-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.driveos-v4524-component{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border,#e5e7eb);border-radius:11px;padding:11px 12px;background:#fff;}
.driveos-v4524-component span{font-size:12px;color:var(--muted,#64748b);}
.driveos-v4524-component strong{font-size:14px;white-space:nowrap;}
.driveos-v4524-notes{display:grid;gap:7px;}
.driveos-v4524-note{padding:9px 11px;border-radius:9px;background:#f8fafc;color:var(--muted,#64748b);font-size:12px;}
#modal:has(.driveos-v4524-cost-detail){width:min(1120px,94vw)!important;max-width:min(1120px,94vw)!important;}
#modal:has(.driveos-v4524-cost-detail) #modalBody>.form-grid{display:block!important;width:100%!important;}
#modal:has(.driveos-v4524-cost-detail) .modal-body{width:100%!important;box-sizing:border-box!important;}
@media(max-width:900px){#page-dashboard #kpis.driveos-v4524-driver-kpis{grid-template-columns:1fr 1fr!important}.driveos-v4524-cost-hero{grid-template-columns:1fr 1fr}.driveos-v4524-components{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#page-dashboard #kpis.driveos-v4524-driver-kpis,.driveos-v4524-cost-hero,.driveos-v4524-components{grid-template-columns:1fr!important}}
/* DRIVEOS_V4524_COST_BASE_ENGINE_CSS_END */


/* DRIVEOS EXPENSE GALLERY BUTTON */
.expense-gallery-btn{
  width:min(100%,360px);
  margin:14px auto 0;
  padding:11px 16px;
  border:1px solid #d8dee8;
  border-radius:12px;
  background:#fff;
  color:#172033;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease,
    box-shadow .15s ease;
}

.expense-gallery-btn:hover{
  background:#f8fafc;
  border-color:#b9c3d2;
  box-shadow:0 2px 5px rgba(15,23,42,.07);
}

.expense-gallery-btn:active{
  transform:scale(.985);
}

.expense-gallery-btn-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#eef4ff;
  color:#2563eb;
}

.expense-gallery-btn-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  line-height:1.2;
}

.expense-gallery-btn-text strong{
  font-size:14px;
  font-weight:700;
  color:#111827;
}

.expense-gallery-btn-text small{
  margin-top:3px;
  font-size:11px;
  font-weight:500;
  color:#6b7280;
}

@media(max-width:520px){
  .expense-gallery-btn{
    width:100%;
    max-width:330px;
  }
}

/* DRIVEOS_GLOBAL_DATE_BR */
input.driveos-br-date{
  width:100%;
  min-width:0;
}


/* DRIVEOS_BID_SIDEBAR */
#nav .driveos-bid-nav{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

#nav .driveos-bid-nav .nav-icon{
  width:22px;
  text-align:center;
}

#nav .driveos-bid-nav:hover{
  background:rgba(255,255,255,.06);
}


/* DRIVEOS_ACTIVITY_INLINE_DATE */
.activity-inline-date{
  display:inline-block;
  margin-right:12px;
  font-weight:500;
  color:var(--muted);
  white-space:nowrap;
}

@media(max-width:650px){
  .activity-inline-date{
    display:block;
    margin:0 0 3px;
  }
}




/* DRIVEOS_ADMIN_ACTIVITY_FONT_UNIFORM */
.driveos-admin-activity-line{
  font-size:14px !important;
  line-height:1.35 !important;
}

.driveos-admin-activity-line .activity-inline-date,
.driveos-admin-activity-line strong,
.driveos-admin-activity-line .driveos-admin-activity-driver,
.driveos-admin-activity-line > span{
  font-size:14px !important;
  line-height:1.35 !important;
}

.driveos-admin-activity-line .activity-inline-date{
  font-weight:400 !important;
}

.driveos-admin-activity-line strong,
.driveos-admin-activity-line .driveos-admin-activity-driver{
  font-weight:600 !important;
}

@media(max-width:650px){
  .driveos-admin-activity-line,
  .driveos-admin-activity-line .activity-inline-date,
  .driveos-admin-activity-line strong,
  .driveos-admin-activity-line .driveos-admin-activity-driver,
  .driveos-admin-activity-line > span{
    font-size:13px !important;
  }
}

/* DRIVEOS_ADMIN_ACTIVITY_ONE_LINE */
.driveos-admin-activity-one-line{
  min-height:42px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

.driveos-admin-activity-text{
  display:flex;
  align-items:center;
  gap:5px;
  width:100%;
  min-width:0;
  white-space:nowrap;
  font-size:14px !important;
  line-height:1.3 !important;
}

.driveos-admin-activity-text > span,
.driveos-admin-activity-text > strong{
  font-size:14px !important;
  line-height:1.3 !important;
  margin:0 !important;
}

.driveos-admin-activity-text > strong{
  font-weight:600 !important;
}

.driveos-admin-activity-text > span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
}

@media(max-width:650px){
  .driveos-admin-activity-text,
  .driveos-admin-activity-text > span,
  .driveos-admin-activity-text > strong{
    font-size:12px !important;
  }

  .driveos-admin-activity-text{
    gap:3px;
  }
}

/* DRIVEOS_ADMIN_ACTIVITY_TWO_LINES */
.driveos-admin-activity-two-lines{
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.driveos-admin-activity-body{
  width:100%;
  min-width:0;
}

.driveos-admin-activity-top{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  font-size:14px;
  line-height:1.3;
}

.driveos-admin-activity-top span,
.driveos-admin-activity-top strong{
  font-size:14px !important;
  line-height:1.3 !important;
}

.driveos-admin-activity-top strong{
  font-weight:600;
}

.driveos-admin-activity-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:4px;
  font-size:14px;
  line-height:1.3;
}

.driveos-admin-activity-bottom > span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.driveos-admin-activity-bottom .tiny-btn{
  flex:0 0 auto;
}

@media(max-width:650px){

  .driveos-admin-activity-top,
  .driveos-admin-activity-top span,
  .driveos-admin-activity-top strong,
  .driveos-admin-activity-bottom{
    font-size:13px !important;
  }

  .driveos-admin-activity-top{
    gap:3px;
    flex-wrap:wrap;
  }
}


/* DRIVEOS_ADMIN_ACTIVITY_TWO_LINES_V2 */
.driveos-admin-activity-two-lines{
  padding-top:9px !important;
  padding-bottom:9px !important;
}

.driveos-admin-activity-body{
  width:100%;
  min-width:0;
}

.driveos-admin-activity-top{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  font-size:14px;
  line-height:1.3;
}

.driveos-admin-activity-top span,
.driveos-admin-activity-top strong{
  font-size:14px !important;
}

.driveos-admin-activity-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:4px;
  font-size:14px;
}

.driveos-admin-activity-bottom > span{
  font-size:14px !important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.driveos-admin-activity-bottom .tiny-btn{
  flex:0 0 auto;
}

/* DRIVEOS_ADMIN_ACTIVITY_TWO_LINES_FINAL */
.driveos-admin-activity-two-lines{
  padding-top:9px !important;
  padding-bottom:9px !important;
}

.driveos-admin-activity-body{
  width:100%;
  min-width:0;
}

.driveos-admin-activity-top,
.driveos-admin-activity-bottom{
  font-size:14px !important;
  line-height:1.3 !important;
}

.driveos-admin-activity-top{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.driveos-admin-activity-top span,
.driveos-admin-activity-top strong,
.driveos-admin-activity-bottom span{
  font-size:14px !important;
}

.driveos-admin-activity-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:4px;
}

.driveos-admin-activity-bottom > span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.driveos-admin-activity-bottom .tiny-btn{
  flex:0 0 auto;
}

/* DRIVEOS_DASHBOARD_KPI_DETAILS */
#kpis .driveos-kpi-clickable{
  cursor:pointer;
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease;
}

#kpis .driveos-kpi-clickable:active{
  transform:scale(.99);
}

#kpis .driveos-kpi-detail-link{
  margin-top:12px;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
}

.driveos-kpi-detail{
  width:100%;
}

.driveos-kpi-detail-total{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:14px;
}

.driveos-kpi-detail-total span{
  color:var(--muted);
}

.driveos-kpi-detail-total strong{
  font-size:22px;
}

.driveos-kpi-source-note{
  padding:11px 13px;
  background:var(--surface-2,#f8fafc);
  border-radius:10px;
  margin-bottom:12px;
  font-size:13px;
  color:var(--muted);
}

.driveos-kpi-source-list{
  display:flex;
  flex-direction:column;
}

.driveos-kpi-source-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:12px 2px;
  border-bottom:1px solid var(--border);
}

.driveos-kpi-source-row > div:first-child{
  min-width:0;
}

.driveos-kpi-source-row > div:first-child > span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}

.driveos-kpi-source-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.driveos-kpi-formula{
  display:flex;
  flex-direction:column;
  margin-bottom:14px;
}

.driveos-kpi-formula > div,
.driveos-kpi-check{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:9px 2px;
  border-bottom:1px solid var(--border);
}

.driveos-kpi-check{
  font-size:13px;
}

@media(max-width:650px){
  .driveos-kpi-source-row{
    align-items:flex-start;
  }

  .driveos-kpi-source-actions{
    flex-direction:column;
    align-items:flex-end;
  }

  .driveos-kpi-detail-total strong{
    font-size:19px;
  }
}


/* DRIVEOS_PROJECTION_CLICKABLE_SOURCES */

.driveos-kpi-click-hint{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:9px;
  background:#f8fafc;
  color:var(--muted);
  font-size:13px;
}

.driveos-kpi-breakdown-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.driveos-kpi-breakdown{
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

.driveos-kpi-breakdown summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:13px 14px;
}

.driveos-kpi-breakdown summary::-webkit-details-marker{
  display:none;
}

.driveos-kpi-breakdown summary > div{
  min-width:0;
}

.driveos-kpi-breakdown summary span{
  display:block;
  font-size:14px;
}

.driveos-kpi-breakdown summary small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}

.driveos-kpi-breakdown summary > strong{
  flex:0 0 auto;
  font-size:15px;
}

.driveos-kpi-breakdown.positive summary > span,
.driveos-kpi-breakdown.positive summary > strong,
.driveos-kpi-breakdown.positive summary > div > span{
  color:var(--positive,#17864b);
}

.driveos-kpi-breakdown.negative summary > span,
.driveos-kpi-breakdown.negative summary > strong,
.driveos-kpi-breakdown.negative summary > div > span{
  color:var(--negative,#b42318);
}

.driveos-kpi-breakdown[open] summary{
  background:#f8fafc;
  border-bottom:1px solid var(--border);
}

.driveos-kpi-breakdown-body{
  padding:4px 14px 10px;
}

.driveos-kpi-origin-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
}

.driveos-kpi-origin-row:last-child{
  border-bottom:0;
}

.driveos-kpi-origin-row > div:first-child{
  min-width:0;
}

.driveos-kpi-origin-row > div:first-child span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}

.driveos-kpi-origin-value{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.driveos-kpi-origin-empty{
  padding:12px 0;
  color:var(--muted);
  font-size:13px;
}

.driveos-kpi-formula-detail > div{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:8px 0;
  border-bottom:1px solid var(--border);
}

.driveos-kpi-formula-detail > div:last-child{
  border-bottom:0;
}

.driveos-kpi-formula-result{
  font-weight:700;
}

.driveos-kpi-backend-source{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:8px 0;
}

.driveos-kpi-backend-source span{
  font-size:12px;
  color:var(--muted);
}

@media(max-width:650px){

  .driveos-kpi-breakdown summary{
    padding:12px 11px;
  }

  .driveos-kpi-breakdown summary span{
    font-size:13px;
  }

  .driveos-kpi-breakdown summary > strong{
    font-size:13px;
  }

  .driveos-kpi-origin-row{
    align-items:flex-start;
  }

  .driveos-kpi-origin-value{
    flex-direction:column;
    align-items:flex-end;
  }
}


/* DRIVEOS_PROJECTION_CLEAN_RESULT */
.driveos-kpi-projection-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:14px;
  padding:15px 14px;
  border-top:2px solid var(--border);
  font-size:15px;
  font-weight:700;
}

.driveos-kpi-projection-result strong{
  font-size:19px;
}


/* DRIVEOS_MANUAL_BANK_BALANCE_BUTTON */
.driveos-bank-balance-refresh{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0 16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
}

.driveos-bank-balance-refresh span{
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
  flex:1 1 220px;
}

.driveos-bank-balance-refresh button:disabled{
  opacity:.65;
  cursor:wait;
}

@media(max-width:640px){
  .driveos-bank-balance-refresh{
    align-items:stretch;
    flex-direction:column;
  }

  .driveos-bank-balance-refresh button{
    width:100%;
  }
}

/* DRIVEOS_CASH_CARD_BADGE */
.driveos-cash-card-live{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.driveos-cash-badge-btn{
  appearance:none;
  border:1px solid var(--border);
  background:#f5f7fb;
  color:var(--text);
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  white-space:nowrap;
}

.driveos-cash-badge-btn:hover{
  transform:translateY(-1px);
}

.driveos-cash-badge-btn:disabled{
  opacity:.65;
  cursor:wait;
}

.driveos-cash-card-live small{
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}

@media(max-width:640px){
  .driveos-cash-card-live{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
}

/* DRIVEOS_DAILY_CASHFLOW */

.driveos-projection-tabs{
  display:flex;
  gap:4px;
  width:max-content;
  padding:4px;
  margin-bottom:18px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f7f8fa;
}

.driveos-projection-tabs button{
  appearance:none;
  border:0;
  background:transparent;
  padding:8px 16px;
  border-radius:9px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.driveos-projection-tabs button.active{
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.10);
}

.driveos-projection-panel{
  display:none;
}

.driveos-projection-panel.active{
  display:block;
}

.driveos-daily-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}

.driveos-daily-kpis>div{
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.driveos-daily-kpis span,
.driveos-daily-kpis small{
  display:block;
  font-size:11px;
  color:var(--muted);
}

.driveos-daily-kpis strong{
  display:block;
  margin-top:4px;
  font-size:17px;
}

.driveos-daily-note{
  padding:10px 12px;
  margin-bottom:14px;
  background:#f7f8fa;
  border-radius:9px;
  font-size:12px;
  color:var(--muted);
}

.driveos-daily-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.driveos-daily-row{
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

.driveos-daily-row summary{
  display:grid;
  grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(100px,.8fr));
  align-items:center;
  gap:12px;
  padding:11px 13px;
  cursor:pointer;
  list-style:none;
}

.driveos-daily-row summary::-webkit-details-marker{
  display:none;
}

.driveos-daily-row.bad{
  border-color:rgba(190,0,0,.32);
}

.driveos-daily-row.warn{
  border-color:rgba(180,130,0,.32);
}

.driveos-daily-date span,
.driveos-daily-number span{
  display:block;
  margin-top:2px;
  font-size:11px;
  color:var(--muted);
}

.driveos-daily-number{
  text-align:right;
}

.driveos-daily-expanded{
  border-top:1px solid var(--border);
  padding:8px 13px 12px;
  background:#fafbfc;
}

.driveos-daily-opening,
.driveos-daily-entry{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
}

.driveos-daily-opening{
  border-bottom:1px solid var(--border);
  margin-bottom:3px;
}

.driveos-daily-entry span{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
}

.driveos-daily-entry.in>strong{
  color:var(--good);
}

.driveos-daily-entry.out>strong,
.driveos-daily-entry.fuel>strong{
  color:var(--bad);
}

.driveos-daily-empty{
  padding:9px 0;
  color:var(--muted);
  font-size:12px;
}

.driveos-daily-undated{
  margin-top:18px;
  padding:14px;
  border:1px dashed var(--border);
  border-radius:12px;
}

.driveos-daily-undated-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-bottom:8px;
  margin-bottom:4px;
  border-bottom:1px solid var(--border);
}

.driveos-daily-undated-head span{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:var(--muted);
}

.driveos-cash-warn{
  color:#a66d00 !important;
}

@media(max-width:760px){
  .driveos-daily-kpis{
    grid-template-columns:1fr 1fr;
  }

  .driveos-daily-row summary{
    grid-template-columns:1fr 1fr;
  }

  .driveos-daily-number{
    text-align:left;
  }
}

@media(max-width:520px){
  .driveos-daily-kpis{
    grid-template-columns:1fr;
  }

  .driveos-projection-tabs{
    width:100%;
  }

  .driveos-projection-tabs button{
    flex:1;
  }
}

/* DRIVEOS_ADJUSTABLE_FUEL_FORECAST */

.driveos-fuel-horizon{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:12px 14px;
  margin-bottom:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fafc;
}

.driveos-fuel-horizon>div:first-child{
  flex:1 1 260px;
}

.driveos-fuel-horizon strong{
  display:block;
  font-size:13px;
}

.driveos-fuel-horizon span{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:var(--muted);
}

.driveos-fuel-horizon-options{
  display:flex;
  gap:5px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}

.driveos-fuel-horizon-options button{
  appearance:none;
  border:0;
  background:transparent;
  padding:7px 11px;
  border-radius:7px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.driveos-fuel-horizon-options button.active{
  background:var(--text);
  color:#fff;
}

@media(max-width:640px){
  .driveos-fuel-horizon{
    align-items:stretch;
    flex-direction:column;
  }

  .driveos-fuel-horizon-options{
    width:100%;
  }

  .driveos-fuel-horizon-options button{
    flex:1;
  }
}

/* DRIVEOS_DAILY_DETAIL_UI */

.driveos-daily-expanded{
  padding:14px !important;
  background:#f8fafc !important;
}

.driveos-daily-day-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.driveos-daily-day-summary>div{
  padding:11px 12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
}

.driveos-daily-day-summary span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}

.driveos-daily-day-summary strong{
  display:block;
  margin-top:4px;
  font-size:15px;
}

.driveos-daily-group{
  background:#fff;
  border:1px solid var(--border);
  border-radius:11px;
  overflow:hidden;
}

.driveos-daily-group + .driveos-daily-group{
  margin-top:10px;
}

.driveos-daily-group-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  background:#fbfcfd;
}

.driveos-daily-group-head span{
  display:block;
  font-size:12px;
  font-weight:700;
}

.driveos-daily-group-head small{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:var(--muted);
}

.driveos-daily-group.incoming .driveos-daily-group-head>strong{
  color:var(--good);
}

.driveos-daily-group.outgoing .driveos-daily-group-head>strong{
  color:var(--bad);
}

.driveos-daily-entry{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 12px;
}

.driveos-daily-entry + .driveos-daily-entry{
  border-top:1px solid #edf0f3;
}

.driveos-daily-entry-main{
  min-width:0;
}

.driveos-daily-entry-main strong{
  display:block;
  font-size:13px;
}

.driveos-daily-entry-main span{
  display:block;
  margin-top:3px;
  font-size:10px;
  color:var(--muted);
}

.driveos-daily-entry-value{
  white-space:nowrap;
  font-size:14px;
}

.driveos-daily-entry.in .driveos-daily-entry-value{
  color:var(--good);
}

.driveos-daily-entry.out .driveos-daily-entry-value,
.driveos-daily-entry.fuel .driveos-daily-entry-value{
  color:var(--bad);
}

@media(max-width:700px){
  .driveos-daily-day-summary{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:480px){
  .driveos-daily-day-summary{
    grid-template-columns:1fr;
  }

  .driveos-daily-entry{
    align-items:flex-start;
  }
}

/* DRIVEOS_DAILY_DETAIL_HIERARCHY */

.driveos-daily-row[open]{
  background:#fff;
}

.driveos-daily-row[open] > summary{
  background:#fff;
  border-bottom:0;
}

/*
 * O detalhe fica claramente "dentro" do dia,
 * e não parece outra linha do fluxo.
 */
.driveos-daily-expanded{
  position:relative;
  margin:0 14px 14px 34px !important;
  padding:0 !important;

  background:#f3f5f7 !important;
  border:1px solid #dde2e7;
  border-left:4px solid #64748b;
  border-radius:10px;

  overflow:hidden;
}

/* Remove visual antigo dos quatro KPIs */
.driveos-daily-day-summary{
  display:none !important;
}

.driveos-daily-detail-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  padding:11px 14px;

  background:#e9edf1;
  border-bottom:1px solid #d9dfe5;
}

.driveos-daily-detail-title > div:first-child strong{
  display:block;

  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;

  color:#334155;
}

.driveos-daily-detail-title > div:first-child span{
  display:block;
  margin-top:2px;

  font-size:10px;
  color:#64748b;
}

.driveos-daily-detail-balance{
  text-align:right;
}

.driveos-daily-detail-balance span{
  display:block;

  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;

  color:#64748b;
}

.driveos-daily-detail-balance strong{
  display:block;
  margin-top:2px;
  font-size:14px;
}

/*
 * Entradas e saídas agora parecem seções internas,
 * não cards independentes.
 */
.driveos-daily-group{
  margin:10px 12px 0 !important;

  background:#fff;
  border:1px solid #e1e5e9;
  border-radius:8px;

  box-shadow:none !important;
}

.driveos-daily-group + .driveos-daily-group{
  margin-top:8px !important;
}

.driveos-daily-group-head{
  min-height:auto;
  padding:7px 10px !important;

  background:#f8fafb !important;
  border-bottom:1px solid #e8ebee;
}

.driveos-daily-group-head span{
  font-size:10px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:800 !important;
}

.driveos-daily-group-head small{
  font-size:9px !important;
}

.driveos-daily-group-head > strong{
  font-size:12px !important;
}

/*
 * Linhas detalhadas ficam propositalmente menores
 * que a linha principal do dia.
 */
.driveos-daily-entry{
  min-height:0 !important;
  padding:8px 10px !important;
}

.driveos-daily-entry-main strong{
  font-size:11px !important;
  font-weight:700 !important;
}

.driveos-daily-entry-main span{
  margin-top:1px !important;
  font-size:9px !important;
}

.driveos-daily-entry-value{
  font-size:11px !important;
  font-weight:700 !important;
}

/*
 * Rodapé mostra a consequência dos detalhes:
 * saldo antes → saldo depois.
 */
.driveos-daily-detail-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;

  margin-top:10px;
  padding:10px 14px;

  background:#fff;
  border-top:1px solid #dfe4e8;
}

.driveos-daily-detail-footer > div{
  text-align:right;
}

.driveos-daily-detail-footer span{
  display:block;

  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;

  color:#64748b;
}

.driveos-daily-detail-footer strong{
  display:block;
  margin-top:2px;
  font-size:13px;
}

.driveos-daily-detail-arrow{
  color:#94a3b8 !important;
  font-size:16px !important;
}

/*
 * Dia aberto ganha leve destaque,
 * enquanto detalhes continuam subordinados.
 */
.driveos-daily-row[open]{
  border-color:#cbd3db;
}

.driveos-daily-row[open] > summary{
  box-shadow:inset 3px 0 0 #64748b;
}

@media(max-width:700px){

  .driveos-daily-expanded{
    margin:0 8px 10px 18px !important;
  }

  .driveos-daily-detail-title{
    align-items:flex-start;
  }

  .driveos-daily-detail-footer{
    justify-content:space-between;
  }
}

/* DRIVEOS_CASH_REFRESH_BADGE_TOP_RIGHT */

#kpis .kpi[data-dashboard-kpi="cash"],
#kpis .kpi.driveos-cash-kpi-card{
  position:relative;
}

/* botão Atualizar saldo */
#kpis .kpi[data-dashboard-kpi="cash"] [data-action="refresh-bank-balance"],
#kpis .kpi.driveos-cash-kpi-card [data-action="refresh-bank-balance"]{
  position:absolute;
  top:16px;
  right:16px;

  margin:0 !important;
  padding:6px 11px !important;

  border-radius:999px;
  font-size:11px;
  font-weight:700;
  line-height:1;

  z-index:2;
}

/* dá espaço para o botão não encostar no título */
#kpis .kpi[data-dashboard-kpi="cash"] .label,
#kpis .kpi.driveos-cash-kpi-card .label{
  padding-right:110px;
}

/* linha da última atualização fica abaixo do saldo */
#kpis .kpi[data-dashboard-kpi="cash"] .driveos-cash-updated,
#kpis .kpi.driveos-cash-kpi-card .driveos-cash-updated{
  display:block;
  margin-top:8px;
  font-size:11px;
  color:var(--muted);
}

@media(max-width:640px){
  #kpis .kpi[data-dashboard-kpi="cash"] [data-action="refresh-bank-balance"],
  #kpis .kpi.driveos-cash-kpi-card [data-action="refresh-bank-balance"]{
    top:14px;
    right:14px;
  }
}

/* DRIVEOS_CASH_BADGE_CORRECT_SELECTOR */

/* card Caixa atual */
#kpis .kpi{
  position:relative;
}

/* botão/badge Atualizar saldo do card */
#kpis .kpi [data-driveos-refresh-bank-balance].driveos-cash-badge-btn{
  position:absolute !important;
  top:18px !important;
  right:18px !important;

  margin:0 !important;
  padding:6px 11px !important;

  min-height:26px;
  border-radius:999px;

  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;

  z-index:5;
}

/* container que atualmente segura botão + data */
#kpis .kpi .driveos-cash-kpi-badge,
#kpis .kpi .driveos-cash-badge,
#kpis .kpi [data-driveos-cash-badge]{
  position:static !important;
}

/* última atualização fica abaixo do valor */
#kpis .kpi .driveos-cash-kpi-badge small,
#kpis .kpi .driveos-cash-badge small,
#kpis .kpi [data-driveos-cash-badge] small{
  display:block;
  margin-top:10px;
  font-size:10px;
  color:var(--muted);
}

/* espaço para o badge */
#kpis .kpi .label{
  padding-right:105px;
}

@media(max-width:640px){
  #kpis .kpi [data-driveos-refresh-bank-balance].driveos-cash-badge-btn{
    top:14px !important;
    right:14px !important;
  }
}

/* DRIVEOS_DASHBOARD_HIDE_VEHICLE_AND_COMMITMENTS_ONLY */

/*
 * Mantemos os elementos no DOM para que toda a lógica antiga
 * do dashboard continue funcionando.
 *
 * Apenas escondemos visualmente o bloco que contém:
 * - Resultado por veículo
 * - Próximos compromissos
 */
/* DRIVEOS_DASHBOARD_GRID_ROLE_VISIBILITY
   A visibilidade deste bloco é controlada pelo renderDashboard:
   admin = oculto
   motorista = visível
*/


/* DRIVEOS_DASHBOARD_PAYABLES_ALL */

.driveos-dashboard-payables-card{
  margin-bottom:20px;
}

.driveos-dashboard-payables-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px 18px;
  background:#f8fafc;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.driveos-dashboard-payables-summary span{
  display:block;
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.driveos-dashboard-payables-summary strong{
  display:block;
  margin-top:4px;
  font-size:16px;
}

.driveos-dashboard-payables-list{
  max-height:420px;
  overflow:auto;
}

.driveos-dashboard-payable-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 18px;
  border-bottom:1px solid var(--border);
}

.driveos-dashboard-payable-row:last-child{
  border-bottom:0;
}

.driveos-dashboard-payable-row>div{
  min-width:0;
}

.driveos-dashboard-payable-row>div strong{
  display:block;
  font-size:13px;
}

.driveos-dashboard-payable-row>div span{
  display:block;
  margin-top:3px;
  font-size:10px;
  color:var(--muted);
}

.driveos-dashboard-payable-row>strong{
  white-space:nowrap;
  font-size:13px;
}

.driveos-dashboard-payable-row.overdue{
  background:rgba(185,28,28,.025);
}

.driveos-dashboard-payable-row.overdue>div span{
  color:#991b1b;
}

@media(max-width:700px){
  .driveos-dashboard-payables-summary{
    grid-template-columns:1fr;
  }

  .driveos-dashboard-payable-row{
    align-items:flex-start;
  }
}

/* DRIVEOS_DASHBOARD_PAYABLES_PERIOD_V2 */

.driveos-dashboard-payables-toolbar{
  padding:14px 18px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:#f8fafc;
}

.driveos-dashboard-payables-date{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:10px;
}

.driveos-dashboard-payables-date label{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.driveos-dashboard-payables-date label span{
  font-size:10px;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.driveos-dashboard-payables-date input{
  height:34px;
  min-width:145px;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#fff;
  font-size:12px;
}

.driveos-dashboard-payables-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-bottom:1px solid var(--border);
}

.driveos-dashboard-payables-summary>div{
  padding:13px 18px;
  border-right:1px solid var(--border);
}

.driveos-dashboard-payables-summary>div:last-child{
  border-right:0;
}

.driveos-dashboard-payables-summary span{
  display:block;
  font-size:10px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.driveos-dashboard-payables-summary strong{
  display:block;
  margin-top:4px;
  font-size:16px;
}

.driveos-dashboard-payables-table{
  max-height:430px;
  overflow:auto;
}

.driveos-dashboard-payables-table table{
  width:100%;
}

.driveos-dashboard-payables-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#fff;
}

.driveos-dashboard-payables-table td.right,
.driveos-dashboard-payables-table th.right{
  text-align:right;
}

.driveos-payable-overdue{
  background:rgba(185,28,28,.025);
}

@media(max-width:800px){

  .driveos-dashboard-payables-summary{
    grid-template-columns:1fr;
  }

  .driveos-dashboard-payables-summary>div{
    border-right:0;
    border-bottom:1px solid var(--border);
  }

  .driveos-dashboard-payables-summary>div:last-child{
    border-bottom:0;
  }

  .driveos-dashboard-payables-date{
    align-items:stretch;
  }

  .driveos-dashboard-payables-date label,
  .driveos-dashboard-payables-date input{
    width:100%;
  }
}

/* DRIVEOS_PAYABLES_UI_CLEAN */

.driveos-dashboard-payables-summary{
  text-align:center;
}

.driveos-dashboard-payables-table th,
.driveos-dashboard-payables-table td{
  text-align:center !important;
  vertical-align:middle;
}

.driveos-dashboard-payables-table tbody td{
  font-weight:400 !important;
}

.driveos-dashboard-payables-table tbody td strong{
  font-weight:400 !important;
}

.driveos-dashboard-payables-table tbody td .negative{
  font-weight:400 !important;
}

.driveos-dashboard-payables-table thead th{
  text-align:center !important;
}

.driveos-dashboard-payables-table td.right,
.driveos-dashboard-payables-table th.right{
  text-align:center !important;
}

.driveos-payable-edit-btn{
  min-width:78px;
  border-radius:999px;
  padding:5px 10px !important;
}

.driveos-dashboard-payables-table .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* DRIVEOS_FINANCIAL_ACTIONS_WIDTH */

/* coluna Ações */
#page-accounts table th:last-child,
#page-accounts table td:last-child{
  width:170px !important;
  min-width:170px !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* mantém os botões lado a lado */
#page-accounts table td:last-child{
  vertical-align:middle !important;
}

#page-accounts table td:last-child .btn,
#page-accounts table td:last-child .tiny-btn,
#page-accounts table td:last-child button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  min-width:68px !important;

  margin:2px 3px !important;
  white-space:nowrap !important;
}

/* evita que algum container interno force quebra */
#page-accounts table td:last-child > div{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
}

@media(max-width:900px){
  #page-accounts table th:last-child,
  #page-accounts table td:last-child{
    width:155px !important;
    min-width:155px !important;
  }
}

/* DRIVEOS_FINANCIAL_TABLE_CENTER */

#financialTable table th,
#financialTable table td{
  text-align:center !important;
  vertical-align:middle !important;
}

#financialTable table th{
  white-space:nowrap;
}

#financialTable table td{
  font-weight:400;
}

#financialTable .table-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}

#financialTable .money,
#financialTable .positive,
#financialTable .negative{
  text-align:center !important;
}

#financialTable .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* DRIVEOS_AUDIT_UI_V1 */
.driveos-audit-page{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.driveos-audit-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.driveos-audit-head h2{
  margin:0 0 4px;
}

.driveos-audit-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:12px;
}

.driveos-audit-kpi{
  background:var(--card,#fff);
  border:1px solid var(--border,#e5e7eb);
  border-radius:12px;
  padding:14px;
}

.driveos-audit-kpi span{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:5px;
}

.driveos-audit-kpi strong{
  font-size:24px;
}

.driveos-audit-table-wrap{
  overflow:auto;
}

.driveos-audit-table{
  width:100%;
  border-collapse:collapse;
}

.driveos-audit-table th,
.driveos-audit-table td{
  padding:11px 10px;
  text-align:left;
  border-bottom:1px solid var(--border,#e5e7eb);
  vertical-align:top;
}

.driveos-audit-table th{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}

.driveos-audit-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  border:1px solid currentColor;
}

.driveos-audit-badge.critical{
  color:#b91c1c;
  background:#fef2f2;
}

.driveos-audit-badge.high{
  color:#b45309;
  background:#fffbeb;
}

.driveos-audit-badge.medium{
  color:#92400e;
  background:#fff7ed;
}

.driveos-audit-badge.low{
  color:#166534;
  background:#f0fdf4;
}

.driveos-audit-empty{
  padding:22px;
}

.driveos-audit-footer{
  font-size:11px;
  padding:0 2px;
}

@media(max-width:900px){
  .driveos-audit-kpis{
    grid-template-columns:repeat(2,minmax(120px,1fr));
  }

  .driveos-audit-head{
    flex-direction:column;
  }

  .driveos-audit-head .btn{
    width:100%;
  }
}
