/* ═══════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════ */
/* Garante que o app não vaze horizontalmente em nenhum tamanho */
.screen-app.active{overflow-x:hidden}

@media(max-width:900px){
  .auth-screen.active{grid-template-columns:1fr}.auth-l{display:none}
  .lp-hero-inner{grid-template-columns:1fr;gap:2rem}
  .lp-nav-links a:not(.btn){display:none}
  .lp-pg,.lp-tg{grid-template-columns:1fr}.lp-fg{grid-template-columns:1fr}.lp-prg{grid-template-columns:1fr}
  .lp-float{display:none}
  .lp-float-mobile{display:flex}
  .app-sidebar{transform:translateX(-100%)}.app-sidebar.open{transform:translateX(0)}
  .side-ov.open{display:block}.app-mob{display:flex}
  .app-main{margin-left:0;padding:1rem;padding-top:3.8rem;overflow-x:hidden}
  .desktop-only{display:none!important}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .bot-grid{grid-template-columns:1fr}
  .right-col{min-width:0;width:100%}
  .app-top{flex-direction:column;align-items:flex-start;gap:.7rem}
  .app-top-r{width:100%;justify-content:space-between;flex-wrap:wrap}
  .cats-grid{grid-template-columns:1fr}
  .rel-cards{grid-template-columns:1fr}
  .rel-charts{grid-template-columns:1fr}
  .lanc-table{font-size:.75rem}
  .lanc-table th,.lanc-table td{padding:.5rem .3rem}
}
@media(max-width:600px){
  /* Tabela vira cards */
  .lanc-table thead{display:none}
  .lanc-table tbody{display:flex;flex-direction:column;gap:.6rem}
  .lanc-table tr{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto;
    gap:.25rem .5rem;
    background:var(--bg);
    border:1px solid var(--border-light);
    border-radius:10px;
    padding:.75rem .85rem;
    box-shadow:0 1px 3px rgba(0,0,0,.05);
  }
  .lanc-table tr:hover{background:var(--bg)}
  /* Tipo — linha inteira */
  .lanc-table td:nth-child(1){grid-column:1/3}
  /* Descrição — linha inteira */
  .lanc-table td:nth-child(2){grid-column:1/3;font-size:.88rem}
  /* Categoria + Data — lado a lado */
  .lanc-table td:nth-child(3){grid-column:1/2}
  .lanc-table td:nth-child(4){grid-column:2/3;text-align:right}
  /* Valor + Ações — lado a lado */
  .lanc-table td:nth-child(5){grid-column:1/2;font-size:.95rem}
  .lanc-table td.lanc-actions{grid-column:2/3;display:flex;justify-content:flex-end;align-items:center}
  /* Label acima do valor das células menores */
  .lanc-table td[data-label]::before{
    content:attr(data-label);
    display:block;
    font-size:.65rem;
    font-weight:600;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:2px;
  }
  /* Tipo e Descrição não precisam de label */
  .lanc-table td:nth-child(1)::before,
  .lanc-table td:nth-child(2)::before{display:none}
  .lanc-table td{border:none;padding:0;vertical-align:top}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .limit-info{gap:1rem}

  /* Lançamentos — header responsivo */
  .lanc-top{flex-direction:column;align-items:stretch;gap:.6rem}
  .lanc-top h2{font-size:1.1rem}
  .lanc-top-actions{width:100%;gap:.4rem}
  .lanc-filters{flex:1;gap:.4rem}
  .lanc-filter{flex:1;text-align:center;padding:.4rem .3rem;font-size:.75rem}
  .lanc-top .btn-sm{white-space:nowrap;flex-shrink:0}

  /* Previne overflow horizontal nos cards do dashboard */
  .tx-item{min-width:0}
  .tx-val{min-width:0;flex-shrink:0}
  .tx-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cat-item{min-width:0}
  .cat-vl{min-width:0;flex-shrink:0}
  .cat-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ch-bars{padding:0}
}
