/* MODELO MESTRE UNIVERSAL v0.0.3 — PALETA GLOBAL OFICIAL (pedido explícito do usuário).
   Cores semânticas-base OBRIGATÓRIAS para TODOS os apps visuais/PWAs.
   NÃO mudar valores em apps particulares, exceto por autorização EXPLÍCITA do usuário,
   registrada como exceção daquele projeto. Exceção NÃO altera o padrão universal.

   Tema principal --color-primary: SEM VALOR PREDEFINIDO; configurar em cada app.
   O par --on-primary também exige seleção/contraste no projeto.

   Fonte única da verdade: TOKENS_DESIGN.css ou arquivo efetivo de tokens que o
   projeto adote formalmente; não criar um segundo :root conflitante.

   Semântica: danger=apagar/remover; success=positivo/concluído;
   warning=alerta; info=informação; action-add=criar/adicionar.
   A paleta mantém os mesmos HEX nos temas claro e escuro; superfícies,
   transparências e texto de suporte se adaptam conforme o sistema.
*/

:root {
  color-scheme: light dark;

  /* Cores semânticas oficiais, HEX imutáveis sem aprovação do usuário */
  --color-danger: #E22400;
  --color-success: #34C759;
  --color-warning: #FFB501;
  --color-info: #0189FB;
  --action-add: #30BCFF;

  /* Tema principal: intencionalmente SEM valor predefinido.
     TODO APP VISUAL DEVE DEFINIR, após escolha do usuário:
        --color-primary: <cor_escolhida_no_projeto>;
        --on-primary: <cor_de_texto_com_contraste>;
     Jamais inferir --color-primary a partir das outras cinco cores. */

  /* Texto/ícone SOBRE fundo sólido das cores oficiais (verificado WCAG 4.5:1) */
  --on-danger: #FFFFFF;
  --on-success: #000000;
  --on-warning: #000000;
  --on-info: #000000;
  --on-action-add: #000000;

  /* Neutros para tema claro */
  --surface: #fbfafd;
  --surface-card: #ffffff;
  --surface-soft: rgb(69 83 121 / 8%);
  --text: #182033;
  --text-muted: #4b5568;
  --border: rgb(39 50 75 / 24%);
  --focus-ring: var(--color-info);

  /* Evitar versões arbitrárias dos HEX: usar transparência dos tokens-base */
  --tint-danger: color-mix(in srgb, var(--color-danger) 12%, transparent);
  --tint-success: color-mix(in srgb, var(--color-success) 12%, transparent);
  --tint-warning: color-mix(in srgb, var(--color-warning) 12%, transparent);
  --tint-info: color-mix(in srgb, var(--color-info) 12%, transparent);
  --tint-add: color-mix(in srgb, var(--action-add) 12%, transparent);
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Cores semânticas continuam as mesmas — NÃO redefinir os 5 HEX acima. */
    --surface: #11151f;
    --surface-card: #1a2030;
    --surface-soft: rgb(255 255 255 / 6%);
    --text: #f1f3fa;
    --text-muted: #b8c1d4;
    --border: rgb(225 232 245 / 25%);
    --focus-ring: var(--color-info);

    --tint-danger: color-mix(in srgb, var(--color-danger) 16%, transparent);
    --tint-success: color-mix(in srgb, var(--color-success) 15%, transparent);
    --tint-warning: color-mix(in srgb, var(--color-warning) 14%, transparent);
    --tint-info: color-mix(in srgb, var(--color-info) 15%, transparent);
    --tint-add: color-mix(in srgb, var(--action-add) 15%, transparent);
  }
}

/* Exemplo de componente: .button--danger {
     background: var(--color-danger); color: var(--on-danger);
   }
   .button--add { background: var(--action-add); color: var(--on-action-add); }

   Os tokens semânticos puros podem NÃO ter contraste como TEXTO sobre
   superfícies brancas/escuras. Para textos, usar --text e o fundo semântico,
   ou outro tratamento de legibilidade aprovado, sem mudar o HEX-base.
   Testar especialmente vidro/transparência e modo escuro.
*/

/* Cor principal PROVISÓRIA de implementação, ainda não aprovada como identidade definitiva. */
:root{--color-primary:#34455f;--on-primary:#ffffff}
@media(prefers-color-scheme:dark){:root{--color-primary:#8396bd;--on-primary:#111923}}

/* V0.3.0 — hierarquia visual; tokens auxiliares específicos do Gerenciador de Matrizes.
   A paleta semântica oficial do MMU acima permanece INALTERADA.
   Primary mantém o valor provisório original deste PWA. */
:root{
  --app-backdrop:#f0f3fa;
  --surface-header:#edf3ff;
  --surface-overview:#e9eef8;
  --surface-browser:#f8faff;
  --surface-browser-tools:#eef3ff;
  --surface-reader:#fffefb;
  --surface-reader-head:#f5f0fc;
  --surface-search:#ffffff;
  --surface-file:#ffffff;
  --surface-file-hover:#f0f3ff;
  --surface-file-active:#e8eaff;
  --surface-category:#f5f3fb;
  --surface-category-active:#66549e;
  --on-category-active:#ffffff;
  --accent-category:#66549e;
  --accent-document:#276e86;
  --accent-record:#7a59a3;
  --accent-success-text:#196c43;
  --accent-warning-text:#795500;
  --border-ui:#c8d4e7;
  --border-soft:#dde5f1;
  --border-focus:#8c7ec5;
  --text-secondary:#516078;
  --shadow-quiet:0 7px 24px rgb(30 55 96 / 5%);
}
@media(prefers-color-scheme:dark){
  :root{
    --app-backdrop:#0e1421;
    --surface-header:#19273c;
    --surface-overview:#1a273b;
    --surface-browser:#152137;
    --surface-browser-tools:#1b2b45;
    --surface-reader:#202530;
    --surface-reader-head:#302940;
    --surface-search:#24324c;
    --surface-file:#1c2940;
    --surface-file-hover:#253657;
    --surface-file-active:#35335e;
    --surface-category:#2a3046;
    --surface-category-active:#c4afff;
    --on-category-active:#211d39;
    --accent-category:#c4afff;
    --accent-document:#86d6e3;
    --accent-record:#d4b1f2;
    --accent-success-text:#9bf1c6;
    --accent-warning-text:#ffe19c;
    --border-ui:#43536e;
    --border-soft:#313e56;
    --border-focus:#b4a9ff;
    --text-secondary:#bec9de;
    --shadow-quiet:none;
  }
}
