/* Dr Hoàng Tuấn — App Bốc Thăm KM Tháng 9
   Brand v1.2: Tím #6F2DA8 + Cam #F48220 + Vàng #FFC107 + Đỏ lễ hội */

:root {
  --brand-primary: #6F2DA8;
  --brand-primary-dark: #4A1F70;
  --brand-primary-darker: #2C0F49;
  --brand-primary-light: #9B59B6;
  --brand-primary-soft: #EFE4F7;
  --brand-primary-bg: #FAF8FC;

  --brand-gold: #FFC107;
  --brand-gold-strong: #E0A800;
  --brand-gold-light: #FFE5A0;

  --gala-gold: #E6B23C;
  --gala-gold-glow: rgba(230, 178, 60, 0.6);

  --brand-orange: #F48220;
  --brand-orange-light: #FCB679;

  --festive-red: #C0392B;
  --festive-red-soft: #FBEAE7;

  --bg: #FAF8FC;
  --surface: #FFFFFF;
  --surface-2: #F4EEFB;

  --text-primary: #212F3D;
  --text-secondary: #566573;
  --text-muted: #8A93A0;
  --text-invert: #FFFFFF;

  --success: #1E8449;
  --success-soft: #E6F4EC;
  --warning: #B7791F;
  --warning-soft: #FEF3C7;
  --danger: #C0392B;
  --danger-soft: #FBEAE7;

  --border: #E5E7EB;
  --border-strong: #D1D5DB;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

  --shadow-sm: 0 1px 2px rgba(28, 22, 45, 0.06);
  --shadow-md: 0 4px 12px rgba(28, 22, 45, 0.08);
  --shadow-lg: 0 12px 32px rgba(28, 22, 45, 0.14);
  --shadow-gold: 0 8px 24px rgba(230, 178, 60, 0.35);
  --shadow-purple: 0 12px 32px rgba(111, 45, 168, 0.25);

  --font-sans: 'Calibri', 'Segoe UI', 'Roboto', system-ui, -apple-system, sans-serif;
  --font-display: 'Playfair Display', 'Calibri', serif;

  --tabular: 'tnum' 1, 'lnum' 1;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  font-family: var(--font-sans);
  color: var(--text-primary);
  background: var(--bg);
  font-feature-settings: var(--tabular);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, select, textarea { font-family: inherit; font-size: 16px; }
img { max-width: 100%; display: block; }

.num { font-variant-numeric: tabular-nums; }

/* Screen reader only */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
