/* Complete application of the approved IB Escola design. */
html[data-visual-preview='blue'] {
    --ib-blue: #006eb9;
    --ib-blue-hover: #005c9b;
    --ib-ink: #22283a;
    --ib-muted: #626473;
    --ib-line: #e1dfd9;
    --ib-paper: #f7f4ed;
    --ib-violet: #6553ae;
    --ib-violet-soft: #f1edf8;
    --ib-lime: #c7db65;
    --ib-lime-soft: #eaf1c9;
    --ib-coral: #ad4c3a;
    --ib-coral-soft: #fae8e2;
    --ib-title: 52px;
    --ib-admin-title: 42px;
    --ib-panel-title: 24px;
    --ib-card-title: 32px;
    --ib-body: 18px;
    --ib-control: 16px;
    --ib-meta: 14px;
    --ib-category: 12px;
    --ib-formation-title: 18px;
    --ib-formation-body: 16px;
    --ib-formation-action: 14px;
    --ib-formation-category: 11px;
    --ib-orange: #bd4b0b;
}

/* Wider public layout and a larger brand that contracts after scrolling. */
html[data-visual-preview='blue']
    .school-site
    :is(.school-shell, .ref-container) {
    width: min(1440px, calc(100% - 64px));
    margin-inline: auto;
}
html[data-visual-preview='blue'] .school-header {
    --school-header-height: 116px;
    --school-logo-width: 238px;
    background: #fff;
    border-bottom-color: var(--ib-line);
}
html[data-visual-preview='blue'] .school-header[data-compact='true'] {
    --school-header-height: 84px;
    --school-logo-width: 170px;
}
html[data-visual-preview='blue'] .school-header .header-inner {
    min-height: var(--school-header-height);
    grid-template-columns: auto minmax(0, 1fr) auto;
    transition: min-height 220ms ease;
}
html[data-visual-preview='blue'] .school-header .school-brand {
    width: var(--school-logo-width);
    max-width: 100%;
    min-width: 0;
    transition: width 220ms ease;
}
html[data-visual-preview='blue'] .school-header .school-brand img {
    width: 100%;
    max-height: none;
    height: auto;
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-presenciais-title'] {
    background: var(--ib-blue);
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-presenciais-title']
    .ref-section-head
    :is(h2, p, .ref-link) {
    color: #fff;
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-presenciais-title']
    .ref-link:focus-visible {
    outline-color: #fff;
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-online-title'] {
    background: var(--ib-violet-soft);
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-online-title']
    .ref-section-head
    :is(h2, p, .ref-link) {
    color: var(--ib-ink);
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-online-title']
    .ref-section-head
    .ref-link {
    color: var(--ib-blue);
}
html[data-visual-preview='blue']
    .ref-section[aria-labelledby='ref-online-title']
    .ref-link:focus-visible {
    outline-color: var(--ib-blue);
}

/* Shorter covers and equal-height cards preserve the compact type scale. */
html[data-visual-preview='blue']
    :is(.ref-course-grid, .catalog-grid, .ref-news-grid, .news-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    grid-auto-rows: 1fr;
}
html[data-visual-preview='blue']
    :is(.formation-card, .news-card, .ref-news-grid .news-card) {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    box-shadow: none;
    height: 100%;
    padding: 0;
    margin: 0;
    border-color: #d4d3d0;
}
html[data-visual-preview='blue'] :is(.formation-media, .news-card-image) {
    position: relative;
    height: auto;
    min-height: 0;
    aspect-ratio: 12 / 5;
    flex: none;
    background: var(--ib-blue);
    color: #fff;
}
html[data-visual-preview='blue']
    :is(.formation-live_online, .formation-asynchronous)
    .formation-media {
    background: var(--ib-violet);
}
html[data-visual-preview='blue'] :is(.formation-media, .news-card-image) img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
}
html[data-visual-preview='blue'] .formation-media > svg {
    width: 48px;
    height: 48px;
    stroke-width: 1.5;
}
html[data-visual-preview='blue'] :is(.formation-body, .news-card-body) {
    min-width: 0;
    padding: 18px;
    gap: 10px;
}
html[data-visual-preview='blue'] .formation-heading {
    display: grid;
    gap: 6px;
    min-width: 0;
}
html[data-visual-preview='blue'] .formation-category {
    justify-self: start;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: var(--ib-formation-category);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.05em;
    background: var(--ib-blue);
    color: #fff;
}
html[data-visual-preview='blue']
    :is(.formation-live_online, .formation-asynchronous)
    .formation-category {
    background: var(--ib-violet);
    color: #fff;
}
html[data-visual-preview='blue'] :is(.formation-title, .news-card-body h3) {
    min-width: 0;
    font-size: var(--ib-formation-title);
    line-height: 1.4;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}
html[data-visual-preview='blue'] :is(.formation-summary, .news-card-body p) {
    font-size: var(--ib-formation-body);
    line-height: 1.5;
}
html[data-visual-preview='blue'] .formation-details {
    gap: 8px;
    margin-top: 0;
    padding-top: 0;
}
html[data-visual-preview='blue'] .formation-facts {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 8px 12px;
    padding-top: 8px;
}
html[data-visual-preview='blue'] .formation-facts > span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
html[data-visual-preview='blue'] .formation-facts :is(svg, .lucide-clock3) {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
    padding: 1px;
    border-radius: 0;
    background: transparent;
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] .formation-facts .lucide-clock3 {
    color: var(--ib-blue);
}
html[data-visual-preview='blue']
    :is(.formation-action, .news-card-body .text-link) {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 44px;
    padding: 10px 14px;
    margin-top: auto;
    gap: 8px;
    font-size: var(--ib-formation-action);
    line-height: 1.4;
    background: var(--ib-blue);
    color: #fff;
    border-radius: 7px;
    box-shadow: none;
}
html[data-visual-preview='blue']
    :is(.formation-action, .news-card-body .text-link):hover {
    background: var(--ib-blue-hover);
    color: #fff;
}
html[data-visual-preview='blue']
    :is(.formation-card, .news-card)
    a:focus-visible {
    outline: 2px solid var(--ib-blue);
    outline-offset: -2px;
    border-radius: 4px;
}
html[data-visual-preview='blue']
    :is(
        .formation-card .formation-action,
        .news-card-body .text-link
    ):focus-visible {
    outline-color: var(--ib-ink);
    outline-offset: 3px;
}
html[data-visual-preview='blue'] .news-card-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--ib-meta);
    line-height: 1.6;
    color: var(--ib-violet);
}
/* The legacy text-link utility marks its color important. Scope the correction to news actions. */
html[data-visual-preview='blue'] .news-card-body .text-link {
    color: #fff !important;
}
html[data-visual-preview='blue'] .news-card-date svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}
html[data-visual-preview='blue'] .news-card-body h3 a {
    color: var(--ib-ink);
    font: inherit;
}
html[data-visual-preview='blue'] .news-card-body h3 a:hover {
    color: var(--ib-blue);
}
@media (max-width: 1100px) {
    html[data-visual-preview='blue'] .school-header {
        --school-logo-width: 190px;
    }
    html[data-visual-preview='blue']
        :is(.ref-course-grid, .catalog-grid, .ref-news-grid, .news-grid) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 840px) {
    html[data-visual-preview='blue']
        .school-site
        :is(.school-shell, .ref-container) {
        width: calc(100% - 32px);
    }
    html[data-visual-preview='blue'] .school-header {
        --school-header-height: 96px;
        --school-logo-width: 186px;
    }
    html[data-visual-preview='blue'] .school-header[data-compact='true'] {
        --school-header-height: 72px;
        --school-logo-width: 150px;
    }
    html[data-visual-preview='blue'] .school-header .header-inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }
    html[data-visual-preview='blue'] .school-header .header-actions {
        gap: 8px;
    }
    html[data-visual-preview='blue']
        .school-header
        .header-actions
        > .school-button {
        padding-inline: 12px;
    }
    html[data-visual-preview='blue'] .school-header .main-nav {
        top: calc(var(--school-header-height) + 1px);
        transition:
            opacity 220ms ease,
            transform 220ms ease,
            top 220ms ease,
            visibility 0s 220ms;
    }
    html[data-visual-preview='blue'] .school-header .main-nav.is-open {
        transition-delay: 0s;
    }
}
@media (max-width: 600px) {
    html[data-visual-preview='blue']
        :is(.ref-course-grid, .catalog-grid, .ref-news-grid, .news-grid) {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Keep dashboard metrics inside the section, with readable icons. */
html[data-visual-preview='blue'] .dashboard-stats {
    transform: none;
}
html[data-visual-preview='blue'] .dashboard-stats article > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
}
html[data-visual-preview='blue'] .dashboard-stats article > span svg {
    width: 32px;
    height: 32px;
}
@media (max-width: 720px) {
    html[data-visual-preview='blue'] .dashboard-stats article > span {
        position: static;
        margin: 0 0 16px auto;
    }
}

/* Course details use the original cover and keep all published information. */
html[data-visual-preview='blue'] .catalog-section {
    background: var(--ib-paper);
}
html[data-visual-preview='blue'] .catalog-results .results-header h2 {
    font-size: var(--ib-card-title);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.025em;
}
html[data-visual-preview='blue'] .catalog-results .results-header > div > span {
    color: var(--ib-violet);
    font-size: var(--ib-category);
    font-weight: 800;
    letter-spacing: 0.06em;
}
html[data-visual-preview='blue'] :is(.catalog-filter-form, .news-search) {
    box-shadow: none;
}
html[data-visual-preview='blue']
    :is(.catalog-filter-field > label, .news-search > label) {
    font-size: var(--ib-meta);
    font-weight: 600;
}
html[data-visual-preview='blue']
    :is(
        .catalog-filter-form .search-field,
        .catalog-filter-form .form-dropdown-trigger,
        .news-search input
    ) {
    background: #fff;
    border-color: var(--ib-line);
    font-size: var(--ib-control);
}
html[data-visual-preview='blue'] .news-search > div {
    position: relative;
}
html[data-visual-preview='blue'] .news-search input {
    padding-left: 44px;
}
html[data-visual-preview='blue'] .news-search > div > svg {
    left: 15px;
    margin: 0;
    width: 18px;
    height: 18px;
}
html[data-visual-preview='blue'] .enrollment-card-title {
    border-bottom: 0;
    padding-bottom: 0;
}
html[data-visual-preview='blue'] .curriculum {
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    overflow: hidden;
}
html[data-visual-preview='blue'] .module-copy strong {
    font-size: var(--ib-control);
    font-weight: 700;
    line-height: 1.5;
}
html[data-visual-preview='blue'] .module-copy small {
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue'] #admin-content .eyebrow {
    color: var(--ib-violet);
    font-size: var(--ib-category);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.lesson-edit-form, .new-lesson-form) {
    background: var(--ib-paper);
    border-color: var(--ib-line);
    padding: 24px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .new-lesson-form,
        .lesson-material-manager,
        .publish-toggle,
        .add-lesson-button,
        .admin-danger-button
    ) {
    border-radius: 10px;
    border-color: var(--ib-line);
}
html[data-visual-preview='blue'] #admin-content .publish-toggle {
    background: #fff;
    transition:
        background 220ms ease,
        color 220ms ease;
}
html[data-visual-preview='blue'] #admin-content .publish-toggle.is-published {
    background: var(--ib-lime-soft);
    color: #45551e;
}
html[data-visual-preview='blue'] #admin-content .publish-toggle:focus-within {
    outline: 2px solid var(--ib-blue);
    outline-offset: 3px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .lesson-material-heading small,
        .lesson-material-current small,
        .lesson-material-limit,
        .new-lesson-heading small
    ) {
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue']
    :is(
        .lesson-kicker > span:first-child,
        .lesson-navigation h2 > span,
        .module-number
    ) {
    color: var(--ib-coral);
}
html[data-visual-preview='blue'] .course-detail-category {
    margin: 0 0 18px;
    color: var(--ib-coral);
    font-size: var(--ib-category);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
html[data-visual-preview='blue']
    :is(.course-format-asynchronous, .course-format-live_online)
    .course-detail-category {
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] .course-detail-page .course-detail-layout {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 56px;
}
html[data-visual-preview='blue'] .course-detail-page .enrollment-card {
    padding: 28px;
    overflow: hidden;
}
html[data-visual-preview='blue'] .course-detail-cover {
    margin: -28px -28px 28px;
    height: 260px;
    background: var(--ib-violet-soft);
}
html[data-visual-preview='blue'] .course-detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 24%;
}
html[data-visual-preview='blue'] .course-detail-page .course-facts {
    margin-top: 32px;
}
html[data-visual-preview='blue'] .course-detail-page .course-content-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
    gap: 56px;
    align-items: start;
}
html[data-visual-preview='blue'] .course-description {
    max-width: 72ch;
}
html[data-visual-preview='blue'] .course-description :is(p, li) {
    font-size: var(--ib-body);
    line-height: 1.7;
}
html[data-visual-preview='blue'] :is(.curriculum-heading, .module-heading) {
    background: var(--ib-paper);
    color: var(--ib-ink);
    border-color: var(--ib-line);
}

/* Learning room and certificates. */
html[data-visual-preview='blue'] :is(.learning-room, .certificate-page) {
    background: var(--ib-paper);
}
html[data-visual-preview='blue'] :is(.learning-room-header, .certificate-hero) {
    background: var(--ib-paper);
    color: var(--ib-ink);
    padding: 44px 0 48px;
    border-bottom: 1px solid var(--ib-line);
}
html[data-visual-preview='blue'] .learning-room-header .back-link {
    color: var(--ib-blue) !important;
}
html[data-visual-preview='blue']
    :is(.learning-room-title h1, .certificate-hero h1) {
    color: var(--ib-ink);
    font-size: var(--ib-title);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
}
html[data-visual-preview='blue']
    :is(.learning-room-header, .certificate-hero)
    .eyebrow {
    color: var(--ib-violet);
    font-size: var(--ib-category);
    font-weight: 800;
}
html[data-visual-preview='blue'] .certificate-hero p {
    color: var(--ib-muted);
    font-size: var(--ib-body);
}
html[data-visual-preview='blue'] .learning-room-title {
    align-items: start;
}
html[data-visual-preview='blue'] .course-progress {
    flex-shrink: 0;
    width: 260px;
    padding: 22px;
    border-radius: 16px;
    background: var(--ib-lime-soft);
}
html[data-visual-preview='blue'] .course-progress span {
    color: var(--ib-muted);
    flex-wrap: wrap;
    font-size: var(--ib-meta);
}
html[data-visual-preview='blue'] .course-progress strong {
    color: var(--ib-ink);
    font-size: var(--ib-panel-title);
    font-weight: 800;
}
html[data-visual-preview='blue'] .course-progress i {
    background: #d5dfb0;
    border-radius: 8px;
}
html[data-visual-preview='blue'] .course-progress b {
    background: var(--ib-blue);
    border-radius: inherit;
    transition: width 220ms ease;
}
html[data-visual-preview='blue'] .learning-room-layout {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 28px;
    padding-block: 36px 64px;
}
html[data-visual-preview='blue']
    :is(.lesson-navigation, .lesson-content, .certificate-card) {
    background: #fff;
    border: 1px solid var(--ib-line);
    border-radius: 18px;
    box-shadow: none;
    overflow: hidden;
}
html[data-visual-preview='blue'] .lesson-navigation {
    top: 108px;
}
html[data-visual-preview='blue'] .lesson-navigation-heading {
    background: var(--ib-violet-soft);
    border-color: var(--ib-line);
}
html[data-visual-preview='blue'] .lesson-navigation-heading strong {
    font-size: var(--ib-panel-title);
    font-weight: 800;
}
html[data-visual-preview='blue']
    .lesson-navigation
    :is(small, .module-release-note) {
    font-size: var(--ib-meta);
    color: var(--ib-muted);
    line-height: 1.5;
}
html[data-visual-preview='blue'] .lesson-navigation h2 {
    font-size: var(--ib-control);
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0;
}
html[data-visual-preview='blue'] .lesson-link {
    border-color: var(--ib-line);
    color: var(--ib-ink);
    background: #fff;
    text-align: left;
    transition:
        background 220ms ease,
        color 220ms ease;
}
html[data-visual-preview='blue'] .lesson-link strong {
    font-size: var(--ib-control);
    font-weight: 700;
    line-height: 1.5;
}
html[data-visual-preview='blue'] .lesson-link:is(:hover, .is-active) {
    background: #edf5fb;
    color: var(--ib-blue);
}
html[data-visual-preview='blue'] .lesson-link.is-locked {
    background: #f4f3f0;
    color: var(--ib-muted);
}
html[data-visual-preview='blue'] .lesson-state.is-complete {
    background: var(--ib-lime-soft);
    color: #45551e;
}
html[data-visual-preview='blue'] .lesson-content {
    padding: 32px;
}
html[data-visual-preview='blue'] .lesson-content > h2 {
    font-size: var(--ib-card-title);
    font-weight: 800;
    line-height: 1.2;
}
html[data-visual-preview='blue']
    :is(.lesson-lead, .lesson-prose, .lesson-text, .lesson-content p) {
    font-size: var(--ib-body);
    line-height: 1.7;
    color: var(--ib-muted);
}
html[data-visual-preview='blue'] :is(.lesson-kicker, .lesson-kicker small) {
    font-size: var(--ib-category);
    font-weight: 800;
    color: var(--ib-violet);
}
html[data-visual-preview='blue']
    :is(.meeting-access, .event-information, .certificate-ready) {
    border: 1px solid var(--ib-line);
    border-radius: 14px;
    background: #fff;
    color: var(--ib-ink);
}
html[data-visual-preview='blue'] .meeting-access {
    background: var(--ib-violet-soft);
}
html[data-visual-preview='blue'] .certificate-ready {
    background: var(--ib-lime-soft);
}
html[data-visual-preview='blue']
    :is(.meeting-access, .event-information, .certificate-ready)
    :is(strong, a) {
    color: var(--ib-ink);
    font-size: var(--ib-control);
    line-height: 1.5;
}
html[data-visual-preview='blue']
    :is(.meeting-access, .event-information, .certificate-ready)
    small {
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue'] .certificate-mark {
    background: var(--ib-lime);
    color: var(--ib-ink);
    border-radius: 18px;
}
html[data-visual-preview='blue'] .certificate-content {
    padding-block: 40px 64px;
}
html[data-visual-preview='blue'] .certificate-status {
    background: var(--ib-lime-soft);
    color: #45551e;
}
html[data-visual-preview='blue'] .certificate-person h2 {
    font-size: var(--ib-card-title);
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
html[data-visual-preview='blue'] .certificate-person p {
    font-size: var(--ib-body);
    line-height: 1.6;
}
html[data-visual-preview='blue'] .certificate-details :is(dt, dd) {
    font-size: var(--ib-meta);
    line-height: 1.6;
    overflow-wrap: anywhere;
}
html[data-visual-preview='blue'] .certificate-note {
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    background: var(--ib-violet-soft);
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    box-shadow: none;
}
html[data-visual-preview='blue'] .certificate-mark svg {
    color: #45551e;
}

/* All administration areas share the same role-based scale and surfaces. */
html[data-visual-preview='blue']
    #admin-content
    .attendance-summary
    .attendance-date
    strong {
    font-size: var(--ib-panel-title);
    line-height: 1.3;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.attendance-panel, .enrollment-operator)
    > header
    p {
    color: var(--ib-violet);
    font-size: var(--ib-category);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 800;
}
html[data-visual-preview='blue']
    #admin-content
    .offering-create-heading
    > span {
    background: var(--ib-violet-soft);
    color: var(--ib-violet);
    border-radius: 10px;
}
html[data-visual-preview='blue'] #admin-content .enrollment-search {
    background: var(--ib-paper);
}
html[data-visual-preview='blue'] #admin-content .enrollment-search > button {
    background: var(--ib-blue);
    color: #fff;
    border-radius: 10px;
    font-size: var(--ib-control);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.attendance-certificate-rule, .offering-field-section-heading) {
    background: var(--ib-paper);
    border-color: var(--ib-line);
}
html[data-visual-preview='blue'] #admin-content .attendance-certificate-rule {
    border-radius: 12px;
}
html[data-visual-preview='blue']
    #admin-content.admin-main
    :is(
        .editor-field > span,
        .editor-field-label > strong,
        .admin-filter-field > span:first-child,
        .admin-filter-label,
        .admin-search-field > span:first-child
    ) {
    font-size: var(--ib-meta);
    font-weight: 600;
    line-height: 1.5;
}
html[data-visual-preview='blue'] #admin-content .news-file-input {
    position: absolute;
    width: 1px;
    min-width: 1px;
    max-width: 1px;
    height: 1px;
    min-height: 1px;
    padding: 0;
    border: 0;
    clip-path: inset(50%);
    overflow: hidden;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.people-filters, .audit-filters, .report-filters) {
    grid-template-columns:
        minmax(220px, 1.4fr) minmax(160px, 1fr) minmax(160px, 1fr)
        auto;
    margin-bottom: 24px;
}
html[data-visual-preview='blue'] #admin-content .enrollment-filters {
    grid-template-columns:
        minmax(220px, 1.4fr) repeat(3, minmax(140px, 1fr))
        auto;
    margin-bottom: 24px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.audit-intro, .administrator-access-intro) {
    background: var(--ib-violet-soft);
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    box-shadow: none;
    color: var(--ib-ink);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.audit-intro, .administrator-access-intro)
    > svg {
    color: var(--ib-violet);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.audit-log, .legal-overview, .legal-section-index, .legal-document) {
    overflow: hidden;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.audit-log > header, .legal-section-index-head, .legal-overview-facts) {
    background: var(--ib-violet-soft);
    color: var(--ib-ink);
    border-color: var(--ib-line);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.audit-log > header, .legal-section-index-head, .legal-overview-facts)
    :is(strong, span, small, p, dt, dd) {
    color: inherit;
}
html[data-visual-preview='blue'] #admin-content .legal-overview-facts dd {
    font-size: var(--ib-panel-title);
    font-weight: 800;
}
html[data-visual-preview='blue'] #admin-content .legal-section-intro {
    border-color: #ed765e;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.legal-overview-copy, .legal-section-index-head, .operations-attention)
    > svg {
    color: var(--ib-coral);
}
html[data-visual-preview='blue']
    #admin-content
    .legal-accordion-item[open]
    > summary {
    background: var(--ib-violet-soft);
    color: var(--ib-ink);
}
html[data-visual-preview='blue'] #admin-content .legal-accordion-toggle {
    background: transparent;
}
@media (max-width: 1200px) {
    html[data-visual-preview='blue']
        #admin-content
        :is(
            .people-filters,
            .audit-filters,
            .report-filters,
            .enrollment-filters
        ) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    html[data-visual-preview='blue']
        #admin-content
        :is(
            .people-filters,
            .audit-filters,
            .report-filters,
            .enrollment-filters
        ) {
        grid-template-columns: minmax(0, 1fr);
        padding: 18px;
    }
}
html[data-visual-preview='blue'] .admin-system {
    --admin-type-page-title: var(--ib-admin-title);
    --admin-type-section-title: var(--ib-panel-title);
    --admin-type-field-label: var(--ib-meta);
    --admin-type-control: var(--ib-control);
    --admin-type-body: var(--ib-control);
    --admin-type-helper: var(--ib-meta);
    --admin-type-meta: var(--ib-meta);
}
html[data-visual-preview='blue']
    #admin-content
    :is(h2, .admin-section-heading h2) {
    color: var(--ib-ink);
    font-size: var(--ib-panel-title);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
}
html[data-visual-preview='blue'] #admin-content h3 {
    color: var(--ib-ink);
    font-size: var(--ib-control);
    font-weight: 800;
    line-height: 1.5;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .admin-filters,
        .indicator-filters,
        .audit-filters,
        .enrollment-operator,
        .unit-enrollment-operator,
        .administrator-invite-panel
    ) {
    background: #fff;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    box-shadow: none;
    gap: 20px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-overview,
        .indicator-panel,
        .operations-attention,
        .reconciliation-panel,
        .offering-card,
        .offering-create,
        .new-module-card,
        .curriculum-module-card,
        .person-card,
        .person-enrollments,
        .attendance-panel,
        .calendar-integration-card,
        .audit-log,
        .report-scope,
        .report-quality,
        .legal-overview,
        .legal-document,
        .administrator-section
    ) {
    background: #fff;
    color: var(--ib-ink);
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    box-shadow: none;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .operations-attention > header,
        .offering-create-heading,
        .offering-card > header,
        .curriculum-module-card > header,
        .report-scope-note,
        .legal-overview-copy,
        .calendar-integration-security,
        .person-card > header
    ) {
    background: var(--ib-paper);
    color: var(--ib-ink);
    border-color: var(--ib-line);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .operations-attention > header,
        .offering-create-heading,
        .offering-card > header,
        .report-scope-note,
        .legal-overview-copy,
        .calendar-integration-security
    )
    :is(p, span, strong, small) {
    color: var(--ib-muted);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-panel-heading,
        .administrator-section-heading,
        .offering-field-section-heading,
        .report-section-heading,
        .new-lesson-heading
    )
    p {
    font-size: var(--ib-control);
    line-height: 1.6;
    color: var(--ib-muted);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.admin-table-wrap, .audit-event-list) {
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}
html[data-visual-preview='blue'] #admin-content .admin-table :is(td, th) {
    border-color: var(--ib-line);
    font-size: var(--ib-meta);
    line-height: 1.5;
    padding: 18px 16px;
}
html[data-visual-preview='blue'] #admin-content .admin-table th {
    background: #f2f0eb;
    color: var(--ib-muted);
    font-weight: 700;
}
html[data-visual-preview='blue'] #admin-content .admin-table td {
    background: #fff;
    color: var(--ib-ink);
}
html[data-visual-preview='blue'] #admin-content .admin-table td strong {
    font-size: var(--ib-control);
    font-weight: 700;
}
html[data-visual-preview='blue'] #admin-content .admin-table td small {
    font-size: var(--ib-meta);
    color: var(--ib-muted);
}
html[data-visual-preview='blue'] #admin-content .admin-status {
    border: 0;
    border-radius: 7px;
    padding: 5px 9px;
    font-size: var(--ib-category);
    font-weight: 700;
    white-space: normal;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.status-published, .status-completed, .status-active) {
    background: var(--ib-lime-soft);
    color: #45551e;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.status-pending, .status-draft) {
    background: var(--ib-violet-soft);
    color: var(--ib-violet);
}
html[data-visual-preview='blue']
    #admin-content
    :is(.status-cancelled, .status-archived) {
    background: var(--ib-coral-soft);
    color: var(--ib-coral);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    ) {
    display: grid;
    gap: 16px;
    background: transparent;
    border: 0;
    box-shadow: none;
}
html[data-visual-preview='blue'] #admin-content .indicator-primary-metrics {
    padding: 24px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    > * {
    min-width: 0;
    padding: 24px;
    background: var(--ib-lime-soft);
    border: 0;
    border-radius: 14px;
    color: var(--ib-ink);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    > :nth-child(2) {
    background: var(--ib-violet-soft);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    > :nth-child(3) {
    background: var(--ib-coral-soft);
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    > :nth-child(4) {
    background: #edf5fb;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    strong {
    color: var(--ib-ink);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .indicator-primary-metrics,
        .report-metrics,
        .attendance-summary,
        .person-metrics,
        .admin-summary-strip
    )
    :is(span, small) {
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
        textarea,
        [role='combobox'],
        .admin-filter-trigger
    ) {
    background: #fff;
    color: var(--ib-ink);
    border: 1px solid var(--ib-line);
    border-radius: 10px;
    font: 400 var(--ib-control)/1.5 var(--ref-font);
    min-height: 48px;
    box-shadow: none;
}
html[data-visual-preview='blue']
    #admin-content
    :is(input, textarea, [role='combobox']):disabled {
    background: #f3f2ef;
    color: #777480;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.editor-field > span, form label > span, form label > strong) {
    font-size: var(--ib-meta);
    font-weight: 600;
    line-height: 1.5;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.safe-edit-note, .field-error, .admin-field-note, .admin-field-error) {
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .admin-primary-button,
        .indicator-filters > button[type='submit'],
        .admin-filters > button[type='submit'],
        .candidate-enroll-button,
        .certificate-issue-button
    ) {
    background: var(--ib-blue);
    color: #fff;
    border: 1px solid var(--ib-blue);
    border-radius: 10px;
    font-size: var(--ib-control);
    font-weight: 700;
    min-height: 48px;
}
html[data-visual-preview='blue'] #admin-content .admin-secondary-button {
    background: #fff;
    color: var(--ib-blue);
    border: 1px solid var(--ib-line);
    border-radius: 10px;
    font-size: var(--ib-control);
    min-height: 48px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(
        .new-module-card,
        .curriculum-module-card,
        .offering-card,
        .offering-create,
        .attendance-panel,
        .calendar-integration-card
    ) {
    overflow: hidden;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.module-order, .course-rank, .audit-event-icon, .person-avatar) {
    background: var(--ib-violet-soft);
    color: var(--ib-violet);
    border-radius: 10px;
}
html[data-visual-preview='blue']
    #admin-content
    :is(.legal-section-index, .legal-mobile-index, .legal-accordion-item) {
    background: #fff;
    border-color: var(--ib-line);
    border-radius: 12px;
}
html[data-visual-preview='blue'] #admin-content .legal-accordion-toggle {
    font-size: var(--ib-control);
    color: var(--ib-ink);
    background: #fff;
}
html[data-visual-preview='blue']
    #admin-content
    .legal-accordion-item.is-open
    .legal-accordion-toggle {
    background: var(--ib-violet-soft);
}

/* Authentication and account settings use the same public shell and controls. */
html[data-visual-preview='blue'] .auth-site {
    background: var(--ib-paper) url('brand/hero-texture-2026.png') center /
        cover fixed;
}
html[data-visual-preview='blue'] :is(.auth-site, .school-account-settings) {
    --background: #fff;
    --foreground: #22283a;
    --muted: #f7f4ed;
    --muted-foreground: #626473;
    --border: #e1dfd9;
    --input: #e1dfd9;
    --primary: #006eb9;
    --primary-foreground: #fff;
    --secondary: #f1edf8;
    --secondary-foreground: #22283a;
    --accent: #edf5fb;
    --accent-foreground: #006eb9;
    --color-primary: #006eb9;
    --color-primary-foreground: #fff;
    --color-muted: #f1edf8;
    --color-muted-foreground: #626473;
    --color-accent: #edf5fb;
    --color-accent-foreground: #006eb9;
    --color-destructive: #ad4c3a;
    color: var(--ib-ink);
    font-family: var(--ref-font);
}
html[data-visual-preview='blue'] .auth-heading {
    align-items: start;
}
html[data-visual-preview='blue'] .auth-heading h1 {
    color: var(--ib-ink);
    font-size: var(--ib-card-title);
    font-weight: 800;
    line-height: 1.2;
}
html[data-visual-preview='blue'] .auth-site [data-slot='button'] {
    min-height: 48px;
    font-size: var(--ib-control);
    font-weight: 700;
    border-radius: 10px;
    box-shadow: none;
}
html[data-visual-preview='blue']
    :is(.auth-site, .school-account-settings)
    [data-slot='button'].bg-primary {
    background: var(--ib-blue);
    color: #fff;
}
html[data-visual-preview='blue']
    :is(.auth-site, .school-account-settings)
    [data-slot='button'].bg-primary:hover {
    background: var(--ib-blue-hover);
}
html[data-visual-preview='blue'] .auth-heading :is(h1, p) {
    text-align: left;
}
html[data-visual-preview='blue'] .auth-heading img {
    margin-bottom: 20px;
}
html[data-visual-preview='blue'] .auth-site :is(label, .text-sm) {
    font-size: var(--ib-meta);
    line-height: 1.5;
}
html[data-visual-preview='blue']
    :is(.auth-site, .school-account-settings)
    :is(
        input:not([type='checkbox']):not([type='radio']),
        [data-slot='select-trigger']
    ) {
    min-height: 48px;
    border: 1px solid var(--ib-line);
    background: #fff;
    color: var(--ib-ink);
    border-radius: 10px;
    font-size: var(--ib-control);
}
html[data-visual-preview='blue'] .school-account-settings {
    padding-block: 48px 72px;
    background: var(--ib-paper);
}
html[data-visual-preview='blue'] .school-account-settings .bg-red-50 {
    background: var(--ib-coral-soft);
    border-color: #ebc6bc;
}
html[data-visual-preview='blue'] .school-account-settings .bg-red-50 p {
    color: var(--ib-coral);
}
html[data-visual-preview='blue'] [data-slot='dialog-content'] {
    background: #fff;
    color: var(--ib-ink);
    border: 1px solid var(--ib-line);
    border-radius: 18px;
    font-family: var(--ref-font);
}
html[data-visual-preview='blue'] [data-slot='dialog-title'] {
    font-size: var(--ib-panel-title);
    font-weight: 800;
    line-height: 1.25;
}
html[data-visual-preview='blue'] [data-slot='dialog-description'] {
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    line-height: 1.6;
}
html[data-visual-preview='blue'] [data-slot='dialog-content'] input {
    background: #fff;
    color: var(--ib-ink);
    border: 1px solid var(--ib-line);
    border-radius: 10px;
    min-height: 48px;
    font-size: var(--ib-control);
}
html[data-visual-preview='blue']
    [data-slot='dialog-content']
    [data-slot='button'] {
    border-radius: 10px;
    font-size: var(--ib-control);
    min-height: 44px;
}
html[data-visual-preview='blue'] [data-slot='dialog-content'] .bg-destructive {
    background: var(--ib-coral);
    color: #fff;
}
html[data-visual-preview='blue'] [data-slot='dialog-content'] .bg-secondary {
    background: var(--ib-violet-soft);
    color: var(--ib-ink);
}
html[data-visual-preview='blue'] .account-settings-content {
    padding: 0;
}
html[data-visual-preview='blue'] .account-settings-content > header h2 {
    font-size: var(--ib-title);
    font-weight: 800;
    line-height: 1.12;
}
html[data-visual-preview='blue'] .account-settings-layout {
    gap: 40px;
    margin-top: 40px;
}
html[data-visual-preview='blue'] .account-settings-panel {
    margin: 0;
    padding: 32px;
    background: #fff;
    border: 1px solid var(--ib-line);
    border-radius: 18px;
    max-width: none;
    min-width: 0;
}
html[data-visual-preview='blue'] .account-settings-panel h2 {
    font-size: var(--ib-panel-title);
    font-weight: 800;
    line-height: 1.25;
}
html[data-visual-preview='blue'] .account-settings-panel p {
    font-size: var(--ib-meta);
    line-height: 1.6;
}
html[data-visual-preview='blue'] .school-account-settings [data-slot='button'] {
    min-height: 44px;
    height: auto;
    max-width: 100%;
    white-space: normal;
    font-size: var(--ib-control);
    border-radius: 10px;
}
html[data-visual-preview='blue'] .account-appearance-options {
    max-width: 100%;
}
html[data-visual-preview='blue'] .account-appearance-options button {
    min-height: 44px;
}
html[data-visual-preview='blue']
    :is(.auth-site, .school-account-settings)
    button[aria-label*='senha'] {
    min-height: 44px;
    min-width: 44px;
    background: transparent;
}
html[data-visual-preview='blue'] .school-account-panel {
    width: 270px;
}
@media (max-width: 1100px) {
    html[data-visual-preview='blue'] .course-detail-page .course-detail-layout {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 28px;
    }
    html[data-visual-preview='blue'] .learning-room-layout {
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 20px;
    }
    html[data-visual-preview='blue'] .learning-room-title {
        flex-direction: column;
        gap: 24px;
    }
}
@media (max-width: 840px) {
    html[data-visual-preview='blue'] .admin-topbar {
        height: auto;
        min-height: 42px;
        padding: 8px 16px;
    }
    html[data-visual-preview='blue'] .admin-session {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: baseline;
        gap: 4px 12px;
    }
    html[data-visual-preview='blue'] .admin-session span {
        font-size: var(--ib-category);
    }
    html[data-visual-preview='blue'] .admin-session strong {
        font-size: var(--ib-meta);
    }
    html[data-visual-preview='blue'] {
        --ib-title: 36px;
        --ib-admin-title: 36px;
    }
    html[data-visual-preview='blue']
        .course-detail-page
        :is(.course-detail-layout, .course-content-layout) {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }
    html[data-visual-preview='blue'] .learning-room-layout {
        grid-template-columns: minmax(0, 1fr);
    }
    html[data-visual-preview='blue'] .lesson-navigation {
        position: static;
    }
    html[data-visual-preview='blue'] .lesson-content {
        padding: 24px;
    }
    html[data-visual-preview='blue']
        #admin-content
        :is(
            .indicator-primary-metrics,
            .report-metrics,
            .attendance-summary,
            .person-metrics,
            .admin-summary-strip
        ) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    html[data-visual-preview='blue'] .account-settings-layout {
        gap: 24px;
    }
    html[data-visual-preview='blue'] .account-settings-panel {
        padding: 24px;
    }
}
@media (max-width: 480px) {
    html[data-visual-preview='blue']
        #admin-content
        :is(
            .indicator-primary-metrics,
            .report-metrics,
            .attendance-summary,
            .person-metrics,
            .admin-summary-strip
        ) {
        grid-template-columns: minmax(0, 1fr);
    }
    html[data-visual-preview='blue'] .certificate-person h2 {
        font-size: var(--ib-card-title);
    }
    html[data-visual-preview='blue'] .school-account-panel {
        max-width: calc(100vw - 32px);
    }
}
@media (prefers-reduced-motion: reduce) {
    html[data-visual-preview='blue'] * {
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
    }
}

/* Revisão final do relatório e alinhamento dos editores — 11/09/2026. */
html[data-visual-preview='blue'] #admin-content .editor-field-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}
html[data-visual-preview='blue'] #admin-content .editor-field-label small {
    flex: none;
    color: var(--ib-muted);
    font-size: var(--ib-meta);
    font-weight: 400;
}
html[data-visual-preview='blue'] #admin-content form.about-admin-editor {
    grid-template-columns: minmax(0, 1fr);
}
html[data-visual-preview='blue']
    #admin-content
    .about-admin-editor
    .editor-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}
html[data-visual-preview='blue'] #admin-content .about-admin-image-card {
    display: grid;
    gap: 24px;
}
html[data-visual-preview='blue'] #admin-content .about-admin-image {
    width: 100%;
    max-width: 560px;
    height: auto;
    border-radius: 12px;
}
html[data-visual-preview='blue'] #admin-content .about-admin-save {
    width: auto;
    min-width: 220px;
    justify-self: end;
}
html[data-visual-preview='blue'] #admin-content .legal-document {
    padding: 32px;
}
html[data-visual-preview='blue'] #admin-content .legal-section {
    margin-bottom: 40px;
}
html[data-visual-preview='blue'] #admin-content .legal-section-intro {
    padding-left: 0;
    border: 0;
    margin-bottom: 24px;
}
html[data-visual-preview='blue'] #admin-content .legal-privacy-grid {
    gap: 20px;
}
html[data-visual-preview='blue'] #admin-content .legal-privacy-grid article {
    padding: 24px;
    min-height: 0;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    background: #f5f9fc;
    color: var(--ib-ink);
}
html[data-visual-preview='blue']
    #admin-content
    .legal-privacy-grid
    article:last-child {
    background: var(--ib-violet-soft);
}
html[data-visual-preview='blue'] #admin-content .legal-privacy-grid :is(h3, p) {
    color: var(--ib-ink);
}
html[data-visual-preview='blue'] #admin-content .legal-privacy-grid svg {
    color: var(--ib-blue);
    margin-bottom: 16px;
}
html[data-visual-preview='blue']
    #admin-content
    .legal-privacy-grid
    article:last-child
    svg {
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] #admin-content .legal-decision-rule {
    margin-top: 20px;
    padding: 24px;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    color: var(--ib-ink);
    background: var(--ib-paper);
}
html[data-visual-preview='blue'] #admin-content .legal-use-list {
    gap: 0;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    overflow: hidden;
}
html[data-visual-preview='blue'] #admin-content .legal-use-list article {
    padding: 24px;
    border: 0;
    border-bottom: 1px solid var(--ib-line);
    grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.6fr);
    gap: 24px;
}
html[data-visual-preview='blue']
    #admin-content
    .legal-use-list
    article:nth-child(even) {
    background: #faf9f6;
}
html[data-visual-preview='blue']
    #admin-content
    .legal-use-list
    article:last-child {
    border-bottom: 0;
}
html[data-visual-preview='blue'] #admin-content .legal-use-list h3 {
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] #admin-content .legal-gap-list {
    padding: 8px 24px;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    color: var(--ib-ink);
    background: var(--ib-violet-soft);
    gap: 0 28px;
}
html[data-visual-preview='blue'] #admin-content .legal-gap-list li {
    border-bottom: 1px solid var(--ib-line);
    color: var(--ib-ink);
    font-size: var(--ib-body);
}
html[data-visual-preview='blue'] #admin-content .legal-gap-list strong {
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] #admin-content .legal-page-footer {
    padding: 24px 0 0;
    border-top: 1px solid var(--ib-line);
    color: var(--ib-muted);
    background: transparent;
}
html[data-visual-preview='blue'] #admin-content .legal-section-index a {
    border-color: var(--ib-line);
}
html[data-visual-preview='blue']
    #admin-content
    .legal-section-index
    a[aria-current='location'] {
    color: var(--ib-violet);
    background: var(--ib-violet-soft);
    box-shadow: none;
}
@media (max-width: 840px) {
    html[data-visual-preview='blue'] #admin-content .legal-document {
        padding: 20px;
    }
    html[data-visual-preview='blue']
        #admin-content
        :is(.legal-privacy-grid, .legal-gap-list) {
        grid-template-columns: minmax(0, 1fr);
    }
    html[data-visual-preview='blue'] #admin-content .legal-use-list article {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
}
@media (max-width: 480px) {
    html[data-visual-preview='blue'] #admin-content .legal-document {
        padding: 16px;
    }
    html[data-visual-preview='blue']
        #admin-content
        :is(
            .legal-use-list article,
            .legal-privacy-grid article,
            .legal-decision-rule
        ) {
        padding: 18px;
    }
    html[data-visual-preview='blue'] #admin-content .about-admin-save {
        width: 100%;
        min-width: 0;
    }
}
html[data-visual-preview='blue'] #admin-content .legal-mobile-index-toggle,
html[data-visual-preview='blue'] #admin-content .legal-mobile-index a {
    color: var(--ib-ink);
    font-size: var(--ib-control);
}
html[data-visual-preview='blue']
    #admin-content
    .legal-mobile-index-toggle
    > svg {
    color: var(--ib-violet);
}
html[data-visual-preview='blue'] #admin-content .legal-mobile-index-links,
html[data-visual-preview='blue'] #admin-content .legal-mobile-index a {
    border-color: var(--ib-line);
}
html[data-visual-preview='blue']
    #admin-content
    .legal-mobile-index
    a:is(:hover, :focus-visible, [aria-current='location']) {
    color: var(--ib-violet);
    background: var(--ib-violet-soft);
}
@media (max-width: 840px) {
    html[data-visual-preview='blue'] #admin-content .legal-section {
        scroll-margin-top: 104px;
    }
}

/* Published curriculum entries navigate to enrollment or the selected lesson. */
html[data-visual-preview='blue'] .curriculum-lesson-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:8px 0; color:var(--ib-blue); font-size:var(--ib-meta); line-height:1.45; }
html[data-visual-preview='blue'] .curriculum-lesson-link svg { width:18px; height:18px; flex-shrink:0; }
html[data-visual-preview='blue'] #inscricao { scroll-margin-top:120px; }

/* Approved administrative login; internal manager pages remain unchanged. */
html[data-visual-preview='blue'] .auth-site--admin{background:#003e65;color:#fff}html[data-visual-preview='blue'] .auth-site--admin .auth-panel{background:#003e65;border-color:transparent;box-shadow:none}html[data-visual-preview='blue'] .auth-site--admin{--foreground:#fff;--background:#003e65;--muted-foreground:#d3e6f3;--color-muted-foreground:#d3e6f3;--border:#668ba3}html[data-visual-preview='blue'] .auth-site--admin .auth-heading :is(h1,p),html[data-visual-preview='blue'] .auth-site--admin label,html[data-visual-preview='blue'] .auth-site--admin a{color:#fff}html[data-visual-preview='blue'] .auth-site--admin input{background:#fff;color:#22283a}html[data-visual-preview='blue'] .auth-site--admin .auth-passkey-button{background:transparent;color:#fff;border-color:#91b2c9}html[data-visual-preview='blue'] .auth-site--admin [data-slot='button'].bg-primary{background:#fff;color:#003e65}html[data-visual-preview='blue'] .auth-site--admin [data-slot='button'].bg-primary:hover{background:#e7f2fa}html[data-visual-preview='blue'] .auth-site--admin .text-destructive{color:#ffd3cc}html[data-visual-preview='blue'] .auth-site--admin .bg-background{background:#003e65!important}html[data-visual-preview='blue'] .auth-site--admin input::placeholder{color:#626473;opacity:1}
html[data-visual-preview='blue'] .auth-site--admin .text-muted-foreground { color: #d3e6f3; }
html[data-visual-preview='blue'] .auth-site--admin { --auth-muted: #d3e6f3; }
html[data-visual-preview='blue'] .auth-site--admin button[aria-controls='password'],
html[data-visual-preview='blue'] .auth-site--admin button[aria-label='Mostrar senha'],
html[data-visual-preview='blue'] .auth-site--admin button[aria-label='Ocultar senha'] { color: #345569; }
html[data-visual-preview='blue'] .auth-site--admin .text-red-600 { color: #ffd3cc; }

