/* Radio LiSa shared cross-browser foundation */
:root {
  --site-bg: #07111f;
  --site-surface: #0d1c30;
  --site-surface-raised: #132740;
  --site-line: rgba(159, 201, 235, .18);
  --site-text: #eef6ff;
  --site-muted: #91a8c0;
  --site-accent: #58b9ff;
  --site-success: #58d7b0;
  --site-danger: #ff7185;
  --site-radius: 12px;
  --site-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

html { min-width: 320px; background: var(--site-bg); }
*, *::before, *::after { box-sizing: border-box; }
body {
  min-width: 320px;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--site-text);
  background-color: var(--site-bg);
  text-rendering: optimizeLegibility;
}
img, video, canvas, svg { max-width: 100%; height: auto; }
button, input, select, textarea { max-width: 100%; font: inherit; }
button, [role="button"], a { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
a { color: var(--site-accent); }
:focus-visible { outline: 3px solid rgba(244, 201, 107, .85); outline-offset: 2px; }

.site-surface,
.dashboard-card,
.admin-card,
.sidebar-card,
.auth-box {
  border-color: var(--site-line);
  box-shadow: var(--site-shadow);
}

@media (max-width: 900px) {
  .main-content, .container, .page-container, main { max-width: 100%; }
  table { max-width: 100%; }
}

@media (max-width: 600px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(1.45rem, 7vw, 2rem); }
  h2 { font-size: clamp(1.2rem, 6vw, 1.7rem); }
  .main-content, .container, .page-container, main { width: 100%; padding-left: 12px; padding-right: 12px; }
  button, input, select, textarea { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
