:root{--bg-0: #eef5fb;--bg-1: #dceaf6;--surface: rgba(255, 255, 255, .9);--surface-border: rgba(7, 57, 99, .18);--text: #132b43;--muted: #4f6478;--brand: #0078d4;--brand-dark: #005a9e;--success: #0f8f64;--danger: #cb3b3b;--shadow: 0 20px 48px rgba(11, 40, 66, .14)}:root[data-theme=dark]{--bg-0: #0d1722;--bg-1: #12263a;--surface: rgba(15, 28, 41, .92);--surface-border: rgba(130, 173, 214, .22);--text: #e5eef8;--muted: #9bb2c8;--brand: #4fb3ff;--brand-dark: #2992e6;--success: #4fc78f;--danger: #ff7d7d;--shadow: 0 22px 54px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(0,120,212,.12),transparent 28%),radial-gradient(circle at bottom right,rgba(15,143,100,.08),transparent 26%),linear-gradient(145deg,var(--bg-0),var(--bg-1))}body,input,select,textarea,button{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.layout{width:min(1200px,94vw);margin:2.5rem auto;display:grid;gap:1.25rem}.auth-layout{width:min(1240px,95vw);margin:2rem auto 3rem;display:grid;gap:1rem;position:relative}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(50% - .625rem),1fr));gap:1.25rem;margin-top:1.5rem}.dashboard-grid article{position:relative;overflow:hidden}.dashboard-grid article:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),#0078d4)}.dashboard-grid article h2{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.dashboard-number{margin:.8rem 0 .3rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;color:var(--brand);line-height:1}.dashboard-grid article p:not(.dashboard-number){margin:.4rem 0;font-size:.92rem;color:var(--muted);line-height:1.5}.dashboard-grid article .nav-link{display:inline-block;margin-top:1rem;padding:.6rem 0;font-weight:600;border-bottom:2px solid transparent;transition:border-color .2s ease}.dashboard-grid article .nav-link:hover{border-bottom-color:var(--brand)}.dashboard-grid article{transition:transform .2s ease,box-shadow .2s ease}.dashboard-grid article:hover{transform:translateY(-2px)}.auth-panel{width:min(620px,96vw);background:var(--surface);border:1px solid var(--surface-border);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow)}.auth-panel h1{margin:0;font-size:clamp(1.4rem,2.1vw,1.9rem)}.auth-panel p{color:var(--muted)}.form-error{margin:0;color:#9f1d1d;font-weight:700}.form-success{margin:0;color:#0e6748;font-weight:700}.form-warning{margin:0;color:#8d5f00;background:#fff5d8;border:1px solid #ffd47a;border-radius:10px;padding:.6rem .75rem;font-weight:700}.segmented-switch{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.segmented-switch button{margin-top:0;background:#e8f2fc;color:#0c3b6d;border:1px solid #bcd8f0}.segmented-switch button.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;border-color:transparent}.hero{background:linear-gradient(135deg,#0c3b6d,#0d5aa0 45%,#0b74d8);color:#f8fbff;border-radius:20px;padding:2rem;box-shadow:var(--shadow);animation:rise-in .5s ease-out}.hero-shell{display:flex;gap:1.2rem;align-items:flex-start;justify-content:space-between}.hero-copy{min-width:0;flex:1 1 auto}.hero-account-panel{flex:0 0 auto;display:grid;justify-items:end;gap:.75rem;position:relative}.hero-account-actions{display:flex;align-items:center;gap:.45rem;justify-content:flex-end}.icon-menu{position:relative}.action-menu{position:absolute;top:calc(100% + .45rem);right:0;min-width:260px;border-radius:14px;padding:.8rem;background:#fff;color:#16324f;border:1px solid rgba(12,59,109,.12);box-shadow:0 24px 60px #0b28423d;display:grid;gap:.5rem;z-index:11}.action-menu strong{color:#0f3355}.action-menu p{margin:0;color:#5b7489;font-size:.86rem}.action-menu a{color:#0b5a8f;font-weight:600;text-decoration:none}.action-menu .account-menu-item{margin-top:0}.icon-button{width:2rem;height:2rem;margin-top:0;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.32);background:#ffffff1f;color:#fff;display:inline-grid;place-items:center;font-size:.95rem}.icon-button svg,.account-avatar svg{width:1rem;height:1rem;display:block}.account-chip{margin-top:0;display:inline-flex;flex-direction:row-reverse;align-items:center;gap:.7rem;padding:.45rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#ffffff1a;color:#fff;max-width:340px;text-align:left}.account-avatar{width:2.2rem;height:2.2rem;border-radius:999px;background:#ffffff38;display:inline-grid;place-items:center;font-weight:800;flex:0 0 auto;color:#fff;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.account-avatar.large{width:3.5rem;height:3.5rem;color:#0c3b6d;background:#e8f2ff}.account-avatar.large img{width:100%;height:100%;object-fit:cover}.account-avatar.large svg{width:1.6rem;height:1.6rem}.account-chip-text{display:grid;min-width:0;line-height:1.1;text-align:right;justify-items:end}.account-chip-text strong,.account-chip-text span,.account-menu-header strong,.account-menu-header span,.account-menu-tenant span,.account-menu-tenant small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chip-text span{font-size:.82rem;color:#ffffffdb}.account-menu{position:absolute;top:calc(100% + .55rem);right:0;width:min(340px,92vw);border-radius:18px;padding:1rem;background:#fff;color:#16324f;box-shadow:0 24px 60px #0b28423d;border:1px solid rgba(12,59,109,.12);display:grid;gap:.75rem;z-index:10}.account-menu-header{display:flex;align-items:center;gap:.8rem}.account-menu-header strong,.account-menu-tenant span{display:block;color:#0f3355}.account-menu-header span,.account-menu-tenant small{display:block;color:#5b7489;font-size:.88rem}.account-menu-tenant{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border-radius:12px;background:#eef5fb;border:1px solid #d6e5f3}.account-menu-item{margin-top:0;width:100%;justify-content:flex-start;background:#f6f9fc;color:#16324f;border:1px solid #d5e2ee}.account-menu-item.danger{color:#8f1f1f;background:#fae0e0;border-color:#ebb2b2}.eyebrow{margin:0 0 .35rem;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;opacity:.85}.hero h1{margin:0;font-size:clamp(1.5rem,2.3vw,2.25rem)}.hero p{margin:.75rem 0 0;max-width:72ch;color:#d6eaff}.hero-description-hidden{display:none}.session-info{margin-top:1rem;width:100%;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.85rem 1rem;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#d6eaff}.session-info span{font-weight:600}.nav-link{text-decoration:none;color:#f8fbff;font-weight:700;padding:.4rem .7rem;border:1px solid rgba(248,251,255,.35);border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.nav-link svg{width:1.25rem;height:1.25rem;stroke-width:2}.nav-link.nav-link-current{color:#f8fbffb3;border-color:#f8fbff33;background:#ffffff14;cursor:default}.session-info .exit{margin-top:0}@media (max-width: 900px){.hero-shell{flex-direction:column}.hero-account-panel{width:100%;justify-items:start}.hero-account-actions{justify-content:flex-start}.account-menu{right:auto;left:0}}.content{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}.drivers-content,.contracts-content{grid-template-columns:1fr}.contracts-content>.panel{grid-column:1 / -1}.inline-feedback{margin:0;padding:.7rem .9rem;border-radius:10px;font-weight:700;grid-column:1 / -1}.inline-feedback.success{background:#d9f2e8;color:#0d6648;border:1px solid #91d2b9}.inline-feedback.error{background:#fae0e0;color:#8f1f1f;border:1px solid #ebb2b2}.panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:18px;padding:1.2rem;box-shadow:0 6px 20px #0b28421a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:rise-in .6s ease-out}.grid{display:grid;gap:.8rem}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.driver-form-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.driver-form-row-5{grid-template-columns:repeat(5,minmax(120px,1fr))}.driver-form-row-5-tuned{grid-template-columns:52fr 12fr 12fr 12fr 12fr}.driver-form-row-3{grid-template-columns:repeat(3,minmax(160px,1fr))}.driver-form-row-3-tuned{grid-template-columns:13fr 54fr 33fr}.driver-form-row-4-profile{grid-template-columns:20fr 18fr 36fr 26fr}.driver-form-row-2{grid-template-columns:repeat(2,minmax(220px,1fr))}.driver-span-1{grid-column:span 1}.driver-span-2{grid-column:span 2}.driver-span-3{grid-column:span 3}.two-col{grid-template-columns:1fr 1fr}label{display:grid;gap:.35rem;color:var(--muted);font-weight:600;font-size:.87rem}input,select,textarea{width:100%;border:1px solid #bad2e7;background:#fff;color:var(--text);border-radius:10px;padding:.6rem .65rem;font:inherit}.list-controls{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(150px,1fr)) auto;gap:.8rem;align-items:end;margin:.9rem 0 1rem}.list-controls.has-extra{grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(150px,1fr)) minmax(220px,auto) auto}.list-controls.no-count{grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(150px,1fr))}.list-controls.has-extra.no-count{grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(150px,1fr)) minmax(220px,auto)}.list-controls-extra{align-self:end}.contracts-active-filter{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.billing-inline-filters{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:.55rem;align-items:end}.billing-results-count{margin:-.35rem 0 .85rem;display:flex;justify-content:flex-end;align-items:baseline;gap:.4rem;color:var(--muted)}.billing-results-count strong{color:var(--text);font-size:1.1rem}.contracts-active-filter input[type=checkbox]{width:auto;margin:0}.vistoria-checklist-item{display:inline-flex;align-items:center;gap:8px}.vistoria-checklist-item input[type=checkbox]{width:auto;margin:0}.hidden-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.list-controls-count{align-self:center;justify-self:end;display:grid;gap:.1rem;text-align:right;color:var(--muted)}.list-controls-count strong{color:var(--text);font-size:1.1rem}textarea{resize:vertical;min-height:80px}button{margin-top:.9rem;border:0;border-radius:10px;padding:.7rem 1rem;font:inherit;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-dark));cursor:pointer}button.ghost{background:#ddecf9;color:#0d3f6d}button.danger{background:#f8dada;color:#8a1f1f}button:disabled{opacity:.78;cursor:not-allowed;filter:grayscale(22%);border:1px solid rgba(7,57,99,.25)}button.compact-row-btn{margin-top:0;padding:.38rem .64rem;font-size:.82rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f3f9ff}.inline-feedback{display:flex;justify-content:space-between;align-items:center;gap:.75rem}table{width:100%;border-collapse:collapse}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:640px}.driver-portal-table{table-layout:fixed}.driver-portal-table th,.driver-portal-table td{overflow-wrap:anywhere}.driver-portal-ellipsis{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-name-cell{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:.55rem;width:100%;color:inherit;font-weight:400}.driver-name-text{display:block;width:100%;font-weight:400;overflow-wrap:anywhere}th,td{text-align:left;padding:.7rem .45rem;border-bottom:1px solid #e5eff8;font-size:.92rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.split-pagination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.split-pagination span{justify-self:center;color:var(--muted);font-weight:600}.billing-event-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;padding:.9rem;border:1px solid #d8e7f5;border-radius:14px;background:#f6fbff}.billing-event-summary div{display:grid;gap:.2rem}.billing-event-summary span{color:var(--muted);font-size:.9rem}.billing-event-timeline{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.billing-event-item{border-left:3px solid var(--brand);padding:.8rem .9rem;background:#f9fcff;border-radius:0 14px 14px 0}.billing-event-item p{margin:.45rem 0 0;color:var(--muted)}.billing-event-meta{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.billing-event-meta span{color:var(--muted);font-size:.86rem}.billing-event-transition{margin-top:.45rem;display:flex;gap:.45rem;align-items:center;font-weight:700;color:#0d3f6d}.docs-actions{display:grid;gap:.35rem}.docs-actions select,.docs-actions input[type=file]{width:100%;font:inherit}.status{border-radius:999px;display:inline-block;padding:.2rem .58rem;font-size:.74rem;font-weight:700}.status.pendente{color:#8d5f00;background:#ffe7a9}.status.aprovado{color:#0e6748;background:#bcefdc}.status.reprovado{color:#7b1f1f;background:#f7c8c8}.status.rascunho{color:#724f00;background:#ffefc3}.status.nao_iniciado{color:#5f6f80;background:#e7edf4}.status.assinado,.status.finalizado{color:#0e6748;background:#bcefdc}.status.em_andamento{color:#145183;background:#cfe8ff}.status.disponivel{color:#0e6748;background:#bcefdc}.status.locado{color:#7d4f00;background:#ffe6b3}.status.manutencao{color:#7b1f1f;background:#f7c8c8}.status.ativo{color:#0e6748;background:#bcefdc}.status.inativo{color:#5f6f80;background:#e7edf4}.status.aberta{color:#8d5f00;background:#ffe7a9}.status.paga{color:#0e6748;background:#bcefdc}.status.atrasada{color:#7b1f1f;background:#f7c8c8}.status.em_aberto,.status.a_vencer{color:#8d5f00;background:#ffe7a9}.status.vencida{color:#7b1f1f;background:#f7c8c8}.status.em_negociacao{color:#145183;background:#cfe8ff}.status.recolhimento_iniciado{color:#5c2d91;background:#e7d9ff}.status.cancelada{color:#5f6f80;background:#e7edf4}.status.processado{color:#145183;background:#cfe8ff}.status.liquidado{color:#0e6748;background:#bcefdc}.status.nao_aplicavel{color:#5f6f80;background:#e7edf4}.status.receita{color:#0e6748;background:#bcefdc}.status.despesa,.status.corretiva{color:#7b1f1f;background:#f7c8c8}.status.preventiva{color:#145183;background:#cfe8ff}.status.recebida{color:#7d4f00;background:#ffe6b3}.status.notificada{color:#145183;background:#cfe8ff}.status.contestada{color:#5f6f80;background:#e7edf4}.status.aberto{color:#7d4f00;background:#ffe6b3}.status.em_analise{color:#145183;background:#cfe8ff}.contracts-content{grid-template-columns:1fr 1.4fr}.billing-content{grid-template-columns:.9fr 1.45fr}.finance-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-content{grid-template-columns:1fr}.fleet-sections{display:grid;grid-template-columns:1fr;gap:1rem}.fleet-summary{padding-bottom:1rem}.summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.summary-card{border:1px solid #d7e6f5;border-radius:14px;background:#f7fbff;padding:1rem;display:grid;gap:.35rem}.summary-card.clickable{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.summary-card.clickable:hover{border-color:#1e6fb8;background:#edf4fd;box-shadow:0 2px 8px #1e6fb81f}.summary-card.clickable.active{border-color:#0d3f6d;background:#d7e6f5;box-shadow:0 2px 10px #0d3f6d2e}.summary-card strong{font-size:1.8rem;color:#0d3f6d}.summary-card span{color:var(--muted);font-weight:600}.billing-checkbox-filter{display:flex;flex-direction:row!important;align-items:center;gap:.4rem;cursor:pointer;font-weight:500}.billing-checkbox-filter input[type=checkbox]{width:auto;margin:0}.billing-bulk-summary{background:#edf4fd;border:1px solid #b3d0ee;border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.operations-inline{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:.8rem;align-items:end}.empty-hint{margin-top:.75rem;color:var(--muted)}.maintenance-repasse-alert{background:#fff8e1;border:1px solid #f5c842;border-radius:8px;padding:.75rem 1rem;margin-top:12px;font-size:.9em}.maintenance-repasse-alert strong{color:#7a5000;display:block;margin-bottom:4px}.maintenance-repasse-alert p{margin:0;color:#5a3c00;line-height:1.5}.three-col{grid-template-columns:1fr 1fr 1fr}.contract-viewer-header{display:flex;gap:.8rem;justify-content:space-between;align-items:center}.contract-viewer pre{margin:0;white-space:pre-wrap;font-family:Times New Roman,serif;font-size:.92rem;background:#fff;border:1px solid #d9e7f5;border-radius:10px;padding:.9rem;max-height:420px;overflow:auto}.contracts-table.compact td{vertical-align:top}.contract-cell-primary{font-weight:700;color:#123e69}.contract-cell-secondary{margin-top:.2rem;color:var(--muted);font-size:.84rem;line-height:1.35}.contract-status-stack{display:flex;flex-wrap:wrap;gap:.35rem}.row-actions-menu{position:relative}.row-actions-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.row-actions-menu summary::-webkit-details-marker{display:none}.row-actions-menu-content{position:absolute;right:0;top:calc(100% + .35rem);z-index:5;min-width:180px;padding:.5rem;display:grid;gap:.35rem;border:1px solid #d8e7f5;border-radius:12px;background:#fff;box-shadow:0 12px 28px #08213a24}.row-actions-menu-content .ghost{width:100%;justify-content:flex-start}.contract-version-snapshot{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Consolas,Courier New,monospace;font-size:.8rem}.vistoria-fieldset{border:1px solid #d7e6f5;border-radius:12px;padding:.8rem;margin:0}.vistoria-fieldset legend{padding:0 .4rem;font-weight:700;color:#214b75}.vistoria-items-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:.45rem .9rem}.check-item{display:flex;align-items:center;gap:.45rem;font-weight:600;color:#355571}.check-item input{width:auto}.car-check-panel h3{margin:0}.car-check-panel p{margin-top:.2rem;color:var(--muted)}.car-map{position:relative;width:min(280px,100%);margin:.5rem auto}.car-map svg{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 14px rgba(16,49,76,.18))}.damage-point{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:999px;border:2px solid #17598c;background:#fffffff2;color:#17598c;font-weight:800;display:grid;place-items:center;padding:0;margin:0}.damage-point.active{background:#d23b3b;border-color:#9f2020;color:#fff}.damage-tags{display:flex;flex-wrap:wrap;gap:.4rem}.damage-tags span{border-radius:999px;padding:.24rem .6rem;font-size:.8rem;background:#e1eefb;color:#214b75;border:1px solid #bdd8f0}.validation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1c2c80;display:grid;place-items:center;z-index:40;padding:1rem}.validation-modal-overlay-priority{z-index:90}.validation-modal{width:min(700px,96vw);max-height:80vh;overflow:auto}.validation-modal h2{margin-top:0}.validation-modal ul{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem}@keyframes rise-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 900px){.content,.list-controls{grid-template-columns:1fr}.list-controls-count{justify-self:start;text-align:left}.landing-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-portals,.dashboard-grid,.two-col{grid-template-columns:1fr}.driver-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-form-row-5,.driver-form-row-5-tuned,.driver-form-row-4-profile,.driver-form-row-3,.driver-form-row-3-tuned,.driver-form-row-2{grid-template-columns:1fr}.driver-span-2,.driver-span-3{grid-column:span 2}.three-col,.billing-inline-filters{grid-template-columns:1fr}.billing-results-count{justify-content:flex-start}.table-scroll table{min-width:560px}.summary-cards,.vistoria-items-grid{grid-template-columns:1fr}.actions{flex-direction:column}.split-pagination{grid-template-columns:1fr}.split-pagination span{justify-self:start}.operations-inline{grid-template-columns:1fr;align-items:stretch}.driver-form-grid label{grid-column:span 2}.row-actions-menu{width:100%}.row-actions-menu summary{width:100%}.row-actions-menu-content{position:static;margin-top:.35rem;width:100%;box-shadow:none}}
