/* Camada visual v2. Funciona sobre os estilos existentes, sem alterar regras de negócio. */
:root{--primary:#087f83;--dark:#102e32;--bg:#f3f6f8;--muted:#61727e;--border:#dfe7ec;--line:var(--border);--ink:#1c303d;--shadow:0 4px 18px rgba(22,49,65,.045)}
body{color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-underline-offset:3px}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #54bec2;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #087f8318}input:disabled,select:disabled,textarea:disabled{background:#f1f4f6;color:#74838d}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primary)}
.app{min-height:100dvh}.app main{min-width:0}.sidebar{background:linear-gradient(180deg,#102e32,#12262d);padding:26px 14px 16px;border-right:1px solid #ffffff0c;box-shadow:5px 0 24px #183a4210}.brand{padding:0 8px 26px;min-height:70px}.brand b{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.brand small{font-size:11px;letter-spacing:.02em}.brand img{object-fit:contain;background:#fff;padding:3px}.sidebar nav{gap:4px;scroll-padding-top:16px}.sidebar nav a{min-height:42px;padding:10px 12px;font-size:13px;color:#c4d5d9;border:1px solid transparent;transition:background .15s,color .15s}.sidebar nav a:hover{background:#ffffff09;color:#fff}.sidebar nav a[aria-current=page]{background:#1f5055;color:#fff;border-color:#3a777c;box-shadow:inset 3px 0 0 #6edbd1}.nav-section{color:#90aaae;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding:17px 12px 5px}.sidebar .user{padding:16px 6px 0;gap:8px;font-size:12px;border-color:#ffffff15}.sidebar .user>span{min-width:0;overflow-wrap:anywhere}.sidebar-toggle{background:#22444a;color:#d7eeee;border-color:#426068}.app.sidebar-collapsed .nav-section{display:none}.app.sidebar-collapsed .brand>span{width:42px!important;height:42px!important;flex-basis:42px!important}
.top{height:82px;padding:0 32px;gap:16px;box-shadow:0 1px 0 #e2e9ee;background:#ffffff;z-index:10}.top-title{min-width:0;flex:1}.top-title small{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}.top h1{font-size:22px;font-weight:700;letter-spacing:-.035em}.top-profile{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--border);flex-shrink:0}.profile-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e5f2f1;color:#087d7c;font-weight:750}.top-profile b{display:block;font-size:12px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-profile small{display:block;font-size:10px;color:var(--muted)}.tarefas-sino{margin-left:0;width:43px;height:43px;justify-content:center;position:relative;border:1px solid var(--border);background:#f9fbfc;font-size:20px}.tarefas-sino .tarefas-contador{position:absolute;right:-5px;top:-5px;box-shadow:0 0 0 3px #fff}.content{padding:28px 32px 48px;max-width:1720px;margin:0 auto;width:100%}.content>.panel:first-child{margin-top:0}.panel,.card,.driver-card{border-radius:16px;box-shadow:var(--shadow);border-color:var(--border)}.panel{padding:24px;margin-top:22px}.panel-head{align-items:center;flex-wrap:wrap;margin-bottom:20px}.panel h2{font-size:16px;letter-spacing:-.015em;font-weight:700}.panel h3{font-size:15px}.panel-head .actions{margin-top:0}.grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin:22px 0}.card{padding:22px;position:relative;overflow:hidden}.card small{font-size:12px;font-weight:600}.card .num{font-size:32px;line-height:1.2;letter-spacing:-.045em;font-weight:750;color:#193e46}.dashboard-stat-card{transition:border-color .15s,transform .15s}.dashboard-stat-card:hover{border-color:#9dcdcc;transform:translateY(-2px)}.dashboard-overview{gap:22px}.dashboard-map{border:1px solid var(--border);border-radius:13px}.calendar-toolbar h3{font-size:14px}.calendar-day{min-height:100px}.calendar-weekday{background:#f5f8fa}.calendar-nav button{min-height:34px;min-width:34px;color:var(--ink)}.map-legend{gap:10px;font-size:11px;align-items:center;flex-wrap:wrap}
.btn{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:650;line-height:1.4;border:1px solid transparent;box-shadow:0 2px 4px #087f8310;white-space:normal;text-align:center}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#fff;color:#3e5865;border:1px solid #d7e2e8;box-shadow:none}.btn.secondary:hover{background:#f3f7f9;border-color:#a8c4ca}.btn.danger{background:var(--danger)}.btn .ui-icon{margin-right:0}.actions{gap:9px}.badge{font-size:11px;padding:4px 9px;line-height:1.6}.tarefas-nova{background:#fff3d5;color:#89631d}.tarefas-contador{font-size:10px}.report-tabs{gap:8px;flex-wrap:wrap}.report-tabs a,.master-nav a{font-size:12px;border-radius:10px;padding:9px 14px}.report-tabs a.active{background:var(--primary);border-color:var(--primary)}
.table-scroll,.layout-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid #e5ecf0;border-radius:12px;scrollbar-width:thin;scrollbar-color:#bacbd1 transparent}.layout-table-scroll table{min-width:620px}.table-scroll table{border-collapse:separate;border-spacing:0}th{background:#f6f9fb;color:#617580;font-size:10px;letter-spacing:.065em;padding:13px 16px;white-space:nowrap}td{font-size:13px;padding:14px 16px;vertical-align:top;line-height:1.55;border-color:#eaf0f3}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8fbfc}td a:not(.btn){font-weight:600}td form{margin-top:8px}td input,td select,td textarea{font-size:12px}td .btn{min-height:33px;padding:6px 10px;font-size:11px}td>small{font-size:11px;color:var(--muted)}
.form-grid{gap:20px 22px}.field{gap:7px;min-width:0}.form-grid>label{display:grid;gap:7px;align-content:start}.form-grid .full{grid-column:1/-1}label{font-size:12px;color:#425b68;font-weight:600}input,select,textarea{min-height:43px;border-color:#d6e1e7;border-radius:10px;font-size:13px;color:var(--ink);padding:11px 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;line-height:1.6}input[type=file]{padding:8px;background:#f8fafb}input[type=file]::file-selector-button{border:0;background:#e7f0f2;color:#295860;border-radius:6px;padding:6px 9px;margin-right:8px;cursor:pointer}input[type=checkbox],input[type=radio]{min-height:0}.field small,.hint{font-size:11px;line-height:1.6;color:var(--muted)}.alert{font-size:13px;border:1px solid #d4ebdf;background:#edf8f2}.alert.err,.alert.error{background:#fff0f1;color:#9f2632;border-color:#f1d4d8}.empty{padding:35px 18px;font-size:13px}.signature-box{border-style:dashed;border-color:#91b4ba}.equip-event{border-color:var(--border)}.aviso-banner{border-radius:13px}.aviso-banner p{font-size:12px}.avaria-media img{box-shadow:var(--shadow)}.sale-summary,.report-summary>div{background:#f7fafb;border-color:var(--border)}
.layout-master{--primary:#5559ad;--bg:#f5f6fb}.layout-master .platform-header{background:#202846;padding-top:24px;padding-bottom:24px}.layout-master .platform-brand{font-size:21px;letter-spacing:-.03em}.layout-master .platform-subtitle{color:#b7c2df}.layout-master .platform-user>.btn,.layout-master .platform-user .btn.secondary{background:#ffffff0c;border-color:#ffffff30;color:#fff}.layout-master .platform-content{max-width:1360px;padding:28px 28px 48px}.layout-master .platform-content h1{font-size:26px;letter-spacing:-.04em}.layout-master .master-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.layout-master .master-nav a{background:#fff;border:1px solid #dfe3ef;color:#4f5b77;text-decoration:none;font-weight:600}.layout-master .master-nav a[aria-current=page]{color:#fff;background:#5559ad;border-color:#5559ad}
body.layout-login{background:#edf3f5}.layout-login .login{background:radial-gradient(ellipse at 20% 10%,#d9efec,transparent 55%),linear-gradient(140deg,#edf4f4,#f7f9fb);padding:24px}.layout-login .box,.layout-login .master-login{width:min(440px,100%);border:1px solid #dfe8ed;box-shadow:0 20px 65px #19374212;padding:38px;border-radius:22px}.layout-login .box h1,.layout-login .master-login h1{font-size:25px;letter-spacing:-.04em}.layout-login .box h1,.layout-login .box p{text-align:left}.layout-login .box:before{content:'LOCAÇÃO E OPERAÇÃO';display:block;font-size:10px;letter-spacing:.13em;color:#087f83;font-weight:750;margin-bottom:14px}.layout-login .box p,.layout-login .master-login p{font-size:13px}.layout-login .btn{min-height:46px}.layout-login.layout-master{background:radial-gradient(ellipse at 10% 0%,#e3e4f7,transparent 60%),#f5f6fb}.layout-login .platform-tag{color:#5559ad;font-size:10px;letter-spacing:.08em}
@media(min-width:761px){.app.sidebar-collapsed .top{padding-left:32px}}
@media(max-width:1100px){.top-profile b{max-width:95px}.top-profile{padding-left:12px}.content{padding:24px}.top{padding:0 24px}.dashboard-overview{grid-template-columns:1fr}.grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}
@media(max-width:760px){.sidebar,.app.sidebar-collapsed .sidebar{padding:26px 14px 16px;width:min(285px,88vw)}.sidebar .brand{padding-top:30px}.app.sidebar-collapsed .brand{padding-top:30px}.app.sidebar-collapsed .nav-section{display:block}.top{height:72px;padding:0 16px;gap:10px}.top h1{font-size:18px}.top-title small{font-size:10px}.top-profile{display:none}.menu{margin-right:0;color:#234650;font-size:23px;padding:5px}.content{padding:18px 14px 34px}.panel{padding:18px;margin-top:16px;overflow:visible}.panel-head{gap:12px;margin-bottom:16px}.panel-head .filters{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.card{padding:17px}.card .num{font-size:28px}.card small{font-size:11px}.form-grid{grid-template-columns:minmax(0,1fr);gap:17px}.form-grid .full{grid-column:1}.actions{flex-wrap:wrap}.table-scroll,.layout-table-scroll{border-radius:9px}.calendar-toolbar{flex-wrap:wrap;gap:10px}.calendar-day{min-height:76px;padding:4px}.cal-event{font-size:9px}.map-legend{width:100%}.layout-master .platform-content{padding:20px 14px 32px}.layout-master .platform-header{padding:20px}.layout-master .platform-content h1{font-size:23px}.layout-login .box,.layout-login .master-login{padding:28px 24px}.layout-login .login{padding:16px}.top-profile .profile-avatar{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff}.top-profile,.nav-section{display:none!important}.panel,.card{box-shadow:none;border-radius:0}.table-scroll,.layout-table-scroll{overflow:visible;border:0}.layout-table-scroll table{min-width:0}.grid{margin:8px 0}.content{max-width:none}}
