/* Responsive executive dashboard: dense desktop, touch-friendly mobile. */
body, .auth-container { min-height: 100svh; }
#dashboard-scene { max-width: 1800px; margin-inline: auto; }
.master-header { flex-wrap: wrap; gap: 20px; border-radius: 20px; }
.header-actions { flex-wrap: wrap; }
.telemetry-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card, .panel-card, .header-brand, .form-grid > * { min-width: 0; }
.metric-value { font-variant-numeric: tabular-nums; }
.btn { min-height: 44px; touch-action: manipulation; }
input, select, textarea { max-width: 100%; }
:is(button, a, input, select, textarea):focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.modal-card { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 1100px) { .telemetry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  #dashboard-scene { padding: 16px max(12px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .auth-container { padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
  .auth-card { border-radius: 24px; padding: 28px 20px; }
  .master-header { padding: 16px; }
  .header-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .telemetry-grid { gap: 10px; }
  .metric-card { flex-direction: column; align-items: flex-start; padding: 16px; }
  .metric-value { font-size: 1.4rem; }
  .secret-text-box code { word-break: break-all; }
  .modal-backdrop { padding: 10px; align-items: center; }
  .modal-card { width: 100%; border-radius: 22px; max-height: calc(100dvh - 20px); }
  input, select, textarea { font-size: 16px !important; min-height: 48px; }
}
@media (max-width: 360px) { .telemetry-grid, .header-actions { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
