/* =========================================================
   Rubra CRM — Tokens de tema (claro/escuro)
   Camada: theme
   ========================================================= */

:root {
  --red-50:  #FEF2F2;
  --red-100: #FEE2E2;
  --red-500: #DC2626;
  --red-600: #B91C1C;
  --red-700: #991B1B;

  --bg:            #F6F5F4;
  --surface:       #FFFFFF;
  --surface-2:     #FAF9F8;
  --border:        #E7E4E1;
  --border-strong: #D6D2CE;

  --text:       #17161A;
  --text-muted: #6B6862;
  --text-dim:   #8F8B85;

  --accent:       var(--red-500);
  --accent-hover: var(--red-600);
  --accent-soft:  var(--red-50);
  --accent-ring:  rgba(220, 38, 38, 0.18);

  --good: #16A34A; --good-soft: #E7F6EC;
  --warn: #D97706; --warn-soft: #FDF3E1;
  --bad:  #DC2626; --bad-soft:  #FDECEC;
  --info: #2563EB; --info-soft: #E7EEFB;

  --shadow-sm: 0 1px 2px rgba(20, 18, 15, 0.04), 0 1px 1px rgba(20, 18, 15, 0.03);
  --shadow-md: 0 4px 14px rgba(20, 18, 15, 0.06), 0 2px 4px rgba(20, 18, 15, 0.04);

  --radius:    10px;
  --radius-sm: 6px;

  --sidebar-w: 232px;
  --topbar-h:  56px;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg:            #0E0D10;
    --surface:       #17161B;
    --surface-2:     #1D1C22;
    --border:        #2A2830;
    --border-strong: #3A3843;

    --text:       #F1EEEA;
    --text-muted: #A9A49C;
    --text-dim:   #7B776F;

    --accent:       #EF4444;
    --accent-hover: #F87171;
    --accent-soft:  rgba(239, 68, 68, 0.12);
    --accent-ring:  rgba(239, 68, 68, 0.35);

    --good: #4ADE80; --good-soft: rgba(74, 222, 128, 0.12);
    --warn: #FBBF24; --warn-soft: rgba(251, 191, 36, 0.12);
    --bad:  #F87171; --bad-soft:  rgba(248, 113, 113, 0.14);
    --info: #60A5FA; --info-soft: rgba(96, 165, 250, 0.14);

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
    --shadow-md: 0 4px 14px rgba(0,0,0,0.5);
  }
}

:root[data-theme="dark"] {
  --bg:            #0E0D10;
  --surface:       #17161B;
  --surface-2:     #1D1C22;
  --border:        #2A2830;
  --border-strong: #3A3843;
  --text:       #F1EEEA;
  --text-muted: #A9A49C;
  --text-dim:   #7B776F;
  --accent:       #EF4444;
  --accent-hover: #F87171;
  --accent-soft:  rgba(239, 68, 68, 0.12);
  --accent-ring:  rgba(239, 68, 68, 0.35);
  --good: #4ADE80; --good-soft: rgba(74, 222, 128, 0.12);
  --warn: #FBBF24; --warn-soft: rgba(251, 191, 36, 0.12);
  --bad:  #F87171; --bad-soft:  rgba(248, 113, 113, 0.14);
  --info: #60A5FA; --info-soft: rgba(96, 165, 250, 0.14);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 14px rgba(0,0,0,0.5);
}

:root[data-theme="light"] {
  --bg:            #F6F5F4;
  --surface:       #FFFFFF;
  --surface-2:     #FAF9F8;
  --border:        #E7E4E1;
  --border-strong: #D6D2CE;
  --text:       #17161A;
  --text-muted: #6B6862;
  --text-dim:   #8F8B85;
  --accent:       #DC2626;
  --accent-hover: #B91C1C;
  --accent-soft:  #FEF2F2;
  --accent-ring:  rgba(220, 38, 38, 0.18);
  --good: #16A34A; --good-soft: #E7F6EC;
  --warn: #D97706; --warn-soft: #FDF3E1;
  --bad:  #DC2626; --bad-soft:  #FDECEC;
  --info: #2563EB; --info-soft: #E7EEFB;
  --shadow-sm: 0 1px 2px rgba(20, 18, 15, 0.04), 0 1px 1px rgba(20, 18, 15, 0.03);
  --shadow-md: 0 4px 14px rgba(20, 18, 15, 0.06), 0 2px 4px rgba(20, 18, 15, 0.04);
}

* { box-sizing: border-box; }

html, body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body { min-height: 100vh; margin: 0; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
