/* ==================== Tokens Seller Core ====================
   Carregado antes de base.css, apps.css e admin.css. Os nomes legados
   (--rpc-*, --primary-color…) são aliases dos tokens --sc-*, para que regra
   nenhuma que dependa deles quebre. O tema escuro redefine só os --sc-* e o
   semáforo; os aliases acompanham sozinhos. */
:root {
  /* superfícies */
  --sc-page: #F6F7FC; --sc-card: #FFFFFF; --sc-input: #FBFBFE; --sc-hover: #F8F9FE;
  --sc-header: rgba(255, 255, 255, .86);
  /* linhas */
  --sc-line: #EEF0F8; --sc-border: #E9EAF4; --sc-input-border: #E2E4F1; --sc-row-line: #F0F1F8; --sc-dashed: #D6D8E8;
  /* texto */
  --sc-heading: #15183F; --sc-ink: #1C2069; --sc-label: #2C3158; --sc-body: #3A3F63; --sc-lead: #5A5F80;
  --sc-muted: #6B7099; --sc-th: #7C81A8; --sc-faint: #9499C0;
  /* marca */
  --sc-brand: #2A2F95; --sc-cta: #3A40D1; --sc-accent: #3A40D1;
  --sc-soft: rgba(42, 47, 149, .06); --sc-soft-hover: rgba(42, 47, 149, .07);
  --sc-soft-strong: rgba(42, 47, 149, .1);
  --sc-tint: rgba(58, 64, 209, .1); --sc-ring: rgba(58, 64, 209, .14);
  --sc-shadow-card: 0 2px 14px -7px rgba(27, 30, 99, .12);
  --sc-shadow-pop: 0 26px 54px -22px rgba(27, 30, 99, .5);
  --sc-shadow-cta: 0 18px 36px -12px rgba(58, 64, 209, .85);
  /* texto de marca (tagline), sublinhado da aba ativa, ícone informativo */
  --sc-brand-text: #2A2F95; --sc-tab-line: #3A40D1; --info-icon: #3A40D1;
  /* pílula de papel "Super admin" (sólida) */
  --sc-role-super: #2A2F95;
  /* botão secundário com contorno (login/status) */
  --sc-outline-bg: var(--sc-card); --sc-outline-border: var(--sc-input-border); --sc-outline-fg: var(--sc-ink);
  /* contorno do botão suave (Cancelar): só aparece no escuro */
  --sc-soft-border: transparent;
  /* semáforo (só status) */
  --ok-fg: #17805C; --ok-bg: rgba(28, 150, 108, .10); --ok-dot: #1FA877;
  --warn-fg: #8A5D00; --warn-bg: rgba(222, 160, 24, .15); --warn-dot: #E0A21A; --warn-icon: #C08400;
  --danger-fg: #C23B4B; --danger-bg: rgba(194, 59, 75, .09); --danger-dot: #D8465A;
  --idle-fg: #6B7099; --idle-bg: #F0F1F8; --idle-dot: #A6AAC9;
  /* botão sólido de perigo: igual nos dois temas */
  --danger-solid: #C23B4B;
  /* aliases legados */
  --rpc-teal: var(--sc-cta); --rpc-brown: var(--sc-ink); --rpc-orange: var(--warn-dot);
  --rpc-bg: var(--sc-page); --rpc-card-bg: var(--sc-card); --rpc-border: var(--sc-border); --rpc-shadow: var(--sc-shadow-card);
  --primary-color: var(--sc-cta); --primary-hover: var(--sc-brand);
  --danger-color: var(--danger-fg); --danger-hover: var(--danger-fg);
  --text-primary: var(--sc-ink); --text-secondary: var(--sc-muted); --text-tertiary: var(--sc-faint);
  --border-color: var(--sc-border); --bg-page: var(--sc-page); --bg-white: var(--sc-card); --bg-overlay: rgba(17, 20, 58, .55);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --sc-page: #0E1030; --sc-card: #161945; --sc-input: #11143A; --sc-hover: #1B1F52; --sc-header: rgba(20, 23, 64, .84);
  --sc-line: #252A62; --sc-border: #2A2F6B; --sc-input-border: #343A7E; --sc-row-line: #20245A; --sc-dashed: #3A3F85;
  --sc-heading: #F2F3FF; --sc-ink: #E6E8FF; --sc-label: #D3D6F5; --sc-body: #C9CCEF; --sc-lead: #A9ADD8;
  --sc-muted: #9498CC; --sc-th: #8A8FC4; --sc-faint: #7479B0;
  --sc-accent: #A9AEF7; --sc-soft: rgba(255, 255, 255, .06); --sc-soft-hover: rgba(255, 255, 255, .1); --sc-soft-strong: rgba(255, 255, 255, .13);
  --sc-tint: rgba(130, 136, 236, .16);
  --sc-brand-text: #A9AEF7; --sc-tab-line: #8288EC; --info-icon: #9CA1F5; --sc-role-super: #3A40D1;
  --sc-outline-bg: rgba(255, 255, 255, .06); --sc-outline-border: rgba(255, 255, 255, .22); --sc-outline-fg: #EAEBFB;
  --sc-soft-border: rgba(255, 255, 255, .22);
  --ok-fg: #5BD6A8; --ok-bg: rgba(91, 214, 168, .12); --ok-dot: #5BD6A8;
  --warn-fg: #F2C35A; --warn-bg: rgba(242, 195, 90, .13); --warn-dot: #F2C35A; --warn-icon: #F2C35A;
  --danger-fg: #F48A97; --danger-bg: rgba(244, 138, 151, .12); --danger-dot: #F48A97;
  --idle-fg: #9498CC; --idle-bg: rgba(255, 255, 255, .07); --idle-dot: #6E73A8;
}
