.card, .kpi-card, .content, .form-row > *, .form-row-3 > * { min-width: 0; }
.layout { height: 100dvh; }
.table-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
.table-scroll:focus-visible { outline: 2px solid var(--green); }
#rel-equilibrio p { font-size: 13px; line-height: 1.5; }
#rel-equilibrio input { display: block; width: 100%; box-sizing: border-box; padding: 10px; margin-top: 6px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); }
#equilibrio-resultado { white-space: pre-line; line-height: 1.7; margin-top: 16px; }
#rel-dre-corpo > div div { gap: 12px; }
#rel-dre-corpo span:last-child { flex-shrink: 0; }
#rel-dre-corpo span:first-child { overflow-wrap: anywhere; }
@media (min-width: 769px) and (max-width: 1100px) {
  .layout { grid-template-columns: 210px minmax(0, 1fr); }
  .content { padding: 16px; }
  .grid-2-1, .grid-2 { grid-template-columns: minmax(0, 1fr); }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .topbar { flex-wrap: wrap; }
  .topbar-left { min-width: 0; overflow-wrap: anywhere; }
  .topbar-right { flex-wrap: wrap; }
  .btn, .nav-item, .modal-close, .btn-menu { min-height: 44px; }
  input, select, textarea, .toolbar-right input, .toolbar-right select,
  #page-relatorios input { font-size: 16px !important; min-height: 44px; max-width: 100%; box-sizing: border-box; }
  .modal { max-height: 90dvh; }
  .modal-footer { flex-wrap: wrap; }
  .page-header { flex-wrap: wrap; }
  #page-relatorios > .page-header + div { flex-wrap: wrap; }
  .content [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
  .kpi-value { overflow-wrap: anywhere; }
  .login-box { padding: 24px; }
}
