:root{
    --torqueti-orange:#FF6600;
    --torqueti-orange-2:#ff8534;
    --torqueti-purple:#6366f1;
    --torqueti-dark:#1b2029;
    --torqueti-dark-2:#232a36;
    --bg:#f3f5f9;
    --card-shadow:0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.06);
    --radius:14px;
  }
  *{ box-sizing:border-box; }
  body{
    font-family:'Inter','Segoe UI',Arial,sans-serif;
    background:var(--bg);
    color:#1f2733;
    -webkit-font-smoothing:antialiased;
  }
  .layout{ display:flex; min-height:100vh; }
  .conteudo{ flex:1; min-width:0; }

  .sidebar{
    background:linear-gradient(180deg, var(--torqueti-dark-2) 0%, var(--torqueti-dark) 100%);
    width:248px;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:0;
    height:100vh;
    box-shadow:2px 0 12px rgba(0,0,0,.08);
  }
  .sidebar .brand{ padding:1.3rem 1.1rem 1.1rem; text-align:center; }
  .sidebar .brand-logo-box{
    background:#fff; border-radius:12px; padding:.75rem .85rem;
    box-shadow:0 4px 14px rgba(0,0,0,.18);
  }
  .sidebar .brand-logo{ width:100%; max-width:170px; height:auto; display:block; margin:0 auto; }
  .sidebar .brand-sub{
    color:var(--torqueti-orange); font-size:.68rem; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; margin-top:.7rem;
  }
  .sidebar .nav-sec{
    color:#5b6675; font-size:.66rem; font-weight:700; letter-spacing:.1em;
    text-transform:uppercase; padding:1rem 1.5rem .35rem;
  }
  .sidebar a.nav-item{
    color:#c3c9d4; display:flex; align-items:center; gap:.7rem;
    padding:.62rem 1.5rem; text-decoration:none; font-size:.92rem; font-weight:500;
    border-left:3px solid transparent; transition:background .15s, color .15s, border-color .15s;
  }
  .sidebar a.nav-item .ico{ font-size:1.05rem; width:1.4rem; text-align:center; }
  .sidebar a.nav-item:hover{ color:#fff; background:rgba(255,255,255,.05); }
  .sidebar a.nav-item.active{
    color:#fff; background:linear-gradient(90deg, rgba(255,102,0,.22), rgba(255,102,0,0));
    border-left-color:var(--torqueti-orange); font-weight:600;
  }

  .sidebar details.nav-grupo{ border-left:3px solid transparent; }
  .sidebar summary.nav-grupo-titulo{
    list-style:none; cursor:pointer; display:flex; align-items:center; gap:.7rem;
    padding:.62rem 1.5rem; color:#e4e7ec; font-size:.88rem; font-weight:700;
    letter-spacing:.02em; user-select:none; transition:background .15s, color .15s;
  }
  .sidebar summary.nav-grupo-titulo::-webkit-details-marker{ display:none; }
  .sidebar summary.nav-grupo-titulo:hover{ background:rgba(255,255,255,.05); color:#fff; }
  .sidebar summary.nav-grupo-titulo .ico{ font-size:1.05rem; width:1.4rem; text-align:center; }
  .sidebar summary.nav-grupo-titulo .seta-grupo{
    margin-left:auto; font-size:.7rem; color:#6b7484; transition:transform .15s;
  }
  .sidebar details.nav-grupo[open] summary.nav-grupo-titulo .seta-grupo{ transform:rotate(0deg); }
  .sidebar details.nav-grupo:not([open]) summary.nav-grupo-titulo .seta-grupo{ transform:rotate(-90deg); }
  .sidebar .nav-grupo-itens a.nav-item{ padding-left:2.35rem; font-size:.87rem; }
  .sidebar .nav-grupo-itens a.nav-item.active{
    background:linear-gradient(90deg, rgba(255,102,0,.16), rgba(255,102,0,0));
  }
  .sidebar .nav-divisor{ height:1px; background:rgba(255,255,255,.08); margin:.5rem 1.5rem; }
  .sidebar-user{
    margin-top:auto; padding:1rem 1.3rem; border-top:1px solid rgba(255,255,255,.08);
    display:flex; align-items:center; gap:.7rem;
  }
  .sidebar-user .avatar{
    width:38px; height:38px; border-radius:50%;
    background:linear-gradient(135deg,var(--torqueti-orange),var(--torqueti-orange-2));
    color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center;
    font-size:.95rem; flex-shrink:0;
  }
  .sidebar-user .nome{ color:#fff; font-weight:600; font-size:.86rem; line-height:1.1; }
  .sidebar-user .papel{ color:#8b95a3; font-size:.72rem; }
  .sidebar-user a.sair{ color:#ff9a5a; font-size:.78rem; text-decoration:none; margin-left:auto; }
  .sidebar-user a.sair:hover{ text-decoration:underline; }

  .btn-torqueti{
    background:var(--torqueti-orange); border:none; color:#fff; font-weight:600;
    border-radius:9px; box-shadow:0 2px 8px rgba(255,102,0,.25);
  }
  .btn-torqueti:hover{ background:#e65c00; color:#fff; }
  .card{ border:none; box-shadow:var(--card-shadow); border-radius:var(--radius); }
  .form-select, .form-control{ border-radius:9px; }
  .form-select-sm{ border-radius:8px; }

  .kpi-card{ border:none; box-shadow:var(--card-shadow); border-radius:var(--radius); overflow:hidden; position:relative; }
  .kpi-card .kpi-ico{ position:absolute; right:14px; top:12px; font-size:1.5rem; opacity:.25; }
  .kpi-valor{ font-size:1.55rem; font-weight:800; letter-spacing:-.02em; }
  .kpi-label{ font-size:.72rem; color:#8a94a3; text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
  .accent-purple{ color:var(--torqueti-purple); }
  .accent-orange{ color:var(--torqueti-orange); }
  .accent-azul{ color:#0ea5e9; }
  .accent-vermelho{ color:#dc2626; }

  /* ---- Padronização compartilhada entre todas as páginas ---- */

  /* Pílulas de período/mês (usadas em relatorio*.php, clientes.php, rh.php) */
  .pilulas{ display:flex; flex-wrap:wrap; gap:.4rem; }
  .pilula{
    display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .9rem; border-radius:999px;
    text-decoration:none; background:#fff; color:#475062; font-weight:600; font-size:.85rem;
    border:1.5px solid #e3e7ee; box-shadow:0 1px 2px rgba(16,24,40,.04); transition:all .15s;
  }
  .pilula:hover{ border-color:var(--torqueti-orange); color:var(--torqueti-orange); }
  .pilula.ativa{ background:var(--torqueti-orange); color:#fff; border-color:var(--torqueti-orange); box-shadow:0 2px 8px rgba(255,102,0,.3); }
  .pilula .badge-check{ font-size:.7rem; opacity:.9; }
  .pilula.ativa .badge-check{ color:#fff; }

  /* Badge de % de participação (relatorio.php, relatorio_compras.php) */
  .badge-pct{
    display:inline-block; margin-top:2px; font-size:.66rem; font-weight:700; color:var(--torqueti-purple);
    background:rgba(99,102,241,.13); border:1px solid rgba(99,102,241,.28);
    border-radius:999px; padding:1px 7px; white-space:nowrap; cursor:help;
  }

  /* Setas de variação (badge-pill), usadas em quase toda página com comparativo mês a mês */
  .var, .var-up, .var-down, .var-flat{
    display:inline-block; font-size:.72rem; font-weight:700; margin-top:2px;
    padding:1px 8px; border-radius:999px;
  }
  .var-up{ background:rgba(22,163,74,.12); color:#16a34a; }
  .var-down{ background:rgba(220,38,38,.12); color:#dc2626; }
  .var-flat{ background:rgba(156,163,175,.15); color:#7c8592; }
  .linha-total .var-up, .linha-total .var-down, .linha-total .var-flat,
  tr.tot .var-up, tr.tot .var-down, tr.tot .var-flat{ background:rgba(255,255,255,.2); color:#fff; }

  /* Cabeçalho escuro de "card de mês" (clientes.php, rh.php) */
  .card-header-mes{
    background:var(--torqueti-dark); color:#fff; font-weight:700;
    padding:.7rem 1.1rem; border-radius:var(--radius) var(--radius) 0 0; font-size:.95rem;
  }

  /* Tabela de lista simples (clientes.php, rh.php, pdv.php) */
  .tabela-lista th{ background:#f1f2f4; color:#475062; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
  .tabela-lista td{ font-size:.92rem; }
  .tabela-lista .linha-tot td{ background:#fff3ea; }

  /* Seções tituladas dentro de uma página (dashboard*.php) */
  .secao-titulo{
    display:flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.06em; color:#5b6675; margin:1.6rem 0 .7rem .1rem;
  }
  .secao-titulo:first-of-type{ margin-top:0; }
  .secao-titulo .ico{ font-size:1rem; }
  .secao-titulo::after{ content:''; flex:1; height:1px; background:#e3e7ee; margin-left:.5rem; }
  .secao-laranja{ color:var(--torqueti-orange); }
  .secao-azul{ color:#0ea5e9; }
  .secao-roxo{ color:var(--torqueti-purple); }
  .secao-vermelho{ color:#dc2626; }

  /* Cards de KPI com acento colorido no topo + leve elevação ao passar o mouse */
  .kpi-card{ border-top:3px solid transparent; transition:transform .15s ease, box-shadow .15s ease; }
  .kpi-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(16,24,40,.08); }
  .kpi-card.kpi-laranja{ border-top-color:var(--torqueti-orange); }
  .kpi-card.kpi-azul{ border-top-color:#0ea5e9; }
  .kpi-card.kpi-roxo{ border-top-color:var(--torqueti-purple); }
  .kpi-card.kpi-vermelho{ border-top-color:#dc2626; }
  .kpi-rodape{ font-size:.8rem; margin-top:.35rem; }

  h1.h4{ font-weight:700; letter-spacing:-.02em; }

  .dep-ico{
    display:inline-flex; align-items:center; justify-content:center;
    width:1.7rem; height:1.7rem; border-radius:7px;
    background:#fff3ea; margin-right:.5rem; font-size:.95rem; flex-shrink:0;
  }

  /* Botão de menu (hambúrguer) — só aparece em mobile, fixo no topo */
  .mobile-menu-btn{
    display:none; position:fixed; top:.65rem; left:.65rem; z-index:1001;
    width:44px; height:44px; border-radius:10px; border:none;
    background:var(--torqueti-dark); color:#fff; font-size:1.3rem; line-height:1;
    align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,.3);
  }
  .mobile-menu-btn:active{ background:var(--torqueti-dark-2); }

  /* Fundo escurecido atrás do menu aberto — toca nele pra fechar */
  .sidebar-overlay{
    display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:999;
  }
  .sidebar-overlay.aberto{ display:block; }

  @media (max-width:820px){
    .mobile-menu-btn{ display:flex; }

    /* O menu vira uma gaveta: fica fora da tela por padrão, sem reduzir a
       largura nem esconder os textos — quando abre, é IDÊNTICO ao menu do
       desktop (ícone + rótulo), só que por cima do conteúdo. */
    .sidebar{
      position:fixed; top:0; left:0; width:270px; z-index:1000;
      transform:translateX(-100%);
      transition:transform .25s ease;
    }
    .sidebar.aberto{ transform:translateX(0); box-shadow:4px 0 24px rgba(0,0,0,.35); }

    /* Espaço reservado no topo do conteúdo pro botão hambúrguer não cobrir nada */
    .conteudo{ padding-top:3.6rem; }
    .conteudo .container-fluid:first-child{ padding-top:0; }

    /* Área de toque confortável em botões e campos — só em mobile, não muda o desktop */
    .btn-sm{ min-height:38px; padding-top:.4rem; padding-bottom:.4rem; }
    .btn:not(.btn-sm){ min-height:44px; }
    .form-select, .form-control{ min-height:42px; }
  }

  @media (max-width:420px){
    .sidebar{ width:82vw; }
  }

/* Visual compartilhado: navegação, indicadores, formulários e relatórios. */
:root {
  --torqueti-dark:#182230;
  --torqueti-dark-2:#202d3e;
  --torqueti-orange:#f56616;
  --torqueti-purple:#5955c9;
  --bg:#f4f6f9;
  --radius:14px;
  --card-shadow:0 2px 6px rgba(16,24,40,.035),0 8px 24px rgba(16,24,40,.025);
  --border:#e1e6ed;
  --text-muted:#627086;
}
body { min-height:100vh; color:#202c3d; line-height:1.55; }
a, button, input, select, summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #b94a00; outline-offset:3px; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:1100; padding:.75rem 1rem; background:#fff; color:#182230; border-radius:8px; }
.skip-link:focus { top:1rem; }
.layout { min-height:100vh; }
.conteudo { width:0; }
.conteudo:focus { outline:none; }
.conteudo > .container-fluid { padding:2rem !important; }
h1.h4 { font-size:1.65rem; font-weight:750; letter-spacing:-.045em; line-height:1.25; }
h2.h5, h2.h6 { font-weight:700; letter-spacing:-.025em; }
.text-muted { color:var(--text-muted) !important; }
.page-eyebrow { color:#96502a; font-size:.68rem; font-weight:750; letter-spacing:.14em; margin-bottom:.55rem; }
.sidebar { width:256px; flex:0 0 256px; height:100vh; height:100dvh; background:var(--torqueti-dark); box-shadow:none; border-right:1px solid #253348; }
.sidebar .brand { padding:1.5rem 1.25rem 1rem; flex-shrink:0; }
.sidebar .brand-logo-box { border-radius:10px; padding:.75rem; box-shadow:none; }
.sidebar .brand-logo { max-width:156px; }
.sidebar .brand-sub { color:#ffad7a; font-size:.62rem; letter-spacing:.15em; margin-top:.9rem; }
.sidebar-links { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:.25rem .75rem 1rem; scrollbar-width:thin; scrollbar-color:#52627a transparent; }
.sidebar .nav-sec { color:#93a4ba; padding:.6rem .75rem; font-size:.63rem; }
.sidebar a.nav-item, .sidebar summary.nav-grupo-titulo { min-height:42px; border-radius:8px; padding:.62rem .75rem; font-size:.82rem; gap:.6rem; }
.sidebar a.nav-item { border-left:0; margin-bottom:3px; color:#c6d0de; }
.sidebar summary.nav-grupo-titulo { color:#dbe2ec; font-weight:600; }
.sidebar a.nav-item.active { color:#fff; background:#344051; box-shadow:inset 3px 0 #ff792e; }
.sidebar .nav-grupo-itens a.nav-item { padding-left:2.55rem; font-size:.79rem; }
.sidebar .nav-grupo-itens a.nav-item.active { background:#344051; }
.sidebar a.nav-item:hover, .sidebar summary.nav-grupo-titulo:hover { background:#263448; }
.sidebar details.nav-grupo { border:0; margin-bottom:4px; }
.sidebar summary.nav-grupo-titulo .seta-grupo { color:#a7b7cc; }
.sidebar .nav-divisor { margin:.75rem .75rem; }
.sidebar-user { margin-top:0; padding:1rem 1.25rem; background:#141e2c; flex-shrink:0; }
.sidebar-user > div:not(.avatar) { min-width:0; }
.sidebar-user .nome { overflow-wrap:anywhere; line-height:1.4; }
.sidebar-user .papel { color:#a3b0c3; }
.sidebar-user .avatar { width:34px; height:34px; font-size:.85rem; background:#994315; }
.sidebar-user a.sair { padding:.45rem .15rem; color:#ffb485; }
.sidebar :focus-visible { outline-color:#ffc28d; }
.card, .kpi-card { border:1px solid var(--border); background:#fff; box-shadow:var(--card-shadow); }
.kpi-card { border-top-width:3px; }
.kpi-card.p-3 { padding:1.3rem !important; }
.kpi-card .kpi-label { color:#657287; font-size:.7rem; font-weight:650; letter-spacing:.045em; padding-right:1.75rem; min-height:1.5em; }
.kpi-card .kpi-ico { font-size:1.2rem; top:1rem; right:1rem; opacity:.55; }
.kpi-card .kpi-valor { margin-top:.45rem; font-size:clamp(1.1rem,1.65vw,1.8rem); font-weight:750; line-height:1.35; letter-spacing:-.055em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.kpi-rodape { margin-top:.65rem; line-height:1.5; font-size:.73rem; }
.kpi-card:hover { transform:none; box-shadow:0 5px 20px rgba(16,24,40,.07); }
.accent-orange, .secao-laranja { color:#a94309; }
.accent-azul, .secao-azul { color:#087da8; }
.secao-titulo { margin:1.8rem 0 .85rem; color:#576579; font-size:.72rem; letter-spacing:.07em; }
.secao-titulo::after { background:var(--border); }
.btn { border-radius:8px; font-size:.85rem; font-weight:600; padding:.65rem 1rem; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.btn-sm { padding:.4rem .7rem; font-size:.77rem; }
.btn-torqueti { background:#b94a00; border:1px solid #b94a00; color:#fff; box-shadow:0 2px 3px rgba(92,45,11,.1); }
.btn-torqueti:hover, .btn-torqueti:focus-visible, .btn-torqueti:active { background:#963b00 !important; border-color:#963b00 !important; color:#fff !important; }
.btn-outline-secondary { color:#46546a; border-color:#ccd4df; background:#fff; }
.btn-outline-secondary:hover { background:#edf1f6; color:#182230; border-color:#adb9c9; }
.form-label { font-size:.8rem; font-weight:650; color:#3d4b60; margin-bottom:.5rem; }
.form-control, .form-select { border:1px solid #cdd6e1; min-height:42px; color:#243246; font-size:.88rem; box-shadow:0 1px 2px rgba(16,24,40,.025); }
.form-control:focus, .form-select:focus { border-color:#bd622c; box-shadow:0 0 0 3px rgba(185,74,0,.12); }
.form-control::placeholder { color:#718095; }
.form-control-sm, .form-select-sm { min-height:36px; font-size:.8rem; }
.form-text { color:var(--text-muted); font-size:.77rem; }
.alert { border-radius:10px; line-height:1.6; font-size:.85rem; }
.pilula { border-width:1px; box-shadow:none; border-color:#d6dee8; font-size:.8rem; color:#4e5d72; }
.pilula.ativa { background:#b94a00; border-color:#b94a00; box-shadow:none; }
.pilula:hover { color:#9c4009; border-color:#c47948; }
.pilula.ativa:hover { color:#fff; }
.var-up { color:#166534; background:#e8f5ed; }
.var-down { color:#b42318; background:#feeeed; }
.var-flat { color:#566477; background:#edf1f5; }
.table { --bs-table-border-color:#e5eaf0; font-variant-numeric:tabular-nums; }
.table > :not(caption) > * > * { padding:.75rem .9rem; }
.table thead th { font-size:.75rem; font-weight:650; letter-spacing:.025em; }
.table-responsive { border-radius:var(--radius); scrollbar-width:thin; scrollbar-color:#a9b6c7 #edf1f5; }
.conteudo .tabela-mensal th, .conteudo .tabela-mensal td { padding:.65rem .7rem; font-size:.8rem; }
.conteudo .tabela-mensal .cel-valor { font-variant-numeric:tabular-nums; }
.tabela-lista th { color:#516076; background:#f5f7fa; }
.tabela-lista td { font-size:.87rem; }
.import-page { max-width:1180px; margin-left:0; }
.import-steps { display:flex; flex-wrap:wrap; gap:1.5rem; list-style:none; padding:0; margin:0 0 1.6rem; font-size:.82rem; color:#68778c; }
.import-steps li { display:flex; align-items:center; gap:.55rem; }
.import-steps li span { display:inline-flex; justify-content:center; align-items:center; width:28px; height:28px; border-radius:50%; background:#e6ebf2; color:#536278; font-weight:700; }
.import-steps [aria-current] { color:#8b3a0c; font-weight:650; }
.import-steps [aria-current] span { color:#fff; background:#b94a00; }
.import-card { max-width:820px; padding:2rem !important; }
.upload-field { background:#f8fafc; padding:1.5rem; border:1px dashed #b7c3d2; border-radius:10px; }
.upload-field input { background:#fff; }
.upload-field input::file-selector-button { color:#40516a; font-weight:600; background:#eef2f7; }
.import-note { margin-top:1.5rem; color:#5e6c81; font-size:.78rem; line-height:1.7; border-top:1px solid #e6ebf1; padding-top:1rem; }
.import-filename { overflow-wrap:anywhere; }
.import-totals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:1rem; margin-bottom:1.5rem; }
.import-totals > div { padding:1.2rem; background:#fff6ef; border:1px solid #f0dccb; border-radius:10px; }
.import-totals span { display:block; font-size:.75rem; color:#814d2e; margin-bottom:.4rem; }
.import-totals strong { font-size:clamp(1.2rem,2vw,1.65rem); letter-spacing:-.045em; color:#9c3e00; font-variant-numeric:tabular-nums; }
.import-totals .total-compras { background:#f3f2fc; border-color:#dedcf3; }
.import-totals .total-compras span, .import-totals .total-compras strong { color:#5148a8; }
.import-facts { padding:0; list-style:none; }
.import-facts li { padding:.65rem 0; border-bottom:1px solid #edf0f4; font-size:.85rem; color:#4c5b70; }
.import-facts strong { color:#28364a; font-weight:600; }
.import-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.mobile-bar { display:none; }
.login-page { background:#182230; display:flex; min-height:100vh; min-height:100dvh; align-items:center; justify-content:center; padding:1.25rem; }
.login-card { background:#fff; border:1px solid #e3e7ed; border-top:4px solid #f56616; border-radius:16px; padding:2.4rem; width:100%; max-width:420px; box-shadow:0 24px 64px #0003; }
.login-card .brand-logo { display:block; width:70%; max-width:220px; height:auto; margin:0 auto 1rem; }
.login-card .subtitle { text-align:center; color:#6a7586; font-size:.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-bottom:2rem; }
.login-card h1 { font-size:1.6rem; font-weight:700; letter-spacing:-.04em; }
.login-description { font-size:.85rem; color:#657287; margin-bottom:1.75rem; }
.login-card .btn { width:100%; min-height:46px; }
@media (min-width:1600px) {
  .conteudo > .container-fluid { padding:2.5rem !important; }
}
@media (max-width:820px) {
  .conteudo { padding-top:4.8rem; }
  .conteudo > .container-fluid { padding:1rem !important; }
  h1.h4 { font-size:1.4rem; }
  .mobile-bar { display:flex; align-items:center; height:64px; position:fixed; top:0; left:0; right:0; z-index:998; padding-left:4.3rem; background:#fff; border-bottom:1px solid var(--border); color:#253247; font-size:.78rem; font-weight:750; letter-spacing:.05em; }
  .mobile-bar-detail { color:#a94309; }
  .mobile-menu-btn { top:10px; left:12px; box-shadow:none; border:1px solid #dce3ec; background:#fff; color:#243246; }
  .menu-aberto { overflow:hidden; }
  .menu-aberto .mobile-menu-btn { background:#fff; color:#253247; font-size:1.8rem; }
  .sidebar { width:280px; max-width:86vw; }
  .sidebar .brand { padding-top:4.3rem; }
  .sidebar a.nav-item, .sidebar summary.nav-grupo-titulo { min-height:44px; }
  .sidebar-user a.sair { min-height:44px; display:flex; align-items:center; }
  .kpi-card.p-3 { padding:1rem !important; }
  .kpi-card .kpi-valor { font-size:1.35rem; }
  .conteudo .tabela-mensal th, .conteudo .tabela-mensal td { font-size:.76rem; padding:.55rem .45rem; }
  .conteudo .tabela-mensal .col-nome { font-size:.72rem; }
  .import-card { padding:1.25rem !important; }
  .upload-field { padding:1rem; }
  .import-steps { gap:.75rem 1rem; font-size:.75rem; }
  .import-actions .btn { flex:1 1 220px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media print {
  .sidebar, .mobile-bar, .mobile-menu-btn, .sidebar-overlay, .skip-link { display:none !important; }
  .conteudo { width:100%; padding:0; }
  .conteudo > .container-fluid { padding:0 !important; }
  .card, .kpi-card { box-shadow:none; }
  .table-responsive { overflow:visible; }
}
