/* Zaggify — responsive layout */
@media (max-width: 1100px) {
  .overview-top { grid-template-columns: 1fr; }
  .score-card { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 20px; }
  .ring-legend { max-width: 320px; margin: 0; }
}
@media (max-width: 900px) {
  .shell { display: block; }
  .topbar { display: flex; align-items: center; gap: 8px; position: sticky; top: 0; z-index: 50; background: var(--surface); border-bottom: 1px solid var(--line); padding: 8px 12px; padding-top: max(8px, env(safe-area-inset-top)); }
  .brand-mini { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ink); text-decoration: none; margin-right: auto; }
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; z-index: 70; height: 100%; overflow-y: auto; width: min(290px, 86vw); transform: translateX(-100%); transition: transform .2s ease; box-shadow: 10px 0 30px rgba(0, 0, 0, .15); }
  .sidebar.open { transform: none; }
  .scrim { position: fixed; inset: 0; background: rgba(9, 17, 28, .55); z-index: 65; }
  .main { padding: 18px 14px 96px; }
  .tabs { top: 57px; }
  .grid.two, .grid.three, .guide { grid-template-columns: 1fr; }
  .dash-stats { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .stat { padding: 10px; }
  .stat-num { font-size: 1.4rem; }
}
@media (max-width: 640px) {
  table.data { min-width: 680px; }
  table.data td.url { min-width: 170px; }
  body { font-size: 14.5px; }
  .url-row { flex-direction: column; }
  .url-row .btn { width: 100%; }
  .segmented { width: 100%; }
  .segmented label { flex: 1; text-align: center; }
  .scan-controls .inline-field { width: 100%; justify-content: space-between; }
  .adv-grid { grid-template-columns: 1fr; }
  .adv-grid .checks { grid-column: auto; }
  .dash-stats { grid-template-columns: 1fr; }
  .live-stats { grid-template-columns: 1fr 1fr; }
  .scan-head { gap: 12px; }
  .scan-head img { width: 44px; height: auto; }
  .report-actions { width: 100%; justify-content: stretch; }
  .report-actions input[type=search] { max-width: none !important; flex-basis: 100%; }
  .report-actions .btn { flex: 1; }
  .issue > summary { grid-template-columns: 1fr auto; }
  .issue > summary .sev { grid-column: 1 / -1; justify-self: start; }
  .kv { grid-template-columns: 1fr; }
  .kv dt { border-bottom: 0; padding-bottom: 0; }
  .bar-row { grid-template-columns: 90px 1fr 36px; }
  .priority-list li { grid-template-columns: 30px 1fr; }
  .priority-list li > :last-child { grid-column: 2; }
  .filters input[type="search"] { max-width: none; }
  .ai-fab { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 11px 14px; }
  .ai-fab span { display: none; }
  .ai-panel { width: 100vw; border-left: 0; }
  .ai-controls { grid-template-columns: 1fr 1fr; }
  .score-ring { width: 180px; height: 180px; }
  .btn { min-height: 42px; }
  .btn.sm { min-height: 34px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .tabs { position: static; }
  .ai-messages { padding: 10px 16px; }
  .ai-controls { grid-template-columns: repeat(2, 1fr); padding: 6px 16px; }
}
@media (min-width: 1600px) {
  .main { max-width: 1500px; }
}
