/*
 * LUMEN Visual 3
 * Camada exclusivamente visual. Mantém rotas, permissões, formulários e dados.
 * Carregada depois dos estilos funcionais para permitir adoção reversível.
 */

body.lumen-next {
    --ln-bg: #f5f2ea;
    --ln-surface: rgba(255, 255, 255, .88);
    --ln-surface-solid: #fffdfa;
    --ln-surface-soft: #f7f3e9;
    --ln-text: #211f1a;
    --ln-muted: #6d685e;
    --ln-line: #e3dccd;
    --ln-line-strong: #cfc4b0;
    --ln-navy: #191813;
    --ln-navy-2: #29271f;
    --ln-gold: #d8ad2e;
    --ln-gold-deep: #795a00;
    --ln-gold-soft: #fff2c5;
    --ln-green: #2d7e59;
    --ln-green-soft: #e7f4eb;
    --ln-red: #b94a43;
    --ln-red-soft: #fae9e7;
    --ln-blue: #8b6810;
    --ln-blue-soft: #fff4d4;
    --ln-purple: #7b5891;
    --ln-purple-soft: #f2eaf7;
    --ln-shadow: 0 18px 50px rgba(57, 45, 20, .075);
    --ln-shadow-soft: 0 8px 25px rgba(57, 45, 20, .055);
    --lumen-bg: var(--ln-bg);
    --lumen-surface: var(--ln-surface-solid);
    --lumen-surface-soft: var(--ln-surface-soft);
    --lumen-ink: var(--ln-text);
    --lumen-muted: var(--ln-muted);
    --lumen-line: var(--ln-line);
    --lumen-line-strong: var(--ln-line-strong);
    --lumen-gold: var(--ln-gold);
    --lumen-gold-deep: var(--ln-gold-deep);
    --lumen-gold-soft: var(--ln-gold-soft);
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% -3%, rgba(216, 173, 46, .14), transparent 27rem),
        radial-gradient(circle at 94% 18%, rgba(255, 246, 212, .86), transparent 31rem),
        linear-gradient(180deg, #fbf8ef 0, var(--ln-bg) 34rem, #f7f5ef 100%) !important;
    color: var(--ln-text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

html[data-theme="dark"] body.lumen-next {
    --ln-bg: #10100e;
    --ln-surface: rgba(29, 28, 24, .9);
    --ln-surface-solid: #1d1c18;
    --ln-surface-soft: #25231e;
    --ln-text: #f2eee4;
    --ln-muted: #bbb3a5;
    --ln-line: #3d392f;
    --ln-line-strong: #575043;
    --ln-navy: #11110e;
    --ln-navy-2: #27251d;
    --ln-gold: #e0ba48;
    --ln-gold-deep: #f0d477;
    --ln-gold-soft: #342d18;
    --ln-green: #7cc39b;
    --ln-green-soft: #1c3024;
    --ln-red: #ef918a;
    --ln-red-soft: #392321;
    --ln-blue: #e0ba48;
    --ln-blue-soft: #332c18;
    --ln-purple: #c8a8db;
    --ln-purple-soft: #302637;
    --ln-shadow: 0 18px 52px rgba(0, 0, 0, .28);
    --ln-shadow-soft: 0 8px 28px rgba(0, 0, 0, .2);
    background:
        radial-gradient(circle at 9% -4%, rgba(216, 173, 46, .11), transparent 28rem),
        linear-gradient(180deg, #171611 0, #10100e 34rem, #0e0e0c 100%) !important;
}

html[data-theme="twilight"] body.lumen-next {
    --ln-bg: #1d1817;
    --ln-surface: rgba(43, 36, 32, .9);
    --ln-surface-solid: #2b2420;
    --ln-surface-soft: #352c26;
    --ln-text: #f5ebdb;
    --ln-muted: #ccbda8;
    --ln-line: #58483b;
    --ln-line-strong: #74604e;
    --ln-navy: #171210;
    --ln-navy-2: #342a21;
    --ln-gold: #e2ad45;
    --ln-gold-deep: #f3cc75;
    --ln-gold-soft: #493820;
    --ln-green: #8bc2a0;
    --ln-green-soft: #273b30;
    --ln-red: #ee9d91;
    --ln-red-soft: #472c29;
    --ln-blue: #e2ad45;
    --ln-blue-soft: #493820;
    --ln-purple: #d0a9c8;
    --ln-purple-soft: #41303e;
    --ln-shadow: 0 20px 55px rgba(6, 4, 3, .34);
    --ln-shadow-soft: 0 9px 30px rgba(6, 4, 3, .24);
    background:
        radial-gradient(circle at 10% -5%, rgba(226, 173, 69, .2), transparent 30rem),
        radial-gradient(circle at 92% 10%, rgba(106, 67, 79, .27), transparent 34rem),
        linear-gradient(155deg, #2b211d 0, #1d1817 48%, #181417 100%) !important;
}

body.lumen-next input,
body.lumen-next select,
body.lumen-next textarea {
    min-height: 46px;
    border-color: var(--ln-line-strong);
    background: var(--ln-surface-solid);
    color: var(--ln-text);
}
body.lumen-next textarea { min-height: 118px; }

/* Cabeçalho principal: uma única superfície leve, sem caixas em volta da marca. */
body.lumen-next > header.topbar {
    position: sticky !important;
    top: 10px !important;
    z-index: 1000 !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    height: 86px !important;
    min-height: 86px !important;
    margin: 12px 20px 0 !important;
    padding: 10px 14px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid rgba(218, 207, 187, .78) !important;
    border-radius: 24px !important;
    background: rgba(255, 253, 249, .83) !important;
    box-shadow: 0 18px 55px rgba(52, 42, 22, .09) !important;
    backdrop-filter: blur(24px) saturate(145%);
}
body.lumen-next > header.topbar.lumen-next-scrolled {
    top: 6px !important;
    height: 74px !important;
    min-height: 74px !important;
    border-radius: 20px !important;
}
body.lumen-next .topbar .lumen-brand {
    flex: 0 0 184px !important;
    min-width: 184px !important;
    height: 62px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.lumen-next .topbar .lumen-brand:hover { background: transparent !important; box-shadow: none !important; transform: none !important; }
body.lumen-next .topbar .lumen-brand-name { width: 140px !important; height: 56px !important; }
body.lumen-next .topbar .lumen-brand::after { display: none !important; }

body.lumen-next .topbar > .nav {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    min-width: 310px !important;
    max-width: none !important;
    flex: 1 1 560px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 4px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
body.lumen-next .topbar > .nav > a,
body.lumen-next .topbar > .nav > details > summary {
    min-height: 44px !important;
    padding: 9px 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--ln-muted) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .topbar > .nav > a:hover,
body.lumen-next .topbar > .nav > details > summary:hover {
    background: rgba(255, 255, 255, .72) !important;
    color: var(--ln-gold-deep) !important;
}
}
body.lumen-next .topbar > .nav > a.active,
body.lumen-next .topbar > .nav > details.is-active > summary {
    background: #1d1c18 !important;
    color: #f4d264 !important;
    box-shadow: 0 9px 22px rgba(29, 28, 24, .18) !important;
}
body.lumen-next .lumen-next-nav-icon { display: none !important; }

body.lumen-next .topbar .lumen-school-switch,
body.lumen-next .topbar .lumen-context-switcher > summary,
body.lumen-next .topbar .lumen-context-static,
body.lumen-next .topbar .user-chip,
body.lumen-next .topbar .lumen-guide-toggle {
    min-height: 54px !important;
    border: 1px solid var(--ln-line) !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--ln-text) !important;
    box-shadow: 0 6px 18px rgba(52, 42, 22, .045) !important;
}
body.lumen-next .topbar .lumen-school-switch { flex: 0 1 205px !important; max-width: 205px !important; }
body.lumen-next .topbar .lumen-context-switcher,
body.lumen-next .topbar .lumen-context-static { flex: 0 0 auto !important; }
body.lumen-next .topbar :is(.lumen-school-switch__copy small, .lumen-context-switcher summary span, .lumen-context-static span, .user-chip small) {
    font-size: 11px !important;
    line-height: 1.25;
}
body.lumen-next .topbar :is(.lumen-school-switch__copy strong, .lumen-context-switcher summary strong, .lumen-context-static strong, .user-chip strong) {
    font-size: 13px !important;
    line-height: 1.3;
}
body.lumen-next .topbar .lumen-school-switch__copy small,
body.lumen-next .topbar .lumen-context-switcher summary span,
body.lumen-next .topbar .lumen-context-static span { color: var(--ln-gold-deep) !important; }
body.lumen-next .topbar .lumen-guide-toggle { flex: 0 0 48px !important; width: 48px !important; height: 48px !important; min-height: 48px !important; }
body.lumen-next .topbar .user-chip { flex: 0 1 205px !important; max-width: 205px !important; }

/* Seletor oficial Claro / Escuro. */
body.lumen-next .lumen-theme-switcher {
    position: relative;
    flex: 0 0 126px;
    width: 126px;
    min-width: 126px;
    height: 52px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 3px;
    margin: 0;
    padding: 4px;
    border: 1px solid var(--ln-line);
    border-radius: 17px;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 6px 18px rgba(52, 42, 22, .045);
}
body.lumen-next .lumen-theme-switcher legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
body.lumen-next .lumen-theme-switcher label {
    position: relative;
    z-index: 1;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ln-muted);
    cursor: pointer;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
body.lumen-next .lumen-theme-switcher label:hover { color: var(--ln-gold-deep); transform: translateY(-1px); }
body.lumen-next .lumen-theme-switcher label.is-active {
    background: var(--ln-surface-solid);
    color: var(--ln-gold-deep);
    box-shadow: 0 5px 15px rgba(52, 42, 22, .11);
}
body.lumen-next .lumen-theme-switcher input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.lumen-next .lumen-theme-switcher span { font-size: 21px; line-height: 1; }
.google-login-theme-switcher {
    position: absolute;
    top: 18px;
    right: 76px;
    z-index: 3;
}
.access-context-shell .access-user .lumen-theme-switcher { flex: 0 0 126px; }

/* Subcabeçalho: próximo ao principal, legível e com navegação claramente secundária. */
body.lumen-next .lumen-next-contextbar {
    position: sticky !important;
    top: 104px !important;
    z-index: 820 !important;
    width: calc(100% - 64px) !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 8px 32px 0 !important;
    padding: 8px 12px 8px 16px !important;
    border: 1px solid rgba(218, 207, 187, .82) !important;
    border-radius: 17px !important;
    background: rgba(255, 253, 249, .86) !important;
    box-shadow: 0 10px 30px rgba(52, 42, 22, .065) !important;
    backdrop-filter: blur(20px) saturate(140%);
}
body.lumen-next .lumen-next-contextbar__identity {
    min-width: 210px !important;
    display: grid !important;
    gap: 1px !important;
    padding-right: 18px !important;
    border-right: 1px solid var(--ln-line) !important;
}
body.lumen-next .lumen-next-contextbar__identity span {
    color: var(--ln-gold-deep) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .09em !important;
}
body.lumen-next .lumen-next-contextbar__identity strong {
    color: var(--ln-text) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}
body.lumen-next .lumen-next-contextbar__links { gap: 5px !important; }
body.lumen-next .lumen-next-contextbar__links a {
    min-height: 40px !important;
    padding: 9px 13px !important;
    border-radius: 11px !important;
    color: var(--ln-muted) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-next-contextbar__links a:hover { background: var(--ln-gold-soft) !important; color: var(--ln-gold-deep) !important; }
}
body.lumen-next .lumen-next-contextbar__links a.active { background: #1d1c18 !important; color: #f4d264 !important; }

body.lumen-next .container,
body.lumen-next .teacher-container,
body.lumen-next .student-container {
    width: 100% !important;
    max-width: 1560px !important;
    margin: 0 auto !important;
    padding: 20px 32px 56px !important;
}
body.lumen-next .lumen-next-contextbar + :is(.container, .teacher-container, .student-container) { padding-top: 18px !important; }

/* Aberturas de página e dashboards: hierarquia mais leve. */
body.lumen-next :is(.ctx-home-hero, .ped-home-hero) {
    min-height: auto !important;
    margin: 0 0 18px !important;
    padding: 28px 10px 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ln-text) !important;
    box-shadow: none !important;
}
body.lumen-next :is(.ctx-home-hero, .ped-home-hero) h1 {
    margin: 5px 0 4px !important;
    color: var(--ln-text) !important;
    font-size: clamp(2.35rem, 4.2vw, 4rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}
body.lumen-next :is(.ctx-home-hero, .ped-home-hero) p {
    max-width: 850px;
    color: var(--ln-muted) !important;
    font-size: 17px !important;
    line-height: 1.5;
}
body.lumen-next :is(.ctx-home-hero, .ped-home-hero) > time {
    width: 92px !important;
    min-height: 92px !important;
    border: 1px solid var(--ln-line) !important;
    border-radius: 22px !important;
    background: var(--ln-surface) !important;
    color: var(--ln-text) !important;
    box-shadow: var(--ln-shadow-soft) !important;
}
body.lumen-next :is(.ctx-home-hero, .ped-home-hero) > time strong { font-size: 2.15rem !important; }

body.lumen-next :is(.page-heading, .architecture-heading, .hero.architecture-hero) {
    margin-bottom: 22px !important;
    padding: 22px 8px 20px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ln-text) !important;
    box-shadow: none !important;
}
body.lumen-next :is(.page-heading, .architecture-heading, .hero.architecture-hero) h1 {
    color: var(--ln-text) !important;
    font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
}
body.lumen-next :is(.page-heading, .architecture-heading, .hero.architecture-hero) p {
    max-width: 900px;
    color: var(--ln-muted) !important;
    font-size: 16px !important;
}

/* Superfícies consistentes em todas as áreas. */
body.lumen-next :is(
    .panel, .metric, .metric-card, .architecture-module-card, .architecture-consumer-note,
    .ped-live-panel, .ped-mini-calendar, .context-mini-calendar, .ped-attention-panel,
    .student-attendance-card, .parent-child-card, .parent-privacy-note,
    .cc-institutional-overview, .cc-cycle-card,
    .ctx-live-panel, .prof-context-now, .prof-context-schedule, .prof-context-records,
    .prof-context-calendar-wrap, .prof-context-recent, .prof-context-next, .ped-quick-card
):not([data-theme-surface="light"]) {
    border-color: var(--ln-line) !important;
    border-radius: 21px !important;
    background: var(--ln-surface) !important;
    color: var(--ln-text) !important;
    box-shadow: var(--ln-shadow-soft) !important;
    backdrop-filter: blur(16px) saturate(125%);
}
body.lumen-next .architecture-module-card::before,
body.lumen-next .architecture-module-card::after { display: none !important; }
body.lumen-next .architecture-module-card .architecture-step {
    color: var(--ln-gold-deep) !important;
}
body.lumen-next .architecture-module-card:hover {
    border-color: rgba(216, 173, 46, .58) !important;
    box-shadow: var(--ln-shadow) !important;
    transform: translateY(-2px);
}
body.lumen-next .architecture-module-card h2 {
    color: var(--ln-text) !important;
}
body.lumen-next .architecture-module-card p {
    color: var(--ln-muted) !important;
}
body.lumen-next .architecture-module-card > b {
    color: var(--ln-gold-deep) !important;
}
body.lumen-next .architecture-module-card.is-primary { border-top: 4px solid var(--ln-gold) !important; }

body.lumen-next :is(.button, button:not(.lumen-guide-toggle):not(.lumen-next-compare)) {
    min-height: 44px;
    border-radius: 12px;
    font-weight: 750;
}
body.lumen-next .button:not(.secondary):not(.ghost) {
    border-color: #c99c1d !important;
    background: linear-gradient(180deg, #e5bd45, #d5a72a) !important;
    color: #1c1910 !important;
    box-shadow: 0 8px 18px rgba(163, 119, 0, .15) !important;
}
body.lumen-next .button.secondary { border-color: var(--ln-line-strong) !important; background: var(--ln-surface-solid) !important; color: var(--ln-text) !important; }

body.lumen-next :is(table, .table) { color: var(--ln-text); font-size: 14px; }
body.lumen-next :is(table, .table) th { color: var(--ln-muted); font-size: 13px !important; letter-spacing: .035em; }
body.lumen-next :is(table, .table) td { line-height: 1.45; }

/* Menus flutuantes seguem a mesma paleta. */
body.lumen-next :is(.lumen-context-menu, .lumen-nav-more__menu) {
    border-color: var(--ln-line) !important;
    background: var(--ln-surface-solid) !important;
    color: var(--ln-text) !important;
    box-shadow: 0 28px 75px rgba(35, 27, 12, .18) !important;
}

/* Temas escuro e crepúsculo compartilham tratamento de superfícies e marca. */
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next > header.topbar,
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .lumen-next-contextbar {
    border-color: var(--ln-line) !important;
    background: color-mix(in srgb, var(--ln-surface-solid) 86%, transparent) !important;
}
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar :is(
    .lumen-school-switch, .lumen-context-switcher > summary, .lumen-context-static,
    .user-chip, .lumen-guide-toggle, .lumen-theme-switcher
) {
    border-color: var(--ln-line) !important;
    background: rgba(255, 255, 255, .045) !important;
    color: var(--ln-text) !important;
}
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .lumen-theme-switcher label.is-active {
    background: rgba(255, 255, 255, .1);
    color: var(--ln-gold-deep);
}
@media (hover:hover) and (pointer:fine) {
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar > .nav > a:hover,
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar > .nav > details > summary:hover { background: rgba(255, 255, 255, .06) !important; }
}
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar :is(.user-chip strong, .user-chip small, .lumen-school-switch__copy strong, .lumen-context-switcher summary strong, .lumen-context-static strong) { color: var(--ln-text) !important; }
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next main :is(h1, h2, h3, h4, h5, h6):not(:where([data-theme-surface="light"] *)) { color: var(--ln-text) !important; }
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .parent-child-card__metrics > span { border-color: var(--ln-line) !important; background: var(--ln-surface-soft) !important; }
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar .lumen-brand-lockup--light { display: none !important; }
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next .topbar .lumen-brand-lockup--dark { display: block !important; }
html:is([data-theme="dark"], [data-theme="twilight"]) body.lumen-next :is(input, select, textarea) { background: var(--ln-surface-soft); color: var(--ln-text); }

@media (max-width: 1420px) {
    body.lumen-next .topbar .lumen-brand { flex-basis: 160px !important; min-width: 160px !important; }
    body.lumen-next .topbar .lumen-brand-name { width: 122px !important; }
    body.lumen-next .topbar .lumen-school-switch { max-width: 170px !important; }
    body.lumen-next .topbar .user-chip { max-width: 170px !important; }
    body.lumen-next .topbar > .nav > a,
    body.lumen-next .topbar > .nav > details > summary { padding-inline: 10px !important; font-size: 13px !important; }
    body.lumen-next .lumen-theme-switcher { flex-basis: 112px; width: 112px; min-width: 112px; }
}

@media (max-width: 1180px) {
    body.lumen-next > header.topbar {
        position: sticky !important;
        width: calc(100% - 20px) !important;
        height: auto !important;
        min-height: 78px !important;
        margin: 8px 10px 0 !important;
        flex-wrap: wrap !important;
    }
    body.lumen-next .topbar > .nav {
        order: 20 !important;
        flex: 1 0 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
    }
    body.lumen-next .topbar .user-chip { display: none !important; }
    body.lumen-next .lumen-next-contextbar {
        position: static !important;
        width: calc(100% - 24px) !important;
        margin: 8px 12px 0 !important;
    }
    body.lumen-next .container,
    body.lumen-next .teacher-container,
    body.lumen-next .student-container { padding: 18px 20px 46px !important; }
}

@media (max-width: 760px) {
    body.lumen-next { font-size: 15px; }
    body.lumen-next > header.topbar { padding: 7px 9px !important; border-radius: 18px !important; }
    body.lumen-next .topbar .lumen-brand { flex-basis: 142px !important; min-width: 142px !important; height: 52px !important; }
    body.lumen-next .topbar .lumen-brand-name { width: 108px !important; height: 47px !important; }
    body.lumen-next .topbar .lumen-school-switch,
    body.lumen-next .topbar .lumen-guide-toggle { display: none !important; }
    body.lumen-next .topbar .lumen-context-switcher { margin-left: auto !important; }
    body.lumen-next .lumen-theme-switcher { flex: 0 0 106px; width: 106px; min-width: 106px; height: 48px; }
    body.lumen-next .lumen-theme-switcher label { height: 38px; }
    body.lumen-next .lumen-theme-switcher span { font-size: 18px; }
    body.lumen-next .topbar > .nav > a,
    body.lumen-next .topbar > .nav > details > summary { min-height: 42px !important; font-size: 13px !important; }
    body.lumen-next .lumen-next-contextbar { align-items: stretch !important; flex-direction: column !important; gap: 7px !important; padding: 11px !important; }
    body.lumen-next .lumen-next-contextbar__identity { min-width: 0 !important; padding: 0 0 9px !important; border-right: 0 !important; border-bottom: 1px solid var(--ln-line) !important; }
    body.lumen-next .lumen-next-contextbar__links { overflow-x: auto; padding-bottom: 2px; }
    body.lumen-next .container,
    body.lumen-next .teacher-container,
    body.lumen-next .student-container { padding: 14px 14px 40px !important; }
    body.lumen-next :is(.ctx-home-hero, .ped-home-hero) { padding: 21px 4px 17px !important; }
    body.lumen-next :is(.ctx-home-hero, .ped-home-hero) h1 { font-size: clamp(2rem, 12vw, 3rem) !important; }
    body.lumen-next :is(.ctx-home-hero, .ped-home-hero) p { font-size: 15px !important; }
}

@media print {
    body.lumen-next { background: #fff !important; color: #000 !important; }
    body.lumen-next > header.topbar,
    body.lumen-next .lumen-next-contextbar,
    body.lumen-next .lumen-theme-switcher,
    body.lumen-next .lumen-next-compare { display: none !important; }
    body.lumen-next :is(.panel, .metric, .metric-card, .architecture-module-card) { box-shadow: none !important; backdrop-filter: none !important; }
}

/* ======================================================================
   LUMEN Solar · produção
   Paleta aprovada: claro (branco+dourado), híbrido (branco+preto+dourado),
   escuro (preto+dourado) e automático. Esta camada é estritamente visual.
   ====================================================================== */

body.lumen-next{
    --gold-50:#FFF8E6;
    --gold-100:#F9E9BD;
    --gold-200:#EFD38A;
    --gold-300:#E2B851;
    --gold-400:#D69D25;
    --gold-500:#C98A13;
    --gold-600:#A86E08;
    --gold-700:#8A5A00;
    --gold-800:#634000;
    --gold-900:#3C2700;

    --ln-bg:#F8F5EE;
    --ln-surface:rgba(255,255,255,.90);
    --ln-surface-solid:#FFFFFF;
    --ln-surface-soft:#F6F1E7;
    --ln-text:#171717;
    --ln-muted:#66625C;
    --ln-line:#E8E0D2;
    --ln-line-strong:#D5C7AE;
    --ln-navy:#171717;
    --ln-navy-2:#292826;
    --ln-gold:#C98A13;
    --ln-gold-deep:#8A5A00;
    --ln-gold-soft:#FFF8E6;
    --ln-green:#378261;
    --ln-green-soft:#E7F2EC;
    --ln-blue:#4C7594;
    --ln-blue-soft:#EAF1F5;
    --ln-red:#B74A45;
    --ln-red-soft:#F8E9E6;
    --ln-purple:#7A647F;
    --ln-purple-soft:#F1EBF2;
    --ln-shadow:0 18px 55px rgba(60,39,0,.08);
    --ln-shadow-soft:0 10px 30px rgba(60,39,0,.055);

    --lumen-black:#0D0D0D;
    --lumen-graphite:#292826;
    --lumen-paper:#F8F5EE;
    --lumen-surface:#FFFFFF;
    --lumen-surface-soft:#F6F1E7;
    --lumen-gold:#C98A13;
    --lumen-gold-2:#E8BD58;
    --lumen-gold-deep:#8A5A00;
    --lumen-gold-soft:#FFF8E6;
    --lumen-ink:#171717;
    --lumen-ink-2:#292826;
    --lumen-muted:#66625C;
    --lumen-muted-2:#8A857D;
    --lumen-line:#E8E0D2;
    --lumen-line-strong:#D5C7AE;
    --lumen-success:#378261;
    --lumen-success-soft:#E7F2EC;
    --lumen-danger:#B74A45;
    --lumen-danger-soft:#F8E9E6;
    --lumen-warning:#C78323;
    --lumen-warning-soft:#FFF2DA;
    --lumen-info:#4C7594;
    --lumen-info-soft:#EAF1F5;
    --lumen-focus:0 0 0 4px rgba(201,138,19,.16);

    background:
        radial-gradient(circle at 88% -8%,rgba(201,138,19,.14),transparent 26rem),
        radial-gradient(circle at 7% 72%,rgba(201,138,19,.06),transparent 28rem),
        linear-gradient(180deg,#FCFAF5 0%,#F8F5EE 40rem,#F7F3EB 100%) !important;
    color:var(--ln-text);
}

/* Claro: a identidade fica essencialmente branca e dourada. */
html[data-theme="light"] body.lumen-next{
    --ln-bg:#FBF9F4;
    --ln-surface:rgba(255,255,255,.94);
    --ln-surface-solid:#FFFFFF;
    --ln-surface-soft:#FBF8F1;
    --ln-text:#1D1C19;
    --ln-muted:#6B675F;
    --ln-line:#ECE5D8;
    --ln-line-strong:#DCCFB9;
    --ln-shadow:0 18px 50px rgba(88,63,15,.065);
    --ln-shadow-soft:0 8px 24px rgba(88,63,15,.045);
    --lumen-paper:#FBF9F4;
    --lumen-surface-soft:#FBF8F1;
    background:
        radial-gradient(circle at 91% -10%,rgba(201,138,19,.10),transparent 25rem),
        linear-gradient(180deg,#FFFFFF 0%,#FBF9F4 46rem,#F8F5EE 100%) !important;
}

/* Híbrido: modo padrão. Corpo claro, preto apenas em pontos de decisão. */
html[data-theme="hybrid"] body.lumen-next{
    --ln-bg:#F8F5EE;
    --ln-surface:rgba(255,255,255,.90);
    --ln-surface-solid:#FFFFFF;
    --ln-surface-soft:#F6F1E7;
    --ln-text:#171717;
    --ln-muted:#66625C;
    --lumen-paper:#F8F5EE;
}

/* Escuro: preto/grafite + ouro, sem preto absoluto em todas as superfícies. */
html[data-theme="dark"] body.lumen-next{
    --ln-bg:#111111;
    --ln-surface:rgba(27,27,27,.92);
    --ln-surface-solid:#1B1B1B;
    --ln-surface-soft:#242321;
    --ln-text:#F7F3EA;
    --ln-muted:#BCB5AA;
    --ln-line:#35322D;
    --ln-line-strong:#504A40;
    --ln-navy:#0D0D0D;
    --ln-navy-2:#1A1917;
    --ln-gold:#E8BD58;
    --ln-gold-deep:#E8BD58;
    --ln-gold-soft:#302817;
    --ln-green:#78B596;
    --ln-green-soft:#1D3023;
    --ln-blue:#88AFC8;
    --ln-blue-soft:#1D2B33;
    --ln-red:#E1847E;
    --ln-red-soft:#38201E;
    --ln-purple:#C2A5C8;
    --ln-purple-soft:#302632;
    --ln-shadow:0 20px 58px rgba(0,0,0,.34);
    --ln-shadow-soft:0 10px 32px rgba(0,0,0,.24);

    --lumen-black:#0D0D0D;
    --lumen-graphite:#242321;
    --lumen-paper:#111111;
    --lumen-surface:#1B1B1B;
    --lumen-surface-soft:#242321;
    --lumen-gold:#E8BD58;
    --lumen-gold-2:#F0CE76;
    --lumen-gold-deep:#E8BD58;
    --lumen-gold-soft:#302817;
    --lumen-ink:#F7F3EA;
    --lumen-ink-2:#E8E1D6;
    --lumen-muted:#BCB5AA;
    --lumen-muted-2:#90897E;
    --lumen-line:#35322D;
    --lumen-line-strong:#504A40;
    --lumen-success:#78B596;
    --lumen-success-soft:#1D3023;
    --lumen-danger:#E1847E;
    --lumen-danger-soft:#38201E;
    --lumen-warning:#E1B45A;
    --lumen-warning-soft:#362B17;
    --lumen-info:#88AFC8;
    --lumen-info-soft:#1D2B33;
    --lumen-focus:0 0 0 4px rgba(232,189,88,.20);

    background:
        radial-gradient(circle at 88% -12%,rgba(232,189,88,.095),transparent 31rem),
        radial-gradient(circle at -8% 66%,rgba(232,189,88,.035),transparent 28rem),
        linear-gradient(150deg,#111111 0%,#0D0D0D 55%,#151412 100%) !important;
}

/* Header principal: mantém a arquitetura do LAB, mas com menos agressividade. */
body.lumen-next > header.topbar{
    border-color:color-mix(in srgb,var(--ln-gold) 24%,var(--ln-line)) !important;
    background:rgba(255,255,255,.91) !important;
    box-shadow:0 16px 46px rgba(60,39,0,.085) !important;
    backdrop-filter:blur(22px) saturate(135%);
}
html[data-theme="light"] body.lumen-next > header.topbar{background:rgba(255,255,255,.95) !important;}
html[data-theme="dark"] body.lumen-next > header.topbar{
    border-color:#34312B !important;
    background:rgba(13,13,13,.93) !important;
    box-shadow:0 18px 52px rgba(0,0,0,.28) !important;
}

body.lumen-next .topbar .lumen-school-switch,
body.lumen-next .topbar .lumen-context-switcher > summary,
body.lumen-next .topbar .lumen-context-static,
body.lumen-next .topbar .user-chip,
body.lumen-next .topbar .lumen-guide-toggle,
body.lumen-next .topbar .lumen-theme-switcher{
    border-color:color-mix(in srgb,var(--ln-gold) 18%,var(--ln-line)) !important;
    background:rgba(255,255,255,.73) !important;
    box-shadow:0 6px 18px rgba(60,39,0,.045) !important;
}
html[data-theme="dark"] body.lumen-next .topbar :is(
    .lumen-school-switch,.lumen-context-switcher > summary,.lumen-context-static,
    .user-chip,.lumen-guide-toggle,.lumen-theme-switcher
){
    border-color:#3C382F !important;
    background:rgba(255,255,255,.045) !important;
}

/* Navegação horizontal: pequenos botões têm resposta sutil, sem efeitos chamativos. */
body.lumen-next .topbar > .nav > a,
body.lumen-next .topbar > .nav > details > summary{
    transition:background-color .15s ease,color .15s ease,border-color .15s ease !important;
    transform:none !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .topbar > .nav > a:hover,
body.lumen-next .topbar > .nav > details > summary:hover{
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
    transform:none !important;
}
}
html[data-theme="hybrid"] body.lumen-next .topbar > .nav > a.active,
html[data-theme="hybrid"] body.lumen-next .topbar > .nav > details.is-active > summary{
    background:#171717 !important;
    color:#E8BD58 !important;
    box-shadow:0 8px 20px rgba(23,23,23,.14) !important;
}
html[data-theme="light"] body.lumen-next .topbar > .nav > a.active,
html[data-theme="light"] body.lumen-next .topbar > .nav > details.is-active > summary{
    border:1px solid #E8D39F !important;
    background:#FFF8E6 !important;
    color:#8A5A00 !important;
    box-shadow:0 6px 16px rgba(138,90,0,.08) !important;
}
@media (hover:hover) and (pointer:fine) {
html[data-theme="dark"] body.lumen-next .topbar > .nav > a:hover,
html[data-theme="dark"] body.lumen-next .topbar > .nav > details > summary:hover{
    background:#242321 !important;
    color:#F0CE76 !important;
}
}
html[data-theme="dark"] body.lumen-next .topbar > .nav > a.active,
html[data-theme="dark"] body.lumen-next .topbar > .nav > details.is-active > summary{
    background:#E8BD58 !important;
    color:#17130A !important;
    box-shadow:0 8px 20px rgba(0,0,0,.24) !important;
}

/* Seletor de aparência: quatro estados. Nenhum salto/onda nos botões pequenos. */
body.lumen-next .lumen-theme-switcher{
    flex:0 0 158px;
    width:158px;
    min-width:158px;
    height:52px;
    grid-template-columns:repeat(4,1fr);
    gap:3px;
    padding:4px;
    border-radius:16px;
}
body.lumen-next .lumen-theme-switcher label{
    height:42px;
    border-radius:11px;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease !important;
    transform:none !important;
}
body.lumen-next .lumen-theme-switcher label:hover{
    background:var(--gold-50);
    color:var(--gold-700);
    transform:none !important;
}
body.lumen-next .lumen-theme-switcher label.is-active{
    background:#FFFFFF;
    color:#8A5A00;
    box-shadow:0 4px 12px rgba(60,39,0,.08);
}
html[data-theme="hybrid"] body.lumen-next .lumen-theme-switcher label.is-active{
    background:#171717;
    color:#E8BD58;
}
html[data-theme="dark"] body.lumen-next .lumen-theme-switcher label:hover{
    background:#292826;
    color:#F0CE76;
}
html[data-theme="dark"] body.lumen-next .lumen-theme-switcher label.is-active{
    background:#E8BD58;
    color:#17130A;
}
body.lumen-next .lumen-theme-switcher .lumen-theme-auto-mark{font-size:14px;font-weight:900;letter-spacing:.02em}

/* Modo híbrido preserva um único bloco escuro forte nas telas iniciais. */
html[data-theme="hybrid"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero){
    position:relative !important;
    overflow:hidden !important;
    margin:0 0 18px !important;
    padding:28px 30px !important;
    border:1px solid rgba(201,138,19,.24) !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 88% 8%,rgba(201,138,19,.19),transparent 20rem),
        linear-gradient(135deg,#171717,#242321 68%,#171717) !important;
    color:#F7F3EA !important;
    box-shadow:0 20px 48px rgba(23,23,23,.13) !important;
}
html[data-theme="hybrid"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero) h1{color:#F7F3EA !important;}
html[data-theme="hybrid"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero) p{color:#C9C4BA !important;}
html[data-theme="hybrid"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero) > time{
    border-color:rgba(232,189,88,.28) !important;
    background:rgba(201,138,19,.08) !important;
    color:#E8BD58 !important;
}
html[data-theme="light"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero){
    border:1px solid var(--ln-line) !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.82) !important;
    box-shadow:var(--ln-shadow-soft) !important;
}
html[data-theme="dark"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero){
    border:1px solid #38342C !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 88% 8%,rgba(232,189,88,.10),transparent 20rem),
        linear-gradient(135deg,#171717,#1B1B1B) !important;
    box-shadow:var(--ln-shadow-soft) !important;
}
html[data-theme="dark"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero) h1{color:#F7F3EA !important;}
html[data-theme="dark"] body.lumen-next :is(.ctx-home-hero,.ped-home-hero) p{color:#BCB5AA !important;}

/* Cards grandes podem respirar e responder; ações pequenas ficam quietas. */
body.lumen-next :is(.architecture-module-card,.home-architecture-card,.module-link,.ped-quick-card){
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease !important;
}
body.lumen-next :is(.architecture-module-card,.home-architecture-card,.module-link,.ped-quick-card):hover{
    transform:translateY(-2px) !important;
    border-color:color-mix(in srgb,var(--ln-gold) 46%,var(--ln-line)) !important;
    box-shadow:var(--ln-shadow) !important;
}
body.lumen-next :is(.button,button:not(.lumen-guide-toggle):not(.lumen-theme-toggle)):hover{
    transform:none !important;
}

/* Botões primários Solar. O hover é só tonal, sem brilho atravessando nem deslocamento. */
body.lumen-next .button:not(.secondary):not(.ghost):not(.danger),
body.lumen-next .filter-bar button:not(.secondary),
body.lumen-next .stack-form button:not(.secondary),
body.lumen-next .filter-actions button:not(.secondary){
    border-color:#A86E08 !important;
    background:#C98A13 !important;
    color:#17130A !important;
    box-shadow:0 6px 15px rgba(138,90,0,.12) !important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease !important;
}
body.lumen-next .button:not(.secondary):not(.ghost):not(.danger):hover,
body.lumen-next .filter-bar button:not(.secondary):hover,
body.lumen-next .stack-form button:not(.secondary):hover,
body.lumen-next .filter-actions button:not(.secondary):hover{
    border-color:#8A5A00 !important;
    background:#D69D25 !important;
    box-shadow:0 7px 16px rgba(138,90,0,.14) !important;
}
body.lumen-next .button.secondary,
body.lumen-next .button.neutral{
    border-color:var(--ln-line-strong) !important;
    background:var(--ln-surface-solid) !important;
    color:var(--ln-text) !important;
    box-shadow:none !important;
}
body.lumen-next .button.secondary:hover,
body.lumen-next .button.neutral:hover{
    border-color:#CDBA90 !important;
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
}
html[data-theme="dark"] body.lumen-next .button.secondary,
html[data-theme="dark"] body.lumen-next .button.neutral{
    border-color:#4B463D !important;
    background:#242321 !important;
    color:#EEE8DE !important;
}
html[data-theme="dark"] body.lumen-next .button.secondary:hover,
html[data-theme="dark"] body.lumen-next .button.neutral:hover{
    border-color:#6A5C35 !important;
    background:#2B2924 !important;
    color:#F0CE76 !important;
}

/* Superfícies e tabelas: menos contraste bruto, mais hierarquia. */
body.lumen-next :is(.panel,.card,.metric,.metric-card,.architecture-module-card,.list-card,.linked-card,.health-card):not([data-theme-surface="light"]){
    border-color:var(--ln-line) !important;
    background:var(--ln-surface) !important;
    color:var(--ln-text) !important;
    box-shadow:var(--ln-shadow-soft) !important;
}
body.lumen-next .panel-head{border-bottom-color:var(--ln-line) !important;}
body.lumen-next .panel-head::after{background:#C98A13 !important;}
body.lumen-next th{
    background:var(--ln-surface-soft) !important;
    color:var(--ln-muted) !important;
    border-bottom-color:var(--ln-line-strong) !important;
}
body.lumen-next th:first-child{box-shadow:inset 3px 0 0 #C98A13 !important;}
body.lumen-next tbody tr:nth-child(even){background:color-mix(in srgb,var(--ln-surface-soft) 70%,transparent) !important;}
body.lumen-next tbody tr:hover{background:var(--gold-50) !important;}
html[data-theme="dark"] body.lumen-next tbody tr:hover{background:#2A261C !important;}

body.lumen-next :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    border-color:var(--ln-line-strong) !important;
    background:var(--ln-surface-solid) !important;
    color:var(--ln-text) !important;
    caret-color:#C98A13 !important;
    box-shadow:none !important;
}
body.lumen-next :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
    border-color:#C98A13 !important;
    box-shadow:0 0 0 3px rgba(201,138,19,.12) !important;
}
html[data-theme="dark"] body.lumen-next :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    background:#171717 !important;
    color:#F7F3EA !important;
    caret-color:#E8BD58 !important;
}

/* Menus e detalhes flutuantes. */
body.lumen-next :is(.lumen-nav-more__menu,.lumen-context-menu,.teacher-picker-panel,.student-picker-panel,.smart-picker-portal-panel){
    border-color:var(--ln-line) !important;
    background:var(--ln-surface-solid) !important;
    color:var(--ln-text) !important;
    box-shadow:0 24px 60px rgba(60,39,0,.14) !important;
}
html[data-theme="dark"] body.lumen-next :is(.lumen-nav-more__menu,.lumen-context-menu,.teacher-picker-panel,.student-picker-panel,.smart-picker-portal-panel){
    box-shadow:0 28px 70px rgba(0,0,0,.42) !important;
}

/* Login, escolha de ambiente e Console também recebem a mesma linguagem. */
body.lumen-next.google-login-page,
body.lumen-next.access-context-shell,
body.lumen-next.platform-console{
    background:
        radial-gradient(circle at 88% -10%,rgba(201,138,19,.13),transparent 28rem),
        linear-gradient(180deg,#FCFAF5,#F8F5EE) !important;
    color:var(--ln-text) !important;
}
html[data-theme="dark"] body.lumen-next.google-login-page,
html[data-theme="dark"] body.lumen-next.access-context-shell,
html[data-theme="dark"] body.lumen-next.platform-console{
    background:
        radial-gradient(circle at 88% -10%,rgba(232,189,88,.08),transparent 28rem),
        linear-gradient(150deg,#111111,#0D0D0D) !important;
}

body.lumen-next .google-login-card,
body.lumen-next :is(.access-topbar,.access-hero,.access-destinations,.access-security-note,.access-holding-card),
body.lumen-next :is(.platform-topbar,.platform-workbench-head,.platform-organization-head,.platform-organization-list-head,.platform-workbench-card,.platform-workspace-nav,.platform-organization-directory){
    border-color:var(--ln-line) !important;
    background:var(--ln-surface) !important;
    color:var(--ln-text) !important;
    box-shadow:var(--ln-shadow-soft) !important;
}
body.lumen-next .access-topbar,
body.lumen-next .platform-topbar{
    border-radius:0 0 20px 20px !important;
    border-top:0 !important;
    backdrop-filter:blur(20px) saturate(130%);
}
body.lumen-next .access-destination-card,
body.lumen-next .platform-organization-directory__card{
    border-color:var(--ln-line) !important;
    background:var(--ln-surface-soft) !important;
    color:var(--ln-text) !important;
}
body.lumen-next .access-destination-card:not(.is-disabled):hover,
body.lumen-next .platform-organization-directory__card:hover{
    border-color:color-mix(in srgb,var(--ln-gold) 45%,var(--ln-line)) !important;
    background:var(--ln-surface-solid) !important;
    transform:translateY(-1px);
}
body.lumen-next .platform-nav a,
body.lumen-next .platform-nav-more>summary{color:var(--ln-muted) !important;}
body.lumen-next .platform-nav a:hover,
body.lumen-next .platform-nav-more>summary:hover{background:var(--gold-50) !important;color:var(--gold-700) !important;}
body.lumen-next .platform-nav a.active,
body.lumen-next .platform-nav-more.is-active>summary{
    background:#171717 !important;
    color:#E8BD58 !important;
}
html[data-theme="light"] body.lumen-next .platform-nav a.active,
html[data-theme="light"] body.lumen-next .platform-nav-more.is-active>summary{
    background:#FFF8E6 !important;
    color:#8A5A00 !important;
}
html[data-theme="dark"] body.lumen-next .platform-nav a.active,
html[data-theme="dark"] body.lumen-next .platform-nav-more.is-active>summary{
    background:#E8BD58 !important;
    color:#17130A !important;
}

.google-login-theme-switcher{right:76px !important;}
body.lumen-next .access-user .lumen-theme-switcher,
body.lumen-next .platform-topbar__actions .lumen-theme-switcher{flex:0 0 158px;}

/* Rodapé claro nos modos claro/híbrido; escuro apenas no tema escuro. */
body.lumen-next .footer{
    border-color:var(--ln-line) !important;
    background:rgba(255,255,255,.72) !important;
    color:var(--ln-muted) !important;
    box-shadow:none !important;
}
html[data-theme="dark"] body.lumen-next .footer{
    border-color:#34312B !important;
    background:#151515 !important;
    color:#999188 !important;
}

@media(max-width:1420px){
    body.lumen-next .lumen-theme-switcher{flex-basis:146px;width:146px;min-width:146px;}
}
@media(max-width:1180px){
    body.lumen-next .topbar .lumen-theme-switcher{margin-left:auto;}
}
@media(max-width:760px){
    body.lumen-next .lumen-theme-switcher{flex:0 0 132px;width:132px;min-width:132px;height:48px;}
    body.lumen-next .lumen-theme-switcher label{height:38px;}
    body.lumen-next .lumen-theme-switcher span{font-size:17px;}
    body.lumen-next .lumen-theme-switcher .lumen-theme-auto-mark{font-size:12px;}
    .google-login-theme-switcher{top:14px !important;right:62px !important;}
    body.lumen-next .access-user .lumen-theme-switcher,
    body.lumen-next .platform-topbar__actions .lumen-theme-switcher{display:grid;flex:0 0 88px;width:88px;min-width:88px;height:42px;}
    body.lumen-next .access-user .lumen-theme-switcher label,
    body.lumen-next .platform-topbar__actions .lumen-theme-switcher label{height:33px;}
    body.lumen-next .access-user .lumen-theme-switcher span,
    body.lumen-next .platform-topbar__actions .lumen-theme-switcher span{font-size:16px;}
}
@media(max-width:380px){
    .access-topbar{gap:8px;padding-inline:10px;}
    .lumen-ui .access-brand .lumen-brand-name{width:112px;height:42px;}
    .access-user{gap:6px;}
    .platform-topbar{gap:8px;}
    .platform-brand .lumen-brand-name{width:112px;height:43px;}
}
@media(max-width:520px){
    .google-login-theme-switcher{position:static!important;display:flex!important;justify-content:flex-end;margin:0 0 12px!important;}
    body.lumen-next .google-login-theme-switcher .lumen-theme-switcher{display:grid!important;flex:0 0 88px!important;width:88px!important;min-width:88px!important;height:42px!important;}
    body.lumen-next .google-login-theme-switcher .lumen-theme-switcher label{height:33px!important;}
}

@media(prefers-reduced-motion:reduce){
    body.lumen-next *,body.lumen-next *::before,body.lumen-next *::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;}
}

/* Compatibilidade com os tokens legados usados pelos módulos antigos. */
body.lumen-next{
    --ink:var(--ln-text);
    --muted:var(--ln-muted);
    --line:var(--ln-line);
    --bg:var(--ln-bg);
    --surface:var(--ln-surface-solid);
    --primary:#292826;
    --primary2:#171717;
    --accent:#C98A13;
    --ee-bg:var(--ln-bg);
    --ee-bg-soft:var(--ln-surface-soft);
    --ee-ink:var(--ln-text);
    --ee-ink-2:#292826;
    --ee-muted:var(--ln-muted);
    --ee-muted-2:#8A857D;
    --ee-blue:#C98A13;
    --ee-blue-deep:#292826;
    --ee-amber:#A86E08;
    --ee-glass:rgba(255,255,255,.88);
    --ee-glass-strong:#FFFFFF;
    --ee-glass-border:var(--ln-line);
    --ee-line:var(--ln-line);
    --ee-shadow:var(--ln-shadow-soft);
    --ee-shadow-hover:var(--ln-shadow);
}
html[data-theme="dark"] body.lumen-next{
    --primary:#E8BD58;
    --primary2:#C98A13;
    --accent:#E8BD58;
    --ee-ink-2:#E8E1D6;
    --ee-muted-2:#90897E;
    --ee-blue:#E8BD58;
    --ee-blue-deep:#C98A13;
    --ee-amber:#E8BD58;
    --ee-glass:rgba(27,27,27,.90);
    --ee-glass-strong:#1B1B1B;
}

/* Validação pública de certificados: mesma identidade Solar sem interferir no documento impresso. */
body.lumen-next.certificate-public-body{
    background:
        radial-gradient(circle at 88% 4%,rgba(201,138,19,.15),transparent 27rem),
        radial-gradient(circle at 8% 92%,rgba(232,189,88,.10),transparent 24rem),
        linear-gradient(180deg,#FCFAF5,#F8F5EE) !important;
    color:var(--ln-text) !important;
}
body.lumen-next.certificate-public-body .certificate-public-card{
    border-color:var(--ln-line) !important;
    background:rgba(255,255,255,.92) !important;
    color:var(--ln-text) !important;
    box-shadow:0 28px 70px rgba(60,39,0,.12) !important;
    backdrop-filter:blur(18px) saturate(125%);
}
body.lumen-next.certificate-public-body .certificate-public-brand>span{
    background:#171717 !important;
    color:#E8BD58 !important;
}
body.lumen-next.certificate-public-body .certificate-public-brand small,
body.lumen-next.certificate-public-body .certificate-public-card>p,
body.lumen-next.certificate-public-body .certificate-public-note,
body.lumen-next.certificate-public-body .certificate-public-card dt{color:var(--ln-muted) !important;}
body.lumen-next.certificate-public-body .certificate-public-card dl{
    border-color:var(--ln-line) !important;
    background:var(--ln-surface-soft) !important;
}
body.lumen-next.certificate-public-body .certificate-public-card dl div{border-bottom-color:var(--ln-line) !important;}
html[data-theme="dark"] body.lumen-next.certificate-public-body{
    background:
        radial-gradient(circle at 88% 4%,rgba(232,189,88,.08),transparent 27rem),
        linear-gradient(150deg,#111111,#0D0D0D) !important;
}
html[data-theme="dark"] body.lumen-next.certificate-public-body .certificate-public-card{
    border-color:#34312B !important;
    background:rgba(27,27,27,.94) !important;
    box-shadow:0 30px 80px rgba(0,0,0,.42) !important;
}

/* ======================================================================
   LUMEN Solar · correções de consistência visual (17/09)
   Ajusta cards de destaque, painel de atenção e header do portal família.
   ====================================================================== */

/* Cards da arquitetura: mais contraste e leitura imediata. */
body.lumen-next .architecture-module-card{
    border:1px solid var(--ln-line) !important;
    background:
        linear-gradient(180deg,color-mix(in srgb,var(--gold-50) 76%,#ffffff) 0%,#ffffff 34%,#ffffff 100%) !important;
    box-shadow:0 12px 30px rgba(60,39,0,.055) !important;
}
body.lumen-next .architecture-module-card .architecture-step{
    border:1px solid color-mix(in srgb,var(--ln-gold) 24%,var(--ln-line)) !important;
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
}
body.lumen-next .architecture-module-card h2{
    color:var(--ln-text) !important;
}
body.lumen-next .architecture-module-card p{
    color:color-mix(in srgb,var(--ln-text) 62%,var(--ln-muted)) !important;
}
body.lumen-next .architecture-module-card > b{
    color:var(--gold-700) !important;
}
body.lumen-next .architecture-module-card:hover{
    border-color:color-mix(in srgb,var(--ln-gold) 54%,var(--ln-line)) !important;
    background:
        linear-gradient(180deg,color-mix(in srgb,var(--gold-50) 92%,#ffffff) 0%,#ffffff 36%,#ffffff 100%) !important;
}
html[data-theme="hybrid"] body.lumen-next .architecture-module-card,
html[data-theme="dark"] body.lumen-next .architecture-module-card{
    border-color:var(--ln-line) !important;
}
html[data-theme="dark"] body.lumen-next .architecture-module-card{
    background:
        linear-gradient(180deg,rgba(232,189,88,.08) 0%,rgba(27,27,27,.98) 34%,rgba(27,27,27,.98) 100%) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.24) !important;
}
html[data-theme="dark"] body.lumen-next .architecture-module-card .architecture-step{
    background:rgba(232,189,88,.10) !important;
    border-color:rgba(232,189,88,.22) !important;
    color:#F0CE76 !important;
}
html[data-theme="dark"] body.lumen-next .architecture-module-card p{
    color:#C8C1B6 !important;
}

/* Faixa do Livro de Ponto alinhada ao Solar. */
body.lumen-next .secretary-point-book-entry{
    border:1px solid color-mix(in srgb,var(--ln-gold) 34%,var(--ln-line)) !important;
    box-shadow:0 18px 42px rgba(23,23,23,.10) !important;
}
body.lumen-next .secretary-point-book-entry > div:last-child a{
    border:1px solid var(--ln-line) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:0 8px 20px rgba(60,39,0,.06) !important;
}
body.lumen-next .secretary-point-book-entry > div:last-child a strong{color:var(--ln-text) !important;}
body.lumen-next .secretary-point-book-entry > div:last-child a small{color:var(--gold-700) !important;}
body.lumen-next .secretary-point-book-entry > div:last-child a b{color:var(--gold-600) !important;}
html[data-theme="dark"] body.lumen-next .secretary-point-book-entry > div:last-child a{
    border-color:var(--ln-line) !important;
    background:rgba(31,31,31,.96) !important;
}
html[data-theme="dark"] body.lumen-next .secretary-point-book-entry > div:last-child a strong{color:#F7F3EA !important;}

/* Painel "O que pede atenção": sai do estado lavado e volta ao contraste do modelo aprovado. */
body.lumen-next .ped-attention-panel{
    border:1px solid var(--ln-line) !important;
    background:
        radial-gradient(circle at 92% 10%,rgba(201,138,19,.08),transparent 14rem),
        linear-gradient(180deg,#FFFDF9 0%,#FBF8F1 100%) !important;
    color:var(--ln-text) !important;
    box-shadow:var(--ln-shadow-soft) !important;
}
body.lumen-next .ped-attention-panel .eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:7px 12px !important;
    border:1px solid color-mix(in srgb,var(--ln-gold) 28%,var(--ln-line)) !important;
    border-radius:999px !important;
    background:var(--gold-50) !important;
    color:var(--gold-600) !important;
}
body.lumen-next .ped-attention-panel .ped-section-head h2{
    color:var(--ln-text) !important;
    font-size:clamp(2rem,2.8vw,2.65rem) !important;
    letter-spacing:-.045em !important;
}
body.lumen-next .ped-attention-list{
    display:grid !important;
    gap:12px !important;
}
body.lumen-next .ped-attention-list a{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    gap:4px 12px !important;
    align-items:center !important;
    padding:18px 18px !important;
    border:1px solid var(--ln-line) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.86) !important;
    color:var(--ln-text) !important;
    box-shadow:0 6px 16px rgba(60,39,0,.035) !important;
}
body.lumen-next .ped-attention-list a:hover{
    border-color:color-mix(in srgb,var(--ln-gold) 40%,var(--ln-line)) !important;
    background:#FFFFFF !important;
}
body.lumen-next .ped-attention-list a span{
    color:var(--ln-muted) !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
}
body.lumen-next .ped-attention-list a small{
    color:color-mix(in srgb,var(--ln-text) 56%,var(--ln-muted)) !important;
    font-size:14px !important;
    line-height:1.45 !important;
}
body.lumen-next .ped-attention-list a strong{
    grid-column:2 !important;
    color:var(--gold-600) !important;
    font-size:52px !important;
    line-height:1 !important;
    font-weight:900 !important;
}
body.lumen-next .ped-attention-list a i{
    grid-column:3 !important;
    color:var(--gold-400) !important;
    font-style:normal !important;
    font-size:20px !important;
    opacity:.9 !important;
}
body.lumen-next .ped-attention-list a.is-zero{
    opacity:.78 !important;
}
body.lumen-next .ped-attention-list a.is-zero strong{color:#B9AE95 !important;}
body.lumen-next .ped-attention-list a.tone-warning:not(.is-zero){
    border-color:rgba(201,138,19,.26) !important;
    background:linear-gradient(180deg,#FFFDF8,#FFF8EA) !important;
}
body.lumen-next .ped-attention-list a.tone-danger:not(.is-zero){
    border-color:rgba(183,74,69,.22) !important;
    background:linear-gradient(180deg,#FFFDFD,#FCEFED) !important;
}
body.lumen-next .ped-attention-list a.tone-info:not(.is-zero){
    border-color:rgba(76,117,148,.22) !important;
    background:linear-gradient(180deg,#FCFEFF,#EEF4F8) !important;
}
body.lumen-next .ped-attention-list a.tone-neutral:not(.is-zero){
    border-color:rgba(201,138,19,.18) !important;
    background:linear-gradient(180deg,#FFFFFF,#FBF8F1) !important;
}
html[data-theme="dark"] body.lumen-next .ped-attention-panel{
    border-color:var(--ln-line) !important;
    background:
        radial-gradient(circle at 92% 10%,rgba(232,189,88,.10),transparent 14rem),
        linear-gradient(180deg,#1C1B18 0%,#1B1B1B 100%) !important;
}
html[data-theme="dark"] body.lumen-next .ped-attention-panel .eyebrow{
    background:rgba(232,189,88,.09) !important;
    border-color:rgba(232,189,88,.20) !important;
    color:#F0CE76 !important;
}
html[data-theme="dark"] body.lumen-next .ped-attention-panel .ped-section-head h2{
    color:#F7F3EA !important;
}
html[data-theme="dark"] body.lumen-next .ped-attention-list a{
    border-color:#35322D !important;
    background:#242321 !important;
    box-shadow:none !important;
}
html[data-theme="dark"] body.lumen-next .ped-attention-list a:hover{background:#2A2825 !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a span{color:#BCB5AA !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a small{color:#D0C9BE !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a strong{color:#F0CE76 !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a i{color:#E8BD58 !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a.tone-warning:not(.is-zero){background:linear-gradient(180deg,#272115,#242321) !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a.tone-danger:not(.is-zero){background:linear-gradient(180deg,#2D1E1C,#242321) !important;}
html[data-theme="dark"] body.lumen-next .ped-attention-list a.tone-info:not(.is-zero){background:linear-gradient(180deg,#1E252B,#242321) !important;}

/* Header do portal família: volta para o mesmo idioma visual do header principal. */
body.lumen-next.parent-mode > header.topbar{
    align-items:center !important;
}
body.lumen-next.parent-mode .parent-header-following-strip{
    order:8 !important;
    flex:0 1 360px !important;
    width:auto !important;
    min-width:260px !important;
    max-width:420px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 !important;
    padding:9px 12px !important;
    border:1px solid var(--ln-line) !important;
    border-radius:15px !important;
    background:rgba(255,255,255,.72) !important;
    color:var(--ln-text) !important;
    box-shadow:0 6px 18px rgba(52,42,22,.045) !important;
}
body.lumen-next.parent-mode .parent-header-following-copy{
    min-width:0 !important;
    display:grid !important;
    gap:1px !important;
    align-items:flex-start !important;
}
body.lumen-next.parent-mode .parent-header-following-copy small{
    color:var(--gold-600) !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
}
body.lumen-next.parent-mode .parent-header-following-copy strong{
    overflow:hidden !important;
    color:var(--ln-text) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
body.lumen-next.parent-mode .parent-header-following-copy span{
    overflow:hidden !important;
    color:var(--ln-muted) !important;
    font-size:11px !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
body.lumen-next.parent-mode .parent-header-following-switch{flex:0 0 auto !important;}
body.lumen-next.parent-mode .parent-header-following-switch>summary{
    min-height:34px !important;
    padding:7px 10px !important;
    border:1px solid var(--ln-line) !important;
    border-radius:11px !important;
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
    font-size:10px !important;
}
body.lumen-next.parent-mode .parent-header-following-menu{
    border-color:var(--ln-line) !important;
    border-radius:14px !important;
    background:var(--ln-surface-solid) !important;
    box-shadow:0 22px 54px rgba(60,39,0,.16) !important;
}
body.lumen-next.parent-mode .parent-header-following-menu a:hover{background:var(--gold-50) !important;}
body.lumen-next.parent-mode .parent-header-following-menu a.is-active{background:color-mix(in srgb,var(--gold-100) 72%,#fff) !important;}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-strip{
    border-color:var(--ln-line) !important;
    background:rgba(36,35,33,.95) !important;
    color:#F7F3EA !important;
}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-copy small{color:#E8BD58 !important;}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-copy strong{color:#F7F3EA !important;}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-copy span{color:#BCB5AA !important;}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-switch>summary{
    border-color:#4E473C !important;
    background:#302817 !important;
    color:#F0CE76 !important;
}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-menu{
    border-color:#4E473C !important;
    background:#1B1B1B !important;
}
html[data-theme="dark"] body.lumen-next.parent-mode .parent-header-following-menu a:hover{background:#2A2825 !important;}

@media (max-width:1360px){
    body.lumen-next.parent-mode .parent-header-following-strip{
        flex:1 0 100% !important;
        max-width:none !important;
    }
}
@media (max-width:760px){
    body.lumen-next .ped-attention-panel .ped-section-head h2{font-size:2.1rem !important;}
    body.lumen-next .ped-attention-list a{padding:15px 15px !important;}
    body.lumen-next .ped-attention-list a strong{font-size:40px !important;}
    body.lumen-next.parent-mode .parent-header-following-strip{
        flex:1 0 100% !important;
        min-width:0 !important;
        padding:10px 12px !important;
    }
}
@media (max-width:520px){
    body.lumen-next.parent-mode .parent-header-following-strip{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    body.lumen-next.parent-mode .parent-header-following-switch,
    body.lumen-next.parent-mode .parent-header-following-switch>summary{width:100% !important;}
    body.lumen-next.parent-mode .parent-header-following-menu{left:0 !important;right:auto !important;width:100% !important;}
}

/* ======================================================================
   LUMEN Solar · navegação hierárquica aprovada + cards com preenchimento
   ====================================================================== */

/* Segunda barra: breadcrumb solto à esquerda + navegação contextual em cápsula à direita. */
body.lumen-next .lumen-next-contextbar{
    position:sticky !important;
    top:106px !important;
    z-index:810 !important;
    width:calc(100% - 64px) !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    margin:10px 32px 0 !important;
    padding:7px 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}
body.lumen-next .lumen-next-contextbar__identity.lumen-next-breadcrumb{
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    padding:0 !important;
    border:0 !important;
    color:var(--ln-muted) !important;
    white-space:nowrap !important;
}
body.lumen-next .lumen-next-breadcrumb a{
    color:var(--ln-muted) !important;
    font-size:11px !important;
    font-weight:650 !important;
    text-decoration:none !important;
}
body.lumen-next .lumen-next-breadcrumb span{
    color:var(--ln-muted-2) !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
}
body.lumen-next .lumen-next-breadcrumb a.is-current{
    color:var(--gold-700) !important;
    font-weight:850 !important;
}
body.lumen-next .lumen-next-contextbar__links{
    min-width:0 !important;
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    margin-left:auto !important;
    padding:5px !important;
    overflow-x:auto !important;
    border:1px solid var(--ln-line) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 10px 28px rgba(60,39,0,.055) !important;
    scrollbar-width:none;
}
body.lumen-next .lumen-next-contextbar__links::-webkit-scrollbar{display:none;}
body.lumen-next .lumen-next-contextbar__links a{
    min-height:38px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 13px !important;
    border-radius:10px !important;
    background:transparent !important;
    color:var(--ln-muted) !important;
    font-size:11px !important;
    font-weight:820 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:background-color .15s ease,color .15s ease !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-next-contextbar__links a:hover{
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
}
}
body.lumen-next .lumen-next-contextbar__links a.active{
    background:#171717 !important;
    color:#E8BD58 !important;
    box-shadow:0 7px 16px rgba(23,23,23,.13) !important;
}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar{
    background:transparent !important;
    border:0 !important;
}
html[data-theme="dark"] body.lumen-next .lumen-next-breadcrumb a{color:#AFA89D !important;}
html[data-theme="dark"] body.lumen-next .lumen-next-breadcrumb a.is-current{color:#F0CE76 !important;}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links{
    border-color:#35322D !important;
    background:rgba(27,27,27,.92) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links a.active{
    background:#E8BD58 !important;
    color:#17130A !important;
}
@media (hover:hover) and (pointer:fine) {
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links a:hover{
    background:#302817 !important;
    color:#F0CE76 !important;
}
}

/* O card aprovado no protótipo: preenchimento dourado sobe suavemente do rodapé. */
body.lumen-next .architecture-module-card::before{
    content:"" !important;
    position:absolute !important;
    inset:auto -38% -84% -38% !important;
    z-index:0 !important;
    display:block !important;
    height:128% !important;
    border-radius:50% !important;
    background:color-mix(in srgb,var(--ln-gold) 9%,var(--ln-surface-solid)) !important;
    transform:translateY(0) !important;
    transition:transform .58s cubic-bezier(.2,.8,.2,1) !important;
    pointer-events:none !important;
}
body.lumen-next .architecture-module-card::after{display:none !important;}
body.lumen-next .architecture-module-card > *{
    z-index:1 !important;
}
body.lumen-next .architecture-module-card:hover::before{
    transform:translateY(-48%) !important;
}
body.lumen-next .architecture-module-card:hover{
    transform:translateY(-4px) !important;
    border-color:color-mix(in srgb,var(--ln-gold) 45%,var(--ln-line)) !important;
    box-shadow:0 20px 42px rgba(138,90,0,.11) !important;
}
body.lumen-next .architecture-module-card > b{
    transition:transform .22s ease,color .15s ease !important;
}
body.lumen-next .architecture-module-card:hover > b{
    transform:translateX(4px) !important;
    color:var(--gold-600) !important;
}
html[data-theme="dark"] body.lumen-next .architecture-module-card::before{
    background:color-mix(in srgb,#E8BD58 9%,#1B1B1B) !important;
}
html[data-theme="dark"] body.lumen-next .architecture-module-card:hover{
    border-color:rgba(232,189,88,.34) !important;
    box-shadow:0 20px 44px rgba(0,0,0,.28) !important;
}

/* O hub de certificados usa a mesma linguagem dos demais módulos. */
body.lumen-next .certificate-cycle-hub{margin-top:16px !important;}
body.lumen-next .certificate-hub-empty{grid-column:1/-1;padding:24px !important;}

@media (max-width:1180px){
    body.lumen-next .lumen-next-contextbar{
        position:static !important;
        width:calc(100% - 40px) !important;
        margin:8px 20px 0 !important;
    }
}
@media (max-width:760px){
    body.lumen-next .lumen-next-contextbar{
        width:calc(100% - 28px) !important;
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:8px !important;
        margin:6px 14px 0 !important;
        padding:6px 0 !important;
    }
    body.lumen-next .lumen-next-contextbar__links{
        width:100% !important;
        margin-left:0 !important;
    }
}
@media (prefers-reduced-motion:reduce){
    body.lumen-next .architecture-module-card::before,
    body.lumen-next .architecture-module-card,
    body.lumen-next .architecture-module-card > b{transition:none !important;}
}

/* ======================================================================
   LUMEN Solar · auditoria global de contraste V4
   Corrige heranças antigas que ainda fixavam branco/cinza claro em telas
   internas e normaliza ações de cabeçalho em todos os temas.
   Não toca em folhas destinadas a impressão/documentos formais.
   ====================================================================== */

/* Ações em cabeçalhos de página: não herdar mais o antigo texto branco. */
body.lumen-next .page-heading .heading-actions .button.secondary,
body.lumen-next .hero .heading-actions .button.secondary,
body.lumen-next .page-heading .button.secondary,
body.lumen-next .hero .button.secondary{
    border:1px solid var(--ln-line-strong) !important;
    background:var(--ln-surface-solid) !important;
    color:var(--ln-text) !important;
    box-shadow:0 5px 14px rgba(60,39,0,.045) !important;
}
body.lumen-next .page-heading .heading-actions .button.secondary:hover,
body.lumen-next .hero .heading-actions .button.secondary:hover,
body.lumen-next .page-heading .button.secondary:hover,
body.lumen-next .hero .button.secondary:hover{
    border-color:#CDBA90 !important;
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
}
body.lumen-next .page-heading .heading-actions .button.ghost,
body.lumen-next .hero .heading-actions .button.ghost,
body.lumen-next .page-heading .button.ghost,
body.lumen-next .hero .button.ghost{
    border:1px solid var(--ln-line) !important;
    background:transparent !important;
    color:var(--ln-muted) !important;
    box-shadow:none !important;
}
body.lumen-next .page-heading .heading-actions .button.ghost:hover,
body.lumen-next .hero .heading-actions .button.ghost:hover,
body.lumen-next .page-heading .button.ghost:hover,
body.lumen-next .hero .button.ghost:hover{
    background:var(--ln-surface-soft) !important;
    color:var(--ln-text) !important;
}
html[data-theme="dark"] body.lumen-next .page-heading .heading-actions .button.secondary,
html[data-theme="dark"] body.lumen-next .hero .heading-actions .button.secondary,
html[data-theme="dark"] body.lumen-next .page-heading .button.secondary,
html[data-theme="dark"] body.lumen-next .hero .button.secondary{
    border-color:#4B463D !important;
    background:#242321 !important;
    color:#F7F3EA !important;
}
html[data-theme="dark"] body.lumen-next .page-heading .heading-actions .button.secondary:hover,
html[data-theme="dark"] body.lumen-next .hero .heading-actions .button.secondary:hover,
html[data-theme="dark"] body.lumen-next .page-heading .button.secondary:hover,
html[data-theme="dark"] body.lumen-next .hero .button.secondary:hover{
    border-color:#6A5C35 !important;
    background:#2B2924 !important;
    color:#F0CE76 !important;
}
html[data-theme="dark"] body.lumen-next .page-heading .heading-actions .button.ghost,
html[data-theme="dark"] body.lumen-next .hero .heading-actions .button.ghost,
html[data-theme="dark"] body.lumen-next .page-heading .button.ghost,
html[data-theme="dark"] body.lumen-next .hero .button.ghost{
    border-color:#3F3B34 !important;
    background:transparent !important;
    color:#C8C1B6 !important;
}
html[data-theme="dark"] body.lumen-next .page-heading .heading-actions .button.ghost:hover,
html[data-theme="dark"] body.lumen-next .hero .heading-actions .button.ghost:hover,
html[data-theme="dark"] body.lumen-next .page-heading .button.ghost:hover,
html[data-theme="dark"] body.lumen-next .hero .button.ghost:hover{
    background:#242321 !important;
    color:#F7F3EA !important;
}

/* Details/ações recolhíveis: corrige o pill claro com texto claro no tema escuro. */
body.lumen-next .calendar-collapsible-summary > b,
body.lumen-next .calendar-marker-settings > summary > b{
    border:1px solid rgba(201,138,19,.20) !important;
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
    font-weight:850 !important;
}
html[data-theme="dark"] body.lumen-next .calendar-collapsible-summary > b,
html[data-theme="dark"] body.lumen-next .calendar-marker-settings > summary > b{
    border-color:rgba(232,189,88,.22) !important;
    background:#302817 !important;
    color:#F0CE76 !important;
}
html[data-theme="dark"] body.lumen-next .calendar-collapsible[open] > .calendar-collapsible-summary,
html[data-theme="dark"] body.lumen-next .calendar-actions-panel[open] > .calendar-collapsible-summary{
    border-bottom-color:var(--ln-line) !important;
    background:#22211E !important;
}

/* Superfícies neutras que ainda vinham do app antigo com branco/cinza fixo. */
html[data-theme="dark"] body.lumen-next :is(
    .health-meta span,
    .document-student-card,
    .document-section-heading>span,
    .food-context,
    .ded-teacher-stats span,
    .ded-grid-shift th,
    .matrix-online-table tfoot th,
    .matrix-profile-stats span,
    .calendar-event-dates,
    .calendar-event-open,
    .calendar-notification-status,
    .calendar-notify-now,
    .teacher-email-readiness>span,
    .teacher-directory-meta span,
    .google-user-chip>a,
    .matrix-class-card-head b,
    .matrix-class-progress,
    .matrix-editor-side>span,
    .assignment-rule>span,
    .journey-concept-code,
    .journey-day-slots,
    .matrix-annual-input[readonly],
    .matrix-load-summary>span,
    .admin-registry-rule,
    .admin-card-count,
    .admin-system-tags span,
    .is-editing-row td,
    .class-card-metrics span,
    .student-avatar,
    .component-symbol,
    .space-catalog-icon,
    .server-color-code,
    .server-avatar,
    .import-toggle-label,
    .matrix-import-hours strong,
    .teacher-workload-matrix-value,
    .ded-workload-impact-counts span,
    .teacher-workload-history-values span,
    .ded-component-count,
    .secretary-flow-rule,
    .assignment-subject-search-status strong,
    .assignment-subject-search-clear,
    .school-time-row-order,
    .timetable-validation-rail-icon,
    .architecture-order,
    .management-status,
    .guardian-profile-card,
    .row-actions>summary,
    .student-picker-empty,
    .professor-summary-grid>a,
    .professor-summary-grid>div,
    .management-progress-note,
    .school-readiness-item-icon,
    .readiness-page-item-icon,
    .point-book-type-switch__icon,
    .student-preview-select-page form,
    .student-preview-select-page select,
    .learning-medal,
    .platform-performance-note
){
    border-color:var(--ln-line) !important;
    background:var(--ln-surface-soft) !important;
    color:var(--ln-text) !important;
}
html[data-theme="dark"] body.lumen-next :is(
    .health-meta span,
    .ded-teacher-stats span,
    .matrix-profile-stats span,
    .teacher-directory-meta span,
    .admin-system-tags span,
    .class-card-metrics span,
    .server-color-code,
    .teacher-workload-history-values span
){color:#C7C0B5 !important;}

/* Itens informativos azuis do legado tornam-se azul-petróleo escuro, não branco. */
html[data-theme="dark"] body.lumen-next :is(
    .food-date-icon,
    .calendar-event-open,
    .calendar-notification-status,
    .calendar-notify-now,
    .matrix-class-card-head b,
    .matrix-editor-side>span,
    .assignment-rule>span,
    .admin-card-count,
    .component-symbol,
    .space-catalog-icon,
    .server-color-code,
    .server-avatar,
    .import-toggle-label,
    .matrix-import-hours strong,
    .assignment-subject-search-status strong,
    .assignment-subject-search-clear,
    .school-time-row-order,
    .timetable-validation-rail-icon,
    .architecture-order,
    .progress-badge.progress,
    .management-progress-note,
    .school-readiness-summary.is-info,
    .school-readiness-summary.is-info b,
    .ded-day-waiting,
    .ded-history-icon,
    .student-flow-badge.monitor
){
    border-color:#334A58 !important;
    background:#1D2B33 !important;
    color:#9FC4D9 !important;
}

/* Estados positivos. */
html[data-theme="dark"] body.lumen-next :is(
    .occurrence-pending-count,
    .status-active,
    .professor-ded-icon,
    .ded-calendar-recognition-ok,
    .journey-concept-card.is-extraclass .journey-concept-code,
    .journey-progress-summary,
    .journey-slot-actions>span,
    .ded-workload-no-observation,
    .teacher-workload-vigency-status,
    .privacy-badge,
    .progress-badge.done,
    .school-readiness-summary.is-ready,
    .ded-annual-all-good,
    .food-complete-check,
    .platform-status.status-active,
    .platform-home-clear-badge,
    .demo-safe-badge,
    .demo-status.status-active,
    .institutional-status.is-published,
    .listening-quality-badge.is-validated,
    .listening-mediation-records .is-approved,
    .listening-mediation-records .is-edited,
    .listening-mediation-modal .is-approved,
    .listening-mediation-modal .is-edited,
    .listening-mediation-feedback,
    .parent-privacy-note,
    .assessment-lot-card.is-review-approved .is-review-status
){
    border-color:#315844 !important;
    background:#1D3023 !important;
    color:#8FC9A8 !important;
}

/* Avisos/dourados. */
html[data-theme="dark"] body.lumen-next :is(
    .student-flow-badge.required,
    .progress-badge.monitor,
    .platform-status.status-implementation,
    .platform-implementation-pending span,
    .platform-home-priority-count,
    .platform-home-priority-icon,
    .demo-status.status-provisioning,
    .institutional-level,
    .point-book-rewrite-note,
    .ded-annual-audit-warnings span,
    .cc-status.is-highlight,
    .cc-student-tags span.is-highlight,
    .occurrence-selected-chip,
    .family-comment-kind,
    .family-listening-cycle__icon,
    .parent-children-count,
    .parent-child-avatar,
    .intervention-bulk-students em,
    .school-readiness-summary.is-warning
){
    border-color:#5A4922 !important;
    background:#302817 !important;
    color:#E8C96B !important;
}

/* Erros/atenção grave. */
html[data-theme="dark"] body.lumen-next :is(
    .progress-badge.cancelled,
    .platform-status.status-suspended,
    .demo-status.status-failed,
    .listening-quality-badge.is-excluded,
    .listening-quality-decision .is-delete,
    .occurrence-grave-review,
    .food-usage-remove,
    .assessment-lot-card.is-review-returned .is-review-status,
    .assessment-lot-card.is-review-stale .is-review-status,
    .school-readiness-summary.is-blocker
){
    border-color:#653632 !important;
    background:#38201E !important;
    color:#E99A94 !important;
}

/* Cinzas/estados neutros. */
html[data-theme="dark"] body.lumen-next :is(
    .status-cancelled,
    .platform-status,
    .platform-status.status-inactive,
    .operation-pill,
    .operation-pill.status-expired,
    .operation-pill.status-cancelled,
    .demo-status.status-expired,
    .demo-status.status-revoked,
    .institutional-status.is-archived,
    .institutional-status-toggle,
    .listening-quality-badge
){
    border-color:#44413B !important;
    background:#2A2926 !important;
    color:#C7C0B5 !important;
}

/* Fluxos acadêmicos/administrativos que mantinham pequenas caixas claras. */
html[data-theme="dark"] body.lumen-next :is(
    .teacher-workload-coordination,
    .school-shift-count-stack>small,
    .school-countershift-label
){
    border-color:#50425B !important;
    background:#302837 !important;
    color:#C9AFD5 !important;
}
html[data-theme="dark"] body.lumen-next .school-countershift-label b{
    background:#6A55C4 !important;
    color:#FFFFFF !important;
}

/* Popovers/linhas editáveis/listas internas. */
html[data-theme="dark"] body.lumen-next :is(
    .row-actions[open]>summary,
    .row-actions-menu,
    .family-comment-actions details>form,
    .family-cycle-control-grid form,
    .family-response-list article,
    .family-response-comment,
    .family-response-review input,
    .family-response-review select,
    .family-report-comments blockquote,
    .listening-quality-subject-decision,
    .listening-quality-subject-options label,
    .cc-minute-confirm,
    .student-preview-select-page,
    .student-preview-select-page form,
    .pre-council-deadline,
    .pre-council-deadline__actions input
){
    border-color:var(--ln-line) !important;
    background:#22211F !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next .row-actions-menu button:hover{
    background:#2A2926 !important;
    color:#F0CE76 !important;
}

/* Família e escuta: cartões que ainda tinham #fff literal. */
html[data-theme="dark"] body.lumen-next :is(
    .family-listening-cycle__meta span,
    .family-result-bars i,
    .listening-quality-flags article,
    .listening-quality-flags article.is-info,
    .listening-mediation-body aside,
    .listening-mediation-records>button
){
    border-color:var(--ln-line) !important;
    background:#2A2926 !important;
    color:#CFC8BD !important;
}
html[data-theme="dark"] body.lumen-next .parent-student-identity{
    border-color:#554823 !important;
    background:linear-gradient(100deg,#302817,#242321) !important;
    color:#F0EAE0 !important;
}

/* Conselho: manter documentos e cartões de trabalho legíveis no escuro. */
html[data-theme="dark"] body.lumen-next :is(
    .cc-document-overview article,
    .cc-report-class-item,
    .cc-minute-preview-banner
){
    border-color:var(--ln-line) !important;
    background:#242321 !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next .cc-document-history>a{
    border-color:var(--ln-line) !important;
    background:#2A2926 !important;
    color:#E8E1D6 !important;
}

/* Ocorrências: revisão e contas vinculadas. */
html[data-theme="dark"] body.lumen-next :is(
    .occurrence-connected-account,
    .occurrence-review-surface,
    .occurrence-student-breakdown>article
){
    border-color:var(--ln-line) !important;
    background:#242321 !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next .occurrence-connected-account>b{
    background:#1D2B33 !important;
    color:#9FC4D9 !important;
}
html[data-theme="dark"] body.lumen-next .occurrence-review-header>strong{
    background:#302817 !important;
    color:#E8C96B !important;
}

/* Console de plataforma: status claros demais no dark mode. */
html[data-theme="dark"] body.lumen-next :is(
    .platform-migration-card,
    .platform-workbench-tasks>a,
    .platform-workbench-clear
){
    border-color:var(--ln-line) !important;
    background:#242321 !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next :is(.platform-workbench-tasks>a>b,.platform-workbench-clear>b){
    background:#302817 !important;
    color:#E8C96B !important;
}
html[data-theme="dark"] body.lumen-next .platform-home-org-mark{
    background:#302817 !important;
    color:#E8C96B !important;
}
html[data-theme="dark"] body.lumen-next .platform-home-priority-icon.is-system{
    background:#1D2B33 !important;
    color:#9FC4D9 !important;
}

/* Elementos do Livro de Ponto. */
html[data-theme="dark"] body.lumen-next .point-book-extra-grid fieldset label:hover{
    background:#2A2926 !important;
}
html[data-theme="dark"] body.lumen-next .point-book-sticky-save{
    border-color:#574A2C !important;
    background:rgba(35,32,24,.97) !important;
    color:#F0EAE0 !important;
}

/* Perfil da escola: o logo em si pode ser branco; o contêiner não pode estourar contraste. */
html[data-theme="dark"] body.lumen-next .school-identity-logo{
    border-color:#4B463D !important;
    background:#242321 !important;
    color:#E8BD58 !important;
}

/* Rodapé/links de contexto em escuro. */
html[data-theme="dark"] body.lumen-next .google-user-chip>a{
    border-color:#45413A !important;
    background:#2A2926 !important;
    color:#E8C96B !important;
}

/* Contraste de texto genérico dentro das superfícies harmonizadas. */
html[data-theme="dark"] body.lumen-next main :is(
    .panel,.card,.metric,.metric-card,.architecture-module-card,.list-card,.linked-card,
    .assessment-panel,.learning-card,.listening-panel,.parent-children-section,
    .point-book-person,.point-book-metrics article,.food-meal-summary,.food-usage-row,
    .school-identity-preview,.cc-document-overview article,.pre-council-deadline
) :is(h1,h2,h3,h4,h5,h6,strong):not(:where([data-theme-surface="light"] *)){
    color:#F7F3EA !important;
}
html[data-theme="dark"] body.lumen-next main :is(
    .panel,.card,.metric,.metric-card,.architecture-module-card,.list-card,.linked-card,
    .assessment-panel,.learning-card,.listening-panel,.parent-children-section,
    .point-book-person,.point-book-metrics article,.food-meal-summary,.food-usage-row,
    .school-identity-preview,.cc-document-overview article,.pre-council-deadline
) :is(p,small,span:not(.pill):not(.badge):not([class*="status"])):not(:where([data-theme-surface="light"] *)){
    color:#C2BBB0;
}

/* Proteção final: controles compactos nunca ficam branco sobre branco ou branco sobre quase branco. */
body.lumen-next .heading-actions .button,
body.lumen-next .calendar-collapsible-summary>b,
body.lumen-next .calendar-marker-settings>summary>b{
    text-shadow:none !important;
}

/* Fechamento da auditoria: seletores legados restantes com fundo literal claro. */
html[data-theme="dark"] body.lumen-next :is(
    .guardian-avatar,
    .student-picker-avatar,
    .active-search-attempt-date,
    .teacher-step-number,
    .professor-calendar-action .professor-calendar-icon,
    .lumen-confirm-icon,
    .timetable-view-state,
    .access-status
){
    border-color:#334A58 !important;
    background:#1D2B33 !important;
    color:#9FC4D9 !important;
}
html[data-theme="dark"] body.lumen-next :is(.active-search-attempt,.active-search-attempt:hover){
    border-color:var(--ln-line) !important;
    background:#242321 !important;
    color:#E8E1D6 !important;
}
html[data-theme="dark"] body.lumen-next :is(.family-published-card,.family-published-card.is-occurrence){
    border-color:var(--ln-line) !important;
    background:linear-gradient(135deg,#24211A,#1F1F1D 68%) !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next :is(.institutional-migration,.timetable-import-readiness-state,.student-tags span){
    border-color:#5A4922 !important;
    background:#302817 !important;
    color:#E8C96B !important;
}
html[data-theme="dark"] body.lumen-next :is(.occurrence-choice-check,.timetable-live-clean-state,.ded-subject-counts .is-done,.cc-document-card.is-feedback .cc-document-icon){
    border-color:#315844 !important;
    background:#1D3023 !important;
    color:#8FC9A8 !important;
}
html[data-theme="dark"] body.lumen-next body.is-display-mode .cc-meeting-shell,
html[data-theme="dark"] body.lumen-next.is-display-mode .cc-meeting-shell{
    background:#1B1B1B !important;
    color:#F0EAE0 !important;
}
html[data-theme="dark"] body.lumen-next :is(.document-preview-pane,.document-preview-stage iframe){
    background:#2A2926 !important;
}
html[data-theme="dark"] body.lumen-next .timeline::before{background:#3A3731 !important;}
html[data-theme="dark"] body.lumen-next .case-callout-link:hover{background:#1D2B33 !important;color:#9FC4D9 !important;}

/* ======================================================================
   LUMEN Solar · subnavegação contextual compacta (modelo aprovado)
   A segunda navegação é uma cápsula independente, alinhada à direita.
   ====================================================================== */
body.lumen-next .lumen-next-contextbar{
    position:sticky !important;
    top:104px !important;
    z-index:820 !important;
    width:auto !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:0 !important;
    margin:14px 32px 8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    pointer-events:none;
}
body.lumen-next .lumen-next-contextbar__identity{
    display:none !important;
}
body.lumen-next .lumen-next-contextbar__links{
    min-width:0 !important;
    max-width:min(100%,760px) !important;
    width:max-content !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    margin-left:auto !important;
    padding:5px !important;
    overflow-x:auto !important;
    border:1px solid var(--ln-line) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 10px 26px rgba(60,39,0,.055) !important;
    backdrop-filter:blur(18px) saturate(135%) !important;
    scrollbar-width:none;
    pointer-events:auto;
}
body.lumen-next .lumen-next-contextbar__links::-webkit-scrollbar{display:none;}
body.lumen-next .lumen-next-contextbar__links a{
    min-height:36px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    padding:8px 12px !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:var(--ln-muted) !important;
    font-size:11px !important;
    font-weight:850 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    box-shadow:none !important;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-next-contextbar__links a:hover{
    background:var(--gold-50) !important;
    color:var(--gold-700) !important;
    transform:none !important;
}
}
body.lumen-next .lumen-next-contextbar__links a.active{
    background:#171717 !important;
    color:#E8BD58 !important;
    box-shadow:none !important;
}
html[data-theme="light"] body.lumen-next .lumen-next-contextbar__links,
html[data-theme="hybrid"] body.lumen-next .lumen-next-contextbar__links{
    border-color:var(--ln-line) !important;
    background:rgba(255,255,255,.90) !important;
}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links{
    border-color:#35322D !important;
    background:rgba(27,27,27,.92) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links a{
    color:#BCB5AA !important;
}
@media (hover:hover) and (pointer:fine) {
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links a:hover{
    background:#2A2824 !important;
    color:#F0CE76 !important;
}
}
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__links a.active{
    background:#E8BD58 !important;
    color:#17130A !important;
}

@media(max-width:1180px){
    body.lumen-next .lumen-next-contextbar{
        position:static !important;
        width:auto !important;
        margin:10px 20px 4px !important;
        justify-content:flex-end !important;
    }
    body.lumen-next .lumen-next-contextbar__links{
        max-width:100% !important;
    }
}
@media(max-width:760px){
    body.lumen-next .lumen-next-contextbar{
        width:auto !important;
        margin:9px 14px 2px !important;
        align-items:center !important;
        flex-direction:row !important;
        justify-content:flex-start !important;
        padding:0 !important;
    }
    body.lumen-next .lumen-next-contextbar__links{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
    }
    body.lumen-next .lumen-next-contextbar__links a{
        min-height:35px !important;
        padding:8px 11px !important;
        font-size:10.5px !important;
    }
}
