/* MorFM V2 — Premium Master Design Tokens */
:root {
  /* Color Palette - Dark & Modern Commercial Radio Theme */
  --morfm-bg: #09090b;
  --morfm-surface-0: #121215;
  --morfm-surface-1: #18181c;
  --morfm-surface-2: #222228;
  --morfm-surface-elevated: #282830;

  --morfm-border: #2a2a32;
  --morfm-border-subtle: #1f1f24;

  --morfm-text: #f4f4f6;
  --morfm-text-muted: #a1a1aa;
  --morfm-text-subtle: #71717a;

  /* Accent & Primary Branding Colors */
  --morfm-primary: #8b5cf6;       /* Vibrant Mor Purple */
  --morfm-primary-hover: #7c3aed;
  --morfm-accent: #ec4899;        /* MorFM Pink Glow */

  /* Status Colors */
  --morfm-success: #10b981;
  --morfm-warning: #f59e0b;
  --morfm-danger: #ef4444;
  --morfm-info: #06b6d4;

  /* VIP Gold Accents */
  --morfm-vip-gold: #f59e0b;
  --morfm-vip-gold-gradient: linear-gradient(135deg, #fbbf24 0%, #d97706 100%);
  --morfm-vip-emerald-gradient: linear-gradient(135deg, #34d399 0%, #059669 100%);
  --morfm-vip-diamond-gradient: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);

  /* Typography — readable, platform-safe scale */
  --morfm-font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --morfm-font-xs: 12px;
  --morfm-font-sm: 13px;
  --morfm-font-base: 14px;
  --morfm-font-md: 16px;
  --morfm-font-lg: 18px;
  --morfm-font-xl: 22px;
  --morfm-font-2xl: 28px;
  --morfm-line-tight: 1.25;
  --morfm-line-ui: 1.35;
  --morfm-line-base: 1.5;
  --morfm-line-relaxed: 1.6;

  /* Elevation Shadows */
  --morfm-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --morfm-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.4);
  --morfm-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.6), 0 4px 6px -2px rgba(0, 0, 0, 0.5);
  --morfm-shadow-glow: 0 0 20px rgba(139, 92, 246, 0.35);

  /* Radius */
  --morfm-radius-sm: 6px;
  --morfm-radius-md: 10px;
  --morfm-radius-lg: 16px;
  --morfm-radius-full: 9999px;
}

html {
  font-size: 16px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--morfm-bg);
  color: var(--morfm-text);
  font-family: var(--morfm-font-family);
  margin: 0;
  padding: 0;
  font-size: var(--morfm-font-base);
  line-height: var(--morfm-line-base);
  -webkit-font-smoothing: antialiased;
}

/* Global DJ Desk launcher — visible only when the server renders it for DJ role. */
.morfm-nav .morfm-dj-desk-link{
  display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:10px;
  color:#fff;background:linear-gradient(135deg,rgba(124,58,237,.24),rgba(219,39,119,.18));
  border:1px solid rgba(196,181,253,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  font-weight:800;text-decoration:none;
}
.morfm-nav .morfm-dj-desk-link:hover{
  background:linear-gradient(135deg,rgba(124,58,237,.38),rgba(219,39,119,.30));
  border-color:rgba(216,180,254,.45);transform:translateY(-1px);
}


/* MorFM global typography baseline */
body, button, input, select, textarea {
  font-family: var(--morfm-font-family);
}
button, input, select, textarea {
  font-size: var(--morfm-font-base);
  line-height: var(--morfm-line-ui);
}
p, li, dd, dt, label {
  line-height: var(--morfm-line-base);
}
small, .text-xs, .morfm-caption, .morfm-meta {
  font-size: var(--morfm-font-xs);
  line-height: var(--morfm-line-ui);
}
.morfm-btn, .morfm-nav a, .morfm-user-menu a, .morfm-user-menu button {
  font-size: var(--morfm-font-base);
  line-height: var(--morfm-line-ui);
}
.morfm-card h3, .morfm-panel h3 {
  line-height: var(--morfm-line-tight);
}
