/*
   PescaLog — temas exclusivos do workspace autenticado.
   Nunca aplicar estes tokens fora de .app-frame: a landing e autenticação são estáveis.
*/

.app-frame {
    /* Papéis semânticos consumidos pelo workspace. */
    --pl-canvas: #f3f6f4;
    --pl-surface: #ffffff;
    --pl-surface-subtle: #f8fbfa;
    --pl-surface-interactive: #e8f5f3;
    --pl-input: #ffffff;
    --pl-input-readonly: #f1f6f5;
    --pl-text: #102d36;
    --pl-text-muted: #687b80;
    --pl-text-subtle: #607a7d;
    --pl-border: #dbe4e1;
    --pl-border-strong: #afc2bd;
    --pl-accent: #146b6b;
    --pl-accent-hover: #0f6262;
    --pl-accent-soft: #dff2ee;
    --pl-text-on-accent: #ffffff;
    --pl-focus: rgba(31, 138, 133, .18);
    --pl-danger: #9e2f2f;
    --pl-danger-surface: #fff1f1;
    --pl-success: #45a876;
    --pl-gold: #e4bd70;
    --pl-gold-strong: #c38b24;
    --pl-gold-surface: #fff6dd;
    --pl-sidebar: #103a46;
    --pl-sidebar-text: #d7e5e4;
    --pl-sidebar-muted: #7da1a4;
    --pl-sidebar-border: rgba(255,255,255,.08);
    --pl-sidebar-hover: rgba(255,255,255,.07);
    --pl-topbar: rgba(255,255,255,.94);
    --pl-footer: #fbfcfa;
    --pl-footer-border: #cbd8d6;
    --pl-footer-text: #365a5e;

    /* Aliases transitórios: preservam páginas existentes enquanto são migradas. */
    --page: var(--pl-canvas);
    --fundo: var(--pl-canvas);
    --surface: var(--pl-surface);
    --surface-subtle: var(--pl-surface-subtle);
    --selection: var(--pl-surface-interactive);
    --input: var(--pl-input);
    --input-border: var(--pl-border-strong);
    --texto: var(--pl-text);
    --ink: var(--pl-text);
    --muted: var(--pl-text-muted);
    --linha: var(--pl-border);
    --border: var(--pl-border);
    --erro: var(--pl-danger);
    --focus: var(--pl-focus);
}

.app-frame[data-aparencia="claro"] { color-scheme: light; }

.app-frame[data-aparencia="escuro"] {
    --pl-canvas: #091922;
    --pl-surface: #102832;
    --pl-surface-subtle: #14313b;
    --pl-surface-interactive: #164247;
    --pl-input: #0c222b;
    --pl-input-readonly: #173740;
    --pl-text: #edf7f5;
    --pl-text-muted: #b3c9ca;
    --pl-text-subtle: #d7e5e4;
    --pl-border: #29464d;
    --pl-border-strong: #45636a;
    --pl-accent: #2a9b94;
    --pl-accent-hover: #53b8b0;
    --pl-accent-soft: #193f42;
    --pl-text-on-accent: #071f2b;
    --pl-focus: rgba(95, 205, 193, .30);
    --pl-danger: #ffaaa2;
    --pl-danger-surface: #372728;
    --pl-success: #74c69d;
    --pl-gold: #e6c56e;
    --pl-gold-strong: #c79532;
    --pl-gold-surface: #483a1e;
    --pl-sidebar: #071f2b;
    --pl-sidebar-text: #d7e5e4;
    --pl-sidebar-muted: #91abad;
    --pl-sidebar-border: rgba(255,255,255,.10);
    --pl-sidebar-hover: rgba(255,255,255,.09);
    --pl-topbar: rgba(16,40,50,.94);
    --pl-footer: #102832;
    --pl-footer-border: #29464d;
    --pl-footer-text: #b3c9ca;
    color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
    .app-frame[data-aparencia="sistema"] {
        --pl-canvas: #091922;
        --pl-surface: #102832;
        --pl-surface-subtle: #14313b;
        --pl-surface-interactive: #164247;
        --pl-input: #0c222b;
        --pl-input-readonly: #173740;
        --pl-text: #edf7f5;
        --pl-text-muted: #b3c9ca;
        --pl-text-subtle: #d7e5e4;
        --pl-border: #29464d;
        --pl-border-strong: #45636a;
        --pl-accent: #2a9b94;
        --pl-accent-hover: #53b8b0;
        --pl-accent-soft: #193f42;
        --pl-text-on-accent: #071f2b;
        --pl-focus: rgba(95, 205, 193, .30);
        --pl-danger: #ffaaa2;
        --pl-danger-surface: #372728;
        --pl-success: #74c69d;
        --pl-gold: #e6c56e;
        --pl-gold-strong: #c79532;
        --pl-gold-surface: #483a1e;
        --pl-sidebar: #071f2b;
        --pl-sidebar-text: #d7e5e4;
        --pl-sidebar-muted: #91abad;
        --pl-sidebar-border: rgba(255,255,255,.10);
        --pl-sidebar-hover: rgba(255,255,255,.09);
        --pl-topbar: rgba(16,40,50,.94);
        --pl-footer: #102832;
        --pl-footer-border: #29464d;
        --pl-footer-text: #b3c9ca;
        color-scheme: dark;
    }
}

/* Estrutura comum a Dark e Sistema quando o dispositivo é escuro. */
.app-frame[data-aparencia="escuro"],
.app-frame[data-aparencia="escuro"] :is(.app-main, .app-content) {
    color: var(--pl-text);
    background: var(--pl-canvas);
}

@media (prefers-color-scheme: dark) {
    .app-frame[data-aparencia="sistema"],
    .app-frame[data-aparencia="sistema"] :is(.app-main, .app-content) {
        color: var(--pl-text);
        background: var(--pl-canvas);
    }
}

/* Compatibilidade explícita para componentes autenticados com cores históricas diretas. */
.app-frame[data-aparencia="escuro"] :is(input, select, textarea) {
    color: var(--pl-text);
    background: var(--pl-input);
    border-color: var(--pl-border-strong);
}

@media (prefers-color-scheme: dark) {
    .app-frame[data-aparencia="sistema"] :is(input, select, textarea) {
        color: var(--pl-text);
        background: var(--pl-input);
        border-color: var(--pl-border-strong);
    }

    .app-frame[data-aparencia="sistema"] :is(input, select, textarea)::placeholder { color: #93abad; }
    .app-frame[data-aparencia="sistema"] :is(input, select, textarea):focus { border-color: #59b9b2; box-shadow: 0 0 0 3px var(--pl-focus); }
}

.app-frame[data-aparencia="escuro"] :is(.topbar, .rodape-app, .periodo, .indicador, .painel, .catalogo-painel, .catalogo-modal, .catalogo-publico-painel, .catalogo-publico-resumo article, .catalogo-publico-resumo button, .especie-cartao, .tipos-painel, .tipos-modal, .jornada-painel, .jornada-editor, .detalhe-cartao, .detalhe-contexto, .definicoes-cartao, .notificacao, .lista-painel, .lista-estado, .editar-painel, .editar-capturas, .editar-estado, .detalhe-painel, aside section, .jornada-concluir, .jornada-modal, .modal) {
    color: var(--pl-text);
    background: var(--pl-surface);
    border-color: var(--pl-border);
}

.app-frame[data-aparencia="escuro"] :is(.categoria-item, .regiao-item, .captura-editor, .captura-confirmacao, .jornada-linha, .catalogo-tabela th, .catalogo-tabela tr, .estado-vazio, .especie-imagem, .catalogo-publico-resumo span, .capturas li, .data, .grelha fieldset, .captura-confirmar, .lista-painel > footer, .jornada-checklist > header, .jornada-checklist li > span) {
    color: var(--pl-text);
    background: var(--pl-surface-subtle);
    border-color: var(--pl-border);
}

.app-frame[data-aparencia="escuro"] .app-main :is(h1, h2, h3, h4, dt, dd, label, legend, .periodo > span, .identidade strong, .catalogo-tabela td strong, .jornada-resumo-linha, .grafico-pesos li > strong) { color: var(--pl-text); }
.app-frame[data-aparencia="escuro"] .app-main :is(.indicador small, .painel small, .catalogo-painel header small, .lista-painel small, .detalhe-painel small, aside small, .grelha label + small, .captura-confirmar span, .jornada-concluir span, .identidade span, .totais span, .catalogo-tabela td, .rodape-app, .rodape-app nav span, .observacoes p, .capturas li > p, aside section > span) { color: var(--pl-text-muted); }
.app-frame[data-aparencia="escuro"] :is(.indicador-destaque, .alerta) { background: var(--pl-danger-surface); border-color: #754a48; }
.app-frame[data-aparencia="escuro"] :is(.editar-cabecalho > a, .editar-painel > footer a, .detalhe-cabecalho .secundario) { color: #b6f1eb; background: var(--pl-surface-interactive); }

@media (prefers-color-scheme: dark) {
    .app-frame[data-aparencia="sistema"] :is(.topbar, .rodape-app, .periodo, .indicador, .painel, .catalogo-painel, .catalogo-modal, .catalogo-publico-painel, .catalogo-publico-resumo article, .catalogo-publico-resumo button, .especie-cartao, .tipos-painel, .tipos-modal, .jornada-painel, .jornada-editor, .detalhe-cartao, .detalhe-contexto, .definicoes-cartao, .notificacao, .lista-painel, .lista-estado, .editar-painel, .editar-capturas, .editar-estado, .detalhe-painel, aside section, .jornada-concluir, .jornada-modal, .modal) {
        color: var(--pl-text);
        background: var(--pl-surface);
        border-color: var(--pl-border);
    }

    .app-frame[data-aparencia="sistema"] :is(.categoria-item, .regiao-item, .captura-editor, .captura-confirmacao, .jornada-linha, .catalogo-tabela th, .catalogo-tabela tr, .estado-vazio, .especie-imagem, .catalogo-publico-resumo span, .capturas li, .data, .grelha fieldset, .captura-confirmar, .lista-painel > footer, .jornada-checklist > header, .jornada-checklist li > span) {
        color: var(--pl-text);
        background: var(--pl-surface-subtle);
        border-color: var(--pl-border);
    }

    .app-frame[data-aparencia="sistema"] .app-main :is(h1, h2, h3, h4, dt, dd, label, legend, .periodo > span, .identidade strong, .catalogo-tabela td strong, .jornada-resumo-linha, .grafico-pesos li > strong) { color: var(--pl-text); }
    .app-frame[data-aparencia="sistema"] .app-main :is(.indicador small, .painel small, .catalogo-painel header small, .lista-painel small, .detalhe-painel small, aside small, .grelha label + small, .captura-confirmar span, .jornada-concluir span, .identidade span, .totais span, .catalogo-tabela td, .rodape-app, .rodape-app nav span, .observacoes p, .capturas li > p, aside section > span) { color: var(--pl-text-muted); }
    .app-frame[data-aparencia="sistema"] :is(.indicador-destaque, .alerta) { background: var(--pl-danger-surface); border-color: #754a48; }
    .app-frame[data-aparencia="sistema"] :is(.editar-cabecalho > a, .editar-painel > footer a, .detalhe-cabecalho .secundario) { color: #b6f1eb; background: var(--pl-surface-interactive); }
}

/* Shell: o azul-marinho de marca fica no sidebar Dark; Light é ligeiramente mais leve. */
.app-frame .sidebar { color: var(--pl-sidebar-text); background: var(--pl-sidebar); }
.marca-topbar .marca-topbar-para-escuro { display: none; }
.app-frame[data-aparencia="escuro"] .topbar,
.app-frame[data-aparencia="escuro"] :is(.menu-conta, .botao-conta) { background: var(--pl-surface); border-color: var(--pl-border); }
.app-frame[data-aparencia="escuro"] :is(.breadcrumb strong, .identidade strong, .menu-conta ::deep a, .menu-conta button) { color: var(--pl-text); }
.app-frame[data-aparencia="escuro"] :is(.botao-conta:hover, .conta.aberta .botao-conta, .menu-conta ::deep a:hover, .menu-conta button:hover) { background: var(--pl-surface-subtle); }
.app-frame[data-aparencia="escuro"] .opcoes-aparencia-conta button { color: var(--pl-text-muted) !important; background: var(--pl-surface-subtle) !important; }
.app-frame[data-aparencia="escuro"] .opcoes-aparencia-conta button.selecionada { color: #b6f1eb !important; background: var(--pl-surface-interactive) !important; border-color: #4ea59e !important; }
.app-frame[data-aparencia="escuro"] :is(.alternar-menu, .seta-conta) { color: var(--pl-text-subtle); }
.app-frame[data-aparencia="escuro"] :is(.notificacoes, .maximizar-app) { color: var(--pl-text-subtle); background: #173640; border-color: var(--pl-border-strong); }
.app-frame[data-aparencia="escuro"] .notificacoes svg { fill: #e6c56e; stroke: #c79532; }
.app-frame[data-aparencia="escuro"] .notificacoes i { border-color: #173640; }
.app-frame[data-aparencia="escuro"] .maximizar-app:hover,
.app-frame[data-aparencia="escuro"] .maximizar-app[aria-pressed="true"] { color: #c3f0eb; background: #1b4850; border-color: #61aaa4; }
.app-frame[data-aparencia="escuro"] .marca-topbar .marca-topbar-para-claro { display: none; }
.app-frame[data-aparencia="escuro"] .marca-topbar .marca-topbar-completa.marca-topbar-para-escuro { display: block; }

@media (prefers-color-scheme: dark) {
    .app-frame[data-aparencia="sistema"] :is(.topbar, .menu-conta, .botao-conta) { background: var(--pl-surface); border-color: var(--pl-border); }
    .app-frame[data-aparencia="sistema"] :is(.breadcrumb strong, .identidade strong, .menu-conta ::deep a, .menu-conta button) { color: var(--pl-text); }
    .app-frame[data-aparencia="sistema"] :is(.botao-conta:hover, .conta.aberta .botao-conta, .menu-conta ::deep a:hover, .menu-conta button:hover) { background: var(--pl-surface-subtle); }
    .app-frame[data-aparencia="sistema"] .opcoes-aparencia-conta button { color: var(--pl-text-muted) !important; background: var(--pl-surface-subtle) !important; }
    .app-frame[data-aparencia="sistema"] .opcoes-aparencia-conta button.selecionada { color: #b6f1eb !important; background: var(--pl-surface-interactive) !important; border-color: #4ea59e !important; }
    .app-frame[data-aparencia="sistema"] :is(.alternar-menu, .seta-conta) { color: var(--pl-text-subtle); }
    .app-frame[data-aparencia="sistema"] :is(.notificacoes, .maximizar-app) { color: var(--pl-text-subtle); background: #173640; border-color: var(--pl-border-strong); }
    .app-frame[data-aparencia="sistema"] .notificacoes svg { fill: #e6c56e; stroke: #c79532; }
    .app-frame[data-aparencia="sistema"] .notificacoes i { border-color: #173640; }
    .app-frame[data-aparencia="sistema"] .maximizar-app:hover,
    .app-frame[data-aparencia="sistema"] .maximizar-app[aria-pressed="true"] { color: #c3f0eb; background: #1b4850; border-color: #61aaa4; }
    .app-frame[data-aparencia="sistema"] .marca-topbar .marca-topbar-para-claro { display: none; }
    .app-frame[data-aparencia="sistema"] .marca-topbar .marca-topbar-completa.marca-topbar-para-escuro { display: block; }
}
