/*
======================================================================
DRIVERGESTOR — GUIA DE MANUTENÇÃO DO styles.css
======================================================================

Este arquivo controla APENAS aparência e layout.

MAPA RÁPIDO
1. :root / variáveis       → cores, fontes e medidas globais
2. layout / sidebar        → menu lateral e estrutura principal
3. topbar                  → cabeçalho
4. cards                   → cartões e indicadores
5. resumo                  → tela Resumo
6. meta de lucro           → Meta / Conquistado / Falta
7. custos                  → cards e formulário de custos
8. registros               → tabela, ações e lista mobile
9. desempenho              → gráficos e indicadores
10. @media                 → tablet e celular

REGRAS DE MANUTENÇÃO
- Não coloque cálculos ou regras de negócio neste arquivo.
- Para alterar somente o celular, use @media (max-width: ...).
- Para alterar somente desktop, use @media (min-width: ...).
- Regras com !important geralmente existem para sobrescrever
  regras anteriores. Não remova sem testar o efeito.
- As regras adicionadas no final podem sobrescrever regras antigas.

======================================================================
*/


/* ============================================================
   REGISTROS — CABEÇALHO E NOVO REGISTRO
   ============================================================ */
#page-registros .reg-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
#page-registros .reg-page-head h2{
  margin:0 0 4px;
  font-size:1.05rem;
}
#page-registros .reg-page-head p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
}
#page-registros .reg-add-btn{
  flex-shrink:0;
}

/* ============================================================
   REGISTROS — ÍCONES DE AÇÃO
   ------------------------------------------------------------
   Editar e Remover usam ícones no mobile.
   O JavaScript precisa inserir o SVG dentro do botão.
   Aqui controlamos somente tamanho, traço e cor.
   ============================================================ */

#page-registros .reg-action.edit svg,
#page-registros .reg-action.del svg{
  width:18px;
  height:18px;
  display:block;
  margin:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#page-registros .reg-action.del{
  color:var(--red) !important;
}

#page-registros .reg-action.del:hover{
  background:var(--red-bg) !important;
  border-color:var(--red) !important;
  color:var(--red) !important;
}

/* ============================================================
   META DE LUCRO — MOBILE
   ------------------------------------------------------------
   Meta / Conquistado / Falta:
   - uma informação por linha;
   - rótulo maior;
   - rótulo em negrito.
   ============================================================ */

@media (max-width:480px){
  #page-resumo .meta-banner-card .meta-summary-cols span{
    font-size:.72rem !important;
    font-weight:700 !important;
  }
}

/* ============================================================
   DriverGestor — styles.css
   Reorganizado: seletores e media queries duplicados foram
   consolidados (mesmo resultado visual, sem redundância).
   ============================================================ */

:root{
  --bg:#0f1a2c;
  --bg-grad:radial-gradient(circle at 12% 0%,#15233a 0%,#0f1a2c 34%,#0f1a2c 100%);
  --card:#0f1a2c;
  --border:#26324a;
  --text:#f7ffff;
  --muted:#b5c2db;
  --green:#22a029;
  --green-dark:#1a7d20;
  --green-bg:#0f2a20;
  --red:#e5484d;
  --red-bg:#301418;
  --blue:#3b6df0;
  --blue-bg:#101c33;
  --amber:#dd9a2b;
  --amber-bg:#2e2410;
  --violet:#7c5cfc;
  --violet-bg:#1c1730;
  --pink:#ec4899;
  --pink-bg:#2d1526;
  --cyan:#06b6d4;
  --cyan-bg:#0d2830;
  --navy:#0f1a2c;
  --uber:#2b2f38;
  --uber-bg:#2b3040;
  --pop99:#e6a500;
  --indrive:#22c55e;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
  --radius-xl:22px;
  --shadow-1:0 1px 2px rgba(20,25,40,.04),0 1px 1px rgba(20,25,40,.03);
  --shadow-2:0 10px 30px rgba(20,25,45,.08);
  --shadow-modal:0 24px 60px rgba(10,15,30,.28);
  --font-display:'Plus Jakarta Sans','Inter',sans-serif;
}

:root[data-theme="dark"]{
  --bg:#0f1a2c;
  --bg-grad:radial-gradient(circle at 12% 0%,#15233a 0%,#0f1a2c 34%,#0f1a2c 100%);
  --card:#0f1a2c;
  --border:#26324a;
  --text:#f7ffff;
  --muted:#b5c2db;
  --green-bg:#0f2a20;
  --red-bg:#301418;
  --amber-bg:#2e2410;
  --blue-bg:#101c33;
  --uber-bg:#2b3040;
  --violet-bg:#1c1730;
  --pink-bg:#2d1526;
  --cyan-bg:#0d2830;
}

*{
  box-sizing:border-box;
}

html{
  overflow-x:hidden;
}

body{
  margin:0;
  overflow-x:hidden;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg-grad);
  background-attachment:fixed;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  transition:background .2s ease,color .2s ease;
}

.app-shell{
  display:flex;
  min-height:100vh;
}

.sidebar{
  width:220px;
  flex-shrink:0;
  background:var(--card);
  border-right:1px solid var(--border);
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  position:fixed;
  top:0;
  left:0;
  height:100vh;
  overflow-y:auto;
  z-index:50;
}

.sidebar-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 6px 12px;
  margin-bottom:8px;
  border-bottom:1px solid var(--border);
}

.sidebar-brand .b-icon{
  width:36px;
  height:36px;
  border-radius:11px;
  flex-shrink:0;
  object-fit:cover;
  box-shadow:0 4px 10px rgba(17,24,39,.28);
}

#authOverlay{
  background:radial-gradient(circle at 15% 0%, #182238 0%, #0b0f1a 45%, #0b0f1a 100%);
  backdrop-filter:none;
}

.auth-card{
  background:linear-gradient(160deg,#161d30,#121729);
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  max-width:380px;
  width:100%;
  padding:34px 30px 28px;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
  text-align:left;
}

.auth-card .auth-logo{
  width:56px;
  height:56px;
  border-radius:14px;
  display:block;
  margin:0 auto 14px;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

.auth-card h3{
  font-family:var(--font-display);
  font-size:1.2rem;
  margin:0 0 4px;
  font-weight:800;
  letter-spacing:-.01em;
  color:#f4f6fb;
  text-align:center;
}

.auth-card > div > p{
  color:#93a0b8;
  font-size:.85rem;
  margin:0 0 4px;
  text-align:center;
}

.auth-card .form-field label{
  color:#93a0b8;
  font-size:.76rem;
  font-weight:600;
}

.auth-card .form-field input{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  color:#f4f6fb;
  border-radius:10px;
  padding:10px 12px;
  font-family:inherit;
  font-size:.9rem;
}

.auth-card .form-field input:focus{
  outline:none;
  border-color:#22d3ee;
  background:rgba(255,255,255,.08);
}

.auth-card .form-field input::placeholder{
  color:#5b6478;
}

.auth-card .form-field input:-webkit-autofill,
.auth-card .form-field input:-webkit-autofill:hover,
.auth-card .form-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#f4f6fb;
  -webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.08) inset;
  box-shadow:0 0 0px 1000px rgba(255,255,255,.08) inset;
  transition:background-color 5000s ease-in-out 0s;
  caret-color:#f4f6fb;
}

.auth-submit-btn{
  width:100%;
  justify-content:center;
  border:none;
  border-radius:10px;
  padding:11px;
  font-weight:700;
  font-size:.88rem;
  cursor:pointer;
  font-family:inherit;
  background:linear-gradient(120deg,#0d9c66,#22d3ee);
  color:#04140f;
  box-shadow:0 8px 24px rgba(13,156,102,.28);
}

.auth-switch-btn{
  background:transparent;
  border:none;
  color:#93a0b8;
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  text-align:center;
  padding:4px;
}

.auth-switch-btn:hover{
  color:#f4f6fb;
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0;
  color:#5b6478;
  font-size:.72rem;
}

.auth-divider::before,.auth-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(255,255,255,.1);
}

.google-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#fff;
  color:#161b26;
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  padding:10px;
  font-weight:600;
  font-size:.86rem;
  cursor:pointer;
  font-family:inherit;
}

.google-btn:hover{
  background:#f4f6fb;
}

.auth-forgot-link{
  color:#22d3ee;
  font-size:.78rem;
  font-weight:600;
  text-align:right;
  display:block;
  margin-top:-4px;
  text-decoration:none;
  background:none;
  border:none;
  cursor:pointer;
  font-family:inherit;
  padding:0;
}

.auth-forgot-link:hover{
  text-decoration:underline;
}

.auth-error{
  color:#f87171;
  font-size:.8rem;
  font-weight:600;
}

.auth-success{
  color:#34d399;
  font-size:.82rem;
  font-weight:600;
  line-height:1.5;
}

.sidebar-brand .b-text{
  font-family:var(--font-display);
  font-weight:800;
  font-size:.88rem;
  line-height:1.2;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.sidebar-brand .b-text span{
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:500;
  color:var(--muted);
  font-size:.66rem;
}

.sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:1px;
  flex:1;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 12px;
  border-radius:10px;
  color:var(--muted);
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  border:none;
  background:none;
  text-align:left;
  width:100%;
  border-left:3px solid transparent;
  transition:background .15s ease,color .15s ease;
  font-family:inherit;
}

.nav-item:hover{
  background:var(--bg);
  color:var(--text);
}

.nav-item.active{
  background:#1c2740;
  color:var(--blue);
  border-left-color:var(--blue);
}

.sidebar-foot{
  border-top:1px solid var(--border);
  padding-top:10px;
  margin-top:8px;
}

.user-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px;
  margin-bottom:8px;
  border-radius:12px;
  background:var(--bg-soft,rgba(17,24,39,.035));
  position:relative;
}

.user-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:.85rem;
  flex-shrink:0;
  text-transform:uppercase;
}

.user-info{
  min-width:0;
  flex:1;
}

.user-name{
  font-weight:700;
  font-size:.78rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.user-email{
  font-size:.68rem;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.user-plan-badge{
  font-size:.58rem;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  background:var(--green-bg);
  color:var(--green-dark);
  white-space:nowrap;
  flex-shrink:0;
}

.user-plan-badge.warn{
  background:rgba(217,119,6,.14);
  color:#b45309;
}

.main{
  flex:1;
  min-width:0;
  padding:22px 28px 60px;
  max-width:1360px;
  margin-left:220px;
}

.topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

.topbar h1{
  font-family:var(--font-display);
  font-size:1.5rem;
  margin:0 0 3px;
  font-weight:800;
  letter-spacing:-.02em;
}

.topbar p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}

.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.qa-btn{
  border:none;
  padding:10px 16px;
  border-radius:10px;
  font-weight:700;
  font-size:.8rem;
  cursor:pointer;
  color:#fff;
  white-space:nowrap;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
  transition:transform .15s ease,opacity .15s ease;
  font-family:inherit;
  background:linear-gradient(135deg,var(--green),var(--green-dark));
}

.qa-btn:hover{
  transform:translateY(-1px);
  opacity:.94;
}

.qa-btn.blue{
  background:linear-gradient(135deg,var(--blue),#274bc7);
}

.month-select-wrap{
  position:relative;
  display:flex;
  align-items:center;
}

.month-select-wrap .cal-ic{
  position:absolute;
  left:12px;
  font-size:.82rem;
  pointer-events:none;
}

.month-select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  border-radius:999px;
  padding:9px 30px 9px 32px;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--shadow-1);
  font-family:inherit;
  text-transform:capitalize;
}

.month-select-wrap .chev{
  position:absolute;
  right:11px;
  font-size:.62rem;
  color:var(--muted);
  pointer-events:none;
}

.page{
  display:none;
}

.page.active{
  display:block;
  animation:fadeIn .3s ease;
}

@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

.stat-grid6{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-bottom:16px;
}

.period-tab.active{
  background:var(--card);
  color:var(--text);
  box-shadow:var(--shadow-1);
}

@media (max-width:1300px){
  .stat-grid6{
    grid-template-columns:repeat(3,1fr);
  }

  .stat-mini-grid{
    grid-template-columns:repeat(3,1fr);
  }

}

@media (max-width:760px){
  .stat-grid6{
    grid-template-columns:repeat(2,1fr);
  }

  #page-resumo .meta-goal-widget .meta-needed{
    grid-template-columns:1fr auto;
    row-gap:6px;
    column-gap:12px;
  }

  #page-resumo .meta-goal-widget .meta-needed-note{
    grid-column:1/-1;
  }

  .costs-grid-new{
    grid-template-columns:1fr;
  }

  .costs-fuel-grid{
    grid-template-columns:1fr;
  }

  .cost-km-highlight{
    grid-column:auto;
  }
  .topbar{
    margin-bottom:14px;
    gap:12px;
  }

  .topbar h1{
    font-size:1.25rem;
  }

  .topbar p{
    font-size:.78rem;
  }

  .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .topbar-actions .month-select-wrap,
  .topbar-actions .month-select{
    width:100%;
  }

  .topbar-actions .qa-btn{
    width:100%;
  }

  .period-tabs-row{
    justify-content:stretch;
    margin-bottom:10px;
  }

  #page-resumo .stat-card{
    padding:12px;
    border-radius:14px;
  }

  #page-resumo .stat-top{
    gap:7px;
    margin-bottom:8px;
  }

  #page-resumo .stat-icon{
    width:29px;
    height:29px;
    border-radius:9px;
  }

  #page-resumo .stat-label{
    font-size:.67rem;
  }

  #page-resumo .stat-value{
    font-size:1.05rem;
  }

  #page-resumo .stat-sub{
    font-size:.66rem;
  }

  #page-resumo .widget{
    padding:14px;
    border-radius:14px;
  }

  #page-resumo .dash-grid-main,
  #page-resumo .dash-grid2,
  #page-resumo .dash-grid3{
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:10px;
  }

  #page-resumo .costs-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  #page-resumo .resumo-analysis-stats{
    grid-template-columns:1fr 1fr;
  }

  #page-resumo .resumo-analysis-bottom{
    grid-template-columns:1fr;
  }

  #page-resumo .resumo-analysis-card{
    padding:14px;
  }

  #page-registros .reg-table-wrap{
    display:none;
  }

  #page-registros .reg-mobile-list{
    display:block;
  }

  #page-registros .reg-table-card{
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  #page-registros .reg-table-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  #page-registros .reg-page-head{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    margin-bottom:12px;
  }
  #page-registros .reg-page-head h2{
    font-size:.98rem;
  }
  #page-registros .reg-page-head p{
    font-size:.72rem;
  }
  #page-registros .reg-add-btn{
    width:100%;
    min-height:42px;
  }

  #page-registros .stat-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-bottom:12px;
  }

  #page-registros .stat-mini-card{
    padding:11px;
    gap:8px;
    min-width:0;
  }

  #page-registros .stat-mini-card .smi-icon{
    width:30px;
    height:30px;
    border-radius:9px;
  }

  #page-registros .smi-label{
    font-size:.64rem;
    line-height:1.25;
  }

  #page-registros .smi-val{
    font-size:.95rem;
    margin-top:3px;
  }
  #page-registros .table-pagination{
    padding:10px 11px;
  }

  #page-registros .tp-info{
    width:100%;
    text-align:center;
    font-size:.72rem;
  }

  #page-registros .tp-controls{
    width:100%;
    justify-content:center;
  }

  .meta-daily-target{
    display:block;
    padding-top:12px;
    margin-top:12px;
  }

  .meta-daily-target .mdt-label{
    width:100%;
    font-size:.78rem;
    line-height:1.25;
  }

  .meta-daily-target strong{
    display:block;
    margin-top:5px;
    font-size:1.15rem;
    line-height:1.15;
  }

  .meta-daily-target .mdt-hint{
    margin-top:4px;
    max-width:100%;
    font-size:.68rem;
    line-height:1.35;
  }

  .dashboard-section-head{
    margin-bottom:10px;
  }

  .dashboard-main-grid,.dashboard-bottom-grid{
    grid-template-columns:1fr;
  }

  .meta-dashboard-card{
    grid-column:auto;
  }

  #page-resumo .stat-grid6{
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:12px;
  }

  #page-resumo .stat-mini-grid{
    grid-template-columns:1fr 1fr;
    padding:4px;
  }

  #page-resumo .stat-mini-grid .stat-mini-card{
    border-right:0;
    border-bottom:1px solid var(--border);
    padding:8px;
  }

  #page-resumo .stat-mini-grid .stat-mini-card:nth-child(odd){
    border-right:1px solid var(--border);
  }

  #page-resumo .stat-mini-grid .stat-mini-card:nth-child(n+5){
    border-bottom:0;
  }

  .dashboard-card{
    padding:12px;
  }

  .cost-km-list{
    grid-template-columns:1fr;
  }

  .cost-km-summary{
    grid-template-columns:1fr;
  }

  .meta-target-row{
    grid-template-columns:1fr;
  }

  .meta-target-row>div{
    border-right:0;
    border-bottom:1px solid var(--border);
    padding:6px;
  }

  .meta-target-row>div:last-child{
    border-bottom:0;
  }

  .resumo-period-switch{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    transform:none !important;
    -webkit-transform:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    z-index:2147483000 !important;
    display:flex !important;
    gap:0 !important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
    border:0 !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-radius:0 !important;
    background:#0f2c21 !important;
    box-shadow:0 -6px 18px rgba(13,45,32,.22) !important;
  }

  /* Enquanto um modal (Novo Registro, etc.) está aberto, a barra de período
     recua — evita sobrepor os botões do modal. */
  body.modal-open .resumo-period-switch{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .resumo-period-btn{
    flex:1;
    padding:11px 6px;
    font-size:.74rem;
    border-radius:9px;
    color:#fff !important;
    opacity:.82;
  }

  .resumo-period-btn.active{
    background:var(--green) !important;
    color:#fff !important;
    opacity:1;
  }

  .resumo-period-controls{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    padding-bottom:0px;
  }

  .resumo-date-picker{
    width:50%;
    justify-self:start;
    justify-content:flex-start;
  }

  .resumo-date-field{
    justify-content:flex-start;
  }

  .resumo-date-picker input{
    min-width:0;
    text-align:left;
  }

  .nav-item .n-icon{
    width:30px !important;
    height:30px !important;
  }

  .resumo-activity-icon{
    width:30px !important;
    height:30px !important;
  }

  .stat-mini-card .smi-icon{
    width:30px !important;
    height:30px !important;
  }

  .cost-item-icon{
    width:36px !important;
    height:36px !important;
  }

  #page-resumo .rr-icon,
  #page-resumo .resumo-activity-icon,
  #page-resumo .resumo-quick-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    max-width:40px !important;
    max-height:40px !important;
    border-radius:50% !important;
    box-sizing:border-box !important;
  }

  #page-resumo .rr-icon svg,
  #page-resumo .resumo-activity-icon .premium-svg{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
  }

  #page-resumo .resumo-quick-icon{
    font-size:20px !important;
    line-height:20px !important;
  }

  #page-resumo .topbar{
    margin-bottom:0;
  }

  .meta-banner-card{
    padding:16px !important;
  }

  .meta-banner-card .dashboard-card-title{
    margin-bottom:16px !important;
  }

  .meta-banner-card .meta-summary-cols{
    column-gap:12px !important;
    margin-bottom:16px !important;
  }

  .meta-banner-card .meta-summary-cols span{
    font-size:.68rem !important;
    margin-bottom:5px !important;
  }

  .meta-banner-card .meta-summary-cols strong{
    font-size:1rem !important;
  }

  .meta-banner-card .meta-bar-bg{
    margin:16px 0 7px !important;
  }

  .meta-banner-card .meta-banner-pct{
    margin-bottom:16px !important;
  }

  .meta-banner-card .meta-status{
    min-height:48px !important;
    margin-bottom:16px !important;
    padding:10px 12px !important;
  }

  .meta-banner-card .meta-daily-target{
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:7px !important;
    padding-top:16px !important;
  }

  .meta-banner-card .meta-daily-target .mdt-label{
    white-space:normal !important;
  }

  .meta-banner-card .meta-daily-target strong{
    display:block !important;
    margin-top:1px !important;
    font-size:1.2rem !important;
  }

  .meta-banner-card .meta-daily-target .mdt-hint{
    font-size:.68rem !important;
    line-height:1.45 !important;
  }

}

.stat-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:15px;
  box-shadow:var(--shadow-1);
  transition:transform .18s ease,box-shadow .18s ease;
}

.stat-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}

.stat-top{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
}

.stat-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.92rem;
  flex-shrink:0;
}

.stat-label{
  font-size:.72rem;
  color:var(--muted);
  font-weight:700;
  line-height:1.2;
}

.stat-value{
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:4px;
}

.stat-sub{
  color:var(--muted);
  font-size:.7rem;
  display:block;
}

.stat-sub.up{
  color:var(--green-dark);
  font-weight:700;
}

.stat-sub.down{
  color:var(--red);
  font-weight:700;
}

.spark-wrap{
  margin-top:6px;
  line-height:0;
}

.dash-grid-main{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:16px;
  margin-bottom:16px;
  min-width:0;
}

.mobile-menu-btn{
  display:none;
  position:fixed;
  top:14px;
  left:14px;
  z-index:1001;
  width:44px;
  height:44px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
  color:var(--text);
  font-size:22px;
  cursor:pointer;
  box-shadow:var(--shadow-1);
}

@media (max-width:900px){
  .app-shell{
    flex-direction:column !important;
  }

  .sidebar{
    position:fixed !important;
    height:100vh !important;
    width:280px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    overflow-x:hidden !important;
    padding:18px 14px !important;
    top:0;
    left:0;
    bottom:0;
    z-index:1000;
    display:flex !important;
    overflow-y:auto !important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:0 12px 40px rgba(0,0,0,.45);
  }

  .sidebar.mobile-open{
    transform:translateX(0);
  }

  .sidebar-brand{
    padding:0 8px 16px !important;
    border-bottom:1px solid var(--border) !important;
    margin-bottom:10px !important;
  }

  .sidebar-nav{
    flex-direction:column !important;
    width:100%;
  }

  .nav-item{
    white-space:normal !important;
    border-left:3px solid transparent !important;
    border-bottom:none !important;
    width:100%;
    text-align:left;
  }

  .nav-item.active{
    border-left:none;
    border-bottom-color:var(--blue);
    border-left-color:var(--blue) !important;
    border-bottom:none !important;
  }

  .sidebar-foot{
    display:block !important;
    margin-top:auto;
  }

  .main{
    padding:72px 14px 60px !important;
    margin-left:0 !important;
    width:100%;
  }

  .mobile-menu-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--card);
    color:var(--text);
  }

  .stat-mini-grid{
    grid-template-columns:1fr 1fr;
  }

  .mobile-menu-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:999;
    background:rgba(0,0,0,.52);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }

  .mobile-menu-overlay.mobile-open{
    opacity:1;
    pointer-events:auto;
  }

  .stat-grid4{
    grid-template-columns:repeat(2,1fr);
  }

  .perf-stat-grid{
    grid-template-columns:1fr 1fr;
  }

  .perf-chart-head{
    flex-direction:column;
  }

  .perf-info-box{
    min-width:0;
    width:100%;
  }

  .perf-platform-head,.perf-platform-row{
    grid-template-columns:1.2fr 1fr 1fr;
    font-size:.62rem;
  }

  .perf-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  #page-resumo .resumo-quick-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    display:grid !important;
    max-width:100% !important;
  }

  #page-resumo .resumo-quick-card{
    width:100% !important;
    min-width:0 !important;
  }

}

.empty-state{
  color:var(--muted);
  font-size:.85rem;
  margin:0;
  text-align:center;
  padding:18px 0;
}

.daychart-wrap{
  position:relative;
}

.daychart-tooltip{
  position:absolute;
  background:var(--navy);
  color:#fff;
  padding:7px 11px;
  border-radius:9px;
  font-size:.72rem;
  font-weight:700;
  pointer-events:none;
  transform:translate(-50%,-115%);
  white-space:nowrap;
  box-shadow:var(--shadow-2);
  opacity:0;
  transition:opacity .1s ease;
  z-index:5;
}

.daychart-tooltip.show{
  opacity:1;
}

.daychart-tooltip .dt-date{
  font-weight:500;
  color:#c7ccd6;
  font-size:.66rem;
}

.meta-value{
  font-family:var(--font-display);
  font-size:1.8rem;
  font-weight:800;
  color:var(--green-dark);
  margin-bottom:2px;
}

.meta-sub{
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:10px;
}

.meta-bar-bg{
  background:#eef0f4;
  border-radius:999px;
  height:10px;
  overflow:hidden;
  position:relative;
  margin:14px 0 7px;
}

:root[data-theme="dark"] .meta-bar-bg{
  background:#252b3a;
}

.meta-bar-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--green));
}

.meta-pct{
  text-align:center;
  font-size:1.05rem;
  font-weight:800;
  color:var(--text);
  margin:0 0 16px;
  line-height:1.2;
}

.meta-status{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--bg);
  font-size:.74rem;
  line-height:1.45;
}

.meta-status.success{
  border-color:rgba(18,168,110,.28);
  background:var(--green-bg);
}

.meta-status.pending{
  border-color:rgba(139,145,163,.28);
  background:rgba(139,145,163,.14);
}

.meta-status .ms-icon{
  width:25px;
  height:25px;
  border-radius:8px;
  background:var(--card);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-weight:900;
}

.meta-status.success .ms-icon{
  color:var(--green-dark);
}

.meta-status.pending .ms-icon{
  color:var(--muted);
}

.meta-status strong{
  font-weight:800;
  color:var(--text);
}

.meta-status-text{
  color:var(--muted);
}

#page-resumo .meta-goal-widget{
  padding:16px 18px 17px;
}

#page-resumo .meta-goal-widget .meta-grid{
  gap:0;
}

#page-resumo .meta-goal-widget .meta-main{
  padding-bottom:2px;
}

#page-resumo .meta-goal-widget .meta-needed{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid var(--border);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(230px,.9fr);
  align-items:center;
  column-gap:18px;
}

#page-resumo .meta-goal-widget .meta-needed-label{
  font-weight:800;
  font-size:.78rem;
}

#page-resumo .meta-goal-widget .meta-needed-value{
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:900;
  white-space:nowrap;
}

#page-resumo .meta-goal-widget .meta-needed-note{
  color:var(--muted);
  font-size:.68rem;
  line-height:1.45;
}

.meta-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.meta-mini-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:12px;
}

.meta-mini-card .mc-label{
  font-size:.7rem;
  color:var(--muted);
  font-weight:700;
  margin-bottom:4px;
}

.meta-mini-card .mc-val{
  font-size:1.02rem;
  font-weight:800;
  font-family:var(--font-display);
}

.meta-mini-card .mc-val span{
  font-size:.7rem;
  font-weight:600;
  color:var(--muted);
}

.prev-detail-item .pdi-val.up{
  color:var(--green-dark);
}

.prev-detail-item .pdi-val.down{
  color:var(--red);
}

.costs-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}

.cost-mini{
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:12px;
  background:var(--bg);
}

.cost-mini .cm-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}

.cost-mini .cm-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.cost-mini .cm-icon.variable{
  background:var(--green-bg);
  color:var(--green-dark);
}

.cost-mini .cm-icon.fixed{
  background:var(--blue-bg);
  color:var(--blue);
}

.cost-mini .cm-name{
  font-size:.78rem;
  font-weight:700;
}

.cost-mini .cm-val{
  font-size:.86rem;
  font-weight:800;
  font-family:var(--font-display);
  color:var(--text);
}

.cost-mini .cm-sub{
  font-size:.66rem;
  color:var(--muted);
  margin-top:2px;
}

.cost-mini .cm-val-note{
  font-size:.62rem;
  font-weight:600;
  color:var(--muted);
}

.vt-btn.active{
  border-color:var(--green);
  background:var(--green-bg);
  color:var(--green-dark);
}

.maint-card-disabled{
  opacity:.5;
}

.insight-row{
  display:flex;
  gap:10px;
  padding:9px 0;
  align-items:flex-start;
}

.insight-dot.warn{
  background:var(--red);
}

.resumo-analysis-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
  margin-top:16px;
}

.resumo-analysis-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:15px;
}

.resumo-analysis-head h3{
  font-family:var(--font-display);
  font-size:1rem;
  margin:0 0 4px;
  font-weight:800;
}

.resumo-analysis-head p{
  margin:0;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.45;
}

.resumo-analysis-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:16px;
}

.resumo-analysis-stat{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--bg);
  padding:10px 11px;
}

.resumo-analysis-stat .ras-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:.9rem;
}

.resumo-analysis-stat.c-green .ras-icon{
  background:var(--green-bg);
  color:var(--green-dark);
}

.resumo-analysis-stat.c-red .ras-icon{
  background:var(--red-bg);
  color:var(--red);
}

.resumo-analysis-stat.c-blue .ras-icon{
  background:var(--blue-bg);
  color:var(--blue);
}

.resumo-analysis-stat.c-violet .ras-icon{
  background:var(--violet-bg);
  color:var(--violet);
}

.resumo-analysis-stat span{
  display:block;
  color:var(--muted);
  font-size:.64rem;
  font-weight:700;
  margin-bottom:2px;
}

.resumo-analysis-stat strong{
  display:block;
  font-family:var(--font-display);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.resumo-analysis-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);
  gap:16px;
  align-items:stretch;
}

.resumo-weekday-panel{
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--bg);
  padding:13px 14px 10px;
  min-width:0;
}

.resumo-analysis-title{
  font-size:.72rem;
  font-weight:800;
  color:var(--text);
  margin-bottom:10px;
}

.resumo-weekday-bars{
  display:flex;
  align-items:flex-end;
  gap:8px;
  height:105px;
  padding:0 3px;
  border-bottom:1px solid var(--border);
}

.resumo-weekday-bars .rw-col{
  height:100%;
  flex:1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-width:0;
}

.resumo-weekday-bars .rw-bar{
  position:relative;
  width:min(38px,72%);
  min-height:2px;
  border-radius:7px 7px 0 0;
  background:linear-gradient(180deg,var(--green),var(--green-dark));
}

.resumo-weekday-bars .rw-value{
  position:absolute;
  left:50%;
  bottom:calc(100% + 4px);
  transform:translateX(-50%);
  font-size:.58rem;
  font-weight:800;
  color:var(--muted);
  white-space:nowrap;
}

.resumo-weekday-labels{
  display:flex;
  gap:8px;
  padding:7px 3px 0;
}

.resumo-weekday-labels span{
  flex:1;
  text-align:center;
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
}

.resumo-analysis-note{
  border:1px solid rgba(59,109,240,.28);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(59,109,240,.055),rgba(59,109,240,.015));
  padding:14px;
}

.resumo-analysis-note strong{
  font-family:var(--font-display);
  font-size:.76rem;
  color:var(--blue);
  display:block;
  margin-bottom:7px;
}

.resumo-analysis-note p{
  margin:0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.55;
}

.stat-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:18px;
}

@media (max-width:480px){
  .stat-mini-grid{
    grid-template-columns:1fr;
  }

  #installBtn{
    padding:10px 12px;
  }

  .topbar h1{
    font-size:1.25rem;
  }

  .topbar-actions{
    width:100%;
    justify-content:space-between;
    grid-template-columns:1fr;
  }

  #page-resumo .stat-grid6{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  #page-resumo .stat-card{
    padding:10px;
  }

  #page-resumo .stat-value{
    font-size:.98rem;
  }

  #page-registros .stat-mini-grid{
    grid-template-columns:1fr 1fr;
  }

  #page-registros .stat-mini-card{
    min-height:72px;
  }

  #page-registros .smi-label{
    font-size:.60rem;
  }

  #page-registros .smi-val{
    font-size:.88rem;
  }

  .stat-grid4{
    grid-template-columns:1fr;
  }

  #page-resumo .resumo-quick-grid{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-bottom:0 !important;
  }

  #page-resumo .resumo-quick-card{
    min-height:72px !important;
  }

}

.stat-mini-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:15px;
  box-shadow:var(--shadow-1);
  display:flex;
  align-items:flex-start;
  gap:11px;
}

.stat-mini-card .smi-label{
  font-size:.72rem;
  color:var(--muted);
  font-weight:700;
  margin-bottom:3px;
}

.stat-mini-card .smi-val{
  font-size:1.35rem;
  font-weight:800;
  font-family:var(--font-display);
}

.meta-page-grid{
  display:grid;
  gap:14px;
}

.meta-goal-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  display:grid;
  grid-template-columns:minmax(0,1fr) 342px;
  gap:28px;
  align-items:center;
}

.meta-section-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-size:1.02rem;
  font-weight:800;
  margin:0 0 7px;
}

.meta-description{
  color:var(--muted);
  font-size:.82rem;
  margin:0 0 17px;
}

.meta-goal-field label{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  font-weight:700;
  margin-bottom:8px;
}

.meta-tip{
  border:1px solid var(--border);
  border-radius:13px;
  padding:18px 20px;
  background:linear-gradient(145deg,rgba(255,255,255,.015),rgba(255,255,255,.005));
  min-height:118px;
}

.meta-tip-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  margin-bottom:9px;
}

.meta-tip p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}

.meta-progress-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px 22px 20px;
  box-shadow:var(--shadow-1);
}

.meta-progress-card h2,.meta-panel h2{
  font-family:var(--font-display);
  font-size:1rem;
  margin:0 0 16px;
  font-weight:800;
}

.meta-progress-stats{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
  margin-bottom:12px;
}

.meta-progress-stat{
  padding:0 22px;
  border-right:1px solid var(--border);
}

.meta-progress-stat:first-child{
  padding-left:2px;
}

.meta-progress-stat:last-child{
  border-right:0;
}

.meta-progress-label{
  font-size:.76rem;
  color:var(--muted);
  margin-bottom:4px;
}

.meta-progress-value{
  font-family:var(--font-display);
  font-size:1.55rem;
  font-weight:800;
  line-height:1.15;
}

.meta-progress-value.green{
  color:var(--green);
}

.meta-progress-value.red{
  color:#ff4d55;
}

.meta-progress-bar{
  height:10px;
  background:var(--border);
  border-radius:999px;
  overflow:hidden;
}

.meta-progress-fill{
  height:100%;
  background:linear-gradient(90deg,var(--green),#16c784);
  border-radius:999px;
  min-width:0;
}

.meta-bottom-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.meta-panel{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:20px 22px;
  box-shadow:var(--shadow-1);
  min-width:0;
}

.meta-panel-sub{
  color:var(--muted);
  font-size:.8rem;
  margin:-8px 0 18px;
}

.meta-target-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}

.meta-target-item{
  padding:2px 20px 3px;
  border-right:1px solid var(--border);
}

.meta-target-item:first-child{
  padding-left:2px;
}

.meta-target-item:last-child{
  border-right:0;
}

.meta-target-head{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:.78rem;
  color:var(--text);
  font-weight:600;
  margin-bottom:9px;
}

.meta-target-value{
  font-family:var(--font-display);
  font-size:1.45rem;
  font-weight:800;
  margin-left:45px;
}

.meta-target-unit{
  font-size:.75rem;
  color:var(--muted);
  margin-left:45px;
  margin-top:5px;
}

.meta-panel-foot{
  border-top:1px solid var(--border);
  margin-top:18px;
  padding-top:15px;
  color:var(--muted);
  font-size:.72rem;
}

@media(max-width:1000px){
  .meta-goal-card{
    grid-template-columns:1fr;
  }

  .meta-tip{
    min-height:0;
  }

  .meta-bottom-grid{
    grid-template-columns:1fr;
  }

  .resumo-two-col{
    grid-template-columns:1fr;
  }

  #page-resumo .resumo-two-col{
    gap:10px !important;
  }

  #page-resumo .resumo-side-col{
    padding-top:0 !important;
  }

}

@media(max-width:650px){
  .meta-progress-stats{
    grid-template-columns:1fr;
  }

  .meta-progress-stat{
    padding:9px 0;
    border-right:0;
    border-bottom:1px solid var(--border);
  }

  .meta-progress-stat:last-child{
    border-bottom:0;
  }

  .meta-target-grid{
    grid-template-columns:1fr;
  }

  .meta-target-item{
    padding:12px 0;
    border-right:0;
    border-bottom:1px solid var(--border);
  }

  .meta-target-item:last-child{
    border-bottom:0;
  }

}

.vehicle-config-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 18px;
  margin-bottom:18px;
  border-bottom:1px solid var(--border);
}

.vehicle-config-title{
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:800;
  margin-bottom:5px;
}

.vehicle-config-hint{
  font-size:.7rem;
  color:var(--muted);
  line-height:1.45;
}

.vehicle-config-toggle{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.vehicle-config-btn{
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--muted);
  border-radius:10px;
  padding:10px 14px;
  font-family:inherit;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}

.vehicle-config-btn.active{
  background:var(--green-bg);
  border-color:var(--green);
  color:var(--green);
}

.vehicle-config-btn:hover{
  border-color:var(--green);
  color:var(--green);
}

@media(max-width:850px){
  .vehicle-config-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .vehicle-config-toggle{
    justify-content:flex-start;
  }

}

.config-costs-page{
  display:grid;
  gap:14px;
}

.config-costs-shell{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px 20px 20px;
  box-shadow:var(--shadow-1);
}

.config-cost-hint{
  font-size:.78rem;
  color:var(--muted);
  margin:0 0 17px;
}

.account-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:440px;
}

.account-form .form-msg{
  font-size:.8rem;
  font-weight:600;
}

.account-form .form-msg.error{
  color:#ff4d4d;
}

.account-form .form-msg.success{
  color:var(--green-dark);
}

.config-tip{
  border:1px solid rgba(59,109,240,.45);
  background:linear-gradient(90deg,rgba(59,109,240,.06),rgba(59,109,240,.015));
  border-radius:15px;
  padding:15px 18px;
  display:flex;
  align-items:center;
  gap:15px;
}

.config-tip-title{
  color:var(--blue);
  font-family:var(--font-display);
  font-size:.8rem;
  font-weight:800;
  margin-bottom:6px;
}

.config-tip-text{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.55;
}

.page-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.data-table-wrap{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);
  overflow:hidden;
}

.row-actions button.del:hover{
  background:var(--red-bg);
  color:var(--red);
}

.table-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid var(--border);
}

.tp-info{
  font-size:.78rem;
  color:var(--muted);
}

.tp-controls{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
}

.tp-btn{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  min-width:27px;
  height:27px;
  border-radius:8px;
  cursor:pointer;
  font-size:.75rem;
  padding:0 6px;
  font-family:inherit;
}

.tp-btn.active{
  background:var(--green-dark);
  color:#fff;
  border-color:var(--green-dark);
}

.tp-btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}

.tp-pagesize{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  border-radius:8px;
  padding:5px 8px;
  font-size:.75rem;
  font-family:inherit;
}

.tp-ellipsis{
  padding:0 2px;
  color:var(--muted);
}

table.simple-table td.num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.costs-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.costs-fuel-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;
  box-shadow:var(--shadow-1);
  margin-bottom:16px;
}

.costs-fuel-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:5px;
}

.costs-fuel-title .fuel-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--green-bg);
  color:var(--green-dark);
  display:flex;
  align-items:center;
  justify-content:center;
}

.costs-fuel-title h2{
  font-family:var(--font-display);
  font-size:1rem;
  margin:0;
  font-weight:800;
}

.costs-fuel-sub{
  margin:0 0 15px;
  color:var(--muted);
  font-size:.82rem;
}

.costs-fuel-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.1fr;
  gap:16px;
  align-items:end;
}

.cost-field label{
  display:block;
  font-size:.76rem;
  font-weight:700;
  color:var(--muted);
  margin-bottom:6px;
}

.cost-field .value-wrap{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:10px;
  height:50px;
  padding:0 12px;
}

.cost-field .value-wrap span{
  color:var(--muted);
  font-size:.82rem;
  white-space:nowrap;
}

.cost-field input{
  border:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:.9rem;
  font-weight:600;
  width:100%;
  padding:0 8px;
}

.cost-field input:focus{
  outline:none;
}

.cost-km-highlight{
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--bg);
  padding:14px 18px;
  min-height:50px;
}

.cost-km-highlight .label{
  font-size:.76rem;
  color:var(--muted);
  font-weight:700;
}

.cost-km-highlight .value{
  margin-top:4px;
  color:var(--green-dark);
  font-family:var(--font-display);
  font-size:1.45rem;
  font-weight:900;
}

.cost-km-highlight .value span{
  font-size:.82rem;
  font-weight:800;
  margin-left:4px;
}

.cost-km-highlight .sub{
  font-size:.7rem;
  color:var(--muted);
  margin-top:2px;
}

.costs-maint-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow-1);
}

.costs-tab.active{
  background:var(--green-bg);
  color:var(--green-dark);
}

.costs-tab.blue.active{
  background:var(--blue-bg);
  color:var(--blue);
}

.costs-tab.violet.active{
  background:var(--violet-bg);
  color:var(--violet);
}

.costs-mode-description{
  font-size:.78rem;
  color:var(--muted);
  margin:0 0 14px;
}

.cost-item-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.cost-item-title{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.cost-item-name{
  font-size:.85rem;
  font-weight:800;
  line-height:1.15;
}

.cost-edit-btn{
  width:40px;
  height:40px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--card);
  color:var(--text);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.cost-edit-btn:hover{
  background:var(--green-bg);
  color:var(--green-dark);
  border-color:var(--green);
}

.cost-item-metric:last-child{
  border-right:0;
  margin-right:0;
  padding-right:0;
}

.cost-item-metric .m-value.green{
  color:var(--green-dark);
}

.cost-item-metric input{
  width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:.79rem;
  font-weight:800;
  padding:0;
}

.cost-item-metric input:focus{
  outline:none;
}

.cost-item-note{
  font-size:.66rem;
  color:var(--muted);
  margin-top:9px;
  line-height:1.35;
  text-align:left;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.cost-item-perkm{
  font-size:.72rem;
  font-weight:800;
  color:var(--green-dark);
  margin-top:8px;
}

.cost-item-perkm span{
  font-weight:700;
  opacity:.8;
}
.costs-empty{
  padding:24px;
  text-align:center;
  color:var(--muted);
  font-size:.82rem;
  border:1px dashed var(--border);
  border-radius:12px;
}

@media (max-width:1100px){
  .costs-fuel-grid{
    grid-template-columns:1fr 1fr;
  }

  .cost-km-highlight{
    grid-column:1/-1;
  }
  .perf-lower-grid{
    grid-template-columns:1fr;
  }

  .perf-ranking-card{
    min-height:0;
  }

}

.config-section{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:20px;
  box-shadow:var(--shadow-1);
  margin-bottom:16px;
}

.config-section p.hint{
  color:var(--muted);
  font-size:.82rem;
  margin:0 0 14px;
}

.field-row .value-wrap{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:10px;
  padding:0 4px 0 12px;
}

.field-row .value-wrap span{
  color:var(--muted);
  font-size:.86rem;
}

.maint-card{
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:14px 16px;
  margin-bottom:12px;
  background:var(--bg);
}

.maint-card h4{
  margin:0 0 10px;
  font-size:.88rem;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:9px;
}

.maint-icon-badge.variable{
  background:var(--green-bg);
  color:var(--green-dark);
}

.maint-icon-badge.fixed{
  background:var(--blue-bg);
  color:var(--blue);
}

.maint-field .value-wrap{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  background:var(--card);
  border-radius:10px;
  padding:0 4px 0 10px;
}

.maint-field .value-wrap span{
  color:var(--muted);
  font-size:.82rem;
  white-space:nowrap;
}

.fs-btn{
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--text);
  font-size:.8rem;
  font-weight:700;
  padding:9px 15px;
  border-radius:10px;
  cursor:pointer;
  transition:all .15s ease;
  font-family:inherit;
}

.fs-btn:hover{
  background:var(--green-bg);
  border-color:var(--green);
  color:var(--green-dark);
}

.fs-btn.primary{
  background:linear-gradient(135deg,var(--green),var(--green-dark));
  border-color:transparent;
  color:#fff;
  box-shadow:0 4px 10px rgba(18,168,110,.22);
}

.fs-btn.primary:hover{
  opacity:.92;
}

.fs-btn.danger:hover{
  background:var(--red-bg);
  border-color:var(--red);
  color:var(--red);
}

.perf-platform-note{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--border);
  font-size:.7rem;
  color:var(--muted);
  line-height:1.45;
}

.reg-mobile-list{
  display:none;
}

.reg-mobile-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  margin:10px;
  box-shadow:var(--shadow-1);
}

.reg-mobile-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}

.reg-mobile-head>div:first-child strong{
  display:block;
  font-family:var(--font-display);
  font-size:.95rem;
}

.reg-mobile-head>div:first-child span{
  display:block;
  color:var(--muted);
  font-size:.7rem;
  margin-top:4px;
}

.reg-mobile-result{
  text-align:right;
}

.reg-mobile-result strong{
  display:block;
  color:var(--green-dark);
  font-family:var(--font-display);
  font-size:1rem;
}

.reg-mobile-result span{
  display:block;
  color:var(--muted);
  font-size:.62rem;
  margin-top:2px;
}

.reg-mobile-row{
  display:flex;
  justify-content:space-between;
  padding:9px 0;
  border-top:1px solid var(--border);
  font-size:.78rem;
}

.reg-mobile-platforms{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  padding:9px 0;
  border-top:1px solid var(--border);
}

.reg-mobile-platforms span{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:999px;
  padding:5px 8px;
  font-size:.65rem;
  color:var(--muted);
}

.reg-mobile-actions{
  display:flex;
  gap:8px;
  padding-top:10px;
  border-top:1px solid var(--border);
}

.reg-mobile-actions .reg-action{
  width:auto;
  padding:0 12px;
  font-size:.72rem;
}

.onboard-overlay,.form-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,14,24,.55);
  backdrop-filter:blur(3px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2147483647;
  padding:16px;
}

.onboard-card{
  background:var(--card);
  border-radius:var(--radius-xl);
  max-width:440px;
  width:100%;
  padding:32px 26px 26px;
  box-shadow:var(--shadow-modal);
  text-align:center;
}

.onboard-card h3{
  font-family:var(--font-display);
  font-size:1.18rem;
  margin:0 0 10px;
  font-weight:800;
  letter-spacing:-.01em;
}

.onboard-card p{
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
  margin:0 0 18px;
}

.form-modal-card{
  background:var(--card);
  border-radius:var(--radius-xl);
  max-width:600px;
  width:100%;
  box-shadow:var(--shadow-modal);
  max-height:88vh;
  display:flex;
  flex-direction:column;
}

.form-modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}

.form-modal-header h3{
  margin:0;
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:800;
}

.guide-close{
  border:none;
  background:var(--bg);
  width:30px;
  height:30px;
  border-radius:50%;
  cursor:pointer;
  font-size:.9rem;
  color:var(--muted);
}

.guide-close:hover{
  background:var(--red-bg);
  color:var(--red);
}

.form-modal-body{
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}

.form-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.form-field label{
  font-size:.76rem;
  font-weight:700;
  color:var(--muted);
}

.form-field input{
  border:1px solid var(--border);
  border-radius:10px;
  padding:9px 12px;
  font-size:.86rem;
  font-family:inherit;
  background:var(--bg);
  color:var(--text);
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.form-field input:focus{
  outline:none;
  border-color:var(--green);
}

.form-3col{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
  min-width:0;
}

.form-2col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-width:0;
}

.form-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 20px;
  border-top:1px solid var(--border);
  flex-shrink:0;
}

@media (min-width:901px){
  .mobile-menu-overlay{
    display:none !important;
  }

}

#page-registros .reg-stat-sub{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  margin-top:6px;
}

/* ============================================================
   REGISTROS — GRÁFICO SEMANAL
   ============================================================ */
#page-registros .reg-week-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 1px 3px rgba(15,23,42,.05);
  padding:18px 20px 6px;
  margin:0 0 16px;
}

#page-registros .reg-week-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

#page-registros .reg-week-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  transition:background .15s ease;
  flex:0 0 auto;
}

#page-registros .reg-week-nav svg{
  width:19px;
  height:19px;
}

#page-registros .reg-week-nav:hover{
  background:var(--blue-bg);
}

#page-registros .reg-week-range{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  color:var(--text);
  font-size:.92rem;
  font-weight:700;
  padding:6px 10px;
  border-radius:9px;
  cursor:pointer;
  transition:background .15s ease;
}

#page-registros .reg-week-range:hover{
  background:var(--blue-bg);
}

#page-registros .reg-week-range svg{
  width:16px;
  height:16px;
  color:var(--muted);
}

#page-registros .reg-week-total{
  text-align:center;
  font-size:2.1rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--text);
  margin-top:10px;
}

#page-registros .reg-week-total-sub{
  text-align:center;
  color:var(--muted);
  font-size:.8rem;
  font-weight:600;
  margin-top:2px;
}

#page-registros .reg-week-chart{
  position:relative;
  height:168px;
  margin:34px 4px 0;
}

#page-registros .reg-week-refline{
  position:absolute;
  top:0;
  left:0;
  right:0;
  border-top:1.5px dashed var(--border);
}

#page-registros .reg-week-refline-label{
  position:absolute;
  top:-28px;
  left:0;
  font-size:.72rem;
  font-weight:700;
  color:var(--muted);
}

#page-registros .reg-week-bars{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  gap:6px;
}

#page-registros .reg-week-bar-col{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  height:100%;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
  border-radius:8px;
  transition:opacity .15s ease;
}

#page-registros .reg-week-bar-col:disabled{
  cursor:default;
}

#page-registros .reg-week-bar-track{
  flex:1;
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

#page-registros .reg-week-bar{
  position:relative;
  width:64%;
  max-width:34px;
  border-radius:6px 6px 3px 3px;
  background:var(--blue,#2563eb);
  transition:background .15s ease,height .2s ease;
}

#page-registros .reg-week-bar-value{
  position:absolute;
  bottom:100%;
  left:50%;
  transform:translateX(-50%);
  margin-bottom:6px;
  white-space:nowrap;
  font-size:.74rem;
  font-weight:800;
  color:var(--blue,#2563eb);
}

#page-registros .reg-week-bar-col:not(.empty) .reg-week-bar{
  min-height:3px;
}

#page-registros .reg-week-bar-col.empty .reg-week-bar{
  display:none;
}

#page-registros .reg-week-bar-col.dimmed .reg-week-bar{
  background:var(--blue-bg,#dbe6ff);
}

:root[data-theme="dark"] #page-registros .reg-week-bar-col.dimmed .reg-week-bar{
  background:#33508c;
}

#page-registros .reg-week-bar-daynum{
  margin-top:8px;
  font-size:.82rem;
  font-weight:700;
  color:var(--text);
}

#page-registros .reg-week-bar-col.selected .reg-week-bar-daynum{
  color:var(--blue,#2563eb);
}

#page-registros .reg-week-bar-dayname{
  font-size:.68rem;
  color:var(--muted);
  margin-top:1px;
}

#page-registros .reg-week-detail{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0 4px;
  padding-top:14px;
  border-top:1px solid var(--border);
}

#page-registros .reg-week-detail-item{
  flex:1;
  min-width:100px;
  background:var(--bg,#f7f9fc);
  border-radius:10px;
  padding:9px 12px;
  text-align:center;
}

#page-registros .rwd-label{
  display:block;
  font-size:.68rem;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.03em;
}

#page-registros .rwd-val{
  display:block;
  font-size:.92rem;
  font-weight:800;
  color:var(--text);
  margin-top:3px;
}

@media (max-width:700px){
  #page-registros .reg-week-card{
    padding:16px 14px 6px;
  }

  #page-registros .reg-week-total{
    font-size:1.7rem;
  }

  #page-registros .reg-week-chart{
    height:150px;
  }

  #page-registros .reg-week-detail-item{
    min-width:42%;
  }
}

#page-registros .reg-table-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow-1);
  overflow:hidden;
}

#page-registros .reg-table-wrap{
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

#page-registros .reg-table-wrap::-webkit-scrollbar{
  display:none;
}

#page-registros .reg-table{
  width:100%;
  min-width:1120px;
  border-collapse:separate;
  border-spacing:0;
  font-size:.82rem;
}

#page-registros .reg-table th{
  text-align:left;
  color:var(--muted);
  font-weight:800;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.035em;
  padding:15px 13px;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
  background:var(--card);
}

#page-registros .reg-table td{
  padding:19px 13px;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
  font-weight:600;
}

#page-registros .reg-table tbody tr:hover td{
  background:rgba(18,168,110,.035);
}

#page-registros .reg-table .money{
  font-variant-numeric:tabular-nums;
}

#page-registros .reg-table .gross{
  font-weight:800;
}

#page-registros .reg-total-row td{
  background:var(--bg);
  color:var(--text);
  font-weight:800;
  border-bottom:0;
}

#page-registros .reg-total-row td:not(:first-child){
  color:var(--green-dark);
}

#page-registros .reg-actions{
  display:flex;
  gap:7px;
}

#page-registros .reg-action{
  width:38px;
  height:38px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--bg);
  color:var(--muted);
  cursor:pointer;
  font-size:.9rem;
}

#page-registros .reg-action.edit:hover{
  background:var(--green-bg);
  color:var(--green-dark);
}

#page-registros .reg-action.del:hover{
  background:var(--red-bg);
  color:var(--red);
}

#page-registros .reg-table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
}

#page-registros .reg-count{
  color:var(--muted);
  font-size:.8rem;
}

#page-registros .reg-pagination{
  display:flex;
  align-items:center;
  gap:6px;
}

#page-registros .reg-pagination .tp-btn{
  min-width:38px;
  height:38px;
  border-radius:10px;
}

#page-registros .reg-pagination .tp-pagesize{
  height:38px;
  margin-left:5px;
}
.dashboard-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin:0 0 12px;
}

.stat-grid4{
  grid-template-columns:repeat(4,1fr);
}

.resumo-section-title{
  font-family:var(--font-display);
  font-size:.86rem;
  font-weight:800;
  color:var(--text);
  margin:4px 0 10px;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.resumo-result-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:14px;
}

.resumo-result-card{
  border-radius:var(--radius-lg);
  padding:18px 20px;
  border:1px solid transparent;
}

.resumo-result-card.tint-blue{
  background:var(--blue-bg);
  border-color:rgba(59,109,240,.18);
}

.resumo-result-card.tint-red{
  background:var(--red-bg);
  border-color:rgba(229,72,77,.18);
}

.resumo-result-card.tint-green{
  background:var(--green-bg);
  border-color:rgba(18,168,110,.18);
}

.rr-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.rr-label{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
}

.tint-blue .rr-label{
  color:var(--blue);
}

.tint-red .rr-label{
  color:var(--red);
}

.tint-green .rr-label{
  color:var(--green-dark);
}

.rr-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex-shrink:0;
  position:relative;
  box-shadow:none;
}

.rr-icon svg{
  width:17px;
  height:17px;
  display:block;
  overflow:visible;
}

.rr-icon svg *{
  vector-effect:non-scaling-stroke;
}

.tint-blue .rr-icon{
  background:var(--blue);
}

.tint-red .rr-icon{
  background:var(--red);
}

.tint-green .rr-icon{
  background:var(--green);
}

.rr-value{
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:800;
  line-height:1.1;
  margin-bottom:4px;
}

.tint-red .rr-value{
  color:var(--red);
}

.tint-green .rr-value{
  color:var(--green-dark);
}

.rr-sub{
  font-size:.72rem;
  color:var(--muted);
}

.rr-profit-pct{
  display:inline-block;
  margin-left:4px;
  font-size:.78rem;
  font-weight:800;
  color:var(--green-dark);
}

@media (max-width:700px){
  .resumo-result-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .rr-icon{
    width:30px;
    height:30px;
  }

  .rr-value{
    font-size:1.15rem;
  }

  .rr-icon svg{
    width:16px;
    height:16px;
  }

  .resumo-activity-icon{
    width:30px;
    height:30px;
  }

  .resumo-activity-icon .premium-svg{
    width:16px;
    height:16px;
  }

  .resumo-activity-grid{
    grid-template-columns:1fr;
  }

  .resumo-quick-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .resumo-quick-card{
    min-height:90px;
    padding:12px 14px;
    border-radius:14px;
    display:block;
    text-align:left;
    position:relative;
  }

  .resumo-quick-icon{
    position:absolute;
    top:12px;
    right:14px;
    width:40px;
    height:40px;
    font-size:.85rem;
    margin:0;
  }

  .resumo-quick-label{
    font-size:.78rem;
    padding-right:42px;
  }

  .resumo-quick-value{
    font-size:1.6rem;
    line-height:1.1;
    margin-top:2px;
  }

  .costs-vehicle-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .costs-vehicle-toggle{
    justify-content:flex-start;
  }

  .cost-item-fields{
    grid-template-columns:1fr;
  }

  .cost-item-fields:before{
    display:none;
  }

  #page-resumo .resumo-activity-grid{
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:12px;
  }

  #page-resumo .resumo-activity-card{
    position:relative;
    min-height:90px;
    padding:12px 14px;
    border-radius:14px;
    text-align:left;
    box-shadow:var(--shadow-1);
    display:block;
  }

  #page-resumo .resumo-activity-card .resumo-activity-icon{
    position:absolute;
    top:12px;
    right:14px;
    width:30px !important;
    height:30px !important;
    margin:0;
    border-radius:50% !important;
    font-size:.85rem;
  }

  #page-resumo .resumo-activity-value{
    font-size:1.15rem;
    line-height:1.1;
    font-weight:800;
    margin:0 42px 2px 0;
  }

  #page-resumo .resumo-activity-label{
    font-size:.72rem;
    font-weight:800;
    line-height:1.2;
  }

  #page-resumo .resumo-activity-sub{
    font-size:.72rem;
    line-height:1.2;
  }

  .result-card .result-icon,
  .result-card .card-icon,
  .result-card .metric-icon,
  .resultado-periodo .result-icon,
  .resultado-periodo .card-icon,
  .resultado-periodo .metric-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .activity-card .activity-icon,
  .activity-card .card-icon,
  .atividade-card .activity-icon,
  .atividade-card .card-icon,
  .activity-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .quick-card .quick-icon,
  .quick-card .card-icon,
  .resumo-rapido .quick-icon,
  .resumo-rapido .card-icon,
  .quick-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .result-card svg,
  .result-card .result-icon svg,
  .activity-card svg,
  .activity-card .activity-icon svg,
  .quick-card svg,
  .quick-card .quick-icon svg,
  .quick-icon svg{
    width:20px !important;
    height:20px !important;
  }

}

.resumo-explainer{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:14px 16px;
  margin-bottom:18px;
}

.resumo-explainer .info-dot{
  margin-top:2px;
}

.resumo-explainer strong{
  display:block;
  font-size:.82rem;
  margin-bottom:3px;
}

.resumo-explainer span{
  font-size:.76rem;
  color:var(--muted);
}

.resumo-two-col{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}

.resumo-activity-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:18px;
}

.resumo-activity-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);
  padding:18px;
  text-align:center;
}

.resumo-activity-value{
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:800;
  margin-bottom:2px;
}

.resumo-activity-label{
  font-size:.78rem;
  font-weight:600;
}

.resumo-activity-sub{
  font-size:.68rem;
  color:var(--muted);
}

.resumo-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:18px;
}

.resumo-quick-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);
  padding:18px;
  text-align:center;
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.resumo-quick-label{
  font-size:.78rem;
  font-weight:600;
  line-height:1.2;
}

.resumo-quick-value{
  font-family:var(--font-display);
  font-size:1.3rem;
  font-weight:800;
  margin-top:3px;
}

.meta-summary-cols{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:14px;
}

.meta-summary-cols span{
  display:block;
  font-size:.72rem;
  color:var(--muted);
  margin-bottom:5px;
}

.meta-summary-cols strong{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:800;
}

.meta-summary-cols strong.c-green{
  color:var(--green-dark);
}

.meta-summary-cols strong.c-red{
  color:var(--red);
}

.meta-daily-target{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--border);
  margin-top:14px;
  padding-top:14px;
}

.meta-daily-target .mdt-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.8rem;
  font-weight:700;
}

.meta-daily-target strong{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:800;
}

.meta-daily-target .mdt-hint{
  display:block;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.35;
}

.resumo-cost-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:14px 0;
}

.resumo-cost-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.resumo-cost-row .rc-body{
  flex:1;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}

.resumo-cost-row .rc-body span{
  font-size:.78rem;
  color:var(--muted);
}

.resumo-cost-row .rc-body strong{
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}

.resumo-cost-row .rc-note{
  display:block;
  font-size:.64rem;
  color:var(--muted);
}

.resumo-donut-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  margin:10px 0;
}

.resumo-donut-legend{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}

.rdl-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.78rem;
}

.rdl-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  flex-shrink:0;
}

.rdl-name{
  flex:1;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.rdl-val{
  font-weight:700;
  white-space:nowrap;
}

.rdl-pct{
  color:var(--muted);
  font-size:.72rem;
  width:32px;
  text-align:right;
  flex-shrink:0;
}

.resumo-footnote{
  text-align:center;
  color:var(--muted);
  font-size:.7rem;
  margin:18px 0 4px;
}

.resumo-side-col{
  padding-top:30px;
  display:grid;
  gap:14px;
  align-content:start;
}

.meta-banner-pct{
  font-family:var(--font-display);
  font-size:1.15rem;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
}

.dashboard-section-head h2{
  font-family:var(--font-display);
  font-size:1.05rem;
  margin:0 0 3px;
  font-weight:800;
}

.dashboard-section-head p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
}

.dashboard-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:15px;
  box-shadow:var(--shadow-1);
  min-width:0;
}

.dashboard-card-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:12px;
}

.dashboard-card-title h2{
  font-family:var(--font-display);
  font-size:.9rem;
  margin:0;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:5px;
}

.title-muted{
  font-size:.72rem;
  color:var(--muted);
  font-weight:500;
}

.info-dot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  border:1px solid var(--muted);
  border-radius:50%;
  font-size:.6rem;
  color:var(--muted);
  font-style:normal;
}

.chart-card{
  min-height:255px;
}

.chart-card .daychart-wrap{
  height:188px;
}

.chart-card .daychart-wrap>div:first-child{
  height:100%;
}

.chart-empty-hint{
  text-align:center;
  color:var(--muted);
  font-size:.65rem;
  margin-top:4px;
}

.cost-km-summary{
  border-top:1px solid var(--border);
  margin-top:8px;
  padding-top:8px;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.cost-km-summary span{
  display:block;
  color:var(--muted);
  font-size:.62rem;
}

.cost-km-summary strong{
  display:block;
  font-size:.8rem;
  margin-top:3px;
}

.cost-km-summary .negative{
  color:#ef4444;
}

.dashboard-tip{
  display:flex;
  align-items:center;
  gap:11px;
  background:linear-gradient(90deg,rgba(18,168,110,.10),rgba(18,168,110,.02));
  border:1px solid rgba(18,168,110,.45);
  border-radius:12px;
  padding:9px 12px;
}

.tip-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(18,168,110,.16);
  border:1px solid rgba(18,168,110,.55);
  font-size:1.1rem;
  flex:0 0 38px;
}

.dashboard-tip strong{
  display:block;
  color:var(--green-dark);
  font-size:.78rem;
  margin-bottom:2px;
}

.dashboard-tip span{
  display:block;
  color:var(--muted);
  font-size:.68rem;
}

#page-resumo .stat-grid6{
  margin-bottom:10px;
  gap:10px;
}

#page-resumo .stat-card{
  padding:13px;
  border-radius:13px;
}

#page-resumo .stat-value{
  font-size:1.35rem;
}

#page-resumo .spark-wrap{
  height:24px;
  margin-top:5px;
}

#page-resumo .stat-mini-grid{
  grid-template-columns:repeat(6,1fr);
  gap:0;
  margin-bottom:10px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:13px;
  padding:6px 0;
  box-shadow:var(--shadow-1);
}

#page-resumo .stat-mini-grid .stat-mini-card:last-child{
  border-right:0;
}

#page-resumo .stat-mini-grid .smi-icon{
  width:30px;
  height:30px;
  border-radius:8px;
}

#page-resumo .stat-mini-grid .smi-label{
  font-size:.62rem;
}

#page-resumo .stat-mini-grid .smi-val{
  font-size:1.15rem;
}

#page-resumo .stat-mini-grid .stat-mini-card{
  border:0;
  border-right:1px solid var(--border);
  border-radius:0;
  box-shadow:none;
  padding:7px 10px;
  background:transparent;
  min-width:0;
  gap:7px;
}

@media (max-width:1200px){
  .dashboard-main-grid{
    grid-template-columns:1fr 1fr;
  }

  .meta-dashboard-card{
    grid-column:1/-1;
  }

  #page-resumo .stat-grid6{
    grid-template-columns:repeat(3,1fr);
  }

  #page-resumo .stat-mini-grid{
    grid-template-columns:repeat(3,1fr);
  }

  #page-resumo .stat-mini-grid .stat-mini-card:nth-child(3){
    border-right:0;
  }

  #page-resumo .stat-mini-grid .stat-mini-card:nth-child(n+4){
    border-top:1px solid var(--border);
  }

}

.resumo-period-switch{
  display:flex;
  gap:4px;
  position:relative;
  z-index:20;
  pointer-events:auto;
  width:max-content;
  margin:0 0 12px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  box-shadow:var(--shadow-1);
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  z-index:1;
}

.resumo-period-btn{
  border:0;
  pointer-events:auto;
  position:relative;
  z-index:21;
  background:transparent;
  color:var(--text);
  opacity:.55;
  padding:8px 15px;
  border-radius:8px;
  font:700 .78rem/1 inherit;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,opacity .15s ease;
}

.resumo-period-btn.active{
  background:var(--green);
  color:#fff;
  opacity:1;
}

.resumo-period-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 12px;
  padding-bottom:0;
}

.resumo-period-controls .resumo-period-switch{
  margin:0;
}

.resumo-date-picker{
  display:flex;
  align-items:center;
  gap:6px;
  height:38px;
  padding:3px 10px 3px 3px;
  border:1.5px solid var(--border);
  border-radius:12px;
  background:var(--card);
  box-shadow:0 1px 3px rgba(15,23,42,.05);
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.resumo-date-picker:focus-within{
  border-color:var(--blue,#2563eb);
  box-shadow:0 0 0 3px rgba(37,99,235,.16);
}

.resumo-date-field{
  display:flex;
  align-items:center;
  gap:2px;
  min-width:145px;
}

.resumo-calendar-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  padding:0;
  border:0;
  border-radius:9px;
  background:var(--blue-bg,#eef4ff);
  color:var(--blue,#2563eb);
  cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .1s ease;
}

.resumo-calendar-btn:hover{
  background:#dfe9ff;
}

.resumo-calendar-btn:active{
  transform:translateY(1px);
}

.resumo-calendar-icon{
  width:17px;
  height:17px;
  display:block;
}

.resumo-date-picker input{
  min-width:0;
  width:120px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  font:700 .82rem inherit;
  cursor:pointer;
}

.resumo-date-picker input::-webkit-calendar-picker-indicator{
  opacity:0;
  width:0;
  margin:0;
  padding:0;
}


.costs-vehicle-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px 18px;
  margin-bottom:14px;
  box-shadow:var(--shadow-1);
}

.costs-vehicle-title{
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:800;
  margin-bottom:4px;
}

.costs-vehicle-hint{
  font-size:.7rem;
  color:var(--muted);
  line-height:1.4;
}

.costs-vehicle-toggle{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.costs-vehicle-toggle .vehicle-config-btn{
  min-width:118px;
}

.costs-maint-card .costs-mode-description{
  margin:0 0 14px;
}

.costs-grid-new{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.cost-item-card{
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--bg);
  padding:18px 18px 16px;
  min-width:0;
}

.cost-item-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:16px;
  position:relative;
}

.cost-item-fields:before{
  content:"";
  position:absolute;
  left:50%;
  top:2px;
  bottom:2px;
  width:1px;
  background:var(--border);
}

.cost-item-metric{
  padding-right:12px;
  margin-right:12px;
  border-right:1px solid var(--border);
  min-width:0;
  padding:0;
  margin:0;
  border:0;
}

.cost-item-metric .m-label{
  font-size:.7rem;
  color:var(--muted);
  margin-bottom:7px;
  font-weight:700;
}

.cost-item-metric .value-wrap{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:10px;
  padding:0 12px;
  height:46px;
  box-sizing:border-box;
  gap:6px;
}

.cost-item-metric .value-wrap span{
  font-size:.82rem;
  color:var(--green);
  font-weight:800;
  white-space:nowrap;
  flex:none;
}

.cost-item-metric .value-wrap input{
  min-width:0;
  width:100%;
  height:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:.86rem;
  font-weight:700;
  padding:0;
}

.cost-item-metric .value-wrap input:focus{
  outline:none;
}

.cost-item-metric .m-value{
  font-size:.86rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  height:46px;
  display:flex;
  align-items:center;
}

.cost-item-card.disabled{
  opacity:.5;
}

.meta-goal-input{
  max-width:475px;
  width:100%;
}

.meta-goal-input .value-wrap{
  border:1px solid var(--green);
  background:var(--bg);
  border-radius:10px;
  height:52px;
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  overflow:hidden;
}

.meta-goal-input .value-wrap > span{
  flex:0 0 auto;
  color:var(--green);
  font-size:.95rem;
  font-weight:800;
  line-height:1;
}

.meta-goal-input .value-wrap input{
  font-size:1rem;
  font-weight:800;
  flex:1 1 auto;
  min-width:0;
  width:100%;
  height:100%;
  box-sizing:border-box;
  border:0;
  outline:0;
  padding:0;
  margin:0;
  background:transparent;
  color:var(--text);
  font-family:var(--font-display);
}

.meta-goal-input .value-wrap input::placeholder{
  color:var(--muted);
  opacity:.7;
}

.meta-goal-input .value-wrap:focus-within{
  box-shadow:0 0 0 2px rgba(18,168,110,.12);
}

@keyframes bootPulse{0%,100%{opacity:.5;transform:scale(.94);}50%{opacity:1;transform:scale(1);}}

.perf-stat-grid{
  grid-template-columns:repeat(4,1fr);
  margin-bottom:18px;
  gap:14px;
}

.perf-stat-grid .stat-mini-card{
  min-height:84px;
  padding:15px 13px;
  align-items:center;
}

.perf-stat-grid .smi-icon{
  width:43px;
  height:43px;
  border-radius:11px;
  font-size:1.05rem;
}

.perf-stat-grid .smi-label{
  font-size:.74rem;
  font-weight:600;
}

.perf-stat-grid .smi-val{
  font-size:1.05rem;
}

.perf-chart-card,.perf-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow-1);
}

.perf-chart-card{
  padding:18px 18px 14px;
  margin-bottom:18px;
}

.perf-chart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:6px;
}

.perf-chart-head h2,.perf-card h2{
  font-family:var(--font-display);
  font-size:1rem;
  margin:0;
  font-weight:800;
}

.perf-info-box{
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.45;
  display:flex;
  gap:9px;
  min-width:255px;
}

.perf-weekday-chart{
  height:148px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  align-items:end;
  gap:10px;
  padding:6px 16px 0 55px;
  border-bottom:1px solid var(--border);
  position:relative;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 36px,rgba(140,150,165,.10) 37px);
}

.perf-weekday-chart:before{
  content:'R$ 140\A\A R$ 105\A\A R$ 70\A\A R$ 35\A\A R$ 0';
  white-space:pre;
  position:absolute;
  left:0;
  top:1px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--muted);
  font-size:.62rem;
  line-height:1;
}

.perf-week-col{
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  position:relative;
  min-width:0;
}

.perf-week-bar{
  width:78%;
  max-width:80px;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#10b981,#08a96e);
  position:relative;
  min-height:2px;
}

.perf-week-value{
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
  font-size:.72rem;
  font-weight:700;
  color:var(--text);
}

.perf-week-empty{
  position:absolute;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
  color:var(--muted);
  font-size:.68rem;
}

.perf-weekday-labels{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  padding:7px 16px 0 55px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:600;
  text-align:center;
}

.perf-lower-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:14px;
  align-items:start;
}

.perf-left-col{
  display:grid;
  gap:14px;
}

.perf-card{
  padding:18px;
  min-width:0;
}

.perf-platform-head{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:10px;
  padding:16px 0 10px;
  color:var(--muted);
  font-size:.68rem;
  border-bottom:1px solid var(--border);
}

.perf-platform-row{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:10px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--border);
  font-size:.76rem;
}

.perf-platform-row:last-child{
  border-bottom:0;
}

.perf-platform-name{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:700;
}

.perf-platform-badge{
  width:29px;
  height:29px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:#fff;
  flex-shrink:0;
}

.perf-platform-green{
  color:#00b875;
  font-weight:700;
}

.perf-platform-bar{
  height:8px;
  background:var(--bg);
  border-radius:999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:5px;
}

.perf-platform-bar i{
  height:100%;
  background:#12b981;
  border-radius:999px;
  display:block;
}

.perf-summary-card h2{
  margin-bottom:14px;
}

.perf-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}

.perf-summary-grid>div{
  border:1px solid var(--border);
  border-radius:9px;
  padding:12px 9px;
  min-width:0;
}

.perf-summary-grid span{
  display:inline-flex;
  width:25px;
  height:25px;
  border-radius:8px;
  background:var(--green-bg);
  color:var(--green-dark);
  align-items:center;
  justify-content:center;
  margin-bottom:7px;
}

.perf-summary-grid small{
  display:block;
  color:var(--muted);
  font-size:.62rem;
  white-space:nowrap;
}

.perf-summary-grid strong{
  display:block;
  font-size:.78rem;
  margin-top:4px;
}

.perf-ranking-card{
  min-height:420px;
}

.perf-ranking-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.perf-tabs{
  display:flex;
  background:var(--bg);
  border-radius:7px;
  padding:2px;
  gap:2px;
}

.perf-tabs button{
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.67rem;
  padding:7px 11px;
  border-radius:6px;
  cursor:pointer;
}

.perf-tabs button.active{
  background:#0fb879;
  color:#fff;
  font-weight:700;
}

.perf-ranking-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.perf-ranking-columns h3{
  font-size:.78rem;
  color:#00b875;
  margin:0 0 10px;
}

.perf-ranking-columns h3.worst{
  color:#ff4242;
}

.perf-rank-row{
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:8px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
  font-size:.75rem;
}

.perf-rank-row:last-child{
  border-bottom:0;
}

.perf-rank-num{
  font-weight:700;
  color:var(--text);
}

.perf-rank-name{
  font-weight:600;
}

.perf-rank-value{
  font-weight:700;
  color:#00b875;
}

.perf-rank-worst .perf-rank-value{
  color:#ff4242;
}

.perf-ranking-note{
  margin-top:14px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:9px;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.45;
  display:flex;
  gap:8px;
}

@media(max-width:600px){
  .perf-ranking-columns{
    grid-template-columns:1fr;
    gap:12px;
  }

  .perf-weekday-chart{
    padding-left:42px;
    padding-right:4px;
    gap:4px;
  }

  .perf-weekday-labels{
    padding-left:42px;
    padding-right:4px;
  }

  .perf-platform-head{
    display:none;
  }

  .perf-platform-row{
    grid-template-columns:1.2fr 1fr 1fr;
    gap:7px;
  }

  .perf-platform-row>span:nth-child(3){
    display:block;
  }

}

.premium-svg{
  width:18px;
  height:18px;
  display:block;
  flex:0 0 auto;
  overflow:visible;
}

.premium-svg *{
  vector-effect:non-scaling-stroke;
}

.nav-item .n-icon .premium-svg{
  width:18px;
  height:18px;
}

.stat-mini-card .smi-icon .premium-svg{
  width:19px;
  height:19px;
  color:#fff;
}

.resumo-activity-icon .premium-svg{
  width:24px;
  height:24px;
  color:#fff;
}

.resumo-cost-row .rc-icon .premium-svg{
  width:18px;
  height:18px;
  color:#fff;
}

.meta-section-title .meta-title-icon .premium-svg{
  width:16px;
  height:16px;
}

.meta-tip-icon .premium-svg{
  width:16px;
  height:16px;
}

.meta-target-icon .premium-svg{
  width:17px;
  height:17px;
}

.config-tip-icon .premium-svg{
  width:27px;
  height:27px;
}
.costs-vehicle-title .premium-inline-icon,.costs-vehicle-toggle .premium-inline-icon{
  display:inline-flex;
  vertical-align:-4px;
  margin-right:6px;
  color:currentColor;
}

.premium-inline-icon .premium-svg{
  width:17px;
  height:17px;
}

.costs-maint-card .cost-item-note .premium-inline-icon{
  display:inline-flex;
  vertical-align:-3px;
  margin-right:4px;
  color:var(--amber);
}

.reg-calendar-icon{
  font-size:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.reg-calendar-icon .premium-svg{
  width:17px;
  height:17px;
}

.fuel-icon .premium-svg{
  width:19px;
  height:19px;
  color:#fff;
}

.cost-item-icon .premium-svg{
  width:18px;
  height:18px;
  color:#fff;
}

.onboard-icon .premium-svg{
  width:30px;
  height:30px;
  color:#fff;
}

.cal-ic{
  font-size:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cal-ic .premium-svg{
  width:16px;
  height:16px;
  color:currentColor;
}

.premium-inline-title{
  display:flex;
  align-items:center;
  gap:7px;
}

.premium-inline-title .premium-svg{
  width:18px;
  height:18px;
  color:currentColor;
}

.premium-inline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.premium-inline-btn .premium-svg{
  width:16px;
  height:16px;
  color:currentColor;
}

#installBtn{
  display:none;
  align-items:center;
  gap:7px;
}

#installBtn .premium-svg{
  width:16px;
  height:16px;
}

#maintAlugadoNotice .premium-svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
  color:currentColor;
  margin-top:1px;
}
.nav-item .n-icon{
  font-size:0;
  width:30px !important;
  text-align:center;
  flex-shrink:0;
  height:30px !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff !important;
  background:var(--blue) !important;
}

.nav-item.active .n-icon{
  background:var(--blue) !important;
}

.stat-mini-card .smi-icon{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  flex-shrink:0;
  color:#fff !important;
}

.stat-mini-card.c-green .smi-icon{
  background:var(--green) !important;
  color:var(--green-dark);
}

.stat-mini-card.c-blue .smi-icon{
  background:var(--blue) !important;
  color:var(--blue);
}

.stat-mini-card.c-amber .smi-icon{
  background:var(--amber) !important;
  color:var(--amber);
}

.stat-mini-card.c-violet .smi-icon{
  background:var(--violet) !important;
  color:var(--violet);
}

.stat-mini-card.c-cyan .smi-icon{
  background:var(--cyan) !important;
  color:var(--cyan);
}

.stat-mini-card.c-pink .smi-icon{
  background:var(--pink) !important;
  color:var(--pink);
}

.stat-mini-card.c-red .smi-icon{
  background:var(--red) !important;
  color:var(--red);
}

.resumo-activity-icon{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  margin:0 auto 10px;
}

.resumo-activity-card:nth-child(1) .resumo-activity-icon{
  background:var(--blue) !important;
}

.resumo-activity-card:nth-child(2) .resumo-activity-icon{
  background:var(--green) !important;
}

.resumo-activity-card:nth-child(3) .resumo-activity-icon{
  background:var(--amber) !important;
}

.resumo-cost-row .rc-icon{
  width:34px !important;
  height:34px !important;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  flex-shrink:0;
}

.resumo-cost-row .rc-icon.fuel{
  background:var(--blue) !important;
  color:var(--blue);
}

.resumo-cost-row .rc-icon.maint{
  background:var(--red) !important;
  color:var(--amber);
}

.resumo-cost-row .rc-icon.fixed{
  background:var(--violet) !important;
  color:var(--violet);
}

.meta-section-title .meta-title-icon{
  font-size:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px !important;
  height:32px !important;
  border-radius:9px;
  background:var(--blue) !important;
  color:#fff;
  vertical-align:middle;
}

.meta-tip-icon{
  font-size:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px !important;
  height:32px !important;
  border-radius:9px;
  background:var(--amber) !important;
  color:#fff;
  vertical-align:middle;
}

.meta-target-icon{
  width:38px !important;
  height:38px !important;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  background:var(--green-bg);
  color:#fff;
}

.meta-target-item:nth-child(1) .meta-target-icon{
  background:var(--green) !important;
}

.meta-target-item:nth-child(2) .meta-target-icon{
  background:var(--violet) !important;
  color:var(--violet);
}

.meta-target-item:nth-child(3) .meta-target-icon{
  background:var(--amber) !important;
  color:var(--amber);
}

.config-tip-icon{
  width:48px !important;
  height:48px !important;
  border-radius:12px;
  background:var(--blue) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  flex:none;
  color:#fff;
}
.fuel-icon{
  font-size:0;
  width:38px !important;
  height:38px !important;
  background:var(--blue) !important;
}

.cost-item-icon{
  width:40px !important;
  height:40px !important;
  border-radius:11px;
  background:var(--green) !important;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:0;
}

.onboard-icon{
  font-size:0;
  margin-bottom:10px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px !important;
  height:48px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  background:var(--blue) !important;
}

.resumo-quick-icon{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  margin-bottom:10px;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}

.resumo-quick-icon .premium-svg{
  width:17px !important;
  height:17px !important;
  color:#fff !important;
}

.resumo-quick-card.c-green .resumo-quick-icon{
  background:var(--green) !important;
}

.resumo-quick-card.c-blue .resumo-quick-icon{
  background:var(--blue) !important;
}

.resumo-quick-card.c-violet .resumo-quick-icon{
  background:var(--violet) !important;
}

.resumo-quick-card.c-amber .resumo-quick-icon{
  background:var(--amber) !important;
}
#page-resumo .resumo-footnote{
  display:none !important;
}

#page-resumo{
  padding-bottom:0 !important;
}

@media (max-width:1000px){
  #page-resumo{
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 6px) !important;
  }
}

@media (min-width:1001px){
  #page-resumo .resumo-two-col{
    position:relative;
    display:block;
    margin-bottom:14px;
  }

  #page-resumo .resumo-main-col{
    width:calc(66.6667% - 8px);
  }

  #page-resumo .resumo-side-col{
    position:absolute;
    top:0;
    right:0;
    width:calc(33.3333% - 8px);
    display:grid;
    gap:14px;
    align-content:start;
    padding-top:30px;
  }

}

.meta-banner-card{
  margin-bottom:20px !important;
  padding:20px 22px !important;
}

.meta-banner-card .dashboard-card-title{
  margin-bottom:18px !important;
}

.meta-banner-card .meta-summary-cols{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:34px !important;
  margin-bottom:18px !important;
}

.meta-banner-card .meta-summary-cols > div{
  min-width:0;
}

.meta-banner-card .meta-summary-cols span{
  margin-bottom:7px !important;
  font-size:.73rem !important;
}

.meta-banner-card .meta-summary-cols strong{
  font-size:1.12rem !important;
}

.meta-banner-card .meta-bar-bg{
  height:10px !important;
  margin:18px 0 8px !important;
}

.meta-banner-card .meta-banner-pct{
  display:block !important;
  text-align:center !important;
  margin:0 0 18px !important;
  font-size:1.12rem !important;
  line-height:1.25 !important;
}

.meta-banner-card .meta-status{
  min-height:46px !important;
  margin:0 0 18px !important;
  padding:11px 14px !important;
  gap:10px !important;
  border-radius:12px !important;
  line-height:1.45 !important;
}

.meta-banner-card .meta-status .ms-icon{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
}

.meta-banner-card .meta-daily-target{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(260px,1fr) !important;
  align-items:center !important;
  column-gap:24px !important;
  margin-top:0 !important;
  padding-top:18px !important;
}

.meta-banner-card .meta-daily-target .mdt-label{
  font-size:.82rem !important;
  white-space:nowrap;
}

.meta-banner-card .meta-daily-target strong{
  font-size:1.18rem !important;
  white-space:nowrap;
}

.meta-banner-card .meta-daily-target .mdt-hint{
  font-size:.69rem !important;
  line-height:1.5 !important;
  text-align:left !important;
}

#maintAlugadoNotice{
  display:none !important;
  align-items:flex-start;
  gap:8px;
}

#page-resumo .resumo-quick-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  display:grid !important;
  width:calc(150% + 12px) !important;
  max-width:none !important;
  gap:14px !important;
}

#page-resumo .resumo-quick-card{
  width:100% !important;
  min-width:0 !important;
}


/* ============================================================
   CORREÇÃO MOBILE V2 — RESUMO
   Não altera o layout desktop.
   ============================================================ */

@media (max-width: 1000px){

  /* O resumo NÃO pode manter 2 colunas no celular.
     A regra original .resumo-two-col usa 2fr 1fr. */
  #page-resumo .resumo-two-col{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:10px !important;
    margin-bottom:10px !important;
    align-items:start !important;
  }

  #page-resumo .resumo-main-col,
  #page-resumo .resumo-side-col{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    padding-top:0 !important;
    display:block !important;
  }

  #page-resumo .resumo-side-col{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  /* Impede qualquer filho de criar overflow horizontal */
  #page-resumo .resumo-main-col > *,
  #page-resumo .resumo-side-col > *{
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Atividade: 1 coluna */
  #page-resumo .resumo-activity-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-bottom:10px !important;
  }

  #page-resumo .resumo-activity-card{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* Meta: largura integral do conteúdo */
  #page-resumo .meta-banner-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols{
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols > div{
    min-width:0 !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols span,
  #page-resumo .meta-banner-card .meta-summary-cols strong{
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #page-resumo .meta-banner-card .meta-status{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #page-resumo .meta-banner-card .meta-daily-target{
    width:100% !important;
    grid-template-columns:1fr !important;
    row-gap:5px !important;
    box-sizing:border-box !important;
  }

  #page-resumo .meta-banner-card .meta-daily-target .mdt-label,
  #page-resumo .meta-banner-card .meta-daily-target strong,
  #page-resumo .meta-banner-card .meta-daily-target .mdt-hint{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Resumo rápido: exatamente 1 coluna / 4 linhas */
  #page-resumo .resumo-quick-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:10px !important;
    margin-bottom:0 !important;
  }

  #page-resumo .resumo-quick-card{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:72px !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 480px){

  #page-resumo .resumo-two-col{
    gap:10px !important;
    margin-bottom:10px !important;
  }

  #page-resumo .resumo-side-col{
    gap:10px !important;
  }

  #page-resumo .resumo-activity-grid{
    gap:10px !important;
  }

  #page-resumo .resumo-activity-card{
    min-height:70px !important;
    padding:10px 12px !important;
  }

  #page-resumo .resumo-quick-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #page-resumo .resumo-quick-card{
    min-height:64px !important;
  }
}


/* ============================================================
   META DE LUCRO — MOBILE
   Meta / Conquistado / Falta em 3 linhas para evitar
   sobreposição de valores longos (mensal/anual).
   Desktop permanece inalterado.
   ============================================================ */

@media (max-width: 760px){
  #page-resumo .meta-banner-card .meta-summary-cols{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:8px !important;
    margin-bottom:12px !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols > div{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
    gap:8px !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols span{
    margin:0 !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:.68rem !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols strong{
    display:block !important;
    min-width:0 !important;
    white-space:nowrap !important;
    font-size:1rem !important;
    text-align:right !important;
  }
}

@media (max-width: 480px){
  #page-resumo .meta-banner-card .meta-summary-cols{
    gap:7px !important;
    margin-bottom:11px !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols > div{
    grid-template-columns:1fr auto !important;
    gap:7px !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols span{
    font-size:.67rem !important;
  }

  #page-resumo .meta-banner-card .meta-summary-cols strong{
    /* Tamanho dos valores: Meta, Conquistado e Falta no celular. */
    font-size:1.06rem !important;
  }
}


/* ============================================================
   RESUMO RÁPIDO — MOBILE
   ------------------------------------------------------------
   Alinhamento dos 4 cards:
   - Título à esquerda
   - Valor à esquerda
   - Ícone permanece à direita
   - Uma coluna / quatro linhas
   Esta regra vem por último para sobrescrever regras antigas
   que centralizavam o conteúdo.
   ============================================================ */

@media (max-width: 760px){
  #page-resumo .resumo-quick-card{
    text-align:left !important;
    display:block !important;
    align-items:initial !important;
    justify-content:initial !important;
  }

  #page-resumo .resumo-quick-label{
    display:block !important;
    width:100% !important;
    padding-right:48px !important;
    text-align:left !important;
  }

  #page-resumo .resumo-quick-value{
    display:block !important;
    width:100% !important;
    text-align:left !important;
  }

  #page-resumo .resumo-quick-icon{
    position:absolute !important;
    top:12px !important;
    right:14px !important;
    left:auto !important;
    margin:0 !important;
  }
}

@media (max-width: 480px){
  #page-resumo .resumo-quick-card{
    text-align:left !important;
  }

  #page-resumo .resumo-quick-label,
  #page-resumo .resumo-quick-value{
    text-align:left !important;
  }
}

/* ===== DRIVERGESTOR ADMIN TYPOGRAPHY START ===== */
/* Gerado pelo painel Admin de Tipografia. Não edite manualmente este bloco. */
:root{
  --admin-font-body:'Inter',-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  --admin-font-display:'Plus Jakarta Sans','Inter',sans-serif;
  --admin-font-base:16px;
  --admin-font-weight-body:400;
  --admin-font-weight-display:800;
}
body{font-family:var(--admin-font-body)!important;font-size:var(--admin-font-base)!important;font-weight:var(--admin-font-weight-body)!important;}
h1,h2,h3,h4,h5,h6,.dashboard-card-title,.resumo-section-title{font-family:var(--admin-font-display)!important;font-weight:var(--admin-font-weight-display)!important;}
/* Resumo Rápido */
#page-resumo .resumo-quick-label{font-size:0.72rem!important;}
#page-resumo .resumo-quick-value{font-size:1.35rem!important;}
/* Meta */
.meta-banner-card .meta-summary-cols span{font-size:0.72rem!important;font-weight:700!important;}
.meta-banner-card .meta-summary-cols strong{font-size:1.35rem!important;}
.meta-banner-card .meta-banner-pct{font-size:1.35rem!important;}
/* Custos */
.cost-mini .cm-name,.resumo-cost-row .rc-body>span{font-size:0.78rem!important;}
.cost-mini .cm-val,.resumo-cost-row .rc-body strong{font-size:1.35rem!important;}
/* Registros */
#page-registros .reg-table th{font-size:0.66rem!important;}
#page-registros .reg-table td{font-size:0.8rem!important;}
/* Desempenho / análise */
.resumo-analysis-head h3,.resumo-analysis-stat h4{font-size:1rem!important;}
.resumo-analysis-head p,.resumo-analysis-stat p{font-size:0.78rem!important;}
/* Formulários */
.form-group label,.field-label,.settings-label{font-size:0.76rem!important;}
input,select,textarea{font-size:0.94rem;}
/* Botões */
button,.btn,.nav-item{font-size:0.8rem;}
@media(max-width:760px){
  #page-resumo .resumo-quick-label{font-size:0.68rem!important;}
  #page-resumo .resumo-quick-value{font-size:1.15rem!important;}
  .meta-banner-card .meta-summary-cols span{font-size:0.72rem!important;font-weight:700!important;}
  .meta-banner-card .meta-summary-cols strong{font-size:1.15rem!important;}
  .meta-banner-card .meta-banner-pct{font-size:1.15rem!important;}
  .cost-mini .cm-name,.resumo-cost-row .rc-body>span{font-size:0.78rem!important;}
  .cost-mini .cm-val,.resumo-cost-row .rc-body strong{font-size:1.15rem!important;}
  #page-registros .reg-table th{font-size:0.66rem!important;}
  #page-registros .reg-table td{font-size:0.8rem!important;}
  .resumo-analysis-head h3,.resumo-analysis-stat h4{font-size:0.92rem!important;}
  .resumo-analysis-head p,.resumo-analysis-stat p{font-size:0.74rem!important;}
  .form-group label,.field-label,.settings-label{font-size:0.76rem!important;}
  input,select,textarea{font-size:0.94rem;}
  button,.btn,.nav-item{font-size:0.8rem;}
  h1,h2,h3,h4,h5,h6,.dashboard-card-title,.resumo-section-title{font-size:0.92rem!important;}
}
/* ===== DRIVERGESTOR ADMIN TYPOGRAPHY END ===== */


/* ============================================================
   REGISTROS — ajuste visual isolado
   Não altera cálculos nem inicialização do sistema.
   ============================================================ */
#page-registros .reg-table th,
#page-registros .reg-table td{
  text-align:center !important;
  vertical-align:middle !important;
}
#page-registros .reg-table{
  min-width:1120px;
}
#page-registros .ride-km-cell{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
#page-registros .ride-km-cell span,
#page-registros .total-km{
  font-size:.68rem;
  color:var(--muted);
  font-weight:700;
}
#page-registros .reg-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
}
#page-registros .reg-action{
  opacity:1 !important;
  visibility:visible !important;
}
#page-registros .reg-action.del{
  color:var(--red) !important;
}
.platform-km-row{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
}
.platform-km-row span{
  font-size:.72rem;
  color:var(--muted);
  font-weight:700;
}
.platform-km-row input{
  flex:1;
  min-width:0;
}

/* ============================================================
   REGISTROS — TABELA PREMIUM (redesign espaçado)
   Substitui o layout fixo/apertado por um layout respirável,
   com hierarquia visual clara entre Data/Horas/KM, as 3
   plataformas, o Bruto do dia e as Ações.
   ============================================================ */

#page-registros .reg-table-card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-2);
  overflow:hidden;
}

#page-registros .reg-table-wrap{
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
}

#page-registros .reg-table-wrap::-webkit-scrollbar{
  height:8px;
  display:block;
}
#page-registros .reg-table-wrap::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:8px;
}
#page-registros .reg-table-wrap::-webkit-scrollbar-track{
  background:transparent;
}

#page-registros .reg-table{
  width:100% !important;
  min-width:1040px !important;
  table-layout:auto !important;
  border-collapse:separate;
  border-spacing:0;
  font-size:.8rem;
}

#page-registros .reg-table th,
#page-registros .reg-table td{
  text-align:center !important;
  vertical-align:middle !important;
  overflow:visible;
}

/* cabeçalho: mais respiro, sticky e tipografia premium */
#page-registros .reg-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--card);
  color:var(--muted);
  font-weight:800 !important;
  font-size:.66rem !important;
  text-transform:uppercase;
  letter-spacing:.03em !important;
  padding:14px 9px !important;
  border-bottom:2px solid var(--border);
  white-space:nowrap;
}

/* corpo: linhas mais altas e menos coladas, mas sem estourar a largura */
#page-registros .reg-table td{
  padding:17px 9px !important;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
  font-weight:600;
  font-size:.8rem !important;
  color:var(--text);
}

/* Data alinhada à esquerda, com destaque */
#page-registros .reg-table th:nth-child(1),
#page-registros .reg-table td:nth-child(1){
  text-align:left !important;
  padding-left:16px !important;
  font-weight:700;
}

/* Sem linhas verticais soltas (que quebravam no encontro com as bordas
   horizontais). A separação entre os blocos Data/Horas/KM | Uber | 99 Pop |
   InDrive | Bruto | Ações agora vem só da cor dos títulos e do respiro. */

/* cabeçalho em dois níveis (grupo de plataforma + sub-coluna), mais respiro */
#page-registros .reg-table .reg-group-head th{
  padding:12px 8px 6px !important;
  font-size:.68rem !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  border-bottom:0 !important;
}
#page-registros .reg-table .reg-sub-head th{
  padding:0 8px 12px !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  color:var(--muted) !important;
  border-bottom:2px solid var(--border) !important;
}

/* destaque de cor por plataforma no cabeçalho de grupo (UBER / 99 POP / INDRIVE) */
#page-registros .reg-table .reg-group-head th:nth-child(4),
#page-registros .reg-table .reg-group-head th:nth-child(5){color:var(--uber) !important;}
#page-registros .reg-table .reg-group-head th:nth-child(6),
#page-registros .reg-table .reg-group-head th:nth-child(7){color:var(--amber) !important;}
#page-registros .reg-table .reg-group-head th:nth-child(8),
#page-registros .reg-table .reg-group-head th:nth-child(9){color:var(--indrive) !important;}

/* badges de "qtd. corridas" por plataforma, mais legíveis */
#page-registros .reg-table td:nth-child(4) strong{
  display:inline-flex;
  min-width:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  justify-content:center;
  background:var(--uber-bg);
  color:var(--uber);
}

:root[data-theme="dark"] #page-registros .reg-table td:nth-child(4) strong{
  color:#e3e5ea;
}
#page-registros .reg-table td:nth-child(6) strong{
  display:inline-flex;
  min-width:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  justify-content:center;
  background:var(--amber-bg);
  color:var(--amber);
}
#page-registros .reg-table td:nth-child(8) strong{
  display:inline-flex;
  min-width:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  justify-content:center;
  background:var(--green-bg);
  color:var(--indrive);
}

#page-registros .reg-table td.money{
  font-variant-numeric:tabular-nums;
  font-weight:700 !important;
  font-size:.77rem !important;
}

#page-registros .reg-table td.gross{
  font-size:.84rem !important;
  font-weight:800 !important;
  color:var(--green-dark);
}

#page-registros .reg-table tbody tr{
  transition:background .15s ease;
}
#page-registros .reg-table tbody tr:hover td{
  background:rgba(18,168,110,.05);
}

/* linha de total do mês, com destaque premium — mesma altura das linhas normais */
#page-registros .reg-total-row td{
  background:linear-gradient(180deg,var(--green-bg) 0%,var(--bg) 100%) !important;
  color:var(--text) !important;
  font-weight:800 !important;
  font-size:.82rem !important;
  border-top:2px solid var(--border) !important;
  border-bottom:0 !important;
  padding:17px 9px !important;
  height:1px; /* garante que todas as células tenham a mesma altura, mesmo vazias */
}
#page-registros .reg-total-row td:first-child{ text-align:left !important; padding-left:16px !important; }
#page-registros .reg-total-row td:not(:first-child){ color:var(--green-dark) !important; }

/* cantos arredondados acompanhando o cartão, na última linha */
#page-registros .reg-table tbody tr:last-child td:first-child{
  border-bottom-left-radius:var(--radius-lg);
}
#page-registros .reg-table tbody tr:last-child td:last-child{
  border-bottom-right-radius:var(--radius-lg);
}

#page-registros .reg-actions{
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  overflow:visible !important;
}

#page-registros .reg-action{
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:30px !important;
  min-height:30px !important;
  flex:0 0 30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--card);
  color:var(--muted);
  cursor:pointer;
  font-size:.85rem;
  transition:all .15s ease;
}

#page-registros .reg-action.edit:hover{
  background:var(--green-bg);
  border-color:var(--green);
  color:var(--green-dark);
  transform:translateY(-1px);
}

#page-registros .reg-action.del{
  color:var(--red) !important;
  opacity:1 !important;
  visibility:visible !important;
}
#page-registros .reg-action.del:hover{
  background:var(--red-bg);
  border-color:var(--red);
  transform:translateY(-1px);
}

#page-registros .ride-km-cell{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  white-space:nowrap;
}

#page-registros .ride-km-cell span,
#page-registros .total-km{
  font-size:.74rem !important;
  font-weight:700;
  color:var(--muted);
  white-space:nowrap;
}

@media (max-width:900px) and (min-width:761px){
  #page-registros .reg-table{ min-width:920px !important; }

  #page-registros .reg-table thead th{
    font-size:.6rem !important;
    letter-spacing:0 !important;
    padding:10px 7px !important;
  }

  #page-registros .reg-table td{
    font-size:.72rem !important;
    padding:12px 7px !important;
  }

  #page-registros .reg-action{
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    flex-basis:28px !important;
  }
}

/* ============================================================
   REGISTROS — MOBILE: corridas + KM por plataforma
   ============================================================ */
@media (max-width:760px){
  #page-registros .reg-mobile-platforms > span{
    font-size:.72rem !important;
  }

  #page-registros .reg-mobile-row strong{
    font-size:.78rem !important;
  }
}


/* ============================================================
   REGISTROS — AJUSTE FINAL (mobile)
   KM geral removido do formulário.
   Horas ficam isoladas; corridas + KM permanecem juntos.
   ============================================================ */

@media(max-width:760px){
  #page-registros .reg-mobile-head>div:first-child span{
    display:block !important;
    font-size:.74rem !important;
    color:var(--muted) !important;
  }

  #page-registros .reg-mobile-platforms > span{
    font-size:.70rem !important;
    line-height:1.5 !important;
  }

  #page-registros .reg-mobile-row strong{
    font-size:.76rem !important;
  }
}


/* NOVO REGISTRO — grade de plataformas no formulário */
.platform-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:4px 0 16px}
.platform-entry-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card)}
.platform-entry-card h4{margin:0 0 12px;font-size:.9rem}
.platform-entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.optional-label{font-weight:500;color:var(--muted)}
#fNotes{width:100%;resize:vertical;min-height:74px}
@media(max-width:760px){
  .platform-entry-grid,.form-row-3{grid-template-columns:1fr}
}


/* ===== NOVO REGISTRO — MODAL PREMIUM ===== */
.form-modal-card{
  max-width:640px !important;
  border:1px solid var(--border);
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  max-height:88vh !important;
}
.form-modal-header{
  padding:18px 22px !important;
  background:var(--card);
  flex-shrink:0 !important;
}
.form-modal-header h3{
  font-size:1.08rem !important;
  letter-spacing:-.02em;
}
.form-modal-body{
  padding:20px 22px !important;
  gap:16px !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
}
.form-row-3{
  gap:12px !important;
}
.form-row-3 .form-field label{
  font-size:.7rem !important;
  margin-left:2px;
}
.form-field input{
  min-height:40px;
  padding:9px 12px !important;
  border-radius:10px !important;
  background:var(--bg) !important;
  color:var(--text);
  font-size:.84rem !important;
  font-weight:600;
}
.form-field input:focus{
  background:var(--card) !important;
  box-shadow:0 0 0 3px rgba(18,168,110,.10);
}
.platform-entry-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:2px 0 0 !important;
}
.platform-entry-card{
  min-width:0;
  border:1px solid var(--border) !important;
  border-radius:13px !important;
  padding:14px !important;
  background:var(--card) !important;
  box-shadow:0 2px 8px rgba(15,23,42,.025);
}
.platform-entry-card h4{
  margin:0 0 13px !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.02em;
}
.platform-entry-fields{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:9px !important;
}
.platform-entry-fields .form-field{
  min-width:0;
}
.platform-entry-fields .form-field label{
  font-size:.65rem !important;
  line-height:1.1;
  white-space:nowrap;
  margin-left:1px;
}
.platform-entry-fields .form-field input{
  min-height:38px;
  padding:8px 9px !important;
  font-size:.8rem !important;
}
.form-modal-actions{
  padding:13px 22px !important;
  background:var(--bg);
  flex-shrink:0 !important;
}
.form-modal-actions .fs-btn{
  min-width:86px;
  min-height:38px;
  border-radius:10px;
  font-weight:700;
}
@media(max-width:760px){
  .form-modal-overlay{
    padding:0 !important;
    align-items:flex-end !important;
  }
  .form-modal-card{
    max-width:100% !important;
    max-height:92vh !important;
    width:100% !important;
    border-radius:20px 20px 0 0 !important;
  }
  .form-modal-body{padding:16px !important;gap:12px !important;}
  .form-row-3{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .form-row-3 .form-field:first-child{grid-column:1 / -1;}
  .platform-entry-grid{grid-template-columns:1fr !important;gap:10px !important;margin-top:0 !important;}
  .platform-entry-card{padding:12px !important;}
  .platform-entry-card h4{margin-bottom:9px !important;}
  .platform-entry-fields{grid-template-columns:1fr 1fr !important;}
  .form-modal-actions{
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }
}
/* Data em cima (linha inteira) e Horas + Km lado a lado, mesmo em telas
   estreitas — economiza bastante altura no modal. */






/* ============================================================
   PAYWALL PREMIUM — DRIVERGESTOR
   ============================================================ */
.paywall-overlay{background:radial-gradient(circle at 50% 20%,rgba(37,99,235,.13),transparent 38%),rgba(5,9,18,.78) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;padding:18px !important;}
.paywall-card{position:relative;width:min(100%,760px);max-height:calc(100vh - 36px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(145deg,#121a2a 0%,#0d1421 58%,#101827 100%);color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.025) inset;text-align:left;}
.paywall-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;}
.paywall-brand{display:flex;align-items:center;gap:13px;min-width:0;}
.paywall-logo-wrap{width:52px;height:52px;border-radius:15px;background:#fff;padding:5px;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.22);flex:0 0 auto;}
.paywall-logo-wrap img{width:100%;height:100%;object-fit:contain;border-radius:11px;display:block;}
.paywall-brand-name{font-size:1.18rem;font-weight:850;letter-spacing:-.04em;color:#fff;}
.paywall-brand-name span{color:var(--green);}
.paywall-brand-sub{font-size:.72rem;color:#8e9bb1;margin-top:2px;}
.paywall-lock{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(59,109,240,.13);border:1px solid rgba(59,109,240,.25);color:#6e94ff;flex:0 0 auto;}
.paywall-lock .premium-inline-icon{display:flex;}
.paywall-heading{text-align:center;max-width:600px;margin:0 auto 24px;}
.paywall-kicker{font-size:.67rem;letter-spacing:.14em;font-weight:800;color:#5f8cff;margin-bottom:9px;}
.paywall-heading h3{margin:0;color:#fff;font-size:clamp(1.55rem,4vw,2rem);font-weight:850;letter-spacing:-.045em;line-height:1.12;}
.paywall-heading p{margin:10px auto 0;color:#9ba8bc;font-size:.9rem;line-height:1.55;max-width:520px;}
.paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}
.paywall-plan{position:relative;min-height:116px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;text-align:left;border:1px solid #2a3447;border-radius:18px;background:#171f2f;color:#fff;padding:20px 17px;cursor:pointer;font-family:inherit;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;}
.paywall-plan:hover{transform:translateY(-2px);border-color:#4966a8;background:#1a2537;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.paywall-plan.featured{border-color:rgba(34,160,41,.65);background:linear-gradient(145deg,rgba(15,55,45,.95),#172332);box-shadow:0 10px 30px rgba(34,160,41,.13);}
.paywall-plan.featured:hover{border-color:var(--green);box-shadow:0 16px 34px rgba(34,160,41,.2);}
.paywall-plan-icon{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#75a0ff;}
.paywall-plan.featured .paywall-plan-icon{background:rgba(34,160,41,.12);color:#3ecf46;}
.paywall-plan-copy{display:flex;flex-direction:column;min-width:0;}
.paywall-plan-title{font-size:.96rem;font-weight:800;}
.paywall-plan-desc{font-size:.72rem;color:#8d9aae;margin-top:4px;line-height:1.35;}
.paywall-price{text-align:right;white-space:nowrap;}
.paywall-price strong{font-size:1.03rem;font-weight:850;display:block;}
.paywall-price small{font-size:.7rem;color:#8995a9;font-weight:600;}
.paywall-badge{position:absolute;top:10px;right:12px;font-size:.57rem;font-weight:850;letter-spacing:.04em;color:#8ff0c4;background:rgba(34,160,41,.12);border:1px solid rgba(34,160,41,.22);border-radius:999px;padding:4px 7px;}
.paywall-trial{display:flex;align-items:center;gap:11px;margin:18px 0 10px;padding:13px 15px;border-radius:14px;background:rgba(34,160,41,.07);border:1px solid rgba(34,160,41,.16);}
.paywall-trial>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;font-size:.75rem;}
.paywall-trial div{display:flex;flex-direction:column;gap:2px;}
.paywall-trial strong{font-size:.8rem;color:#dff9ec;}
.paywall-trial small{font-size:.69rem;color:#8e9daf;}
.paywall-secure{text-align:center;color:#6f7d92;font-size:.66rem;margin:12px 0 17px;}
.paywall-secure span{margin-right:5px;color:#8090a8;}
.paywall-logout{display:block;width:100%;border:0;background:transparent;color:#7f8ca0;font-family:inherit;font-weight:700;font-size:.75rem;cursor:pointer;padding:8px;}
.paywall-logout:hover{color:#c3ccda;}
@media(max-width:640px){.paywall-card{padding:22px 16px;border-radius:23px;}.paywall-top{margin-bottom:22px;}.paywall-brand-sub{display:none;}.paywall-plans{grid-template-columns:1fr;gap:10px;}.paywall-plan{min-height:100px;padding:17px 14px;}.paywall-heading{margin-bottom:18px;}.paywall-heading p{font-size:.82rem;}.paywall-price strong{font-size:.96rem;}}
/* ============================================================
   Média de Km/dia, Média de Horas/dia, Recebido no Período) da guia
   Registros. Eles continuam existindo normalmente em outras páginas
   (ex: Resumo) — aqui escondemos só dentro de #page-registros. */
#page-registros .stat-mini-grid{
  display:none !important;
}


/* ============================================================
   DARK MODE — PALETA SUAVE / MENOR CONTRASTE
   ------------------------------------------------------------
   Objetivo: reduzir a sensação de "preto + neon" sem alterar
   layout, componentes ou regras de negócio.
   ============================================================ */

:root[data-theme="dark"]{
  --bg:#0f1a2c;
  --bg-grad:radial-gradient(circle at 12% 0%,#15233a 0%,#0f1a2c 38%,#0f1a2c 100%);
  --card:#0f1a2c;
  --border:#26324a;
  --text:#f7ffff;
  --muted:#b5c2db;

  --green:#36a86f;
  --green-dark:#2d8e5d;
  --green-bg:#193127;

  --red:#d96f73;
  --red-bg:#332023;

  --blue:#718cf0;
  --blue-bg:#202b43;

  --amber:#d0a04b;
  --amber-bg:#332b1b;

  --violet:#927be8;
  --violet-bg:#29243b;

  --pink:#d978a8;
  --pink-bg:#352533;

  --cyan:#55b8c9;
  --cyan-bg:#1f3035;

  --navy:#0f1a2c;
  --uber:#c1c5cc;
  --uber-bg:#30353e;

  --shadow-1:0 1px 2px rgba(0,0,0,.16),0 1px 1px rgba(0,0,0,.10);
  --shadow-2:0 10px 30px rgba(0,0,0,.18);
  --shadow-modal:0 24px 60px rgba(0,0,0,.38);
}

/* Elementos de autenticação: menos azul/ciano e menos preto */
:root[data-theme="dark"] #authOverlay{
  background:radial-gradient(circle at 15% 0%,#182640 0%,#0f1a2c 50%,#0f1a2c 100%);
}

:root[data-theme="dark"] .auth-card{
  background:linear-gradient(160deg,#182640,#0f1a2c);
  border-color:#353b46;
  box-shadow:0 30px 70px rgba(0,0,0,.38);
}

:root[data-theme="dark"] .auth-card h3,
:root[data-theme="dark"] .auth-card .form-field input{
  color:#f7ffff;
}

:root[data-theme="dark"] .auth-card > div > p,
:root[data-theme="dark"] .auth-card .form-field label,
:root[data-theme="dark"] .auth-switch-btn{
  color:#a2a9b6;
}

:root[data-theme="dark"] .auth-card .form-field input{
  background:#1b1f26;
  border-color:#353b46;
}

:root[data-theme="dark"] .auth-card .form-field input:focus{
  border-color:#5e9f86;
  background:#20252d;
}

:root[data-theme="dark"] .auth-card .form-field input::placeholder{
  color:#727b8a;
}

:root[data-theme="dark"] .auth-submit-btn{
  background:linear-gradient(120deg,#318f67,#4a9fa9);
  color:#f4f7f5;
  box-shadow:0 8px 24px rgba(49,143,103,.20);
}

:root[data-theme="dark"] .auth-forgot-link{
  color:#71b7c4;
}

:root[data-theme="dark"] .auth-success{
  color:#6fc79d;
}

:root[data-theme="dark"] .auth-error{
  color:#e58a8d;
}

:root[data-theme="dark"] .auth-divider{
  color:#747d8c;
}

:root[data-theme="dark"] .auth-divider::before,
:root[data-theme="dark"] .auth-divider::after{
  background:#343a45;
}

/* Barra de período no mobile */
:root[data-theme="dark"] .resumo-period-switch{
  background:#202a25 !important;
  border-top-color:#364039 !important;
  box-shadow:0 -6px 18px rgba(0,0,0,.18) !important;
}

/* Barras e superfícies secundárias */
:root[data-theme="dark"] .meta-bar-bg{
  background:#26324a;
}

/* Paywall: mesma linguagem visual do restante do app */
:root[data-theme="dark"] .paywall-overlay{
  background:radial-gradient(circle at 50% 20%,rgba(92,112,190,.10),transparent 38%),rgba(18,21,27,.72) !important;
}

:root[data-theme="dark"] .paywall-card{
  background:linear-gradient(145deg,#182640 0%,#0f1a2c 58%,#0c1626 100%);
  border-color:#26324a;
  box-shadow:0 30px 90px rgba(0,0,0,.40),0 0 0 1px rgba(255,255,255,.02) inset;
}

:root[data-theme="dark"] .paywall-plan{
  border-color:#26324a;
  background:#16233a;
}

:root[data-theme="dark"] .paywall-plan:hover{
  border-color:#3a4a6a;
  background:#1a2740;
}

:root[data-theme="dark"] .paywall-plan.featured{
  border-color:rgba(54,168,111,.58);
  background:linear-gradient(145deg,#23362f,#252d34);
}

:root[data-theme="dark"] .paywall-kicker{
  color:#8498dc;
}

:root[data-theme="dark"] .paywall-lock{
  background:rgba(113,140,240,.10);
  border-color:rgba(113,140,240,.20);
  color:#8ea3ef;
}

:root[data-theme="dark"] .paywall-heading p,
:root[data-theme="dark"] .paywall-plan-desc{
  color:#a0a8b5;
}

:root[data-theme="dark"] .paywall-trial{
  background:rgba(54,168,111,.07);
  border-color:rgba(54,168,111,.14);
}

:root[data-theme="dark"] .paywall-trial strong{
  color:#cbe9da;
}

/* ============================================================
   SISTEMA TIPOGRÁFICO PADRONIZADO — v2
   ------------------------------------------------------------
   Regra visual: nenhum texto de interface deve ficar abaixo de
   11px. Textos secundários usam 12–13px; textos de leitura,
   14–15px; títulos e valores seguem uma hierarquia consistente.
   ============================================================ */

:root{
  --fs-xs:11px;
  --fs-sm:12px;
  --fs-md:14px;
  --fs-lg:16px;
  --fs-xl:20px;
  --fs-2xl:26px;
}

/* Textos secundários / auxiliares */
.user-email,
.user-plan-badge,
.stat-label,
.stat-sub,
.meta-sub,
.meta-mini-card .mc-label,
.meta-mini-card .mc-val span,
.cost-mini .cm-sub,
.cost-mini .cm-val-note,
.resumo-analysis-head p,
.resumo-analysis-stat span,
.resumo-analysis-title,
.resumo-analysis-note p,
.meta-goal-widget .meta-needed-note,
.meta-description,
.meta-progress-label,
.meta-panel-sub,
.meta-target-unit,
.vehicle-config-hint,
.config-cost-hint,
.config-tip-text,
.tp-info,
.costs-fuel-sub,
.cost-km-highlight .label,
.cost-km-highlight .sub,
.costs-mode-description,
.cost-item-note,
.cost-item-perkm,
.empty-state{
  font-size:var(--fs-sm) !important;
}

/* Labels, menus e textos de interface */
.auth-card > div > p,
.auth-card .form-field label,
.auth-forgot-link,
.auth-error,
.auth-success,
.auth-divider,
.sidebar-brand .b-text,
.sidebar-nav a,
.user-name,
.topbar p,
.month-select-wrap select,
.stat-mini-card .smi-label,
.meta-goal-widget .meta-needed-label,
.meta-goal-field label,
.meta-tip p,
.meta-daily-target .mdt-label,
.meta-daily-target .mdt-hint,
.config-tip-title,
.account-form .form-msg,
.cost-field label,
.cost-field .value-wrap span{
  font-size:13px !important;
}

/* Corpo de controles e conteúdo */
.auth-card .form-field input,
.auth-submit-btn,
.auth-google-btn,
.auth-secondary-btn,
.resumo-period-btn,
.cost-field input,
.cost-field select,
.account-form input,
.account-form select,
.config-select,
.config-input,
.reg-action,
.cost-item-name{
  font-size:var(--fs-md) !important;
}

/* Botões compactos e badges: continuam compactos, mas legíveis */
.resumo-period-btn,
.month-select-wrap select,
.user-plan-badge,
.cost-item-note,
.cost-item-perkm{
  line-height:1.25;
}

/* Cabeçalhos */
.auth-card h3{font-size:20px !important;}
.topbar h1{font-size:24px !important;}

/* Valores e indicadores principais */
.stat-value{font-size:26px !important;}
.meta-mini-card .mc-val{font-size:20px !important;}
.cost-mini .cm-name{font-size:14px !important;}
.cost-mini .cm-val{font-size:16px !important;}

/* Textos de análise e tooltip: mantêm hierarquia sem microtexto */
.daychart-tooltip .dt-date{font-size:11px !important;}
.daychart-tooltip{font-size:12px !important;}
.resumo-analysis-note strong{font-size:14px !important;}

/* Mobile: aumenta a legibilidade sem inflar os cards */
@media (max-width:600px){
  .topbar h1{font-size:22px !important;}
  .stat-value{font-size:24px !important;}
  .stat-label,
  .stat-sub,
  .smi-label,
  .meta-sub,
  .meta-description,
  .cost-mini .cm-sub,
  .cost-mini .cm-val-note,
  .vehicle-config-hint,
  .config-tip-text,
  .cost-item-note,
  .cost-item-perkm{
    font-size:12px !important;
  }
  .meta-banner-card .meta-summary-cols span,
  .meta-banner-card .meta-daily-target .mdt-hint,
  #page-resumo .meta-summary-cols span{
    font-size:12px !important;
  }
}


/* ============================================================
   RESUMO — PADRÃO DOS CARDS FINANCEIROS / DARK
   ============================================================ */

:root[data-theme="dark"] #page-resumo .stat-card.c-blue,
:root[data-theme="dark"] #page-resumo .stat-card.c-red,
:root[data-theme="dark"] #page-resumo .stat-card.c-green{
  background:var(--card) !important;
  border-color:var(--border) !important;
}

/* Valor principal sempre neutro/branco */
:root[data-theme="dark"] #page-resumo .stat-card.c-blue .stat-value,
:root[data-theme="dark"] #page-resumo .stat-card.c-red .stat-value,
:root[data-theme="dark"] #page-resumo .stat-card.c-green .stat-value{
  color:var(--text) !important;
}

/* Cor semântica somente no título */
:root[data-theme="dark"] #page-resumo .stat-card.c-blue .stat-label{
  color:#7ea2ff !important;
}

:root[data-theme="dark"] #page-resumo .stat-card.c-red .stat-label{
  color:#ef777c !important;
}

:root[data-theme="dark"] #page-resumo .stat-card.c-green .stat-label{
  color:#45c98a !important;
}

/* Ícones continuam diferenciando as categorias */
:root[data-theme="dark"] #page-resumo .stat-card.c-blue .stat-icon{
  background:#607fe0 !important;
  color:#fff !important;
}

:root[data-theme="dark"] #page-resumo .stat-card.c-red .stat-icon{
  background:#d96870 !important;
  color:#fff !important;
}

:root[data-theme="dark"] #page-resumo .stat-card.c-green .stat-icon{
  background:#2fb37a !important;
  color:#fff !important;
}

/* Descrição neutra */
:root[data-theme="dark"] #page-resumo .stat-card .stat-sub{
  color:var(--muted) !important;
}

/* Percentual positivo mantém significado */
:root[data-theme="dark"] #page-resumo .stat-card.c-green .stat-sub.up{
  color:#45c98a !important;
}

/* ============================================================
   RESULTADO DO PERÍODO — DARK MODE
   Cards financeiros com superfície neutra e valores brancos.
   Cores semânticas ficam somente nos títulos e ícones.
   ============================================================ */

:root[data-theme="dark"] #page-resumo .resumo-result-card,
body[data-theme="dark"] #page-resumo .resumo-result-card{
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  color:var(--text) !important;
  box-shadow:var(--shadow-1) !important;
}

/* Valor principal: branco nos três cards */
:root[data-theme="dark"] #page-resumo .resumo-result-card .rr-value,
body[data-theme="dark"] #page-resumo .resumo-result-card .rr-value{
  color:#fff !important;
}

/* Subtexto: neutro */
:root[data-theme="dark"] #page-resumo .resumo-result-card .rr-sub,
body[data-theme="dark"] #page-resumo .resumo-result-card .rr-sub{
  color:var(--muted) !important;
}

/* Títulos: cor semântica discreta */
:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-blue .rr-label,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-blue .rr-label{
  color:#7ea2ff !important;
}

:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-red .rr-label,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-red .rr-label{
  color:#e77b80 !important;
}

:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-green .rr-label,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-green .rr-label{
  color:#48c98d !important;
}

/* Ícones continuam diferenciando as categorias */
:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-blue .rr-icon,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-blue .rr-icon{
  background:#617fe0 !important;
  color:#fff !important;
}

:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-red .rr-icon,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-red .rr-icon{
  background:#d96f73 !important;
  color:#fff !important;
}

:root[data-theme="dark"] #page-resumo .resumo-result-card.tint-green .rr-icon,
body[data-theme="dark"] #page-resumo .resumo-result-card.tint-green .rr-icon{
  background:#36a86f !important;
  color:#fff !important;
}

/* Percentual do resultado permanece semântico */
:root[data-theme="dark"] #page-resumo .resumo-result-card .rr-profit-pct,
body[data-theme="dark"] #page-resumo .resumo-result-card .rr-profit-pct{
  color:#48c98d !important;
}


/* CORREÇÃO DEFINITIVA — SITUAÇÃO DO VEÍCULO / PAGE-CUSTOS
   O componente real está em #page-custos. O estado ativo deve manter
   exatamente o mesmo azul dos demais seletores. */
#page-custos .costs-vehicle-card .vehicle-config-btn,
#page-custos .costs-vehicle-card .vehicle-config-btn.active,
#page-custos .costs-vehicle-card .vehicle-config-btn.active:hover,
#page-custos .costs-vehicle-card .vehicle-config-btn.active:focus{
  box-sizing:border-box !important;
  height:46px !important;
  min-height:46px !important;
  min-width:112px !important;
  padding:0 13px !important;
  border:2px solid #263b5c !important;
  border-radius:13px !important;
  background:#101c2f !important;
  color:#9fb1d0 !important;
  font-size:.86rem !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

#page-custos .costs-vehicle-card .vehicle-config-btn.active,
#page-custos .costs-vehicle-card .vehicle-config-btn.active:hover,
#page-custos .costs-vehicle-card .vehicle-config-btn.active:focus{
  background:#3f83f1 !important;
  border-color:#3f83f1 !important;
  color:#fff !important;
}

#page-custos .costs-vehicle-card .vehicle-config-btn .premium-inline-icon,
#page-custos .costs-vehicle-card .vehicle-config-btn svg{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  color:currentColor !important;
}

@media(max-width:760px){
  #page-custos .costs-vehicle-card .vehicle-config-btn,
  #page-custos .costs-vehicle-card .vehicle-config-btn.active{
    height:42px !important;
    min-height:42px !important;
    min-width:0 !important;
    padding:0 10px !important;
    border-radius:12px !important;
    gap:6px !important;
    font-size:.82rem !important;
  }
  #page-custos .costs-vehicle-card .vehicle-config-btn .premium-inline-icon,
  #page-custos .costs-vehicle-card .vehicle-config-btn svg{
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }
}

/* CORREÇÃO FINAL — SITUAÇÃO DO VEÍCULO
   O botão selecionado deve permanecer AZUL também ao receber foco/clique.
   Não usar estado branco para :focus/:active. */
#page-custos .costs-vehicle-card .vehicle-config-btn[aria-pressed="true"],
#page-custos .costs-vehicle-card .vehicle-config-btn.active,
#page-custos .costs-vehicle-card .vehicle-config-btn:focus,
#page-custos .costs-vehicle-card .vehicle-config-btn:focus-visible,
#page-custos .costs-vehicle-card .vehicle-config-btn:active{
  background:#3f83f1 !important;
  background-color:#3f83f1 !important;
  border-color:#3f83f1 !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
}
#page-custos .costs-vehicle-card .vehicle-config-btn:not(.active):not([aria-pressed="true"]):focus,
#page-custos .costs-vehicle-card .vehicle-config-btn:not(.active):not([aria-pressed="true"]):focus-visible{
  background:#101c2f !important;
  background-color:#101c2f !important;
  border-color:#263b5c !important;
  color:#9fb1d0 !important;
  outline:none !important;
}

/* FINAL — estado selecionado dos botões de situação: SEMPRE AZUL */
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active,
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active:hover,
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active:focus,
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active:focus-visible,
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active:active,
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"],
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"]:hover,
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"]:focus,
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"]:focus-visible,
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"]:active{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#3f83f1 !important;
  background-color:#3f83f1 !important;
  background-image:none !important;
  border:2px solid #3f83f1 !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-text-fill-color:#fff !important;
}
#page-custos .costs-vehicle-toggle .vehicle-config-btn.active * ,
#page-custos .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"] *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ===== PERÍODO — MESMO PADRÃO AZUL DOS BOTÕES DE VEÍCULO ===== */
.resumo-period-switch{
  background:var(--card) !important;
  border-color:var(--border) !important;
}

.resumo-period-btn.active,
.resumo-period-btn.active:hover,
.resumo-period-btn.active:focus,
.resumo-period-btn.active:focus-visible,
.resumo-period-btn.active:active{
  background:#3f83f1 !important;
  background-color:#3f83f1 !important;
  color:#fff !important;
  border-color:#3f83f1 !important;
  opacity:1 !important;
  box-shadow:none !important;
}

@media (max-width:760px){
  .resumo-period-switch{
    background:var(--card) !important;
    border-top-color:var(--border) !important;
    box-shadow:0 -6px 18px rgba(0,0,0,.18) !important;
  }
}

/* ===== AJUSTE FINAL — PERÍODO VERDE + CALENDÁRIO SEM HOVER ===== */
.resumo-period-btn.active,
.resumo-period-btn.active:hover,
.resumo-period-btn.active:focus,
.resumo-period-btn.active:focus-visible,
.resumo-period-btn.active:active{
  background:var(--green) !important;
  background-color:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
  opacity:1 !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .resumo-period-switch,
body[data-theme="dark"] .resumo-period-switch{
  background:var(--card) !important;
  border-color:var(--border) !important;
  box-shadow:var(--shadow-1) !important;
}

/* O calendário não muda de aparência ao passar o mouse */
.resumo-calendar-btn:hover,
.resumo-calendar-btn:focus,
.resumo-calendar-btn:focus-visible{
  background:var(--blue-bg,#eef4ff) !important;
  color:var(--blue,#2563eb) !important;
  box-shadow:none !important;
  outline:none !important;
}

.resumo-calendar-btn:active{
  background:var(--blue-bg,#eef4ff) !important;
  color:var(--blue,#2563eb) !important;
  transform:none !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .resumo-calendar-btn:hover,
:root[data-theme="dark"] .resumo-calendar-btn:focus,
:root[data-theme="dark"] .resumo-calendar-btn:focus-visible,
:root[data-theme="dark"] .resumo-calendar-btn:active,
body[data-theme="dark"] .resumo-calendar-btn:hover,
body[data-theme="dark"] .resumo-calendar-btn:focus,
body[data-theme="dark"] .resumo-calendar-btn:focus-visible,
body[data-theme="dark"] .resumo-calendar-btn:active{
  background:var(--blue-bg) !important;
  color:var(--blue) !important;
  transform:none !important;
  box-shadow:none !important;
}


/* EDITAR REGISTRO — restaurar Data somente na edição */
.entry-edit-date-field{margin-bottom:12px;}
.entry-edit-date-field input[type="date"]{width:100%;}


/* Meta: campo de valor segue o mesmo padrão neutro dos demais controles. */
#page-meta .meta-goal-input .value-wrap,
#page-meta .meta-goal-input .value-wrap:focus-within{
  background:var(--bg,#0f1a2c) !important;
  border-color:var(--border,#26324a) !important;
  box-shadow:none !important;
}
#page-meta .meta-goal-input .value-wrap > span{
  color:var(--text,#f7ffff) !important;
}
#page-meta .meta-goal-input .value-wrap input{
  color:var(--text,#f7ffff) !important;
}

/* ============================================================
   VEÍCULO — PADRÃO ÚNICO DOS BOTÕES
   Tipo de veículo + Motorização + Situação do veículo
   Sem hover, foco, active ou animação alterando tamanho/aparência.
   ============================================================ */
#page-veiculo .vehicle-page-content{
  box-sizing:border-box !important;
  width:100% !important;
  padding:18px !important;
  background:var(--card,#0f1a2c) !important;
  border:1px solid var(--border,#26324a) !important;
  border-radius:18px !important;
  box-shadow:var(--shadow-1,0 1px 2px rgba(0,0,0,.16)) !important;
}

#page-veiculo .tipo-carro-selector,
#page-veiculo .costs-vehicle-card{
  width:100% !important;
}

#page-veiculo .tipo-carro-selector-title,
#page-veiculo .costs-vehicle-title{
  color:var(--text,#f7ffff) !important;
  font-family:var(--font-display,'Inter',sans-serif) !important;
  font-size:.88rem !important;
  font-weight:750 !important;
  line-height:1.25 !important;
  margin:0 0 8px !important;
}

#page-veiculo .tipo-carro-selector-title[style]{
  margin-top:10px !important;
}

#page-veiculo .tipo-carro-selector-buttons,
#page-veiculo .costs-vehicle-toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:0 0 12px !important;
}

/* TODOS os botões usam exatamente as mesmas dimensões */
#page-veiculo .tipo-carro-btn,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn,
#page-veiculo .tipo-carro-btn:hover,
#page-veiculo .tipo-carro-btn:focus,
#page-veiculo .tipo-carro-btn:focus-visible,
#page-veiculo .tipo-carro-btn:active,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:hover,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus-visible,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:active{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
  min-width:104px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 11px !important;
  border:1px solid var(--border,#26324a) !important;
  border-radius:9px !important;
  background:var(--card,#0f1a2c) !important;
  background-color:var(--card,#0f1a2c) !important;
  background-image:none !important;
  color:var(--muted,#b5c2db) !important;
  font-family:var(--font-display,'Inter',sans-serif) !important;
  font-size:.79rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
  scale:1 !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
}

/* Hover/foco/clique: visualmente idênticos ao estado normal */
#page-veiculo .tipo-carro-btn:hover,
#page-veiculo .tipo-carro-btn:focus,
#page-veiculo .tipo-carro-btn:focus-visible,
#page-veiculo .tipo-carro-btn:active,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:hover,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus-visible,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn:active{
  background:var(--card,#0f1a2c) !important;
  background-color:var(--card,#0f1a2c) !important;
  border:1px solid var(--border,#26324a) !important;
  color:var(--muted,#b5c2db) !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
  scale:1 !important;
  transition:none !important;
}

/* Selecionado: somente o verde do sistema */
#page-veiculo .tipo-carro-btn.active,
#page-veiculo .tipo-carro-btn.active:hover,
#page-veiculo .tipo-carro-btn.active:focus,
#page-veiculo .tipo-carro-btn.active:focus-visible,
#page-veiculo .tipo-carro-btn.active:active,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:hover,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:focus,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:focus-visible,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:active,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn[aria-pressed="true"]{
  height:38px !important;
  min-height:38px !important;
  min-width:104px !important;
  padding:0 11px !important;
  background:var(--green) !important;
  background-color:var(--green) !important;
  background-image:none !important;
  border:1px solid var(--green) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
  scale:1 !important;
  transition:none !important;
  animation:none !important;
}

#page-veiculo .tipo-carro-btn .premium-selector-icon,
#page-veiculo .tipo-carro-btn svg,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn .premium-inline-icon,
#page-veiculo .costs-vehicle-toggle .vehicle-config-btn svg{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  max-width:15px !important;
  max-height:15px !important;
  flex:0 0 15px !important;
  transform:none !important;
  scale:1 !important;
}

#page-veiculo .costs-vehicle-card{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

#page-veiculo .costs-vehicle-title{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
}

@media(max-width:760px){
  #page-veiculo .vehicle-page-content{
    padding:13px !important;
    border-radius:15px !important;
  }

  #page-veiculo .tipo-carro-selector-buttons,
  #page-veiculo .costs-vehicle-toggle{
    gap:6px !important;
    margin-bottom:10px !important;
  }

  #page-veiculo .tipo-carro-btn,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn,
  #page-veiculo .tipo-carro-btn:hover,
  #page-veiculo .tipo-carro-btn:focus,
  #page-veiculo .tipo-carro-btn:focus-visible,
  #page-veiculo .tipo-carro-btn:active,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn:hover,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn:focus-visible,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn:active,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:hover,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:focus,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:focus-visible,
  #page-veiculo .costs-vehicle-toggle .vehicle-config-btn.active:active{
    height:36px !important;
    min-height:36px !important;
    min-width:0 !important;
    padding:0 9px !important;
    border-radius:9px !important;
    font-size:.76rem !important;
    transform:none !important;
    scale:1 !important;
    transition:none !important;
  }
}


/* ============================================================
   CORREÇÃO FINAL — SITUAÇÃO NO MESMO EIXO DOS OUTROS BOTÕES
   O container original .costs-vehicle-card usa flex em linha
   com justify-content:space-between, empurrando a Situação para
   a direita. Na página Veículo ele deve ser vertical.
   ============================================================ */
#page-veiculo .costs-vehicle-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100% !important;
  gap:0 !important;
}

#page-veiculo .costs-vehicle-card .costs-vehicle-title{
  width:100% !important;
  align-self:flex-start !important;
}

#page-veiculo .costs-vehicle-card .costs-vehicle-toggle{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* ==================================================================
   VEÍCULO — ESPAÇAMENTO ENTRE DESCRIÇÃO E BOTÕES PÁGINA VEICULOS
   ================================================================== */
#page-veiculo .costs-vehicle-card .costs-vehicle-title{
  margin-bottom:7px !important;
}

#page-veiculo .costs-vehicle-card .costs-vehicle-toggle{
  margin-top:10px !important;
}

/* ============================================================
   SUPORTE — página de tickets + modais (Novo Ticket / Conversa)
   Prefixo .sp-  | JS: bloco "Suporte (tickets)" no app.js
   ============================================================ */
body.dg-on-suporte .topbar{display:none !important;}
body.sp-modal-open{overflow:hidden;}

.sp-page{max-width:1080px;}
.sp-back{
  display:inline-flex;align-items:center;gap:8px;
  background:none;border:0;padding:4px 0;margin:0 0 6px;
  color:var(--muted);font-weight:600;font-size:.95rem;cursor:pointer;
}
.sp-back span{font-size:1.5rem;line-height:1;margin-top:-3px;}
.sp-back:hover{color:var(--text);}

.sp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.sp-head h2{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.02em;}

.sp-new-btn{
  display:inline-flex;align-items:center;gap:8px;
  border:0;border-radius:999px;padding:11px 20px;
  background:#2e5bdc;color:#fff;font-weight:700;font-size:.9rem !important;
  cursor:pointer;box-shadow:0 6px 18px rgba(46,91,220,.28);
  transition:filter .15s ease,transform .15s ease;white-space:nowrap;
}
.sp-new-btn span{font-size:1.25rem;line-height:1;font-weight:500;}
.sp-new-btn:hover{filter:brightness(1.08);}
.sp-new-btn:active{transform:scale(.98);}

.sp-card{
  background:rgba(255,255,255,.035);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px 18px;
}
.sp-info h3{margin:0 0 8px;font-size:1rem;font-weight:700;color:var(--text);font-family:inherit !important;}
.sp-info p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5;}

.sp-section-title{margin:22px 0 12px;font-size:1.15rem;font-weight:700;color:var(--text);}

#spTicketsList{display:flex;flex-direction:column;gap:10px;}
.sp-ticket{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  text-align:left;cursor:pointer;color:var(--text);font:inherit;
  transition:border-color .15s ease,background .15s ease;
}
.sp-ticket:hover{border-color:#3a4a6a;background:rgba(255,255,255,.055);}
.sp-ticket-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.sp-ticket-subject{font-size:.98rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sp-ticket-preview{font-size:.86rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sp-empty{color:var(--muted);font-size:.88rem;text-align:center;padding:22px 18px;}
.sp-empty strong{color:var(--text);}

.sp-status{
  display:inline-flex;align-items:center;gap:7px;flex-shrink:0;
  padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;
}
.sp-status:empty{display:none;}
.sp-status i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;}
.sp-status.is-answered{background:rgba(54,168,111,.16);color:#5fd296;}
.sp-status.is-open{background:rgba(221,154,43,.16);color:#f0b555;}
.sp-status.is-closed{background:rgba(181,194,219,.12);color:var(--muted);}

/* Atalho em Minha Conta */
.sp-account-link{
  width:100%;display:flex;align-items:center;gap:12px;margin-top:14px;
  padding:14px 16px;border:1px solid var(--border);border-radius:14px;
  background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;text-align:left;font:inherit;
}
.sp-account-link:hover{background:rgba(255,255,255,.06);}
.sp-account-link-icon{font-size:1.3rem;}
.sp-account-link-text{display:flex;flex-direction:column;gap:2px;flex:1;}
.sp-account-link-text strong{font-size:.95rem;}
.sp-account-link-text small{font-size:.8rem;color:var(--muted);}
.sp-account-link-chev{font-size:1.5rem;color:var(--muted);line-height:1;}

/* Modais */
.sp-overlay{
  position:fixed;inset:0;z-index:2147483647;
  background:rgba(8,12,22,.62);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.sp-modal{
  width:100%;max-width:560px;max-height:90vh;overflow-y:auto;
  background:#14213a;border:1px solid var(--border);border-radius:22px;
  padding:20px 18px 18px;box-shadow:var(--shadow-modal);
  animation:spPop .18s ease;
}
@keyframes spPop{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}
.sp-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.sp-modal-head h3{margin:0;font-size:1.15rem;font-weight:800;color:var(--text);}
.sp-close{
  width:42px;height:42px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--border);background:transparent;color:var(--text);
  font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.sp-close:hover{background:rgba(255,255,255,.06);}

.sp-label{display:block;margin:0 0 8px;font-size:.86rem;font-weight:600;color:var(--text);}
.sp-input{
  width:100%;display:block;margin:0 0 16px;
  padding:12px 14px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.04);color:var(--text);font-family:inherit;font-size:.95rem;
  outline:none;transition:border-color .15s ease,box-shadow .15s ease;
}
.sp-input::placeholder{color:#7f8ba3;}
.sp-input:focus{border-color:#2e5bdc;box-shadow:0 0 0 3px rgba(46,91,220,.22);}
.sp-textarea{resize:vertical;min-height:130px;line-height:1.45;}
#spReplyMessage{min-height:84px;}

.sp-submit{
  width:100%;border:0;border-radius:999px;padding:13px 18px;
  background:#2e5bdc;color:#fff;font-weight:700;font-size:.95rem !important;cursor:pointer;
  transition:filter .15s ease;
}
.sp-submit:hover{filter:brightness(1.08);}
.sp-submit:disabled{opacity:.6;cursor:default;}
.sp-msg{margin:-6px 0 12px;font-size:.82rem;color:#f08a8e;}

/* Conversa */
.sp-thread-headtext{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;}
.sp-thread-headtext h3{overflow-wrap:anywhere;}
.sp-thread-msgs{
  display:flex;flex-direction:column;gap:12px;
  max-height:46vh;overflow-y:auto;margin:0 0 14px;padding:2px 2px 4px;
}
.sp-thread-loading{color:var(--muted);font-size:.88rem;margin:6px 0;}
.sp-bubble-wrap{max-width:84%;display:flex;flex-direction:column;}
.sp-bubble-wrap.mine{align-self:flex-end;align-items:flex-end;}
.sp-bubble-wrap.theirs{align-self:flex-start;align-items:flex-start;}
.sp-bubble{
  padding:10px 13px;border-radius:14px;font-size:.9rem;line-height:1.45;
  white-space:pre-wrap;overflow-wrap:anywhere;
}
.sp-bubble-wrap.mine .sp-bubble{background:#2e5bdc;color:#fff;border-bottom-right-radius:4px;}
.sp-bubble-wrap.theirs .sp-bubble{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px;}
.sp-bubble-meta{font-size:.72rem;color:var(--muted);margin-top:4px;}
.sp-closed-note{
  font-size:.84rem;color:var(--muted);text-align:center;
  padding:12px;border-radius:12px;background:rgba(255,255,255,.04);
}

@media (max-width:600px){
  .sp-head h2{font-size:1.45rem;}
  .sp-new-btn{padding:10px 16px;font-size:.85rem !important;}
  .sp-ticket{align-items:flex-start;flex-direction:column;gap:10px;}
  .sp-ticket-preview{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .sp-overlay{align-items:flex-end;padding:0;}
  .sp-modal{max-width:100%;border-radius:22px 22px 0 0;max-height:92vh;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));}
}

/* Menu lateral: esconde a barra de rolagem (continua rolando com o dedo/roda do mouse se a tela for baixa) */
.sidebar{scrollbar-width:none !important;-ms-overflow-style:none !important;}
.sidebar::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important;}

/* =====================================================================
   LAYOUT v2 — app moderno (barra inferior, Início compacto, listas
   compactas). Bloco final: sobrescreve regras antigas de propósito.
   ===================================================================== */

/* ---------- Ajustes gerais (todas as telas) ---------- */
#page-resumo .dashboard-section-head{display:none !important;} /* repetia o título da topbar */
.resumo-cost-row .rc-body{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex-wrap:wrap;}
.resumo-cost-row .rc-body>span{min-width:0;flex:1 1 120px;}
.resumo-cost-row .rc-body strong{white-space:nowrap;font-size:clamp(.95rem,1.5vw,1.2rem) !important;margin-left:auto;}

/* Lucro líquido ganha destaque */
.resumo-result-card.tint-green{
  background:linear-gradient(145deg,rgba(54,168,111,.20),rgba(54,168,111,.06)) !important;
  border-color:rgba(54,168,111,.45) !important;
  box-shadow:0 0 0 1px rgba(54,168,111,.12),0 18px 40px -22px rgba(54,168,111,.55) !important;
}

/* ---------- Custos do veículo: lista compacta (accordion) ---------- */
#maintenanceItemsList .cost-item-card{padding:0 !important;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
#maintenanceItemsList .cost-item-head{
  align-items:center !important;cursor:pointer;padding:14px 16px;margin:0 !important;
  user-select:none;-webkit-tap-highlight-color:transparent;outline:none;
}
#maintenanceItemsList .cost-item-head:focus-visible{box-shadow:inset 0 0 0 2px var(--green);border-radius:inherit;}
#maintenanceItemsList .cost-item-title{flex:1;min-width:0;}
#maintenanceItemsList .cost-item-name{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#maintenanceItemsList .ci-summary{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;}
#maintenanceItemsList .ci-sum{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--green);white-space:nowrap;}
#maintenanceItemsList .ci-sum small{font-size:.7rem;font-weight:700;color:var(--muted);margin-left:2px;}
#maintenanceItemsList .ci-sum em{font-style:normal;font-family:inherit;font-size:.76rem;font-weight:700;color:var(--muted);
  padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.14);}
#maintenanceItemsList .ci-chev{width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;flex-shrink:0;margin-right:2px;}
#maintenanceItemsList .cost-item-card.open .ci-chev{transform:rotate(-135deg) translate(-2px,0);}
#maintenanceItemsList .cost-item-card .cost-item-fields,
#maintenanceItemsList .cost-item-card .cost-item-note,
#maintenanceItemsList .cost-item-card .cost-item-perkm{display:none !important;}
#maintenanceItemsList .cost-item-card.open{border-color:rgba(54,168,111,.45) !important;}
#maintenanceItemsList .cost-item-card.open .cost-item-head{border-bottom:1px solid var(--border);}
#maintenanceItemsList .cost-item-card.open .cost-item-fields{display:grid !important;padding:14px 16px 4px;}
#maintenanceItemsList .cost-item-card.open .cost-item-note{display:flex !important;padding:4px 16px 0;}
#maintenanceItemsList .cost-item-card.open .cost-item-perkm{display:block !important;padding:6px 16px 14px;}
#maintenanceItemsList .cost-item-card .cost-item-delete{top:50% !important;transform:translateY(-50%);right:46px !important;}
#maintenanceItemsList .cost-item-card .cost-item-head .cost-edit-btn,
#maintenanceItemsList .cost-item-card .cost-item-head [class*="actions"]{flex-shrink:0;}
#maintenanceItemsList{display:flex !important;flex-direction:column;gap:8px !important;}

/* ---------- Registros: cards compactos (celular) ---------- */
.reg-mobile-card{padding:0 !important;margin:0 0 8px !important;overflow:hidden;border-radius:16px !important;}
.reg-mc-main{
  width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;
  padding:13px 14px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.reg-mc-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;border-radius:13px;
  background:rgba(255,255,255,.05);border:1px solid var(--border);line-height:1.05;}
.reg-mc-date strong{font-family:var(--font-display);font-size:.95rem;font-weight:800;}
.reg-mc-date small{font-size:.62rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.reg-mc-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.reg-mc-info strong{font-family:var(--font-display);font-size:.98rem;font-weight:800;white-space:nowrap;}
.reg-mc-info strong small{font-family:inherit;font-size:.66rem;font-weight:700;color:var(--muted);margin-left:2px;}
.reg-mc-info>small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.reg-mc-net{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.reg-mc-net strong{font-family:var(--font-display);font-size:.98rem;font-weight:800;color:var(--green);white-space:nowrap;}
.reg-mc-net.neg strong{color:#f07178;}
.reg-mc-net small{font-size:.64rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.reg-mc-chev{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);
  transition:transform .2s ease;margin:0 2px 3px 0;}
.reg-mobile-card.open .reg-mc-chev{transform:rotate(-135deg);margin:3px 2px 0 0;}
.reg-mc-detail{display:none;padding:0 14px 14px;border-top:1px solid var(--border);}
.reg-mobile-card.open .reg-mc-detail{display:block;}
.reg-mc-plats{display:flex;flex-direction:column;gap:8px;padding:12px 0;}
.reg-mc-plat{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;font-size:.84rem;}
.reg-mc-plat i{width:9px;height:9px;border-radius:50%;background:#e5e7eb;}
.reg-mc-plat.pop99 i{background:#f5c518;}
.reg-mc-plat.indrive i{background:#2fd47a;}
.reg-mc-plat span{font-weight:700;}
.reg-mc-plat em{font-style:normal;font-size:.74rem;color:var(--muted);}
.reg-mc-plat strong{font-weight:800;min-width:78px;text-align:right;}
.reg-mobile-actions{display:flex !important;gap:8px !important;}
.reg-mobile-actions .reg-action{flex:1;display:inline-flex !important;align-items:center;justify-content:center;gap:6px;
  height:40px !important;width:auto !important;border-radius:11px !important;font-size:.82rem !important;font-weight:700 !important;}
.reg-mobile-actions .reg-action svg{width:16px;height:16px;}
#page-registros .reg-mobile-list{padding:4px 0 0 !important;}

/* ---------- Minha Conta (computador): duas colunas ---------- */
@media (min-width:1100px){
  #page-config .config-costs-page{display:grid !important;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
  #page-config .config-costs-page>.config-tip,
  #page-config .config-costs-page>.sp-account-link,
  #page-config .config-costs-page>p{grid-column:1 / -1;}
  #page-config .config-costs-shell{margin:0 !important;height:100%;}
}

/* ---------- Barra inferior: escondida no computador ---------- */
.dg-bottomnav{display:none;}

/* =====================================================================
   CELULAR / TABLET (≤ 900px)
   ===================================================================== */
@media (max-width:900px){
  /* Barra de navegação inferior */
  .dg-bottomnav{
    display:grid;grid-template-columns:repeat(5,1fr);align-items:end;
    position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:9000;
    height:66px;padding:0 6px;border-radius:22px;
    background:rgba(17,26,44,.92);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 18px 40px -12px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.25);
    transition:transform .25s ease,opacity .25s ease;
  }
  .dg-bottomnav.is-hidden{transform:translateY(130%);opacity:0;pointer-events:none;}
  .dg-bn-item{
    height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    border:0;background:transparent;color:#8a96ad;font:inherit;font-size:.66rem !important;font-weight:700;cursor:pointer;
    -webkit-tap-highlight-color:transparent;position:relative;transition:color .2s ease;
  }
  .dg-bn-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .dg-bn-item.active{color:#fff;}
  .dg-bn-item.active svg{stroke:var(--green);}
  .dg-bn-item.active::before{content:'';position:absolute;top:7px;width:5px;height:5px;border-radius:50%;background:var(--green);display:none;}
  .dg-bn-item:active{transform:scale(.94);}
  .dg-bn-add{
    justify-self:center;align-self:center;width:56px;height:56px;margin-top:-26px;border-radius:19px;border:0;cursor:pointer;
    background:linear-gradient(145deg,#3cc07f,#2a9a63);color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 26px -6px rgba(54,168,111,.75),0 0 0 5px rgba(13,20,36,.95);
    -webkit-tap-highlight-color:transparent;transition:transform .15s ease;
  }
  .dg-bn-add svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;}
  .dg-bn-add:active{transform:scale(.92);}

  /* O menu ☰ do topo sai: "Mais" abre o mesmo menu */
  .mobile-menu-btn{display:none !important;}
  .sidebar.mobile-open{z-index:9500 !important;}
  .mobile-menu-overlay.mobile-open{z-index:9400 !important;}

  .main{
    padding-top:calc(18px + env(safe-area-inset-top,0px)) !important;
    padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)) !important;
  }

  /* Topbar: título grande; "+ Novo Registro" sai (o + da barra faz isso) */
  .topbar{margin-bottom:14px !important;}
  .topbar h1{font-size:1.55rem !important;letter-spacing:-.02em;}
  .topbar p{font-size:.84rem !important;}
  body[data-page="resumo"] #qaAddEntry,
  body[data-page="registros"] #qaAddEntry{display:none !important;}

  /* Barra de período: controle segmentado no topo do Início */
  #page-resumo .resumo-period-controls{display:flex !important;flex-direction:column;gap:10px;margin:0 0 16px !important;}
  .resumo-period-switch{
    position:static !important;inset:auto !important;width:100% !important;
    display:grid !important;grid-template-columns:repeat(4,1fr);gap:4px !important;
    padding:4px !important;margin:0 !important;border-radius:14px !important;
    border:1px solid var(--border) !important;background:rgba(255,255,255,.04) !important;box-shadow:none !important;z-index:auto !important;
  }
  .resumo-period-btn{padding:9px 4px !important;border-radius:10px !important;font-size:.8rem !important;font-weight:700 !important;}
  .resumo-date-picker{width:100% !important;}
  .resumo-date-picker .resumo-date-field{width:100% !important;}
}

/* =====================================================================
   INÍCIO COMPACTO (≤ 760px)
   ===================================================================== */
@media (max-width:760px){
  #page-resumo .resumo-section-title{font-size:.78rem !important;letter-spacing:.08em;margin:22px 0 10px !important;color:var(--muted) !important;}
  #page-resumo .resumo-section-title:first-of-type{margin-top:4px !important;}

  /* Resultado: Lucro em destaque no topo, Recebido e Custos lado a lado */
  #page-resumo .resumo-result-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;}
  #page-resumo .resumo-result-card{padding:14px !important;min-height:0 !important;border-radius:18px !important;}
  #page-resumo .resumo-result-card .rr-top{margin-bottom:8px !important;}
  #page-resumo .resumo-result-card .rr-label{font-size:.62rem !important;letter-spacing:.06em;}
  #page-resumo .resumo-result-card .rr-icon{width:30px !important;height:30px !important;}
  #page-resumo .resumo-result-card .rr-icon svg{width:16px;height:16px;}
  #page-resumo .resumo-result-card .rr-value{font-size:1.12rem !important;white-space:nowrap;}
  #page-resumo .resumo-result-card .rr-sub{font-size:.68rem !important;}
  #page-resumo .resumo-result-card.tint-green{order:-1;grid-column:1 / -1;padding:18px !important;}
  #page-resumo .resumo-result-card.tint-green .rr-label{font-size:.7rem !important;}
  #page-resumo .resumo-result-card.tint-green .rr-icon{width:38px !important;height:38px !important;}
  #page-resumo .resumo-result-card.tint-green .rr-value{font-size:2.05rem !important;letter-spacing:-.02em;margin:2px 0 4px;}
  #page-resumo .resumo-result-card.tint-green .rr-sub{font-size:.8rem !important;}
  #page-resumo .resumo-explainer{display:none !important;}

  /* Atividade: 3 mini-cards na mesma linha */
  #page-resumo .resumo-activity-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8px !important;}
  #page-resumo .resumo-activity-card{
    display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;
    padding:12px 6px !important;gap:2px !important;min-height:0 !important;border-radius:16px !important;position:relative;
  }
  #page-resumo .resumo-activity-icon{position:static !important;width:30px !important;height:30px !important;margin:0 0 6px !important;order:-1;border-radius:10px !important;}
  #page-resumo .resumo-activity-icon svg{width:16px;height:16px;}
  #page-resumo .resumo-activity-value{font-size:1.05rem !important;white-space:nowrap;}
  #page-resumo .resumo-activity-label{font-size:.66rem !important;color:var(--muted) !important;font-weight:700 !important;}
  #page-resumo .resumo-activity-sub{display:none !important;}

  /* Meta */
  #page-resumo .meta-banner-card{margin-top:12px !important;padding:16px !important;border-radius:18px !important;}

  /* Médias: grade 2×2 */
  #page-resumo .resumo-quick-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
  #page-resumo .resumo-quick-card{
    display:grid !important;grid-template-columns:1fr auto;grid-template-areas:"label icon" "value icon";
    align-items:center;padding:12px !important;min-height:0 !important;border-radius:16px !important;gap:2px 8px !important;
  }
  #page-resumo .resumo-quick-icon{grid-area:icon;width:32px !important;height:32px !important;position:static !important;margin:0 !important;border-radius:10px !important;}
  #page-resumo .resumo-quick-icon svg{width:16px;height:16px;}
  #page-resumo .resumo-quick-label{grid-area:label;font-size:.64rem !important;line-height:1.25;color:var(--muted) !important;}
  #page-resumo .resumo-quick-value{grid-area:value;font-size:1rem !important;white-space:nowrap;}

  #page-resumo .resumo-side-col .dashboard-card{padding:16px !important;border-radius:18px !important;}
  #page-resumo .resumo-cost-row .rc-body strong{font-size:1rem !important;}

  /* Custos e cards de configuração com respiro menor */
  #maintenanceItemsList .cost-item-head{padding:13px 14px;}
  #maintenanceItemsList .cost-item-icon{width:34px !important;height:34px !important;}
}

/* v2 — ajustes finos */
.resumo-quick-label{font-size:.78rem !important;}
@media (max-width:760px){
  #page-resumo .resumo-activity-card>*{text-align:center !important;width:auto !important;margin-left:auto !important;margin-right:auto !important;}
  #page-resumo .resumo-quick-label{font-size:.72rem !important;font-weight:700 !important;}
  #page-resumo .resumo-quick-value{font-size:1.08rem !important;}
}
@media (max-width:900px){
  #page-registros .reg-table-card{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;}
  #page-registros #regCountLabel{display:none !important;}
  #page-registros .reg-table-footer{padding:6px 0 0 !important;border:0 !important;}
  #page-registros .reg-week-card{margin-bottom:14px !important;}
}
@media (max-width:760px){#page-resumo .resumo-quick-label{white-space:nowrap;}}

/* v2 — tablet (761px a 900px): atividade em 3 colunas, médias em 4 */
@media (min-width:761px) and (max-width:900px){
  #page-resumo .resumo-activity-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:10px !important;}
  #page-resumo .resumo-activity-card{padding:14px 8px !important;min-height:0 !important;}
  #page-resumo .resumo-quick-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:10px !important;}
  #page-resumo .resumo-result-card.tint-green .rr-value{font-size:1.6rem !important;}
}
@media (min-width:761px) and (max-width:900px){
  #page-resumo .resumo-quick-card{display:grid !important;grid-template-columns:1fr auto;grid-template-areas:"label icon" "value icon";
    align-items:center;padding:14px !important;min-height:0 !important;gap:2px 10px !important;text-align:left !important;}
  #page-resumo .resumo-quick-icon{grid-area:icon;position:static !important;margin:0 !important;width:36px !important;height:36px !important;}
  #page-resumo .resumo-quick-label{grid-area:label;text-align:left !important;margin:0 !important;}
  #page-resumo .resumo-quick-value{grid-area:value;text-align:left !important;font-size:1.15rem !important;}
}
#page-suporte .sp-head h2{font-size:1.6rem !important;font-weight:800 !important;}

/* =====================================================================
   RESULTADO v3 — cards coloridos (lucro verde, recebido azul, custo vermelho)
   com mini gráficos reais e comparação com o período anterior.
   ===================================================================== */
body #page-resumo .resumo-result-grid.rr-v3{
  display:grid !important;grid-template-columns:1.35fr 1fr !important;grid-template-rows:auto auto;gap:14px !important;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card{
  position:relative;overflow:hidden;display:flex !important;flex-direction:column;justify-content:center;gap:12px;
  padding:18px 20px !important;border-radius:20px !important;min-height:0 !important;
  border:1.5px solid var(--rr-bd) !important;
  background:linear-gradient(140deg,var(--rr-bg1),var(--rr-bg2)) !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.25),0 18px 40px -24px var(--rr-glow),inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card::after{ /* brilho suave no canto */
  content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(closest-side,var(--rr-glow),transparent);opacity:.35;pointer-events:none;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-green{
  --rr-bg1:#0f4a33;--rr-bg2:#0a2a1f;--rr-bd:rgba(52,211,130,.75);--rr-glow:rgba(52,211,130,.55);--rr-ib:#2fbf71;--rr-accent:#4ade80;
  grid-row:1 / span 2;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-blue{
  --rr-bg1:#13306b;--rr-bg2:#0c1b3d;--rr-bd:rgba(80,140,255,.7);--rr-glow:rgba(80,140,255,.5);--rr-ib:#3b7bf6;--rr-accent:#7aa7ff;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-red{
  --rr-bg1:#4a1a25;--rr-bg2:#2a1017;--rr-bd:rgba(239,108,108,.6);--rr-glow:rgba(239,108,108,.4);--rr-ib:#e0525a;--rr-accent:#f59a9a;
}

body #page-resumo .resumo-result-grid.rr-v3 .rr-row{display:flex;align-items:center;gap:14px;position:relative;z-index:1;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-ibox{
  flex-shrink:0;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--rr-ib);color:#fff;box-shadow:0 8px 18px -6px var(--rr-glow);
}
body #page-resumo .resumo-result-grid.rr-v3 .rr-ibox svg{width:26px;height:26px;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-label{font-size:.72rem !important;font-weight:800 !important;letter-spacing:.07em;color:rgba(255,255,255,.82) !important;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-value{
  font-family:var(--font-display);font-weight:800 !important;color:#fff !important;-webkit-text-fill-color:#fff !important;
  font-size:1.45rem !important;line-height:1.1;letter-spacing:-.01em;white-space:nowrap;
}
body #page-resumo .resumo-result-grid.rr-v3 .rr-sub{font-size:.76rem !important;color:rgba(255,255,255,.7) !important;line-height:1.35;margin:0 !important;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-ibox{width:60px;height:60px;border-radius:18px;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-ibox svg{width:34px;height:34px;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-value{font-size:2.4rem !important;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-sub{font-size:.92rem !important;color:var(--rr-accent) !important;font-weight:700;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-profit-pct{color:var(--rr-accent) !important;font-weight:800;background:none !important;padding:0 !important;}

/* Mini gráfico de barras */
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark{display:flex;align-items:flex-end;gap:3px;height:34px;width:56px;flex-shrink:0;align-self:flex-end;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-spark{height:58px;width:96px;gap:5px;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark.is-empty{display:none;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark i{flex:1;min-width:3px;border-radius:3px 3px 1px 1px;background:var(--rr-accent);opacity:.38;transition:height .4s ease;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark i.cur{opacity:1;box-shadow:0 0 12px var(--rr-glow);}
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark i.neg{background:#f07178;}

/* Comparação com o período anterior */
body #page-resumo .resumo-result-grid.rr-v3 .rr-compare{
  position:relative;z-index:1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:rgba(255,255,255,.75);
}
body #page-resumo .resumo-result-grid.rr-v3 .rr-compare strong{font-weight:800;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-cmp-arrow{font-weight:900;font-size:1rem;line-height:1;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-compare.up strong,body #page-resumo .resumo-result-grid.rr-v3 .rr-compare.up .rr-cmp-arrow{color:#4ade80;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-compare.down strong,body #page-resumo .resumo-result-grid.rr-v3 .rr-compare.down .rr-cmp-arrow{color:#f87171;}

/* Celular e tablet: lucro em cima, recebido e custos lado a lado */
@media (max-width:900px){
  body #page-resumo .resumo-result-grid.rr-v3{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-green{grid-column:1 / -1;grid-row:auto;order:-1;padding:18px !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-blue,
  body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-red{padding:14px !important;gap:8px;justify-content:flex-start;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-blue .rr-row,body #page-resumo .resumo-result-grid.rr-v3 .tint-red .rr-row{flex-wrap:wrap;gap:10px;align-items:flex-start;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-blue .rr-ibox,body #page-resumo .resumo-result-grid.rr-v3 .tint-red .rr-ibox{width:36px;height:36px;border-radius:11px;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-blue .rr-ibox svg,body #page-resumo .resumo-result-grid.rr-v3 .tint-red .rr-ibox svg{width:20px;height:20px;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-blue .rr-main,body #page-resumo .resumo-result-grid.rr-v3 .tint-red .rr-main{order:3;flex-basis:100%;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-blue .rr-spark,body #page-resumo .resumo-result-grid.rr-v3 .tint-red .rr-spark{margin-left:auto;height:30px;width:46px;align-self:center;}
  body #page-resumo .resumo-result-grid.rr-v3 .rr-label{font-size:.64rem !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .rr-value{font-size:1.12rem !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .rr-sub{font-size:.68rem !important;}
}
@media (max-width:760px){
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-ibox{width:48px;height:48px;border-radius:15px;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-ibox svg{width:28px;height:28px;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-value{font-size:1.85rem !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-sub{font-size:.8rem !important;}
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-spark{width:64px;height:46px;gap:4px;}
  body #page-resumo .resumo-result-grid.rr-v3 .rr-compare{font-size:.74rem;padding-top:10px;}
}
@media (max-width:360px){
  body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-spark{display:none;}
}

/* =====================================================================
   v3.1 — cores secundárias neutras, "estimado", aviso de custos,
   primeiros passos (usuário novo)
   ===================================================================== */
/* (ícones secundários mantêm suas cores originais) */

/* "i" do lucro estimado */
body #page-resumo .rr-v3 .rr-label{display:inline-flex;align-items:center;gap:6px;}
.rr-info-btn{
  width:17px;height:17px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;
  color:rgba(255,255,255,.8);font:700 .62rem/1 Georgia,serif;font-style:italic;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.rr-info-pop{
  position:relative;z-index:2;font-size:.78rem;line-height:1.45;color:rgba(255,255,255,.88);
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;
}
.rr-warn{
  position:relative;z-index:2;display:flex;align-items:flex-start;gap:9px;text-align:left;width:100%;
  font:inherit;font-size:.76rem;line-height:1.4;color:#fde7b0;cursor:pointer;
  background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.45);border-radius:12px;padding:9px 11px;
}
.rr-warn>span:first-child{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#f5a623;color:#1b1305;
  font-weight:900;font-size:.72rem;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.rr-warn strong{color:#ffd27a;white-space:nowrap;}

/* Primeiros passos */
.dg-onboard{
  display:flex;flex-direction:column;gap:10px;margin:0 0 18px;padding:16px;border-radius:20px;
  background:linear-gradient(140deg,rgba(59,123,246,.16),rgba(59,123,246,.04));border:1px solid rgba(80,140,255,.4);
}
.dg-ob-head{display:flex;flex-direction:column;gap:2px;margin-bottom:2px;}
.dg-ob-head strong{font-family:var(--font-display);font-size:1.05rem;color:#fff;}
.dg-ob-head span{font-size:.8rem;color:rgba(255,255,255,.7);}
.dg-ob-step{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--text);font:inherit;
}
.dg-ob-num{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#3b7bf6;color:#fff;font-weight:800;font-size:.85rem;}
.dg-ob-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dg-ob-body strong{font-size:.9rem;}
.dg-ob-body small{font-size:.74rem;color:var(--muted);line-height:1.35;}
.dg-ob-cta{font-size:.74rem;font-weight:800;color:#7aa7ff;white-space:nowrap;}
.dg-ob-step.done{opacity:.6;}
.dg-ob-step.done .dg-ob-num{background:var(--green);}
.dg-ob-step.done .dg-ob-cta{color:var(--green);}
@media (max-width:420px){ .dg-ob-cta{display:none;} }


/* =====================================================================
   v3.2 — cards com cor mais discreta (menos neon)
   ===================================================================== */
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-green{
  --rr-bg1:#163a2c;--rr-bg2:#111f1b;--rr-bd:rgba(74,190,128,.32);--rr-glow:rgba(74,190,128,.18);--rr-ib:#2f9e66;--rr-accent:#6fcf97;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-blue{
  --rr-bg1:#192c52;--rr-bg2:#121b30;--rr-bd:rgba(110,150,230,.30);--rr-glow:rgba(110,150,230,.16);--rr-ib:#4a74d6;--rr-accent:#93b0ec;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card.tint-red{
  --rr-bg1:#3a1e26;--rr-bg2:#1f1419;--rr-bd:rgba(220,120,120,.28);--rr-glow:rgba(220,120,120,.14);--rr-ib:#c95a60;--rr-accent:#e4a0a0;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card{
  border-width:1px !important;
  box-shadow:0 10px 28px -20px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body #page-resumo .resumo-result-grid.rr-v3 .resumo-result-card::after{opacity:.18;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-ibox{box-shadow:none;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-spark i.cur{box-shadow:none;}
body #page-resumo .resumo-result-grid.rr-v3 .rr-label{color:rgba(255,255,255,.62) !important;}
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-sub,
body #page-resumo .resumo-result-grid.rr-v3 .tint-green .rr-profit-pct{color:var(--rr-accent) !important;}

/* =====================================================================
   MENU "MAIS" — popup em grade (celular)
   ===================================================================== */
.dg-more{position:fixed;inset:0;z-index:8900;display:none;}
.dg-more.open{display:block;}
.dg-more-backdrop{position:absolute;inset:0;background:rgba(5,9,18,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:dgFade .2s ease;}
.dg-more-sheet{
  position:absolute;left:10px;right:10px;bottom:calc(88px + env(safe-area-inset-bottom,0px));
  background:#141d30;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:16px 14px 14px;
  box-shadow:0 24px 60px -16px rgba(0,0,0,.85);animation:dgPop .22s cubic-bezier(.2,.8,.3,1.1);
  max-height:calc(100vh - 120px);overflow-y:auto;
}
@keyframes dgFade{from{opacity:0}to{opacity:1}}
@keyframes dgPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.dg-more-head{display:flex;align-items:center;gap:11px;padding:0 4px 14px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07);}
.dg-more-avatar{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dg-more-user{flex:1;min-width:0;display:flex;flex-direction:column;}
.dg-more-user strong{font-size:.95rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dg-more-user small{font-size:.74rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dg-more-close{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:transparent;color:#cfd6e4;font-size:.95rem;cursor:pointer;flex-shrink:0;}
.dg-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.dg-more-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;padding:12px 6px;
  border-radius:18px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.035);
  color:#e6ebf4;font:inherit;font-size:.74rem !important;font-weight:700;text-align:center;line-height:1.2;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .15s ease;
}
.dg-more-item:active{transform:scale(.95);background:rgba(255,255,255,.07);}
.dg-more-item.active{border-color:rgba(74,190,128,.45);background:rgba(74,190,128,.08);}
.dg-more-ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;}
.dg-more-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dg-more-ic.c-blue{background:rgba(74,116,214,.18);color:#8fb0f0;}
.dg-more-ic.c-green{background:rgba(47,158,102,.18);color:#6fcf97;}
.dg-more-ic.c-violet{background:rgba(139,92,246,.18);color:#b9a2f5;}
.dg-more-ic.c-amber{background:rgba(245,166,35,.16);color:#f2c26b;}
.dg-more-ic.c-cyan{background:rgba(34,184,207,.16);color:#7fd6e3;}
.dg-more-ic.c-red{background:rgba(201,90,96,.16);color:#e79a9e;}
@media (min-width:901px){ .dg-more{display:none !important;} }

/* Custos: nome longo (ex.: "Seguro / Proteção Veicular") não passa por cima do valor */
#maintenanceItemsList .cost-item-head{gap:10px !important;}
#maintenanceItemsList .cost-item-title{flex:1 1 auto !important;min-width:0 !important;overflow:hidden;gap:10px;}
#maintenanceItemsList .cost-item-icon{flex-shrink:0 !important;}
#maintenanceItemsList .cost-item-name{
  flex:1 1 auto !important;min-width:0 !important;width:auto !important;max-width:100% !important;
  white-space:normal !important;overflow:hidden !important;line-height:1.25 !important;
  display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;
}
#maintenanceItemsList .ci-summary{flex:0 0 auto !important;}
#maintenanceItemsList .cost-item-name{word-break:normal !important;overflow-wrap:break-word;}
/* Celulares bem estreitos: valor desce para a linha de baixo do nome */
@media (max-width:360px){
  #maintenanceItemsList .cost-item-head{flex-wrap:wrap !important;row-gap:6px !important;}
  #maintenanceItemsList .cost-item-title{flex:1 1 100% !important;}
  #maintenanceItemsList .ci-summary{flex:1 1 100% !important;justify-content:space-between;padding-left:44px;}
  #maintenanceItemsList .cost-item-name{font-size:.88rem !important;}
}
