.button{display:inline-block;border-radius:8px;background:var(--brand);color:#fff;padding:11px 18px;font-weight:700;text-decoration:none;white-space:nowrap}.button.secondary{background:#eaf1ef;color:var(--ink)}.title{display:flex;align-items:center;justify-content:space-between;gap:20px}.fueling-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.filter{grid-template-columns:repeat(4,1fr) auto}.registry{grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;max-width:760px}.report-search{grid-template-columns:1fr 1fr 1.5fr 1.3fr auto}.report-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.small{padding:7px 10px;font-size:12px}.danger{background:#fee4e2;color:var(--danger)}.danger:hover{background:#fecdca}.fuel{font-size:11px;font-weight:800;padding:4px 8px;border-radius:20px}.fuel.diesel{background:#e8edf0;color:#34454d}.fuel.arla{background:#dbeafe;color:#175cd3}td small{display:block;color:var(--muted);margin-top:2px;white-space:nowrap}.actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.actions form{margin:0}.permissions-table input[type=checkbox]{width:20px;height:20px}.permissions-table th:not(:first-child),.permissions-table td:not(:first-child){text-align:center}

header .brand {
    width: 112px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

header .brand img {
    width: 118px;
    height: 118px;
    object-fit: contain;
    display: block;
}

.login-card {
    text-align: center;
}

.login-card form,
.login-card small {
    text-align: left;
}

.login-logo {
    display: block;
    width: 250px;
    height: 250px;
    object-fit: contain;
    margin: -45px auto -42px;
}

@media (max-width: 800px) {
    .fueling-form,.filter,.registry,.report-search,.report-summary{grid-template-columns:1fr}.title{align-items:flex-start}.title .button{flex:none}
    header .brand {
        width: 96px;
        height: 55px;
    }

    header .brand img {
        width: 105px;
        height: 105px;
    }
}

@media print{header,.report-filter-card,.print-button,.alert{display:none!important}body{background:#fff;font-size:11px}main{max-width:none;margin:0;padding:0}.card{box-shadow:none;border-color:#bbb;margin:12px 0;padding:10px}.report-title{margin-bottom:12px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric strong{font-size:17px}.table-wrap{overflow:visible}table{font-size:9px}th,td{padding:6px 4px}}

/* Dashboard */
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.dashboard-heading h1{font-size:32px;letter-spacing:-.03em}.eyebrow{display:block;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.dashboard-cta{display:flex;align-items:center;gap:7px;box-shadow:0 6px 16px #087f6b30}.dashboard-cta span{font-size:19px;line-height:1}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 4px 16px #102a220b}.kpi-card>div:last-child{min-width:0}.kpi-card span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:5px}.kpi-card strong{display:block;font-size:21px;line-height:1.2;white-space:nowrap}.kpi-card strong small{font-size:12px;font-weight:650;color:var(--muted)}.kpi-card em{display:block;color:#899397;font-size:11px;font-style:normal;margin-top:6px}.kpi-icon{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center;font-size:11px;font-weight:850}.kpi-icon.green{background:#dff5ec;color:#087f6b}.kpi-icon.blue{background:#e5efff;color:#175cd3}.kpi-icon.amber{background:#fff1d6;color:#b54708}.kpi-icon.violet{background:#f0e8ff;color:#6941c6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.75fr);gap:18px}.dashboard-grid.lower{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.dashboard-grid>.card{margin:18px 0 0}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel-title h2{margin:0;font-size:17px}.panel-title p{margin:2px 0 0;font-size:12px}.panel-title a{font-size:12px;font-weight:750;color:var(--brand);text-decoration:none}.panel-badge{font-size:10px;font-weight:750;color:var(--brand);background:#e4f4ef;padding:5px 9px;border-radius:20px}.bar-chart{height:225px;display:flex;align-items:stretch;gap:12px;padding-top:26px}.bar-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;position:relative}.bar-track{width:min(38px,70%);flex:1;background:#eef2f1;border-radius:7px 7px 3px 3px;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;background:linear-gradient(180deg,#15a689,#087f6b);border-radius:7px 7px 3px 3px;min-height:4px}.bar-column>span{font-size:10px;color:var(--muted);margin-top:8px;white-space:nowrap}.bar-value{font-size:9px;font-weight:750;color:#536166;position:absolute;top:-19px;white-space:nowrap}.donut{--diesel:50;width:144px;height:144px;border-radius:50%;margin:8px auto 22px;background:conic-gradient(#087f6b 0 calc(var(--diesel)*1%),#58a6ff calc(var(--diesel)*1%) 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:22px;background:#fff;border-radius:50%}.donut>div{z-index:1;text-align:center}.donut strong{display:block;font-size:21px}.donut span{font-size:10px;color:var(--muted)}.fuel-legend{display:grid;gap:10px}.fuel-legend>div{display:flex;align-items:center;gap:9px}.fuel-legend i{width:9px;height:9px;border-radius:50%;background:#087f6b}.fuel-legend i.arla{background:#58a6ff}.fuel-legend span{font-size:12px;font-weight:750;flex:1}.fuel-legend small{display:block;color:var(--muted);font-weight:500}.fuel-legend b{font-size:12px}.ranking-list,.recent-list{display:grid}.ranking-row,.recent-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ef}.ranking-row:last-child,.recent-row:last-child{border-bottom:0}.rank{width:25px;height:25px;border-radius:8px;background:#edf5f2;color:var(--brand);font-size:11px;font-weight:800;display:grid;place-items:center}.vehicle{flex:1;min-width:0}.vehicle b{display:block;font-size:13px}.vehicle small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row>strong,.recent-row>strong{font-size:12px;white-space:nowrap}.date-box{width:38px;height:42px;border-radius:8px;background:#edf5f2;text-align:center;padding:3px}.date-box b{display:block;color:var(--brand);font-size:15px;line-height:19px}.date-box span{font-size:8px;font-weight:800;color:var(--muted)}.empty-state{text-align:center;padding:60px 24px}.empty-icon{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#dff5ec;color:var(--brand);font-size:25px}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-heading h1{font-size:27px}.kpi-grid{grid-template-columns:1fr}.kpi-card{padding:16px}.bar-chart{gap:5px}.bar-value{display:none}}

/* Identidade Clean e navegação */
:root{--brand:#078dcc;--brand-dark:#066fa5;--paper:#f3f7fa;--ink:#162634;--line:#dbe5eb}
body{background:linear-gradient(180deg,#edf5fa 0,#f7f9fa 220px)}
.app-header{height:78px;padding:0 max(24px,calc((100% - 1240px)/2));gap:30px;border-bottom:1px solid #d9e5ec;box-shadow:0 3px 18px #1649670b;overflow:visible}
.app-header .clean-brand{width:190px;height:70px;justify-content:flex-start;overflow:visible;flex:0 0 190px}.app-header .clean-brand img{width:185px;height:62px;object-fit:contain}
.grouped-nav{display:flex;align-items:center;gap:5px;height:100%;overflow:visible}.grouped-nav>a,.grouped-nav summary{padding:10px 12px;border-radius:8px;color:#405464;font-size:13px;font-weight:700;cursor:pointer;list-style:none;white-space:nowrap}.grouped-nav summary::-webkit-details-marker{display:none}.grouped-nav summary:after{content:'⌄';margin-left:7px;color:#82939e}.grouped-nav>a:hover,.grouped-nav summary:hover,.grouped-nav details[open]>summary{background:#e8f4fa;color:var(--brand)}.grouped-nav details{position:relative}.nav-menu{position:absolute;top:45px;left:0;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:0 14px 35px #173e5524;z-index:20}.nav-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#304653;text-decoration:none;font-size:13px;font-weight:650}.nav-menu a:hover{background:#edf7fc;color:var(--brand)}.nav-menu a span{width:18px;text-align:center;color:var(--brand);font-size:11px}
.user-area{display:flex;align-items:center;gap:9px;margin-left:auto}.user-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#0aa5e6,#0575b0);color:#fff;display:grid;place-items:center;font-weight:800}.user-area>div:nth-child(2){line-height:1.2;max-width:115px}.user-area b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-area small{font-size:10px;color:var(--muted)}.logout-button{background:transparent;color:#748590;padding:7px;font-size:11px}.logout-button:hover{background:#fee4e2;color:#b42318}
main{max-width:1240px}.card,.kpi-card{border-color:#dbe6ec;box-shadow:0 5px 20px #194b6810}.dashboard-heading{background:linear-gradient(115deg,#fff 0,#f4fbff 68%,#e1f4fd 100%);border:1px solid #d7eaf4;border-radius:18px;padding:25px 28px;position:relative;overflow:hidden}.dashboard-heading:after{content:'';position:absolute;width:140px;height:140px;border:28px solid #0b96d410;border-radius:50%;right:-48px;top:-75px}.dashboard-heading>div,.dashboard-heading>a,.dashboard-heading>button{position:relative;z-index:1}.dashboard-cta{box-shadow:0 7px 18px #078dcc35}.kpi-card{border-top:3px solid #d6edf8}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 9px 25px #194b6818;transition:.2s}.kpi-icon.green{background:#e2f6fd;color:#078dcc}.bar-fill{background:linear-gradient(180deg,#27b5ec,#078dcc)}.donut{background:conic-gradient(#078dcc 0 calc(var(--diesel)*1%),#52c7e8 calc(var(--diesel)*1%) 100%)}.fuel-legend i{background:#078dcc}.fuel-legend i.arla{background:#52c7e8}.rank,.date-box{background:#e8f5fb}.panel-badge{background:#e6f5fc}
.report-form{display:grid;grid-template-columns:repeat(2,1fr) 1.4fr 1.2fr 1.2fr auto;gap:13px;align-items:end}.report-form.expanded{grid-template-columns:repeat(2,1fr) 1.25fr 1.15fr .9fr .9fr auto}.report-kpis{margin:18px 0}.grouped-report{overflow-x:auto}.report-heading{margin-bottom:18px}.analytic-group{margin:22px 0 30px}.analytic-group-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(110deg,#e9f6fc,#f8fcfe);border:1px solid #cfe7f3;border-left:4px solid var(--brand);border-radius:13px;padding:16px 20px}.analytic-group-header span{font-size:9px;font-weight:850;letter-spacing:.12em;color:var(--brand)}.analytic-group-header h2{margin:2px 0 0;font-size:18px}.analytic-subtotals{display:flex;gap:22px}.analytic-subtotals span{display:grid;gap:2px;color:#71838e;font-size:10px;font-weight:600;letter-spacing:0}.analytic-subtotals b{font-size:13px;color:#203744}.analytic-group>.table-wrap{margin:8px 0 0;border-radius:12px}
.report-actions{display:flex;align-items:center;gap:9px;position:relative;z-index:2}.report-actions .secondary{background:#e5f1f7;color:#315365}.pdf-button:before{content:'↓';margin-right:7px;font-weight:900}
.clean-login{padding:34px 42px 30px;border-top:4px solid var(--brand);box-shadow:0 18px 50px #17476222}.clean-login .login-logo{width:290px;height:auto;max-height:115px;margin:0 auto 20px}.login-eyebrow{font-size:10px;font-weight:850;letter-spacing:.18em;color:var(--brand)}.clean-login h1{font-size:25px;margin-top:5px}.clean-login p{margin:4px 0 24px}.clean-login button{background:linear-gradient(90deg,#078dcc,#06a3dd);padding:13px}.install-link{font-size:11px;color:#82919a;text-decoration:none}
@media(max-width:1050px){.app-header{height:auto;min-height:76px;flex-wrap:wrap;padding:8px 18px}.grouped-nav{order:3;width:100%;height:auto;border-top:1px solid var(--line);padding-top:6px}.report-form,.report-form.expanded{grid-template-columns:repeat(3,1fr)}.user-area{margin-left:auto}}
@media(max-width:650px){.app-header .clean-brand{width:155px;flex-basis:155px}.app-header .clean-brand img{width:150px}.user-area>div:nth-child(2){display:none}.grouped-nav{overflow-x:auto;align-items:flex-start}.nav-menu{position:fixed;top:auto;margin-top:2px}.home-link{display:none}.report-form,.report-form.expanded{grid-template-columns:1fr}.clean-login{padding:28px 22px}.clean-login .login-logo{width:240px}.dashboard-heading{padding:22px}.report-heading button{width:100%}.analytic-group-header,.analytic-subtotals{align-items:flex-start;flex-direction:column}.analytic-subtotals{gap:8px}}

input::placeholder{color:#9aa9b2;opacity:1;font-weight:400}input[data-mask]{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dashboard-period{margin:-8px 0 18px;padding:15px 18px}.dashboard-period form{display:flex;align-items:end;gap:12px}.dashboard-period label{min-width:175px}.dashboard-period button{padding:11px 17px}.period-shortcuts{display:flex;align-items:center;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #e8eef2}.period-shortcuts span{font-size:10px;font-weight:750;color:#7b8c96;margin-right:3px}.period-shortcuts a{color:#486474;background:#f1f6f8;border:1px solid #e0e9ed;border-radius:20px;font-size:11px;font-weight:750;text-decoration:none;padding:6px 11px}.period-shortcuts a:hover,.period-shortcuts a.active{color:#fff;background:var(--brand);border-color:var(--brand)}
@media(max-width:650px){.dashboard-period form{align-items:stretch;flex-direction:column}.dashboard-period label{min-width:0}.period-shortcuts{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.period-shortcuts span{grid-column:1/-1}.period-shortcuts a{text-align:center}}

/* Menu mobile */
.menu-toggle{display:none;width:42px;height:42px;padding:10px;border:1px solid #d4e3eb;border-radius:11px;background:#f2f8fb;align-items:center;justify-content:center;flex-direction:column;gap:4px}.menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:#315365;transition:transform .2s,opacity .2s}.menu-toggle:hover{background:#e5f3f9}.menu-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:760px){
    .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;height:auto;min-height:70px;padding:7px 14px;gap:8px 10px;align-items:center}
    .app-header .clean-brand{grid-column:1;grid-row:1;width:150px;height:56px;flex-basis:auto}.app-header .clean-brand img{width:148px;height:52px}
    .menu-toggle{display:flex;grid-column:3;grid-row:1}
    .user-area{grid-column:2;grid-row:1;margin:0}.user-area>div:nth-child(2){display:none}.user-area .logout-button{display:block;padding:7px 5px}
    .grouped-nav{display:none!important;grid-column:1/-1;grid-row:2;order:initial;width:100%;height:auto;overflow:visible;border-top:1px solid var(--line);padding:8px 0 4px;flex-direction:column;align-items:stretch;gap:4px}
    .grouped-nav.mobile-open{display:flex!important;animation:menuIn .18s ease-out}
    .grouped-nav .home-link{display:block;width:100%;padding:12px 14px}
    .grouped-nav details{position:static;width:100%}.grouped-nav summary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px}.grouped-nav summary:after{margin-left:auto}
    .nav-menu{position:static!important;min-width:0;width:100%;margin:2px 0 5px;padding:5px 8px;background:#f2f8fb;border:0;border-radius:10px;box-shadow:none}.nav-menu a{padding:11px 14px}
}
@keyframes menuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

.fuel-product-list{display:grid;gap:17px}.fuel-product>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.fuel-product b{font-size:12px}.fuel-product span,.fuel-product small{font-size:10px;color:var(--muted)}.fuel-product small{display:block;text-align:right;margin-top:4px}.fuel-progress{height:8px;background:#e9f0f4;border-radius:20px;overflow:hidden}.fuel-progress i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#078dcc,#35b9e7)}

/* Responsividade geral */
@media(max-width:760px){
    body{font-size:14px}main{width:100%;margin:18px auto;padding:0 12px}h1{font-size:25px;line-height:1.2}h2{font-size:17px}
    .card{padding:15px;border-radius:12px;margin:15px 0}.table-wrap{padding:4px 6px;-webkit-overflow-scrolling:touch}.table-wrap:after{content:'Deslize para visualizar →';display:block;padding:8px 10px;color:#8a99a2;font-size:9px;text-align:right}.table-wrap table{min-width:650px}.fueling-table table{min-width:1050px}.permissions-table{min-width:650px}
    th,td{padding:10px 8px}.actions{gap:5px}.actions .button,.actions button{min-height:35px}
    input,select{min-height:44px;font-size:16px}button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
    .fueling-form,.registry,.report-filter,.report-form,.report-form.expanded{grid-template-columns:1fr!important}.fueling-form button,.registry button,.report-filter button,.report-form button{width:100%}
    .dashboard-heading{margin-bottom:14px}.dashboard-heading h1{font-size:25px}.dashboard-cta{width:100%}.kpi-grid{gap:10px}.kpi-card{padding:14px}.kpi-card strong{font-size:19px}.dashboard-grid>.card{margin-top:12px}
    .chart-card{overflow-x:auto}.bar-chart{min-width:510px}.report-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.report-actions button,.report-actions .button{width:100%}.report-kpis{grid-template-columns:1fr 1fr}
    .analytic-group{margin:16px 0 22px}.analytic-group-header{padding:13px}.analytic-group>.table-wrap{margin-top:6px}
    .clean-login{margin-top:4vh}.login-card{width:100%}.login-logo{max-width:100%}
}
@media(max-width:420px){.report-kpis{grid-template-columns:1fr}.user-avatar{display:none}.app-header{grid-template-columns:minmax(0,1fr) auto auto}.app-header .clean-brand{width:132px}.app-header .clean-brand img{width:130px}.recent-row>strong,.ranking-row>strong{font-size:11px}}

/* Listas em cards no celular */
@media(max-width:760px){
    .mobile-card-list{overflow:visible;background:transparent;border:0;box-shadow:none;padding:0}
    .mobile-card-list:after{display:none}
    table.mobile-cards{display:block;min-width:0!important;width:100%;background:transparent}
    table.mobile-cards thead{display:none}
    table.mobile-cards tbody{display:grid;gap:12px;width:100%}
    table.mobile-cards tr{display:block;width:100%;background:#fff;border:1px solid #dbe6ec;border-radius:14px;padding:7px 13px;box-shadow:0 5px 16px #194b680d;overflow:hidden}
    table.mobile-cards td{display:grid;grid-template-columns:minmax(100px,38%) minmax(0,1fr);align-items:start;gap:12px;width:100%;min-height:37px;padding:9px 2px;border-bottom:1px solid #edf2f5;text-align:right;overflow-wrap:anywhere}
    table.mobile-cards td:last-child{border-bottom:0}
    table.mobile-cards td:before{content:attr(data-label);color:#71838e;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;text-align:left;padding-top:2px}
    table.mobile-cards td b,table.mobile-cards td small{justify-self:end;text-align:right}
    table.mobile-cards td small{white-space:normal}
    table.mobile-cards td.actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding-top:11px}
    table.mobile-cards td.actions:before{content:'';display:none}
    table.mobile-cards td.actions form{flex:1;min-width:90px}
    table.mobile-cards td.actions .button,table.mobile-cards td.actions button{width:100%;min-height:40px}
    table.mobile-cards td.empty{display:block;text-align:center;padding:28px 12px;border:0;color:var(--muted)}
    table.mobile-cards td.empty:before{display:none}
    .fueling-table table.mobile-cards td:nth-child(2){background:#f5fbfe;margin:0 -13px;padding:11px 15px;width:calc(100% + 26px)}
}
