/* LUMEN Design Lab — camada visual reversível, sem alterar os fluxos PHP. */
@view-transition{navigation:none}
body.lumen-next {
    --ln-sidebar-width: 0px;
    --ln-bg: #f3f7fc;
    --ln-surface: #ffffff;
    --ln-surface-soft: #f6f8fc;
    --ln-text: #15233b;
    --ln-muted: #66758a;
    --ln-line: #dfe6f0;
    --ln-line-strong: #ccd8e7;
    --ln-navy: #071739;
    --ln-navy-2: #0d2c6c;
    --ln-gold: #ffc107;
    --ln-gold-deep: #755500;
    --ln-gold-soft: #fff5cf;
    --ln-green: #00856a;
    --ln-green-soft: #e7f7f2;
    --ln-blue: #1769e0;
    --ln-blue-soft: #eaf2ff;
    --ln-red: #ac443e;
    --ln-red-soft: #faeae8;
    --ln-purple: #775492;
    --ln-purple-soft: #f1eaf6;
    --ln-shadow: 0 12px 34px rgba(7, 23, 57, .07);
    margin: 0;
    background: var(--ln-bg);
    color: var(--ln-text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

html[data-theme="dark"] body.lumen-next {
    --ln-bg: #081225;
    --ln-surface: #0e1b31;
    --ln-surface-soft: #13223a;
    --ln-text: #edf4ff;
    --ln-muted: #a8b8d0;
    --ln-line: #263a58;
    --ln-line-strong: #385173;
    --ln-navy: #050d1d;
    --ln-navy-2: #123f8e;
    --ln-gold: #dfbc48;
    --ln-gold-deep: #f1d570;
    --ln-gold-soft: #342d19;
    --ln-green: #82c699;
    --ln-green-soft: #1c2f23;
    --ln-blue: #80bee1;
    --ln-blue-soft: #1b2c35;
    --ln-red: #ef918a;
    --ln-red-soft: #352321;
    --ln-purple: #c4a2dc;
    --ln-purple-soft: #2e2534;
    --ln-shadow: 0 10px 36px rgba(0, 0, 0, .2);
}

body.lumen-next *, body.lumen-next *::before, body.lumen-next *::after { box-sizing: border-box; }
body.lumen-next a { text-underline-offset: 3px; }

body.lumen-next > .topbar {
    position: sticky;
    top: 0;
    z-index: 900;
    top: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    border: 0;
    border-bottom: 1px solid #31322d;
    border-radius: 0 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
}

body.lumen-ui.lumen-next > header.topbar:not(.professor-topbar) {
    flex-wrap: nowrap !important;
}

body.lumen-next .topbar .lumen-brand { min-width: 204px; }
body.lumen-next .topbar .lumen-brand-name { width: 154px; }
body.lumen-next .topbar .lumen-brand::after {
    content: "LAB";
    display: inline-flex;
    min-height: 20px;
    align-items: center;
    margin-left: 7px;
    padding: 0 7px;
    border: 1px solid rgba(223,188,72,.45);
    border-radius: 999px;
    color: #f2d774;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}
body.lumen-next .topbar .lumen-school-switch,
body.lumen-next .topbar .lumen-context-switcher > summary,
body.lumen-next .topbar .user-chip {
    min-height: 46px;
    border-radius: 12px;
}
body.lumen-next .topbar .lumen-school-switch { max-width: 300px; }
body.lumen-next .topbar .lumen-school-switch__copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.lumen-next .topbar .lumen-guide-toggle,
body.lumen-next .topbar .lumen-theme-toggle { width: 46px; height: 46px; }

body.lumen-next .container,
body.lumen-next .teacher-container,
body.lumen-next .student-container {
    max-width: none;
    padding: 26px 30px 48px;
}

body.lumen-next .footer {
    max-width: none;
    margin-top: 24px;
    border-radius: 0;
    background: #171915;
}

body.lumen-next .page-heading,
body.lumen-next .architecture-heading {
    align-items: center;
    min-height: auto;
    margin-bottom: 18px;
    padding: 2px 0 16px;
    border-bottom: 1px solid var(--ln-line);
}
body.lumen-next .page-heading h1,
body.lumen-next .architecture-heading h1 { margin-bottom: 5px; color: var(--ln-text); }
body.lumen-next .page-heading p,
body.lumen-next .architecture-heading p { max-width: 760px; color: var(--ln-muted); }

body.lumen-next .panel:not([data-theme-surface="light"]),
body.lumen-next .metric:not([data-theme-surface="light"]),
body.lumen-next .metric-card:not([data-theme-surface="light"]) {
    border-color: var(--ln-line);
    background: var(--ln-surface);
    box-shadow: var(--ln-shadow);
}
body.lumen-next .panel { border-radius: 16px; }
body.lumen-next .panel-head { padding-bottom: 13px; border-bottom-color: var(--ln-line); }
body.lumen-next .panel-head p,
body.lumen-next .section-heading p { color: var(--ln-muted); }

body.lumen-next .button,
body.lumen-next button:not(.lumen-theme-toggle):not(.lumen-guide-toggle):not(.lumen-next-collapse):not(.lumen-next-compare) {
    min-height: 40px;
    border-radius: 10px;
    box-shadow: none;
}
body.lumen-next .button:not(.secondary):not(.ghost) { border-color: var(--ln-gold); background: var(--ln-gold); color: #1e1c13; }
body.lumen-next .button.secondary { border-color: var(--ln-line-strong); background: var(--ln-surface); color: var(--ln-text); }
body.lumen-next .button.ghost { color: var(--ln-muted); }
body.lumen-next input,
body.lumen-next select,
body.lumen-next textarea { border-color: var(--ln-line-strong); border-radius: 10px; background: var(--ln-surface); color: var(--ln-text); box-shadow: none; }

body.lumen-next .lumen-next-compare {
    position: fixed;
    right: 88px;
    bottom: 16px;
    z-index: 1200;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #3b3420;
    border-radius: 12px;
    background: #171915;
    color: #f5e8ae;
    font: 700 12px/1 Inter, "Segoe UI", Arial, sans-serif;
    letter-spacing: .04em;
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
    cursor: pointer;
}

@media (min-width: 1181px) {
    body.lumen-next > .topbar {
        display: grid;
        grid-template-columns: 210px minmax(220px, 1fr) auto auto auto auto;
        gap: 9px;
        align-items: center;
    }
    body.lumen-next .topbar > .nav {
        position: fixed;
        top: 72px !important;
        bottom: 0 !important;
        left: 0;
        z-index: 850;
        display: flex !important;
        width: var(--ln-sidebar-width) !important;
        height: calc(100vh - 72px) !important;
        max-height: none !important;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 14px 10px 12px;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
        border-right: 1px solid var(--ln-line);
        background: var(--ln-surface);
        box-shadow: 8px 0 24px rgba(25, 31, 24, .035);
    }
    body.lumen-next .topbar > .nav .nav-indicator { display: none; }
    body.lumen-next .topbar > .nav > a,
    body.lumen-next .topbar > .nav > details > summary {
        display: flex;
        width: 100%;
        min-height: 44px;
        align-items: center;
        justify-content: flex-start;
        gap: 11px;
        padding: 0 12px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--ln-text) !important;
        opacity: 1 !important;
        text-decoration: none;
        white-space: nowrap;
    }
    @media (hover:hover) and (pointer:fine) {
        body.lumen-next .topbar > .nav > a:hover,
        body.lumen-next .topbar > .nav > details > summary:hover { background: var(--ln-surface-soft); }
    }
    body.lumen-next .topbar > .nav > a.active,
    body.lumen-next .topbar > .nav > details.is-active > summary { background: var(--ln-gold-soft); color: var(--ln-gold-deep) !important; }
    body.lumen-next .lumen-next-nav-icon {
        display: grid;
        width: 22px;
        min-width: 22px;
        place-items: center;
        color: currentColor;
        font-size: 15px;
    }
    body.lumen-next .lumen-nav-more { width: 100%; }
    body.lumen-next .lumen-nav-more > summary b { margin-left: auto; }
    body.lumen-next .lumen-nav-more__menu {
        position: static;
        display: grid;
        width: auto;
        margin: 4px 0 0 32px;
        padding: 4px;
        border: 0;
        border-left: 1px solid var(--ln-line);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    body.lumen-next .lumen-nav-more:not([open]) .lumen-nav-more__menu { display: none; }
    body.lumen-next .lumen-nav-more__menu a { padding: 9px 12px; border-radius: 8px; color: var(--ln-muted); }
    body.lumen-next .lumen-nav-more__menu a.active { background: var(--ln-surface-soft); color: var(--ln-text); }
    @media (hover:hover) and (pointer:fine) {
        body.lumen-next .lumen-nav-more__menu a:hover { background: var(--ln-surface-soft); color: var(--ln-text); }
    }
    body.lumen-next .lumen-next-collapse {
        display: flex;
        width: calc(100% - 20px);
        min-height: 42px;
        align-items: center;
        gap: 11px;
        margin: auto 10px 0;
        padding: 0 12px;
        border: 1px solid var(--ln-line);
        border-radius: 10px;
        background: var(--ln-surface-soft);
        color: var(--ln-muted);
        cursor: pointer;
    }
    body.lumen-next .container,
    body.lumen-next .teacher-container,
    body.lumen-next .student-container {
        width: calc(100% - var(--ln-sidebar-width)) !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: var(--ln-sidebar-width) !important;
        padding: 26px 30px 48px !important;
    }
    body.lumen-next .footer {
        width: calc(100% - var(--ln-sidebar-width)) !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: var(--ln-sidebar-width) !important;
    }
    body.lumen-next.lumen-next-collapsed { --ln-sidebar-width: 76px; }
    body.lumen-next.lumen-next-collapsed .topbar > .nav > a,
    body.lumen-next.lumen-next-collapsed .topbar > .nav > details > summary,
    body.lumen-next.lumen-next-collapsed .lumen-next-collapse { justify-content: center; padding-inline: 0; }
    body.lumen-next.lumen-next-collapsed .lumen-next-nav-label,
    body.lumen-next.lumen-next-collapsed .lumen-nav-more > summary > span:not(.lumen-next-nav-icon),
    body.lumen-next.lumen-next-collapsed .lumen-nav-more > summary > b,
    body.lumen-next.lumen-next-collapsed .lumen-next-collapse-label { display: none; }
    body.lumen-next.lumen-next-collapsed .lumen-nav-more__menu { position: fixed; bottom: 70px; left: 68px; width: 210px; margin: 0; padding: 8px; border: 1px solid var(--ln-line); border-radius: 10px; background: var(--ln-surface); box-shadow: var(--ln-shadow); }
}

@media (max-width: 1180px) {
    body.lumen-next .topbar { margin: 0; border-radius: 0; }
    body.lumen-next .container,
    body.lumen-next .teacher-container,
    body.lumen-next .student-container { width: 100%; margin: 0; padding: 20px 18px 38px; }
    body.lumen-next .footer { width: 100%; margin-left: 0; }
    body.lumen-next .lumen-next-collapse { display: none; }
}

@media (max-width: 720px) {
    body.lumen-next > .topbar {
        height: 176px !important;
        min-height: 176px !important;
    }
    body.lumen-next .lumen-next-compare { right: auto; bottom: 74px; left: 10px; }
}

body.lumen-next-off .lumen-next-compare {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1200;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #d2ad34;
    border-radius: 12px;
    background: #171915;
    color: #f5e8ae;
    font: 700 12px/1 Inter, "Segoe UI", Arial, sans-serif;
    cursor: pointer;
}

/* LUMEN Design Lab · navegação horizontal inspirada na Biblioteca */
body.lumen-next {
    background:
        radial-gradient(circle at 8% 0%, rgba(23, 105, 224, .08), transparent 24rem),
        linear-gradient(180deg, #eef5ff 0, var(--ln-bg) 20rem, var(--ln-bg) 100%);
}

body.lumen-next > .topbar {
    position: sticky !important;
    top: 10px !important;
    z-index: 1000 !important;
    width: calc(100% - 24px) !important;
    max-width: none !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 10px 12px 0 !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid rgba(204, 216, 234, .92) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 10px 32px rgba(7, 23, 57, .08) !important;
    backdrop-filter: blur(18px) saturate(150%);
    transition: min-height .22s ease, height .22s ease, top .22s ease, border-radius .22s ease, box-shadow .22s ease !important;
}

body.lumen-next > .topbar.lumen-next-scrolled {
    top: 6px !important;
    height: 68px !important;
    min-height: 68px !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 38px rgba(7, 23, 57, .12) !important;
}

body.lumen-next .topbar .lumen-brand {
    flex: 0 0 178px !important;
    min-width: 178px !important;
    height: 58px !important;
    padding: 0 8px !important;
    border: 1px solid #d9e3f1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 7px 18px rgba(7, 23, 57, .08) !important;
}

body.lumen-next .topbar .lumen-brand-name { width: 132px !important; height: 54px !important; }
body.lumen-next .topbar .lumen-brand-lockup--light { display: block !important; }
body.lumen-next .topbar .lumen-brand-lockup--dark { display: none !important; }
body.lumen-next .topbar .lumen-brand::after {
    min-height: 18px;
    margin-left: 2px;
    border-color: #e6c457;
    background: #fff6d5;
    color: #755500;
    font-size: 8px;
}

body.lumen-next .topbar > .nav {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    order: 0 !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    min-width: 310px !important;
    flex: 1 1 440px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow: visible !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 15px !important;
    background: #f6f8fc !important;
    box-shadow: none !important;
    transform: none !important;
}

body.lumen-next .topbar > .nav .nav-indicator,
body.lumen-next .lumen-next-collapse { display: none !important; }

body.lumen-next .topbar > .nav > a,
body.lumen-next .topbar > .nav > details > summary {
    width: auto !important;
    min-height: 43px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 8px 13px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: #45536a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer;
}

@media (hover:hover) and (pointer:fine) {
body.lumen-next .topbar > .nav > a:hover,
body.lumen-next .topbar > .nav > details > summary:hover {
    background: #fff !important;
    color: var(--ln-blue) !important;
    box-shadow: 0 5px 14px rgba(7, 23, 57, .06) !important;
}
}

body.lumen-next .topbar > .nav > a.active,
body.lumen-next .topbar > .nav > details.is-active > summary {
    background: var(--ln-navy-2) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(13, 44, 108, .22) !important;
}

body.lumen-next .lumen-next-nav-icon { display: none !important; }
body.lumen-next .lumen-nav-more { position: relative !important; width: auto !important; }
body.lumen-next .lumen-nav-more > summary b { margin-left: 2px !important; }
body.lumen-next .lumen-nav-more__menu {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 1100 !important;
    width: min(620px, calc(100vw - 32px)) !important;
    max-height: min(70vh, 560px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow-y: auto !important;
    border: 1px solid #dce5f1 !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 28px 75px rgba(7, 23, 57, .18) !important;
}

body.lumen-next .lumen-nav-more:not([open]) .lumen-nav-more__menu { display: none !important; }
body.lumen-next .lumen-nav-more__menu a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    padding: 9px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    color: var(--ln-text) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}
body.lumen-next .lumen-nav-more__menu a.active { border-color: #dce7f6 !important; background: #f4f8ff !important; color: var(--ln-blue) !important; }
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-nav-more__menu a:hover { border-color: #dce7f6 !important; background: #f4f8ff !important; color: var(--ln-blue) !important; }
}

body.lumen-next .topbar .lumen-school-switch,
body.lumen-next .topbar .lumen-context-switcher > summary {
    min-height: 52px !important;
    border-color: #d7e1ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--ln-text) !important;
    box-shadow: 0 5px 16px rgba(7, 23, 57, .04) !important;
}
body.lumen-next .topbar .lumen-school-switch { flex: 0 1 220px !important; max-width: 220px !important; }
body.lumen-next .topbar .lumen-school-switch__copy small { color: var(--ln-blue) !important; }
body.lumen-next .topbar .lumen-school-switch__copy strong { color: var(--ln-text) !important; }
body.lumen-next .topbar .lumen-context-switcher { flex: 0 0 auto !important; }
body.lumen-next .topbar .lumen-guide-toggle,
body.lumen-next .topbar .lumen-theme-toggle {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-color: #d7e1ef !important;
    background: #fff !important;
    color: var(--ln-navy-2) !important;
}
body.lumen-next .topbar .user-chip {
    flex: 0 1 205px !important;
    min-width: 0 !important;
    max-width: 205px !important;
    min-height: 52px !important;
    padding: 6px 7px 6px 12px !important;
    border-color: #d7e1ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--ln-muted) !important;
    box-shadow: 0 5px 16px rgba(7, 23, 57, .04) !important;
}
body.lumen-next .topbar .user-chip span { min-width: 0 !important; overflow: hidden !important; }
body.lumen-next .topbar .user-chip strong { color: var(--ln-navy) !important; }
body.lumen-next .topbar .user-chip small { color: var(--ln-muted) !important; }
body.lumen-next .topbar .user-chip a { border-color: #dce5f1 !important; background: #f5f8fc !important; color: var(--ln-blue) !important; }

body.lumen-next .lumen-next-contextbar {
    position: sticky;
    top: 98px;
    z-index: 820;
    width: calc(100% - 48px);
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 10px 24px 0;
    padding: 8px 10px 8px 16px;
    border: 1px solid rgba(204, 216, 234, .9);
    border-radius: 15px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 8px 24px rgba(7, 23, 57, .06);
    backdrop-filter: blur(16px) saturate(145%);
}
body.lumen-next .lumen-next-contextbar__identity { min-width: 190px; display: grid; gap: 2px; padding-right: 18px; border-right: 1px solid var(--ln-line); }
body.lumen-next .lumen-next-contextbar__identity span { color: var(--ln-blue); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
body.lumen-next .lumen-next-contextbar__identity strong { overflow: hidden; color: var(--ln-navy); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
body.lumen-next .lumen-next-contextbar__links { min-width: 0; display: flex; align-items: center; gap: 4px; overflow-x: auto; }
body.lumen-next .lumen-next-contextbar__links a { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 9px; color: var(--ln-muted); font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-next-contextbar__links a:hover { background: var(--ln-blue-soft); color: var(--ln-blue); }
}
body.lumen-next .lumen-next-contextbar__links a.active { background: var(--ln-navy-2); color: #fff; }

body.lumen-next .container,
body.lumen-next .teacher-container,
body.lumen-next .student-container {
    width: 100% !important;
    max-width: 1480px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 24px 28px 52px !important;
}
body.lumen-next .footer { width: 100% !important; max-width: none !important; margin-left: 0 !important; }

body.lumen-next .panel,
body.lumen-next .metric,
body.lumen-next .metric-card {
    border-color: var(--ln-line) !important;
    box-shadow: 0 8px 26px rgba(7, 23, 57, .055) !important;
}

body.lumen-next .lumen-next-compare {
    right: 18px !important;
    border-color: #d8b323 !important;
    background: var(--ln-navy) !important;
    color: #fff1b4 !important;
}

html[data-theme="dark"] body.lumen-next {
    background: radial-gradient(circle at 8% 0%, rgba(23,105,224,.16), transparent 25rem), var(--ln-bg);
}
html[data-theme="dark"] body.lumen-next > .topbar,
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar { border-color: var(--ln-line) !important; background: rgba(14, 27, 49, .96) !important; }
html[data-theme="dark"] body.lumen-next .topbar .lumen-brand,
html[data-theme="dark"] body.lumen-next .topbar .lumen-school-switch,
html[data-theme="dark"] body.lumen-next .topbar .lumen-context-switcher > summary,
html[data-theme="dark"] body.lumen-next .topbar .user-chip,
html[data-theme="dark"] body.lumen-next .topbar .lumen-guide-toggle,
html[data-theme="dark"] body.lumen-next .topbar .lumen-theme-toggle { border-color: var(--ln-line) !important; background: var(--ln-surface-soft) !important; color: var(--ln-text) !important; }
html[data-theme="dark"] body.lumen-next .topbar .lumen-brand-lockup--light { display: none !important; }
html[data-theme="dark"] body.lumen-next .topbar .lumen-brand-lockup--dark { display: block !important; }
html[data-theme="dark"] body.lumen-next .topbar > .nav { border-color: var(--ln-line) !important; background: var(--ln-surface-soft) !important; }
html[data-theme="dark"] body.lumen-next .topbar > .nav > a,
html[data-theme="dark"] body.lumen-next .topbar > .nav > details > summary { color: var(--ln-muted) !important; }
html[data-theme="dark"] body.lumen-next .lumen-nav-more__menu { border-color: var(--ln-line) !important; background: var(--ln-surface) !important; }
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar__identity strong,
html[data-theme="dark"] body.lumen-next .topbar .user-chip strong,
html[data-theme="dark"] body.lumen-next .topbar .lumen-school-switch__copy strong { color: var(--ln-text) !important; }

@media (max-width: 1320px) {
    body.lumen-next .topbar .lumen-school-switch { max-width: 170px !important; }
    body.lumen-next .topbar .user-chip { max-width: 165px !important; }
    body.lumen-next .topbar > .nav > a,
    body.lumen-next .topbar > .nav > details > summary { padding-inline: 10px !important; }
}

@media (max-width: 1180px) {
    body.lumen-ui.lumen-next > header.topbar:not(.professor-topbar) { flex-wrap: wrap !important; }
    body.lumen-next > .topbar {
        top: 6px !important;
        height: auto !important;
        min-height: 72px !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        margin: 6px 8px 0 !important;
        width: calc(100% - 16px) !important;
        border-radius: 17px !important;
    }
    body.lumen-next .topbar .lumen-brand { flex-basis: 158px !important; min-width: 158px !important; }
    body.lumen-next .topbar > .nav { order: 10 !important; flex: 1 0 100% !important; min-width: 0 !important; justify-content: flex-start !important; overflow-x: auto !important; overflow-y: visible !important; }
    body.lumen-next .topbar .lumen-school-switch { margin-left: auto !important; }
    body.lumen-next .topbar .user-chip { display: none !important; }
    body.lumen-next .lumen-next-nav-icon { display: inline-grid !important; width: 18px !important; min-width: 18px !important; place-items: center !important; }
    body.lumen-next .lumen-next-contextbar { position: static; width: calc(100% - 24px); margin: 8px 12px 0; }
    body.lumen-next .container,
    body.lumen-next .teacher-container,
    body.lumen-next .student-container { padding: 20px 18px 42px !important; }
}

@media (max-width: 720px) {
    body.lumen-next > .topbar { height: auto !important; min-height: 0 !important; padding: 7px !important; }
    body.lumen-next .topbar .lumen-brand { flex-basis: 144px !important; min-width: 144px !important; height: 50px !important; }
    body.lumen-next .topbar .lumen-brand-name { width: 106px !important; height: 46px !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 .topbar > .nav > a,
    body.lumen-next .topbar > .nav > details > summary { min-height: 40px !important; padding: 7px 10px !important; font-size: 11px !important; }
    body.lumen-next .lumen-nav-more__menu { position: fixed !important; top: 132px !important; right: 10px !important; left: 10px !important; width: auto !important; grid-template-columns: 1fr !important; }
    body.lumen-next .lumen-next-contextbar { align-items: stretch; flex-direction: column; gap: 7px; padding: 10px; }
    body.lumen-next .lumen-next-contextbar__identity { min-width: 0; padding: 0 0 8px; border-right: 0; border-bottom: 1px solid var(--ln-line); }
    body.lumen-next .lumen-next-contextbar__links { padding-bottom: 2px; }
    body.lumen-next .lumen-next-compare { display: none !important; }
}

body.lumen-next-off .lumen-next-contextbar { display: none !important; }

/* Ajuste de identidade: LUMEN permanece preto, dourado e branco. */
body.lumen-next {
    --ln-bg: #f7f6f2;
    --ln-surface: #ffffff;
    --ln-surface-soft: #faf8f2;
    --ln-text: #1d1c19;
    --ln-muted: #716d64;
    --ln-line: #e7e1d5;
    --ln-line-strong: #d5ccbb;
    --ln-navy: #171713;
    --ln-navy-2: #24231f;
    --ln-gold: #d9ad28;
    --ln-gold-deep: #806000;
    --ln-gold-soft: #fff4cc;
    --ln-blue: #9a7516;
    --ln-blue-soft: #fff7df;
    --ln-shadow: 0 12px 34px rgba(38, 31, 15, .07);
    background:
        radial-gradient(circle at 9% 0%, rgba(217, 173, 40, .12), transparent 24rem),
        linear-gradient(180deg, #fffaf0 0, var(--ln-bg) 20rem, var(--ln-bg) 100%);
}

body.lumen-next > .topbar {
    border-color: #e5ddcd !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 32px rgba(38, 31, 15, .08) !important;
}

body.lumen-next .topbar .lumen-brand {
    flex-basis: 172px !important;
    min-width: 172px !important;
    padding: 0 4px !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::after {
    border-color: #dec45f !important;
    background: #fff5cd !important;
    color: #6f5400 !important;
}

body.lumen-next .topbar > .nav {
    border-color: #e9e2d4 !important;
    background: #f8f6f0 !important;
}

body.lumen-next .topbar > .nav > a,
body.lumen-next .topbar > .nav > details > summary { color: #5d584f !important; }

@media (hover:hover) and (pointer:fine) {
body.lumen-next .topbar > .nav > a:hover,
body.lumen-next .topbar > .nav > details > summary:hover {
    background: #fff !important;
    color: #806000 !important;
    box-shadow: 0 5px 14px rgba(38, 31, 15, .07) !important;
}
}

body.lumen-next .topbar > .nav > a.active,
body.lumen-next .topbar > .nav > details.is-active > summary {
    background: #1b1b18 !important;
    color: #f2cf5c !important;
    box-shadow: 0 8px 18px rgba(23, 23, 19, .2) !important;
}

body.lumen-next .topbar .lumen-school-switch,
body.lumen-next .topbar .lumen-context-switcher > summary,
body.lumen-next .topbar .lumen-guide-toggle,
body.lumen-next .topbar .lumen-theme-toggle,
body.lumen-next .topbar .user-chip {
    border-color: #e3dccf !important;
    background: #fff !important;
    color: #25241f !important;
    box-shadow: 0 5px 16px rgba(38, 31, 15, .045) !important;
}

body.lumen-next .topbar .lumen-school-switch__copy small,
body.lumen-next .lumen-next-contextbar__identity span { color: #947017 !important; }

body.lumen-next .topbar .user-chip a {
    border-color: #e8e0cf !important;
    background: #faf7ef !important;
    color: #806000 !important;
}

body.lumen-next .lumen-nav-more__menu {
    border-color: #e4dccd !important;
    background: rgba(255, 255, 255, .99) !important;
    box-shadow: 0 28px 75px rgba(38, 31, 15, .16) !important;
}

body.lumen-next .lumen-nav-more__menu a.active {
    border-color: #eadcae !important;
    background: #fff8df !important;
    color: #806000 !important;
}
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-nav-more__menu a:hover {
    border-color: #eadcae !important;
    background: #fff8df !important;
    color: #806000 !important;
}
}

body.lumen-next .lumen-next-contextbar {
    border-color: #e4dccd;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 8px 24px rgba(38, 31, 15, .06);
}

body.lumen-next .lumen-next-contextbar__identity strong { color: #1d1c19; }
@media (hover:hover) and (pointer:fine) {
body.lumen-next .lumen-next-contextbar__links a:hover { background: #fff7df; color: #806000; }
}
body.lumen-next .lumen-next-contextbar__links a.active { background: #1b1b18; color: #f2cf5c; }

body.lumen-next .topbar > .nav > a:focus-visible,
body.lumen-next .topbar > .nav > details > summary:focus-visible,
body.lumen-next .lumen-nav-more__menu a:focus-visible,
body.lumen-next .lumen-next-contextbar__links a:focus-visible {
    outline: 3px solid var(--lumen-gold, #d4af37);
    outline-offset: 2px;
}

body.lumen-next .lumen-next-compare {
    border-color: #d2ad34 !important;
    background: #171713 !important;
    color: #f5df8d !important;
}

html[data-theme="dark"] body.lumen-next {
    --ln-bg: #11110f;
    --ln-surface: #1b1b18;
    --ln-surface-soft: #23221d;
    --ln-text: #f2eee4;
    --ln-muted: #b7b0a2;
    --ln-line: #3b382f;
    --ln-line-strong: #514b3d;
    --ln-blue: #e1bd4f;
    --ln-blue-soft: #332c19;
    background: radial-gradient(circle at 8% 0%, rgba(217,173,40,.1), transparent 25rem), var(--ln-bg);
}

html[data-theme="dark"] body.lumen-next > .topbar,
html[data-theme="dark"] body.lumen-next .lumen-next-contextbar {
    border-color: #3e392c !important;
    background: rgba(24, 24, 20, .97) !important;
}

html[data-theme="dark"] body.lumen-next .topbar > .nav { border-color: #3e392c !important; background: #22211c !important; }
html[data-theme="dark"] body.lumen-next .topbar .lumen-brand { background: transparent !important; }

/* ======================================================================
   LUMEN V27 · Dark-only em produção + laboratório de temas
   Os temas em desenvolvimento não aparecem mais na interface normal.
   ====================================================================== */
html:not([data-theme-lab-active="true"]),
html:not([data-theme-lab-active="true"]) body{
  color-scheme:dark;
}

.lumen-theme-lab-toolbar{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:12000;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:18px;
  background:rgba(12,14,18,.96);
  box-shadow:0 22px 56px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  color:#f4f4f1;
}
.lumen-theme-lab-toolbar__copy{display:grid;gap:2px;min-width:112px}
.lumen-theme-lab-toolbar__copy small{
  color:#d4af37;
  font-size:8px;
  font-weight:950;
  letter-spacing:.1em;
}
.lumen-theme-lab-toolbar__copy strong{color:#f7f7f4;font-size:13px}
.lumen-theme-lab-toolbar__options{display:flex;align-items:center;gap:6px}
.lumen-theme-lab-toolbar__options button,
.lumen-theme-lab-toolbar__exit{
  min-height:34px;
  padding:0 10px;
  border:1px solid #343a43;
  border-radius:10px;
  background:#1a1e24;
  color:#d7dbe2;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.lumen-theme-lab-toolbar__options button:hover,
.lumen-theme-lab-toolbar__exit:hover{border-color:#5c512c;background:#20242a}
.lumen-theme-lab-toolbar__options button.is-active{
  border-color:#8e7428;
  background:#2a2413;
  color:#f5d66b;
}
.lumen-theme-lab-toolbar__exit{border-color:#65413e;color:#efb0aa}
html[data-theme-lab-active="true"] body::after{
  content:"TEMA LAB";
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:11999;
  padding:6px 9px;
  border:1px solid rgba(212,175,55,.28);
  border-radius:999px;
  background:rgba(14,16,20,.9);
  color:#d4af37;
  font-size:8px;
  font-weight:950;
  letter-spacing:.1em;
  pointer-events:none;
}
@media(max-width:760px){
  .lumen-theme-lab-toolbar{
    left:10px;
    right:10px;
    bottom:82px;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
  }
  .lumen-theme-lab-toolbar__copy{display:flex;align-items:center;justify-content:space-between;min-width:0}
  .lumen-theme-lab-toolbar__options{display:grid;grid-template-columns:repeat(4,1fr)}
  .lumen-theme-lab-toolbar__options button,.lumen-theme-lab-toolbar__exit{width:100%}
  html[data-theme-lab-active="true"] body::after{bottom:158px}
}
