*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#10251b;background:#f3f7f4}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef5f0}.login-card{width:min(100%,480px);background:#fff;border:1px solid #dce8df;border-radius:24px;padding:38px;box-shadow:0 18px 55px #183c2412}.brand-mark{width:66px;height:66px;border-radius:18px;background:#176b3a;color:white;display:grid;place-items:center;font-size:36px;font-weight:800}.eyebrow{font-size:13px;letter-spacing:1.5px;font-weight:800;color:#16804a;margin:14px 0 6px}.login-card h1{font-size:30px;margin:18px 0}.muted{color:#75847b}.login-card label,.form-grid label,.toolbar label,.filters label{display:grid;gap:8px;font-weight:700;font-size:14px;margin:16px 0}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.toolbar select,.filters input,.filters select,.search{width:100%;padding:14px;border:1px solid #d5e2d8;border-radius:11px;background:#fff;color:#10251b}.primary{background:#176b3a;color:#fff;border:0;border-radius:11px;padding:14px 20px;font-weight:700}.login-card .primary{width:100%;margin-top:4px}.message{font-size:13px}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:#10291d;color:#fff;padding:24px 14px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;margin:0 10px 34px}.brand b{display:block;letter-spacing:1px}.brand small{display:block;color:#b5d4c1;margin-top:5px}.brand-mark.small{width:46px;height:46px;font-size:25px;border-radius:14px}.sidebar nav{display:grid;gap:8px}.nav-btn{background:transparent;border:0;color:#fff;text-align:left;padding:16px;border-radius:11px}.nav-btn.active,.nav-btn:hover{background:#24573b}.nav-btn span{margin-left:10px}.sidebar-bottom{margin-top:auto;display:grid;gap:14px;font-size:13px;color:#b9d7c5}.logout,.secondary{padding:12px;border:1px solid #587665;background:transparent;color:inherit;border-radius:10px}.main{margin-left:270px;padding:30px 36px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{margin:0;font-size:30px}.topbar .eyebrow{margin:0}.admin-pill{background:#dff2e6;color:#176b3a;border-radius:30px;padding:12px 18px;font-weight:700}.page{display:grid;gap:22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat,.panel{background:#fff;border:1px solid #dce8df;border-radius:17px;padding:22px;box-shadow:0 7px 25px #163a1e08}.stat span,.stat small{display:block;color:#75847b}.stat strong{display:block;font-size:27px;margin:12px 0 5px}.stat small{font-size:12px}.panel h2{margin:0 0 7px;font-size:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-head .muted{margin:0;font-size:14px}.compact{padding:11px 15px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.form-grid label{margin:6px 0 14px}.form-grid .wide{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin-top:2px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e7eee9;font-size:13px}th{background:#f7faf8;color:#718076;white-space:nowrap}.empty{text-align:center;color:#819087;padding:24px}.toolbar,.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar label,.filters label{min-width:150px;margin:0 0 14px}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.bar-chart{height:220px;display:flex;align-items:end;justify-content:space-around;gap:14px;padding:18px 5px 0}.bar-item{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px;min-width:0}.bar-value{font-size:10px;color:#68796e;white-space:nowrap}.bar-track{height:145px;width:min(44px,80%);background:#edf4ef;border-radius:8px 8px 3px 3px;display:flex;align-items:end;overflow:hidden}.bar-fill{background:#21804a;width:100%;border-radius:8px 8px 3px 3px}.bar-item small{color:#738078}.summary-list{display:grid;gap:20px;padding:20px 5px}.summary-list div{display:flex;justify-content:space-between;border-bottom:1px solid #e8eee9;padding-bottom:15px}.summary-list span{color:#6d7c72}.actions{white-space:nowrap}.link-btn,.danger-btn{border:0;background:transparent;color:#176b3a;font-weight:700;padding:5px}.danger-btn{color:#b13a32}.check-label{display:flex!important;align-items:center;gap:10px}.check-label input{width:auto}.search{max-width:260px}.report-stats{margin:15px 0}.report-stats .stat{box-shadow:none}.secondary{color:#176b3a;border-color:#b8cfc0}.filters{padding:0 0 14px}.filters label{min-width:130px}.filters button{margin-bottom:14px}@media(max-width:1050px){.sidebar{width:220px}.main{margin-left:220px;padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sidebar{position:static;width:auto;min-height:auto;padding:12px}.brand{margin:0 8px 12px}.sidebar nav{grid-template-columns:repeat(3,1fr)}.nav-btn{padding:11px 5px;text-align:center;font-size:12px}.nav-btn span{display:block;margin:5px 0 0}.sidebar-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.main{margin:0;padding:18px 12px 35px}.topbar h1{font-size:25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px}.stat strong{font-size:21px}.form-grid{grid-template-columns:1fr}.form-grid .wide,.form-actions{grid-column:auto}.dashboard-grid{grid-template-columns:1fr}.login-card{padding:26px}.panel{padding:16px}.panel-head{align-items:flex-start;flex-direction:column}.filters label{flex:1 1 130px}}@media print{.sidebar,.topbar,.toolbar,.filters,.primary,.secondary,.link-btn,.danger-btn{display:none!important}.main{margin:0;padding:0}.panel,.stat{box-shadow:none;break-inside:avoid}.page{display:block!important}.page:not(#reportsPage){display:none!important}body{background:#fff}}

.backup-info{max-width:760px;line-height:1.6;color:#53645a}.backup-info h3{color:#10251b}.backup-info .primary{margin-top:10px}.backup-info .message{margin-top:14px}

/* Ajustes responsivos Novatec Combustível */
.menu-toggle,.mobile-backdrop{display:none}
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .app{width:100%;overflow-x:hidden}
  .sidebar{position:fixed;top:0;bottom:0;left:0;width:min(82vw,310px);min-height:100dvh;padding:18px 14px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 35px #061b1080;z-index:30;overflow-y:auto}
  .app.menu-open .sidebar{transform:translateX(0)}
  .sidebar nav{grid-template-columns:1fr;gap:5px}
  .nav-btn{display:flex;align-items:center;text-align:left;padding:14px 13px;font-size:15px;min-height:48px}
  .nav-btn span{display:inline;margin:0 0 0 10px}
  .brand{margin:0 8px 24px}
  .sidebar-bottom{display:grid;grid-template-columns:1fr;gap:12px;margin-top:auto;padding-top:22px}
  .sidebar-bottom #userEmail{overflow-wrap:anywhere}
  .mobile-backdrop{position:fixed;inset:0;background:#071b12a6;z-index:25;display:block;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
  .app.menu-open .mobile-backdrop{opacity:1;visibility:visible}
  .main{width:100%;min-width:0;margin:0;padding:12px 12px 28px}
  .menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #d5e2d8;background:#fff;color:#176b3a;border-radius:10px;padding:10px 14px;font-weight:700;margin:0 0 14px;min-height:42px}
  .topbar{gap:10px;margin-bottom:18px;align-items:center}
  .topbar h1{font-size:23px;overflow-wrap:anywhere}
  .topbar .eyebrow{font-size:11px}
  .admin-pill{font-size:12px;padding:9px 11px;white-space:nowrap}
  .page{gap:14px;min-width:0}
  .toolbar,.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .toolbar label,.filters label{min-width:0;width:100%;margin:0 0 8px;font-size:12px}
  .toolbar select,.filters input,.filters select{min-width:0;padding:12px 10px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .stat{min-width:0;padding:13px;border-radius:13px}
  .stat span{font-size:12px;line-height:1.3}
  .stat strong{font-size:19px;overflow-wrap:anywhere;margin:8px 0 4px}
  .stat small{font-size:10px;line-height:1.3}
  .dashboard-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .panel{min-width:0;padding:14px;border-radius:14px}
  .panel h2{font-size:17px}
  .panel-head{gap:10px;margin-bottom:14px}
  .panel-head .search,.search{width:100%;max-width:none}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .form-grid label{min-width:0;margin:5px 0 12px}
  .form-grid input,.form-grid select,.form-grid textarea{min-width:0;padding:13px}
  .form-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .form-actions button{width:100%;min-height:46px}
  .filters button{width:100%;margin:0 0 8px;min-height:42px}
  .table-wrap{overflow:visible;width:100%;min-width:0}
  .table-wrap table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}
  .table-wrap thead{display:none}
  .table-wrap tbody{display:grid;gap:10px}
  .table-wrap tbody tr{display:block;background:#fff;border:1px solid #e1ebe4;border-radius:12px;padding:7px 11px;min-width:0;box-shadow:0 3px 12px #163a1e08}
  .table-wrap tbody td{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:8px;align-items:start;padding:9px 2px;border-bottom:1px solid #edf2ee;font-size:12px;min-width:0;overflow-wrap:anywhere}
  .table-wrap tbody td:last-child{border-bottom:0}
  .table-wrap tbody td:before{content:attr(data-label);font-weight:700;color:#718076}
  .table-wrap tbody td.empty{display:block;text-align:center;padding:18px 8px}
  .table-wrap tbody td.empty:before{content:none}
  .table-wrap .actions{white-space:normal;display:flex;flex-wrap:wrap;gap:10px}
  .table-wrap .actions:before{content:attr(data-label);width:100%}
  .link-btn,.danger-btn{padding:8px 5px;min-height:36px}
  .bar-chart{gap:6px;padding:12px 0 0;height:190px}
  .bar-value{font-size:9px;max-width:54px;overflow:hidden;text-overflow:ellipsis}
  .bar-track{width:min(30px,75%);height:120px}
  .summary-list{gap:13px;padding:12px 2px}
  .report-stats{margin:10px 0}
  .backup-info{font-size:14px}
  .backup-info .primary{width:100%;min-height:46px}
  .login-card{width:100%;padding:24px;border-radius:18px}
}
@media(max-width:380px){
  .main{padding-left:9px;padding-right:9px}
  .stats{grid-template-columns:1fr 1fr}
  .stat strong{font-size:17px}
  .admin-pill{font-size:11px;padding:8px}
  .table-wrap tbody td{grid-template-columns:minmax(82px,36%) minmax(0,1fr);font-size:11px}
}
