/* Tokens de cor da migração visual (Tailwind CDN) — ver spec
   docs/superpowers/specs/2026-07-08-migracao-visual-tailwind-design.md.
   tailwind.config referencia estas variáveis via var(--color-x), então
   bg-background/text-foreground etc. já trocam de valor sob .dark sem
   precisar de classe dark: em cada elemento. */
:root {
    --color-primary: #5D5FEF;
    --color-primary-soft: #8B87F5;
    --color-accent: #16A34A;
    --color-destructive: #DC2626;
    --color-warning: #CA8A04;
    --color-background: #F5F7FB;
    --color-surface: #FFFFFF;
    --color-foreground: #00204A;
    --color-muted-foreground: #64748B;
    --color-border: #DEDCE6;
}

:root.dark {
    --color-primary: #8B8DFA;
    --color-primary-soft: #A5A2FC;
    --color-accent: #22C55E;
    --color-destructive: #F87171;
    --color-warning: #FACC15;
    --color-background: #0A0A0C;
    --color-surface: #131316;
    --color-foreground: #E5E7EB;
    --color-muted-foreground: #94A3B8;
    --color-border: #26262B;
}

body {
    font-family: "Source Sans 3", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Lexend", sans-serif;
}

#sidebar {
    width: 16rem;
    transition: width 150ms ease-out;
}

#sidebar.sidebar-collapsed {
    width: 5rem;
}

#sidebar.sidebar-collapsed .sidebar-label {
    display: none;
}

/* static/js/ui.js: menu lateral "sanfonado" — seções fecham/abrem pra caber
   mais itens sem rolar. No modo ícone-only (sidebar colapsado, sem
   sidebar-label pra reabrir a seção), os painéis ficam sempre visíveis
   (a classe `hidden` do Tailwind é sobrescrita aqui por especificidade). */
#sidebar.sidebar-collapsed .js-sanfona-painel.hidden {
    display: block;
}

.js-sanfona-toggle[aria-expanded="true"] .js-sanfona-seta {
    transform: rotate(180deg);
}

/* static/js/form-submit-guard.js: visual de "desabilitado" sem usar o
   atributo disabled de verdade — disabled removeria o botão do conjunto de
   campos que o navegador envia no POST (ver comentário no topo do JS). */
.js-submit-guard--enviando {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
