/* =============================================================================
   tokens.css — Design tokens e reset base do Account SPA
   Segue rigorosamente o mimetismo Chatwoot:
   - Dual-fallback: rgb(var(--token, var(--lv-token)))
   - Tokens --lv-* mudam via html.dark (injetado pelo theme.js)
   ============================================================================= */

:root {
  /* Paleta Slate (Light Mode) */
  --lv-slate-1:  252 252 253;
  --lv-slate-2:  249 249 251;
  --lv-slate-3:  241 242 244;
  --lv-slate-4:  234 235 238;
  --lv-slate-5:  226 227 231;
  --lv-slate-6:  217 217 224;
  --lv-slate-7:  204 205 212;
  --lv-slate-8:  178 180 188;
  --lv-slate-9:  139 141 152;
  --lv-slate-10: 128 131 141;
  --lv-slate-11: 96 100 108;
  --lv-slate-12: 28 32 36;

  /* Paleta Azul */
  --lv-blue-3:  235 244 255;
  --lv-blue-9:  39 129 246;
  --lv-blue-10: 21 116 231;
  --lv-blue-11: 8 109 224;

  /* Demais cores */
  --lv-ruby-9:  229 70 102;
  --lv-ruby-11: 202 36 77;
  --lv-teal-9:  18 165 148;
  --lv-teal-11: 0 133 115;
  --lv-amber-9:  255 197 61;
  --lv-amber-11: 171 100 0;

  /* Semantic */
  --lv-background-color: 247 247 247;
  --lv-surface-1:        254 254 254;
  --lv-card-color:       255 255 255;
  --lv-border-weak:      234 234 234;
  --lv-border-strong:    226 227 231;
}

/* --- Overrides para Dark Mode --- */
html.dark {
  --lv-slate-1:  17 17 19;
  --lv-slate-2:  24 25 27;
  --lv-slate-3:  33 34 37;
  --lv-slate-4:  39 42 45;
  --lv-slate-5:  46 49 53;
  --lv-slate-6:  54 58 63;
  --lv-slate-7:  67 72 78;
  --lv-slate-8:  90 97 105;
  --lv-slate-9:  105 110 119;
  --lv-slate-10: 119 123 132;
  --lv-slate-11: 176 180 186;
  --lv-slate-12: 237 238 240;

  --lv-blue-3:  15 39 72;
  --lv-blue-9:  39 129 246;
  --lv-blue-10: 21 116 231;
  --lv-blue-11: 126 182 255;

  --lv-ruby-9:  229 70 102;
  --lv-ruby-11: 255 148 157;
  --lv-teal-9:  18 165 148;
  --lv-teal-11: 11 216 182;
  --lv-amber-9:  255 197 61;
  --lv-amber-11: 255 202 22;

  --lv-background-color: 28 29 32;
  --lv-surface-1:        20 21 23;
  --lv-card-color:       28 30 34;
  --lv-border-weak:      31 31 37;
  --lv-border-strong:    46 45 50;
}

/* --- Reset mínimo --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body { height: 100%; }

body {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgb(var(--slate-12, var(--lv-slate-12)));
  background: rgb(var(--background-color, var(--lv-background-color)));
  -webkit-font-smoothing: antialiased;
}

[hidden] { display: none !important; }

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