/* UseCarmen — tokens de cor.

   Fonte única de cor do app. Nenhum hex literal deve existir fora deste arquivo.
   Prefixo --uc-* é obrigatório: booking-themes.css usa --bg/--ink/--accent sem
   prefixo como API dos temas que o profissional escolhe na página pública, e
   esses dois conjuntos não podem colidir.

   Três camadas: primitivo de sinal -> apelido semântico -> uso no componente.
   A proibição é marca virar sinal (vinho nunca significa "confirmado", verde
   nunca é botão). Contextos de mesma direção semântica compartilham primitivo
   por apelidos diferentes -- --uc-status-no e --uc-error são o mesmo vermelho.

   Tema escuro (futuro): redeclarar estes mesmos nomes em
   :root[data-theme="dark"] { ... }. Nenhum componente muda. */

:root {
    /* Os pares *-rgb existem porque as utilities do Bootstrap compõem cor via
       rgba(var(--bs-...-rgb), opacity) -- sem o triplet, as classes bg, text e
       border do Bootstrap quebram. */

    /* ---- Marca ---- */
    --uc-brand: #6b1727; /* títulos, nav ativa, botão primário, toggle ligado */
    --uc-brand-hover: #55121f;
    --uc-brand-on: #ffffff; /* texto sobre --uc-brand */
    --uc-brand-rgb: 107, 23, 39; /* utilities do Bootstrap e sombras */
    --uc-action: #e95610; /* FAB, badges, sublinhado de aba, barra de destaque. Nunca em área grande nem atrás de texto pequeno */
    --uc-action-hover: #c8460c;
    --uc-action-text: #c8460c; /* laranja para texto e link -- --uc-action não tem contraste */
    --uc-action-text-rgb: 200, 70, 12;
    --uc-action-rgb: 233, 86, 16;
    --uc-highlight: #ffecaa; /* exige ação agora: avisos, chips "a confirmar". Texto sempre --uc-brand */
    --uc-attention-border: #f3dc94; /* borda de card amarelo */
    --uc-attention-border-soft: #e7d69f; /* borda de botão branco sobre amarelo */

    /* ---- Superfícies e neutros quentes ---- */
    --uc-bg: #fff6e7; /* fundo de tela */
    --uc-bg-alt: #fbf3e4; /* coluna de fim de semana */
    --uc-surface: #ffffff; /* cards */
    --uc-surface-rgb: 255, 255, 255;
    --uc-surface-raised: #fffdf7; /* cabeçalho fixo, tab bar, folha de modal */
    --uc-surface-soft: #fdf0dc; /* bloco informativo dentro de card (não exige ação) */
    --uc-surface-soft-rgb: 253, 240, 220;
    --uc-track: #f4e7d2; /* trilhas, barras neutras, tempo livre */
    --uc-line: #f0e6d6; /* divisórias e linhas de grade */
    --uc-border: #eadfc9; /* bordas, trilha de toggle desligado */
    --uc-border-strong: #e3d8c6;
    --uc-icon-inactive: #d9cbb6; /* ícone de tab inativa */

    /* ---- Tinta ---- */
    --uc-ink: #0f1217; /* texto principal, ícones */
    --uc-ink-rgb: 15, 18, 23;
    --uc-ink-2: #4a3f38; /* texto secundário */
    --uc-ink-3: #7a6a5d; /* texto de apoio, labels */
    --uc-ink-3-rgb: 122, 106, 93;
    --uc-ink-4: #a8968a; /* texto desabilitado, marcas de hora, chevrons */

    /* ---- Status do agendamento ---- */
    /* Sempre fundo suave + traço lateral de 4px. Nunca preenchimento sólido:
       sólido é território de botão. Cor nunca é o único sinal. */
    --uc-status-ok: #2f6b45; /* confirmado */
    --uc-status-ok-rgb: 47, 107, 69;
    --uc-status-ok-bg: #e6eddd;
    --uc-status-wait: #d99a1f; /* a confirmar -- único estado que reusa cor de marca no texto */
    --uc-status-wait-rgb: 217, 154, 31;
    --uc-status-wait-bg: #ffecaa;
    --uc-status-wait-text: #6b1727;
    --uc-status-no: #a8222b; /* rejeitado */
    --uc-status-no-bg: #f7e4de;
    --uc-status-no-text: #8d1c24;
    --uc-status-off: #a8968a; /* bloqueio / cancelado */
    --uc-status-off-bg: #f1eae0;
    --uc-status-off-text: #6b6158;

    /* ---- Erro (formulário, upload, falha de envio) ---- */
    /* Mesmo primitivo de --uc-status-no: mesma direção semântica, apelido próprio. */
    --uc-error: #a8222b;
    --uc-error-rgb: 168, 34, 43;
    --uc-error-bg: #f7e4de;
    --uc-error-border: #e2b6ae; /* borda de campo inválido */
    --uc-error-text: #8d1c24;

    /* ---- Desabilitado ---- */
    /* Cor explícita, nunca opacity: opacity dá resultado diferente sobre branco,
       creme e vinho. Botão primário desabilitado perde o vinho por completo. */
    --uc-disabled-bg: #f1eae0;
    --uc-disabled-ink: #a8968a;
    --uc-disabled-border: #e3d8c6;

    /* ---- Foco ---- */
    /* Só em :focus-visible, nunca em :focus. */
    --uc-focus-ring: #c8460c;
    --uc-focus-halo: rgba(233, 86, 16, 0.35);
    --uc-focus-ring-on-dark: #ffecaa; /* sobre fundo vinho ou escuro */

    /* ---- Escala de calor (5 níveis) ---- */
    /* Rampa de intensidade, não de status: nenhum nível é "bom" ou "ruim". */
    --uc-heat-1: #f4e7d2;
    --uc-heat-2: #ffecaa;
    --uc-heat-3: #fbd07a;
    --uc-heat-4: #f39442;
    --uc-heat-5: #e95610;

    /* ---- Timeline do dia ---- */
    --uc-slot-busy: #6b1727;
    --uc-slot-free: #f4e7d2;
    --uc-slot-lunch: #e3d8c6; /* indisponível, mas não é trabalho */

    /* ---- Elevação e overlay ---- */
    /* Sombra quente: rgba preta suja o fundo creme. A escala de elevação atual
       fica como está -- trocar só a base, não alpha/offset/blur. */
    --uc-overlay: rgba(15, 18, 23, 0.42);
    --uc-shadow-card: 0 8px 20px rgba(107, 23, 39, 0.08);
    --uc-shadow-fab: 0 8px 20px rgba(233, 86, 16, 0.38);
}
