/* ══════════════════════════════════════════════════════════════
   Coach do Concurseiro — Design Tokens
   Todas as cores, tipografia e espaçamentos do sistema
   Sobrescrevíveis via painel do proprietário
   ══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
  /* ── Paleta Principal ────────────────────────────────────── */
  --clr-primary:       #1B4FFF;
  --clr-primary-dark:  #0D2DB5;
  --clr-primary-light: #EEF2FF;
  --clr-secondary:     #0D1B4B;
  --clr-accent:        #F5A623;
  --clr-accent-dark:   #D4891A;

  /* ── Neutros ─────────────────────────────────────────────── */
  --clr-bg:            #F4F6FB;
  --clr-surface:       #FFFFFF;
  --clr-surface-2:     #F8FAFF;
  --clr-border:        #E2E8F0;
  --clr-border-dark:   #CBD5E1;

  /* ── Texto ───────────────────────────────────────────────── */
  --clr-text:          #1A1A2E;
  --clr-text-secondary:#64748B;
  --clr-text-light:    #94A3B8;
  --clr-text-inverse:  #FFFFFF;

  /* ── Semânticas ──────────────────────────────────────────── */
  --clr-success:       #16A34A;
  --clr-success-bg:    #F0FDF4;
  --clr-warning:       #D97706;
  --clr-warning-bg:    #FFFBEB;
  --clr-error:         #DC2626;
  --clr-error-bg:      #FEF2F2;
  --clr-info:          #2563EB;
  --clr-info-bg:       #EFF6FF;

  /* ── Sidebar ─────────────────────────────────────────────── */
  --sidebar-bg:        #0D1B4B;
  --sidebar-text:      rgba(255,255,255,0.75);
  --sidebar-text-active:#FFFFFF;
  --sidebar-item-active:rgba(27,79,255,0.35);
  --sidebar-item-hover: rgba(255,255,255,0.07);
  --sidebar-width:      256px;
  --sidebar-width-collapsed: 72px;

  /* ── Tipografia ──────────────────────────────────────────── */
  --font-title:   'Sora', sans-serif;
  --font-body:    'DM Sans', sans-serif;

  --text-xs:   0.70rem;
  --text-sm:   0.825rem;
  --text-base: 0.9375rem;
  --text-md:   1.0625rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5rem;
  --text-2xl:  1.875rem;
  --text-3xl:  2.25rem;

  --weight-light:   300;
  --weight-normal:  400;
  --weight-medium:  500;
  --weight-semi:    600;
  --weight-bold:    700;
  --weight-extra:   800;

  --leading-tight:  1.25;
  --leading-snug:   1.4;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  /* ── Espaçamento ─────────────────────────────────────────── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* ── Border Radius ───────────────────────────────────────── */
  --radius-sm:  6px;
  --radius-md:  10px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-full:9999px;

  /* ── Sombras ─────────────────────────────────────────────── */
  --shadow-xs:  0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:  0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.09);
  --shadow-lg:  0 8px 32px rgba(0,0,0,0.12);
  --shadow-xl:  0 16px 48px rgba(0,0,0,0.15);
  --shadow-primary: 0 4px 20px rgba(27,79,255,0.25);

  /* ── Transições ──────────────────────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow:   400ms ease;

  /* ── Z-index ─────────────────────────────────────────────── */
  --z-dropdown: 100;
  --z-sidebar:  200;
  --z-topbar:   300;
  --z-modal:    400;
  --z-toast:    500;
}


/* ══════════════════════════════════════════════════════════════
   Temas globais do sistema — claro/escuro
   O tema é aplicado pelo atributo html[data-theme].
   Mantém a identidade da landing page e reaproveita os tokens atuais.
   ══════════════════════════════════════════════════════════════ */
:root,
html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;

  --clr-bg:            #07111F;
  --clr-surface:       #0F172A;
  --clr-surface-2:     #111C2E;
  --clr-border:        rgba(148, 163, 184, 0.18);
  --clr-border-dark:   rgba(148, 163, 184, 0.28);

  --clr-text:          #F8FAFC;
  --clr-text-secondary:#B6C4D8;
  --clr-text-light:    #7E90AA;
  --clr-text-inverse:  #FFFFFF;

  --clr-primary-light: rgba(38, 201, 243, 0.13);
  --clr-success-bg:    rgba(22, 163, 74, 0.14);
  --clr-warning-bg:    rgba(245, 158, 11, 0.14);
  --clr-error-bg:      rgba(220, 38, 38, 0.15);
  --clr-info-bg:       rgba(37, 99, 235, 0.15);

  --sidebar-bg:        #071024;
  --sidebar-text:      rgba(226, 232, 240, 0.74);
  --sidebar-text-active:#FFFFFF;
  --sidebar-item-active: linear-gradient(90deg, rgba(27, 79, 255, 0.34), rgba(124, 58, 237, 0.18));
  --sidebar-item-hover: rgba(148, 163, 184, 0.10);

  --shadow-xs:  0 1px 2px rgba(0,0,0,0.22);
  --shadow-sm:  0 8px 26px rgba(0,0,0,0.20);
  --shadow-md:  0 14px 38px rgba(0,0,0,0.26);
  --shadow-lg:  0 22px 58px rgba(0,0,0,0.32);
  --shadow-xl:  0 30px 90px rgba(0,0,0,0.40);
}
