html, body { overflow-x: hidden; }
* { box-sizing: border-box; }
input, select, textarea, button { font-size: 16px !important; }
@media (max-width: 980px) {
  .container { padding: 14px !important; }
  .header { margin: 10px auto !important; padding: 12px !important; }
  .header .brand { width: 100%; justify-content: center; }
  .actions { width: 100%; justify-content: center; }
  .actions .btn, .actions .toggle { flex: 1 1 auto; }
  .hero-card { grid-template-columns: 1fr !important; }
  .kpi { align-items: flex-start; }
  .kpi .ring { --size: 68px !important; --thick: 8px !important; }
}
@media (max-width: 860px) {
  .toolbar, .topbar, .stack-sm { display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
  .grid, .cards, .dashboard-grid, .list, .sections { grid-template-columns: 1fr !important; }
  .card, [class*="card"] { padding: 14px !important; }
  .field .ico-abs { top: 40px !important; }
}
@media (max-width: 640px) {
  .btn, button[type="submit"] { width: 100%; }
  .actions .btn, .actions .toggle { width: calc(50% - 4px); flex: 0 0 calc(50% - 4px); }
  .quick-actions { grid-template-columns: 1fr !important; }
  .login-actions { flex-direction: column; align-items: stretch !important; gap: 8px; }
  .table-wrap { border: 0; }
  table.clean, table.clean tbody, table.clean tr, table.clean td { display:block; width:100%; }
  table.clean thead { display:none; }
  table.clean tr { margin-bottom: 10px; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:linear-gradient(180deg,var(--card-2),var(--card)); }
  table.clean td { border:0; border-bottom:1px solid var(--border); padding:10px 12px; }
  table.clean td:last-child { border-bottom:0; }
  table.clean td::before { content: attr(data-label); display:block; font-size:12px; color:var(--muted); margin-bottom:4px; }
}
