:root {
    --bg: #f4f6f0;
    --surface: #ffffff;
    --surface-soft: #f8faef;
    --text: #19231a;
    --muted: #647067;
    --line: #d8e0d1;
    --brand: #1e5a36;
    --brand-dark: #153f26;
    --brand-soft: #e7f2e8;
    --accent: #d0a23a;
    --accent-soft: #fff4d7;
    --danger: #c53f3f;
    --danger-soft: #ffe6e6;
    --success: #198754;
    --success-soft: #e6f6ed;
    --shadow: 0 16px 40px rgba(19, 37, 24, 0.08);
    --radius: 18px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: linear-gradient(180deg, #eef4ea 0%, var(--bg) 240px);
    color: var(--text);
}

a {
    color: var(--brand);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

button,
input,
select,
textarea {
    font: inherit;
}

.site-shell {
    min-height: 100vh;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: linear-gradient(135deg, var(--brand-dark), var(--brand));
    color: #ffffff;
    box-shadow: 0 10px 28px rgba(16, 32, 20, 0.2);
}

.header-top-row,
.header-nav-row {
    max-width: 1360px;
    margin: 0 auto;
    padding: 16px 24px;
}

.header-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.header-nav-row {
    padding-top: 14px;
    padding-bottom: 14px;
}

.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #ffffff;
    min-width: 0;
}

.brand-link:hover {
    text-decoration: none;
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent), #f0cf73);
    color: var(--brand-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
}

.brand-name,
.brand-subtitle {
    display: block;
}

.brand-name {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.8px;
}

.brand-subtitle {
    margin-top: 2px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.82);
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nav-link,
.dropdown-trigger,
.user-chip {
    border: none;
    min-height: 44px;
    border-radius: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
}

.nav-link:hover,
.dropdown-trigger:hover,
.dropdown.is-open > .dropdown-trigger {
    background: rgba(255, 255, 255, 0.18);
    text-decoration: none;
}

.nav-link-accent {
    background: rgba(208, 162, 58, 0.22);
}

.dropdown {
    position: relative;
}

.dropdown-arrow {
    font-size: 12px;
    opacity: 0.8;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    display: none;
    min-width: 230px;
    padding: 8px;
    background: var(--surface);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    box-shadow: var(--shadow);
}

.dropdown.is-open .dropdown-menu {
    display: grid;
    gap: 4px;
}

.dropdown-menu a {
    color: var(--text);
    padding: 11px 12px;
    border-radius: 10px;
}

.dropdown-menu a:hover {
    background: var(--surface-soft);
    text-decoration: none;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

.dropdown-menu-wide {
    min-width: 250px;
}

.header-user-panel {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-chip {
    background: rgba(255, 255, 255, 0.14);
}

.user-chip-icon {
    font-size: 18px;
}

.user-role-pill {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 12px;
    text-transform: uppercase;
}

.page-wrapper {
    max-width: 1360px;
    margin: 0 auto;
    padding: 28px 24px 40px;
}

.page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.page-eyebrow {
    margin-bottom: 6px;
    color: var(--brand);
    font-size: 12px;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.page-header h1 {
    margin: 0;
    font-size: 34px;
}

.page-stack {
    display: grid;
    gap: 18px;
}

.cards-grid,
.admin-grid,
.materials-grid,
.stats-grid,
.steps-grid {
    display: grid;
    gap: 16px;
}

.cards-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards-grid-3,
.stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.materials-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.steps-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
    background: var(--surface);
    border: 1px solid rgba(19, 37, 24, 0.06);
    border-radius: var(--radius);
    padding: 22px;
    box-shadow: var(--shadow);
}

.card h2,
.card h3,
.card h4 {
    margin-top: 0;
    margin-bottom: 12px;
}

.hero-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff, #eef6e9 58%, #fff6de 100%);
    border: 1px solid rgba(30, 90, 54, 0.08);
    box-shadow: var(--shadow);
    margin-bottom: 18px;
}

.hero-panel h2 {
    margin: 0 0 12px;
    font-size: 30px;
}

.hero-panel p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.hero-badge,
.section-badge,
.badge,
.badge-light,
.badge-success,
.badge-muted,
.badge-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.hero-badge,
.section-badge,
.badge {
    background: var(--brand-soft);
    color: var(--brand);
}

.badge-light {
    background: #eef2ff;
    color: #4f46e5;
}

.badge-success {
    background: #dcfce7;
    color: #15803d;
}

.badge-muted {
    background: #ebefe8;
    color: #59655d;
}

.badge-danger {
    background: #fee2e2;
    color: #b42318;
}

.hero-actions {
    display: grid;
    gap: 12px;
    min-width: 230px;
}

.primary-button,
.login-form button,
.admin-form button,
.filter-form button,
.table-button {
    height: 46px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), #2b7b4a);
    color: #ffffff;
    font-weight: 700;
    padding: 0 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.secondary-button {
    background: #55625a;
    color: #ffffff;
}

.danger-button {
    background: var(--danger);
}

.secondary-link,
.primary-link {
    font-weight: 700;
}

.info-card,
.feature-card,
.product-tile-card {
    height: 100%;
}

.card-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--brand-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 12px;
}

.page-intro-card p,
.page-text,
.product-tile-card p,
.feature-card p,
.empty-state-card p,
.material-content-block,
.info-list,
.step-card p,
.inline-note {
    line-height: 1.7;
    color: var(--muted);
}

.quick-links-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.quick-links-grid a {
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--surface-soft);
    border: 1px solid var(--line);
}

.quick-links-grid a:hover {
    text-decoration: none;
    border-color: var(--brand);
}

.section-header-line,
.table-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.section-header-line h3,
.table-header-row h3 {
    margin: 0;
}

.step-card {
    text-align: left;
}

.step-card span {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-soft);
    color: #7d5a11;
    font-weight: 700;
    margin-bottom: 12px;
}

.login-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.login-card {
    width: min(460px, 100%);
    background: var(--surface);
    border-radius: 24px;
    padding: 32px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(19, 37, 24, 0.06);
}

.login-brand {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.8px;
    color: var(--brand);
    margin-bottom: 12px;
}

.login-card h1 {
    margin: 0 0 10px;
    font-size: 30px;
}

.login-subtitle {
    margin: 0 0 24px;
    color: var(--muted);
    line-height: 1.6;
}

.login-form,
.admin-form,
.question-stack,
.category-stack {
    display: grid;
    gap: 16px;
}

.login-form label,
.admin-form label {
    display: grid;
    gap: 8px;
    font-size: 14px;
    color: var(--text);
}

.login-form input,
.admin-form input,
.admin-form select,
.admin-form textarea,
.filter-form input,
.filter-form select {
    width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #ffffff;
    color: var(--text);
}

.admin-form textarea {
    min-height: 150px;
    resize: vertical;
}

.admin-form input[type="file"] {
    padding-top: 10px;
    padding-bottom: 10px;
}

.filter-form {
    display: grid;
    grid-template-columns: 1fr 260px 140px;
    gap: 12px;
}

.users-filter-form {
    grid-template-columns: minmax(220px, 1.2fr) 220px 220px;
}

.error-box,
.success-box,
.inline-note {
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 14px;
}

.error-box {
    background: var(--danger-soft);
    color: #9f2f2f;
}

.success-box {
    background: var(--success-soft);
    color: #146c43;
}

.inline-note {
    background: var(--surface-soft);
    border: 1px solid var(--line);
}

.simple-list {
    margin: 0;
    padding-left: 18px;
}

.users-table {
    width: 100%;
    border-collapse: collapse;
}

.users-table th,
.users-table td {
    text-align: left;
    padding: 12px 10px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

.users-table th {
    background: var(--surface-soft);
    color: var(--brand-dark);
}

.table-wrap {
    overflow-x: auto;
}

.table-actions,
.badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.column-actions {
    flex-direction: column;
    align-items: stretch;
    margin-top: 0;
}

.form-actions-row {
    margin-top: 14px;
}

.material-meta,
.question-number,
.stat-label,
.muted-text {
    color: var(--muted);
    font-size: 13px;
}

.stat-value {
    font-size: 30px;
    font-weight: 700;
    color: var(--brand-dark);
}

.material-content-block {
    white-space: pre-wrap;
    background: var(--surface-soft);
    border-radius: 14px;
    padding: 16px;
}

.option-row,
.checkbox-row,
.category-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.question-admin-item + .question-admin-item {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.checkbox-row {
    align-items: center;
}

.checkbox-row input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.checkbox-row-inline {
    grid-template-columns: auto 1fr;
}

.category-row {
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: var(--surface-soft);
}

.compact-form {
    display: grid;
    gap: 10px;
    min-width: 220px;
}

.compact-form input,
.compact-form select,
.compact-form button {
    height: 42px;
}

.admin-wide-card {
    max-width: 980px;
}

.empty-state-card {
    border-style: dashed;
}

.search-card {
    margin-bottom: 4px;
}

@media (max-width: 1100px) {
    .cards-grid-3,
    .steps-grid,
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .header-top-row,
    .header-nav-row,
    .page-wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }

    .header-top-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-nav {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .dropdown,
    .header-user-panel,
    .nav-link,
    .dropdown-trigger,
    .user-chip {
        width: 100%;
    }

    .dropdown-menu,
    .dropdown-menu-right {
        position: static;
        min-width: 100%;
        width: 100%;
        margin-top: 8px;
    }

    .hero-panel {
        flex-direction: column;
        align-items: flex-start;
    }

    .cards-grid-2,
    .cards-grid-3,
    .stats-grid,
    .steps-grid,
    .quick-links-grid,
    .filter-form,
    .users-filter-form {
        grid-template-columns: 1fr;
    }

    .page-header h1 {
        font-size: 28px;
    }
}



.homepage-lux-shell {
    display: grid;
    gap: 24px;
}

.homepage-lux-hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    padding: 40px;
    border: 1px solid rgba(209, 214, 203, 0.92);
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(217, 179, 89, 0.18), transparent 34%),
        radial-gradient(circle at 85% 18%, rgba(56, 114, 78, 0.12), transparent 30%),
        linear-gradient(135deg, rgba(253, 248, 238, 0.98) 0%, rgba(245, 248, 242, 0.96) 54%, rgba(237, 244, 238, 0.98) 100%);
    box-shadow:
        0 28px 80px rgba(17, 36, 21, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.homepage-lux-scene {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.homepage-lux-orb,
.homepage-lux-beam,
.homepage-lux-ribbon,
.homepage-lux-grid {
    position: absolute;
}

.homepage-lux-orb {
    border-radius: 999px;
    filter: blur(12px);
    opacity: 0.7;
}

.homepage-lux-orb-left {
    width: 320px;
    height: 320px;
    left: -70px;
    top: -40px;
    background: radial-gradient(circle, rgba(215, 175, 83, 0.34) 0%, rgba(215, 175, 83, 0.06) 58%, transparent 74%);
    animation: luxFloat 14s ease-in-out infinite;
}

.homepage-lux-orb-right {
    width: 420px;
    height: 420px;
    right: -120px;
    top: 24px;
    background: radial-gradient(circle, rgba(41, 102, 62, 0.20) 0%, rgba(41, 102, 62, 0.05) 56%, transparent 76%);
    animation: luxFloat 18s ease-in-out infinite reverse;
}

.homepage-lux-orb-bottom {
    width: 360px;
    height: 360px;
    left: 36%;
    bottom: -180px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.56) 0%, rgba(234, 240, 232, 0.08) 56%, transparent 74%);
    animation: luxPulse 10s ease-in-out infinite;
}

.homepage-lux-grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(26, 50, 32, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(26, 50, 32, 0.028) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.32), transparent 78%);
    opacity: 0.35;
}

.homepage-lux-beam {
    height: 1px;
    left: -10%;
    width: 120%;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0) 20%, rgba(206, 166, 73, 0.42) 50%, rgba(255, 255, 255, 0) 78%, transparent 100%);
}

.homepage-lux-beam-1 {
    top: 110px;
    animation: luxBeam 9s linear infinite;
}

.homepage-lux-beam-2 {
    bottom: 150px;
    animation: luxBeam 11s linear infinite reverse;
    opacity: 0.8;
}

.homepage-lux-ribbon {
    width: 540px;
    height: 540px;
    border-radius: 50%;
    border: 1px solid rgba(36, 81, 51, 0.08);
}

.homepage-lux-ribbon-1 {
    right: -180px;
    top: -120px;
    animation: luxRotate 24s linear infinite;
}

.homepage-lux-ribbon-2 {
    left: -220px;
    bottom: -260px;
    border-color: rgba(208, 162, 58, 0.12);
    animation: luxRotate 30s linear infinite reverse;
}

.homepage-lux-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.82fr);
    gap: 28px;
    align-items: stretch;
}

.homepage-lux-main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
}

.homepage-lux-badge {
    display: inline-flex;
    margin-bottom: 18px;
    background: rgba(231, 242, 232, 0.72);
    border: 1px solid rgba(30, 90, 54, 0.08);
    backdrop-filter: blur(10px);
}

.homepage-lux-main h2 {
    margin: 0;
    max-width: 740px;
    font-size: clamp(44px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: -2.2px;
    color: #142016;
    text-wrap: balance;
}

.homepage-lux-main > p {
    max-width: 680px;
    margin: 22px 0 0;
    font-size: 20px;
    line-height: 1.75;
    color: rgba(25, 35, 26, 0.70);
}

.homepage-lux-card-row {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(320px, 1.15fr);
    gap: 18px;
    margin-top: 40px;
}

.homepage-lux-panel,
.homepage-lux-stat-card,
.homepage-lux-media-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.58);
    backdrop-filter: blur(18px);
    box-shadow:
        0 18px 40px rgba(20, 36, 24, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.homepage-lux-panel::before,
.homepage-lux-stat-card::before,
.homepage-lux-media-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 44%);
    pointer-events: none;
}

.homepage-lux-panel {
    padding: 24px 24px 22px;
    min-height: 212px;
}

.homepage-lux-panel-label,
.homepage-lux-stat-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: rgba(28, 64, 38, 0.66);
}

.homepage-lux-user-panel strong,
.homepage-lux-news-panel strong,
.homepage-lux-stat-card strong {
    display: block;
    color: #162218;
}

.homepage-lux-user-panel strong {
    font-size: 34px;
    line-height: 1.1;
}

.homepage-lux-user-role {
    display: inline-flex;
    align-items: center;
    margin-top: 12px;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(231, 242, 232, 0.92);
    color: var(--brand);
    font-weight: 700;
}

.homepage-lux-user-panel small,
.homepage-lux-stat-card small {
    display: block;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(25, 35, 26, 0.60);
}

.homepage-lux-news-panel {
    padding-right: 28px;
}

.homepage-lux-news-panel strong {
    font-size: 24px;
    line-height: 1.25;
}

.homepage-lux-news-panel p {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(25, 35, 26, 0.72);
}

.homepage-lux-inline-link {
    display: inline-flex;
    align-items: center;
    margin-top: 18px;
    font-weight: 700;
    color: var(--brand-dark);
}

.homepage-lux-inline-link:hover {
    text-decoration: none;
    opacity: 0.8;
}

.homepage-lux-side {
    display: grid;
    gap: 16px;
    align-content: stretch;
}

.homepage-lux-stat-card {
    padding: 22px 22px 20px;
    min-height: 148px;
}

.homepage-lux-stat-card strong {
    font-size: 28px;
    line-height: 1.2;
}

.homepage-lux-media-card {
    min-height: 220px;
    background: rgba(255, 255, 255, 0.4);
}

.homepage-lux-media-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes luxFloat {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(24px, 18px, 0) scale(1.08); }
}

@keyframes luxPulse {
    0%, 100% { transform: scale(1); opacity: 0.54; }
    50% { transform: scale(1.08); opacity: 0.82; }
}

@keyframes luxBeam {
    0% { transform: translateX(-10%) scaleX(0.9); opacity: 0; }
    18% { opacity: 0.62; }
    50% { opacity: 0.92; }
    82% { opacity: 0.28; }
    100% { transform: translateX(10%) scaleX(1.05); opacity: 0; }
}

@keyframes luxRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
    .card,
    .login-card,
    .hero-panel {
        padding: 18px;
        border-radius: 18px;
    }

    .brand-subtitle {
        display: none;
    }

    .page-header h1 {
        font-size: 24px;
    }

    .hero-panel h2 {
        font-size: 24px;
    }
}

.analytics-toolbar-card {
    padding: 18px 20px;
}

.compact-header-row {
    margin-bottom: 12px;
}

.compact-filter-grid {
    align-items: end;
    gap: 12px;
}

.compact-filter-grid label {
    font-size: 14px;
}

.compact-filter-actions {
    align-self: end;
}

.analytics-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.compact-stat-card {
    padding: 16px 18px;
}

.compact-stat-card .stat-value {
    font-size: 28px;
    line-height: 1.1;
}

.analytics-primary-grid,
.analytics-secondary-grid {
    margin-bottom: 18px;
}

.compact-table-wrap {
    overflow-x: auto;
}

.compact-table th,
.compact-table td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top;
    font-size: 14px;
}

.analytics-results-table th,
.analytics-results-table td {
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .analytics-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .analytics-kpi-grid {
        grid-template-columns: 1fr;
    }
}


.users-compact-wrap {
    overflow-x: auto;
}

.users-table-compact {
    font-size: 13px;
}

.users-table-compact th,
.users-table-compact td {
    padding: 10px 12px;
    vertical-align: top;
}

.compact-badge-row {
    gap: 6px;
}

.compact-actions-wrap {
    gap: 8px;
    flex-wrap: wrap;
}

.inline-details {
    display: inline-block;
}

.inline-details summary {
    list-style: none;
}

.inline-details summary::-webkit-details-marker {
    display: none;
}

.inline-details-form {
    width: 280px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-soft);
}

.admin-inline-note {
    margin-top: -4px;
    margin-bottom: 14px;
    font-size: 13px;
}

@media (min-width: 1100px) {
    .users-table-compact td:last-child {
        min-width: 360px;
    }
}

.brand-logo-frame {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: rgba(255,255,255,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.brand-logo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-panel-premium {
    align-items: center;
    gap: 24px;
}

.hero-panel-with-image {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.hero-media {
    min-height: 260px;
}

.hero-media-image,
.dashboard-image-preview,
.brand-card-image,
.brand-detail-image,
.brand-admin-image,
.site-logo-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-media-image {
    border-radius: 20px;
    box-shadow: var(--shadow);
    min-height: 260px;
}

.brand-card-with-image,
.brand-detail-hero,
.brand-admin-card {
    overflow: visible;
    z-index: 40;
}

.dropdown {
    position: relative;
    z-index: 60;
}

.product-brand-grid,
.brand-admin-grid {
    align-items: stretch;
}

.brand-visual-block {
    margin-bottom: 16px;
}

.brand-card-image,
.brand-admin-image {
    height: 220px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(15,94,54,0.12), rgba(214,184,95,0.18));
}

.brand-card-image-empty,
.brand-admin-image-empty,
.brand-detail-image.brand-card-image-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand);
    font-size: 56px;
    font-weight: 700;
}

.brand-card-content {
    display: grid;
    gap: 12px;
}

.brand-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: center;
}

.brand-detail-image {
    min-height: 340px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(15,94,54,0.12), rgba(214,184,95,0.18));
}

.brand-admin-preview {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}

.brand-admin-image {
    height: 120px;
}

.image-preview-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.image-preview-column {
    flex-direction: column;
    align-items: flex-start;
}

.site-logo-preview {
    width: 88px;
    height: 88px;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.08);
}

.dashboard-image-preview {
    width: min(100%, 360px);
    height: 220px;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.08);
}

.compact-info-card {
    min-height: auto;
}

.admin-grid-wide {
    grid-template-columns: minmax(0, 1fr) 320px;
}

@media (max-width: 980px) {
    .hero-panel-with-image,
    .brand-detail-layout,
    .admin-grid-wide {
        grid-template-columns: 1fr;
    }

    .brand-admin-preview {
        grid-template-columns: 1fr;
    }
}


.products-admin-intro-card {
    padding-bottom: 18px;
}

.products-admin-intro-row {
    align-items: center;
    gap: 16px;
}

.products-admin-intro-text {
    max-width: 760px;
}

.products-admin-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.products-admin-create-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.product-form-card,
.product-admin-entity-card {
    display: grid;
    gap: 16px;
}

.product-admin-form {
    gap: 14px;
}

.form-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.compact-header-gap {
    gap: 12px;
    align-items: flex-start;
}

.product-upload-preview-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(15, 94, 54, 0.04);
    border: 1px solid rgba(15, 94, 54, 0.08);
}

.product-upload-preview {
    width: min(100%, 260px);
    min-height: 180px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(18, 31, 53, 0.08);
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
}

.product-upload-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-upload-preview.is-empty {
    background: linear-gradient(135deg, rgba(15, 94, 54, 0.06), rgba(214, 184, 95, 0.12));
    padding: 20px;
    text-align: center;
}

.field-help-text {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
}

@media (max-width: 980px) {
    .products-admin-create-grid,
    .form-two-columns {
        grid-template-columns: 1fr;
    }

    .products-admin-summary {
        justify-content: flex-start;
    }
}

.cms-layout-grid {
    align-items: start;
}

.cms-sidebar-card {
    position: sticky;
    top: 24px;
}

.cms-page-nav {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.cms-page-nav-item {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 16px;
    background: var(--surface-soft);
    border: 1px solid rgba(18, 31, 53, 0.06);
    color: var(--text);
}

.cms-page-nav-item span {
    color: var(--text-muted);
    font-size: 12px;
}

.cms-page-nav-item.is-active {
    background: rgba(208, 162, 58, 0.12);
    border-color: rgba(208, 162, 58, 0.3);
}

.cms-editor-stack,
.cms-block-list {
    display: grid;
    gap: 18px;
}

.form-grid {
    display: grid;
    gap: 14px;
}

.form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.form-grid-tight {
    gap: 8px;
}

.cms-block-card {
    padding: 20px;
}

.cms-block-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.cms-block-thumb {
    width: 120px;
    height: 88px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid rgba(18, 31, 53, 0.08);
}

.page-intro-card-with-media {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.9fr);
    gap: 24px;
    align-items: center;
}

.page-intro-media {
    display: flex;
    justify-content: center;
}

.page-intro-image,
.cms-feature-image,
.product-tile-image {
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid rgba(18, 31, 53, 0.08);
}

.cms-feature-image {
    max-height: 180px;
    margin-bottom: 16px;
}

.product-tile-card-with-image {
    overflow: visible;
    z-index: 40;
}

.dropdown {
    position: relative;
    z-index: 60;
}

.product-tile-card-with-image .product-tile-image {
    max-height: 220px;
    margin-bottom: 14px;
}

@media (max-width: 1024px) {
    .form-grid-2,
    .form-grid-3,
    .page-intro-card-with-media {
        grid-template-columns: 1fr;
    }

    .cms-sidebar-card {
        position: static;
    }
}

/* analytics ux */
.analytics-filter-hint{margin-top:12px;line-height:1.4;}

.analytics-kpi-grid-clean {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.analytics-meta-note {
    margin: -4px 0 18px;
    font-size: 12px;
    line-height: 1.4;
    color: #7b847a;
    text-align: right;
}

@media (max-width: 1200px) {
    .analytics-kpi-grid-clean {
        grid-template-columns: 1fr;
    }

    .analytics-meta-note {
        text-align: left;
    }
}


.learning-catalog-page {
    gap: 24px;
}

.eyebrow-label {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 94, 54, 0.08);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.learning-catalog-hero,
.learning-brand-detail-hero {
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
    border: 1px solid rgba(15, 94, 54, 0.08);
}

.learning-catalog-hero-with-media {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: center;
}

.learning-catalog-hero-copy,
.learning-brand-detail-copy {
    display: grid;
    gap: 16px;
}

.learning-catalog-hero-media,
.learning-brand-detail-media {
    min-height: 280px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(15, 94, 54, 0.08), rgba(208, 162, 58, 0.10));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.learning-catalog-hero-media.is-empty,
.learning-brand-detail-media.is-empty,
.learning-category-cover.is-empty,
.learning-brand-visual.is-empty,
.learning-sibling-media.is-empty {
    border: 1px dashed rgba(15, 94, 54, 0.14);
}

.learning-catalog-hero-image,
.learning-brand-detail-image,
.learning-category-cover-image,
.learning-brand-visual-image,
.learning-sibling-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.learning-catalog-hero-notes,
.learning-category-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.learning-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 600;
}

.learning-chip-link {
    border: 1px solid rgba(15, 94, 54, 0.1);
}

.learning-chip-link:hover {
    text-decoration: none;
    background: var(--brand-soft);
}

.learning-category-grid,
.learning-sibling-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.learning-category-card,
.learning-sibling-card {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.learning-category-cover,
.learning-sibling-media {
    min-height: 220px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(15, 94, 54, 0.08), rgba(208, 162, 58, 0.08));
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.learning-category-body,
.learning-sibling-copy {
    display: grid;
    gap: 12px;
}

.learning-category-cover-placeholder,
.learning-brand-placeholder {
    width: 84px;
    height: 84px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--brand-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 700;
}

.learning-brand-placeholder-large {
    width: 110px;
    height: 110px;
    font-size: 48px;
}

.learning-two-column-grid,
.learning-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 20px;
    align-items: start;
}

.learning-help-card,
.learning-detail-note,
.learning-theory-card,
.learning-detail-section,
.learning-material-card {
    display: grid;
    gap: 14px;
}

.learning-points-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 10px;
    color: var(--text);
}

.section-header-line-tight {
    margin-bottom: 0;
}

.learning-brand-list {
    display: grid;
    gap: 18px;
}

.learning-brand-row {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) 220px;
    gap: 20px;
    align-items: center;
}

.learning-brand-visual {
    min-height: 220px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(15, 94, 54, 0.08), rgba(208, 162, 58, 0.08));
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.learning-brand-copy,
.learning-brand-side {
    display: grid;
    gap: 14px;
}

.learning-brand-side {
    justify-items: start;
}

.learning-side-note {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 12px;
    border: 1px solid transparent;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.button:hover {
    text-decoration: none;
}

.button-primary {
    background: var(--brand);
    color: #ffffff;
}

.button-primary:hover {
    background: var(--brand-dark);
}

.learning-brand-detail-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: center;
}

.learning-brand-detail-image {
    min-height: 360px;
}

.learning-quick-links-grid {
    margin-top: 4px;
}

@media (max-width: 1100px) {
    .learning-category-grid,
    .learning-sibling-grid,
    .learning-two-column-grid,
    .learning-detail-grid,
    .learning-catalog-hero-with-media,
    .learning-brand-detail-layout,
    .learning-brand-row {
        grid-template-columns: 1fr;
    }

    .learning-brand-row {
        justify-items: start;
    }
}

@media (max-width: 760px) {
    .learning-category-card,
    .learning-sibling-card {
        grid-template-columns: 1fr;
    }

    .learning-category-cover,
    .learning-sibling-media,
    .learning-brand-visual,
    .learning-catalog-hero-media,
    .learning-brand-detail-media {
        min-height: 220px;
    }
}

.dashboard-shell {
    display: grid;
    gap: 18px;
}

.dashboard-hero {
    margin-bottom: 0;
}

.dashboard-hero-copy {
    display: grid;
    gap: 14px;
}

.dashboard-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(30, 90, 54, 0.08);
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 700;
}

.dashboard-grid {
    display: grid;
    gap: 16px;
}

.dashboard-grid-main {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
}

.dashboard-grid-secondary {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.action-card,
.news-card,
.dashboard-info-card,
.account-card {
    height: 100%;
}

.action-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.action-item {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-soft);
    color: var(--text);
}

.action-item:hover {
    text-decoration: none;
    border-color: rgba(30, 90, 54, 0.24);
    background: #f2f7ee;
}

.action-item-label,
.stat-label,
.stat-note {
    color: var(--muted);
}

.action-item strong,
.stat-value {
    font-size: 20px;
    line-height: 1.35;
}

.action-item-meta {
    color: var(--brand);
    font-weight: 700;
}

.news-card {
    background: linear-gradient(180deg, #fffef8 0%, #f8fbf2 100%);
}

.news-card h3 {
    margin-bottom: 8px;
}

.news-card p {
    margin-top: 0;
    color: var(--muted);
    line-height: 1.7;
}

.dashboard-stats-grid .stat-card {
    display: grid;
    gap: 8px;
}

.dashboard-checklist {
    display: grid;
    gap: 12px;
    color: var(--text);
}

.dashboard-checklist div {
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    line-height: 1.6;
}

.dashboard-checklist strong {
    color: var(--brand);
}

.page-text {
    color: var(--muted);
    line-height: 1.8;
}

@media (max-width: 1024px) {
    .dashboard-grid-main,
    .dashboard-grid-secondary,
    .cards-grid-3,
    .stats-grid,
    .steps-grid {
        grid-template-columns: 1fr;
    }
}


/* Dashboard refresh */
.dashboard-shell-light {
    gap: 22px;
}

.dashboard-hero-simple {
    align-items: center;
    padding: 34px;
    background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,250,243,0.96));
}

.dashboard-hero-simple .dashboard-hero-copy {
    gap: 16px;
    max-width: 760px;
}

.dashboard-hero-simple h2 {
    margin: 0;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.08;
}

.dashboard-hero-simple p {
    margin: 0;
    max-width: 720px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--muted);
}

.dashboard-hero-meta-simple span {
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(18,31,53,0.08);
    box-shadow: 0 12px 28px rgba(18,31,53,0.06);
}

.dashboard-news-card {
    padding: 26px 28px;
}

.dashboard-news-card h3 {
    margin: 6px 0 10px;
}

.dashboard-hints {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.hint-card {
    display: grid;
    gap: 14px;
    min-height: 100%;
    padding: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
}

.hint-card h3 {
    margin: 0;
    font-size: 20px;
}

.hint-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
}

.hint-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 90, 54, 0.08);
    font-size: 24px;
}

.admin-inline-note {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(208, 162, 58, 0.12);
    border: 1px solid rgba(208, 162, 58, 0.22);
    color: var(--text);
    line-height: 1.6;
}

@media (max-width: 980px) {
    .dashboard-hints {
        grid-template-columns: 1fr;
    }

    .dashboard-hero-simple {
        padding: 24px;
    }
}


/* Premium homepage redesign */
.homepage-premium-shell {
    display: grid;
    gap: 22px;
}

.homepage-premium-hero {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    padding: 0;
    border: 1px solid rgba(16, 35, 25, 0.08);
    background:
        radial-gradient(circle at top left, rgba(208, 162, 58, 0.18), transparent 32%),
        radial-gradient(circle at 85% 18%, rgba(34, 92, 56, 0.18), transparent 30%),
        linear-gradient(135deg, #fbfcf8 0%, #f4f7ef 42%, #eef4ea 100%);
    box-shadow: 0 24px 60px rgba(19, 37, 24, 0.1);
}

.homepage-premium-hero-with-image .homepage-premium-content {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.72fr);
}

.homepage-premium-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.homepage-premium-glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(24px);
    opacity: 0.6;
}

.homepage-premium-glow-1 {
    top: -40px;
    left: -30px;
    width: 240px;
    height: 240px;
    background: rgba(208, 162, 58, 0.22);
}

.homepage-premium-glow-2 {
    right: -20px;
    bottom: -30px;
    width: 260px;
    height: 260px;
    background: rgba(30, 90, 54, 0.16);
}

.homepage-premium-line {
    position: absolute;
    left: -10%;
    right: -10%;
    display: flex;
    gap: 14px;
    white-space: nowrap;
    opacity: 0.9;
}

.homepage-premium-line span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(18, 31, 53, 0.07);
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(8px);
    color: rgba(25, 35, 26, 0.78);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 10px 24px rgba(19, 37, 24, 0.06);
}

.homepage-premium-line-1 {
    top: 54px;
    transform: rotate(-6deg);
    animation: homepageBannerMoveLeft 32s linear infinite;
}

.homepage-premium-line-2 {
    top: 150px;
    transform: rotate(4deg);
    animation: homepageBannerMoveRight 28s linear infinite;
}

.homepage-premium-line-3 {
    bottom: 54px;
    transform: rotate(-4deg);
    animation: homepageBannerMoveLeft 24s linear infinite;
}

@keyframes homepageBannerMoveLeft {
    0% { transform: translateX(0) rotate(-6deg); }
    50% { transform: translateX(-4%) rotate(-6deg); }
    100% { transform: translateX(0) rotate(-6deg); }
}

@keyframes homepageBannerMoveRight {
    0% { transform: translateX(-4%) rotate(4deg); }
    50% { transform: translateX(0) rotate(4deg); }
    100% { transform: translateX(-4%) rotate(4deg); }
}

.homepage-premium-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: center;
    min-height: 420px;
    padding: 34px;
}

.homepage-premium-main {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 18px;
    max-width: 760px;
}

.homepage-premium-badge {
    width: fit-content;
    box-shadow: 0 12px 24px rgba(18, 31, 53, 0.08);
}

.homepage-premium-main h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.02;
    max-width: 680px;
}

.homepage-premium-main p {
    margin: 0;
    max-width: 690px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.78;
}

.homepage-premium-welcome-row {
    display: grid;
    grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1fr);
    gap: 16px;
    max-width: 920px;
}

.homepage-premium-welcome-card,
.homepage-premium-quick-status {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(18, 31, 53, 0.08);
    background: rgba(255, 255, 255, 0.76);
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 34px rgba(19, 37, 24, 0.08);
}

.homepage-premium-welcome-label,
.homepage-premium-quick-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}

.homepage-premium-welcome-card strong,
.homepage-premium-quick-status strong {
    font-size: 22px;
    line-height: 1.3;
    color: var(--text);
}

.homepage-premium-welcome-role {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(30, 90, 54, 0.08);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 700;
}

.homepage-premium-quick-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.homepage-premium-quick-status div {
    display: grid;
    gap: 6px;
}

.homepage-premium-media {
    position: relative;
    z-index: 2;
    justify-self: end;
    width: min(100%, 400px);
    min-height: 340px;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(18, 31, 53, 0.08);
    box-shadow: 0 22px 46px rgba(19, 37, 24, 0.14);
}

.homepage-premium-media-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-premium-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(340px, 0.86fr);
    gap: 18px;
}

.homepage-news-card-premium,
.homepage-nav-card-premium {
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

.homepage-news-card-premium {
    padding: 28px;
    background:
        radial-gradient(circle at top right, rgba(208, 162, 58, 0.14), transparent 28%),
        linear-gradient(180deg, #fffef9 0%, #f7faf2 100%);
}

.homepage-news-card-premium h3,
.homepage-nav-card-premium h3 {
    margin: 8px 0 10px;
    font-size: 28px;
}

.homepage-news-card-premium p {
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 15px;
}

.homepage-news-card-footer {
    margin-top: 18px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.homepage-news-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(30, 90, 54, 0.08);
    font-weight: 700;
}

.homepage-news-link:hover {
    background: rgba(30, 90, 54, 0.14);
    text-decoration: none;
}

.homepage-news-note {
    color: var(--muted);
    line-height: 1.7;
}

.homepage-nav-card-premium {
    padding: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #fafcf7 100%);
}

.homepage-nav-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.homepage-nav-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(248, 250, 239, 0.72);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.homepage-nav-item:hover {
    text-decoration: none;
    transform: translateY(-2px);
    border-color: rgba(30, 90, 54, 0.2);
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(19, 37, 24, 0.08);
}

.homepage-nav-item-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 90, 54, 0.08);
    font-size: 26px;
}

.homepage-nav-item strong,
.homepage-nav-item small {
    display: block;
}

.homepage-nav-item strong {
    color: var(--text);
    font-size: 16px;
    margin-bottom: 4px;
}

.homepage-nav-item small {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 1180px) {
    .homepage-premium-grid,
    .homepage-premium-welcome-row,
    .homepage-premium-hero-with-image .homepage-premium-content {
        grid-template-columns: 1fr;
    }

    .homepage-premium-media {
        justify-self: start;
        width: min(100%, 520px);
    }
}

@media (max-width: 760px) {
    .homepage-premium-content,
    .homepage-news-card-premium,
    .homepage-nav-card-premium {
        padding: 22px;
    }

    .homepage-premium-line span {
        min-height: 36px;
        padding: 0 14px;
        font-size: 12px;
    }

    .homepage-premium-main h2 {
        font-size: 32px;
    }

    .homepage-premium-quick-status {
        grid-template-columns: 1fr;
    }

    .homepage-news-card-premium h3,
    .homepage-nav-card-premium h3 {
        font-size: 24px;
    }
}


@media (max-width: 1180px) {
    .homepage-lux-content {
        grid-template-columns: 1fr;
    }

    .homepage-lux-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-lux-media-card {
        grid-column: 1 / -1;
        min-height: 220px;
    }
}

@media (max-width: 860px) {
    .homepage-lux-hero {
        padding: 28px;
        min-height: auto;
        border-radius: 26px;
    }

    .homepage-lux-main h2 {
        font-size: clamp(34px, 10vw, 50px);
        letter-spacing: -1.4px;
    }

    .homepage-lux-main > p {
        font-size: 17px;
        line-height: 1.7;
    }

    .homepage-lux-card-row,
    .homepage-lux-side {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .homepage-lux-hero {
        padding: 22px;
    }

    .homepage-lux-main h2 {
        font-size: 32px;
        line-height: 1.04;
    }

    .homepage-lux-main > p {
        margin-top: 16px;
        font-size: 15px;
    }

    .homepage-lux-card-row {
        margin-top: 26px;
    }

    .homepage-lux-panel,
    .homepage-lux-stat-card {
        padding: 18px;
        min-height: auto;
        border-radius: 22px;
    }

    .homepage-lux-user-panel strong,
    .homepage-lux-stat-card strong {
        font-size: 24px;
    }

    .homepage-lux-news-panel strong {
        font-size: 20px;
    }

    .homepage-lux-orb-right,
    .homepage-lux-ribbon-1,
    .homepage-lux-ribbon-2 {
        opacity: 0.45;
    }
}


/* ===== Homepage premium redesign v3 ===== */
.brand-logo-frame {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
    flex-shrink: 0;
}

.brand-logo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-premium-shell {
    display: grid;
}

.homepage-premium-stage {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 0;
    border-radius: 36px;
    border: 1px solid rgba(23, 44, 30, 0.08);
    background:
        radial-gradient(circle at top left, rgba(245, 221, 170, 0.52), transparent 34%),
        radial-gradient(circle at top right, rgba(207, 233, 223, 0.62), transparent 38%),
        linear-gradient(135deg, rgba(255, 250, 239, 0.96), rgba(244, 248, 241, 0.98));
    box-shadow: 0 34px 90px rgba(23, 38, 27, 0.12);
}

.homepage-premium-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.homepage-premium-glow,
.homepage-premium-ring,
.homepage-premium-line,
.homepage-premium-grid {
    position: absolute;
}

.homepage-premium-glow {
    border-radius: 999px;
    filter: blur(18px);
    opacity: 0.75;
    animation: homepagePremiumFloat 14s ease-in-out infinite;
}

.homepage-premium-glow-a {
    width: 420px;
    height: 420px;
    left: -120px;
    top: -90px;
    background: radial-gradient(circle, rgba(220, 179, 92, 0.24) 0%, rgba(220, 179, 92, 0) 72%);
}

.homepage-premium-glow-b {
    width: 560px;
    height: 560px;
    right: -180px;
    top: -120px;
    background: radial-gradient(circle, rgba(89, 150, 117, 0.18) 0%, rgba(89, 150, 117, 0) 74%);
    animation-duration: 18s;
}

.homepage-premium-glow-c {
    width: 460px;
    height: 460px;
    right: 16%;
    bottom: -200px;
    background: radial-gradient(circle, rgba(255, 240, 201, 0.28) 0%, rgba(255, 240, 201, 0) 70%);
    animation-duration: 20s;
}

.homepage-premium-grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(21, 63, 38, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(21, 63, 38, 0.04) 1px, transparent 1px);
    background-size: 120px 120px;
    mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.8), transparent 82%);
    opacity: 0.55;
}

.homepage-premium-ring {
    border: 1px solid rgba(20, 67, 42, 0.08);
    border-radius: 50%;
}

.homepage-premium-ring-a {
    width: 760px;
    height: 760px;
    right: -260px;
    top: -150px;
    animation: homepagePremiumSpin 36s linear infinite;
}

.homepage-premium-ring-b {
    width: 520px;
    height: 520px;
    right: 60px;
    bottom: -260px;
    animation: homepagePremiumSpinReverse 28s linear infinite;
}

.homepage-premium-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(208, 162, 58, 0.4), transparent);
    opacity: 0.8;
    transform-origin: left center;
    animation: homepagePremiumSweep 8s ease-in-out infinite;
}

.homepage-premium-line-a {
    width: 360px;
    top: 118px;
    left: 190px;
}

.homepage-premium-line-b {
    width: 280px;
    top: 52%;
    right: 170px;
    animation-delay: 1.8s;
}

.homepage-premium-line-c {
    width: 420px;
    bottom: 140px;
    left: 90px;
    animation-delay: 3.2s;
}

.homepage-premium-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, 440px);
    gap: 28px;
    padding: 42px;
}

.homepage-premium-hero-block {
    display: flex;
    flex-direction: column;
    gap: 28px;
    justify-content: space-between;
    min-height: 676px;
}

.homepage-premium-kicker-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.homepage-premium-kicker,
.homepage-premium-status,
.homepage-premium-card-label,
.homepage-premium-signature-caption {
    text-transform: uppercase;
    letter-spacing: 1.7px;
    font-size: 12px;
    font-weight: 700;
}

.homepage-premium-kicker {
    color: #153f26;
}

.homepage-premium-status {
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(229, 238, 230, 0.82);
    border: 1px solid rgba(30, 90, 54, 0.08);
    color: #2c6a47;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.homepage-premium-headline-wrap {
    max-width: 760px;
    padding: 26px 0 12px;
}

.homepage-premium-headline-wrap h2 {
    margin: 0;
    font-size: clamp(60px, 7vw, 110px);
    line-height: 0.94;
    letter-spacing: -3.4px;
    font-weight: 700;
    color: #122016;
    text-wrap: balance;
}

.homepage-premium-headline-wrap p {
    max-width: 640px;
    margin: 28px 0 0;
    font-size: 22px;
    line-height: 1.62;
    color: rgba(25, 35, 26, 0.68);
}

.homepage-premium-bottom-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(260px, 340px);
    gap: 18px;
    align-items: end;
}

.homepage-premium-user-card,
.homepage-premium-mini-card,
.homepage-premium-news-card,
.homepage-premium-signature-card,
.homepage-premium-image-card {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 22px 48px rgba(21, 35, 24, 0.10);
}

.homepage-premium-user-card::before,
.homepage-premium-mini-card::before,
.homepage-premium-news-card::before,
.homepage-premium-signature-card::before,
.homepage-premium-image-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.26), transparent 45%, rgba(208, 162, 58, 0.05));
    pointer-events: none;
}

.homepage-premium-user-card {
    padding: 26px 28px 28px;
    min-height: 228px;
}

.homepage-premium-user-card strong {
    display: block;
    margin-top: 18px;
    font-size: 38px;
    line-height: 1.05;
    letter-spacing: -1.2px;
}

.homepage-premium-user-role {
    display: inline-flex;
    margin-top: 16px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(24, 95, 54, 0.08);
    color: #295d3e;
    font-weight: 700;
}

.homepage-premium-user-card small,
.homepage-premium-mini-card small,
.homepage-premium-news-card p,
.homepage-premium-signature-card p {
    display: block;
    color: rgba(25, 35, 26, 0.64);
}

.homepage-premium-user-card small {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.65;
}

.homepage-premium-mini-stack {
    display: grid;
    gap: 16px;
}

.homepage-premium-mini-card {
    padding: 22px 24px;
    min-height: 106px;
}

.homepage-premium-mini-card strong {
    display: block;
    margin-top: 14px;
    font-size: 28px;
    line-height: 1.08;
    letter-spacing: -0.8px;
}

.homepage-premium-mini-card small {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.55;
}

.homepage-premium-aside {
    display: grid;
    align-content: start;
    gap: 18px;
    padding-top: 8px;
}

.homepage-premium-news-card {
    padding: 28px;
    min-height: 290px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 246, 239, 0.78));
}

.homepage-premium-news-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.homepage-premium-news-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle, #d0a23a 0%, #8c6c22 100%);
    box-shadow: 0 0 20px rgba(208, 162, 58, 0.55);
    animation: homepagePremiumPulse 2.8s ease-in-out infinite;
}

.homepage-premium-news-card strong {
    display: block;
    margin-top: 18px;
    font-size: 34px;
    line-height: 1.08;
    letter-spacing: -1px;
}

.homepage-premium-news-card p {
    margin: 18px 0 0;
    font-size: 16px;
    line-height: 1.75;
}

.homepage-premium-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-weight: 700;
    color: #1e5a36;
}

.homepage-premium-text-link::after {
    content: "→";
    transition: transform 0.25s ease;
}

.homepage-premium-text-link:hover::after {
    transform: translateX(4px);
}

.homepage-premium-signature-card {
    padding: 26px 28px 30px;
    min-height: 260px;
    background: linear-gradient(160deg, rgba(20, 58, 34, 0.95), rgba(29, 80, 49, 0.88));
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 28px 58px rgba(14, 33, 20, 0.24);
}

.homepage-premium-signature-card::before {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 36%);
}

.homepage-premium-signature-caption,
.homepage-premium-signature-title,
.homepage-premium-signature-card p {
    position: relative;
    z-index: 1;
}

.homepage-premium-signature-caption {
    color: rgba(239, 244, 238, 0.76);
}

.homepage-premium-signature-title {
    margin-top: 18px;
    font-size: 46px;
    line-height: 0.98;
    letter-spacing: -1.8px;
    color: #ffffff;
}

.homepage-premium-signature-card p {
    margin: 20px 0 0;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(233, 241, 235, 0.78);
}

.homepage-premium-image-card {
    padding: 10px;
}

.homepage-premium-image {
    width: 100%;
    display: block;
    border-radius: 24px;
    object-fit: cover;
}

@keyframes homepagePremiumFloat {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(0, -20px, 0) scale(1.04); }
}

@keyframes homepagePremiumSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes homepagePremiumSpinReverse {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}

@keyframes homepagePremiumSweep {
    0%, 100% { opacity: 0.12; transform: scaleX(0.7) translateX(0); }
    50% { opacity: 0.82; transform: scaleX(1.1) translateX(22px); }
}

@keyframes homepagePremiumPulse {
    0%, 100% { transform: scale(1); opacity: 0.78; }
    50% { transform: scale(1.18); opacity: 1; }
}

@media (max-width: 1180px) {
    .homepage-premium-layout {
        grid-template-columns: 1fr;
    }

    .homepage-premium-hero-block {
        min-height: auto;
    }

    .homepage-premium-headline-wrap h2 {
        font-size: clamp(52px, 9vw, 82px);
    }

    .homepage-premium-aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .homepage-premium-stage {
        min-height: auto;
        border-radius: 28px;
    }

    .homepage-premium-layout {
        padding: 24px;
        gap: 18px;
    }

    .homepage-premium-kicker-row,
    .homepage-premium-bottom-grid,
    .homepage-premium-aside {
        grid-template-columns: 1fr;
        display: grid;
    }

    .homepage-premium-headline-wrap {
        padding-top: 10px;
    }

    .homepage-premium-headline-wrap h2 {
        font-size: clamp(40px, 13vw, 62px);
        letter-spacing: -2px;
    }

    .homepage-premium-headline-wrap p {
        font-size: 18px;
    }

    .homepage-premium-user-card strong,
    .homepage-premium-news-card strong {
        font-size: 30px;
    }

    .homepage-premium-signature-title {
        font-size: 38px;
    }
}

/* === Homepage cinematic redesign === */
.dashboard-body .page-wrapper {
    max-width: 100%;
    padding: 0;
}

.dashboard-body .page-body {
    padding: 0;
}

.academy-homepage {
    min-height: calc(100vh - 150px);
    background:
        radial-gradient(circle at top left, rgba(204, 171, 97, 0.16), transparent 28%),
        linear-gradient(180deg, #eef1eb 0%, #f7f7f4 55%, #eef2ed 100%);
}

.academy-hero-shell {
    position: relative;
    min-height: calc(100vh - 150px);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px clamp(24px, 4vw, 56px);
}

.academy-hero-slideshow,
.academy-hero-overlay,
.academy-hero-grid,
.academy-hero-lights {
    position: absolute;
    inset: 0;
}

.academy-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.06);
    animation: academyHeroFade 42s infinite ease-in-out, academyHeroZoom 14s infinite alternate ease-in-out;
    background-size: cover;
    background-position: center;
    filter: saturate(0.84) contrast(0.95) brightness(0.82);
}

.academy-hero-slide-1 {
    animation-delay: 0s;
    background-image:
        linear-gradient(135deg, rgba(8, 20, 14, 0.55), rgba(8, 20, 14, 0.30)),
        radial-gradient(circle at 20% 20%, rgba(196, 166, 93, 0.36), transparent 24%),
        radial-gradient(circle at 80% 30%, rgba(29, 97, 56, 0.38), transparent 32%),
        linear-gradient(120deg, #273a2d 0%, #4a5f49 35%, #d1bc8f 100%);
}

.academy-hero-slide-has-image {
    background-image:
        linear-gradient(135deg, rgba(8, 20, 14, 0.68), rgba(8, 20, 14, 0.42)),
        var(--hero-image),
        radial-gradient(circle at 16% 18%, rgba(196, 166, 93, 0.34), transparent 24%),
        linear-gradient(120deg, #273a2d 0%, #4a5f49 35%, #d1bc8f 100%);
}

.academy-hero-slide-2 {
    animation-delay: 7s;
    background-image:
        linear-gradient(135deg, rgba(10, 22, 16, 0.60), rgba(10, 22, 16, 0.30)),
        radial-gradient(circle at 72% 28%, rgba(209, 188, 143, 0.40), transparent 20%),
        linear-gradient(120deg, #162d20 0%, #2f5940 45%, #98a68e 100%);
}

.academy-hero-slide-3 {
    animation-delay: 14s;
    background-image:
        linear-gradient(135deg, rgba(7, 18, 12, 0.62), rgba(7, 18, 12, 0.26)),
        radial-gradient(circle at 18% 50%, rgba(255, 255, 255, 0.12), transparent 18%),
        linear-gradient(120deg, #243127 0%, #56654f 46%, #dbcaa4 100%);
}

.academy-hero-slide-4 {
    animation-delay: 21s;
    background-image:
        linear-gradient(135deg, rgba(8, 20, 14, 0.66), rgba(8, 20, 14, 0.30)),
        radial-gradient(circle at 82% 18%, rgba(196, 166, 93, 0.36), transparent 18%),
        linear-gradient(120deg, #101d16 0%, #2a4c39 40%, #7d8f76 100%);
}

.academy-hero-slide-5 {
    animation-delay: 28s;
    background-image:
        linear-gradient(135deg, rgba(8, 20, 14, 0.64), rgba(8, 20, 14, 0.30)),
        radial-gradient(circle at 30% 24%, rgba(209, 188, 143, 0.26), transparent 20%),
        linear-gradient(120deg, #17261d 0%, #475a46 48%, #b7b89d 100%);
}

.academy-hero-slide-6 {
    animation-delay: 35s;
    background-image:
        linear-gradient(135deg, rgba(8, 20, 14, 0.64), rgba(8, 20, 14, 0.34)),
        radial-gradient(circle at 74% 62%, rgba(196, 166, 93, 0.25), transparent 20%),
        linear-gradient(120deg, #1b2b21 0%, #385340 43%, #d5c5a1 100%);
}

.academy-hero-overlay {
    background:
        linear-gradient(180deg, rgba(5, 12, 8, 0.16) 0%, rgba(5, 12, 8, 0.34) 100%),
        radial-gradient(circle at center, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.30));
    z-index: 1;
}

.academy-hero-grid {
    z-index: 2;
    opacity: 0.14;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.22), transparent 80%);
}

.academy-light {
    position: absolute;
    display: block;
    border-radius: 50%;
    filter: blur(10px);
    opacity: 0.42;
    mix-blend-mode: screen;
}

.academy-light-a {
    width: 520px;
    height: 520px;
    top: -140px;
    left: -120px;
    background: radial-gradient(circle, rgba(229, 209, 149, 0.50), transparent 70%);
    animation: academyFloatLight 14s ease-in-out infinite alternate;
}

.academy-light-b {
    width: 420px;
    height: 420px;
    right: -80px;
    top: 12%;
    background: radial-gradient(circle, rgba(76, 130, 92, 0.30), transparent 70%);
    animation: academyFloatLight 16s ease-in-out infinite alternate-reverse;
}

.academy-light-c {
    width: 380px;
    height: 380px;
    bottom: -120px;
    left: 26%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.18), transparent 72%);
    animation: academyFloatLight 18s ease-in-out infinite alternate;
}

.academy-hero-content {
    position: relative;
    z-index: 3;
    width: min(1360px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 420px);
    gap: 42px;
    align-items: end;
}

.academy-hero-copy {
    max-width: 840px;
    color: #f4f1e9;
    animation: academyRevealUp 1s ease both;
}

.academy-hero-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(14px);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.academy-hero-copy h1 {
    margin: 0;
    font-size: clamp(3.2rem, 6.5vw, 6.6rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    text-wrap: balance;
    text-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.academy-hero-copy p {
    margin: 28px 0 0;
    max-width: 620px;
    color: rgba(244, 241, 233, 0.84);
    font-size: clamp(1.06rem, 1.45vw, 1.24rem);
    line-height: 1.75;
}

.academy-news-glass-card {
    position: relative;
    padding: 30px 30px 32px;
    border-radius: 28px;
    color: #f9f7f2;
    background: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.08));
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(24px);
    box-shadow: 0 36px 120px rgba(0, 0, 0, 0.28);
    animation: academyRevealUp 1.15s ease both;
    overflow: visible;
    z-index: 40;
}

.dropdown {
    position: relative;
    z-index: 60;
}

.academy-news-glass-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 22%, rgba(255,255,255,0.14) 50%, transparent 78%);
    transform: translateX(-130%);
    animation: academyShine 7s infinite ease-in-out;
}

.academy-news-label,
.academy-section-kicker,
.academy-feature-label {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.92);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.academy-news-glass-card strong {
    position: relative;
    display: block;
    margin-top: 18px;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.15;
}

.academy-news-glass-card p {
    position: relative;
    margin: 16px 0 0;
    color: rgba(249, 247, 242, 0.82);
    line-height: 1.8;
}

.academy-news-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: 18px;
    color: #f3ddaa;
    font-weight: 700;
    text-decoration: none;
}

.academy-news-link:hover {
    color: #fff1c9;
}

.academy-quick-section {
    width: min(1360px, calc(100% - 48px));
    margin: -92px auto 0;
    position: relative;
    z-index: 4;
    padding-bottom: 48px;
}

.academy-quick-intro {
    max-width: 760px;
    margin-bottom: 26px;
}

.academy-section-kicker {
    color: var(--brand-dark);
    background: rgba(30, 90, 54, 0.08);
}

.academy-quick-intro h2 {
    margin: 18px 0 12px;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.04;
    color: #112217;
}

.academy-quick-intro p {
    margin: 0;
    color: rgba(17, 34, 23, 0.72);
    line-height: 1.8;
    font-size: 1.03rem;
}

.academy-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.academy-feature-card {
    position: relative;
    min-height: 220px;
    padding: 26px;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(18, 37, 26, 0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.72));
    backdrop-filter: blur(20px);
    box-shadow: 0 26px 72px rgba(15, 38, 25, 0.08);
}

.academy-feature-card::before {
    content: "";
    position: absolute;
    inset: auto -30% -38% auto;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(196,166,93,0.18), transparent 70%);
}

.academy-feature-card-user::before {
    background: radial-gradient(circle, rgba(54, 115, 71, 0.16), transparent 72%);
}

.academy-feature-card-accent {
    background: linear-gradient(180deg, rgba(27, 53, 39, 0.96), rgba(17, 34, 23, 0.92));
    border-color: rgba(255,255,255,0.06);
}

.academy-feature-card-accent .academy-feature-label,
.academy-feature-card-accent strong,
.academy-feature-card-accent p {
    color: #f8f3e8;
}

.academy-feature-label {
    color: var(--brand-dark);
    background: rgba(30, 90, 54, 0.08);
}

.academy-feature-card strong {
    display: block;
    margin-top: 18px;
    font-size: 1.6rem;
    line-height: 1.2;
    color: #12251a;
}

.academy-feature-card p {
    margin: 14px 0 0;
    color: rgba(18, 37, 26, 0.68);
    line-height: 1.7;
}

@keyframes academyHeroFade {
    0%, 13% { opacity: 0; }
    16%, 30% { opacity: 1; }
    33%, 100% { opacity: 0; }
}

@keyframes academyHeroZoom {
    from { transform: scale(1.03); }
    to { transform: scale(1.12); }
}

@keyframes academyFloatLight {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(18px, 24px, 0); }
}

@keyframes academyRevealUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes academyShine {
    0%, 100% { transform: translateX(-130%); }
    45%, 55% { transform: translateX(130%); }
}

@media (max-width: 1180px) {
    .academy-hero-content {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .academy-news-glass-card {
        max-width: 520px;
    }

    .academy-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .academy-hero-shell {
        min-height: auto;
        padding: 32px 18px 88px;
    }

    .academy-hero-content {
        gap: 22px;
    }

    .academy-hero-kicker {
        font-size: 0.72rem;
        letter-spacing: 0.18em;
        padding: 0 14px;
    }

    .academy-hero-copy h1 {
        font-size: clamp(2.3rem, 12vw, 3.6rem);
    }

    .academy-hero-copy p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .academy-news-glass-card {
        padding: 22px;
        border-radius: 22px;
    }

    .academy-quick-section {
        width: calc(100% - 24px);
        margin-top: -56px;
        padding-bottom: 28px;
    }

    .academy-feature-grid {
        grid-template-columns: 1fr;
    }

    .academy-feature-card {
        min-height: 180px;
    }
}


/* Homepage readability and interactive cards fix */
.academy-homepage {
    background: linear-gradient(180deg, #eef1eb 0%, #f7f7f4 60%, #edf2ec 100%);
}

.academy-hero-shell {
    min-height: calc(100vh - 132px);
}

.academy-hero-slide {
    filter: saturate(0.74) contrast(0.96) brightness(0.58);
}

.academy-hero-slide-has-image {
    background-position: center center;
    background-size: cover;
}

.academy-hero-overlay {
    background:
        linear-gradient(90deg, rgba(5, 12, 8, 0.82) 0%, rgba(5, 12, 8, 0.66) 38%, rgba(5, 12, 8, 0.52) 62%, rgba(5, 12, 8, 0.68) 100%),
        linear-gradient(180deg, rgba(5, 12, 8, 0.24) 0%, rgba(5, 12, 8, 0.54) 100%),
        radial-gradient(circle at 18% 28%, rgba(196, 166, 93, 0.16), transparent 28%);
}

.academy-hero-content {
    align-items: center;
    gap: 56px;
}

.academy-hero-copy {
    max-width: 760px;
}

.academy-hero-copy h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 6.1vw, 6.2rem);
    line-height: 0.93;
    text-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
}

.academy-hero-copy p {
    max-width: 620px;
    color: rgba(249, 246, 240, 0.94);
    text-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
}

.academy-news-glass-card {
    width: min(100%, 420px);
    background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.10));
}

.academy-news-glass-card strong,
.academy-news-glass-card p,
.academy-news-link {
    position: relative;
    z-index: 1;
}

.academy-news-glass-card p {
    overflow-wrap: anywhere;
}

.academy-quick-section {
    margin-top: -72px;
}

.academy-feature-grid {
    align-items: stretch;
}

.academy-feature-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.academy-feature-card strong {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.academy-feature-card p {
    flex: 1 1 auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
     line-clamp: 4; 
    -webkit-box-orient: vertical;
}

.academy-feature-link-card {
    text-decoration: none;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.academy-feature-link-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 34px 84px rgba(15, 38, 25, 0.16);
    border-color: rgba(30, 90, 54, 0.16);
}

.academy-feature-link-card:hover .academy-feature-action {
    transform: translateX(4px);
    opacity: 1;
}

.academy-feature-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--brand-dark);
    opacity: 0.88;
    transition: transform 220ms ease, opacity 220ms ease;
}

.academy-feature-action::after {
    content: "→";
    font-size: 1rem;
}

.academy-feature-card-accent .academy-feature-action,
.academy-feature-card-accent .academy-feature-label {
    color: #f7ead0;
}

@media (max-width: 1180px) {
    .academy-hero-copy h1 {
        max-width: 12ch;
    }
}

@media (max-width: 720px) {
    .academy-hero-overlay {
        background:
            linear-gradient(180deg, rgba(5, 12, 8, 0.72) 0%, rgba(5, 12, 8, 0.82) 100%),
            radial-gradient(circle at 28% 20%, rgba(196, 166, 93, 0.14), transparent 30%);
    }

    .academy-hero-content {
        align-items: start;
        gap: 24px;
    }

    .academy-hero-copy h1 {
        max-width: none;
        line-height: 0.98;
    }

    .academy-feature-link-card:hover {
        transform: none;
    }
}

/* === global redesign v5 === */
:root {
    --premium-bg: #08110d;
    --premium-bg-soft: #101915;
    --premium-panel: rgba(255, 255, 255, 0.86);
    --premium-panel-soft: rgba(255, 255, 255, 0.72);
    --premium-line: rgba(255, 255, 255, 0.18);
    --premium-shadow: 0 28px 80px rgba(4, 12, 9, 0.22);
    --premium-shadow-soft: 0 16px 40px rgba(7, 18, 13, 0.12);
    --premium-text: #102015;
    --premium-muted: rgba(16, 32, 21, 0.66);
    --premium-gold: #d8b25a;
    --premium-green: #1d5e3b;
    --premium-green-deep: #0f2c1c;
}

body.premium-body {
    background:
        radial-gradient(circle at top left, rgba(216, 178, 90, 0.10), transparent 26%),
        radial-gradient(circle at top right, rgba(35, 90, 58, 0.14), transparent 24%),
        linear-gradient(180deg, #eef2eb 0%, #f6f7f3 300px, #f3f4ef 100%);
    color: var(--premium-text);
}

.site-header {
    position: sticky;
    top: 14px;
    margin: 14px auto 0;
    width: min(1440px, calc(100% - 24px));
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(135deg, rgba(9, 24, 16, 0.92), rgba(16, 52, 32, 0.90) 55%, rgba(12, 41, 25, 0.94) 100%);
    backdrop-filter: blur(18px);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(4, 12, 9, 0.28);
    overflow: visible;
    z-index: 40;
}

.site-header {
    transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.22s ease, box-shadow 0.22s ease;
    will-change: transform;
}

.site-header.site-header--hidden {
    transform: translateY(calc(-100% - 20px));
    opacity: 0.98;
    pointer-events: none;
    box-shadow: none;
}

.dropdown {
    position: relative;
    z-index: 60;
}

.header-top-row,
.header-nav-row,
.page-wrapper {
    max-width: 1400px;
}

.header-top-row {
    padding-top: 18px;
    padding-bottom: 16px;
}

.header-nav-row {
    padding-top: 12px;
    padding-bottom: 18px;
}

.brand-copy {
    display: grid;
    gap: 3px;
}

.brand-overline {
    display: block;
    font-size: 10px;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: rgba(216, 178, 90, 0.92);
}

.brand-logo-frame,
.brand-mark {
    width: 56px;
    height: 56px;
    border-radius: 18px;
}

.brand-logo-frame {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.brand-logo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-mark {
    background: linear-gradient(135deg, #c89d3c, #f0cf73);
    color: #162012;
    font-size: 22px;
}

.brand-name {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.brand-subtitle {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.76);
}

.header-nav {
    gap: 12px;
}

.nav-link,
.dropdown-trigger,
.user-chip {
    min-height: 48px;
    border-radius: 999px;
    padding: 11px 18px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.nav-link:hover,
.dropdown-trigger:hover,
.dropdown.is-open > .dropdown-trigger,
.user-chip:hover {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
    transform: translateY(-1px);
    text-decoration: none;
}

.nav-link-accent {
    background: linear-gradient(135deg, rgba(216, 178, 90, 0.24), rgba(216, 178, 90, 0.14));
    border-color: rgba(216, 178, 90, 0.22);
}

.user-chip {
    gap: 12px;
}

.user-chip-copy {
    display: grid;
    gap: 2px;
    text-align: left;
}

.user-chip-name {
    font-weight: 700;
    color: #fff;
}

.user-chip-role {
    font-size: 11px;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    color: rgba(216, 178, 90, 0.92);
}

.dropdown-menu {
    padding: 10px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(11, 25, 17, 0.08);
    border-radius: 20px;
    box-shadow: var(--premium-shadow-soft);
    z-index: 80;
}

.dropdown-menu a {
    border-radius: 12px;
}

.page-wrapper {
    padding-top: 34px;
}

.premium-page-header {
    min-height: 160px;
    padding: 32px 36px;
    border-radius: 32px;
    background:
        radial-gradient(circle at left top, rgba(216, 178, 90, 0.16), transparent 28%),
        radial-gradient(circle at right center, rgba(27, 90, 58, 0.10), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(246, 248, 242, 0.94));
    border: 1px solid rgba(20, 36, 24, 0.06);
    box-shadow: var(--premium-shadow-soft);
}

.page-eyebrow {
    margin-bottom: 10px;
    color: var(--premium-green);
    letter-spacing: 2.8px;
}

.page-header h1 {
    font-size: clamp(34px, 4vw, 54px);
    letter-spacing: -0.04em;
}

.card,
.login-card,
.empty-state-card,
.page-intro-card,
.learning-category-card,
.learning-detail-section,
.product-tile-card,
.stat-card,
.compact-stat-card,
.cms-block-card,
.brand-admin-card,
.product-admin-entity-card,
.product-form-card,
.page-intro-card-with-media {
    background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(255,255,255,0.84));
    border: 1px solid rgba(15, 38, 24, 0.06);
    border-radius: 26px;
    box-shadow: var(--premium-shadow-soft);
}

.card,
.login-card {
    padding: 24px;
}

.card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.learning-category-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.product-tile-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.cms-block-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.product-admin-entity-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 44px rgba(7, 18, 13, 0.12);
}

.users-table th,
.users-table td {
    padding: 14px 12px;
}

.users-table th {
    background: rgba(234, 241, 233, 0.9);
}

.login-body {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #08120e 0%, #112219 100%);
}

.login-scene {
    position: absolute;
    inset: 0;
}

.login-scene-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(30px);
    opacity: 0.9;
}

.login-scene-glow-a {
    width: 420px;
    height: 420px;
    left: -100px;
    top: -120px;
    background: radial-gradient(circle, rgba(216, 178, 90, 0.30), transparent 68%);
    animation: floatGentle 16s ease-in-out infinite;
}

.login-scene-glow-b {
    width: 520px;
    height: 520px;
    right: -140px;
    bottom: -140px;
    background: radial-gradient(circle, rgba(31, 102, 62, 0.26), transparent 70%);
    animation: floatGentle 20s ease-in-out infinite reverse;
}

.login-scene-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.32), transparent 100%);
}

.premium-login-card {
    position: relative;
    z-index: 1;
    width: min(500px, 100%);
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(18px);
    box-shadow: 0 30px 80px rgba(0,0,0,0.25);
}

.login-form input,
.admin-form input,
.admin-form select,
.admin-form textarea,
.filter-form input,
.filter-form select {
    border-radius: 14px;
    border-color: rgba(15, 38, 24, 0.10);
    background: rgba(255,255,255,0.92);
}

.primary-button,
.login-form button,
.admin-form button,
.filter-form button,
.table-button,
.secondary-button,
.danger-button {
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(17, 59, 37, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.primary-button:hover,
.login-form button:hover,
.admin-form button:hover,
.filter-form button:hover,
.table-button:hover,
.secondary-button:hover,
.danger-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 18px 32px rgba(17, 59, 37, 0.24);
}

.cinematic-homepage {
    display: grid;
    gap: 28px;
}

.cinematic-hero {
    position: relative;
    min-height: calc(92vh - 148px);
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 38px 90px rgba(3, 10, 7, 0.22);
    background: #0a120d;
}

.cinematic-hero-media,
.cinematic-hero-overlay,
.cinematic-hero-noise,
.cinematic-hero-glow {
    position: absolute;
    inset: 0;
}

.cinematic-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.08);
    animation: heroFade 42s infinite;
    background-size: cover;
    background-position: center center;
}

.cinematic-hero-slide.has-dashboard-image {
    background:
        linear-gradient(115deg, rgba(11, 22, 16, 0.82), rgba(11, 22, 16, 0.42)),
        linear-gradient(180deg, rgba(2, 8, 6, 0.26), rgba(2, 8, 6, 0.16)),
        var(--hero-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


.cinematic-hero-slide-2 {
    background:
        linear-gradient(120deg, rgba(6, 15, 11, 0.84), rgba(15, 34, 24, 0.58)),
        radial-gradient(circle at 75% 22%, rgba(216, 178, 90, 0.24), transparent 24%),
        linear-gradient(135deg, #0d1712 0%, #20372b 52%, #0f2017 100%);
    animation-delay: 7s;
}

.cinematic-hero-slide-3 {
    background:
        linear-gradient(120deg, rgba(8, 17, 13, 0.84), rgba(8, 17, 13, 0.42)),
        radial-gradient(circle at 22% 68%, rgba(216, 178, 90, 0.18), transparent 28%),
        linear-gradient(135deg, #13241b 0%, #1e4f34 45%, #102118 100%);
    animation-delay: 14s;
}

.cinematic-hero-slide-4 {
    background:
        linear-gradient(120deg, rgba(10, 18, 14, 0.82), rgba(10, 18, 14, 0.42)),
        radial-gradient(circle at 78% 54%, rgba(237, 220, 170, 0.14), transparent 28%),
        linear-gradient(135deg, #19140f 0%, #40301c 45%, #162117 100%);
    animation-delay: 21s;
}

.cinematic-hero-slide-5 {
    background:
        linear-gradient(120deg, rgba(6, 15, 11, 0.80), rgba(6, 15, 11, 0.50)),
        radial-gradient(circle at 28% 22%, rgba(137, 178, 150, 0.20), transparent 28%),
        linear-gradient(135deg, #112018 0%, #1d4730 50%, #07100b 100%);
    animation-delay: 28s;
}

.cinematic-hero-slide-6 {
    background:
        linear-gradient(120deg, rgba(8, 17, 13, 0.84), rgba(8, 17, 13, 0.50)),
        radial-gradient(circle at 68% 18%, rgba(216, 178, 90, 0.18), transparent 26%),
        linear-gradient(135deg, #141813 0%, #223027 44%, #0b140f 100%);
    animation-delay: 35s;
}

.cinematic-hero-overlay {
    background:
        linear-gradient(90deg, rgba(3, 8, 6, 0.74) 0%, rgba(3, 8, 6, 0.44) 44%, rgba(3, 8, 6, 0.58) 100%),
        linear-gradient(180deg, rgba(2, 6, 5, 0.12) 0%, rgba(2, 6, 5, 0.48) 100%);
}

.cinematic-hero-noise {
    opacity: 0.12;
    background-image: radial-gradient(rgba(255,255,255,0.45) 0.5px, transparent 0.6px);
    background-size: 6px 6px;
    mix-blend-mode: soft-light;
}

.cinematic-hero-glow {
    filter: blur(28px);
    opacity: 0.62;
}

.cinematic-hero-glow-a {
    inset: auto auto -120px -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(216,178,90,0.34), transparent 68%);
    animation: floatGentle 16s ease-in-out infinite;
}

.cinematic-hero-glow-b {
    inset: -100px -120px auto auto;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(36,123,74,0.28), transparent 68%);
    animation: floatGentle 20s ease-in-out infinite reverse;
}

.cinematic-hero-content {
    position: relative;
    z-index: 1;
    min-height: calc(92vh - 148px);
    padding: clamp(36px, 5vw, 72px);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 420px);
    gap: 28px;
    align-items: end;
}

.cinematic-kicker,
.section-kicker,
.action-label,
.portal-card-label,
.cinematic-news-label {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cinematic-kicker {
    margin-bottom: 20px;
    color: rgba(216, 178, 90, 0.95);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.cinematic-hero-copy h1 {
    margin: 0;
    max-width: 900px;
    font-size: clamp(40px, 5.4vw, 78px);
    line-height: 0.94;
    letter-spacing: -0.055em;
    color: #fff;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.cinematic-hero-copy p {
    max-width: 760px;
    margin: 24px 0 0;
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
}

.cinematic-news-card {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.09));
    border: 1px solid rgba(255,255,255,0.16);
    backdrop-filter: blur(18px);
    box-shadow: 0 26px 60px rgba(0,0,0,0.18);
}

.cinematic-news-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,0.16) 48%, transparent 76%);
    transform: translateX(-140%);
    animation: shineSweep 7s ease-in-out infinite;
}

.cinematic-news-card > * {
    position: relative;
    z-index: 1;
}

.cinematic-news-label {
    margin-bottom: 18px;
    color: rgba(255,255,255,0.86);
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.16);
}

.cinematic-news-card strong {
    display: block;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.05;
    color: #fff;
}

.cinematic-news-card p {
    margin: 18px 0 0;
    line-height: 1.75;
    color: rgba(255,255,255,0.76);
}


.home-section {
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.78));
    border: 1px solid rgba(17, 38, 25, 0.06);
    box-shadow: var(--premium-shadow-soft);
}

.home-section-tight {
    margin-top: -8px;
}

.home-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
    gap: 20px;
    align-items: end;
    margin-bottom: 22px;
}

.section-kicker,
.action-label,
.portal-card-label {
    margin-bottom: 12px;
    color: var(--premium-green);
    background: rgba(30, 90, 54, 0.08);
}

.home-section-head h2 {
    margin: 0;
    font-size: clamp(26px, 2.8vw, 38px);
    letter-spacing: -0.04em;
}

.home-section-head p {
    margin: 0;
    line-height: 1.75;
    color: var(--premium-muted);
}

.academy-action-grid,
.academy-portal-grid {
    display: grid;
    gap: 18px;
}

.academy-action-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-portal-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.action-card,
.portal-card {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(17, 38, 25, 0.07);
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,249,244,0.86));
    box-shadow: 0 18px 40px rgba(7, 18, 13, 0.10);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.action-card::before,
.portal-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(216,178,90,0.10), transparent 34%, rgba(28,94,59,0.08) 100%);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.action-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.portal-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(7, 18, 13, 0.14);
    border-color: rgba(28,94,59,0.14);
    text-decoration: none;
}

.action-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover::before,
.portal-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover::before {
    opacity: 1;
}

.action-card > *,
.portal-card > * {
    position: relative;
    z-index: 1;
}

.action-card strong,
.portal-card strong {
    display: block;
    margin: 0 0 12px;
    font-size: clamp(22px, 1.8vw, 30px);
    line-height: 1.05;
    color: #122116;
    overflow-wrap: anywhere;
}

.action-card p,
.portal-card p {
    margin: 0;
    color: var(--premium-muted);
    line-height: 1.72;
}

.action-card-link,
.portal-card {
    color: inherit;
}

.action-link-line {
    display: inline-flex;
    margin-top: 22px;
    font-weight: 700;
    color: var(--premium-green);
}

.action-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(17, 38, 25, 0.08);
    color: var(--premium-muted);
}

.action-meta-row strong {
    margin: 0;
    font-size: 28px;
    color: var(--premium-green-deep);
}


.hero-upload-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 14px;
}

.hero-upload-card {
    padding: 18px;
}

.cinematic-news-card strong,
.cinematic-news-card p,
.action-card strong,
.portal-card strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.action-card-accent,
.portal-card:nth-child(2) {
    background: linear-gradient(180deg, rgba(254,250,239,0.98), rgba(249,247,239,0.88));
}

.reveal-up {
    animation: revealUp 0.9s cubic-bezier(.22,.61,.36,1) both;
}

.reveal-delay-2 { animation-delay: 0.15s; }
.reveal-delay-3 { animation-delay: 0.3s; }
.reveal-delay-4 { animation-delay: 0.45s; }

@keyframes heroFade {
    0%, 14% { opacity: 0; transform: scale(1.08); }
    4%, 12% { opacity: 1; }
    16%, 100% { opacity: 0; transform: scale(1.13); }
}

@keyframes floatGentle {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(0, -18px, 0); }
}

@keyframes shineSweep {
    0%, 100% { transform: translateX(-140%); }
    45%, 60% { transform: translateX(140%); }
}

@keyframes revealUp {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
    .cinematic-hero,
    .cinematic-hero-content {
        min-height: 760px;
    }

    .cinematic-hero-content,
    .home-section-head,
    .academy-action-grid,
    .academy-portal-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cinematic-hero-copy {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .site-header {
        top: 8px;
        width: min(100%, calc(100% - 16px));
        border-radius: 24px;
    }

    .header-top-row,
    .header-nav-row,
    .page-wrapper {
        padding-left: 14px;
        padding-right: 14px;
    }

    .brand-name {
        font-size: 23px;
    }

    .brand-overline {
        font-size: 9px;
        letter-spacing: 1.8px;
    }

    .cinematic-hero,
    .cinematic-hero-content {
        min-height: auto;
    }

    .cinematic-hero-content,
    .home-section-head,
    .academy-action-grid,
    .academy-portal-grid,
    .cards-grid-2,
    .cards-grid-3,
    .stats-grid,
    .steps-grid,
    .filter-form,
    .users-filter-form {
        grid-template-columns: 1fr;
    }

    .cinematic-hero-content {
        padding: 24px;
        align-items: end;
    }

    .cinematic-hero-copy h1 {
        font-size: clamp(38px, 12vw, 62px);
    }

    .home-section {
        padding: 22px;
    }

    .action-card,
    .portal-card {
        min-height: 200px;
    }
}


.brand-overline {
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 2.4px;
    font-weight: 800;
    color: rgba(208, 162, 58, 0.92);
    text-transform: uppercase;
}

.brand-copy,
.user-chip-copy {
    min-width: 0;
}

.user-chip-copy {
    display: grid;
    gap: 2px;
}

.user-chip-name,
.user-chip-role {
    display: block;
    line-height: 1.1;
}

.user-chip-role {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.72);
    text-transform: uppercase;
}

.mobile-nav-toggle,
.mobile-nav-backdrop {
    display: none;
}

.mobile-nav-toggle {
    align-items: center;
    gap: 6px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
    flex-shrink: 0;
}

.mobile-nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.mobile-nav-toggle .mobile-nav-toggle-text {
    width: auto;
    height: auto;
    margin-left: 6px;
    font-size: 14px;
    font-weight: 700;
    background: none;
}

.mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(5, 12, 8, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

body.mobile-nav-open {
    overflow: hidden;
}

body.mobile-nav-open .mobile-nav-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.action-card:active,
.portal-card:active,
.nav-link:active,
.dropdown-trigger:active,
.table-button:active,
.primary-button:active,
.secondary-button:active,
.login-form button:active,
.admin-form button:active {
    transform: scale(0.985);
}

.cinematic-homepage {
    gap: 20px;
}

@media (max-width: 900px) {
    body {
        background: linear-gradient(180deg, #eef4ea 0%, var(--bg) 180px);
    }

    .site-header {
        position: sticky;
        top: 0;
        width: 100%;
        border-radius: 0 0 24px 24px;
        z-index: 80;
    }

    .site-header.site-header--hidden {
        transform: translateY(-100%);
    }

    .header-top-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .brand-link {
        min-width: 0;
        gap: 10px;
        flex: 1 1 auto;
    }

    .brand-mark,
    .brand-logo-frame {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .brand-overline {
        font-size: 9px;
        letter-spacing: 1.4px;
        margin-bottom: 3px;
    }

    .brand-name {
        font-size: 16px;
        line-height: 1.08;
    }

    .brand-subtitle {
        display: block;
        font-size: 11px;
        line-height: 1.25;
        white-space: normal;
    }

    .header-user-panel {
        display: none;
    }

    .mobile-nav-toggle {
        display: inline-flex;
    }

    .header-nav-row {
        position: fixed;
        top: 76px;
        left: 12px;
        right: 12px;
        z-index: 90;
        display: block;
        max-height: calc(100dvh - 96px);
        overflow-y: auto;
        padding: 14px;
        border-radius: 24px;
        background: linear-gradient(180deg, rgba(18, 54, 33, 0.98), rgba(18, 54, 33, 0.94));
        border: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.28);
        transform: translateY(-12px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.22s ease, transform 0.22s ease;
    }

    .header-nav-row.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .header-nav {
        gap: 10px;
        width: 100%;
    }

    .nav-link,
    .dropdown-trigger,
    .user-chip {
        min-height: 50px;
        justify-content: space-between;
        padding: 12px 14px;
        font-size: 15px;
    }

    .dropdown-menu,
    .dropdown-menu-right {
        position: static;
        min-width: 100%;
        width: 100%;
        margin-top: 8px;
        border-radius: 14px;
        box-shadow: none;
    }

    .page-wrapper {
        padding: 16px 12px 28px;
    }

    .cinematic-hero {
        min-height: auto;
        border-radius: 28px;
    }

    .cinematic-hero-content {
        min-height: auto;
        padding: 18px;
        grid-template-columns: 1fr;
        align-items: end;
        gap: 18px;
    }

    .cinematic-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(30px, 10vw, 44px);
        line-height: 0.98;
        letter-spacing: -0.05em;
        text-wrap: pretty;
    }

    .cinematic-hero-copy p {
        margin-top: 14px;
        font-size: 15px;
        line-height: 1.6;
    }

    .cinematic-news-card {
        padding: 18px;
        border-radius: 22px;
    }

    .cinematic-news-card strong {
        font-size: clamp(24px, 7vw, 30px);
        line-height: 1.05;
    }

    .home-section {
        padding: 20px 16px;
        border-radius: 24px;
    }

    .home-section-head {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 16px;
    }

    .home-section-head h2 {
        font-size: 28px;
        line-height: 1.04;
    }

    .home-section-head p {
        font-size: 14px;
        line-height: 1.6;
    }

    .academy-action-grid,
    .academy-portal-grid,
    .hero-upload-grid,
    .admin-grid,
    .cards-grid,
    .cards-grid-2,
    .cards-grid-3,
    .stats-grid,
    .steps-grid,
    .materials-grid,
    .filter-form,
    .users-filter-form {
        grid-template-columns: 1fr;
    }

    .action-card,
    .portal-card,
    .card,
    .login-card {
        min-height: 0;
        padding: 18px;
        border-radius: 22px;
    }

    .action-card strong,
    .portal-card strong {
        font-size: 28px;
        line-height: 1.05;
        margin-bottom: 10px;
    }

    .action-card p,
    .portal-card p,
    .material-content-block,
    .page-text,
    .info-list,
    .step-card p,
    .inline-note,
    .page-intro-card p {
        font-size: 14px;
        line-height: 1.6;
    }

    .action-meta-row {
        margin-top: 16px;
        padding-top: 14px;
    }

    .action-meta-row strong,
    .stat-value {
        font-size: 24px;
    }

    .table-wrap {
        margin-left: -4px;
        margin-right: -4px;
    }

    .users-table th,
    .users-table td {
        padding: 10px 8px;
        font-size: 13px;
        white-space: nowrap;
    }

    .compact-form {
        min-width: 0;
    }
}

@media (max-width: 640px) {
    .header-top-row {
        padding-left: 12px;
        padding-right: 12px;
    }

    .brand-link {
        gap: 9px;
    }

    .brand-overline {
        font-size: 8px;
        letter-spacing: 1.1px;
    }

    .brand-name {
        font-size: 15px;
    }

    .brand-subtitle {
        font-size: 10px;
    }

    .mobile-nav-toggle {
        padding: 0 12px;
        min-height: 42px;
    }

    .mobile-nav-toggle .mobile-nav-toggle-text {
        display: none;
    }

    .header-nav-row {
        top: 72px;
        left: 10px;
        right: 10px;
        max-height: calc(100dvh - 86px);
        padding: 12px;
    }

    .page-wrapper {
        padding: 14px 10px 24px;
    }

    .premium-page-header {
        display: none;
    }

    .cinematic-homepage {
        gap: 16px;
    }

    .cinematic-hero {
        border-radius: 22px;
    }

    .cinematic-hero-content {
        padding: 16px;
        gap: 14px;
    }

    .cinematic-kicker,
    .section-kicker,
    .action-label,
    .portal-card-label,
    .cinematic-news-label {
        min-height: 30px;
        padding: 6px 12px;
        font-size: 10px;
        letter-spacing: 1.4px;
    }

    .cinematic-hero-copy h1 {
        font-size: clamp(28px, 9.5vw, 40px);
        line-height: 1;
    }

    .cinematic-hero-copy p {
        font-size: 14px;
    }

    .cinematic-news-card {
        padding: 16px;
        border-radius: 20px;
    }

    .cinematic-news-card p {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.55;
    }

    .home-section {
        padding: 16px 14px;
        border-radius: 20px;
    }

    .home-section-head h2 {
        font-size: 24px;
    }

    .action-card,
    .portal-card,
    .card,
    .login-card {
        padding: 16px;
        border-radius: 20px;
    }

    .action-card strong,
    .portal-card strong {
        font-size: 24px;
    }

    .brand-subtitle,
    .page-eyebrow {
        white-space: normal;
    }
}


.mobile-menu-shell {
    display: block;
}

.mobile-menu-head,
.mobile-menu-user,
.mobile-menu-close {
    display: none;
}

@media (max-width: 900px) {
    .site-header {
        background: rgba(10, 26, 16, 0.72);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        box-shadow: 0 18px 40px rgba(8, 16, 11, 0.22);
    }

    .header-top-row {
        min-height: 72px;
    }

    .header-nav-row {
        position: fixed;
        inset: 0;
        top: 0;
        left: auto;
        right: 0;
        width: min(92vw, 420px);
        max-height: 100dvh;
        height: 100dvh;
        padding: 16px;
        border-radius: 28px 0 0 28px;
        background:
            linear-gradient(180deg, rgba(8, 18, 12, 0.96), rgba(12, 37, 22, 0.96)),
            radial-gradient(circle at top right, rgba(208, 162, 58, 0.18), transparent 38%);
        border-left: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: -24px 0 60px rgba(0, 0, 0, 0.42);
        transform: translateX(108%);
        opacity: 1;
        pointer-events: none;
        transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
        overflow: hidden;
    }

    .header-nav-row::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 18% 12%, rgba(208, 162, 58, 0.14), transparent 34%),
            radial-gradient(circle at 82% 24%, rgba(36, 111, 64, 0.28), transparent 32%),
            linear-gradient(180deg, rgba(255,255,255,0.04), transparent 34%);
        pointer-events: none;
    }

    .header-nav-row.is-open {
        transform: translateX(0);
        pointer-events: auto;
    }

    .mobile-menu-shell {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-rows: auto auto 1fr;
        gap: 18px;
        height: 100%;
    }

    .mobile-menu-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .mobile-menu-branding {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    .mobile-menu-kicker {
        font-size: 10px;
        letter-spacing: 2.2px;
        text-transform: uppercase;
        font-weight: 800;
        color: rgba(208, 162, 58, 0.92);
    }

    .mobile-menu-branding strong {
        font-size: 18px;
        line-height: 1.05;
        color: #ffffff;
    }

    .mobile-menu-branding span:last-child {
        font-size: 12px;
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.68);
    }

    .mobile-menu-close {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        cursor: pointer;
    }

    .mobile-menu-close span {
        position: absolute;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
    }

    .mobile-menu-close span:first-child { transform: rotate(45deg); }
    .mobile-menu-close span:last-child { transform: rotate(-45deg); }

    .mobile-menu-user {
        display: grid;
        gap: 8px;
    }

    .mobile-menu-user-label {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 1.8px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.54);
    }

    .mobile-menu-user-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 14px 16px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }

    .mobile-menu-user-copy {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    .mobile-menu-user-copy strong {
        font-size: 16px;
        color: #ffffff;
        line-height: 1.1;
    }

    .mobile-menu-user-copy span {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.66);
        text-transform: uppercase;
    }

    .mobile-menu-logout {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 0 14px;
        border-radius: 12px;
        background: rgba(208, 162, 58, 0.18);
        color: #f5d58d;
        font-weight: 700;
        white-space: nowrap;
    }

    .mobile-menu-logout:hover {
        text-decoration: none;
        background: rgba(208, 162, 58, 0.26);
    }

    .header-nav {
        display: grid;
        gap: 10px;
        align-content: start;
        overflow-y: auto;
        padding-right: 4px;
    }

    .nav-link,
    .dropdown-trigger {
        min-height: 54px;
        justify-content: space-between;
        padding: 14px 16px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.06);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .dropdown-menu,
    .dropdown-menu-right {
        margin-top: 10px;
        padding: 8px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
    }

    .dropdown-menu a {
        border-radius: 12px;
    }
}

@media (max-width: 640px) {
    .header-top-row {
        min-height: 68px;
    }

    .site-header {
        border-radius: 0 0 18px 18px;
    }

    .header-nav-row {
        width: 100vw;
        border-radius: 22px 0 0 22px;
        padding: 14px;
    }

    .mobile-menu-head {
        padding-bottom: 12px;
    }

    .mobile-menu-branding strong {
        font-size: 17px;
    }

    .mobile-menu-user-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .mobile-menu-logout {
        width: 100%;
    }
}


/* ===== Dashboard compact hero cleanup ===== */
.cinematic-hero {
    min-height: calc(78vh - 120px);
}

.cinematic-hero-content {
    min-height: calc(78vh - 120px);
    padding: clamp(28px, 4vw, 56px);
    gap: 22px;
    align-items: end;
}

.cinematic-hero-copy h1 {
    max-width: 760px;
    font-size: clamp(34px, 4.6vw, 64px);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.cinematic-hero-copy p {
    max-width: 640px;
    margin-top: 18px;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.58;
}

.home-section-tight {
    margin-top: 0;
}

@media (max-width: 900px) {
    .cinematic-homepage {
        gap: 14px;
    }

    .cinematic-hero {
        min-height: auto;
        border-radius: 24px;
    }

    .cinematic-hero-content {
        min-height: auto;
        padding: 16px 16px 14px;
        gap: 14px;
    }

    .cinematic-kicker {
        margin-bottom: 12px;
    }

    .cinematic-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(26px, 8.2vw, 36px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    .cinematic-hero-copy p {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.5;
    }

    .cinematic-news-card {
        padding: 16px;
        border-radius: 20px;
    }

    .cinematic-news-card strong {
        font-size: clamp(20px, 6vw, 26px);
    }

    .home-section {
        padding: 18px 14px;
        border-radius: 22px;
    }

    .home-section-head {
        margin-bottom: 14px;
    }

    .home-section-head h2 {
        font-size: 22px;
        line-height: 1.06;
    }
}

@media (max-width: 640px) {
    .cinematic-hero {
        border-radius: 20px;
    }

    .cinematic-hero-content {
        padding: 14px 14px 12px;
        gap: 12px;
    }

    .cinematic-kicker,
    .section-kicker,
    .action-label,
    .portal-card-label,
    .cinematic-news-label {
        min-height: 28px;
        padding: 5px 10px;
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .cinematic-hero-copy h1 {
        font-size: clamp(24px, 7.6vw, 32px);
        line-height: 1.03;
    }

    .cinematic-hero-copy p {
        font-size: 13px;
        line-height: 1.45;
    }

    .cinematic-news-card {
        padding: 14px;
        border-radius: 18px;
    }

    .cinematic-news-card p {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    .home-section {
        padding: 14px 12px;
        border-radius: 18px;
    }

    .home-section-head h2 {
        font-size: 20px;
    }

    .action-card,
    .portal-card,
    .card,
    .login-card {
        padding: 14px;
        border-radius: 18px;
    }

    .action-card strong,
    .portal-card strong {
        font-size: 20px;
        line-height: 1.08;
    }

    .action-link-line {
        margin-top: 16px;
    }
}
.quick-card-profile {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #f5f7f3 0%, #eef3ec 100%);
  border: 1px solid rgba(23, 64, 42, 0.10);
  box-shadow: 0 18px 40px rgba(19, 37, 28, 0.08);
}

.quick-card-profile::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, #caa64b 0%, #245a3d 100%);
  border-radius: 24px 0 0 24px;
}

.profile-card-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.profile-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  flex: 0 0 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #e5c86b 0%, #c79d34 100%);
  color: #14281f;
  font-size: 28px;
  font-weight: 800;
}

.profile-name {
  margin: 8px 0 8px;
  font-size: 34px;
}

.profile-role {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(36, 90, 61, 0.10);
  color: #245a3d;
  font-size: 14px;
  font-weight: 700;
}

.profile-divider {
  height: 1px;
  background: rgba(16, 37, 27, 0.10);
  margin: 16px 0 18px;
}

.profile-stats {
  display: flex;
  justify-content: space-between;
}

.profile-stat-value {
  font-size: 44px;
  font-weight: 800;
}

@media (max-width: 768px) {
  .profile-avatar {
    width: 52px;
    height: 52px;
    font-size: 22px;
  }

  .profile-name {
    font-size: 24px;
  }

  .profile-stat-value {
    font-size: 34px;
  }
}

/* ===== CLEAN DASHBOARD OVERRIDES ===== */
.dashboard-body .page-wrapper {
    max-width: 100%;
    padding: 0;
}

.dashboard-body .page-body {
    padding: 0;
}

.home-section-head-compact {
    grid-template-columns: 1fr;
}

.home-section-head-compact p {
    display: none;
}

.cinematic-hero {
    min-height: auto;
}

.cinematic-hero-content {
    min-height: min(72vh, 760px);
    padding: clamp(28px, 4vw, 56px);
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 360px);
    gap: 24px;
}

.cinematic-hero-copy h1 {
    max-width: 760px;
    font-size: clamp(34px, 4.8vw, 64px);
    line-height: 0.98;
    letter-spacing: -0.05em;
    text-wrap: pretty;
}

.cinematic-hero-copy p {
    max-width: 620px;
    margin-top: 20px;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.62;
}

.cinematic-news-card {
    padding: 24px;
    border-radius: 24px;
}

.cinematic-news-card strong {
    font-size: clamp(24px, 2vw, 34px);
}

.home-section {
    padding: 28px;
    border-radius: 28px;
}

.action-card {
    min-height: 210px;
}

.custom-profile {
    border-left: 4px solid var(--accent);
}

.profile-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
}

.profile-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex: 0 0 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e5c86b, #c79d34);
    color: #14281f;
    font-size: 28px;
    font-weight: 800;
}

.profile-copy {
    min-width: 0;
}

.action-card .profile-name {
    margin: 0;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.1;
}

.profile-role {
    margin: 8px 0 0;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(30, 90, 54, 0.08);
    color: var(--brand);
    font-size: 13px;
    font-weight: 700;
}

.profile-role::first-letter {
    text-transform: uppercase;
}

@media (max-width: 1180px) {
    .cinematic-hero-content {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .cinematic-hero-copy {
        grid-column: auto;
    }

    .academy-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .site-header {
        top: 0;
        width: 100%;
        border-radius: 0;
    }

    .cinematic-hero-content {
        padding: 24px 18px 28px;
    }

    .cinematic-hero-copy h1 {
        font-size: clamp(30px, 10vw, 44px);
        max-width: 100%;
    }

    .cinematic-hero-copy p {
        font-size: 15px;
    }

    .cinematic-news-card {
        padding: 20px;
    }

    .home-section {
        margin-top: 0;
        padding: 22px 16px;
        border-radius: 24px;
    }

    .academy-action-grid {
        grid-template-columns: 1fr;
    }

    .action-card {
        min-height: auto;
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .cinematic-hero-content {
        padding-top: 18px;
        padding-bottom: 22px;
    }

    .cinematic-kicker,
    .section-kicker,
    .action-label,
    .cinematic-news-label {
        min-height: 30px;
        padding: 6px 12px;
        font-size: 10px;
        letter-spacing: 1.6px;
    }

    .cinematic-hero-copy h1 {
        font-size: 26px;
        line-height: 1.04;
    }

    .home-section-head h2 {
        font-size: 22px;
    }

    .profile-avatar {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 22px;
    }

    .action-card .profile-name {
        font-size: 20px;
    }

    .action-meta-row strong {
        font-size: 24px;
    }
}


/* analytics stable scroll fix */
.analytics-card-block {
    min-width: 0;
}

/* ===== Dashboard background visibility ===== */
/* The image was being darkened twice: once on the slide and again by the overlay. */
.cinematic-homepage .cinematic-hero-slide.has-dashboard-image {
    filter: brightness(1.12) saturate(1.08) contrast(1.02) !important;
    background:
        linear-gradient(115deg, rgba(11, 22, 16, 0.56), rgba(11, 22, 16, 0.18)),
        linear-gradient(180deg, rgba(2, 8, 6, 0.10), rgba(2, 8, 6, 0.06)),
        var(--hero-image) !important;
    background-size: cover !important;
    background-position: center center;
    background-repeat: no-repeat !important;
}

/* Show each hero image longer and keep the slide as one full background. */
.cinematic-homepage .cinematic-hero-slide {
    animation-duration: 72s !important;
}

.cinematic-homepage .cinematic-hero-slide-2 {
    animation-delay: 12s !important;
}

.cinematic-homepage .cinematic-hero-slide-3 {
    animation-delay: 24s !important;
}

.cinematic-homepage .cinematic-hero-slide-4 {
    animation-delay: 36s !important;
}

.cinematic-homepage .cinematic-hero-slide-5 {
    animation-delay: 48s !important;
}

.cinematic-homepage .cinematic-hero-slide-6 {
    animation-delay: 60s !important;
}

.cinematic-homepage .cinematic-hero-overlay {
    background:
        linear-gradient(90deg, rgba(3, 8, 6, 0.54) 0%, rgba(3, 8, 6, 0.25) 44%, rgba(3, 8, 6, 0.32) 100%),
        linear-gradient(180deg, rgba(2, 6, 5, 0.06) 0%, rgba(2, 6, 5, 0.30) 100%) !important;
}

.cinematic-homepage .cinematic-hero-noise {
    opacity: 0.04;
}

@media (max-width: 720px) {
    .cinematic-homepage .cinematic-hero-slide.has-dashboard-image {
        filter: brightness(1.16) saturate(1.10) contrast(1.02) !important;
    }

    .cinematic-homepage .cinematic-hero-overlay {
        background:
            linear-gradient(180deg, rgba(3, 8, 6, 0.18) 0%, rgba(3, 8, 6, 0.50) 100%),
            linear-gradient(90deg, rgba(3, 8, 6, 0.20) 0%, rgba(3, 8, 6, 0.12) 100%) !important;
    }
}

.analytics-secondary-grid > .card {
    min-width: 0;
}

.analytics-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
}

.analytics-scroll-lg {
    max-height: 360px;
}

.analytics-scroll-md {
    max-height: 320px;
}

.analytics-scroll-xl {
    max-height: 420px;
}

.analytics-scroll .users-table {
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.analytics-scroll .users-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--surface-soft);
}

.analytics-scroll .users-table th,
.analytics-scroll .users-table td {
    background-clip: padding-box;
}

.analytics-scroll .users-table tbody tr:last-child td {
    border-bottom: none;
}

@media (max-width: 1100px) {
    .analytics-secondary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .analytics-scroll-lg,
    .analytics-scroll-md,
    .analytics-scroll-xl {
        max-height: 280px;
    }
}

/* ===== Mobile overflow and off-canvas fix ===== */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.site-shell,
.page-wrapper,
.page-body,
.admin-grid,
.admin-grid > *,
.card,
.wide-card,
.table-wrap {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 900px) {
    .header-nav-row {
        left: auto !important;
        right: 0;
        width: min(88vw, 380px);
        max-width: calc(100vw - 8px);
    }

    .page-wrapper,
    .page-body,
    .card,
    .wide-card {
        width: 100%;
        max-width: 100%;
    }

    .table-wrap,
    .wide-card {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .users-table {
        display: block;
        width: max-content;
        min-width: 100%;
    }
}

@media (max-width: 640px) {
    .header-nav-row {
        width: min(86vw, 340px);
        max-width: calc(100vw - 6px);
        border-radius: 22px 0 0 22px;
    }

    .page-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(6, 13, 9, 0.86);
    backdrop-filter: blur(8px);
}

.image-lightbox.is-open {
    display: flex;
}

.image-lightbox-dialog {
    position: relative;
    width: min(1240px, 100%);
    max-height: calc(100vh - 48px);
    display: grid;
    gap: 14px;
}

.image-lightbox-close {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-120%);
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.14);
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

.image-lightbox-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,244,239,0.92));
    border: 1px solid rgba(255,255,255,0.08);
    min-height: 220px;
}

.image-lightbox-frame img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 140px);
    object-fit: contain;
}

.image-lightbox-caption {
    color: rgba(255,255,255,0.92);
    text-align: center;
    font-size: 15px;
}

@media (max-width: 1024px) {
}

@media (max-width: 720px) {

    .image-lightbox {
        padding: 12px;
    }

    .image-lightbox-dialog {
        max-height: calc(100vh - 24px);
    }

    .image-lightbox-close {
        transform: none;
        top: 10px;
        right: 10px;
        background: rgba(7, 18, 13, 0.72);
    }

    .image-lightbox-frame img {
        max-height: calc(100vh - 80px);
    }
}
.product-detail-clean-card {
    border-radius: 28px;
}

.product-detail-clean-layout {
    display: grid;
    grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
}

.product-detail-clean-media {
    min-height: 420px;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(22, 163, 74, 0.06), rgba(15, 118, 110, 0.02));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.product-detail-clean-image {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
}

.product-detail-clean-copy {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.product-detail-short {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--text-primary);
    margin: 0;
}

@media (max-width: 900px) {
    .product-detail-clean-layout {
        grid-template-columns: 1fr;
    }
    .product-detail-clean-media {
        min-height: 260px;
    }
}

/* AA-Portal mobile-first interface layer */
:root {
    --ui-ink: #183629;
    --ui-ink-soft: #335044;
    --ui-green: #245d3e;
    --ui-green-deep: #153d2a;
    --ui-lime: #d9e976;
    --ui-gold: #e7b95b;
    --ui-blue: #b9d9df;
    --ui-rose: #f2d4c9;
    --ui-bg: #f3f5ef;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8faf6;
    --ui-line: #e5eae1;
    --ui-muted: #738177;
    --ui-shadow: 0 18px 48px rgba(26, 57, 39, .08);
    --ui-shadow-hover: 0 24px 52px rgba(26, 57, 39, .14);
    --ui-radius-xl: 28px;
    --ui-radius-lg: 22px;
    --ui-radius-md: 16px;
    color-scheme: light;
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.portal-app {
    margin: 0;
    color: var(--ui-ink);
    background:
        radial-gradient(ellipse at 7% 0%, rgba(217, 233, 118, .14), transparent 31rem),
        radial-gradient(ellipse at 100% 16%, rgba(185, 217, 223, .18), transparent 28rem),
        var(--ui-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
body.portal-app * { box-sizing: border-box; }
body.portal-app a { color: var(--ui-green); text-decoration: none; }
body.portal-app a:hover { color: var(--ui-green-deep); }
body.portal-app img { max-width: 100%; }
body.portal-app h1,
body.portal-app h2,
body.portal-app h3,
body.portal-app p { overflow-wrap: anywhere; }
body.portal-app h1,
body.portal-app h2,
body.portal-app h3 { color: var(--ui-ink); letter-spacing: -.035em; }
body.portal-app p { color: var(--ui-muted); }

.skip-link {
    position: fixed; z-index: 200; top: 10px; left: 10px; padding: 10px 14px;
    color: white !important; background: var(--ui-green-deep); border-radius: 10px;
    transform: translateY(-150%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.reading-progress { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 3px; background: transparent; pointer-events: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--ui-lime), var(--ui-gold)); transition: width .12s linear; }

.site-shell { width: min(100% - 48px, 1480px); margin: 0 auto; }
.site-header {
    position: sticky; z-index: 70; top: 0; margin: 0 -24px; padding: 0 24px;
    background: rgba(243, 245, 239, .91); border-bottom: 1px solid rgba(224, 231, 220, .8);
    backdrop-filter: blur(18px); transition: transform .28s ease, background .25s ease;
}
.site-header.site-header--hidden { transform: translateY(-110%); }
.portal-header-inner { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 20px; }
.brand-link { display: inline-flex; min-width: 0; align-items: center; gap: 12px; color: var(--ui-ink) !important; }
.brand-logo-frame { display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border: 1px solid var(--ui-line); border-radius: 14px; background: white; }
.brand-logo-image { width: 100%; height: 100%; object-fit: contain; }
.brand-mark { display: grid; width: 46px; height: 46px; place-items: center; color: var(--ui-lime); background: var(--ui-green-deep); border-radius: 15px; font-size: 17px; font-weight: 900; letter-spacing: -.06em; }
.brand-copy { display: grid; min-width: 0; line-height: 1.16; }
.brand-overline { color: #7d8c80; font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.brand-name { overflow: hidden; max-width: 240px; margin-top: 3px; color: var(--ui-ink); font-size: 15px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.brand-subtitle { margin-top: 4px; color: #819087; font-size: 10px; }
.header-user-panel { display: flex; align-items: center; }
.desktop-navigation { display: flex; min-height: 56px; align-items: center; gap: 5px; border-top: 1px solid rgba(224, 231, 220, .75); }
.desktop-navigation .nav-link { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border: 0; border-radius: 13px; color: #4b6153; background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: color .18s ease, background .18s ease; }
.desktop-navigation .nav-link:hover,
.desktop-navigation .nav-link.is-active,
.desktop-navigation .dropdown.is-open > .nav-link { color: var(--ui-green-deep); background: #e8eee4; }
.desktop-navigation .nav-link-accent { color: #285d3d; background: #edf1db; }
.dropdown { position: relative; }
.dropdown-arrow { display: inline-block; font-size: 15px; transition: transform .18s ease; }
.dropdown.is-open .dropdown-arrow { transform: rotate(180deg); }
.dropdown-menu { position: absolute; z-index: 90; top: calc(100% + 8px); left: 0; display: none; min-width: 220px; padding: 8px; border: 1px solid var(--ui-line); border-radius: 16px; background: white; box-shadow: var(--ui-shadow); }
.dropdown.is-open > .dropdown-menu { display: grid; animation: menu-in .16s ease both; }
.dropdown-menu a { display: flex; min-height: 40px; align-items: center; padding: 9px 12px; border-radius: 10px; color: #42584a; font-size: 13px; font-weight: 600; }
.dropdown-menu a:hover { color: var(--ui-green-deep); background: #f1f5ed; }
.dropdown-menu-right { right: 0; left: auto; min-width: 230px; }
.dropdown-menu-wide { min-width: 245px; max-height: min(70vh, 560px); overflow: auto; }
.account-menu-label { padding: 8px 12px 0; color: #89958c; font-size: 11px; }
.account-menu-name { padding: 2px 12px 8px; color: var(--ui-ink); font-size: 13px; }
.user-chip { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; padding: 4px 9px 4px 4px; border: 1px solid transparent; border-radius: 16px; color: var(--ui-ink); background: transparent; text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.user-chip:hover,
.user-chip[aria-expanded="true"] { border-color: var(--ui-line); background: white; }
.user-chip-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 13px; color: var(--ui-green-deep); background: var(--ui-lime); font-size: 14px; font-weight: 900; }
.user-chip-copy { display: grid; min-width: 0; line-height: 1.25; }
.user-chip-name { overflow: hidden; max-width: 170px; color: var(--ui-ink); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.user-chip-role { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.user-chip-caret { margin-left: 4px; color: #819087; }
.mobile-bottom-nav,
.quick-menu-panel,
.quick-menu-backdrop { display: none; }

.page-wrapper { width: 100%; max-width: 100%; margin: 0 auto; padding: 30px 0 80px; }
.page-header { display: flex; min-height: 78px; align-items: end; justify-content: space-between; margin: 0 0 24px; padding: 0 2px; border: 0; background: transparent; }
.page-header h1 { margin: 4px 0 0; color: var(--ui-ink); font-size: clamp(28px, 3vw, 42px); font-weight: 800; line-height: 1.08; }
.page-eyebrow,
.section-kicker { display: block; color: #859287; font-size: 10px; font-weight: 850; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.page-eyebrow span { margin: 0 6px; color: var(--ui-gold); }
.page-body { width: 100%; min-width: 0; }

body.portal-app .card,
body.portal-app .surface-card { border: 1px solid rgba(224, 231, 220, .9); border-radius: var(--ui-radius-lg); background: var(--ui-surface); box-shadow: 0 12px 34px rgba(30, 57, 40, .055); }
body.portal-app .card { padding: 24px; }
body.portal-app .card h2,
body.portal-app .card h3 { margin-top: 0; }
body.portal-app .card p:last-child { margin-bottom: 0; }
body.portal-app .materials-grid,
body.portal-app .cards-grid,
body.portal-app .stats-grid,
body.portal-app .steps-grid { gap: 16px; }
body.portal-app .badge { display: inline-flex; min-height: 25px; align-items: center; padding: 4px 9px; border: 1px solid var(--ui-line); border-radius: 999px; color: #5b6d60; background: #f5f7f2; font-size: 11px; font-weight: 700; }
body.portal-app .badge-success { color: #266141; border-color: #dcebc8; background: #f0f7e5; }
body.portal-app .badge-danger { color: #9d433b; border-color: #f0d7cf; background: #fff3ee; }
body.portal-app .badge-light { color: #50665a; background: #f1f5ed; }
body.portal-app .badge-muted { color: #7b877e; background: #f6f7f4; }
body.portal-app .muted-text,
body.portal-app .material-meta { color: var(--ui-muted); }
body.portal-app input,
body.portal-app select,
body.portal-app textarea { min-height: 46px; border: 1px solid #dce4da; border-radius: 13px; color: var(--ui-ink); background: white; font: inherit; transition: border-color .18s ease, box-shadow .18s ease; }
body.portal-app textarea { min-height: 120px; padding: 13px 15px; }
body.portal-app input:focus,
body.portal-app select:focus,
body.portal-app textarea:focus { outline: none; border-color: #6c9874; box-shadow: 0 0 0 4px rgba(102, 149, 111, .14); }
body.portal-app button,
body.portal-app .primary-button,
body.portal-app .table-button { font: inherit; }
body.portal-app .primary-button,
body.portal-app .primary-link,
body.portal-app .table-button { border-radius: 13px; font-weight: 750; }
body.portal-app .primary-button { min-height: 48px; padding: 0 20px; color: #173524; border: 0; background: var(--ui-lime); box-shadow: 0 8px 18px rgba(120, 144, 54, .15); }
body.portal-app .primary-button:hover { background: #cfe163; transform: translateY(-1px); }
body.portal-app .option-row { padding: 13px 15px; border: 1px solid var(--ui-line); border-radius: 14px; background: #fbfcfa; }
body.portal-app .option-row:has(input:checked) { border-color: #9cb573; background: #f5f8e8; }
body.portal-app .table-wrap { border: 1px solid var(--ui-line); border-radius: 16px; }
body.portal-app .users-table th { color: #67796d; background: #f5f7f2; }
body.portal-app .users-table td,
body.portal-app .users-table th { border-color: #e9eee7; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 0 18px; border: 1px solid transparent; border-radius: 14px; font-size: 13px; font-weight: 800; line-height: 1.2; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(20, 57, 37, .13); }
.button-primary { color: #173524 !important; background: var(--ui-lime); }
.button-primary:hover { background: #cfe163; }
.button-light { color: var(--ui-green-deep) !important; background: #f4f6e3; }
.button-quiet { color: white !important; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); }
.button-disabled { color: #8a958d; background: #edf0eb; cursor: not-allowed; }
.text-action { display: inline-flex; align-items: center; gap: 8px; color: var(--ui-green) !important; font-size: 12px; font-weight: 800; }
.text-action span { transition: transform .2s ease; }
.text-action:hover span { transform: translateX(4px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.section-heading h2 { margin: 5px 0 0; font-size: clamp(22px, 2.3vw, 31px); line-height: 1.12; }
.section-aside { color: #8a958b; font-size: 12px; }

/* Agent start page */
.employee-dashboard,
.supervisor-dashboard { display: grid; gap: 26px; }
.employee-hero,
.manager-hero { position: relative; display: grid; min-height: 375px; grid-template-columns: minmax(0, 1.5fr) minmax(240px, .7fr); align-items: center; gap: 28px; overflow: hidden; padding: clamp(30px, 5vw, 68px); border-radius: 32px; color: white; background: linear-gradient(110deg, rgba(20, 57, 39, .98), rgba(33, 86, 57, .93) 62%, rgba(52, 100, 59, .83)), var(--dashboard-image, linear-gradient(120deg, #173d2a, #366a46)); background-size: cover; background-position: center; box-shadow: 0 25px 60px rgba(24, 61, 41, .19); }
.employee-hero::after,
.manager-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(12, 35, 24, .22), transparent 75%); }
.employee-hero-text,
.manager-hero-copy { position: relative; z-index: 2; max-width: 700px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; color: rgba(255,255,255,.75); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.status-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--ui-lime); box-shadow: 0 0 0 5px rgba(217, 233, 118, .13); }
.welcome-line { margin: 28px 0 4px; color: rgba(255,255,255,.75) !important; font-size: 15px; }
.employee-hero h1,
.manager-hero h1 { max-width: 710px; margin: 8px 0 13px; color: white; font-size: clamp(36px, 5.2vw, 68px); font-weight: 800; letter-spacing: -.06em; line-height: .99; }
.employee-hero h1 em,
.manager-hero h1 em { color: var(--ui-lime); font-style: normal; }
.hero-description,
.manager-hero-copy > p { max-width: 540px; margin: 0; color: rgba(255,255,255,.72) !important; font-size: 15px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.hero-side-note { position: relative; z-index: 2; max-width: 310px; justify-self: end; padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 21px; color: white; background: rgba(255,255,255,.09); backdrop-filter: blur(8px); }
.hero-side-note .section-kicker { margin: 15px 0 7px; color: rgba(255,255,255,.63); }
.hero-side-note strong { display: block; color: white; font-size: 17px; }
.hero-side-note p { margin: 8px 0 0; color: rgba(255,255,255,.72) !important; font-size: 12px; }
.news-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 12px; color: #183629; background: var(--ui-lime); font-size: 17px; }
.hero-orb { position: absolute; z-index: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.hero-orb-one { right: 23%; bottom: -230px; width: 470px; height: 470px; }
.hero-orb-two { right: 28%; bottom: -155px; width: 320px; height: 320px; }
.learning-progress-strip { display: grid; grid-template-columns: 200px minmax(100px, 1fr) auto; align-items: center; gap: 20px; padding: 18px 23px; border: 1px solid var(--ui-line); border-radius: 19px; background: white; }
.progress-strip-copy { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 9px; }
.progress-strip-copy .section-kicker { grid-column: 1 / -1; }
.progress-strip-copy strong { color: var(--ui-ink); font-size: 29px; letter-spacing: -.05em; }
.progress-strip-copy strong small { font-size: 16px; }
.progress-strip-copy > span:last-child { color: var(--ui-muted); font-size: 10px; }
.progress-strip-track,
.progress-card-track { height: 8px; overflow: hidden; border-radius: 99px; background: #edf1e9; }
.progress-strip-track span,
.progress-card-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7f9f53, var(--ui-lime)); }
.dashboard-section { min-width: 0; }
.learning-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.learning-path-card { position: relative; display: flex; min-height: 230px; flex-direction: column; padding: 23px; overflow: hidden; border: 1px solid var(--ui-line); border-radius: 21px; color: var(--ui-ink) !important; background: white; box-shadow: 0 10px 30px rgba(30, 57, 40, .045); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.learning-path-card:hover { transform: translateY(-5px); border-color: #cfdbbf; box-shadow: var(--ui-shadow-hover); }
.learning-path-card::after { position: absolute; top: -50px; right: -44px; width: 150px; height: 150px; border-radius: 50%; content: ""; opacity: .5; }
.learning-path-test::after { background: #eaf1c8; }
.learning-path-case::after { background: #d9edf0; }
.learning-path-material::after { background: #f6e7c9; }
.path-card-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.path-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; color: var(--ui-green-deep); background: #edf3db; font-size: 17px; font-weight: 900; }
.learning-path-case .path-icon { background: #e5f1f2; }
.learning-path-material .path-icon { background: #f8edda; }
.path-step { color: #8b968c; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.learning-path-card > strong { position: relative; z-index: 1; max-width: 290px; color: var(--ui-ink); font-size: 20px; line-height: 1.16; }
.learning-path-card > p { position: relative; z-index: 1; margin: 8px 0 22px; font-size: 12px; line-height: 1.5; }
.path-card-link { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(225, 232, 219, .9); color: var(--ui-green); font-size: 12px; font-weight: 800; }
.path-card-link b { font-size: 16px; transition: transform .2s ease; }
.learning-path-card:hover .path-card-link b { transform: translate(3px, -3px); }
.dashboard-bottom-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.profile-summary-card,
.category-promo-card { display: flex; min-height: 98px; align-items: center; gap: 15px; padding: 18px 20px; border: 1px solid var(--ui-line); border-radius: 19px; background: white; }
.profile-avatar-large { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 16px; color: var(--ui-green-deep); background: var(--ui-lime); font-size: 18px; font-weight: 900; }
.profile-summary-card > div { display: grid; min-width: 0; }
.profile-summary-card strong { overflow: hidden; margin-top: 3px; color: var(--ui-ink); text-overflow: ellipsis; white-space: nowrap; }
.profile-summary-card small { color: var(--ui-muted); }
.icon-action { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; margin-left: auto; border-radius: 12px; background: #f1f5ed; }
.category-promo-card { position: relative; overflow: hidden; justify-content: space-between; color: white !important; border-color: #23543a; background: linear-gradient(115deg, #1d4d34, #2f6c47); }
.category-promo-label { position: absolute; top: 15px; left: 20px; color: rgba(255,255,255,.64); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.category-promo-card strong { margin-top: 20px; color: white; font-size: 19px; }
.category-promo-arrow { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 13px; color: var(--ui-ink); background: var(--ui-lime); }

/* Supervisor workspace */
.manager-hero { min-height: 320px; grid-template-columns: 1fr 270px; }
.manager-hero h1 { max-width: 600px; font-size: clamp(35px, 4.5vw, 58px); }
.manager-hero-copy > p { max-width: 470px; margin-bottom: 22px; }
.manager-hero-score { position: relative; z-index: 2; display: grid; justify-items: center; }
.score-orbit { display: grid; width: 190px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(var(--ui-lime) var(--score), rgba(255,255,255,.17) 0); transform: rotate(-45deg); }
.score-orbit::before { position: absolute; width: 166px; aspect-ratio: 1; border-radius: 50%; content: ""; background: #20583a; }
.score-orbit > div { position: relative; z-index: 1; display: grid; justify-items: center; transform: rotate(45deg); }
.score-orbit strong { color: white; font-size: 46px; line-height: 1; letter-spacing: -.06em; }
.score-orbit strong small { font-size: 21px; }
.score-orbit span { margin-top: 7px; color: rgba(255,255,255,.7); font-size: 10px; }
.orbit-caption { margin-top: 12px; color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.hero-decoration { position: absolute; z-index: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.hero-decoration-one { right: 35px; bottom: -225px; width: 460px; height: 460px; }
.hero-decoration-two { right: 95px; bottom: -170px; width: 350px; height: 350px; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.metric-card { display: grid; min-height: 142px; grid-template-columns: 42px 1fr; align-content: center; column-gap: 12px; padding: 19px; border: 1px solid var(--ui-line); border-radius: 19px; background: white; }
.metric-symbol { display: grid; width: 40px; height: 40px; grid-row: span 3; place-items: center; border-radius: 14px; font-size: 18px; font-weight: 900; }
.metric-symbol-green { color: #285e3f; background: #e8f0dc; }
.metric-symbol-gold { color: #876325; background: #f8edcf; }
.metric-symbol-blue { color: #35646b; background: #e3f0f1; }
.metric-symbol-rose { color: #8c4a40; background: #f8e8e0; }
.metric-label { color: #7c897e; font-size: 11px; }
.metric-card > strong { margin: 1px 0; color: var(--ui-ink); font-size: 29px; line-height: 1; }
.metric-card > small { color: #8b968d; font-size: 10px; }
.manager-content-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .72fr); gap: 15px; }
.surface-card { padding: 22px; }
.manager-attention-card { min-width: 0; }
.team-result-list { display: grid; gap: 4px; }
.team-result-row { display: grid; min-height: 68px; grid-template-columns: 40px minmax(0, 1fr) auto 24px; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 14px; color: var(--ui-ink) !important; transition: background .18s ease, transform .18s ease; }
.team-result-row:hover { background: #f4f7ef; transform: translateX(3px); }
.team-avatar { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 14px; color: #6c4d29; background: #f1e3bd; font-weight: 850; }
.team-person { display: grid; min-width: 0; }
.team-person strong { overflow: hidden; color: var(--ui-ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.team-person small,
.team-result-score small { overflow: hidden; color: #859087; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.team-result-score { display: grid; justify-items: end; }
.team-result-score strong { color: #a64c40; font-size: 13px; }
.team-result-arrow { color: #829185; }
.manager-side-stack { display: grid; align-content: start; gap: 13px; }
.manager-news-card { position: relative; overflow: hidden; }
.manager-news-card .news-mark { margin: 20px 0 8px; }
.manager-news-card h2 { max-width: 250px; margin: 0 0 8px; font-size: 21px; }
.manager-news-card p { margin: 0; font-size: 12px; }
.knowledge-promo { display: flex; min-height: 80px; align-items: center; gap: 13px; padding: 16px 18px; border-radius: 17px; color: white !important; background: #22563a; }
.knowledge-promo-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; color: var(--ui-green-deep); background: var(--ui-lime); font-size: 18px; }
.knowledge-promo > span:last-child { display: grid; }
.knowledge-promo strong { color: white; font-size: 13px; }
.knowledge-promo small { color: rgba(255,255,255,.66); font-size: 10px; }
.calm-state { display: grid; min-height: 160px; justify-items: center; align-content: center; gap: 7px; padding: 20px; text-align: center; }
.calm-state > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; color: #285e3f; background: #e8f0dc; font-size: 20px; font-weight: 900; }
.calm-state strong { color: var(--ui-ink); }
.calm-state small { max-width: 280px; color: var(--ui-muted); }

/* Learning library and assessment cards */
.learning-page,
.assessment-page,
.case-library-page,
.visit-story-page,
.progress-page { display: grid; gap: 23px; }
.section-intro-panel { position: relative; display: flex; min-height: 210px; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; padding: clamp(25px, 4vw, 46px); border-radius: 25px; background: linear-gradient(105deg, #eaf0dd 0%, #f3f5e9 62%, #e2edf0 100%); }
.section-intro-panel > div:first-child { position: relative; z-index: 1; max-width: 690px; }
.section-intro-panel h2 { margin: 9px 0; font-size: clamp(27px, 3.4vw, 43px); line-height: 1.06; }
.section-intro-panel h2 em { color: var(--ui-green); font-style: normal; }
.section-intro-panel p { max-width: 600px; margin: 0; font-size: 13px; }
.intro-panel-mark { position: relative; display: grid; width: 130px; height: 130px; flex: 0 0 130px; place-items: center; border: 1px solid rgba(57, 95, 60, .16); border-radius: 50%; color: var(--ui-green); font-size: 37px; font-weight: 800; }
.intro-panel-mark::before,
.intro-panel-mark::after { position: absolute; inset: 12px; border: 1px solid rgba(57, 95, 60, .14); border-radius: 50%; content: ""; }
.intro-panel-mark::after { inset: -12px; border-color: rgba(57, 95, 60, .1); }
.intro-panel-mark i { position: absolute; top: 5px; right: 15px; width: 14px; height: 14px; border-radius: 50%; background: var(--ui-gold); }
.intro-panel-mark-check { color: #45632e; background: rgba(255,255,255,.28); }
.knowledge-grid,
.assessment-list,
.case-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.knowledge-card { display: flex; min-height: 250px; flex-direction: column; padding: 21px; border: 1px solid var(--ui-line); border-radius: 20px; background: white; box-shadow: 0 10px 28px rgba(31,57,41,.04); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.knowledge-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-5px); border-color: #cddbbd; box-shadow: var(--ui-shadow-hover); }
.knowledge-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.knowledge-card-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 14px; color: var(--ui-green); background: #edf3e0; font-size: 14px; font-weight: 900; }
.knowledge-pinned { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; color: #805e1e; background: #f7edcf; font-size: 10px; font-weight: 800; }
.knowledge-card .material-meta { margin-bottom: 6px; font-size: 10px; }
.knowledge-card h3 { margin: 0 0 7px; font-size: 18px; line-height: 1.18; }
.knowledge-card p { margin: 0 0 17px; font-size: 12px; line-height: 1.5; }
.knowledge-card-action { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--ui-line); font-size: 12px; font-weight: 800; }
.knowledge-card-action span { font-size: 16px; transition: transform .2s ease; }
.knowledge-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover .knowledge-card-action span { transform: translate(3px, -3px); }
.empty-learning-state { display: grid; grid-column: 1 / -1; justify-items: center; gap: 8px; padding: 44px 24px; border: 1px dashed #d3dfcc; border-radius: 22px; background: rgba(255,255,255,.68); text-align: center; }
.empty-learning-state > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 15px; color: var(--ui-green); background: #e9f0dc; font-size: 22px; }
.empty-learning-state h3 { margin: 7px 0 0; font-size: 19px; }
.empty-learning-state p { max-width: 360px; margin: 0 0 10px; font-size: 12px; }
.assessment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.assessment-card,
.case-library-card { display: flex; min-width: 0; flex-direction: column; padding: 22px; border: 1px solid var(--ui-line); border-radius: 21px; background: white; box-shadow: 0 10px 28px rgba(31,57,41,.04); transition: transform .22s ease, box-shadow .22s ease; }
.assessment-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.case-library-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-4px); box-shadow: var(--ui-shadow-hover); }
.assessment-card-top,
.case-library-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.assessment-type,
.case-number { color: #849087; font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.assessment-time,
.case-kind { padding: 5px 9px; border-radius: 99px; color: #62745f; background: #f0f4e7; font-size: 10px; font-weight: 750; }
.assessment-card h2,
.case-library-card h2 { margin: 18px 0 8px; font-size: 21px; line-height: 1.15; }
.assessment-card > p,
.case-library-card > p { margin: 0; font-size: 12px; line-height: 1.55; }
.assessment-facts,
.case-library-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 18px 0; padding-top: 13px; border-top: 1px solid var(--ui-line); color: #7c897f; font-size: 10px; }
.assessment-facts strong { color: var(--ui-ink); }
.assessment-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--ui-line); }
.assessment-status { display: inline-flex; align-items: center; gap: 7px; color: #728175; font-size: 10px; font-weight: 750; }
.assessment-status i { width: 7px; height: 7px; border-radius: 50%; background: #a2aca3; }
.status-ready { color: #377248; }
.status-ready i { background: #7daf4b; box-shadow: 0 0 0 4px #edf4df; }
.status-closed { color: #997063; }
.status-closed i { background: #d79983; }
.assessment-card .button,
.case-library-card .button { min-height: 40px; padding: 0 13px; font-size: 11px; }
.case-library-card { min-height: 285px; }
.case-library-meta { display: grid; gap: 6px; }
.related-materials-section { padding-top: 8px; }
.related-materials-row { display: flex; flex-wrap: wrap; gap: 9px; }
.related-material-chip { display: flex; min-width: 190px; flex: 1 1 220px; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--ui-line); border-radius: 15px; color: var(--ui-ink) !important; background: white; }
.related-material-chip > span:first-child { color: #849452; font-size: 17px; }
.related-material-chip > span:nth-child(2) { flex: 1; font-size: 12px; font-weight: 750; }
.related-material-chip b { color: var(--ui-green); }

/* Scroll-led reading and guided sections */
.story-reader { max-width: 1100px; margin: 0 auto; }
.story-reader-toolbar { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 14px; }
.story-back-link { display: inline-flex; align-items: center; gap: 8px; color: #607467 !important; font-size: 12px; font-weight: 750; }
.story-back-link span { font-size: 17px; }
.story-reading-status { color: #879188; font-size: 11px; font-weight: 700; }
.story-progress-track { height: 4px; margin: 8px 0 20px; overflow: hidden; border-radius: 9px; background: #e3e9df; }
.story-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #83a34e, var(--ui-gold)); transition: width .12s linear; }
.story-cover { position: relative; min-height: 280px; margin-bottom: 24px; padding: clamp(28px, 5vw, 58px); overflow: hidden; border-radius: 27px; color: white; background: linear-gradient(110deg, #173f2b, #2e6344); }
.story-cover::after { position: absolute; right: -70px; bottom: -270px; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 100px rgba(255,255,255,.02); }
.story-cover > *:not(.story-cover-number) { position: relative; z-index: 1; }
.story-cover .material-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 25px; color: rgba(255,255,255,.68); font-size: 11px; }
.story-cover .material-meta i { font-style: normal; color: var(--ui-gold); }
.story-cover .knowledge-pinned { color: #523f1b; }
.story-cover .section-kicker { color: rgba(255,255,255,.57); }
.story-cover h1 { max-width: 720px; margin: 9px 0 10px; color: white; font-size: clamp(32px, 4.5vw, 55px); line-height: 1.02; }
.story-cover > p { max-width: 650px; margin: 0; color: rgba(255,255,255,.72) !important; font-size: 14px; }
.story-estimate { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: rgba(255,255,255,.64); font-size: 11px; }
.story-cover-number { position: absolute; right: 36px; bottom: -48px; color: rgba(255,255,255,.05); font-size: clamp(100px, 18vw, 230px); font-weight: 900; letter-spacing: -.1em; line-height: 1; }
.story-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: start; gap: 38px; }
.story-index { position: sticky; top: 155px; display: grid; gap: 4px; padding: 15px 0; }
.story-index-title { margin: 0 0 9px 10px; color: #8a968b; font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.story-index a { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 11px; color: #708075; font-size: 11px; font-weight: 700; transition: background .18s ease, color .18s ease; }
.story-index a span { color: #a1aca2; font-size: 9px; font-weight: 850; }
.story-index a.is-active,
.story-index a:hover { color: var(--ui-green-deep); background: #e8eee2; }
.story-index a.is-active span { color: #789348; }
.story-chapters { min-width: 0; }
.story-chapter { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 22px; padding: 36px 0 50px; border-bottom: 1px solid #dfe6dc; scroll-margin-top: 120px; }
.story-chapter-number { display: grid; justify-items: center; align-content: start; gap: 12px; color: #7d9748; }
.story-chapter-number span { color: var(--ui-green); font-size: 20px; font-weight: 850; letter-spacing: -.05em; }
.story-chapter-number i { width: 1px; height: 100px; background: linear-gradient(#bdca86, transparent); }
.story-chapter-copy { max-width: 690px; }
.story-chapter-copy .section-kicker { margin: 4px 0 12px; }
.story-prose { color: #44594a; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.9; white-space: normal; }
.story-prose br + br { display: block; margin-top: 12px; content: ""; }
.story-next-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 21px; color: #718147 !important; font-size: 11px; font-weight: 850; }
.story-next-link span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 9px; background: #edf2dc; transition: transform .2s ease; }
.story-next-link:hover span { transform: translateY(3px); }
.story-finish-card { display: flex; align-items: center; gap: 15px; margin: 24px 0 50px; padding: 20px; border: 1px solid #dce7d3; border-radius: 19px; background: #f9fbf4; }
.story-finish-mark { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 15px; color: #2c6644; background: #e4f0d5; font-size: 18px; font-weight: 900; }
.story-finish-card > div { flex: 1; }
.story-finish-card strong { display: block; margin: 3px 0; color: var(--ui-ink); font-size: 15px; }
.story-finish-card p { margin: 0; font-size: 11px; }
.story-finish-card .button { min-height: 40px; font-size: 11px; }
.media-open-card { display: grid; justify-items: center; gap: 9px; max-width: 560px; margin: 0 auto; padding: 38px 22px; border: 1px solid var(--ui-line); border-radius: 23px; background: white; text-align: center; }
.media-open-icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 19px; color: var(--ui-green); background: #edf3e0; font-size: 17px; font-weight: 900; }
.media-open-card h2 { margin: 6px 0 0; font-size: 23px; }
.media-open-card p { margin: 0 0 8px; font-size: 12px; }
.empty-story-state { padding: 24px; }
.story-section-nav { position: sticky; z-index: 20; top: 140px; display: flex; align-items: center; gap: 7px; margin: 17px 0 24px; padding: 9px; overflow-x: auto; border: 1px solid rgba(224,231,220,.85); border-radius: 15px; background: rgba(255,255,255,.9); box-shadow: 0 7px 20px rgba(25,54,38,.04); backdrop-filter: blur(12px); scrollbar-width: none; }
.story-section-nav::-webkit-scrollbar { display: none; }
.story-section-nav > span { flex: 0 0 auto; padding: 0 9px; color: #89958b; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.story-section-nav a { flex: 0 0 auto; padding: 8px 11px; border-radius: 10px; color: #6f7e72; font-size: 10px; font-weight: 750; white-space: nowrap; }
.story-section-nav a.is-active,
.story-section-nav a:hover { color: var(--ui-green-deep); background: #edf2e4; }
.story-section-nav a b { margin-right: 5px; color: #88984e; }

/* Visit steps and progress */
.visit-timeline { position: relative; display: grid; gap: 0; }
.visit-timeline::before { position: absolute; top: 33px; bottom: 35px; left: 31px; width: 1px; content: ""; background: linear-gradient(#b7c878, #dce5d8 80%, transparent); }
.visit-step-card { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 18px 0 34px; scroll-margin-top: 190px; }
.visit-step-index { position: relative; z-index: 1; display: grid; justify-items: center; align-content: start; gap: 8px; }
.visit-step-index span { display: grid; width: 46px; height: 46px; place-items: center; border: 4px solid var(--ui-bg); border-radius: 16px; color: var(--ui-green-deep); background: var(--ui-lime); font-size: 12px; font-weight: 900; }
.visit-step-index i { width: 1px; height: 50px; background: #d3dfca; }
.visit-step-content { min-width: 0; padding: 20px 23px; border: 1px solid var(--ui-line); border-radius: 20px; background: white; }
.visit-step-content h2 { margin: 5px 0 8px; font-size: 23px; }
.visit-step-summary { margin: 0; font-size: 13px; }
.visit-step-media { margin: 17px 0 0; overflow: hidden; border-radius: 15px; background: #f3f5f0; }
.visit-step-media img { display: block; width: 100%; max-height: 440px; object-fit: cover; }
.visit-step-detail { margin-top: 14px; }
.visit-step-detail .story-prose { font-size: 14px; }
.progress-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.progress-summary-card { display: grid; min-height: 130px; align-content: center; gap: 3px; padding: 18px; border: 1px solid var(--ui-line); border-radius: 18px; background: white; }
.progress-summary-card strong { margin-top: 5px; color: var(--ui-ink); font-size: 30px; line-height: 1; letter-spacing: -.05em; }
.progress-summary-card strong small { color: #91a08e; font-size: 14px; }
.progress-summary-card > span:last-child { color: #819087; font-size: 10px; }
.progress-history-section { min-width: 0; }
.progress-desktop-table { padding: 0; overflow: hidden; }
.progress-mobile-list { display: none; }
.progress-mobile-card { padding: 18px; border: 1px solid var(--ui-line); border-radius: 18px; background: white; }
.progress-card-heading { display: flex; justify-content: space-between; gap: 8px; }
.progress-type-chip,
.progress-status-chip { display: inline-flex; padding: 5px 9px; border-radius: 99px; color: #62745f; background: #f0f4e7; font-size: 10px; font-weight: 750; }
.progress-status-chip { color: #7b6b43; background: #f8f0d8; }
.progress-mobile-card h3 { margin: 13px 0; font-size: 16px; }
.progress-card-score-row { display: flex; justify-content: space-between; color: #728176; font-size: 11px; }
.progress-card-score-row strong { color: var(--ui-ink); font-size: 14px; }
.progress-card-track { height: 6px; margin: 8px 0 11px; }
.progress-card-meta { display: flex; justify-content: space-between; gap: 8px; color: #89948b; font-size: 10px; }
.progress-card-action { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ui-line); font-size: 11px; font-weight: 800; }

/* Forms, question pages, tables and admin views */
body.portal-app .filter-form,
body.portal-app .analytics-filter-grid { gap: 10px; }
body.portal-app .question-stack { gap: 14px; }
body.portal-app .question-stack > .card { scroll-margin-top: 105px; }
body.portal-app .question-number { color: #778e4a; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
body.portal-app .alert { border-radius: 14px; }
.analytics-attempts-mobile { display: none; }
.analytics-attempt-card { padding: 16px; border: 1px solid var(--ui-line); border-radius: 17px; background: white; }
.analytics-attempt-heading { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.analytics-attempt-heading > div { display: grid; min-width: 0; gap: 3px; }
.analytics-attempt-heading strong { overflow: hidden; color: var(--ui-ink); font-size: 12px; text-overflow: ellipsis; }
.analytics-attempt-heading > div > span { color: #879289; font-size: 10px; }
.analytics-attempt-card h3 { margin: 13px 0; font-size: 15px; }
.analytics-attempt-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 10px 0; border-top: 1px solid var(--ui-line); border-bottom: 1px solid var(--ui-line); }
.analytics-attempt-metrics > span { display: grid; gap: 3px; min-width: 0; }
.analytics-attempt-metrics small { color: #88958b; font-size: 9px; }
.analytics-attempt-metrics strong { color: var(--ui-ink); font-size: 10px; overflow-wrap: anywhere; }
.analytics-attempt-action { display: flex; min-height: 38px; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 800; }
body.portal-app .analytics-page-compact .card { border-radius: 18px; }
body.portal-app .analytics-page-compact .analytics-toolbar-card { padding: 17px; }
body.portal-app .analytics-page-compact .compact-stat-card { border-radius: 16px; }
body.portal-app .analytics-page-compact .analytics-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
body.portal-app .analytics-page-compact .analytics-secondary-grid { align-items: start; }

@keyframes menu-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1080px) {
    .site-shell { width: min(100% - 36px, 1480px); }
    .site-header { margin-right: -18px; margin-left: -18px; padding-right: 18px; padding-left: 18px; }
    .desktop-navigation .nav-link { padding-right: 10px; padding-left: 10px; font-size: 12px; }
    .knowledge-grid,
    .case-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .manager-content-grid { grid-template-columns: minmax(0, 1.25fr) minmax(240px, .8fr); }
}

@media (max-width: 800px) {
    html { scroll-padding-top: 82px; }
    .site-shell { width: 100%; padding: 0 18px; }
    .site-header { margin: 0 -18px; padding: 0 18px; }
    .portal-header-inner { min-height: 68px; }
    .brand-mark,
    .brand-logo-frame { width: 40px; height: 40px; border-radius: 13px; }
    .brand-name { max-width: 175px; font-size: 13px; }
    .brand-subtitle { display: none; }
    .header-user-panel .user-chip { min-height: 42px; padding-right: 3px; }
    .header-user-panel .user-chip-copy,
    .header-user-panel .user-chip-caret { display: none; }
    .header-user-panel .user-chip-icon { width: 36px; height: 36px; flex-basis: 36px; }
    .desktop-navigation,
    .header-nav-row,
    .mobile-nav-toggle,
    .mobile-nav-backdrop { display: none !important; }
    .page-wrapper { padding: 20px 0 calc(108px + env(safe-area-inset-bottom)); }
    .page-header { min-height: 52px; margin-bottom: 16px; }
    .page-header h1 { font-size: 29px; }
    .page-body { padding-bottom: 0; }
    .reading-progress { top: 0; }
    body.portal-app .card { padding: 18px; border-radius: 18px; }
    .employee-dashboard,
    .supervisor-dashboard { gap: 17px; }
    .employee-hero,
    .manager-hero { min-height: 0; grid-template-columns: 1fr; gap: 20px; padding: 27px 23px; border-radius: 23px; }
    .employee-hero h1,
    .manager-hero h1 { max-width: 560px; font-size: clamp(34px, 8vw, 52px); }
    .welcome-line { margin-top: 22px; font-size: 13px; }
    .hero-description,
    .manager-hero-copy > p { font-size: 13px; }
    .hero-actions { gap: 8px; margin-top: 20px; }
    .hero-actions .button { min-height: 44px; }
    .hero-side-note { display: grid; max-width: none; grid-template-columns: 36px 1fr; align-items: center; column-gap: 10px; padding: 13px; }
    .hero-side-note .news-mark { grid-row: span 3; }
    .hero-side-note .section-kicker { margin: 0; }
    .hero-side-note strong { font-size: 13px; }
    .hero-side-note p { margin: 2px 0 0; }
    .hero-orb-one { right: -130px; bottom: -270px; }
    .hero-orb-two { right: -80px; bottom: -230px; }
    .learning-progress-strip { grid-template-columns: 1fr auto; gap: 11px; padding: 15px; }
    .learning-progress-strip .progress-strip-track { grid-column: 1 / -1; grid-row: 2; }
    .progress-strip-copy { grid-column: 1; }
    .learning-progress-strip > .text-action { grid-column: 2; grid-row: 1; font-size: 10px; }
    .learning-path-grid { grid-template-columns: 1fr; gap: 10px; }
    .learning-path-card { min-height: 185px; padding: 19px; }
    .path-card-top { margin-bottom: 16px; }
    .learning-path-card > strong { font-size: 18px; }
    .dashboard-bottom-row { grid-template-columns: 1fr; gap: 10px; }
    .manager-hero { grid-template-columns: 1fr auto; align-items: center; }
    .manager-hero-copy { grid-column: 1 / -1; }
    .manager-hero-score { grid-column: 1 / -1; grid-row: 2; justify-items: start; }
    .score-orbit { width: 116px; }
    .score-orbit::before { width: 100px; }
    .score-orbit strong { font-size: 29px; }
    .score-orbit strong small { font-size: 13px; }
    .score-orbit span { font-size: 8px; }
    .orbit-caption { position: absolute; left: 132px; bottom: 43px; }
    .manager-hero .button { min-height: 42px; }
    .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .metric-card { min-height: 112px; grid-template-columns: 34px 1fr; gap: 0 9px; padding: 13px; border-radius: 16px; }
    .metric-symbol { width: 32px; height: 32px; border-radius: 11px; font-size: 15px; }
    .metric-label { font-size: 9px; }
    .metric-card > strong { font-size: 25px; }
    .metric-card > small { font-size: 9px; }
    .manager-content-grid { grid-template-columns: 1fr; gap: 10px; }
    .surface-card { padding: 17px; border-radius: 18px; }
    .section-heading { align-items: center; margin-bottom: 12px; }
    .section-heading h2 { font-size: 22px; }
    .section-aside { display: none; }
    .team-result-row { grid-template-columns: 36px minmax(0,1fr) auto; gap: 9px; padding: 9px 3px; }
    .team-avatar { width: 35px; height: 35px; border-radius: 12px; }
    .team-result-score small { display: none; }
    .team-result-arrow { display: none; }
    .manager-news-card { display: grid; }
    .knowledge-promo { min-height: 65px; }
    .section-intro-panel { min-height: 175px; padding: 23px; border-radius: 20px; }
    .section-intro-panel h2 { font-size: 30px; }
    .section-intro-panel p { font-size: 12px; }
    .intro-panel-mark { width: 76px; height: 76px; flex-basis: 76px; font-size: 25px; }
    .intro-panel-mark::before { inset: 7px; }
    .intro-panel-mark::after { inset: -7px; }
    .intro-panel-mark i { top: 1px; right: 5px; width: 10px; height: 10px; }
    .knowledge-grid,
    .case-library-grid { grid-template-columns: 1fr; gap: 10px; }
    .knowledge-card { min-height: 205px; padding: 17px; border-radius: 17px; }
    .knowledge-card-top { margin-bottom: 12px; }
    .knowledge-card h3 { font-size: 17px; }
    .assessment-list { grid-template-columns: 1fr; gap: 10px; }
    .assessment-card,
    .case-library-card { padding: 17px; border-radius: 18px; }
    .assessment-card h2,
    .case-library-card h2 { margin-top: 13px; font-size: 18px; }
    .assessment-card-footer { align-items: center; }
    .assessment-status { max-width: 45%; font-size: 9px; }
    .assessment-card .button,
    .case-library-card .button { white-space: nowrap; }
    .story-cover { min-height: 0; margin-bottom: 14px; padding: 24px 20px; border-radius: 21px; }
    .story-cover .material-meta { margin-bottom: 19px; }
    .story-cover h1 { font-size: 32px; }
    .story-cover > p { font-size: 12px; }
    .story-cover-number { right: 10px; bottom: -29px; font-size: 120px; }
    .story-layout { grid-template-columns: 1fr; gap: 8px; }
    .story-index { position: sticky; z-index: 19; top: 70px; display: flex; gap: 5px; margin: 0 -18px; padding: 8px 18px; overflow-x: auto; border-bottom: 1px solid rgba(224,231,220,.8); background: rgba(243,245,239,.94); backdrop-filter: blur(14px); scrollbar-width: none; }
    .story-index::-webkit-scrollbar { display: none; }
    .story-index-title { display: none; }
    .story-index a { flex: 0 0 auto; min-height: 34px; padding: 6px 9px; font-size: 9px; white-space: nowrap; }
    .story-index a span { font-size: 8px; }
    .story-chapter { grid-template-columns: 35px minmax(0,1fr); gap: 12px; padding: 28px 0 34px; scroll-margin-top: 126px; }
    .story-chapter-number span { font-size: 15px; }
    .story-chapter-number i { height: 75px; }
    .story-prose { font-size: 15px; line-height: 1.8; }
    .story-chapter-copy .section-kicker { font-size: 9px; }
    .story-finish-card { flex-wrap: wrap; gap: 11px; margin: 18px 0 30px; padding: 15px; }
    .story-finish-card > div { min-width: calc(100% - 60px); }
    .story-finish-card .button { width: 100%; }
    .story-section-nav { top: 70px; margin: 7px -18px 14px; padding: 7px 10px; border-radius: 0; border-right: 0; border-left: 0; }
    .story-section-nav > span { display: none; }
    .story-section-nav a { padding: 7px 9px; font-size: 9px; }
    .visit-step-nav { margin-top: 0; }
    .visit-timeline::before { left: 22px; }
    .visit-step-card { grid-template-columns: 46px minmax(0,1fr); gap: 8px; padding: 12px 0 21px; scroll-margin-top: 130px; }
    .visit-step-index span { width: 38px; height: 38px; border-width: 3px; border-radius: 13px; font-size: 10px; }
    .visit-step-index i { height: 38px; }
    .visit-step-content { padding: 16px; border-radius: 17px; }
    .visit-step-content h2 { font-size: 19px; }
    .visit-step-summary { font-size: 12px; }
    .visit-step-detail .story-prose { font-size: 13px; }
    .progress-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .progress-summary-card { min-height: 105px; padding: 13px; border-radius: 15px; }
    .progress-summary-card strong { font-size: 25px; }
    .progress-summary-card > span:last-child { font-size: 9px; }
    .progress-desktop-table { display: none; }
    .progress-mobile-list { display: grid; gap: 9px; }
    .progress-mobile-card { padding: 15px; border-radius: 16px; }
    .progress-mobile-card h3 { font-size: 15px; }
    body.portal-app .analytics-page-compact .analytics-attempts-desktop { display: none !important; }
    body.portal-app .analytics-page-compact .analytics-attempts-mobile { display: grid; gap: 9px; }
    body.portal-app .analytics-page-compact .analytics-secondary-grid { grid-template-columns: 1fr; }
    body.portal-app .analytics-page-compact .analytics-filter-grid { grid-template-columns: 1fr; }
    body.portal-app .analytics-page-compact .analytics-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.portal-app .analytics-page-compact .compact-stat-card { padding: 12px !important; }
    body.portal-app .analytics-page-compact .stat-value { font-size: 1.4rem !important; }
    body.portal-app .analytics-page-compact .analytics-toolbar-card { padding: 14px !important; }
    body.portal-app .analytics-page-compact .analytics-toolbar-card .primary-button { width: 100%; }
    .mobile-bottom-nav { position: fixed; z-index: 95; right: 0; bottom: 0; left: 0; display: grid; grid-auto-columns: 1fr; grid-auto-flow: column; gap: 2px; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(223,230,220,.9); background: rgba(255,255,255,.94); box-shadow: 0 -8px 28px rgba(29,56,40,.09); backdrop-filter: blur(18px); }
    .mobile-bottom-link { display: grid; min-width: 0; min-height: 55px; justify-items: center; align-content: center; gap: 3px; padding: 4px 2px; border: 0; border-radius: 13px; color: #7d8a80 !important; background: transparent; font: inherit; font-size: 9px; font-weight: 750; line-height: 1.1; cursor: pointer; transition: color .18s ease, background .18s ease, transform .18s ease; }
    .mobile-bottom-link.is-active { color: var(--ui-green-deep) !important; background: #eff4e4; }
    .mobile-bottom-link:active { transform: scale(.96); }
    .mobile-bottom-icon { display: grid; width: 25px; height: 23px; place-items: center; }
    .mobile-bottom-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
    .mobile-bottom-link.is-active .mobile-bottom-icon { color: #58753a; }
    .mobile-more-toggle { width: 100%; }
    .quick-menu-backdrop { position: fixed; z-index: 96; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(16,32,22,.36); backdrop-filter: blur(2px); transition: opacity .24s ease, visibility .24s ease; }
    .quick-menu-backdrop.is-open { visibility: visible; opacity: 1; }
    .quick-menu-panel { position: fixed; z-index: 97; right: 0; bottom: 0; left: 0; display: block; padding: 10px 18px calc(84px + env(safe-area-inset-bottom)); border: 1px solid rgba(226,232,223,.95); border-bottom: 0; border-radius: 25px 25px 0 0; background: #fbfcf9; box-shadow: 0 -22px 60px rgba(17,45,29,.18); transform: translateY(110%); transition: transform .34s cubic-bezier(.2,.75,.2,1); }
    .quick-menu-panel.is-open { transform: translateY(0); }
    .quick-menu-handle { width: 38px; height: 4px; margin: 0 auto 14px; border-radius: 99px; background: #cdd6ca; }
    .quick-menu-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
    .quick-menu-heading h2 { margin: 3px 0 0; font-size: 21px; }
    .quick-menu-close { display: grid; width: 35px; height: 35px; place-items: center; border: 0; border-radius: 12px; color: #66776b; background: #edf1e9; font-size: 22px; cursor: pointer; }
    .quick-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; max-height: min(43vh, 310px); overflow-y: auto; }
    .quick-menu-grid a { display: grid; min-height: 76px; justify-items: center; align-content: center; gap: 6px; padding: 8px 4px; border: 1px solid #e6ebe2; border-radius: 14px; color: #45594c !important; background: white; font-size: 10px; font-weight: 750; text-align: center; }
    .quick-menu-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 11px; color: #2f6542; background: #eff4e2; font-size: 14px; font-weight: 900; }
    .quick-menu-account { display: flex; align-items: center; gap: 9px; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--ui-line); }
    .quick-menu-account > span:nth-child(2) { display: grid; min-width: 0; flex: 1; }
    .quick-menu-account strong { overflow: hidden; color: var(--ui-ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .quick-menu-account small { color: #849087; font-size: 9px; }
    .quick-menu-account > a { padding: 8px 12px; border-radius: 11px; color: #925147 !important; background: #f9eeeb; font-size: 10px; font-weight: 800; }
    body.quick-menu-open { overflow: hidden; }
    body.quick-menu-open .mobile-bottom-nav { visibility: hidden; }
    body.portal-app .table-wrap { overflow-x: auto; }
}

/* Official Abdysh-Ata product catalog */
.dropdown-menu .dropdown-menu-secondary-link { margin-top: 5px; border-top: 1px solid var(--ui-line); color: #6d7d70; }
.official-catalog-page,
.official-product-detail-page { gap: 22px; }
.official-catalog-hero { position: relative; display: grid; min-height: 270px; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: center; overflow: hidden; padding: clamp(26px, 4.5vw, 58px); border: 1px solid rgba(226, 234, 220, .8); border-radius: 30px; background: linear-gradient(118deg, #163e2b 0%, #245b3c 60%, #62804b 100%); box-shadow: 0 25px 60px rgba(24, 61, 41, .16); }
.official-catalog-hero::before,
.official-catalog-hero::after { position: absolute; content: ""; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; pointer-events: none; }
.official-catalog-hero::before { top: -185px; right: 19%; width: 400px; height: 400px; }
.official-catalog-hero::after { right: -105px; bottom: -240px; width: 470px; height: 470px; }
.official-catalog-hero-copy { position: relative; z-index: 2; max-width: 620px; }
.official-catalog-hero .eyebrow-label { color: #d9e976; }
.official-catalog-hero h2 { max-width: 650px; margin: 13px 0 10px; color: white; font-size: clamp(31px, 4vw, 50px); line-height: 1.02; letter-spacing: -.055em; }
.official-catalog-hero p { max-width: 560px; margin: 0; color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.7; }
.official-catalog-hero-stats { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.official-catalog-hero-stats span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.08); font-size: 11px; }
.official-catalog-hero-stats strong { color: white; font-size: 13px; }
.official-catalog-hero-products { position: relative; z-index: 1; display: flex; min-height: 220px; align-items: center; justify-content: center; }
.official-catalog-hero-product { position: absolute; display: grid; width: 112px; height: 200px; place-items: center; padding: 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 25px; background: linear-gradient(150deg, rgba(255,255,255,.94), rgba(246,248,242,.75)); box-shadow: 0 20px 50px rgba(5,26,16,.25); }
.official-catalog-hero-product img { width: 100%; height: 100%; object-fit: contain; }
.hero-product-1 { z-index: 3; transform: translateX(-72px) rotate(-11deg) scale(.83); }
.hero-product-2 { z-index: 4; transform: translateY(-2px) rotate(3deg); }
.hero-product-3 { z-index: 2; transform: translateX(73px) rotate(12deg) scale(.82); }
.official-catalog-hero-orbit { position: absolute; border: 1px solid rgba(217,233,118,.25); border-radius: 50%; }
.official-catalog-hero-orbit.orbit-one { width: 265px; height: 265px; }
.official-catalog-hero-orbit.orbit-two { width: 320px; height: 320px; }
.official-catalog-search { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(190px, 260px) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--ui-line); border-radius: 20px; background: white; box-shadow: 0 10px 28px rgba(30,57,40,.045); }
.official-catalog-search-input { position: relative; display: flex; min-width: 0; align-items: center; }
.official-catalog-search-input svg { position: absolute; left: 14px; width: 19px; height: 19px; fill: none; stroke: #829087; stroke-linecap: round; stroke-width: 1.8; pointer-events: none; }
.official-catalog-search input,
.official-catalog-search select { width: 100%; min-width: 0; min-height: 48px; border: 0; border-radius: 13px; background: #f7f9f5; }
.official-catalog-search input { padding: 0 14px 0 43px; }
.official-catalog-search select { padding: 0 35px 0 13px; }
.official-catalog-search input:focus,
.official-catalog-search select:focus { box-shadow: inset 0 0 0 1px #84a576, 0 0 0 3px rgba(102,149,111,.1); }
.official-catalog-search .button { min-height: 48px; padding: 0 24px; }
.official-category-pills { display: flex; gap: 8px; overflow-x: auto; padding: 1px 1px 7px; scrollbar-width: thin; scrollbar-color: #cbd6c4 transparent; }
.official-category-pill { display: inline-flex; min-height: 39px; flex: 0 0 auto; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid #e4eae0; border-radius: 99px; color: #596b5e !important; background: rgba(255,255,255,.72); font-size: 11px; font-weight: 750; transition: background .18s ease, color .18s ease, transform .18s ease; }
.official-category-pill:hover { transform: translateY(-1px); color: var(--ui-green-deep) !important; background: white; }
.official-category-pill span { display: grid; min-width: 22px; height: 22px; place-items: center; padding: 0 5px; border-radius: 99px; color: #718075; background: #f0f3ed; font-size: 9px; }
.official-category-pill.is-active { border-color: #295d3f; color: white !important; background: #245d3e; }
.official-category-pill.is-active span { color: #173d2a; background: #d9e976; }
.official-catalog-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin: 5px 0 0; }
.official-catalog-section-heading h2 { margin: 5px 0 0; font-size: clamp(22px, 2.8vw, 31px); line-height: 1.12; }
.official-catalog-result-count { padding-bottom: 3px; color: #879389; font-size: 12px; white-space: nowrap; }
.official-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.official-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e4eae1; border-radius: 20px; color: var(--ui-ink) !important; background: white; box-shadow: 0 10px 27px rgba(30,57,40,.045); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.official-product-card:hover { transform: translateY(-5px); border-color: #c9d8bb; box-shadow: 0 20px 40px rgba(30,57,40,.12); }
.official-product-image-wrap { position: relative; display: grid; height: 230px; place-items: center; overflow: hidden; padding: 16px; background: radial-gradient(ellipse at 50% 75%, rgba(219,230,207,.48), transparent 62%), linear-gradient(145deg, #f7f9f5, #eff3ec); }
.official-product-image-wrap::after { position: absolute; right: 18%; bottom: 13px; left: 18%; height: 14px; border-radius: 50%; background: rgba(31,61,42,.12); filter: blur(9px); content: ""; }
.official-product-image-wrap img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.official-product-card:hover .official-product-image-wrap img { transform: scale(1.045); }
.official-product-open { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(222,230,218,.9); border-radius: 11px; color: #536859; background: rgba(255,255,255,.85); font-size: 14px; opacity: 0; transform: translate(-3px, 3px); transition: opacity .2s ease, transform .2s ease; }
.official-product-card:hover .official-product-open,
.official-product-card:focus-visible .official-product-open { opacity: 1; transform: none; }
.official-product-copy { display: flex; min-height: 202px; flex: 1; flex-direction: column; align-items: flex-start; padding: 16px 17px 17px; }
.official-product-category { max-width: 100%; overflow: hidden; color: #78906c; font-size: 9px; font-weight: 850; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.official-product-copy h3 { margin: 7px 0 3px; font-size: 17px; line-height: 1.2; }
.official-product-volume { color: #79867c; font-size: 10px; font-weight: 700; }
.official-product-copy p { display: -webkit-box; max-height: 4.6em; margin: 10px 0 13px; overflow: hidden; color: #738177; font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.official-product-link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: #326746; font-size: 11px; font-weight: 850; }
.official-product-link span { transition: transform .18s ease; }
.official-product-card:hover .official-product-link span { transform: translateX(3px); }
.official-catalog-source { margin: -4px 0 0; color: #89948b; font-size: 10px; text-align: center; }
.official-catalog-source a { color: #4d7656 !important; text-decoration: underline; text-underline-offset: 2px; }
.official-catalog-learning-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 21px; border: 1px solid #e0e8da; border-radius: 18px; background: linear-gradient(105deg,#f7f9f1,#fff); }
.official-catalog-learning-link > span { display: grid; gap: 3px; }
.official-catalog-learning-link strong { color: #344d3c; font-size: 12px; }
.official-catalog-learning-link small { color: #829087; font-size: 10px; }
.official-catalog-learning-link > a { flex: 0 0 auto; color: #326746 !important; font-size: 11px; font-weight: 850; }
.official-catalog-empty { grid-column: 1 / -1; display: grid; justify-items: center; padding: 50px 20px !important; text-align: center; }
.official-catalog-empty-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 16px; color: #4d7656; background: #eff4e8; font-size: 30px; }
.official-catalog-empty h3 { margin: 14px 0 0; }
.official-catalog-empty p { margin: 7px 0 17px; }
.official-back-link { display: inline-flex; width: fit-content; align-items: center; gap: 7px; color: #617568 !important; font-size: 12px; font-weight: 800; }
.official-back-link:hover { color: #245d3e !important; }
.official-product-detail { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); overflow: hidden; border: 1px solid #e2e9de; border-radius: 28px; background: white; box-shadow: 0 18px 45px rgba(30,57,40,.07); }
.official-product-detail-image { position: relative; display: grid; min-height: 430px; place-items: center; overflow: hidden; padding: 40px; background: radial-gradient(ellipse at 50% 78%, rgba(216,229,202,.6), transparent 62%), linear-gradient(145deg,#f5f8f2,#edf2e9); }
.official-product-detail-image::before { position: absolute; width: 300px; height: 300px; border: 1px solid rgba(88,117,58,.13); border-radius: 50%; content: ""; }
.official-product-detail-image img { position: relative; z-index: 1; width: 100%; height: 360px; object-fit: contain; }
.official-image-caption { position: absolute; z-index: 2; bottom: 18px; left: 20px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.8); border-radius: 99px; color: #6a7a6d; background: rgba(255,255,255,.76); font-size: 9px; font-weight: 800; }
.official-product-detail-copy { align-self: center; padding: clamp(25px, 4vw, 54px); }
.official-product-detail-copy h2 { margin: 17px 0 10px; font-size: clamp(30px, 4vw, 48px); line-height: 1.02; }
.official-product-detail-copy .badge { text-decoration: none; }
.official-category-badge { color: #316746 !important; }
.official-product-lead { margin: 0 0 14px; color: #4d6254 !important; font-size: 15px; font-weight: 700; line-height: 1.65; }
.official-product-description { color: #758278; font-size: 13px; line-height: 1.8; white-space: pre-line; }
.official-source-button { margin-top: 24px; }
.official-product-facts { padding-top: 8px; }
.official-product-facts-heading { margin-bottom: 13px; }
.official-product-facts-heading h2 { margin: 4px 0 0; font-size: 26px; }
.official-product-facts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.official-product-fact { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; padding: 20px; border: 1px solid #e4eae1; border-radius: 18px; background: rgba(255,255,255,.82); }
.official-product-fact-wide { grid-column: 1 / -1; }
.official-product-fact-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 13px; color: #346b46; background: #eef4e6; font-size: 18px; font-weight: 800; }
.official-product-fact h3 { margin: 1px 0 6px; font-size: 14px; }
.official-product-fact p { margin: 0; color: #748178; font-size: 12px; line-height: 1.7; white-space: pre-line; }
.official-related-products { margin-top: 8px; }
.official-related-products .official-catalog-section-heading { margin-bottom: 14px; }
.official-catalog-section-heading > a { flex: 0 0 auto; }
.official-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.official-related-card { display: grid; grid-template-columns: 58px minmax(0,1fr) 25px; align-items: center; gap: 12px; padding: 10px; border: 1px solid #e4eae1; border-radius: 16px; color: var(--ui-ink) !important; background: white; transition: border-color .18s ease, transform .18s ease; }
.official-related-card:hover { transform: translateY(-2px); border-color: #bed0b1; }
.official-related-image { display: grid; width: 58px; height: 64px; place-items: center; overflow: hidden; border-radius: 12px; background: #f2f5ef; }
.official-related-image img { width: 100%; height: 100%; object-fit: contain; }
.official-related-card > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.official-related-card strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; }
.official-related-card small { color: #829087; font-size: 9px; }
.official-related-arrow { color: #78906c; text-align: center; }

@media (max-width: 1120px) {
    .official-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 800px) {
    .official-catalog-page,
    .official-product-detail-page { gap: 17px; }
    .official-catalog-hero { min-height: 220px; grid-template-columns: minmax(0,1fr) 205px; gap: 3px; padding: 27px; border-radius: 24px; }
    .official-catalog-hero h2 { max-width: 440px; font-size: 35px; }
    .official-catalog-hero p { font-size: 12px; }
    .official-catalog-hero-stats { margin-top: 17px; }
    .official-catalog-hero-products { min-height: 200px; transform: scale(.82); }
    .official-catalog-search { grid-template-columns: minmax(0,1fr) auto; gap: 7px; padding: 8px; border-radius: 17px; }
    .official-catalog-search-input { grid-column: 1 / -1; }
    .official-catalog-search select { font-size: 11px; }
    .official-catalog-search .button { min-height: 46px; padding: 0 19px; }
    .official-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .official-product-card { border-radius: 16px; }
    .official-product-image-wrap { height: 182px; padding: 12px; }
    .official-product-copy { min-height: 174px; padding: 13px; }
    .official-product-copy h3 { font-size: 15px; }
    .official-product-copy p { font-size: 10px; }
    .official-product-open { opacity: 1; transform: none; }
    .official-product-detail { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); border-radius: 22px; }
    .official-product-detail-image { min-height: 340px; padding: 25px; }
    .official-product-detail-image img { height: 280px; }
    .official-product-detail-copy { padding: 25px; }
    .official-product-detail-copy h2 { font-size: 34px; }
    .official-product-lead { font-size: 13px; }
    .official-product-description { font-size: 12px; }
}

@media (max-width: 560px) {
    .official-catalog-hero { display: block; min-height: 0; padding: 23px 20px 18px; }
    .official-catalog-hero h2 { max-width: 330px; font-size: 33px; }
    .official-catalog-hero p { max-width: 360px; }
    .official-catalog-hero-products { position: absolute; right: -25px; bottom: -64px; width: 175px; min-height: 225px; opacity: .34; transform: scale(.72); transform-origin: center; }
    .official-catalog-hero-stats { position: relative; z-index: 2; }
    .official-catalog-hero-stats span { padding: 7px 9px; font-size: 9px; }
    .official-catalog-search { grid-template-columns: minmax(0,1fr) auto; }
    .official-catalog-search select { padding-left: 9px; font-size: 10px; }
    .official-catalog-search .button { padding: 0 14px; font-size: 11px; }
    .official-category-pills { margin-right: -13px; padding-right: 13px; }
    .official-catalog-section-heading { align-items: center; }
    .official-catalog-section-heading h2 { font-size: 22px; }
    .official-catalog-result-count { font-size: 10px; }
    .official-product-image-wrap { height: 155px; padding: 9px; }
    .official-product-copy { min-height: 179px; padding: 11px; }
    .official-product-category { font-size: 8px; letter-spacing: .05em; }
    .official-product-copy h3 { font-size: 14px; }
    .official-product-volume { font-size: 9px; }
    .official-product-copy p { margin: 8px 0 11px; font-size: 9px; line-height: 1.45; }
    .official-product-link { font-size: 10px; }
    .official-catalog-learning-link { align-items: flex-start; flex-direction: column; padding: 15px; }
    .official-catalog-learning-link > a { padding-top: 3px; }
    .official-product-detail { grid-template-columns: 1fr; }
    .official-product-detail-image { min-height: 300px; }
    .official-product-detail-image img { height: 260px; }
    .official-product-detail-copy { padding: 22px; }
    .official-product-detail-copy h2 { margin-top: 13px; font-size: 32px; }
    .official-source-button { width: 100%; }
    .official-product-facts-grid { grid-template-columns: 1fr; }
    .official-product-fact-wide { grid-column: auto; }
    .official-product-fact { padding: 16px; }
    .official-related-grid { grid-template-columns: 1fr; }
    .official-related-products .official-catalog-section-heading > a { max-width: 125px; font-size: 9px; text-align: right; }
}

@media (max-width: 420px) {
    .site-shell { padding-right: 13px; padding-left: 13px; }
    .site-header { margin-right: -13px; margin-left: -13px; padding-right: 13px; padding-left: 13px; }
    .brand-mark,
    .brand-logo-frame { width: 36px; height: 36px; }
    .brand-name { max-width: 145px; font-size: 12px; }
    .brand-overline { font-size: 8px; }
    .page-header h1 { font-size: 26px; }
    .employee-hero,
    .manager-hero { padding: 22px 17px; }
    .hero-kicker { font-size: 8px; letter-spacing: .11em; }
    .employee-hero h1,
    .manager-hero h1 { font-size: 34px; }
    .hero-actions .button { flex: 1 1 auto; padding: 0 11px; font-size: 10px; }
    .team-person strong { font-size: 11px; }
    .section-intro-panel { padding: 19px 16px; }
    .section-intro-panel h2 { font-size: 25px; }
    .intro-panel-mark { width: 57px; height: 57px; flex-basis: 57px; font-size: 20px; }
    .story-index { margin-right: -13px; margin-left: -13px; padding-right: 13px; padding-left: 13px; }
    .story-section-nav { margin-right: -13px; margin-left: -13px; }
    .mobile-bottom-nav { padding-right: 4px; padding-left: 4px; }
    .mobile-bottom-link { font-size: 8px; }
    .quick-menu-panel { padding-right: 13px; padding-left: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    body.portal-motion-ready [data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 800px) {
    .portal-header-inner { gap: 10px; }
    .brand-link { flex: 1 1 0; gap: 8px; }
    .brand-copy { max-width: 110px; }
    .brand-overline { white-space: nowrap; letter-spacing: .11em; }
    .brand-name { display: none; }

    .header-user-panel { flex: 0 1 auto; min-width: 0; max-width: 58%; }
    .header-user-panel .user-chip { max-width: 100%; gap: 7px; padding-right: 5px; }
    .header-user-panel .user-chip-copy { display: grid; min-width: 0; max-width: min(36vw, 150px); }
    .header-user-panel .user-chip-name {
        display: -webkit-box;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        overflow-wrap: anywhere;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .header-user-panel .user-chip-role,
    .header-user-panel .user-chip-caret { display: none; }
    .header-user-panel .user-chip-icon { width: 34px; height: 34px; flex-basis: 34px; }

    .employee-hero {
        background-image: linear-gradient(110deg, rgba(10, 36, 23, .88), rgba(20, 59, 37, .70) 100%), var(--dashboard-image, linear-gradient(120deg, #173d2a, #366a46));
    }
    .employee-hero::after { background: linear-gradient(90deg, rgba(7, 24, 15, .16), rgba(7, 24, 15, .06) 65%, transparent 100%); }
    .employee-hero .hero-kicker,
    .employee-hero .welcome-line,
    .employee-hero h1,
    .employee-hero .hero-description { text-shadow: 0 2px 10px rgba(0, 0, 0, .38); }
}

/* Brighter colors, clearer tap targets, and compact mobile controls */
:root {
    --ui-lime: #d9f36b;
    --ui-gold: #ffd166;
    --ui-blue: #bfeaf0;
    --ui-rose: #ffd4ca;
    --ui-bg: #f5f7ef;
    --ui-green: #286744;
    --ui-shadow-hover: 0 22px 48px rgba(25, 77, 49, .16);
}

body.portal-app {
    background:
        radial-gradient(ellipse at 6% 1%, rgba(217, 243, 107, .21), transparent 30rem),
        radial-gradient(ellipse at 100% 18%, rgba(158, 221, 228, .22), transparent 27rem),
        radial-gradient(ellipse at 82% 76%, rgba(255, 209, 102, .10), transparent 25rem),
        var(--ui-bg);
}

.section-intro-panel { background: linear-gradient(108deg, #eef5d7 0%, #f5f7e9 54%, #e0f1f1 100%); }
.employee-hero,
.manager-hero { box-shadow: 0 25px 62px rgba(24, 77, 48, .22); }

.dashboard-news-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    min-width: 0;
    padding: 17px 20px;
    border: 1px solid #e0e9cc;
    border-radius: 20px;
    color: var(--ui-ink) !important;
    background: linear-gradient(108deg, #fff 0%, #f5f9e7 57%, #eaf7f4 100%);
    box-shadow: 0 12px 30px rgba(31, 70, 42, .07);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.dashboard-news-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-3px); border-color: #c5d99f; box-shadow: var(--ui-shadow-hover); }
.dashboard-news-card .news-mark { width: 42px; height: 42px; margin: 0; border-radius: 15px; font-size: 19px; }
.dashboard-news-copy { display: grid; min-width: 0; gap: 3px; }
.dashboard-news-copy .section-kicker { color: #748b4e; }
.dashboard-news-copy > strong { overflow: hidden; color: var(--ui-ink); font-size: 16px; line-height: 1.25; text-overflow: ellipsis; }
.dashboard-news-text { display: -webkit-box; overflow: hidden; color: #6e7d70; font-size: 11px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dashboard-news-open { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(218, 229, 208, .9); border-radius: 99px; color: #2c6844; background: rgba(255,255,255,.8); font-size: 10px; font-weight: 850; white-space: nowrap; }
.dashboard-news-open b { font-size: 14px; transition: transform .2s ease; }
.dashboard-news-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover .dashboard-news-open b { transform: translate(2px, -2px); }

.learning-progress-strip {
    color: var(--ui-ink) !important;
    text-decoration: none !important;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.learning-progress-strip:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-2px); border-color: #c7d8ae; box-shadow: 0 16px 34px rgba(30, 57, 40, .10); }
.learning-progress-strip:focus-visible,
.dashboard-news-card:focus-visible,
.learning-path-card:focus-visible,
.metric-card:focus-visible,
.profile-summary-card:focus-visible,
.knowledge-card:focus-visible { outline: 3px solid rgba(104, 151, 69, .5); outline-offset: 3px; }

.learning-path-card {
    min-height: 166px;
    justify-content: flex-start;
    padding: 21px;
    background: linear-gradient(145deg, #fff 0%, #f8fbe9 100%);
}
.learning-path-case { background: linear-gradient(145deg, #fff 0%, #edf8f8 100%); }
.learning-path-material { background: linear-gradient(145deg, #fff 0%, #fff5e3 100%); }
.learning-path-card > strong { max-width: calc(100% - 42px); font-size: 18px; }
.learning-path-card .path-card-open { position: absolute; right: 19px; bottom: 18px; display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(219, 229, 207, .9); border-radius: 11px; color: #326b47; background: rgba(255,255,255,.85); font-size: 15px; transition: transform .2s ease, background .2s ease; }
.learning-path-card:hover .path-card-open { transform: translate(2px, -2px); background: #fff; }
.learning-path-card:active,
.metric-card:active,
.knowledge-card:active,
.dashboard-news-card:active { transform: scale(.985); }

.metric-card {
    color: var(--ui-ink) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 27px rgba(30, 57, 40, .055);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.metric-card:nth-child(1) { background: linear-gradient(145deg, #fff 0%, #f1f7df 100%); }
.metric-card:nth-child(2) { background: linear-gradient(145deg, #fff 0%, #fff4d9 100%); }
.metric-card:nth-child(3) { background: linear-gradient(145deg, #fff 0%, #eaf7f8 100%); }
.metric-card:nth-child(4) { background: linear-gradient(145deg, #fff 0%, #fff0ec 100%); }
.metric-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-3px); border-color: #d0dfbd; box-shadow: var(--ui-shadow-hover); }
.profile-summary-card { color: var(--ui-ink) !important; text-decoration: none !important; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.profile-summary-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: translateY(-2px); border-color: #cbdcba; box-shadow: 0 15px 32px rgba(30, 57, 40, .10); }
.knowledge-card { color: var(--ui-ink) !important; text-decoration: none !important; }
.knowledge-card:focus-visible { border-color: #91ad70; }

.mobile-search-toggle { display: none; }
.mobile-search-toggle::-webkit-details-marker { display: none; }
.mobile-search-disclosure > form { display: grid !important; }
.mobile-search-disclosure > summary { list-style: none; }
.mobile-search-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.9; }

@media (max-width: 800px) {
    .dashboard-news-card { grid-template-columns: 38px minmax(0, 1fr) 30px; gap: 10px; padding: 13px; border-radius: 17px; }
    .dashboard-news-card .news-mark { width: 36px; height: 36px; border-radius: 12px; font-size: 16px; }
    .dashboard-news-copy { gap: 2px; }
    .dashboard-news-copy .section-kicker { font-size: 8px; }
    .dashboard-news-copy > strong { font-size: 13px; }
    .dashboard-news-text { font-size: 10px; -webkit-line-clamp: 2; }
    .dashboard-news-open { justify-self: end; width: 29px; height: 29px; justify-content: center; padding: 0; border-radius: 11px; font-size: 0; }
    .dashboard-news-open b { font-size: 14px; }

    .learning-progress-strip { grid-template-columns: 1fr auto; }
    .learning-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .learning-path-card { min-height: 145px; padding: 14px; border-radius: 17px; }
    .path-card-top { align-items: flex-start; gap: 5px; margin-bottom: 17px; }
    .path-icon { width: 33px; height: 33px; flex: 0 0 33px; border-radius: 11px; }
    .path-step { padding-top: 4px; font-size: 7px; letter-spacing: .07em; text-align: right; }
    .learning-path-card > strong { max-width: calc(100% - 26px); font-size: 14px; line-height: 1.2; }
    .learning-path-card .path-card-open { right: 12px; bottom: 12px; width: 25px; height: 25px; border-radius: 9px; font-size: 13px; }
    .metric-card { min-height: 106px; }
    .manager-news-card { display: grid; }
    .mobile-search-disclosure { display: flex; width: 100%; flex-direction: column; align-items: flex-end; }
    .mobile-search-toggle { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; padding: 0; border: 1px solid #dfe9cf; border-radius: 15px; color: #286744; background: linear-gradient(145deg, #f3f8df, #eaf7f4); box-shadow: 0 6px 16px rgba(38, 89, 53, .08); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
    .mobile-search-toggle:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(38, 89, 53, .13); }
    .mobile-search-toggle:active { transform: scale(.95); }
    .mobile-search-toggle:focus-visible { outline: 3px solid rgba(104, 151, 69, .42); outline-offset: 3px; }
    .mobile-search-disclosure:not([open]) > form { display: none !important; }
    .mobile-search-disclosure[open] > form { display: grid !important; width: 100%; margin-top: 10px; animation: search-panel-in .2s ease both; }
    .official-mobile-search[open] { align-items: stretch; }
    .official-mobile-search[open] > .mobile-search-toggle { align-self: flex-end; }
}

@media (max-width: 390px) {
    .learning-path-card { min-height: 138px; padding: 12px; }
    .path-step { font-size: 6px; letter-spacing: .045em; }
    .learning-path-card > strong { font-size: 13px; }
    .learning-path-card .path-card-open { right: 10px; bottom: 10px; }
}

@keyframes search-panel-in {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Keep the admin-managed news card on top of the dashboard hero image. */
.employee-hero,
.manager-hero {
    background-image: linear-gradient(110deg, rgba(7, 26, 16, .86), rgba(17, 54, 34, .70) 100%), var(--dashboard-image, linear-gradient(120deg, #173d2a, #366a46));
}

.dashboard-news-overlay {
    position: relative;
    z-index: 3;
    display: flex;
    width: min(100%, 330px);
    min-height: 250px;
    flex-direction: column;
    align-items: flex-start;
    justify-self: end;
    gap: 15px;
    padding: 23px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 25px;
    color: #fff !important;
    text-decoration: none !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .10));
    box-shadow: 0 24px 64px rgba(0, 0, 0, .25);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.dashboard-news-overlay:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, .56);
    box-shadow: 0 30px 72px rgba(0, 0, 0, .31);
}

.dashboard-news-overlay .news-mark {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    margin: 0;
    border-radius: 15px;
    color: #183629;
    background: var(--ui-lime);
    font-size: 19px;
}

.dashboard-news-overlay .dashboard-news-copy {
    width: 100%;
    gap: 7px;
}

.dashboard-news-overlay .dashboard-news-copy .section-kicker {
    color: rgba(255, 255, 255, .78);
}

.dashboard-news-overlay .dashboard-news-copy > strong {
    overflow: visible;
    color: #fff;
    font-size: clamp(18px, 1.7vw, 23px);
    line-height: 1.2;
    text-overflow: clip;
    white-space: normal;
}

.dashboard-news-overlay .dashboard-news-text {
    color: rgba(255, 255, 255, .90);
    font-size: 12px;
    line-height: 1.6;
    -webkit-line-clamp: 3;
}

.dashboard-news-overlay .dashboard-news-open {
    width: auto;
    height: auto;
    justify-self: auto;
    margin-top: auto;
    padding: 9px 13px;
    border: 0;
    border-radius: 999px;
    color: #203b29;
    background: var(--ui-lime);
    font-size: 11px;
}

.dashboard-news-overlay .dashboard-news-open b { font-size: 14px; }

.employee-hero .dashboard-news-overlay {
    grid-column: 2;
    align-self: center;
}

.manager-hero {
    min-height: 430px;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 190px) minmax(260px, 330px);
    gap: 23px;
}

.manager-hero-copy { grid-column: 1; }
.manager-hero-score { grid-column: 2; justify-self: center; }
.manager-hero .dashboard-news-overlay { grid-column: 3; justify-self: stretch; width: 100%; }

@media (max-width: 1180px) and (min-width: 801px) {
    .employee-hero { grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); }
    .manager-hero {
        min-height: 520px;
        grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
    }
    .manager-hero-copy { grid-column: 1; grid-row: 1 / span 2; }
    .manager-hero-score { grid-column: 2; grid-row: 1; }
    .manager-hero .dashboard-news-overlay { grid-column: 2; grid-row: 2; width: 100%; }
}

@media (max-width: 800px) {
    .employee-hero,
    .manager-hero {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .employee-hero .dashboard-news-overlay,
    .manager-hero .dashboard-news-overlay {
        grid-column: 1;
        grid-row: auto;
        justify-self: stretch;
        width: 100%;
        min-height: 185px;
        padding: 18px;
        border-radius: 20px;
    }

    .manager-hero-copy,
    .manager-hero-score { grid-column: 1; grid-row: auto; }

    .employee-hero,
    .manager-hero {
        background-image: linear-gradient(110deg, rgba(7, 26, 16, .91), rgba(17, 54, 34, .79) 100%), var(--dashboard-image, linear-gradient(120deg, #173d2a, #366a46));
    }
}

.employee-hero .employee-hero-text,
.manager-hero .manager-hero-copy,
.manager-hero .manager-hero-score { position: relative; z-index: 2; }

@media (max-width: 800px) {
}

/* Immersive, compact dashboard inspired by the supplied homepage reference. */
body.dashboard-page {
    min-height: 100vh;
    overflow-x: hidden;
    background: #13251a;
}

body.dashboard-page .site-shell {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.dashboard-page .site-header {
    position: absolute;
    z-index: 75;
    top: 0;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 8px clamp(20px, 5vw, 76px);
    border: 0;
    background: linear-gradient(180deg, rgba(8, 22, 14, .52), rgba(8, 22, 14, 0));
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

body.dashboard-page .portal-header-inner { display: contents; }
body.dashboard-page .brand-link { grid-column: 1; grid-row: 1; justify-self: start; color: white !important; }
body.dashboard-page .brand-overline,
body.dashboard-page .brand-name,
body.dashboard-page .brand-subtitle { color: rgba(255, 255, 255, .94); }
body.dashboard-page .desktop-navigation {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    min-height: 54px;
    border: 0;
}
body.dashboard-page .desktop-navigation .nav-link { color: rgba(255, 255, 255, .88); }
body.dashboard-page .desktop-navigation .nav-link:hover,
body.dashboard-page .desktop-navigation .nav-link.is-active,
body.dashboard-page .desktop-navigation .dropdown.is-open > .nav-link { color: white; background: rgba(255, 255, 255, .14); }
body.dashboard-page .desktop-navigation .nav-link-accent { color: white; background: rgba(217, 243, 107, .17); }
body.dashboard-page .header-user-panel { grid-column: 3; grid-row: 1; justify-self: end; }
body.dashboard-page .user-chip { color: white; }
body.dashboard-page .user-chip-name { color: white; }
body.dashboard-page .user-chip-role,
body.dashboard-page .user-chip-caret { color: rgba(255, 255, 255, .75); }
body.dashboard-page .user-chip:hover,
body.dashboard-page .user-chip[aria-expanded="true"] { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.12); }
body.dashboard-page .page-wrapper { max-width: none; padding: 0; }
body.dashboard-page .page-body { padding: 0; }
body.dashboard-page .reading-progress { display: none; }
body.dashboard-page .employee-dashboard,
body.dashboard-page .supervisor-dashboard { display: block; gap: 0; }

body.dashboard-page .employee-hero,
body.dashboard-page .manager-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(270px, .72fr);
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
    align-items: center;
    gap: 24px clamp(24px, 5vw, 68px);
    width: 100%;
    min-height: min(940px, 100svh);
    margin: 0;
    padding: 118px clamp(24px, 6vw, 96px) 34px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background-color: #173d2a;
}
body.dashboard-page .employee-hero-text,
body.dashboard-page .manager-hero-copy { grid-column: 1; grid-row: 1; align-self: center; max-width: 760px; }
body.dashboard-page .employee-hero .hero-kicker,
body.dashboard-page .manager-hero .hero-kicker { color: rgba(255,255,255,.84); font-size: 11px; letter-spacing: .18em; }
body.dashboard-page .employee-hero h1,
body.dashboard-page .manager-hero h1 {
    max-width: 12ch;
    margin: 20px 0 16px;
    color: white;
    font-size: clamp(42px, 6vw, 82px);
    line-height: .98;
    letter-spacing: -.065em;
    text-shadow: 0 12px 40px rgba(0,0,0,.34);
}
body.dashboard-page .employee-hero h1 em,
body.dashboard-page .manager-hero h1 em { color: #e5ef9a; }
body.dashboard-page .hero-description,
body.dashboard-page .manager-hero-copy > p {
    max-width: 570px;
    margin: 0;
    color: rgba(255,255,255,.88) !important;
    font-size: clamp(15px, 1.5vw, 19px);
    line-height: 1.7;
    text-shadow: 0 3px 14px rgba(0,0,0,.42);
}
body.dashboard-page .manager-hero-copy > .button { margin-top: 24px; }

body.dashboard-page .dashboard-news-overlay {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    width: min(100%, 360px);
    min-height: 276px;
    padding: 26px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.11));
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}

body.dashboard-page .dashboard-quick-links {
    position: relative;
    z-index: 4;
    display: grid;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    width: 100%;
    margin: 0;
}

body.dashboard-page .dashboard-quick-card {
    display: grid;
    min-width: 0;
    min-height: 110px;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 13px;
    padding: 17px 19px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 21px;
    color: #1b3828 !important;
    background: rgba(255,255,255,.93);
    box-shadow: 0 14px 36px rgba(0,0,0,.13);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body.dashboard-page .dashboard-quick-card:hover { transform: translateY(-4px); background: white; box-shadow: 0 22px 46px rgba(0,0,0,.19); }
body.dashboard-page .dashboard-quick-card:focus-visible { outline: 3px solid #e3ef8f; outline-offset: 4px; }
body.dashboard-page .dashboard-quick-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    color: #1e5a38;
    background: #eaf2d7;
    font-size: 18px;
    font-weight: 900;
}
body.dashboard-page .dashboard-quick-icon-gold { color: #7b5720; background: #fbefd5; }
body.dashboard-page .dashboard-quick-icon-blue { color: #256075; background: #e2f2f4; }
body.dashboard-page .dashboard-quick-icon-rose { color: #8b493c; background: #f9e7e1; }
body.dashboard-page .dashboard-quick-copy { display: grid; min-width: 0; gap: 3px; }
body.dashboard-page .dashboard-quick-copy small { overflow: hidden; color: #8a968d; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-overflow: ellipsis; white-space: nowrap; }
body.dashboard-page .dashboard-quick-copy strong { overflow: hidden; color: #1b3828; font-size: 15px; line-height: 1.2; text-overflow: ellipsis; }
body.dashboard-page .dashboard-quick-card > b { color: #1d5032; font-size: 22px; letter-spacing: -.04em; }
body.dashboard-page .dashboard-quick-arrow { color: #78906c; font-size: 17px; transition: transform .2s ease; }
body.dashboard-page .dashboard-quick-card:hover .dashboard-quick-arrow { transform: translate(2px,-2px); }
body.dashboard-page .dashboard-quick-links-manager .dashboard-quick-card { grid-template-columns: 42px minmax(0,1fr) auto 18px; }

body.dashboard-page .manager-hero { grid-template-columns: minmax(0,1.2fr) minmax(270px,.72fr); }
body.dashboard-page .manager-hero .dashboard-news-overlay { grid-column: 2; grid-row: 1; }
body.dashboard-page .manager-hero .dashboard-quick-links { grid-row: 2; }
body.dashboard-page .manager-content-grid {
    display: block;
    width: min(1200px, calc(100% - 64px));
    margin: 30px auto 70px;
}
body.dashboard-page .manager-attention-card { padding: 24px; border-radius: 23px; }
body.dashboard-page .manager-attention-card .section-heading { margin-bottom: 12px; }
body.dashboard-page .manager-attention-card .section-heading h2 { color: #1b3828; }

.quick-menu-account { justify-content: flex-end; }
.quick-menu-account > a { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 14px; }

@media (max-width: 1080px) and (min-width: 801px) {
    body.dashboard-page .employee-hero,
    body.dashboard-page .manager-hero { grid-template-columns: minmax(0,1fr) minmax(260px,.75fr); padding-right: 36px; padding-left: 36px; }
    body.dashboard-page .dashboard-news-overlay { width: 100%; }
}

@media (max-width: 800px) {
    body.dashboard-page .site-header {
        grid-template-columns: minmax(0,1fr) auto;
        padding: calc(10px + env(safe-area-inset-top)) 17px 9px;
        background: linear-gradient(180deg, rgba(8,22,14,.58), rgba(8,22,14,0));
    }
    body.dashboard-page .brand-copy { display: grid; }
    body.dashboard-page .brand-overline { color: rgba(255,255,255,.88); }
    body.dashboard-page .brand-name,
    body.dashboard-page .brand-subtitle { display: none; }
    body.dashboard-page .header-user-panel { grid-column: 2; }
    body.dashboard-page .employee-hero,
    body.dashboard-page .manager-hero {
        min-height: max(100svh, 700px);
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: minmax(0,1fr) auto auto;
        align-content: stretch;
        gap: 17px;
        padding: calc(91px + env(safe-area-inset-top)) 17px calc(102px + env(safe-area-inset-bottom));
    }
    body.dashboard-page .employee-hero-text,
    body.dashboard-page .manager-hero-copy { grid-column: 1; grid-row: 1; }
    body.dashboard-page .employee-hero h1,
    body.dashboard-page .manager-hero h1 { max-width: 12ch; margin: 13px 0 10px; font-size: clamp(36px, 10vw, 54px); }
    body.dashboard-page .employee-hero .hero-kicker,
    body.dashboard-page .manager-hero .hero-kicker { font-size: 8px; letter-spacing: .12em; }
    body.dashboard-page .hero-description,
    body.dashboard-page .manager-hero-copy > p { max-width: 440px; font-size: 12px; line-height: 1.55; }
    body.dashboard-page .manager-hero-copy > .button { min-height: 42px; margin-top: 15px; }
    body.dashboard-page .dashboard-news-overlay {
        grid-column: 1;
        grid-row: 2;
        justify-self: stretch;
        width: 100%;
        min-height: 0;
        gap: 9px;
        padding: 14px;
        border-radius: 18px;
    }
    body.dashboard-page .dashboard-news-overlay .news-mark { width: 34px; height: 34px; flex-basis: 34px; border-radius: 11px; font-size: 15px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy { gap: 2px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy .section-kicker { font-size: 7px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy > strong { display: -webkit-box; overflow: hidden; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-text { font-size: 10px; line-height: 1.45; -webkit-line-clamp: 2; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-open { padding: 7px 10px; font-size: 9px; }
    body.dashboard-page .dashboard-quick-links {
        grid-column: 1;
        grid-row: 3;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 7px;
        align-self: end;
    }
    body.dashboard-page .dashboard-quick-card,
    body.dashboard-page .dashboard-quick-links-manager .dashboard-quick-card {
        position: relative;
        display: flex;
        min-height: 96px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 7px;
        padding: 11px 9px;
        border-radius: 15px;
    }
    body.dashboard-page .dashboard-quick-icon { width: 29px; height: 29px; border-radius: 10px; font-size: 13px; }
    body.dashboard-page .dashboard-quick-copy { width: 100%; }
    body.dashboard-page .dashboard-quick-copy small { display: none; }
    body.dashboard-page .dashboard-quick-copy strong { display: block; font-size: 10px; line-height: 1.15; white-space: normal; }
    body.dashboard-page .dashboard-quick-card > b { font-size: 16px; }
    body.dashboard-page .dashboard-quick-arrow { position: absolute; top: 10px; right: 10px; font-size: 11px; }
    body.dashboard-page .manager-content-grid { width: calc(100% - 26px); margin: 19px auto calc(108px + env(safe-area-inset-bottom)); }
    body.dashboard-page .manager-attention-card { padding: 16px; border-radius: 18px; }
}

@media (max-width: 380px) {
    body.dashboard-page .employee-hero,
    body.dashboard-page .manager-hero { padding-right: 13px; padding-left: 13px; }
    body.dashboard-page .dashboard-quick-card,
    body.dashboard-page .dashboard-quick-links-manager .dashboard-quick-card { padding-right: 7px; padding-left: 7px; }
    body.dashboard-page .dashboard-quick-copy strong { font-size: 9px; }
}

/* Admin usability improvements: collapsible filters, compact audit lists, and clear actions. */
.analytics-filter-disclosure { margin: 0; }
.analytics-filter-trigger {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    padding: 5px 8px;
    border-radius: 13px;
    color: var(--ui-ink);
    cursor: pointer;
    list-style: none;
}
.analytics-filter-trigger::-webkit-details-marker { display: none; }
.analytics-filter-trigger::marker { content: ""; }
.analytics-filter-trigger:hover { background: #f4f7ef; }
.analytics-filter-trigger > svg { width: 21px; height: 21px; flex: 0 0 21px; fill: none; stroke: #245d3e; stroke-linecap: round; stroke-width: 1.9; }
.analytics-filter-trigger > span:nth-of-type(1) { font-size: 13px; font-weight: 800; }
.analytics-filter-trigger > small { color: var(--ui-muted); font-size: 11px; }
.analytics-filter-count { display: inline-grid; min-width: 20px; height: 20px; place-items: center; border-radius: 99px; color: white; background: #245d3e; font-size: 11px; }
.analytics-filter-chevron { margin-left: auto; color: #708276; font-size: 17px; transition: transform .18s ease; }
.analytics-filter-disclosure[open] .analytics-filter-chevron { transform: rotate(180deg); }
.analytics-filter-disclosure[open] .analytics-filter-trigger { margin-bottom: 10px; }
.analytics-mobile-list { display: none; }
.analytics-detail-button,
body.portal-app a.table-button.analytics-detail-button,
body.portal-app .case-review-link,
body.portal-app .case-review-submit {
    color: #fff !important;
    background: #1c7045 !important;
    border: 1px solid #1c7045 !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}
body.portal-app a.analytics-detail-button,
body.portal-app a.case-review-link { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 13px; border-radius: 11px; }
.analytics-detail-button:hover,
body.portal-app .case-review-link:hover,
body.portal-app .case-review-submit:hover { color: #fff !important; background: #155b38 !important; }
body.portal-app .users-list-card { scroll-margin-top: 24px; }
body.portal-app .users-compact-wrap {
    max-height: min(58vh, 560px);
    min-height: 180px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
body.portal-app .users-table-compact thead th { position: sticky; top: 0; z-index: 3; }

@media (max-width: 800px) {
    body.portal-app:not(.dashboard-page) .portal-header-inner { min-height: 70px; gap: 8px; }
    body.portal-app:not(.dashboard-page) .brand-link { flex: 0 1 44%; max-width: 44%; gap: 7px; }
    body.portal-app:not(.dashboard-page) .brand-copy { max-width: 90px; }
    body.portal-app .header-user-panel { flex: 0 1 56%; min-width: 0; max-width: 56%; justify-content: flex-end; }
    body.portal-app .header-user-panel .user-chip { width: 100%; min-width: 0; max-width: 100%; gap: 7px; padding-right: 2px; }
    body.portal-app .header-user-panel .user-chip-copy { display: grid !important; min-width: 0; max-width: none; flex: 1 1 auto; }
    body.portal-app .header-user-panel .user-chip-name {
        display: block !important;
        max-width: none;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        overflow-wrap: break-word;
        line-height: 1.15;
        -webkit-line-clamp: unset;
    }
    body.dashboard-page .portal-header-inner { display: contents !important; }
    body.dashboard-page .brand-link { max-width: 45vw; }
    body.dashboard-page .header-user-panel { max-width: 55vw; }
    body.dashboard-page .header-user-panel { width: 55vw; }
    body.dashboard-page .header-user-panel .user-chip { width: 100%; }
    body.portal-app .analytics-filter-trigger { min-height: 46px; padding: 6px 4px; }
    body.portal-app .analytics-filter-trigger > small { display: none; }
    body.portal-app .analytics-filter-disclosure .analytics-filter-grid { margin-top: 8px; }
    body.portal-app .analytics-page-compact .analytics-mobile-list { display: grid; max-height: 250px; gap: 7px; overflow-y: auto; padding-right: 2px; overscroll-behavior: contain; }
    body.portal-app .analytics-page-compact .analytics-desktop-only { display: none !important; }
    body.portal-app .analytics-compact-row { display: grid; gap: 8px; padding: 10px 11px; border: 1px solid var(--ui-line); border-radius: 13px; background: #fff; }
    body.portal-app .analytics-compact-row-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 8px; }
    body.portal-app .analytics-compact-row-head > strong { min-width: 0; color: var(--ui-ink); font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
    body.portal-app .analytics-compact-row-head > time { flex: 0 0 auto; color: var(--ui-muted); font-size: 9px; }
    body.portal-app .analytics-compact-row .badge { flex: 0 0 auto; padding: 3px 7px; font-size: 9px; }
    body.portal-app .analytics-compact-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 10px; padding-top: 7px; border-top: 1px solid #edf0ea; }
    body.portal-app .analytics-compact-meta > span { display: grid; min-width: 0; gap: 2px; }
    body.portal-app .analytics-compact-meta small { color: var(--ui-muted); font-size: 9px; }
    body.portal-app .analytics-compact-meta strong { color: var(--ui-ink-soft); font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; }
    body.portal-app .activity-compact-label { color: #385746; font-size: 10px; font-weight: 750; line-height: 1.35; }
    body.portal-app .activity-compact-row > p { margin: 0; color: var(--ui-muted); font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
    body.portal-app .users-compact-wrap { max-height: 52vh; min-height: 220px; }
    body.portal-app .users-list-card .table-header-row { position: sticky; top: 0; z-index: 4; background: white; }
    body.portal-app .users-table-compact { min-width: 790px; }
    body.portal-app .analytics-detail-button,
    body.portal-app a.table-button.analytics-detail-button { color: #fff !important; }
}

@media (max-width: 380px) {
    body.portal-app:not(.dashboard-page) .brand-copy { max-width: 76px; }
    body.portal-app .header-user-panel { flex-basis: 58%; max-width: 58%; }
    body.portal-app:not(.dashboard-page) .brand-link { flex-basis: 42%; max-width: 42%; }
    body.dashboard-page .brand-link { max-width: 42vw; }
    body.dashboard-page .header-user-panel { max-width: 58vw; }
}

/* Mobile navigation, quiet search controls, and a true one-screen employee home. */
.mobile-header-menu-toggle { display: none; }
.quick-menu-groups { display: grid; gap: 18px; }
.quick-menu-group h3 { margin: 0 0 8px; color: #718077; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.quick-menu-group .quick-menu-grid { max-height: none; overflow: visible; }
.page-header { min-height: 58px; align-items: center; }
.page-header h1 { margin-top: 0; }
.dashboard-news-card { grid-template-columns: 44px minmax(0, 1fr); cursor: default; }
.dashboard-news-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,
.dashboard-news-overlay:is(a[href],button,summary,label,[role="button"],[role="link"]):hover { transform: none; border-color: rgba(255,255,255,.32); box-shadow: 0 24px 64px rgba(0,0,0,.25); }
.dashboard-news-card:active { transform: none; }
.dashboard-news-open { display: none !important; }
body.dashboard-page .dashboard-news-overlay {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: 0;
    padding: 18px;
    cursor: default;
}

@media (max-width: 800px) {
    .page-header { min-height: 0; margin-bottom: 14px; }
    .portal-header-inner {
        display: grid !important;
        min-height: 70px;
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
        align-items: center;
        gap: 6px;
    }
    body.portal-app:not(.dashboard-page) .brand-link {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-width: 0;
        max-width: 100%;
        flex: none;
        gap: 7px;
    }
    .mobile-header-menu-toggle {
        display: grid;
        width: 38px;
        height: 38px;
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-content: center;
        gap: 4px;
        padding: 9px;
        border: 1px solid rgba(220,228,217,.92);
        border-radius: 13px;
        color: #315d40;
        background: rgba(255,255,255,.92);
        box-shadow: 0 5px 15px rgba(30,58,40,.08);
        cursor: pointer;
    }
    .mobile-header-menu-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
    .mobile-header-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
    .mobile-header-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .mobile-header-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }
    body.portal-app .header-user-panel {
        display: flex;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        grid-column: 3;
        grid-row: 1;
        justify-content: flex-end;
        flex: none;
    }
    body.portal-app .header-user-panel .user-chip { width: 100%; min-width: 0; max-width: 100%; gap: 6px; }
    body.portal-app .header-user-panel .user-chip-copy { min-width: 0; max-width: none; flex: 1 1 auto; }
    body.portal-app .header-user-panel .user-chip-name { font-size: 10px; }

    .mobile-bottom-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 5px; padding: 7px 10px calc(7px + env(safe-area-inset-bottom)); }
    .mobile-bottom-link { min-height: 56px; gap: 4px; border: 1px solid transparent; border-radius: 15px; font-size: 10px; }
    .mobile-bottom-link.is-active { border-color: #e2ebd4; color: #1c5738 !important; background: linear-gradient(145deg,#f0f6e4,#eaf5ef); box-shadow: 0 5px 14px rgba(41,83,51,.08); }
    .mobile-bottom-link.is-active .mobile-bottom-icon { color: #2f7046; }
    .quick-menu-panel { max-height: 88dvh; overflow-y: auto; padding-bottom: calc(18px + env(safe-area-inset-bottom)); overscroll-behavior: contain; }
    .quick-menu-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; max-height: none; overflow: visible; }
    .quick-menu-grid a { display: flex; min-height: 56px; justify-content: flex-start; gap: 9px; padding: 8px 10px; border-radius: 14px; font-size: 10px; text-align: left; }
    .quick-menu-icon { width: 30px; min-width: 30px; height: 30px; }
    .quick-menu-account { display: none; }
    .mobile-search-toggle { width: 38px; height: 38px; flex-basis: 38px; border-radius: 13px; }

    body.dashboard-page .site-header {
        grid-template-columns: minmax(0,1fr) 38px minmax(0,1fr);
        padding: calc(10px + env(safe-area-inset-top)) 17px 9px;
    }
    body.dashboard-page .portal-header-inner { display: contents !important; }
    body.dashboard-page .brand-link { grid-column: 1; grid-row: 1; width: auto; max-width: 100%; }
    body.dashboard-page .mobile-header-menu-toggle { grid-column: 2; grid-row: 1; }
    body.dashboard-page .header-user-panel { grid-column: 3; grid-row: 1; width: 100%; max-width: 100%; }
    body.dashboard-page .header-user-panel .user-chip { width: 100%; }
    body.dashboard-page .employee-hero .dashboard-news-overlay,
    body.dashboard-page .manager-hero .dashboard-news-overlay {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 9px;
    }
    body.dashboard-page .dashboard-news-overlay .news-mark { width: 34px; height: 34px; flex-basis: 34px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy { width: 100%; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy .section-kicker { font-size: 7px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-copy > strong { font-size: 14px; }
    body.dashboard-page .dashboard-news-overlay .dashboard-news-text { font-size: 10px; line-height: 1.45; -webkit-line-clamp: 2; }

    body.dashboard-employee-page {
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        overflow: hidden;
    }
    body.dashboard-employee-page .site-shell,
    body.dashboard-employee-page .page-wrapper,
    body.dashboard-employee-page .page-body,
    body.dashboard-employee-page .employee-dashboard { width: 100%; height: 100%; min-height: 0; }
    body.dashboard-employee-page .page-wrapper { padding: 0; }
    body.dashboard-employee-page .employee-hero {
        box-sizing: border-box;
        height: 100%;
        min-height: 0;
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: minmax(0,1fr) auto auto;
        gap: clamp(8px,1.8vh,14px);
        padding: calc(73px + env(safe-area-inset-top)) 17px calc(83px + env(safe-area-inset-bottom));
    }
    body.dashboard-employee-page .employee-hero-text { grid-column: 1; grid-row: 1; align-self: center; min-height: 0; }
    body.dashboard-employee-page .employee-hero .hero-kicker { font-size: 8px; letter-spacing: .1em; }
    body.dashboard-employee-page .employee-hero h1 { max-width: 13ch; margin: 9px 0; font-size: clamp(32px,9.2vw,46px); line-height: .99; }
    body.dashboard-employee-page .employee-hero .hero-description { display: -webkit-box; max-width: 390px; overflow: hidden; font-size: 11px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    body.dashboard-employee-page .employee-news-card { grid-column: 1; grid-row: 2; width: 100%; padding: 11px; border-radius: 15px; }
    body.dashboard-employee-page .employee-news-card .dashboard-news-copy { gap: 2px; }
    body.dashboard-employee-page .dashboard-quick-links { grid-column: 1; grid-row: 3; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
    body.dashboard-employee-page .dashboard-quick-card { min-height: 66px; grid-template-columns: minmax(0,1fr) auto; gap: 3px; padding: 8px 7px; border-radius: 13px; }
    body.dashboard-employee-page .dashboard-quick-icon { display: none; }
    body.dashboard-employee-page .dashboard-quick-copy { grid-column: 1 / -1; width: 100%; }
    body.dashboard-employee-page .dashboard-quick-copy small { display: none; }
    body.dashboard-employee-page .dashboard-quick-copy strong { font-size: 9px; line-height: 1.2; }
    body.dashboard-employee-page .dashboard-quick-card > b { font-size: 14px; }
    body.dashboard-employee-page .dashboard-quick-arrow { top: 7px; right: 7px; font-size: 10px; }
    body.dashboard-employee-page .hero-orb { display: none; }
}

@media (max-width: 380px) {
    body.portal-app:not(.dashboard-page) .brand-copy { max-width: 76px; }
    body.portal-app .header-user-panel { flex-basis: auto; max-width: 100%; }
    body.portal-app:not(.dashboard-page) .brand-link { flex-basis: auto; max-width: 100%; }
    body.dashboard-page .brand-link { max-width: 100%; }
    body.dashboard-page .header-user-panel { max-width: 100%; width: 100%; }
    body.dashboard-employee-page .employee-hero { padding-right: 13px; padding-left: 13px; }
    body.dashboard-employee-page .dashboard-quick-card { padding-right: 6px; padding-left: 6px; }
    body.dashboard-employee-page .dashboard-quick-copy strong { font-size: 8px; }
}

/* Keep mobile pages on the document scroller and avoid stacked sticky controls. */
@media (max-width: 800px) {
    body.portal-app:not(.dashboard-page) .site-header {
        position: relative;
        top: auto;
    }

    .story-section-nav {
        position: relative;
        top: auto;
        margin: 7px 0 14px;
        border-radius: 14px;
    }

    body.portal-app {
        overscroll-behavior-y: auto;
    }
}

/* Compact, complete hero panels for learning and field guide pages. */
.section-intro-panel {
    isolation: isolate;
    overflow: clip;
    border: 1px solid rgba(255,255,255,.13);
    color: #fff;
    background: linear-gradient(118deg, #153d2a 0%, #24633f 58%, #577a45 100%);
    box-shadow: 0 18px 42px rgba(24,61,41,.19);
}

.section-intro-panel::before {
    position: absolute;
    z-index: 0;
    top: -115px;
    right: -64px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(229,242,154,.24);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217,243,107,.18), rgba(217,243,107,0) 68%);
    content: "";
    pointer-events: none;
    animation: intro-banner-float 9s ease-in-out infinite alternate;
}

.section-intro-panel::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(100deg, rgba(8,32,19,.18), transparent 72%);
    content: "";
    pointer-events: none;
}

.section-intro-panel > div:first-child {
    z-index: 1;
    min-width: 0;
    flex: 1 1 0;
}

.section-intro-panel .section-kicker { color: rgba(235,244,213,.78); }
.section-intro-panel h2 { color: #fff; text-wrap: balance; }
.section-intro-panel h2 em { color: #e3f28a; }
.section-intro-panel p { color: rgba(255,255,255,.78) !important; }

.intro-panel-mark {
    z-index: 1;
    flex-shrink: 0;
    border-color: rgba(255,255,255,.28);
    color: #f0f5cf;
    background: rgba(255,255,255,.08);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.intro-panel-mark::before,
.intro-panel-mark::after { border-color: rgba(255,255,255,.22); }
.intro-panel-mark i { box-shadow: 0 0 18px rgba(255,209,102,.7); }

.learning-catalog-hero {
    position: relative;
    isolation: isolate;
}

.learning-catalog-hero::before {
    position: absolute;
    z-index: 0;
    top: -125px;
    right: -90px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(229,242,154,.26);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217,243,107,.17), rgba(217,243,107,0) 70%);
    content: "";
    pointer-events: none;
    animation: intro-banner-float 9s ease-in-out infinite alternate;
}

.learning-catalog-hero-copy { position: relative; z-index: 1; min-width: 0; }

@media (max-width: 800px) {
    .section-intro-panel {
        min-height: 0;
        align-items: flex-start;
        gap: 13px;
        padding: 21px 18px;
        border-radius: 20px;
    }

    .section-intro-panel h2 { font-size: clamp(23px, 6.8vw, 30px); line-height: 1.08; }
    .section-intro-panel p { font-size: 11px; line-height: 1.5; }

    .intro-panel-mark {
        width: clamp(52px, 16vw, 64px);
        height: clamp(52px, 16vw, 64px);
        flex-basis: clamp(52px, 16vw, 64px);
        margin: 8px 7px 0 0;
        font-size: 21px;
    }

    .intro-panel-mark::before { inset: 6px; }
    .intro-panel-mark::after { inset: -6px; }
    .intro-panel-mark i { top: 1px; right: 4px; width: 9px; height: 9px; }

    body.portal-app .learning-catalog-hero {
        overflow: clip;
        padding: 19px;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 21px;
        color: #fff;
        background: linear-gradient(120deg, #153d2a, #286443 66%, #648247);
        box-shadow: 0 17px 38px rgba(24,61,41,.18);
    }

    body.portal-app .learning-catalog-hero-with-media { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .learning-catalog-hero-copy { gap: 11px; }
    .learning-catalog-hero .eyebrow-label { color: #e1f18e; }
    .learning-catalog-hero .page-text { color: rgba(255,255,255,.84) !important; line-height: 1.55; }
    .learning-catalog-hero .learning-chip { border: 1px solid rgba(255,255,255,.22); color: #fff; background: rgba(255,255,255,.10); }
    .learning-catalog-hero .learning-chip-link { background: rgba(255,255,255,.16); }

    .learning-catalog-hero-media {
        position: relative;
        z-index: 1;
        min-height: 142px;
        height: 142px;
        padding: 10px;
        border: 1px solid rgba(255,255,255,.28);
        border-radius: 16px;
        background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(246,249,241,.78));
    }

    .learning-catalog-hero-image { max-height: 100%; }
}

@media (max-width: 560px) {
    .official-catalog-hero {
        display: grid;
        min-height: 0;
        grid-template-columns: minmax(0,1fr) minmax(92px,.48fr);
        align-items: center;
        gap: 5px;
        padding: 19px 15px;
        border-radius: 21px;
    }

    .official-catalog-hero-copy { min-width: 0; }
    .official-catalog-hero h2 { max-width: none; margin: 8px 0; font-size: clamp(22px,6.8vw,30px); line-height: 1.04; }
    .official-catalog-hero p { font-size: 10px; line-height: 1.48; }
    .official-catalog-hero-stats { gap: 5px; margin-top: 11px; }
    .official-catalog-hero-stats span { gap: 4px; padding: 5px 7px; font-size: 8px; }
    .official-catalog-hero-stats strong { font-size: 10px; }
    .official-catalog-hero-products {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        min-width: 0;
        min-height: 142px;
        opacity: 1;
        transform: none;
    }
    .official-catalog-hero-product { width: 58px; height: 104px; padding: 5px; border-radius: 14px; }
    .official-catalog-hero-product.hero-product-1 { transform: translateX(-23px) rotate(-10deg) scale(.74); }
    .official-catalog-hero-product.hero-product-2 { transform: translateY(-2px) scale(.84); }
    .official-catalog-hero-product.hero-product-3 { transform: translateX(23px) rotate(10deg) scale(.74); }
    .official-catalog-hero-orbit.orbit-one { width: 82px; height: 82px; }
    .official-catalog-hero-orbit.orbit-two { width: 98px; height: 98px; }
}

@media (max-width: 380px) {
    .section-intro-panel { padding: 18px 15px; gap: 10px; }
    .intro-panel-mark {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        margin-right: 5px;
        font-size: 19px;
    }
    .official-catalog-hero { grid-template-columns: minmax(0,1fr) 82px; padding-right: 12px; padding-left: 13px; }
    .official-catalog-hero h2 { font-size: 22px; }
    .official-catalog-hero-product { width: 50px; height: 90px; padding: 4px; }
    .official-catalog-hero-product.hero-product-1 { transform: translateX(-21px) rotate(-9deg) scale(.82); }
    .official-catalog-hero-product.hero-product-2 { transform: translateY(-2px) scale(.88); }
    .official-catalog-hero-product.hero-product-3 { transform: translateX(21px) rotate(9deg) scale(.82); }
    .official-catalog-hero-orbit.orbit-one { width: 70px; height: 70px; }
    .official-catalog-hero-orbit.orbit-two { width: 82px; height: 82px; }
}

@keyframes intro-banner-float {
    from { transform: translate3d(0,0,0) scale(.96); }
    to { transform: translate3d(-10px,12px,0) scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
    .section-intro-panel::before { animation: none; }
}

.attempt-answer-summary {
    margin: 12px 0 14px;
    padding: 12px 14px;
    border-left: 4px solid #4775ba;
    border-radius: 12px;
    color: #29466e;
    background: #eef4ff;
    font-size: 13px;
    line-height: 1.5;
}

.attempt-answer-summary strong { color: #203d65; }
.attempt-answer-summary.is-missing { border-left-color: #a4aea7; color: #66736a; background: #f3f5f2; }

.attempt-answer-option {
    display: grid;
    gap: 8px;
    margin: 8px 0;
    padding: 12px 14px;
    border: 1px solid #d9dfd6;
    border-radius: 12px;
    color: var(--ui-ink-soft);
    background: #fff;
    line-height: 1.5;
}

.attempt-answer-option.is-selected { border: 2px solid #547bb7; color: #233f67; background: #f0f5ff; }
.attempt-answer-option.is-correct { border-color: #91b77c; background: #f2f8eb; }
.attempt-answer-option.is-selected.is-correct { border: 2px solid #57845c; background: #edf7e8; }
.attempt-answer-option-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.attempt-answer-selected-tag { display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid #cbd9ed; border-radius: 999px; color: #294c7c; background: #e5efff; font-size: 10px; font-weight: 800; }


/* Scroll led movement across the portal: soft entrance, clear card focus, and mobile friendly controls. */
body.portal-motion-ready [data-reveal] {
    opacity: 0;
    transform: translate3d(0, 24px, 0) scale(.985);
    transition: opacity .64s cubic-bezier(.2,.72,.22,1), transform .64s cubic-bezier(.2,.72,.22,1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}
body.portal-motion-ready [data-reveal="fade"] { transform: none; }
body.portal-motion-ready [data-reveal="slide-left"] { transform: translate3d(20px, 0, 0) scale(.99); }
body.portal-motion-ready [data-reveal="slide-right"] { transform: translate3d(-20px, 0, 0) scale(.99); }
body.portal-motion-ready [data-reveal].is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    will-change: auto;
}
body.portal-motion-ready [data-reveal="fade"].is-revealed { transform: none; }

@media (prefers-reduced-motion: reduce) {
    body.portal-motion-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
}


/* AA-Portal interface refresh — additive layer, no backend or CMS changes.
   Default experience: readable, vertically flowing, touch-friendly. */
:root { --refresh-green:#146844; --refresh-deep:#103e32; --refresh-mint:#e6f7ed; --refresh-text:#17382d; --refresh-line:#e1eae1; --refresh-radius:20px; }
*,*::before,*::after {box-sizing:border-box}
html { max-width:100%; scroll-behavior:smooth; scroll-padding-top:90px }
body.portal-app { max-width:100%; min-height:100vh; overflow-x:clip; overflow-y:auto; background:#f6f9f5; color:var(--refresh-text) }
body.portal-app .site-shell, body.portal-app .page-wrapper, body.portal-app .page-body { min-width:0; max-width:100%; height:auto; min-height:0 }
body.portal-app main *, body.portal-app .site-header * { min-width:0 }
body.portal-app h1,body.portal-app h2,body.portal-app h3,body.portal-app h4,body.portal-app p {overflow-wrap:break-word}
body.portal-app img,body.portal-app video,body.portal-app iframe {max-width:100%;height:auto}
body.portal-app button,body.portal-app input,body.portal-app select,body.portal-app textarea,body.portal-app a { -webkit-tap-highlight-color:transparent }
body.portal-app a:focus-visible,body.portal-app button:focus-visible,body.portal-app summary:focus-visible,body.portal-app input:focus-visible,body.portal-app select:focus-visible {outline:3px solid #3a9c70;outline-offset:3px}
body.portal-app button,body.portal-app .button,body.portal-app .primary-button,body.portal-app .table-button {min-height:44px}
body.portal-app a {text-underline-offset:3px}
body.portal-app .page-header h1{font-size:clamp(1.42rem,3.3vw,2.15rem);letter-spacing:-.045em;line-height:1.13}
body.portal-app .page-header{margin-bottom:12px}
body.portal-app .page-body{padding-bottom:24px}
body.portal-app .surface-card,body.portal-app .card {border-radius:var(--refresh-radius)}
body.portal-app [hidden] {display:none!important}
/* Single navigation on mobile: role-driven four tabs, all secondary areas in compact menu. */
.quick-menu-logout{display:flex;align-items:center;justify-content:space-between;min-height:46px;margin:16px 3px 0;padding:8px 14px;border:1px solid var(--refresh-line);border-radius:12px;background:#fff;color:#7f4242;font-weight:700;text-decoration:none}
.mobile-bottom-nav{isolation:isolate}
.mobile-bottom-link{min-width:0;min-height:56px}
/* Dashboard: real CMS imagery, but text always legible without a large splash. */
body.dashboard-employee-page,body.dashboard-supervisor-page {height:auto!important;min-height:100vh!important;overflow-y:auto!important;overflow-x:clip!important}
body.dashboard-page .site-shell,body.dashboard-page .page-wrapper,body.dashboard-page .page-body,body.dashboard-page .employee-dashboard,body.dashboard-page .supervisor-dashboard{height:auto!important;min-height:0!important;overflow:visible}
body.dashboard-page .page-wrapper{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
body.dashboard-page .employee-hero,body.dashboard-page .manager-hero{width:100%;height:auto!important;min-height:0!important;grid-template-rows:auto!important;overflow:hidden;display:grid;align-content:start;gap:16px;background:#125f40}
body.dashboard-page .employee-hero-text,body.dashboard-page .manager-hero-copy{min-width:0;max-width:760px;z-index:2}
body.dashboard-page .employee-hero h1,body.dashboard-page .manager-hero h1{margin:0;font-size:clamp(1.6rem,4vw,2.9rem);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}
body.dashboard-page .hero-description,body.dashboard-page .manager-hero-copy p{max-width:48ch;margin:8px 0 0;line-height:1.5;font-size:clamp(.83rem,2.7vw,1rem)}
body.dashboard-page .dashboard-news-overlay{position:relative;inset:auto;width:100%;max-width:none;z-index:3;box-shadow:none;backdrop-filter:blur(10px)}
body.dashboard-page .dashboard-news-copy{min-width:0;overflow-wrap:anywhere}
body.dashboard-page .dashboard-news-copy .dashboard-news-text {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.dashboard-page .dashboard-quick-links{position:relative;inset:auto;margin:0;width:100%;z-index:3}
body.dashboard-page .dashboard-quick-card{min-width:0;align-items:center;cursor:pointer}
body.dashboard-page .dashboard-quick-copy strong{white-space:normal;overflow-wrap:anywhere}
body.dashboard-page .manager-content-grid{height:auto}
/* Search collapsed on every viewport until magnifier is pressed. */
body.portal-app .mobile-search-disclosure,body.portal-app .analytics-filter-disclosure{width:100%;max-width:100%}
body.portal-app .mobile-search-disclosure:not([open]) > :not(summary),body.portal-app .analytics-filter-disclosure:not([open]) > :not(summary){display:none!important}
body.portal-app .mobile-search-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:46px!important;height:46px!important;margin:0;cursor:pointer}
body.portal-app .mobile-search-disclosure:not([open]){display:flex;align-items:center;justify-content:flex-end}
body.portal-app .mobile-search-disclosure[open]{display:block}
body.portal-app .mobile-search-disclosure[open] summary{margin-bottom:12px}
body.portal-app .official-catalog-search{max-width:100%;min-width:0}
body.portal-app .official-category-pills{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:8px}
body.portal-app .official-category-pill{scroll-snap-align:start;flex-shrink:0}
body.portal-app .official-product-card{min-width:0;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
body.portal-app .official-product-card:hover{transform:translateY(-4px)}
body.portal-app .official-product-card .official-product-image-wrap{background:radial-gradient(circle at 50% 60%,#fff 15%,#e9f6e9 100%)}
body.portal-app .official-product-card .official-product-image-wrap img{object-fit:contain}
body.portal-app .knowledge-grid,.learning-category-grid,.official-product-grid{min-width:0}
body.portal-app .knowledge-card,body.portal-app .learning-category-card{min-width:0;transition:transform .18s ease,box-shadow .18s ease}
body.portal-app .knowledge-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Single accordion visit flow with page scrolling only. */
.visit-journey{max-width:850px;margin:0 auto;display:grid;gap:18px}
.journey-heading{padding:clamp(18px,4vw,30px);border-radius:23px;background:linear-gradient(120deg,#114b3b,#1f7e54);color:white;box-shadow:0 15px 35px rgba(18,73,46,.15)}
.journey-heading .section-kicker{color:#badfc9}
.journey-heading h2{font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.15;margin:7px 0 0;color:white}
.intro-more summary{cursor:pointer;list-style:none;font-size:12px;font-weight:800;min-height:38px;display:flex;align-items:center;gap:6px}
.intro-more summary::after{content:'⌄'}
.intro-more[open] summary::after{transform:rotate(180deg)}
.intro-more p{margin:4px 0 10px;font-size:13px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.journey-progress{display:grid;gap:9px;padding:0 3px;font-size:.8rem;font-weight:800;color:var(--refresh-green)}
.journey-progress-track{height:7px;border-radius:20px;background:#dce9dd;overflow:hidden}
.journey-progress-track span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#27985a,#b1da49);transition:width .35s ease}
.journey-steps{display:grid;gap:10px}
.journey-step{min-width:0;overflow:hidden;border:1px solid var(--refresh-line);border-radius:18px;background:white;box-shadow:0 8px 25px rgba(18,61,46,.045)}
.journey-step[open]{border-color:#b1d6be;box-shadow:0 14px 32px rgba(18,87,46,.075)}
.journey-step > summary{display:flex;min-height:76px;align-items:center;gap:13px;padding:13px 18px;list-style:none;cursor:pointer}
.journey-step > summary::-webkit-details-marker{display:none}
.journey-step > summary::marker{content:''}
.journey-number{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#e9f7ed;color:#166e46;font-size:.88rem;font-weight:900}
.journey-step[open] .journey-number{background:#19794b;color:white}
.journey-step-name{display:grid;gap:3px;flex:1;min-width:0}
.journey-step-name small{color:#789181;font-size:.69rem}
.journey-step-name strong{font-size:clamp(.88rem,2.7vw,1.04rem);overflow-wrap:anywhere;line-height:1.34}
.journey-toggle{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:#f1f6ef;font-size:1.25rem}
.journey-step[open] .journey-toggle{transform:rotate(45deg)}
.journey-panel{display:grid;gap:16px;min-width:0;padding:0 20px 22px 76px;line-height:1.67;font-size:.94rem;color:#385947}
.journey-panel p{margin:0;white-space:pre-line}
.journey-panel .journey-copy{overflow-wrap:anywhere;white-space:normal}
.journey-image{display:block;max-height:400px!important;width:100%;object-fit:contain;border-radius:14px;background:#f5f8f5}
.journey-next{justify-self:start;min-width:172px}
/* Manager-first analytics without nested vertical scrollers. */
.team-anchor-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 13px;scrollbar-width:none;overscroll-behavior-x:contain}
.team-anchor-nav a{display:inline-flex;flex:none;align-items:center;min-height:42px;padding:9px 13px;border-radius:99px;background:#e8f4ea;border:1px solid #d2e7d8;color:#165638;text-decoration:none;font-size:.82rem;font-weight:800}
.metric-deep-link{display:block;color:inherit!important;text-decoration:none!important}
.metric-deep-link:hover{border-color:#a4cdb1;transform:translateY(-2px)}
.team-roster{scroll-margin-top:90px}
.team-roster-list{display:grid;gap:7px}
.team-roster-person{display:grid;grid-template-columns:40px minmax(0,1fr) 74px 16px;align-items:center;gap:11px;padding:10px 11px;border:1px solid #e4ece4;border-radius:14px;background:#fff;color:var(--refresh-text);text-decoration:none!important}
.team-roster-person:hover{background:#f1f9f2}
.team-roster-person .team-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#e7f4e8;color:#14663f}
.team-roster-person-name{display:grid;gap:3px;min-width:0}
.team-roster-person-name strong{font-size:.87rem;overflow-wrap:anywhere}
.team-roster-person-name small{font-size:.72rem;color:#7b8f80;overflow-wrap:anywhere}
.team-roster-result{display:grid;text-align:right;gap:2px;font-weight:900;color:#147248}
.team-roster-result small{font-size:.61rem;font-weight:750;color:#598065}
.team-roster-person.needs-help .team-roster-result,.team-roster-person.needs-help .team-roster-result small{color:#a74d49}
.analytics-additional{margin-top:16px;border:1px solid var(--refresh-line);border-radius:18px;background:#fff;padding:10px 14px}
.analytics-additional > summary{display:flex;min-height:46px;align-items:center;cursor:pointer;font-weight:850;color:#3b604c;list-style:none}
.analytics-additional > summary::after{content:'+';margin-left:auto;font-size:1.2rem}
.analytics-additional[open] > summary::after{content:'−'}
.analytics-page-compact .analytics-scroll,.analytics-page-compact .analytics-mobile-list,body.portal-app .users-compact-wrap{max-height:none!important;min-height:0!important;overflow-y:visible!important;overscroll-behavior:initial!important}
.analytics-page-compact .table-wrap,body.portal-app .users-compact-wrap{max-width:100%;overflow-x:auto!important}
.analytics-page-compact .analytics-scroll,.users-compact-wrap{scrollbar-gutter:auto!important}
.analytics-page-compact .analytics-sticky-table thead th,body.portal-app .users-table-compact thead th{position:static!important}
.users-create-panel > summary,.users-filter-panel > summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;cursor:pointer;font-size:1rem;font-weight:850;color:#215f42;list-style:none}
.users-create-panel > summary::-webkit-details-marker,.users-filter-panel > summary::-webkit-details-marker{display:none}
.users-create-panel[open] > summary,.users-filter-panel[open] > summary{margin-bottom:14px}
.admin-grid:has(> .users-create-panel) {align-items:start}
/* Answers clearly marked next to matching options. */
.attempt-answer-option{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:48px;padding:10px 12px;border:1px solid #e7ece5;border-radius:12px;margin-bottom:7px}
.attempt-answer-option .attempt-answer-option-badges{order:2;display:flex;gap:5px;flex-wrap:wrap}
.attempt-answer-option.is-selected{border-color:#67ac80;background:#eef8f1}
.attempt-answer-option.is-correct{border-color:#b5dabb}
.test-advanced-meta{opacity:.75}
.modern-test-stack .card{padding:clamp(16px,3vw,26px);scroll-margin-top:86px}
.modern-test-stack .option-row{min-height:48px;align-items:center;border-radius:12px}
.test-clock{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border:1px solid #bedac7;border-radius:16px;background:#e8f6ec;box-shadow:0 10px 25px #163e3321;color:#1b6240}
.test-clock strong{font-size:clamp(1.3rem,4vw,1.7rem);font-variant-numeric:tabular-nums}
.test-clock span{font-size:.78rem;font-weight:750}
.test-clock.is-urgent{background:#fff0e6;border-color:#eab39a;color:#b64c30}
/* Desktop refinement */
@media (min-width:801px){
 body.dashboard-page .employee-hero,body.dashboard-page .manager-hero{min-height:420px!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto!important;align-items:center;padding:clamp(26px,4vw,58px)!important}
 body.dashboard-page .dashboard-news-overlay{grid-column:2;grid-row:1}
 body.dashboard-page .dashboard-quick-links{grid-column:1/-1;grid-row:2}
 body.dashboard-page .employee-hero-text,body.dashboard-page .manager-hero-copy{grid-column:1;grid-row:1}
 body.portal-app .knowledge-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}
}
@media (max-width:800px){
 body.portal-app .page-wrapper{min-width:0}
 body.portal-app .page-body{padding-bottom:calc(85px + env(safe-area-inset-bottom))}
 body.portal-app .portal-header-inner,body.dashboard-page .site-header{display:grid!important;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;gap:6px!important;padding-inline:12px!important}
 body.portal-app .brand-link,body.dashboard-page .brand-link{max-width:100%!important;min-width:0!important;grid-column:1;overflow:hidden}
 body.portal-app .header-user-panel,body.dashboard-page .header-user-panel{grid-column:3;min-width:0!important;max-width:100%!important;width:100%!important;flex:1 1 auto!important}
 body.portal-app .header-user-panel .user-chip{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden}
 body.portal-app .header-user-panel .user-chip-name{font-size:10px!important;line-height:1.15!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;overflow-wrap:anywhere!important;white-space:normal!important}
 body.portal-app .header-user-panel .user-chip-role{font-size:9px!important;overflow-wrap:anywhere!important;white-space:normal!important}
 body.portal-app .mobile-header-menu-toggle{width:44px;height:44px;min-width:44px;grid-column:2;justify-self:center}
 body.portal-app .brand-copy .brand-subtitle{display:none}
 body.portal-app .quick-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.dashboard-page .employee-hero,body.dashboard-page .manager-hero{margin:0 12px;width:calc(100% - 24px);min-height:0!important;display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:14px;padding:22px 16px!important;border-radius:22px!important}
 body.dashboard-page .employee-hero-text,body.dashboard-page .manager-hero-copy,body.dashboard-page .dashboard-news-overlay,body.dashboard-page .dashboard-quick-links{position:relative;inset:auto;grid-column:1;max-width:100%;margin:0}
 body.dashboard-page .employee-hero-text,body.dashboard-page .manager-hero-copy{grid-row:1}
 body.dashboard-page .dashboard-news-overlay{grid-row:2;padding:12px!important;border-radius:16px}
 body.dashboard-page .dashboard-quick-links{grid-row:3;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px}
 body.dashboard-page .dashboard-quick-card,body.dashboard-page .dashboard-quick-links-manager .dashboard-quick-card{width:100%;min-height:58px!important;display:flex;gap:9px;padding:10px 13px!important;border-radius:15px}
 body.dashboard-page .dashboard-quick-copy strong{font-size:13px!important}
 body.dashboard-page .dashboard-news-copy .dashboard-news-text{font-size:12px!important;line-height:1.4!important}
 body.dashboard-page .manager-content-grid{width:calc(100% - 24px);margin:16px 12px 110px}
 body.portal-app .official-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body.portal-app .official-product-card .official-product-copy{padding:12px}
 body.portal-app .official-product-card .official-product-copy p{display:none}
 body.portal-app .official-product-card .official-product-copy h3{font-size:13px;line-height:1.3}
 body.portal-app .official-catalog-hero{min-height:0;overflow:hidden}
 body.portal-app .official-catalog-hero-products{pointer-events:none}
 body.portal-app .knowledge-grid,.learning-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body.portal-app .knowledge-card{padding:15px}
 body.portal-app .knowledge-card h3{font-size:.88rem}
 body.portal-app .knowledge-card p{font-size:.76rem}
 body.portal-app .assessment-list{gap:10px}
 body.portal-app .assessment-card{padding:15px}
 body.portal-app .assessment-intro p{display:none}
 .journey-panel{padding:0 16px 20px}
 .team-roster-person{grid-template-columns:34px minmax(0,1fr) 66px 12px;gap:7px;padding:10px 8px}
 .team-roster-person .team-avatar{width:34px;height:34px}
 .team-roster-result{font-size:.84rem}
 .analytics-page-compact .analytics-mobile-list{max-height:none!important;overflow-y:visible!important}
 .analytics-page-compact .analytics-filter-grid{grid-template-columns:minmax(0,1fr)}
 .users-list-card .table-header-row{position:static!important}
}
@media (max-width:360px){
 body.portal-app .brand-copy .brand-name{font-size:10px}
 body.portal-app .brand-copy .brand-overline{font-size:8px}
 body.portal-app .brand-link{gap:5px}
 body.portal-app .brand-logo-frame{width:30px;height:30px;flex:0 0 30px}
 body.portal-app .user-chip-icon{display:none}
 body.portal-app .header-user-panel .user-chip{padding:4px 2px}
 body.portal-app .official-product-grid,.learning-category-grid{grid-template-columns:minmax(0,1fr)}
 .test-clock{gap:7px;padding:9px}
 .test-clock span{font-size:10px}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 body.portal-app *,body.portal-app *::before,body.portal-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 body.portal-app [data-reveal]{opacity:1!important;transform:none!important}
}
/* Preserve long real names instead of ellipsis, even on a 320px device. */
@media (max-width:800px){
 body.portal-app .portal-header-inner,body.dashboard-page .site-header{min-height:62px;height:auto}
 body.portal-app .header-user-panel .user-chip-name{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere!important}
 body.portal-app .header-user-panel .user-chip-copy{min-width:0!important}
 body.portal-app .header-user-panel .user-chip-role{line-height:1.25}
 body.portal-app .site-header{height:auto;min-height:62px}
}
/* Dashboard shell: undo inherited absolute/full-screen header layouts. */
body.dashboard-page .site-header {position:sticky!important;top:0!important;display:block!important;height:auto!important;min-height:0!important;max-width:100%!important;margin:0!important;padding:0 12px!important;background:rgba(247,250,247,.97)!important;backdrop-filter:blur(14px);z-index:70}
body.dashboard-page .site-header .portal-header-inner{display:grid!important;width:100%!important;min-height:64px!important;height:auto!important;max-width:100%!important;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;gap:6px!important;padding:8px 0!important;align-items:center!important}
body.dashboard-page .site-header .brand-link{grid-column:1;grid-row:1;justify-self:start}
body.dashboard-page .site-header .header-user-panel{grid-column:3;grid-row:1;justify-content:flex-end;align-self:center;width:100%!important}
body.dashboard-page .site-header .mobile-header-menu-toggle{grid-column:2;grid-row:1;align-self:center}
body.portal-app .journey-heading h2{color:#fff!important}
.team-roster-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.team-roster-filters button{min-height:40px!important;padding:8px 12px;border:1px solid #d8e8dc;border-radius:99px;color:#286545;background:#f6faf5;cursor:pointer;font-size:.82rem;font-weight:800}
.team-roster-filters button[aria-pressed="true"]{color:#fff;background:#206b43;border-color:#206b43}
@media (min-width:801px){body.dashboard-page .site-header .portal-header-inner{display:flex!important;padding:12px 0!important}}
body.dashboard-page .site-header .user-chip-name,body.dashboard-page .site-header .user-chip-role,body.dashboard-page .site-header .brand-name{color:#193d2d!important;text-shadow:none!important}
body.dashboard-page .site-header .brand-overline,body.dashboard-page .site-header .brand-subtitle{color:#728979!important}
@media(max-width:800px){
 body.dashboard-page .manager-hero{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important}
 body.dashboard-page .manager-hero .manager-hero-copy{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:100%!important}
 body.dashboard-page .manager-hero .manager-news-card{grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:100%!important}
 body.dashboard-page .manager-hero .dashboard-quick-links-manager{grid-column:1!important;grid-row:3!important;width:100%!important;min-width:0!important;max-width:100%!important}
 body.dashboard-page .manager-hero .dashboard-quick-links-manager .dashboard-quick-card{width:100%!important;min-width:0!important}
 body.dashboard-page .manager-hero-copy h1{max-width:100%!important;overflow-wrap:break-word!important}
}
.result-answer-row{display:flex;gap:9px;align-items:center;justify-content:space-between;min-height:52px;padding:10px 12px;border-radius:12px;border:1px solid #e4ece3}
.result-answer-row.is-selected{background:#eff8f1;border-color:#8fc8a0}
.result-answer-row.is-correct{border-color:#b6dabf}
.result-answer-row .badge-row{display:flex;flex-wrap:wrap;justify-content:flex-end}

/* AA-Portal 2026: a small, reversible presentation layer over the existing templates. */
:root {
  --next-ink:#15372d; --next-deep:#104832; --next-green:#18744d;
  --next-lime:#daf17d; --next-mint:#e0f3e8; --next-peach:#ffe3d1;
  --next-line:#dce9dd; --next-bg:#f5f8f4; --next-shadow:0 14px 35px rgba(17,62,43,.075);
}
html {scroll-padding-top:86px}
body.portal-app {background:radial-gradient(circle at 95% 4%,#e3f4e8,transparent 27rem),var(--next-bg);color:var(--next-ink)}
body.portal-app .site-shell,body.portal-app .page-wrapper,body.portal-app .page-body {min-width:0}
body.portal-app .page-wrapper {padding-top:18px}
body.portal-app .page-header {min-height:0;margin:6px 0 18px}
body.portal-app .page-header h1 {font-size:clamp(1.6rem,3vw,2.5rem)}
body.portal-app .surface-card,body.portal-app .card {border:1px solid var(--next-line);box-shadow:var(--next-shadow)}
body.portal-app .button-primary,body.portal-app .primary-button {background:var(--next-lime);color:var(--next-ink)!important;box-shadow:none}
body.portal-app .button-primary:hover,body.portal-app .primary-button:hover {background:#cae96b}
body.portal-app button,body.portal-app a,body.portal-app summary {touch-action:manipulation}
body.portal-app img {object-position:center}
body.portal-app .section-kicker,body.portal-app .eyebrow-label {letter-spacing:.11em;font-weight:850}
body.portal-app .account-menu-name {display:block;padding:3px 12px 10px;font-size:.92rem;line-height:1.3;overflow-wrap:anywhere}
body.portal-app .account-menu-label {padding-top:10px}
body.portal-app .dropdown-menu-right {max-width:min(310px,calc(100vw - 24px))}
body.portal-app .page-text {overflow-wrap:anywhere}
body.portal-app [hidden] {display:none!important}
/* Every card remains visible while script loads, if motion is reduced, and if an observer fails. */
body.portal-motion-ready [data-reveal] {opacity:1;transform:none;transition:none;will-change:auto}
body.portal-motion-ready [data-reveal].is-revealed {animation:next-arrive .5s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:var(--reveal-delay,0ms)}
@keyframes next-arrive {from{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body.portal-app .mobile-search-disclosure:not([open]) > :not(summary),
body.portal-app .analytics-filter-disclosure:not([open]) > :not(summary){display:none!important}
body.portal-app .mobile-search-toggle {border:1px solid var(--next-line);border-radius:14px;background:white}
body.portal-app .mobile-search-toggle:hover {background:var(--next-mint)}
body.portal-app .intro-more summary {cursor:pointer;min-height:40px;display:inline-flex;align-items:center}
body.portal-app .intro-more[open] {margin-top:10px}
body.portal-app .intro-more .page-text {line-height:1.65}
/* Compact, photo-safe home. CMS slides are shown in full, never used as a dark text background. */
body.dashboard-page .site-shell,body.dashboard-page .page-wrapper,body.dashboard-page .page-body {overflow:visible}
body.dashboard-page .page-wrapper {padding-top:18px;padding-bottom:35px}
.next-home {display:grid;gap:18px;width:min(100%,1280px);margin-inline:auto}
.next-home-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);min-height:340px;overflow:hidden;border-radius:28px;background:linear-gradient(130deg,#0f5238,#18784f 70%,#277c55);box-shadow:0 22px 56px rgba(19,80,53,.18)}
.next-home-copy {align-self:center;min-width:0;padding:clamp(26px,4vw,64px);color:white}
.next-eyebrow {display:block;color:inherit;opacity:.74;font-size:10px;letter-spacing:.13em;font-weight:850}
.next-home-copy h1 {max-width:13ch;margin:15px 0 12px;color:white!important;font-size:clamp(2rem,5vw,4.4rem);letter-spacing:-.065em;line-height:1.02;overflow-wrap:anywhere}
.next-home-copy p {max-width:37ch;margin:0 0 25px;color:#e1f3e7!important;font-size:clamp(.91rem,1.4vw,1.1rem);line-height:1.5}
.next-hero-action {display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:10px 18px;border-radius:14px;background:var(--next-lime);color:#163b29!important;font-weight:800}
.next-hero-action:hover {background:white;color:#174b35!important}
.next-home-gallery {position:relative;min-height:300px;margin:20px;overflow:hidden;border-radius:22px;background:linear-gradient(140deg,#ebf7e5,#c9e6d9);box-shadow:inset 0 0 0 1px #ffffff44}
.next-home-graphic {align-self:center;justify-self:center;font-size:clamp(5rem,12vw,11rem);color:#dff59a;font-weight:900;letter-spacing:-.12em;line-height:1}
.next-home-graphic span {font-size:.55em}
.next-home-news {display:flex;align-items:flex-start;gap:15px;padding:16px 20px;border:1px solid var(--next-line);border-radius:20px;background:#fff;box-shadow:var(--next-shadow)}
.next-news-icon {display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#e3f3c1;color:#22573e;font-size:20px}
.next-home-news > div {min-width:0}
.next-home-news .next-eyebrow {color:#547e61;font-size:9px}
.next-home-news strong {display:block;margin:2px 0;color:var(--next-ink);line-height:1.25}
.next-home-news p {margin:3px 0 0;color:#4c6659!important;white-space:pre-line;line-height:1.45}
.next-home-section {min-width:0}
.next-section-heading {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 12px}
.next-section-heading h2 {margin:0;font-size:clamp(1.15rem,2vw,1.55rem)}
.next-section-heading a {font-size:.86rem;font-weight:800}
.next-shortcut-grid,.next-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.next-shortcut {display:flex;align-items:center;gap:14px;min-height:108px;padding:18px;border-radius:20px;color:var(--next-ink)!important;box-shadow:var(--next-shadow);transition:transform .2s ease,box-shadow .2s ease}
.next-shortcut:hover,.next-metric:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {transform:translateY(-3px);box-shadow:0 18px 38px #174f3c24}
.next-shortcut-mint {background:#d9f2e5}.next-shortcut-lime {background:#eaf4b5}.next-shortcut-peach {background:#ffe2d3}
.next-shortcut-mark {display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:15px;background:#ffffff9c;font-size:22px}
.next-shortcut strong {font-size:clamp(.97rem,1.6vw,1.15rem);line-height:1.16}
.next-shortcut-arrow {margin-left:auto;align-self:flex-start;font-weight:900}
.next-metric {display:grid;gap:5px;min-height:130px;padding:18px 21px;border:1px solid var(--next-line);border-radius:20px;background:white;color:var(--next-ink)!important;box-shadow:var(--next-shadow);transition:transform .2s ease,box-shadow .2s ease}
.next-metric-good {background:#e7f5d9}.next-metric-alert {background:#fff1e6}
.next-metric span {font-size:.85rem;font-weight:700}.next-metric strong {font-size:2.15rem;line-height:1;letter-spacing:-.05em}.next-metric small {font-weight:750;color:#327456}
.next-review {padding:20px;border:1px solid var(--next-line);border-radius:21px;background:white}
.next-review-list {display:grid;gap:5px}.next-review-person {display:grid;grid-template-columns:40px minmax(0,1fr) auto 16px;align-items:center;gap:12px;min-height:65px;padding:7px 9px;border-radius:14px;color:var(--next-ink)!important}
.next-review-person:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {background:#f2f8f2}.next-review-person > span:nth-child(2) {min-width:0;display:grid;gap:2px}.next-review-person strong,.next-review-person small {overflow-wrap:anywhere}.next-review-person small {color:#698477}.next-avatar {display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#e4f1d8;font-weight:900}.next-review-person b {color:#a05240}.next-review-person i {font-style:normal}.next-calm-state {padding:14px;color:#2d754c}
/* Short intros with an actual page heading rather than two competing titles. */
body.portal-app .section-intro-panel {min-height:160px;padding:clamp(22px,4vw,38px);background:linear-gradient(115deg,#0f573c,#238859 78%,#51a578)}
body.portal-app .section-intro-panel h1{margin:8px 0;color:white;font-size:clamp(1.7rem,4vw,3.3rem);letter-spacing:-.05em;line-height:1.05}
body.portal-app .section-intro-panel .section-kicker {color:#ceefb5}
body.portal-app .section-intro-panel p {color:#e5f4e9!important;font-size:.9rem}
body.portal-app .section-intro-panel .intro-more summary {color:#eaf5cb}
body.portal-app .section-intro-panel .intro-more p {margin:3px 0 10px}
body.portal-app .learning-page,body.portal-app .assessment-page,body.portal-app .case-library-page {display:grid;gap:16px}
body.portal-app .knowledge-grid {gap:12px}
body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card {border-radius:20px;box-shadow:var(--next-shadow)}
body.portal-app .knowledge-card h3,body.portal-app .assessment-card h2 {line-height:1.2}
body.portal-app .knowledge-card p {min-height:0}
body.portal-app .knowledge-card-action {color:var(--next-green)}
body.portal-app .assessment-card-footer {gap:12px;flex-wrap:wrap}
body.portal-app .assessment-card-footer .button {min-width:100px}
/* Both catalogs have the same two modes; the filter stays closed until tapped. */
.next-catalog-modes {display:inline-flex;max-width:100%;gap:3px;padding:4px;border:1px solid var(--next-line);border-radius:15px;background:#fff}
.next-catalog-modes a {display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 13px;border-radius:11px;color:#4d695b!important;font-size:.85rem;font-weight:750;text-align:center}
.next-catalog-modes a[aria-current="page"] {background:var(--next-deep);color:white!important}
body.portal-app .official-catalog-hero {min-height:175px;background:linear-gradient(125deg,#104e39,#1e7954);color:white}
body.portal-app .official-catalog-hero h1,body.portal-app .learning-catalog-hero h1 {margin:7px 0;color:inherit;font-size:clamp(1.55rem,3.4vw,2.65rem);line-height:1.1}
body.portal-app .official-catalog-hero .eyebrow-label {color:#d7edb3}
body.portal-app .official-catalog-hero p {color:#e0f0e4!important;max-width:35ch}
body.portal-app .official-catalog-hero-stats {display:flex;gap:8px}
body.portal-app .official-catalog-hero-products {opacity:.96}
body.portal-app .official-catalog-page .official-mobile-search {align-self:end;justify-self:end;width:auto;max-width:100%}
body.portal-app .official-catalog-page .official-mobile-search[open] {width:100%}
body.portal-app .official-product-grid {gap:12px}
body.portal-app .official-product-card {border:1px solid var(--next-line);border-radius:19px;box-shadow:var(--next-shadow)}
body.portal-app .official-product-card img {object-fit:contain}
body.portal-app .official-product-copy p {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.portal-app .official-category-pills {scrollbar-width:none}
body.portal-app .learning-catalog-hero {background:linear-gradient(120deg,#144e3b,#277b54);color:white}
body.portal-app .learning-catalog-hero .eyebrow-label {color:#cdebba}
body.portal-app .learning-catalog-hero .page-text {color:#e3f3e6}
body.portal-app .learning-category-grid {gap:12px}
body.portal-app .learning-category-card {overflow:hidden;border-radius:20px}
body.portal-app .learning-category-card p,body.portal-app .learning-brand-row p {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.portal-app .learning-brand-row {min-width:0}
body.portal-app .learning-category-cover-placeholder,body.portal-app .learning-brand-placeholder {background:linear-gradient(135deg,#d9f0db,#ecf3b9);color:#2a6d4b}
body.portal-app .official-product-detail,body.portal-app .product-detail-clean-card {border:1px solid var(--next-line);box-shadow:var(--next-shadow)}
body.portal-app .official-product-detail-image img,body.portal-app .product-detail-clean-image {object-fit:contain}
body.portal-app .visit-journey {gap:12px}
body.portal-app .journey-step {border-radius:18px;box-shadow:var(--next-shadow)}
body.portal-app .journey-step > summary {touch-action:manipulation}
body.portal-app .journey-panel {padding-left:20px}
body.portal-app .journey-image {object-fit:contain}
body.portal-app .journey-progress {position:relative;top:auto}
/* Manager data: long tables grow with the page; compact filters remain discoverable. */
body.portal-app .analytics-page-compact {display:grid;gap:13px}
body.portal-app .analytics-page-compact .card {margin:0;padding:clamp(14px,2vw,22px)}
body.portal-app .analytics-page-compact .analytics-kpi-grid {gap:10px;margin:0}
body.portal-app .analytics-page-compact .compact-stat-card {min-height:0;padding:14px}
body.portal-app .analytics-page-compact .stat-value {font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.15}
body.portal-app .analytics-page-compact .section-header-row {gap:10px;flex-wrap:wrap}
body.portal-app .analytics-page-compact .section-header-row h2 {margin:0;font-size:1.12rem}
body.portal-app .analytics-page-compact .analytics-toolbar-card {padding:8px 13px}
body.portal-app .analytics-page-compact .analytics-scroll,body.portal-app .analytics-page-compact .analytics-mobile-list,
body.portal-app .users-compact-wrap {max-height:none!important;overflow-y:visible!important}
body.portal-app .analytics-page-compact .table-wrap {max-width:100%;overflow-x:auto}
body.portal-app .analytics-page-compact .team-roster-person {min-height:60px}
body.portal-app .analytics-page-compact .analytics-additional {margin:0}
body.portal-app .analytics-page-compact .analytics-additional > summary {min-height:48px}
body.portal-app .analytics-filter-trigger {min-height:44px}
body.portal-app .analytics-filter-trigger small {display:none}
body.portal-app .users-list-card .users-table {width:100%}
body.portal-app .users-create-panel,body.portal-app .users-filter-panel {align-self:start}
body.portal-app .users-table-compact .inline-details-form {max-width:min(420px,90vw)}
body.portal-app .users-table-compact .compact-actions-wrap {flex-wrap:wrap}
body.portal-app .attempt-answer-option,.result-answer-row {border-radius:14px}
body.portal-app .attempt-answer-option.is-selected {background:#eaf1ff;border-color:#8da9d7}
body.portal-app .attempt-answer-option.is-correct {border-color:#9bcfa3}
body.portal-app .attempt-answer-option.is-selected.is-correct {background:#e7f5e8;border-color:#68ad78}
/* Touch layouts: no page-wide horizontal scrolling and no nested vertical lists. */
@media(max-width:800px){
  html {scroll-padding-top:76px}
  body.portal-app,body.dashboard-page {overflow-x:clip!important;overflow-y:auto!important}
  body.portal-app .site-shell {width:100%;max-width:100%;overflow:visible}
  body.portal-app .page-wrapper {width:100%;padding:14px 13px calc(92px + env(safe-area-inset-bottom))!important}
  body.portal-app .page-body {padding-bottom:0!important}
  body.portal-app .site-header,body.dashboard-page .site-header {width:100%;max-width:100%;margin:0!important;padding:0 12px!important;transform:none}
  body.portal-app .portal-header-inner,body.dashboard-page .site-header .portal-header-inner {display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;min-height:60px!important;padding:7px 0!important}
  body.portal-app .mobile-header-menu-toggle,body.dashboard-page .site-header .mobile-header-menu-toggle {grid-column:1!important;grid-row:1!important;min-width:44px;width:44px;height:44px}
  body.portal-app .brand-link,body.dashboard-page .site-header .brand-link {grid-column:2!important;grid-row:1!important;justify-self:center!important;max-width:100%!important;overflow:visible!important}
  body.portal-app .brand-link .brand-logo-frame,body.portal-app .brand-link .brand-mark {width:34px;height:34px;flex:0 0 34px}
  body.portal-app .brand-link .brand-copy {display:block!important;max-width:calc(100vw - 170px)}
  body.portal-app .brand-link .brand-overline,body.portal-app .brand-link .brand-subtitle,body.portal-app .brand-link .brand-name {display:none!important}
  body.portal-app .brand-link .brand-copy::after {content:'AA-Portal';font-weight:850;font-size:16px;letter-spacing:-.04em;color:var(--next-ink)}
  body.portal-app .header-user-panel,body.dashboard-page .site-header .header-user-panel {grid-column:3!important;grid-row:1!important;width:44px!important;max-width:44px!important;justify-content:flex-end}
  body.portal-app .header-user-panel .user-chip {width:44px!important;max-width:44px!important;min-width:44px!important;height:44px;min-height:44px;padding:3px;justify-content:center;overflow:visible}
  body.portal-app .header-user-panel .user-chip-icon {display:grid!important;width:36px;height:36px;flex:0 0 36px}
  body.portal-app .header-user-panel .user-chip-copy,body.portal-app .header-user-panel .user-chip-caret {display:none!important}
  body.portal-app .dropdown-menu-right {right:0;left:auto}
  body.dashboard-page .page-wrapper {padding:13px 13px calc(92px + env(safe-area-inset-bottom))!important}
  .next-home {gap:12px}
  .next-home-hero {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;border-radius:23px}
  .next-home-copy {grid-column:1;grid-row:2;padding:23px 21px 20px}
  .next-home-copy h1 {max-width:none;margin:7px 0;font-size:clamp(1.65rem,8vw,2.8rem)}
  .next-home-copy p {margin-bottom:15px;font-size:.88rem}
  .next-home-gallery {grid-column:1;grid-row:1;min-width:0;min-height:0;width:auto;height:auto;aspect-ratio:16/9;margin:10px 10px 0;border-radius:17px}
  .next-home-graphic {display:none}
  .next-home-news {padding:13px;border-radius:16px}
  .next-home-news p {font-size:.86rem}
  .next-shortcut-grid,.next-metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .next-shortcut:last-child:nth-child(odd),.next-metric:last-child:nth-child(odd) {grid-column:1/-1}
  .next-shortcut {min-height:98px;flex-direction:column;align-items:flex-start;gap:7px;padding:12px;border-radius:16px}
  .next-shortcut-mark {flex:0 0 33px;width:33px;height:33px;border-radius:11px;font-size:17px}
  .next-shortcut strong {font-size:.8rem;overflow-wrap:anywhere}
  .next-shortcut-arrow {display:none}
  .next-metric {min-height:105px;padding:12px;border-radius:16px}
  .next-metric span {font-size:.72rem}.next-metric strong {font-size:1.8rem}.next-metric small {display:none}
  body.portal-app .section-intro-panel {min-height:130px;border-radius:19px}
  body.portal-app .section-intro-panel h1 {font-size:clamp(1.65rem,7vw,2.3rem)}
  body.portal-app .official-catalog-page .official-catalog-hero-products {pointer-events:none}
  body.portal-app .official-product-card .official-product-copy p {display:none}
  body.portal-app .learning-catalog-hero {min-height:0}
  body.portal-app .learning-category-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-app .learning-category-card .learning-category-body {padding:12px}
  body.portal-app .learning-category-card h3 {font-size:.93rem}
  body.portal-app .learning-category-card p {display:none}
  body.portal-app .learning-brand-row {display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:11px}
  body.portal-app .learning-brand-row .learning-brand-visual {grid-column:1;grid-row:1 / span 2;width:76px;height:82px}
  body.portal-app .learning-brand-row .learning-brand-copy {grid-column:2;grid-row:1}
  body.portal-app .learning-brand-row .learning-brand-side {grid-column:2;grid-row:2;justify-self:start}
  body.portal-app .learning-brand-row p,body.portal-app .learning-brand-row .badge-row {display:none}
  body.portal-app .journey-panel {padding:0 14px 17px}
  body.portal-app .journey-step > summary {min-height:68px;padding:10px 12px}
  body.portal-app .analytics-page-compact .analytics-attempts-desktop,body.portal-app .analytics-page-compact .analytics-desktop-only {display:none}
  body.portal-app .analytics-page-compact .analytics-attempts-mobile {display:grid;gap:9px}
  body.portal-app .analytics-page-compact .analytics-mobile-list {overflow:visible!important}
  body.portal-app .analytics-page-compact .analytics-kpi-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-app .analytics-page-compact .analytics-filter-grid {grid-template-columns:minmax(0,1fr)}
  body.portal-app .users-list-card .users-compact-wrap {overflow:visible!important;border:0}
  body.portal-app .users-table-compact,body.portal-app .users-table-compact tbody,body.portal-app .users-table-compact tr,body.portal-app .users-table-compact td {display:block;width:100%}
  body.portal-app .users-table-compact thead {display:none}
  body.portal-app .users-table-compact tbody {display:grid;gap:12px}
  body.portal-app .users-table-compact tr {padding:13px;border:1px solid var(--next-line);border-radius:16px;background:#fff}
  body.portal-app .users-table-compact td {padding:4px 0;border:0;overflow-wrap:anywhere}
  body.portal-app .users-table-compact td:first-child {display:none}
  body.portal-app .users-table-compact td:nth-child(2) strong {font-size:1rem}
  body.portal-app .users-table-compact td:nth-child(3) {color:#648071;font-size:.82rem}
  body.portal-app .users-table-compact .compact-actions-wrap {display:flex;flex-wrap:wrap;gap:7px}
  body.portal-app .users-table-compact .inline-details {max-width:100%}
  body.portal-app .users-table-compact .inline-details-form {width:min(100%,390px);max-width:100%}
  body.portal-app .test-clock {top:65px}
  body.portal-app .test-clock span {font-size:.68rem}
  body.portal-app .progress-desktop-table {display:none}
  body.portal-app .progress-mobile-list {display:grid}
  body.portal-app .quick-menu-panel {overflow-y:auto;max-height:88dvh}
  body.portal-app .quick-menu-groups,body.portal-app .quick-menu-grid {overflow:visible;max-height:none}
  body.portal-app .mobile-bottom-nav {z-index:68}
}
@media(max-width:360px){
  .next-shortcut-grid,.next-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-home-gallery {aspect-ratio:16/9}
  body.portal-app .learning-category-grid {grid-template-columns:minmax(0,1fr)}
  .next-catalog-modes {width:100%}.next-catalog-modes a {flex:1;padding:8px 5px;font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){
  html {scroll-behavior:auto}
  body.portal-motion-ready [data-reveal].is-revealed {animation:none!important}.next-shortcut,.next-metric {animation:none!important;transition:none!important}
}
/* Sign in uses the same palette and stays usable with an open phone keyboard. */
body.login-body {min-height:100dvh;overflow-x:clip;overflow-y:auto;background:radial-gradient(circle at 15% 10%,#297e59,#124b36 55%,#0b3329)}
.login-body .login-scene {pointer-events:none}
.login-body .premium-login-card {max-width:440px;padding:clamp(23px,5vw,36px);border:1px solid #ffffff55;border-radius:25px;background:#fafcf8;box-shadow:0 27px 65px #082a2459}
.login-body .login-brand {color:#218253;font-weight:900}
.login-body .login-card h1 {color:#153c2d;font-size:clamp(1.55rem,5vw,2rem);line-height:1.14}
.login-body .login-subtitle {margin-bottom:20px;color:#637f6e}
.login-body .login-form input {min-height:50px;border:1px solid #d5e4d8;background:white}
.login-body .login-form input:focus-visible {outline:3px solid #a2c892;outline-offset:2px}
.login-body .login-form button {min-height:50px;border:0;border-radius:13px;background:#18764d;color:white;font-weight:800;box-shadow:none}
@media(prefers-reduced-motion:reduce){.login-scene-glow {animation:none!important}}
/* Reading chapters can be explored one at a time without losing the full CMS text. */
body.portal-app .story-cover {min-height:185px;padding:clamp(24px,4vw,42px)}
body.portal-app .story-cover .material-meta {margin-bottom:14px}
body.portal-app .story-cover h1 {font-size:clamp(1.75rem,4vw,3rem)}
body.portal-app .next-story-chapter {display:block;margin:0 0 9px;padding:0;overflow:hidden;border:1px solid var(--next-line);border-radius:18px;background:#fff;box-shadow:var(--next-shadow);scroll-margin-top:95px}
body.portal-app .next-story-chapter:not([open]) > .story-chapter-copy {display:none}
body.portal-app .next-story-chapter[open] {border-color:#b8d8be}
body.portal-app .next-story-summary {display:flex;align-items:center;gap:12px;min-height:66px;padding:12px 16px;cursor:pointer;list-style:none}
body.portal-app .next-story-summary::-webkit-details-marker {display:none}
body.portal-app .next-story-summary::marker {content:''}
body.portal-app .next-story-number {display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;background:#e2f4df;color:#276f48;font-weight:900}
body.portal-app .next-story-summary strong {flex:0 0 auto;white-space:nowrap;color:var(--next-ink);font-size:.93rem}
body.portal-app .next-story-preview {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#668273;font-size:.82rem}
body.portal-app .next-story-chapter[open] .next-story-preview {display:none}
body.portal-app .next-story-toggle {margin-left:auto;display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:#edf6ed;color:#2c724c;font-size:1.15rem;transition:transform .2s ease}
body.portal-app .next-story-chapter[open] .next-story-toggle {transform:rotate(45deg)}
body.portal-app .next-story-chapter .story-chapter-copy {max-width:none;padding:0 20px 22px 68px;animation:next-panel .24s ease-out}
body.portal-app .next-story-chapter .story-prose {font-size:clamp(.94rem,1.4vw,1.08rem);line-height:1.75}
@keyframes next-panel {from{opacity:.45;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){
 body.portal-app .story-layout {display:block}
 body.portal-app .story-index {position:static;display:flex;gap:5px;overflow-x:auto;max-width:100%;padding:4px 0 12px;margin-bottom:10px;scrollbar-width:none}
 body.portal-app .story-index-title {display:none}
 body.portal-app .story-index a {flex:0 0 auto;min-height:42px;padding:7px 12px;border:1px solid #dceade;border-radius:12px;background:#fff}
 body.portal-app .next-story-summary {min-height:62px;padding:10px 12px}
 body.portal-app .next-story-summary strong {white-space:normal;font-size:.85rem}
 body.portal-app .next-story-preview {display:none}
 body.portal-app .next-story-chapter .story-chapter-copy {padding:0 14px 18px}
 body.portal-app .story-finish-card {flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 body.portal-app .next-story-chapter .story-chapter-copy {animation:none!important}
 body.portal-app .next-story-toggle {transition:none!important}
}

/* AA-Portal visual system inspired by the supplied editorial portfolio reference. */
:root {
  --xp-ink:#18363c;
  --xp-deep:#103b42;
  --xp-night:#142a3e;
  --xp-teal:#32c7b0;
  --xp-teal-dark:#197c78;
  --xp-coral:#ff796b;
  --xp-peach:#ffd8c6;
  --xp-lilac:#ddd8ff;
  --xp-lime:#d9f28a;
  --xp-paper:#fffaf1;
  --xp-mist:#edf4ef;
  --xp-muted:#6a8381;
  --xp-line:#d8e5dd;
  --xp-shadow:0 18px 50px rgba(20,55,57,.10);
  --xp-radius:24px;
}

html {scroll-behavior:smooth;scroll-padding-top:92px}
body.portal-app {min-width:320px;background:radial-gradient(ellipse at 7% 5%,#d4f0e9 0,transparent 27rem),radial-gradient(ellipse at 97% 14%,#ffe2d5 0,transparent 31rem),#edf3ef;color:var(--xp-ink)}
body.portal-app::before {position:fixed;inset:auto -9rem -11rem auto;z-index:-1;width:32rem;height:32rem;border-radius:50%;background:radial-gradient(circle,#cdece4aa,transparent 68%);content:"";pointer-events:none}
body.portal-app .site-shell {width:min(100%,1600px);max-width:1600px;margin:0 auto}
body.portal-app .page-wrapper {min-width:0;padding:30px clamp(18px,4vw,60px) 64px}
body.portal-app .page-body {display:grid;gap:22px;min-width:0}
body.portal-app .page-header {margin:0 0 20px}
body.portal-app .page-header h1 {color:var(--xp-ink);font-size:clamp(1.8rem,3.8vw,3.1rem);font-weight:850;letter-spacing:-.055em;line-height:1.04}
body.portal-app h1,body.portal-app h2,body.portal-app h3 {color:var(--xp-ink);letter-spacing:-.035em}
body.portal-app p {line-height:1.62}
body.portal-app .section-kicker,body.portal-app .eyebrow-label {color:var(--xp-teal-dark);font-size:.69rem;font-weight:900;letter-spacing:.13em}
body.portal-app .muted-text,body.portal-app .form-help {color:var(--xp-muted)}
body.portal-app .card,body.portal-app .surface-card {border:1px solid rgba(194,216,207,.86);border-radius:var(--xp-radius);background:linear-gradient(145deg,#fffdf8f5,#f5fbf7ed);box-shadow:var(--xp-shadow)}
body.portal-app .card {padding:clamp(18px,2.2vw,28px)}
body.portal-app .card h2,body.portal-app .card h3 {margin-top:0}
body.portal-app .page-stack,body.portal-app .admin-grid,body.portal-app .cards-grid,body.portal-app .question-stack {gap:18px}
body.portal-app .button,body.portal-app button,body.portal-app .primary-button,body.portal-app .primary-link,body.portal-app .table-button {min-height:44px;border-radius:14px;font-weight:800;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
body.portal-app button:not(:disabled):hover,body.portal-app .button:hover,body.portal-app .primary-button:hover,body.portal-app .primary-link:hover {transform:translateY(-1px)}
body.portal-app button:active,body.portal-app a:active {transform:scale(.985)}
body.portal-app .button-primary,body.portal-app .primary-button,body.portal-app .primary-link {border:0;background:var(--xp-coral);color:#fff!important;box-shadow:0 9px 20px #ec79603a}
body.portal-app .button-primary:hover,body.portal-app .primary-button:hover,body.portal-app .primary-link:hover {background:#eb685c;color:#fff!important;box-shadow:0 12px 24px #ec79604a}
body.portal-app .secondary-button,body.portal-app .secondary-link {border:1px solid var(--xp-line);background:#fffaf1;color:var(--xp-ink)!important}
body.portal-app input:not([type=checkbox]):not([type=radio]),body.portal-app select,body.portal-app textarea {min-height:46px;border:1px solid #ceded6;border-radius:13px;background:#fffdf9;color:var(--xp-ink)}
body.portal-app textarea {min-height:120px}
body.portal-app input:focus,body.portal-app select:focus,body.portal-app textarea:focus {border-color:var(--xp-teal-dark);outline:3px solid #32c7b033;outline-offset:1px}
body.portal-app img {max-width:100%}
body.portal-app .badge {border-radius:999px;background:#e5f3ed;color:#28665e}
body.portal-app .badge-danger {background:#ffe2db;color:#a8473f}
body.portal-app .badge-success {background:#d8f1dd;color:#287044}
body.portal-app .error-box {border-radius:15px;background:#ffe3dd;color:#9c3d36}
body.portal-app .success-box {border-radius:15px;background:#ddf4e1;color:#235d3a}

/* The desktop workspace is a compact, role-aware rail for administrators. */
body.portal-app .site-header {position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:none;margin:0;padding:12px clamp(18px,3.2vw,48px);border:0;border-radius:0 0 26px 26px;background:linear-gradient(110deg,#103b42,#164d55 68%,#226a68);box-shadow:0 12px 34px #153e4020;color:#fff}
body.portal-app .portal-header-inner {display:flex;align-items:center;gap:16px;min-width:0;padding:0}
body.portal-app .brand-link {min-width:0;color:#fff}
body.portal-app .brand-mark,body.portal-app .brand-logo-frame {display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff36;border-radius:14px;background:#ffffff1b}
body.portal-app .brand-name,body.portal-app .brand-overline,body.portal-app .brand-subtitle {color:#fff}
body.portal-app .brand-overline {opacity:.64}
body.portal-app .brand-name {font-weight:850;letter-spacing:-.03em}
body.portal-app .brand-subtitle {opacity:.68}
body.portal-app .desktop-navigation {display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
body.portal-app .desktop-navigation .nav-link {display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:13px;color:#e9f5ef!important;font-size:.87rem;font-weight:760;white-space:nowrap}
body.portal-app .desktop-navigation .nav-link:hover,body.portal-app .desktop-navigation .nav-link.is-active {border-color:#ffffff20;background:#ffffff16;color:#fff!important}
body.portal-app .desktop-navigation .nav-link-test {border-color:#ff9b872e;background:linear-gradient(135deg,#ff8b78,#ff6f67);color:#fff!important;box-shadow:0 8px 19px #071e2933}
body.portal-app .desktop-navigation .nav-link-test:hover,body.portal-app .desktop-navigation .nav-link-test.is-active {background:linear-gradient(135deg,#ffa48e,#ff796b);color:#fff!important}
body.portal-app .desktop-navigation .dropdown {position:relative}
body.portal-app .desktop-navigation .dropdown-trigger {cursor:pointer}
body.portal-app .desktop-navigation .dropdown-menu {z-index:70;padding:8px;border:1px solid #dce8e0;border-radius:16px;background:#fffaf1;box-shadow:0 18px 50px #153b3b24}
body.portal-app .desktop-navigation .dropdown-menu a {min-height:42px;border-radius:10px;color:var(--xp-ink)}
body.portal-app .desktop-navigation .dropdown-menu a:hover {background:#e4f3ec;color:var(--xp-teal-dark)}
body.portal-app .header-user-panel .user-chip {min-height:44px;border:1px solid #ffffff22;border-radius:15px;background:#ffffff12;color:white}
body.portal-app .header-user-panel .user-chip-name,body.portal-app .header-user-panel .user-chip-role {color:white}
body.portal-app .header-user-panel .user-chip-role {opacity:.67}
body.portal-app .header-user-panel .user-chip-icon {border-radius:12px;background:var(--xp-lime);color:var(--xp-deep)}
body.portal-app .mobile-header-menu-toggle {border:1px solid #ffffff26;border-radius:13px;background:#ffffff12}
body.portal-app .mobile-header-menu-toggle span {background:white}
body.portal-app .quick-menu-backdrop {z-index:80;background:#0d242bb0;backdrop-filter:blur(5px)}
body.portal-app .quick-menu-panel {z-index:81;border-radius:26px 26px 0 0;background:linear-gradient(150deg,#fffaf1,#e9f4ee);box-shadow:0 -20px 65px #092a3233}
body.portal-app .quick-menu-grid a {min-height:56px;border:1px solid #d8e7df;border-radius:15px;background:#fffdf8}

@media(min-width:1050px){
  body.role-admin.portal-app .site-shell {display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;max-width:none;margin:0}
  body.role-admin.portal-app .site-header {grid-column:1;grid-row:1;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:28px;width:260px;height:100vh;min-height:700px;padding:23px 15px;border-radius:0 26px 26px 0}
  body.role-admin.portal-app .portal-header-inner {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:0 4px}
  body.role-admin.portal-app .brand-link {width:100%;justify-content:flex-start}
  body.role-admin.portal-app .brand-copy {min-width:0}
  body.role-admin.portal-app .brand-name {font-size:1.1rem}
  body.role-admin.portal-app .mobile-header-menu-toggle {display:none}
  body.role-admin.portal-app .header-user-panel {margin-left:auto}
  body.role-admin.portal-app .header-user-panel .user-chip-copy {display:none}
  body.role-admin.portal-app .desktop-navigation-admin {display:grid;grid-template-columns:minmax(0,1fr);align-content:start;justify-content:stretch;gap:18px;overflow:visible}
  body.role-admin.portal-app .admin-nav-group {display:grid;gap:4px}
  body.role-admin.portal-app .admin-nav-label {padding:2px 12px 5px;color:#a5c6bd;font-size:.62rem;font-weight:900;letter-spacing:.14em}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link {min-height:42px;padding:8px 11px;white-space:normal}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link i {display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:9px;background:#ffffff18;color:#aee3d1;font-size:1rem;font-style:normal}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link-test {background:linear-gradient(135deg,#ff8b78,#ff6f67)}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link-test i {background:#ffffff24;color:#fff}
  body.role-admin.portal-app .desktop-navigation-admin .admin-nav-secondary {margin-top:auto;padding-top:12px;border-top:1px solid #ffffff1d}
  body.role-admin.portal-app .admin-nav-expand {border-top:1px solid #ffffff1d;padding-top:8px}
  body.role-admin.portal-app .admin-nav-expand > summary {display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:5px 12px;cursor:pointer;list-style:none}
  body.role-admin.portal-app .admin-nav-expand > summary::-webkit-details-marker {display:none}
  body.role-admin.portal-app .admin-nav-subgroup {display:grid;gap:3px;padding:4px 5px 7px}
  body.role-admin.portal-app .admin-nav-subgroup a {min-height:36px;padding:8px 12px;border-radius:10px;color:#d8eae3;font-size:.82rem;font-weight:730}
  body.role-admin.portal-app .admin-nav-subgroup a:hover {background:#ffffff15;color:#fff}
  body.role-admin.portal-app .page-wrapper {grid-column:2;grid-row:1;width:100%;max-width:1600px;margin:0 auto;padding:34px clamp(24px,4vw,64px) 70px}
}

/* Editorial hero panels echo the reference collage; CMS photos remain the source. */
body.dashboard-page .site-shell,body.dashboard-page .page-wrapper,body.dashboard-page .page-body {overflow:visible}
body.dashboard-page .page-wrapper {padding-top:26px;padding-bottom:60px}
.next-home {display:grid;gap:25px;width:min(100%,1390px);margin-inline:auto}
.next-home-hero {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);min-height:clamp(420px,42vw,610px);overflow:hidden;border:1px solid #ffffff67;border-radius:32px;background:linear-gradient(125deg,#103b42,#1a6866 65%,#6c8a72);box-shadow:0 28px 70px #103b4230}
.next-home-gallery {position:absolute;inset:0;z-index:-2;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:inherit;background:linear-gradient(130deg,#173e48,#468a7b);box-shadow:none}
.next-home-scrim {position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a2936e8 0%,#123e48bf 40%,#123e4852 72%,#123e4820),linear-gradient(0deg,#102e3dd9 0%,transparent 58%);pointer-events:none}
.next-home-copy {position:relative;z-index:2;align-self:end;max-width:870px;padding:clamp(27px,5.2vw,76px);color:#fff}
.next-home-copy .next-eyebrow {color:#c4f0d7;opacity:1}
.next-home-copy h1 {max-width:13ch;margin:15px 0 12px;color:#fff!important;font-size:clamp(2.5rem,7.1vw,6rem);font-weight:900;letter-spacing:-.075em;line-height:.98;overflow-wrap:anywhere;text-wrap:balance}
.next-home-copy p {max-width:44ch;margin:0 0 24px;color:#ecf8f2!important;font-size:clamp(.95rem,1.4vw,1.12rem);line-height:1.55}
.next-hero-action {display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:220px;min-height:54px;padding:13px 17px 13px 21px;border:1px solid #ffffff70;border-radius:16px;background:var(--xp-coral);color:#fff!important;font-weight:850;box-shadow:0 13px 28px #0d283b40;transition:transform .2s ease,background .2s ease}
.next-hero-action span {display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#ffffff2c}
.next-hero-action:hover {transform:translateY(-2px);background:#ff9581;color:#fff!important}
.next-home-graphic {position:absolute;z-index:1;right:9%;top:16%;color:#d9f28a;font-size:clamp(7rem,18vw,18rem);font-weight:950;letter-spacing:-.13em;line-height:1;text-shadow:0 15px 55px #112d4650}
.next-home-graphic span {font-size:.5em}
.next-home-index {position:absolute;z-index:3;top:25px;right:28px;display:flex;align-items:center;gap:9px;color:#ffffffc7;font-size:.7rem;font-weight:850;letter-spacing:.12em}
.next-home-index i {display:block;width:45px;height:1px;background:#ffffff90}
.next-home-news {position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;min-width:0;padding:18px 22px;border:1px solid #ffad967d;border-radius:22px;background:linear-gradient(112deg,#ff806e,#f59d7c 53%,#f8c99f);box-shadow:0 17px 40px #b65f4930;color:#542e2c}
.next-news-icon {display:grid;place-items:center;width:49px;height:49px;border:1px solid #ffffff78;border-radius:16px;background:#ffffff38;color:#713e36;font-size:1.4rem}
.next-home-news > div {min-width:0}
.next-home-news .next-eyebrow {color:#783f37;font-size:.64rem;letter-spacing:.14em}
.next-home-news strong {display:block;margin:2px 0;color:#392b2b;font-size:clamp(1.05rem,2.3vw,1.45rem);line-height:1.2;overflow-wrap:anywhere}
.next-home-news p {margin:4px 0 0;color:#593f39!important;font-size:.94rem;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.next-news-mark {display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff80;border-radius:13px;color:#693a35;font-size:1.2rem}
.next-home-section {min-width:0}
.next-section-heading {display:flex;align-items:end;justify-content:space-between;gap:14px;margin:2px 0 13px}
.next-section-heading .next-eyebrow {display:block;margin-bottom:4px;color:var(--xp-teal-dark)}
.next-section-heading h2 {margin:0;color:var(--xp-ink);font-size:clamp(1.35rem,2.8vw,2rem);font-weight:870;letter-spacing:-.055em}
.next-section-heading > a {font-size:.86rem;font-weight:850}
.next-shortcut-grid,.next-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.next-admin-launchpad .next-shortcut-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.next-shortcut {position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:17px;min-height:170px;overflow:hidden;padding:21px;border:1px solid #ffffff99;border-radius:23px;color:var(--xp-ink)!important;box-shadow:0 17px 38px #153c3d18;transition:transform .22s ease,box-shadow .22s ease}
.next-shortcut::after {position:absolute;z-index:-1;right:-28px;bottom:-50px;width:150px;height:150px;border:1px solid #ffffff66;border-radius:50%;content:"";box-shadow:0 0 0 18px #ffffff14,0 0 0 38px #ffffff0c}
.next-shortcut:hover {transform:translateY(-4px);box-shadow:0 22px 45px #153c3d24}
.next-shortcut-mint,.next-shortcut-teal {background:linear-gradient(145deg,#bdebd9,#69c9b2)}
.next-shortcut-lime {background:linear-gradient(145deg,#eaf5b5,#c4df7e)}
.next-shortcut-peach,.next-shortcut-coral {background:linear-gradient(145deg,#ffd8c6,#ff947f)}
.next-shortcut-dark {background:linear-gradient(145deg,#173d4c,#336d75);color:#fff!important}
.next-shortcut-lilac {background:linear-gradient(145deg,#e4dcff,#baaef3)}
.next-shortcut-mark {display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff80;border-radius:15px;background:#ffffff64;font-size:1.32rem}
.next-shortcut strong {max-width:18ch;font-size:clamp(.96rem,1.6vw,1.19rem);font-weight:850;line-height:1.22;overflow-wrap:anywhere}
.next-shortcut-arrow {position:absolute;top:20px;right:20px;font-size:1.03rem;font-weight:900}
.next-shortcut-dark .next-shortcut-mark {background:#ffffff20;color:#fff}
.next-metric {position:relative;display:grid;align-content:space-between;gap:7px;min-height:142px;padding:19px 21px;border:1px solid #d6e5dd;border-radius:22px;background:linear-gradient(140deg,#fffdf7,#e9f5ee);color:var(--xp-ink)!important;box-shadow:var(--xp-shadow);transition:transform .18s ease,box-shadow .18s ease}
.next-metric:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {transform:translateY(-3px);box-shadow:0 20px 40px #153d3d20}
.next-metric-good {background:linear-gradient(145deg,#e6f5d6,#cae6b5)}
.next-metric-alert {background:linear-gradient(145deg,#ffe8d8,#ffc6ae)}
.next-metric span {font-size:.84rem;font-weight:760}
.next-metric strong {font-size:2.5rem;line-height:.95;letter-spacing:-.075em}
.next-metric small {color:var(--xp-teal-dark);font-weight:850}
.next-review {padding:clamp(18px,3vw,28px);border:1px solid #cfe2d9;border-radius:26px;background:linear-gradient(135deg,#e5f4ef,#f9f4e9 76%);box-shadow:var(--xp-shadow)}
.next-review-list {display:grid;gap:8px}
.next-review-person {display:grid;grid-template-columns:46px minmax(0,1fr) auto 20px;align-items:center;gap:13px;min-height:72px;padding:9px 12px;border:1px solid #dbe9e2;border-radius:17px;background:#ffffffb5;color:var(--xp-ink)!important;transition:background .18s ease,transform .18s ease}
.next-review-person:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {transform:translateX(3px);background:#fff}
.next-review-person > span:nth-child(2) {min-width:0;display:grid;gap:4px}
.next-review-person strong,.next-review-person small {overflow-wrap:anywhere}
.next-review-person small {color:var(--xp-muted)}
.next-avatar {display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#ffd3c0,#ff927e);font-weight:900}
.next-review-person b {color:#b75348}
.next-review-person i {font-style:normal}
.next-calm-state {padding:18px;border-radius:16px;background:#d7f0df;color:#276541;font-weight:800}

/* Shared image cards give every user-facing section the same visual rhythm. */
body.portal-app .section-intro-panel,body.portal-app .official-catalog-hero,body.portal-app .learning-catalog-hero,body.portal-app .story-cover {position:relative;isolation:isolate;overflow:hidden;border:0;border-radius:28px;background:linear-gradient(115deg,#123e47,#167e78 58%,#5da78b);box-shadow:0 20px 50px #153e4020;color:#fff}
body.portal-app .section-intro-panel::after,body.portal-app .official-catalog-hero::after,body.portal-app .learning-catalog-hero::after,body.portal-app .story-cover::after {position:absolute;z-index:-1;right:-70px;bottom:-130px;width:290px;height:290px;border:1px solid #ffffff4d;border-radius:50%;content:"";box-shadow:0 0 0 24px #ffffff10,0 0 0 52px #ffffff09}
body.portal-app .section-intro-panel h1,body.portal-app .official-catalog-hero h1,body.portal-app .learning-catalog-hero h1,body.portal-app .story-cover h1 {color:#fff;font-size:clamp(1.85rem,4.7vw,3.5rem);font-weight:900;letter-spacing:-.065em;line-height:1.02}
body.portal-app .section-intro-panel .section-kicker,body.portal-app .official-catalog-hero .eyebrow-label,body.portal-app .learning-catalog-hero .eyebrow-label,body.portal-app .story-cover .section-kicker {color:#cdf0ce}
body.portal-app .section-intro-panel p,body.portal-app .official-catalog-hero p,body.portal-app .learning-catalog-hero p,body.portal-app .story-cover p {max-width:52ch;color:#eefaf2!important}
body.portal-app .section-intro-panel .intro-more summary,body.portal-app .story-cover .intro-more summary {color:#f2f7ce}
body.portal-app .official-catalog-hero-products,body.portal-app .learning-catalog-hero-media,body.portal-app .page-intro-media {border-radius:20px;overflow:hidden}
body.portal-app .official-catalog-hero-products img,body.portal-app .learning-catalog-hero-image,body.portal-app .page-intro-image {object-fit:cover}
body.portal-app .official-product-card,body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card,body.portal-app .learning-category-card,body.portal-app .learning-brand-row,body.portal-app .official-related-card {overflow:hidden;border:1px solid #d6e4dc;border-radius:22px;background:linear-gradient(155deg,#fffdf8,#f1f8f2);box-shadow:0 14px 34px #163e3d12;transition:transform .22s ease,box-shadow .22s ease}
body.portal-app .official-product-card:hover,body.portal-app .knowledge-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .assessment-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .case-library-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .learning-category-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .official-related-card:hover {transform:translateY(-4px);box-shadow:0 23px 44px #163e3d20}
body.portal-app .official-product-image-wrap,body.portal-app .learning-category-cover,body.portal-app .learning-brand-visual,body.portal-app .product-detail-clean-media {overflow:hidden;background:radial-gradient(circle at 50% 30%,#ffffff 0,#e6f3eb 75%,#d6e9dc)}
body.portal-app .official-product-image-wrap img,body.portal-app .learning-category-cover-image,body.portal-app .learning-brand-visual-image,body.portal-app .product-detail-clean-image {transition:transform .45s cubic-bezier(.2,.7,.25,1)}
body.portal-app .official-product-card:hover .official-product-image-wrap img,body.portal-app .learning-category-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover .learning-category-cover-image {transform:scale(1.045)}
body.portal-app .official-product-copy h3,body.portal-app .knowledge-card h3,body.portal-app .assessment-card h2 {font-weight:850}
body.portal-app .official-product-link,body.portal-app .knowledge-card-action,body.portal-app .assessment-card-footer .button {font-weight:850}
body.portal-app .official-category-pill {min-height:42px;border:1px solid #d5e5dc;border-radius:999px;background:#fffaf1;color:var(--xp-ink)}
body.portal-app .official-category-pill.is-active {border-color:var(--xp-deep);background:var(--xp-deep);color:#fff}
body.portal-app .analytics-toolbar-card {border-radius:18px;background:#ffffffbd;backdrop-filter:blur(14px)}
body.portal-app .mobile-search-toggle {display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--xp-line);border-radius:15px;background:#fffaf1;color:var(--xp-deep)}
body.portal-app .mobile-search-toggle svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
body.portal-app .empty-learning-state,body.portal-app .empty-state-card,body.portal-app .empty-story-state {border:1px dashed #b8d4c8;border-radius:22px;background:linear-gradient(145deg,#f8fff8,#e4f2eb);color:var(--xp-ink)}
body.portal-app .knowledge-card {display:grid;align-content:start;gap:10px;padding:16px}
body.portal-app .knowledge-card-top {display:flex;align-items:center;justify-content:space-between;min-height:104px;padding:15px;border:1px solid #ffffffa0;border-radius:16px;background:radial-gradient(circle at 80% 15%,#ffffff99,transparent 34%),linear-gradient(130deg,#75d2bb,#c2ecd3)}
body.portal-app .knowledge-card:nth-child(3n+2) .knowledge-card-top {background:radial-gradient(circle at 80% 15%,#ffffffad,transparent 34%),linear-gradient(130deg,#d4c7ff,#f6c8be)}
body.portal-app .knowledge-card:nth-child(3n) .knowledge-card-top {background:radial-gradient(circle at 80% 15%,#ffffffad,transparent 34%),linear-gradient(130deg,#ffcfaa,#f2e397)}
body.portal-app .knowledge-card-icon {display:grid;place-items:center;width:58px;height:58px;border:1px solid #ffffff9c;border-radius:19px;background:#ffffff75;color:var(--xp-deep);font-size:1.25rem;font-weight:900;box-shadow:0 9px 22px #264d4b18}
body.portal-app .knowledge-pinned {border-radius:999px;background:#fff5e8;color:#a04d3f;font-size:.68rem;font-weight:850}
body.portal-app .knowledge-card .material-meta {margin-top:2px}
body.portal-app .knowledge-card h3 {margin:0;font-size:1.08rem}
body.portal-app .knowledge-card p {margin:0;color:#5c7570;font-size:.86rem;line-height:1.5}
body.portal-app .case-library-card {padding:19px}
body.portal-app .page-intro-card {border:1px solid #d1e2d9;border-radius:24px;background:linear-gradient(115deg,#e8f4ee,#fff2e6)}
body.portal-app .page-intro-card-with-media {overflow:hidden}
body.portal-app .page-intro-card h3 {font-size:clamp(1.35rem,2.5vw,2rem)}

/* Reading, sales and practice pages use layered panels instead of blank sheets. */
body.portal-app .story-reader-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px}
body.portal-app .story-back-link,body.portal-app .official-back-link {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border-radius:13px;background:#d8eee5;color:var(--xp-deep);font-weight:800}
body.portal-app .story-reading-status {padding:8px 12px;border-radius:999px;background:#fff3e6;color:#89574a;font-size:.78rem;font-weight:800}
body.portal-app .story-progress-track,body.portal-app .journey-progress-track {height:7px;border-radius:999px;background:#d8e9e0}
body.portal-app .story-progress-track span,body.portal-app .journey-progress-track span {border-radius:inherit;background:linear-gradient(90deg,var(--xp-teal),var(--xp-coral))}
body.portal-app .story-layout {gap:22px}
body.portal-app .story-index {border:1px solid #d3e3dc;border-radius:20px;background:#edf6f0}
body.portal-app .story-index a {border-radius:12px;color:var(--xp-muted)}
body.portal-app .story-index a.is-active {background:var(--xp-deep);color:#fff}
body.portal-app .next-story-chapter,body.portal-app .journey-step {border:1px solid #d3e2da;border-radius:20px;background:linear-gradient(145deg,#fffdf8,#f3f8f2);box-shadow:0 10px 28px #163e3d0c}
body.portal-app .next-story-summary,body.portal-app .journey-step > summary {min-height:70px}
body.portal-app .story-finish-card,body.portal-app .media-open-card {border:1px solid #ffffff6b;border-radius:22px;background:linear-gradient(125deg,#173f4b,#278d84 65%,#ff937c);box-shadow:0 19px 42px #163b3d24;color:#fff}
body.portal-app .story-finish-card h2,body.portal-app .story-finish-card strong,body.portal-app .media-open-card h2 {color:#fff}
body.portal-app .case-detail-page .card,body.portal-app .case-result-page .card {background:linear-gradient(145deg,#fffdf8,#edf6ef)}
body.portal-app .option-row {min-height:58px;border:1px solid #d3e3dc;border-radius:15px;background:#fffdf8}
body.portal-app .option-row:has(input:checked) {border-color:var(--xp-teal-dark);background:#e0f4ec;box-shadow:0 0 0 3px #32c7b022}

/* Test selection and step-by-step test runner. */
body.portal-app .assessment-page {display:grid;gap:22px}
body.portal-app .assessment-intro {min-height:185px;background:linear-gradient(115deg,#142d43,#25576d 60%,#ed8975)}
body.portal-app .assessment-intro .section-kicker {color:#ffd7bf}
body.portal-app .assessment-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body.portal-app .assessment-card {position:relative;display:grid;align-content:start;gap:13px;min-width:0;min-height:255px;padding:22px;background:linear-gradient(150deg,#fffaf2,#e4f4eb)}
body.portal-app .assessment-card:nth-child(3n+2) {background:linear-gradient(150deg,#edf4ff,#d8e6ff)}
body.portal-app .assessment-card:nth-child(3n) {background:linear-gradient(150deg,#fff0e7,#ffd8c6)}
body.portal-app .assessment-card-top {display:flex;align-items:center;justify-content:space-between;gap:8px}
body.portal-app .assessment-type,body.portal-app .assessment-time {font-size:.7rem;font-weight:900;letter-spacing:.09em}
body.portal-app .assessment-type {color:var(--xp-teal-dark)}
body.portal-app .assessment-time {padding:7px 10px;border-radius:999px;background:#fff9;color:var(--xp-ink);letter-spacing:0}
body.portal-app .assessment-card h2 {margin:0;font-size:1.28rem;line-height:1.18;overflow-wrap:anywhere}
body.portal-app .assessment-card p {margin:0;color:#59716f;font-size:.9rem;line-height:1.48}
body.portal-app .assessment-facts {display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
body.portal-app .assessment-facts span {padding:7px 10px;border:1px solid #1c4b4614;border-radius:11px;background:#ffffff75;color:#48615e;font-size:.76rem}
body.portal-app .assessment-card-footer {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
body.portal-app .assessment-status {font-size:.76rem;font-weight:800}
body.portal-app .assessment-status i {background:var(--xp-teal-dark)}
body.portal-app .assessment-status.status-closed i {background:#b86c62}
body.portal-app .assessment-card-footer .button {min-width:112px;min-height:46px}

.test-experience {display:grid;gap:18px;width:min(100%,1050px);margin:0 auto}
.test-back-link {display:inline-flex;align-items:center;gap:9px;width:max-content;min-height:42px;padding:8px 12px;border-radius:13px;background:#dceee6;color:var(--xp-deep);font-weight:850}
.test-experience-head {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;min-width:0;overflow:hidden;padding:clamp(22px,4vw,42px);border:1px solid #ffffff77;border-radius:28px;background:linear-gradient(120deg,#142e43,#185c66 63%,#2c9b8c);box-shadow:0 22px 55px #153d4427;color:#fff}
.test-experience-head::after {position:absolute;z-index:-1;right:-90px;bottom:-170px;width:330px;height:330px;border:1px solid #ffffff3d;border-radius:50%;content:"";box-shadow:0 0 0 25px #ffffff10,0 0 0 55px #ffffff09}
.test-experience-heading {min-width:0}
.test-experience-heading .section-kicker {color:#b9f0d8}
.test-experience-heading h1 {margin:8px 0 10px;color:#fff;font-size:clamp(1.9rem,4.4vw,3.5rem);font-weight:900;letter-spacing:-.065em;line-height:1.03;overflow-wrap:anywhere}
.test-experience-heading p {max-width:58ch;margin:0 0 16px;color:#e6f4ef}
.test-fact-pills {display:flex;flex-wrap:wrap;gap:8px}
.test-fact-pills span {padding:8px 11px;border:1px solid #ffffff2c;border-radius:999px;background:#ffffff16;color:#f5fbf7;font-size:.77rem;font-weight:780}
.test-clock {position:relative;display:grid;place-items:center;width:142px;height:142px;border-radius:50%;background:#ffffff0f;color:#fff}
.test-clock-ring {position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.test-clock-ring circle {fill:none;stroke-width:5}
.test-clock-ring-track {stroke:#ffffff2d}
.test-clock-ring-progress {stroke:var(--xp-lime);stroke-linecap:round;stroke-dasharray:263.9;stroke-dashoffset:0;transition:stroke-dashoffset .4s linear,stroke .2s ease}
.test-clock-readout {display:grid;justify-items:center;gap:1px}
.test-clock-readout strong {font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:900;letter-spacing:-.06em}
.test-clock-readout span {color:#d8ede5;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.test-clock.is-urgent {animation:xp-timer-pulse 1.2s ease-in-out infinite}
.test-clock.is-urgent .test-clock-ring-progress {stroke:var(--xp-coral)}
.test-unlimited-mark {display:grid;place-items:center;width:120px;height:120px;border:1px solid #ffffff2e;border-radius:50%;background:#ffffff10;color:#d9f28a}
.test-unlimited-mark span {font-size:3.4rem;font-weight:300;line-height:.85}
.test-unlimited-mark small {color:#e4f3ee;font-size:.66rem;font-weight:800}
.test-timeout-alert {border-radius:15px}
.test-closed-card {display:flex;align-items:center;gap:18px;padding:clamp(20px,4vw,38px);border:1px solid #d7e6dd;border-radius:24px;background:linear-gradient(120deg,#e7f5ed,#fff4e7);box-shadow:var(--xp-shadow)}
.test-closed-mark {display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:18px;background:#c8efda;color:#276e4f;font-size:1.6rem;font-weight:900}
.test-closed-card > div {min-width:0;flex:1}
.test-closed-card h2 {margin:4px 0;font-size:1.4rem}
.test-closed-card p {margin:0;color:var(--xp-muted)}
.test-run {display:grid;gap:15px;min-width:0}
.test-run-progress {padding:17px 19px;border:1px solid #d4e4dc;border-radius:19px;background:#fffaf1e8;box-shadow:0 10px 28px #173d3d0d}
.test-run-progress-copy {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.test-run-progress-copy strong {color:var(--xp-ink);font-size:.91rem}
.test-run-progress-copy span {color:var(--xp-muted);font-size:.79rem;font-weight:750}
.test-progress-track {height:8px;overflow:hidden;border-radius:999px;background:#dce9e2}
.test-progress-track span {display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--xp-teal),var(--xp-coral));transition:width .34s cubic-bezier(.2,.7,.25,1)}
.test-question-stage {min-width:0}
.test-question-card {min-width:0;min-height:370px;padding:clamp(20px,4vw,42px);border:1px solid #d2e3da;border-radius:26px;background:linear-gradient(145deg,#fffdf8,#eef7f1);box-shadow:0 18px 44px #183f4012;animation:xp-question-in .36s cubic-bezier(.2,.7,.25,1)}
.test-question-card[hidden] {display:none!important}
.test-question-top {display:flex;align-items:center;gap:12px;margin-bottom:20px}
.test-question-number {display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(140deg,#ffd6c2,#ff927e);color:#633e38;font-size:1.1rem;font-weight:900}
.test-question-type {color:var(--xp-muted);font-size:.79rem;font-weight:800}
.test-question-card h2 {max-width:48ch;margin:0 0 24px;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:850;line-height:1.24;overflow-wrap:anywhere}
.test-option-list {display:grid;gap:10px}
.test-option {position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 25px;align-items:center;gap:13px;min-height:66px;padding:12px 15px;border:1px solid #d3e1da;border-radius:17px;background:#fffefa;color:var(--xp-ink);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.test-option:hover {transform:translateY(-1px);border-color:#88caba;background:#f5fcf7}
.test-option input {position:absolute;width:1px;height:1px;margin:0;opacity:0}
.test-option-marker {position:relative;display:block;width:21px;height:21px;border:2px solid #9ab8ad;border-radius:50%;background:#fff;transition:all .16s ease}
.test-option input[type=checkbox] + .test-option-marker {border-radius:7px}
.test-option input:checked + .test-option-marker {border-color:var(--xp-teal-dark);background:var(--xp-teal-dark);box-shadow:inset 0 0 0 4px #fff}
.test-option input[type=checkbox]:checked + .test-option-marker {box-shadow:none}
.test-option input[type=checkbox]:checked + .test-option-marker::after {position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);content:""}
.test-option:has(input:checked) {border-color:#58a996;background:linear-gradient(100deg,#e2f6ec,#fff7eb);box-shadow:0 0 0 3px #32c7b018}
.test-option input:focus-visible + .test-option-marker {outline:3px solid #2db49d68;outline-offset:3px}
.test-option-copy {font-size:.97rem;font-weight:680;line-height:1.45;overflow-wrap:anywhere}
.test-option-arrow {display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#eef5ef;color:#70908a;font-size:.8rem}
.test-option:has(input:checked) .test-option-arrow {background:#c8ecdc;color:#176d62}
.test-run-controls {position:sticky;bottom:14px;z-index:12;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid #d5e4dc;border-radius:19px;background:#fffaf1ed;box-shadow:0 12px 34px #173e3d1b;backdrop-filter:blur(16px)}
.test-run-controls button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:11px 18px;border:0;border-radius:14px;font-weight:850}
.test-step-back {background:#e8f0e8;color:#315d55}
.test-step-back:disabled {opacity:.45;cursor:not-allowed;transform:none!important}
.test-step-next,.test-finish-button {background:var(--xp-coral);color:#fff;box-shadow:0 9px 20px #ee766430}
.test-step-next:hover,.test-finish-button:hover {background:#ee695f}
.test-finish-button[hidden],.test-run-controls [hidden] {display:none!important}
.test-save-status {justify-self:center;color:var(--xp-muted);font-size:.75rem;font-weight:720;text-align:center}
.test-finish-button:disabled {opacity:.7;cursor:wait;transform:none}
@keyframes xp-question-in {from{opacity:.35;transform:translateY(9px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes xp-timer-pulse {0%,100%{box-shadow:0 0 0 0 #ff796b00}50%{box-shadow:0 0 0 9px #ff796b36}}

/* Results, analytics, administration and CMS editing. */
body.portal-app .progress-summary-card,body.portal-app .stat-card,body.portal-app .compact-stat-card {border:1px solid #d2e2d9;border-radius:20px;background:linear-gradient(145deg,#e0f3ea,#fffaf0);box-shadow:0 12px 28px #153e3d10}
body.portal-app .progress-summary-card:nth-child(2n),body.portal-app .analytics-kpi-grid .stat-card:nth-child(2n) {background:linear-gradient(145deg,#ffe5d7,#fff4e6)}
body.portal-app .progress-summary-card strong,body.portal-app .stat-value {color:var(--xp-deep);font-weight:900;letter-spacing:-.06em}
body.portal-app .progress-mobile-card,body.portal-app .analytics-attempt-card,body.portal-app .analytics-compact-row {border:1px solid #d6e5dd;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#edf6f0);box-shadow:0 10px 28px #173d3d0f}
body.portal-app .analytics-page-compact {display:grid;gap:17px}
body.portal-app .team-anchor-nav {position:sticky;top:10px;z-index:15;display:flex;gap:7px;overflow-x:auto;padding:6px;border:1px solid #d8e6de;border-radius:15px;background:#fffaf1e8;box-shadow:0 9px 25px #143a3b14;scrollbar-width:none}
body.portal-app .team-anchor-nav a {flex:0 0 auto;min-height:40px;padding:9px 13px;border-radius:11px;background:#e9f3eb;color:var(--xp-deep);font-size:.8rem;font-weight:820}
body.portal-app .team-roster,body.portal-app .analytics-card-block,body.portal-app .users-list-card {border:1px solid #d1e2d9;border-radius:23px;background:linear-gradient(145deg,#fffdf8,#eff7f0)}
body.portal-app .team-roster-filters button[aria-pressed=true] {background:var(--xp-deep);color:white}
body.portal-app .team-roster-person {border:1px solid #dbe9e2;border-radius:15px;background:#fffaf1}
body.portal-app .team-roster-person.needs-help {border-left:4px solid var(--xp-coral)}
body.portal-app .team-roster-person.is-passed {border-left:4px solid var(--xp-teal)}
body.portal-app .analytics-additional {border:1px solid #d5e4dc;border-radius:18px;background:#e7f1e9}
body.portal-app .analytics-additional > summary {min-height:52px;padding:14px 17px;font-weight:850}
body.portal-app .users-table th {background:#e2f0e8;color:#305d59;font-size:.73rem;letter-spacing:.06em}
body.portal-app .users-table td {vertical-align:middle}
body.portal-app .table-wrap {border:1px solid #d9e5de;border-radius:16px;background:#fffdf8}
body.portal-app .admin-form label,body.portal-app .filter-form label {color:#385e5d;font-weight:760}
body.portal-app .admin-form h3 {margin-top:20px;padding-top:12px;border-top:1px solid #dbe8e0}
body.portal-app .form-grid {gap:14px}
body.portal-app .form-actions {gap:10px}
body.portal-app .cms-page-nav-item {border-radius:12px}
body.portal-app .cms-page-nav-item.is-active {background:var(--xp-deep);color:#fff}
body.portal-app .cms-block-card,body.portal-app .hero-upload-card {border:1px solid #d7e5dc;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#eff7f0)}
body.portal-app .dashboard-image-preview,body.portal-app .cms-block-thumb,body.portal-app .site-logo-preview {border:1px solid #d9e5dd;border-radius:14px;background:#f6f4eb;object-fit:contain}
body.portal-app .users-create-panel > summary,body.portal-app .users-filter-panel > summary {min-height:52px;font-weight:850}
body.portal-app .attempt-answer-option.is-selected,body.portal-app .result-answer-row.is-selected {border-color:#72a9d5;background:#e9f2ff}
body.portal-app .attempt-answer-option.is-correct,body.portal-app .result-answer-row.is-correct {border-color:#80c29a;background:#e9f6e9}
body.portal-app .attempt-answer-option.is-selected.is-correct,body.portal-app .result-answer-row.is-selected.is-correct {background:#dff4e3}
body.portal-app .users-filter-trigger {display:grid;place-items:center;width:47px;height:47px;border:1px solid #d6e4dc;border-radius:15px;background:#fffaf1;color:var(--xp-deep);cursor:pointer}
body.portal-app .users-filter-trigger svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.test-result-page {display:grid;gap:25px;width:min(100%,1100px);margin:0 auto}
.test-result-hero {position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:25px;min-width:0;overflow:hidden;padding:clamp(22px,4vw,42px);border:1px solid #ffffff77;border-radius:28px;background:linear-gradient(120deg,#153f49,#248a78 66%,#85a97a);box-shadow:0 22px 55px #153d4427;color:white}
.test-result-hero::after {position:absolute;z-index:-1;right:-90px;bottom:-170px;width:330px;height:330px;border:1px solid #ffffff3d;border-radius:50%;content:"";box-shadow:0 0 0 25px #ffffff10,0 0 0 55px #ffffff09}
.test-result-hero.is-failed {background:linear-gradient(120deg,#203a4d,#6d6671 62%,#d08476)}
.test-result-score {display:grid;place-items:center;width:136px;height:136px;border-radius:50%;background:conic-gradient(var(--xp-lime) var(--result-fill),#ffffff32 0);box-shadow:0 14px 32px #0a27392e}
.test-result-score > div {display:grid;place-content:center;justify-items:center;width:112px;height:112px;border:1px solid #ffffff43;border-radius:50%;background:#173f4f}
.test-result-score strong {color:#fff;font-size:1.9rem;letter-spacing:-.06em}
.test-result-score span {color:#cce7dd;font-size:.68rem;font-weight:800}
.test-result-copy {min-width:0}
.test-result-copy .section-kicker {color:#c7f0d6}
.test-result-copy h1 {margin:6px 0;color:white;font-size:clamp(1.7rem,4vw,3rem);font-weight:900;letter-spacing:-.065em}
.test-result-copy h2 {margin:0 0 12px;color:#f2fbf5;font-size:1rem;font-weight:700;overflow-wrap:anywhere}
.test-result-copy p {margin:4px 0;color:#f3faf5}
.test-result-copy p strong {font-size:1.17rem}
.test-result-status {display:inline-flex;margin-left:8px;padding:6px 10px;border:1px solid #ffffff39;border-radius:999px;background:#ffffff18;font-size:.75rem;font-weight:850}
.test-result-note {font-size:.83rem}
.test-result-return {display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:11px 14px;border:1px solid #ffffff55;border-radius:14px;background:#ffffff18;color:white!important;font-weight:850;white-space:nowrap}
.test-result-return:hover {background:#ffffff2c}
.test-result-question {display:grid;gap:13px}
.test-result-question h3 {margin:0;font-size:1.17rem;line-height:1.4}
.test-result-question .test-question-top {margin:0}
body.portal-app .test-result-question .result-answer-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-radius:14px}
body.portal-app .test-result-question .result-answer-row > div:first-child {min-width:0;overflow-wrap:anywhere}
body.portal-app .test-result-question .result-answer-row .badge-row {justify-content:flex-end}

/* Mobile layout: one page scroll, thumb-sized actions, and photo-safe hero slides. */
@media(max-width:1049px){
  body.portal-app .site-header {position:sticky;top:0;width:100%;padding:7px 12px;border-radius:0 0 18px 18px;backdrop-filter:blur(15px)}
  body.portal-app .desktop-navigation {display:none!important}
  body.portal-app .portal-header-inner {display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;min-height:52px!important;padding:0!important}
  body.portal-app .mobile-header-menu-toggle {grid-column:1!important;grid-row:1!important;display:grid!important;min-width:44px;width:44px;height:44px}
  body.portal-app .brand-link {grid-column:2!important;grid-row:1!important;justify-self:center!important;max-width:100%!important;overflow:visible!important}
  body.portal-app .brand-link .brand-logo-frame,body.portal-app .brand-link .brand-mark {width:34px;height:34px;flex:0 0 34px}
  body.portal-app .brand-link .brand-copy {display:block!important;max-width:calc(100vw - 170px)}
  body.portal-app .brand-link .brand-overline,body.portal-app .brand-link .brand-subtitle,body.portal-app .brand-link .brand-name {display:none!important}
  body.portal-app .brand-link .brand-copy::after {content:'AA-Portal';color:#fff;font-size:16px;font-weight:900;letter-spacing:-.04em}
  body.portal-app .header-user-panel {grid-column:3!important;grid-row:1!important;width:44px!important;max-width:44px!important;justify-content:flex-end}
  body.portal-app .header-user-panel .user-chip {width:44px!important;max-width:44px!important;min-width:44px!important;height:44px;min-height:44px;padding:3px;justify-content:center;overflow:visible}
  body.portal-app .header-user-panel .user-chip-icon {display:grid!important;width:36px;height:36px;flex:0 0 36px}
  body.portal-app .header-user-panel .user-chip-copy,body.portal-app .header-user-panel .user-chip-caret {display:none!important}
  body.portal-app .page-wrapper {width:100%;padding:18px 14px calc(100px + env(safe-area-inset-bottom))!important}
  body.portal-app .page-body {padding-bottom:0!important}
  .next-home {gap:17px}
  .next-home-hero {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;border-radius:25px}
  .next-home-gallery {position:relative;inset:auto;z-index:0;grid-column:1;grid-row:1;width:auto;height:auto;min-width:0;min-height:0;aspect-ratio:16/9;margin:0;border-radius:0;background:linear-gradient(130deg,#173f47,#86b6a6)}
  .next-home-scrim {z-index:1;background:linear-gradient(0deg,#12343de8,#12343d00 50%)}
  .next-home-copy {grid-column:1;grid-row:2;align-self:auto;max-width:none;padding:22px 20px 23px;background:linear-gradient(130deg,#123e47,#16736f 80%);color:#fff}
  .next-home-copy h1 {max-width:none;margin:8px 0;font-size:clamp(2rem,8.5vw,3.2rem)}
  .next-home-copy p {margin-bottom:16px;font-size:.9rem}
  .next-hero-action {width:100%;min-height:52px}
  .next-home-graphic {right:8%;top:4%;font-size:clamp(5rem,28vw,8rem)}
  .next-home-index {top:12px;right:13px;color:#fff;font-size:.61rem}
  .next-home-news {grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px;border-radius:19px}
  .next-news-icon {width:42px;height:42px}
  .next-home-news p {font-size:.84rem}
  .next-news-mark {display:none}
  .next-section-heading {align-items:center}
  .next-shortcut-grid,.next-metrics,.next-admin-launchpad .next-shortcut-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .next-shortcut {min-height:130px;padding:15px;border-radius:18px}
  .next-shortcut strong {font-size:.88rem}
  .next-metric {min-height:120px;padding:14px;border-radius:17px}
  .next-metric span {font-size:.75rem}
  .next-metric strong {font-size:2rem}
  .next-metric small {font-size:.7rem}
  .next-home-section .next-review {padding:15px}
  .next-review-person {grid-template-columns:40px minmax(0,1fr) auto 14px;gap:8px;padding:8px}
  .next-avatar {width:38px;height:38px}
  body.portal-app .section-intro-panel,body.portal-app .official-catalog-hero,body.portal-app .learning-catalog-hero {min-height:0;border-radius:21px}
  body.portal-app .section-intro-panel {padding:22px}
  body.portal-app .section-intro-panel h1 {font-size:clamp(1.85rem,8vw,2.7rem)}
  body.portal-app .official-product-grid,body.portal-app .knowledge-grid,body.portal-app .assessment-list,body.portal-app .learning-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.portal-app .official-product-card,body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .learning-category-card {border-radius:17px}
  body.portal-app .assessment-card {min-height:230px;padding:15px}
  body.portal-app .assessment-card h2 {font-size:1.05rem}
  body.portal-app .assessment-card p {font-size:.8rem}
  body.portal-app .assessment-card-footer {align-items:flex-start;flex-direction:column}
  body.portal-app .assessment-card-footer .button {width:100%}
  body.portal-app .official-catalog-hero-products {opacity:.45}
  body.portal-app .official-product-card .official-product-copy p {display:none}
  body.portal-app .learning-brand-row {display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;padding:10px}
  body.portal-app .learning-brand-row .learning-brand-visual {grid-column:1;grid-row:1 / span 2;width:68px;height:74px}
  body.portal-app .learning-brand-row .learning-brand-copy {grid-column:2;grid-row:1}
  body.portal-app .learning-brand-row .learning-brand-side {grid-column:2;grid-row:2;justify-self:start}
  body.portal-app .learning-brand-row p,body.portal-app .learning-brand-row .badge-row {display:none}
  body.portal-app .journey-panel {padding:0 14px 17px}
  body.portal-app .journey-step > summary {min-height:66px;padding:10px 12px}
  body.portal-app .analytics-page-compact .analytics-attempts-desktop,body.portal-app .analytics-page-compact .analytics-desktop-only {display:none}
  body.portal-app .analytics-page-compact .analytics-attempts-mobile {display:grid;gap:9px}
  body.portal-app .analytics-page-compact .analytics-mobile-list {overflow:visible!important}
  body.portal-app .analytics-page-compact .analytics-kpi-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-app .analytics-page-compact .analytics-filter-grid {grid-template-columns:minmax(0,1fr)}
  body.portal-app .users-list-card .users-compact-wrap {overflow:visible!important;border:0}
  body.portal-app .users-table-compact,body.portal-app .users-table-compact tbody,body.portal-app .users-table-compact tr,body.portal-app .users-table-compact td {display:block;width:100%}
  body.portal-app .users-table-compact thead {display:none}
  body.portal-app .users-table-compact tbody {display:grid;gap:10px}
  body.portal-app .users-table-compact tr {padding:12px;border:1px solid var(--xp-line);border-radius:16px;background:#fffdf8}
  body.portal-app .users-table-compact td {padding:4px 0;border:0;overflow-wrap:anywhere}
  body.portal-app .users-table-compact td:first-child {display:none}
  body.portal-app .users-table-compact .compact-actions-wrap {display:flex;flex-wrap:wrap;gap:7px}
  body.portal-app .users-table-compact .inline-details-form {width:min(100%,390px);max-width:100%}
  body.portal-app .test-clock {width:104px;height:104px}
  body.portal-app .test-clock-readout strong {font-size:1.43rem}
  body.portal-app .test-clock-readout span {font-size:.59rem}
  body.portal-app .test-unlimited-mark {width:96px;height:96px}
  body.portal-app .test-experience-head {grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:20px 17px;border-radius:22px}
  body.portal-app .test-experience-heading h1 {font-size:clamp(1.55rem,7vw,2.4rem)}
  body.portal-app .test-experience-heading p {font-size:.86rem}
  body.portal-app .test-fact-pills span {padding:7px 9px;font-size:.68rem}
  body.portal-app .test-question-card {min-height:0;padding:19px 15px;border-radius:21px}
  body.portal-app .test-question-top {margin-bottom:16px}
  body.portal-app .test-question-card h2 {margin-bottom:18px;font-size:1.23rem}
  body.portal-app .test-option {grid-template-columns:20px minmax(0,1fr) 20px;gap:10px;min-height:62px;padding:11px 12px;border-radius:15px}
  body.portal-app .test-option-copy {font-size:.9rem}
  body.portal-app .test-run-controls {grid-template-columns:auto minmax(0,1fr) auto;gap:7px;padding:8px;border-radius:16px}
  body.portal-app .test-run-controls {bottom:calc(82px + env(safe-area-inset-bottom))}
  body.portal-app .test-run-controls button {min-height:49px;padding:9px 11px;font-size:.79rem}
  body.portal-app .test-save-status {grid-column:1/-1;grid-row:1;font-size:.68rem}
  body.portal-app .test-step-back {grid-column:1;grid-row:2}
  body.portal-app .test-step-next,body.portal-app .test-finish-button {grid-column:3;grid-row:2}
  body.portal-app .test-closed-card {align-items:flex-start;flex-wrap:wrap;padding:19px}
  body.portal-app .test-closed-card .button {width:100%}
  body.portal-app .test-result-hero {grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px 16px;border-radius:22px}
  body.portal-app .test-result-score {width:96px;height:96px}
  body.portal-app .test-result-score > div {width:78px;height:78px}
  body.portal-app .test-result-score strong {font-size:1.35rem}
  body.portal-app .test-result-copy h1 {font-size:1.45rem}
  body.portal-app .test-result-copy h2 {font-size:.85rem}
  body.portal-app .test-result-return {grid-column:1/-1;justify-content:center}
  body.portal-app .test-result-question {gap:10px;padding:15px}
  body.portal-app .test-result-question .result-answer-row {align-items:flex-start;flex-direction:column;gap:7px;padding:11px}
  body.portal-app .test-result-question .result-answer-row .badge-row {justify-content:flex-start}
  body.portal-app .team-anchor-nav {top:68px}
  body.portal-app .progress-desktop-table {display:none}
  body.portal-app .progress-mobile-list {display:grid;gap:10px}
  body.portal-app .quick-menu-panel {overflow-y:auto;max-height:88dvh}
  body.portal-app .quick-menu-groups,body.portal-app .quick-menu-grid {overflow:visible;max-height:none}
  body.portal-app .mobile-bottom-nav {position:fixed;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));left:10px;z-index:68;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:7px;border:1px solid #ffffffb5;border-radius:20px;background:#fffaf1ed;box-shadow:0 15px 38px #14383c30;backdrop-filter:blur(18px)}
  body.portal-app .mobile-bottom-link {display:grid;place-items:center;gap:3px;min-width:0;min-height:54px;padding:5px 2px;border-radius:14px;color:#64807c;font-size:.65rem;font-weight:800;white-space:nowrap}
  body.portal-app .mobile-bottom-link.is-active {background:#e3f2e9;color:var(--xp-deep)}
  body.portal-app .mobile-bottom-icon {display:grid;place-items:center;width:23px;height:23px}
  body.portal-app .mobile-bottom-icon svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
  body.portal-app .mobile-bottom-test {transform:translateY(-8px);min-height:61px;margin:0 1px;border:1px solid #ffffffc2;background:linear-gradient(145deg,#ff907c,#f36b61);color:#fff!important;box-shadow:0 9px 21px #e963563d}
  body.portal-app .mobile-bottom-test.is-active {background:linear-gradient(145deg,#ff907c,#f36b61);color:#fff}
  body.portal-app .mobile-bottom-test .mobile-bottom-icon {width:29px;height:29px;border-radius:10px;background:#ffffff36}
}
@media(max-width:380px){
  body.portal-app .page-wrapper {padding-right:11px!important;padding-left:11px!important}
  .next-home-copy {padding:18px 15px 19px}
  .next-home-copy h1 {font-size:1.9rem}
  .next-home-news {gap:9px;padding:12px}
  body.portal-app .official-product-grid,body.portal-app .knowledge-grid,body.portal-app .assessment-list,body.portal-app .learning-category-grid {grid-template-columns:minmax(0,1fr)}
  body.portal-app .assessment-card {min-height:0}
  body.portal-app .test-experience-head {grid-template-columns:minmax(0,1fr) auto;padding:16px 13px}
  body.portal-app .test-clock {width:86px;height:86px}
  body.portal-app .test-clock-readout strong {font-size:1.2rem}
  body.portal-app .test-run-progress {padding:13px}
  body.portal-app .test-run-progress-copy strong {font-size:.8rem}
  body.portal-app .test-run-progress-copy span {font-size:.67rem}
  body.portal-app .test-run-controls button {gap:5px;padding:8px 9px;font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){
  html {scroll-behavior:auto}
  body.portal-app *,body.portal-app *::before,body.portal-app *::after {scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .test-clock.is-urgent {animation:none!important}
}

body.login-body {background:radial-gradient(circle at 12% 14%,#34c6ac 0,transparent 25rem),radial-gradient(circle at 93% 85%,#ff8b78 0,transparent 28rem),linear-gradient(140deg,#102d3d,#155d62 60%,#226d68);color:var(--xp-ink)}
body.login-body .login-scene-glow-a {background:#b7f0d7;opacity:.22}
body.login-body .login-scene-glow-b {background:#ff816e;opacity:.23}
body.login-body .premium-login-card {width:min(100% - 24px,460px);border:1px solid #ffffff91;border-radius:28px;background:linear-gradient(145deg,#fffdf8,#eaf5ef);box-shadow:0 32px 85px #071d344d}
body.login-body .login-brand {color:var(--xp-teal-dark);font-weight:900;letter-spacing:.1em}
body.login-body .login-card h1 {color:var(--xp-ink);font-size:clamp(1.7rem,6vw,2.25rem);letter-spacing:-.055em}
body.login-body .login-subtitle {color:var(--xp-muted)}
body.login-body .login-form label span {color:#416866;font-weight:780}
body.login-body .login-form input {min-height:52px;border:1px solid #ceded6;border-radius:14px;background:#fffefa}
body.login-body .login-form button {min-height:54px;border:0;border-radius:15px;background:linear-gradient(110deg,#ff8776,#ea685d);color:#fff;font-weight:900;box-shadow:0 12px 26px #e66d5840}

/* Follow-up refinements from the mobile and desktop review. */
body.dashboard-page {position:relative;isolation:isolate;min-height:100vh;background:var(--xp-deep)!important}
body.dashboard-page::before {position:fixed;inset:0;z-index:-1;width:auto;height:auto;border-radius:0;background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:1;filter:none;transform:none;pointer-events:none;content:""}
body.dashboard-page .site-header {background:linear-gradient(110deg,#103b42,#164d55 68%,#226a68)!important;color:#fff!important}
body.dashboard-page .site-header .brand-link,body.dashboard-page .site-header .brand-name,body.dashboard-page .site-header .brand-overline,body.dashboard-page .site-header .brand-subtitle,body.dashboard-page .site-header .user-chip-name,body.dashboard-page .site-header .user-chip-role {color:#fff!important;text-shadow:none!important}
body.dashboard-page .site-header .brand-overline,body.dashboard-page .site-header .brand-subtitle,body.dashboard-page .site-header .user-chip-role {opacity:.78}
body.dashboard-page .site-header .user-chip {border-color:#ffffff30!important;background:#ffffff12!important;color:#fff!important}
body.dashboard-page .site-header .mobile-header-menu-toggle {border:1px solid #ffffff5c!important;background:linear-gradient(145deg,#ff907c,#f36b61)!important;box-shadow:0 8px 18px #092a3238}
body.dashboard-page .site-header .mobile-header-menu-toggle span {background:#fff!important}

@media(min-width:1050px){
  body.role-admin.portal-app .site-shell {display:block!important;width:100%;max-width:none;margin:0}
  body.role-admin.portal-app .site-header {position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:stretch;justify-content:initial;width:100%;height:auto!important;min-height:0!important;gap:10px;padding:13px clamp(22px,3vw,48px) 11px;border-radius:0 0 24px 24px}
  body.role-admin.portal-app .portal-header-inner {grid-column:1;grid-row:1;display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:space-between;width:100%;gap:18px;padding:0 5px!important}
  body.role-admin.portal-app .brand-link {width:auto!important;max-width:none;flex:0 0 auto;justify-content:flex-start}
  body.role-admin.portal-app .header-user-panel {margin-left:auto}
  body.role-admin.portal-app .header-user-panel .user-chip-copy {display:grid!important}
  body.role-admin.portal-app .desktop-navigation-admin {grid-column:1;grid-row:2;display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:3px 5px;width:100%;overflow:visible;padding-top:2px}
  body.role-admin.portal-app .desktop-navigation-admin .admin-nav-group {display:contents!important}
  body.role-admin.portal-app .desktop-navigation-admin > .admin-nav-group > .admin-nav-label {display:none!important}
  body.role-admin.portal-app .desktop-navigation-admin .admin-nav-secondary {margin:0!important;padding:0!important;border:0!important}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link {min-height:40px;padding:8px 10px;font-size:.82rem}
  body.role-admin.portal-app .admin-nav-expand {position:relative;align-self:center;margin-left:auto;padding:0;border:0}
  body.role-admin.portal-app .admin-nav-expand > summary {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 10px;border:1px solid #ffffff22;border-radius:12px;color:#e9f5ef;cursor:pointer;list-style:none}
  body.role-admin.portal-app .admin-nav-expand > summary::-webkit-details-marker {display:none}
  body.role-admin.portal-app .admin-nav-expand[open] > summary,body.role-admin.portal-app .admin-nav-expand > summary:hover {background:#ffffff16;color:#fff}
  body.role-admin.portal-app .admin-nav-subgroup {position:absolute;top:calc(100% + 7px);right:0;z-index:100;display:none;min-width:230px;padding:8px;border:1px solid #dce8e0;border-radius:16px;background:#fffaf1;box-shadow:0 18px 50px #153b3b24}
  body.role-admin.portal-app .admin-nav-expand[open] .admin-nav-subgroup {display:grid}
  body.role-admin.portal-app .admin-nav-subgroup a {color:var(--xp-ink)!important}
  body.role-admin.portal-app .admin-nav-subgroup a:hover {background:#e4f3ec;color:var(--xp-teal-dark)!important}
  body.role-admin.portal-app .page-wrapper {width:min(100%,1600px);max-width:1600px;margin:0 auto;padding:30px clamp(22px,4vw,60px) 70px}
}

@media(max-width:1049px){
  body.portal-app .portal-header-inner,body.dashboard-page .site-header .portal-header-inner {display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:44px auto!important;align-items:center;gap:0 10px!important;min-height:0!important;height:auto!important;padding:4px 0 6px!important}
  body.portal-app .mobile-header-menu-toggle,body.dashboard-page .site-header .mobile-header-menu-toggle {grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center;min-width:44px!important;width:44px!important;height:44px!important;border:1px solid #ffffff5c!important;border-radius:13px;background:linear-gradient(145deg,#ff907c,#f36b61)!important;box-shadow:0 8px 18px #092a3238}
  body.portal-app .mobile-header-menu-toggle span,body.dashboard-page .site-header .mobile-header-menu-toggle span {background:#fff!important}
  body.portal-app .brand-link,body.dashboard-page .site-header .brand-link {grid-column:2!important;grid-row:1!important;justify-self:center!important;max-width:100%!important}
  body.portal-app .header-user-panel,body.dashboard-page .site-header .header-user-panel {grid-column:1/-1!important;grid-row:2!important;justify-self:end;width:auto!important;max-width:100%!important;margin:2px 0 0!important;overflow:visible}
  body.portal-app .header-user-panel .user-chip,body.dashboard-page .site-header .header-user-panel .user-chip {display:flex!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:34px;height:auto!important;gap:7px;padding:2px 8px 2px 4px!important;justify-content:flex-end;overflow:visible!important}
  body.portal-app .header-user-panel .user-chip-copy,body.dashboard-page .site-header .header-user-panel .user-chip-copy {display:grid!important;min-width:0!important;max-width:calc(100vw - 82px)!important;flex:0 1 auto!important;overflow:visible!important}
  body.portal-app .header-user-panel .user-chip-name,body.dashboard-page .site-header .header-user-panel .user-chip-name {display:block!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere!important;-webkit-line-clamp:unset!important;font-size:11px!important;line-height:1.2!important}
  body.portal-app .header-user-panel .user-chip-role,body.dashboard-page .site-header .header-user-panel .user-chip-role,body.portal-app .header-user-panel .user-chip-caret,body.dashboard-page .site-header .header-user-panel .user-chip-caret {display:none!important}
  body.portal-app .header-user-panel .user-chip-icon,body.dashboard-page .site-header .header-user-panel .user-chip-icon {display:grid!important;width:30px;height:30px;flex:0 0 30px}
  body.portal-app .site-header,body.dashboard-page .site-header {background:linear-gradient(110deg,#103b42,#164d55 68%,#226a68)!important;color:#fff!important}
  body.portal-app .site-header .brand-link,body.portal-app .site-header .brand-copy::after {color:#fff!important}
  body.portal-app .dropdown-menu-right {right:0;left:auto}
}

/* The slide stays as the full-page backdrop; the central panel carries the CMS news. */
.next-home-background-source {position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.next-home-featured-news {
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 175px;align-items:center;gap:clamp(20px,5vw,74px);
  min-height:clamp(320px,31vw,440px);padding:clamp(28px,5.4vw,76px);overflow:hidden;border:1px solid #ffffff75;border-radius:clamp(23px,3vw,34px);
  background:radial-gradient(circle at 82% 28%,#ffffff2b 0 1px,transparent 2px),radial-gradient(circle at 82% 28%,#ffffff12 0 115px,transparent 116px),linear-gradient(118deg,#103842 0%,#17685f 58%,#b9675d 125%);
  box-shadow:0 28px 70px #103b433d;color:#fff
}
.next-home-featured-news::before,.next-home-featured-news::after {position:absolute;z-index:-1;border:1px solid #ffffff32;border-radius:50%;content:"";pointer-events:none}
.next-home-featured-news::before {right:-92px;bottom:-220px;width:470px;height:470px;box-shadow:0 0 0 24px #ffffff0d,0 0 0 57px #ffffff09}
.next-home-featured-news::after {top:-168px;left:37%;width:320px;height:320px;opacity:.34}
.next-home-featured-news-copy {position:relative;z-index:1;min-width:0;max-width:930px}
.next-featured-news-kicker {display:inline-flex;align-items:center;gap:0;color:#c7f0d9;font-size:.72rem;font-weight:900;letter-spacing:.15em}
.next-home-featured-news h1 {max-width:19ch;margin:18px 0 13px;color:#fff;font-size:clamp(2.15rem,5vw,4.75rem);font-weight:900;letter-spacing:-.065em;line-height:1.02;overflow-wrap:anywhere;text-wrap:balance}
.next-home-featured-news p {max-width:64ch;margin:0;color:#e7f5ef;font-size:clamp(.96rem,1.45vw,1.17rem);line-height:1.62;white-space:pre-line;overflow-wrap:anywhere}
.next-home-featured-news p.next-featured-news-empty {color:#c1ddd2}

@media(max-width:800px){
  .next-home-featured-news {grid-template-columns:minmax(0,1fr) 76px;gap:8px;min-height:260px;padding:24px 19px;border-radius:23px}
  .next-featured-news-kicker {gap:0;font-size:.61rem;letter-spacing:.11em}
  .next-home-featured-news h1 {margin:13px 0 9px;font-size:clamp(1.8rem,8vw,3rem);line-height:1.04}
  .next-home-featured-news p {font-size:.9rem;line-height:1.52}
}
@media(max-width:380px){
  .next-home-featured-news {grid-template-columns:minmax(0,1fr) 48px;min-height:230px;gap:5px;padding:20px 14px;border-radius:20px}
  .next-home-featured-news h1 {font-size:clamp(1.65rem,8vw,2rem)}
  .next-home-featured-news p {font-size:.84rem}
}
@media(max-width:720px){
}

/* Raise specificity above the portal-wide dark heading and paragraph rules. */
body.portal-app .next-home-featured-news h1 {color:#fff;text-shadow:0 3px 16px #062f3580}
body.portal-app .next-home-featured-news p {color:#f4fff9;text-shadow:0 1px 8px #062f3566}
body.portal-app .next-home-featured-news p.next-featured-news-empty {color:#d7f5e9}
body.portal-app .next-featured-news-kicker {color:#e7ffe6}
body.portal-app #category-items,
body.portal-app #assortment-items {scroll-margin-top:96px}

/* One persistent, readable portal bar on every page. */
body.portal-app .site-header,
body.dashboard-page.portal-app .site-header,
body.role-admin.portal-app .site-header {
  position:sticky!important;top:0!important;z-index:90!important;width:100%!important;max-width:none!important;margin:0!important;
  padding:10px clamp(16px,3vw,44px)!important;border:0!important;border-radius:0 0 20px 20px!important;
  background:linear-gradient(110deg,#103b42,#164d55 68%,#226a68)!important;box-shadow:0 12px 34px #153e4020!important;
  color:#fff!important;backdrop-filter:blur(16px)
}
body.dashboard-page.portal-app .site-header {display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
body.portal-app:not(.role-admin) .site-header {display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important}
body.portal-app .portal-header-inner,
body.dashboard-page.portal-app .portal-header-inner {
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  width:100%!important;min-width:0!important;min-height:62px!important;padding:0!important
}
body.portal-app .site-header .brand-link,
body.portal-app .site-header .brand-name,
body.portal-app .site-header .brand-overline,
body.portal-app .site-header .brand-subtitle,
body.portal-app .site-header .user-chip-name,
body.portal-app .site-header .user-chip-role {color:#fff!important;text-shadow:none!important}
body.portal-app .site-header .user-chip {color:#fff!important;border-color:#ffffff2b;background:#ffffff10}
body.portal-app .site-header .brand-name {max-width:clamp(180px,22vw,320px);overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
body.portal-app .site-header .user-chip-name {max-width:260px;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
body.portal-app .site-header .user-chip:hover,
body.portal-app .site-header .user-chip[aria-expanded="true"] {border-color:#ffffff55;background:#ffffff1d}
body.portal-app:not(.role-admin) .site-header .desktop-navigation {align-self:stretch;justify-content:center;flex-wrap:wrap;width:100%;min-width:0;border-color:#ffffff20}
body.dashboard-page.portal-app .site-header .desktop-navigation {display:flex!important;width:100%;min-height:48px;grid-column:auto;grid-row:auto}
body.portal-app .site-header .mobile-header-menu-toggle {display:none}
body.portal-app .site-header .dropdown-menu-right {background:#fffaf1}
body.portal-app .site-header .account-menu-name,
body.portal-app .site-header .account-menu-label {display:none}

@media(max-width:1049px){
  body.portal-app .site-header,
  body.dashboard-page.portal-app .site-header,
  body.role-admin.portal-app .site-header {display:block!important;padding:5px 10px!important;border-radius:0 0 16px 16px!important}
  body.portal-app .portal-header-inner,
  body.dashboard-page.portal-app .portal-header-inner {
    display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-rows:minmax(48px,auto)!important;
    align-items:center!important;gap:5px!important;min-height:52px!important
  }
  body.portal-app .site-header .desktop-navigation {display:none!important}
  body.portal-app .site-header .brand-link,
  body.dashboard-page.portal-app .site-header .brand-link {
    grid-column:1!important;grid-row:1!important;justify-self:start!important;gap:6px!important;width:auto!important;max-width:100%!important;
    min-width:0!important;overflow:visible!important
  }
  body.portal-app .site-header .brand-link .brand-logo-frame,
  body.portal-app .site-header .brand-link .brand-mark {width:27px!important;height:27px!important;flex:0 0 27px!important;border-radius:9px!important}
  body.portal-app .site-header .brand-link .brand-copy {display:grid!important;min-width:0!important;max-width:none!important;line-height:1.1!important}
  body.portal-app .site-header .brand-link .brand-overline {display:block!important;overflow:visible!important;max-width:none!important;color:#fff!important;font-size:clamp(9px,2.8vw,11px)!important;font-weight:900!important;letter-spacing:.09em!important;white-space:nowrap!important}
  body.portal-app .site-header .brand-link .brand-name,
  body.portal-app .site-header .brand-link .brand-subtitle {display:none!important}
  body.portal-app .site-header .mobile-header-menu-toggle,
  body.dashboard-page.portal-app .site-header .mobile-header-menu-toggle {
    position:relative!important;display:flex!important;grid-column:2!important;grid-row:1!important;justify-self:center!important;align-self:center!important;
    align-items:center!important;justify-content:flex-end!important;width:82px!important;min-width:82px!important;max-width:82px!important;height:42px!important;min-height:42px!important;
    padding:0 8px 0 29px!important;border:1px solid #ffffff55!important;border-radius:13px!important;background:linear-gradient(145deg,#ff907c,#f36b61)!important;
    box-shadow:0 8px 18px #092a3238!important;color:#fff!important;overflow:hidden!important
  }
  body.portal-app .site-header .mobile-header-menu-toggle > span {
    position:absolute!important;left:9px!important;display:block!important;width:14px!important;height:2px!important;min-width:0!important;
    border-radius:2px!important;background:#fff!important;transition:transform .2s ease,opacity .2s ease
  }
  body.portal-app .site-header .mobile-header-menu-toggle > span:first-child {top:13px!important}
  body.portal-app .site-header .mobile-header-menu-toggle > span:nth-child(2) {top:19px!important}
  body.portal-app .site-header .mobile-header-menu-toggle > span:last-child {top:25px!important}
  body.portal-app .site-header .mobile-header-menu-toggle[aria-expanded="true"] > span:first-child {transform:translateY(6px) rotate(45deg)!important}
  body.portal-app .site-header .mobile-header-menu-toggle[aria-expanded="true"] > span:nth-child(2) {opacity:0!important}
  body.portal-app .site-header .mobile-header-menu-toggle[aria-expanded="true"] > span:last-child {transform:translateY(-6px) rotate(-45deg)!important}
  body.portal-app .site-header .mobile-header-menu-toggle::after {content:"Разделы";display:block;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
  body.portal-app .site-header .header-user-panel,
  body.dashboard-page.portal-app .site-header .header-user-panel {
    grid-column:3!important;grid-row:1!important;justify-self:end!important;display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;
    margin:0!important;overflow:visible!important
  }
  body.portal-app .site-header .header-user-panel .user-chip,
  body.dashboard-page.portal-app .site-header .header-user-panel .user-chip {
    display:flex!important;justify-content:flex-end!important;gap:5px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    min-height:42px!important;height:auto!important;padding:2px 3px!important;overflow:visible!important
  }
  body.portal-app .site-header .user-chip-icon {display:grid!important;width:25px!important;height:25px!important;flex:0 0 25px!important;border-radius:9px!important;font-size:11px!important}
  body.portal-app .site-header .user-chip-copy {display:grid!important;flex:0 1 auto!important;min-width:0!important;max-width:calc(50vw - 55px)!important;overflow:visible!important}
  body.portal-app .site-header .user-chip-name {
    display:block!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;
    overflow-wrap:anywhere!important;-webkit-line-clamp:unset!important;font-size:clamp(9px,2.7vw,11px)!important;line-height:1.16!important
  }
  body.portal-app .site-header .user-chip-role,
  body.portal-app .site-header .user-chip-caret {display:none!important}
  body.portal-app .page-wrapper {scroll-margin-top:70px}
}

@media(max-width:360px){
  body.portal-app .site-header {padding-right:7px!important;padding-left:7px!important}
  body.portal-app .portal-header-inner {grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)!important;gap:4px!important}
  body.portal-app .site-header .mobile-header-menu-toggle {width:76px!important;min-width:76px!important;max-width:76px!important;padding-left:27px!important}
  body.portal-app .site-header .mobile-header-menu-toggle::after {font-size:10px}
}


/* Mobile section links sit directly below the portal banner over the page background. */
.mobile-section-nav {display:none}
.mobile-section-link {display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:6px 3px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--xp-deep);font-size:.78rem;font-weight:850;line-height:1.14;text-align:center;text-decoration:none;white-space:nowrap;transition:color .18s ease,border-color .18s ease,transform .18s ease}
.mobile-section-link:active {transform:scale(.97)}
.mobile-section-link.is-active {border-bottom-color:var(--xp-coral);color:var(--xp-teal-dark)}
@media(max-width:1049px){
  body.dashboard-page.portal-app .site-header .desktop-navigation {display:none!important}
  body.portal-app:not(.role-admin) .portal-header-inner {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(48px,auto)!important;gap:5px!important}
  body.portal-app:not(.role-admin) .site-header .brand-link {grid-column:1!important;grid-row:1!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel {grid-column:2!important;grid-row:1!important}
  body.portal-app:not(.role-admin) .site-header .user-chip-copy {max-width:calc(50vw - 42px)!important}
  body.portal-app:not(.role-admin) .mobile-section-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;padding:5px clamp(8px,2.5vw,14px) 7px;margin:0;overflow:visible}
  body.portal-app:not(.role-admin) .mobile-section-link {min-height:44px;padding:6px 3px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#174c4d;font-size:clamp(.65rem,2.8vw,.82rem);box-shadow:none}
  body.portal-app:not(.role-admin) .mobile-section-link.is-active {border-bottom-color:#ff796b;background:transparent;color:#125c56;box-shadow:none}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-nav {border-bottom:1px solid #ffffff24;background:linear-gradient(90deg,#0c303a9e,#0c303a70 70%,#0c303a26);backdrop-filter:blur(8px)}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {border:0;border-bottom:2px solid transparent;background:transparent;color:#fff;text-shadow:0 1px 7px #062b35c7;box-shadow:none;backdrop-filter:none}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link.is-active {border-bottom-color:#d9f28a;background:transparent;color:#fff}
  body.portal-app:not(.role-admin) .mobile-bottom-nav {grid-template-columns:repeat(5,minmax(0,1fr))}
  body.portal-app:not(.role-admin) .mobile-bottom-link {font-size:clamp(.57rem,2.3vw,.66rem);line-height:1.05;white-space:normal}
}
@media(max-width:360px){
  body.portal-app:not(.role-admin) .mobile-section-nav {gap:2px;padding-right:7px;padding-left:7px}
  body.portal-app:not(.role-admin) .mobile-section-link {padding-right:1px;padding-left:1px;font-size:.59rem}
  body.portal-app:not(.role-admin) .mobile-bottom-nav {right:7px;left:7px;gap:1px;padding:6px}
  body.portal-app:not(.role-admin) .mobile-bottom-link {font-size:.56rem}
}
/* The learning catalog is a real page with category tabs and swipeable product cards. */
body.portal-app.product-learning-page .page-wrapper,
body.portal-app.product-category-page .page-wrapper {padding-top:clamp(14px,2.6vw,30px)}
body.portal-app .product-learning {display:grid;gap:14px;min-width:0}
body.portal-app .product-learning-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 18px;min-width:0}
body.portal-app .product-learning-title {min-width:0}
body.portal-app .product-learning-eyebrow {color:#bd6559;font-size:.65rem;font-weight:900;letter-spacing:.14em}
body.portal-app .product-learning-heading h1 {margin:3px 0 0;font-size:clamp(1.5rem,3.2vw,2.35rem);font-weight:900;letter-spacing:-.055em;line-height:1.05;overflow-wrap:anywhere}
body.portal-app .product-learning-official-link {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #cde0d7;border-radius:13px;background:#fffaf1;color:#286357;font-size:.8rem;font-weight:850;text-decoration:none}
body.portal-app .product-learning-intro {position:relative;grid-column:1/-1}
body.portal-app .product-learning-intro summary {display:inline-flex;align-items:center;min-height:38px;color:#397b6d;font-size:.8rem;font-weight:850;cursor:pointer;list-style:none}
body.portal-app .product-learning-intro summary::-webkit-details-marker {display:none}
body.portal-app .product-learning-intro p {max-width:70ch;margin:4px 0 0;color:#58736c;font-size:.88rem;line-height:1.55;white-space:pre-line}
body.portal-app .product-category-menu {display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
body.portal-app .product-category-menu button {display:inline-flex;flex:0 0 auto;align-items:center;gap:9px;min-height:46px;padding:8px 14px;border:1px solid #cfdfd7;border-radius:15px;background:#fffdf8;color:#45675f;font-size:.83rem;font-weight:850;white-space:nowrap;scroll-snap-align:start}
body.portal-app .product-category-menu button span {display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#e5f4eb;color:#20836b;font-size:.65rem}
body.portal-app .product-category-menu button[aria-selected="true"] {border-color:#1c8d77;background:linear-gradient(135deg,#178d78,#176a6c);color:#fff;box-shadow:0 9px 22px #136c6231}
body.portal-app .product-category-menu button[aria-selected="true"] span {background:#ffffff2b;color:#fff}
body.portal-app .product-learning-stage {min-width:0}
body.portal-app .product-category-panel {display:grid;gap:15px;min-width:0;padding:clamp(15px,2vw,24px);border:1px solid #d1e3d9;border-radius:26px;background:linear-gradient(145deg,#fffdf8,#eaf5ed 70%,#dceee5);box-shadow:0 20px 48px #1c4a4013;animation:product-panel-in .35s cubic-bezier(.2,.75,.25,1) both}
@keyframes product-panel-in {from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
body.portal-app .product-category-panel-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,22%);align-items:center;gap:16px;min-width:0}
body.portal-app .product-category-panel-copy {min-width:0}
body.portal-app .product-category-count {display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:99px;background:#dbf2e5;color:#2a775a;font-size:.69rem;font-weight:850}
body.portal-app .product-category-panel-copy h2 {margin:9px 0 5px;font-size:clamp(1.32rem,2.4vw,1.9rem);font-weight:900;letter-spacing:-.05em;line-height:1.1;overflow-wrap:anywhere}
body.portal-app .product-category-panel-copy p {max-width:65ch;margin:0;color:#58736c;font-size:clamp(.82rem,1vw,.95rem);line-height:1.5;white-space:pre-line}
body.portal-app .product-category-panel-image {width:100%;height:clamp(88px,12vw,140px);overflow:hidden;border:1px solid #ffffffd0;border-radius:18px;background:#dceee5;box-shadow:0 10px 26px #173e3514}
body.portal-app .product-category-panel-image img {width:100%;height:100%;object-fit:cover}
body.portal-app .product-theory-disclosure {padding:0 2px}
body.portal-app .product-theory-disclosure summary {display:flex;align-items:center;gap:8px;min-height:38px;color:#327668;font-size:.81rem;font-weight:850;cursor:pointer;list-style:none}
body.portal-app .product-theory-disclosure summary::-webkit-details-marker {display:none}
body.portal-app .product-theory-disclosure summary::after {content:"＋";margin-left:auto;font-size:.92rem}
body.portal-app .product-theory-disclosure[open] summary::after {content:"−"}
body.portal-app .product-theory-disclosure > div {max-width:78ch;padding:0 0 6px;color:#58736c;font-size:.86rem;line-height:1.6}
body.portal-app .product-brand-carousel {display:grid;gap:10px;min-width:0}
body.portal-app .product-brand-carousel-heading {display:flex;align-items:end;justify-content:space-between;gap:10px}
body.portal-app .product-brand-carousel-heading h3 {margin:3px 0 0;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:880}
body.portal-app .product-brand-count {display:grid;place-items:center;min-width:34px;height:32px;padding:0 8px;border:1px solid #d5e8de;border-radius:11px;background:#fff;color:#367566;font-size:.76rem;font-weight:900}
body.portal-app .product-brand-track {display:flex;gap:12px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;touch-action:pan-x}
body.portal-app .product-brand-card {flex:0 0 clamp(228px,25vw,300px);min-width:0;min-height:0;overflow:hidden;scroll-snap-align:start;border:1px solid #dce9e1;border-radius:20px;background:linear-gradient(155deg,#fff,#f1f8f2);box-shadow:0 10px 26px #19453912;transition:transform .22s ease,box-shadow .22s ease}
body.portal-app .product-brand-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {transform:translateY(-3px);box-shadow:0 18px 34px #1945391d}
body.portal-app .product-brand-card-main {position:relative;display:grid;grid-template-rows:150px 1fr;gap:0;min-height:280px;color:var(--xp-ink)!important;text-decoration:none}
body.portal-app .product-brand-card-image {display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0,#e6f3eb 78%,#d7e9df)}
body.portal-app .product-brand-card-image img {width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .4s ease}
body.portal-app .product-brand-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover .product-brand-card-image img {transform:scale(1.045)}
body.portal-app .product-brand-card-image.is-empty span {display:grid;place-items:center;width:70px;height:70px;border-radius:24px;background:#d8efe3;color:#258270;font-size:2rem;font-weight:900}
body.portal-app .product-brand-card-copy {display:grid;align-content:start;gap:7px;padding:15px 43px 16px 16px}
body.portal-app .product-brand-card-meta {color:#628178;font-size:.67rem;font-weight:850;letter-spacing:.035em;line-height:1.35}
body.portal-app .product-brand-card-copy strong {font-size:1.08rem;font-weight:900;line-height:1.18;overflow-wrap:anywhere}
body.portal-app .product-brand-card-description {display:-webkit-box;overflow:hidden;color:#607770;font-size:.81rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
body.portal-app .product-brand-card-arrow {position:absolute;right:12px;bottom:15px;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e5f4eb;color:#277363;font-size:1rem;font-weight:900}
body.portal-app .product-learning-controls {display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);align-items:center;gap:10px}
body.portal-app .product-learning-controls button {min-height:48px;padding:9px 15px;border:1px solid #cbded5;border-radius:14px;background:#fffdf8;color:#315d54;font-size:.82rem;font-weight:850}
body.portal-app .product-learning-controls button:last-child {justify-self:end;border-color:#df7968;background:linear-gradient(135deg,#f28b76,#e96c64);color:#fff}
body.portal-app .product-learning-controls button:disabled {opacity:.42;cursor:default}
body.portal-app .product-learning-controls > span {color:#56736a;font-size:.72rem;font-weight:850;font-variant-numeric:tabular-nums}
body.portal-app .product-learning-empty {display:grid;place-items:center;min-width:220px;min-height:150px;padding:16px;border:1px dashed #b8d4c5;border-radius:16px;color:#607970;text-align:center}

body.portal-app.product-category-page .product-category-experience {display:grid;gap:16px;min-width:0}
body.portal-app .product-category-feature {display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,25%);align-items:center;gap:18px;min-width:0;padding:clamp(18px,3vw,32px);overflow:hidden;border-radius:26px;background:linear-gradient(125deg,#123e47,#167e78 60%,#5da78b);box-shadow:0 20px 50px #153e4020;color:#fff}
body.portal-app .product-category-feature-copy {min-width:0}
body.portal-app .product-category-feature h1 {margin:6px 0;color:#fff;font-size:clamp(1.55rem,3.5vw,2.5rem);font-weight:900;line-height:1.05;overflow-wrap:anywhere}
body.portal-app .product-category-feature p {max-width:64ch;margin:0;color:#eefaf2;font-size:.88rem;line-height:1.55;white-space:pre-line}
body.portal-app .product-category-feature-meta {display:flex;align-items:center;gap:9px;margin-top:14px;color:#e0f8eb;font-size:.75rem;font-weight:850}
body.portal-app .product-category-feature-meta a {display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #ffffff66;border-radius:12px;background:#ffffff18;color:#fff!important;text-decoration:none}
body.portal-app .product-category-feature-image {width:100%;height:clamp(100px,14vw,160px);overflow:hidden;border:1px solid #ffffff55;border-radius:18px;background:#ffffff12}
body.portal-app .product-category-feature-image img {width:100%;height:100%;object-fit:cover}

/* Official catalog filters are local, keep the current scroll position. */
body.portal-app .official-search-submit {min-height:44px;padding:8px 14px;border:1px solid #cbded5;border-radius:13px;background:#fffaf1;color:#315d54;font-weight:850}
body.portal-app .official-catalog-search {grid-template-columns:minmax(0,1fr) auto!important;align-items:center}
body.portal-app .official-category-pill {cursor:pointer}
body.portal-app .official-catalog-section-heading {scroll-margin-top:90px}
body.portal-app .official-catalog-result-count {font-variant-numeric:tabular-nums}

/* Team summary and all attempts share one result surface. */
body.portal-app .analytics-page-compact {gap:14px}
body.portal-app .team-anchor-nav {display:none!important}
body.portal-app .analytics-results-panel {display:grid;gap:14px;scroll-margin-top:88px}
body.portal-app .analytics-results-heading {align-items:center;margin:0}
body.portal-app .analytics-results-heading h2 {margin:3px 0 0;font-size:clamp(1.2rem,2vw,1.6rem)}
body.portal-app .analytics-summary-strip {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.portal-app .analytics-summary-strip > div {display:grid;align-content:space-between;gap:7px;min-width:0;min-height:72px;padding:11px 13px;border:1px solid #d8e7de;border-radius:15px;background:linear-gradient(145deg,#eef8f0,#fffaf1)}
body.portal-app .analytics-summary-strip > div:nth-child(even) {background:linear-gradient(145deg,#fff0e5,#fffaf1)}
body.portal-app .analytics-summary-strip span {color:#6a8178;font-size:.69rem;font-weight:750;line-height:1.3}
body.portal-app .analytics-summary-strip strong {color:#173e42;font-size:1.35rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
body.portal-app .analytics-result-filters {margin:0}
body.portal-app .analytics-result-filters button {min-height:42px!important;padding:8px 13px;border:1px solid #d8e8dc;border-radius:99px;color:#286545;background:#f6faf5;cursor:pointer;font-size:.8rem;font-weight:850}
body.portal-app .analytics-result-filters button[aria-pressed="true"] {color:#fff;background:#206b43;border-color:#206b43}
body.portal-app .analytics-filter-empty {margin:0;padding:14px;border-radius:13px;background:#fff4e9;color:#785948;font-size:.85rem}

@media(max-width:800px){
  body.portal-app .product-learning-heading {grid-template-columns:minmax(0,1fr) auto;gap:8px}
  body.portal-app .product-learning-heading h1 {font-size:clamp(1.28rem,6vw,1.72rem)}
  body.portal-app .product-learning-official-link {min-height:40px;padding:7px 9px;font-size:.7rem;white-space:nowrap}
  body.portal-app .product-category-panel {gap:12px;padding:13px;border-radius:20px}
  body.portal-app .product-category-panel-heading {grid-template-columns:minmax(0,1fr) 82px;gap:9px}
  body.portal-app .product-category-panel-copy h2 {font-size:clamp(1.12rem,5vw,1.5rem)}
  body.portal-app .product-category-panel-copy p {display:-webkit-box;overflow:hidden;font-size:.78rem;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3}
  body.portal-app .product-category-panel-image {height:76px;border-radius:13px}
  body.portal-app .product-brand-track {gap:9px;margin-right:-2px;padding-bottom:10px}
  body.portal-app .product-brand-card {flex-basis:min(78vw,280px);border-radius:17px}
  body.portal-app .product-brand-card-main {grid-template-rows:125px 1fr;min-height:245px}
  body.portal-app .product-brand-card-copy {gap:6px;padding:12px 39px 13px 13px}
  body.portal-app .product-brand-card-copy strong {font-size:1rem}
  body.portal-app .product-brand-card-description {font-size:.77rem;-webkit-line-clamp:2}
  body.portal-app .analytics-summary-strip {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.portal-app .analytics-summary-strip > div {min-height:64px;padding:9px 10px}
  body.portal-app .analytics-summary-strip span {font-size:.65rem}
  body.portal-app .analytics-summary-strip strong {font-size:1.2rem}
  body.portal-app .analytics-results-heading {align-items:flex-start}
  body.portal-app .analytics-results-heading > .muted-text {font-size:.7rem;text-align:right}
}
@media(max-width:420px){
  body.portal-app.product-learning-page .page-wrapper {padding-right:11px!important;padding-left:11px!important}
  body.portal-app .product-learning-heading {grid-template-columns:minmax(0,1fr);align-items:start}
  body.portal-app .product-learning-official-link {justify-self:start}
  body.portal-app .product-category-menu button {min-height:43px;padding:7px 10px;font-size:.76rem}
  body.portal-app .product-category-panel-heading {grid-template-columns:minmax(0,1fr) 70px}
  body.portal-app .product-category-panel-copy p {font-size:.74rem;-webkit-line-clamp:2}
  body.portal-app .product-brand-card {flex-basis:min(82vw,270px)}
  body.portal-app .product-learning-controls {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
  body.portal-app .product-learning-controls button {min-height:46px;padding:8px 10px;font-size:.76rem}
  body.portal-app .product-learning-controls button span {font-size:.74rem}
  body.portal-app .product-category-feature {grid-template-columns:minmax(0,1fr) 76px;gap:10px;padding:17px;border-radius:20px}
  body.portal-app .product-category-feature-image {height:82px;border-radius:13px}
}

@media(prefers-reduced-motion:reduce){
  body.portal-app .product-category-panel,
  body.portal-app .product-brand-card,
  body.portal-app .product-brand-card-image img {animation:none!important;transition:none!important}
}


/* Clean home: the editable CMS slides fill the page behind one centered news panel. */
body.dashboard-page {min-height:100svh;background:#123c46!important}
body.dashboard-page::before {background-image:linear-gradient(145deg,#123c46,#185d58 58%,#b86658);background-size:cover;background-position:center;background-repeat:no-repeat}
body.dashboard-page .next-home {position:relative;display:flex;flex-direction:column;align-content:stretch;gap:clamp(26px,5vh,54px);width:min(100%,1440px);min-height:calc(100svh - 122px);margin-inline:auto;padding:clamp(22px,6vh,68px) clamp(12px,3vw,42px) 36px}
body.dashboard-page .next-home-page-background {position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(140deg,#123c46,#185d58 58%,#b86658);pointer-events:none}
body.dashboard-page .next-home-page-background::after {position:absolute;inset:0;background:linear-gradient(180deg,#0c29354a 0%,#103c46a8 46%,#10343e8f 100%);content:""}
body.dashboard-page .next-home-featured-news {align-self:center;margin-block:auto;grid-template-columns:minmax(0,1fr) 132px;gap:clamp(18px,4vw,48px);width:min(100%,1120px);min-height:clamp(300px,46svh,480px);padding:clamp(26px,5vw,66px);border:1px solid #ffffff58;border-radius:clamp(23px,3vw,34px);background:linear-gradient(135deg,#0e3039ed,#145b55e8 68%,#784a4adf);box-shadow:0 30px 85px #071f2f78;backdrop-filter:blur(14px);text-align:center}
body.dashboard-page .next-home-featured-news-copy {justify-self:center;max-width:820px}
body.dashboard-page .next-featured-news-kicker {justify-content:center;color:#dcffe9}
body.dashboard-page .next-home-featured-news h1 {max-width:24ch;margin:17px auto 14px;font-size:clamp(2rem,5.3vw,4.4rem);line-height:1.04}
body.dashboard-page .next-home-featured-news p {max-width:62ch;margin-inline:auto;color:#f5fff9!important;font-size:clamp(.96rem,1.4vw,1.14rem);line-height:1.65}
body.dashboard-page .next-featured-news-more {display:grid;justify-items:center;gap:7px;margin-top:14px}
body.dashboard-page .next-featured-news-more summary {display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid #ffffff4d;border-radius:13px;background:#ffffff18;color:#fff;font-size:.83rem;font-weight:850;cursor:pointer;list-style:none}
body.dashboard-page .next-featured-news-more summary::-webkit-details-marker {display:none}
body.dashboard-page .next-featured-news-more[open] summary {background:#ffffff28}
body.dashboard-page .next-featured-news-more p {margin:0;padding-top:7px}
body.dashboard-page .next-home-section {position:relative;z-index:1}
body.dashboard-page .next-section-heading h2 {color:#fff;text-shadow:0 2px 16px #0a2d38aa}
body.dashboard-page .next-section-heading .next-eyebrow {color:#d8ffe2}
body.dashboard-page .next-section-heading>a {color:#fff}
body.dashboard-page .next-metric,body.dashboard-page .next-review {backdrop-filter:blur(10px)}
@media(max-width:800px){
  body.dashboard-page .next-home {gap:24px;min-height:calc(100svh - 70px);padding:clamp(20px,5vh,42px) 13px calc(92px + env(safe-area-inset-bottom))}
  body.dashboard-page .next-home-featured-news {grid-template-columns:minmax(0,1fr);align-content:center;gap:12px;min-height:clamp(310px,52svh,440px);padding:28px 18px;border-radius:24px}
  body.dashboard-page .next-home-featured-news-copy {max-width:100%}
  body.dashboard-page .next-featured-news-kicker {font-size:.62rem;letter-spacing:.1em}
  body.dashboard-page .next-home-featured-news h1 {margin:13px auto 10px;font-size:clamp(1.65rem,8vw,2.55rem);line-height:1.06}
  body.dashboard-page .next-home-featured-news p {font-size:.9rem;line-height:1.55}
}
@media(max-width:360px){
  body.dashboard-page .next-home {padding-right:10px;padding-left:10px}
  body.dashboard-page .next-home-featured-news {min-height:300px;padding:24px 14px}
  body.dashboard-page .next-home-featured-news h1 {font-size:1.55rem}
  body.dashboard-page .next-home-featured-news p {font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
}

/* The official product catalog gets its own visual surface and keeps the real product photos. */
body.portal-app.product-official-page {min-height:100vh;background:radial-gradient(ellipse at 5% 7%,#d9ceff 0,transparent 30rem),radial-gradient(ellipse at 96% 35%,#ffd5c2 0,transparent 32rem),linear-gradient(145deg,#f2edff,#e9f3ee 68%,#fff1dc)!important}
body.portal-app.product-official-page .page-wrapper {width:min(100%,1500px);max-width:1500px;margin-inline:auto;padding:clamp(15px,2.8vw,34px) clamp(12px,3vw,42px) calc(32px + env(safe-area-inset-bottom))}
body.portal-app.product-official-page .page-body {display:block;min-width:0;overflow:visible}
body.portal-app .official-catalog-page {display:grid;gap:clamp(13px,2vw,22px);width:100%;min-width:0;overflow:visible}
body.portal-app .official-mobile-search .mobile-search-toggle {display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;border:0!important;border-radius:50%!important;background:linear-gradient(145deg,#eff39a,#cde57d)!important;color:#364b50!important;box-shadow:0 9px 22px #555e2827!important}
body.portal-app .official-mobile-search .mobile-search-toggle svg {width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}
body.portal-app .official-catalog-hero {min-height:clamp(195px,22vw,280px);padding:clamp(22px,4vw,50px);border:1px solid #ffffff75;border-radius:clamp(22px,3vw,32px);background:radial-gradient(circle at 84% 36%,#ffffff22 0 1px,transparent 2px),linear-gradient(120deg,#273962 0%,#4f48b8 50%,#b65d72 115%);box-shadow:0 24px 60px #3d34663b}
body.portal-app .official-catalog-hero h1 {max-width:18ch;margin:7px 0 10px;color:#fff!important;font-size:clamp(1.8rem,4.2vw,3.5rem);line-height:1.04;letter-spacing:-.055em;overflow-wrap:anywhere}
body.portal-app .official-catalog-hero p {max-width:48ch;color:#f7f3ff!important;font-size:clamp(.92rem,1.25vw,1.05rem);line-height:1.55}
body.portal-app .official-catalog-hero .eyebrow-label {color:#ffe898}
body.portal-app .official-catalog-hero-stats span {border:1px solid #ffffff55;border-radius:99px;background:#ffffff17;color:#fff}
body.portal-app .official-catalog-hero-products {pointer-events:none}
body.portal-app .official-mobile-search {justify-self:end;width:auto;max-width:100%}
body.portal-app .official-catalog-search {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:720px;margin-left:auto;padding:10px;border:1px solid #d9d4ee;border-radius:18px;background:#ffffffcf;box-shadow:0 10px 28px #403b6d12}
body.portal-app .official-catalog-search-input {min-width:0}
body.portal-app .official-catalog-search-input input {min-height:44px}
body.portal-app .official-search-submit {min-height:44px;padding:8px 17px;border:0;border-radius:13px;background:linear-gradient(135deg,#ee8b75,#dd6b76);color:#fff;font-weight:850}
body.portal-app .official-category-pills {display:flex;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:2px 1px 8px;scrollbar-width:none;touch-action:pan-x}
body.portal-app .official-category-pills::-webkit-scrollbar {display:none}
body.portal-app .official-category-pill {display:inline-flex;flex:none;align-items:center;gap:8px;min-height:43px;padding:8px 14px;border:1px solid #ffffff;border-radius:999px;background:#ffffffb8;color:#4b4771;font-size:.8rem;font-weight:820;text-decoration:none;scroll-snap-align:start}
body.portal-app .official-category-pill span {display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#eee9ff;color:#5f53b7;font-size:.68rem}
body.portal-app .official-category-pill.is-active {border-color:#4b49a4;background:linear-gradient(130deg,#5757b8,#8065c6);color:#fff;box-shadow:0 8px 20px #4e4b9e31}
body.portal-app .official-category-pill.is-active span {background:#ffffff2d;color:#fff}
body.portal-app .official-catalog-section-heading {display:flex;align-items:end;justify-content:space-between;gap:12px;min-width:0;padding:4px 2px}
body.portal-app .official-catalog-section-heading h2 {margin:3px 0 0;color:#242e4e;font-size:clamp(1.2rem,2.5vw,1.8rem);letter-spacing:-.04em}
body.portal-app .official-catalog-result-count {flex:none;padding:7px 10px;border:1px solid #d9d4ee;border-radius:99px;background:#fffaf2;color:#5a557d;font-size:.75rem;font-weight:850}
body.portal-app .official-product-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,218px),1fr));gap:clamp(10px,1.6vw,17px);min-width:0}
body.portal-app .official-product-card {display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid #ffffffd1;border-radius:21px;background:linear-gradient(150deg,#fffefa,#f3f0ff 80%);box-shadow:0 14px 32px #342d6118;color:#28324e;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
body.portal-app .official-product-card:hover {transform:translateY(-3px);box-shadow:0 20px 42px #342d6126}
body.portal-app .official-product-image-wrap {position:relative;display:grid;place-items:center;min-width:0;height:clamp(145px,18vw,210px);padding:14px;background:radial-gradient(circle at 50% 52%,#fff 0,#eeeaff 70%,#e4e0f6 100%)}
body.portal-app .official-product-image-wrap img {display:block;width:100%;height:100%;object-fit:contain}
body.portal-app .official-product-copy {display:grid;align-content:start;gap:5px;min-width:0;padding:13px 15px 16px}
body.portal-app .official-product-category {color:#5c54ad;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
body.portal-app .official-product-copy h3 {margin:0;color:#242e4e;font-size:clamp(.94rem,1.2vw,1.1rem);line-height:1.25;overflow-wrap:anywhere}
body.portal-app .official-product-volume {color:#8b6670;font-size:.75rem;font-weight:750}
body.portal-app .official-product-copy p {display:-webkit-box;overflow:hidden;margin:2px 0 0;color:#617078;font-size:.8rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.portal-app .official-product-link {display:inline-flex;align-items:center;gap:7px;margin-top:5px;color:#5650a0;font-size:.77rem;font-weight:900}
body.portal-app .official-catalog-source {margin:6px 0 0;color:#6d7480;font-size:.76rem}
body.portal-app .official-catalog-source a {color:#4d4797}
body.portal-app .product-category-back {display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #ffffffa8;border-radius:13px;background:#ffffffa8;color:#45519a;font-size:.8rem;font-weight:850;text-decoration:none}
body.portal-app.product-learning-page,body.portal-app.product-category-page {background:radial-gradient(ellipse at 8% 12%,#cdece1 0,transparent 31rem),radial-gradient(ellipse at 96% 36%,#ffe0c9 0,transparent 30rem),linear-gradient(145deg,#edf8f0,#e9eefb 82%)!important}
body.portal-app.product-learning-page .page-wrapper,body.portal-app.product-category-page .page-wrapper {width:min(100%,1440px);max-width:1440px;margin-inline:auto;padding:clamp(15px,2.7vw,32px) clamp(12px,3vw,40px) calc(32px + env(safe-area-inset-bottom))}
body.portal-app.product-learning-page .product-learning-heading h1,body.portal-app.product-category-page .product-category-feature h1 {color:#20384b}
@media(max-width:560px){
  body.portal-app.product-official-page .page-wrapper {padding:12px 11px calc(90px + env(safe-area-inset-bottom))}
  body.portal-app .official-catalog-page {gap:12px}
  body.portal-app .official-catalog-hero {min-height:190px;padding:19px 15px;border-radius:20px}
  body.portal-app .official-catalog-hero h1 {font-size:clamp(1.55rem,7.2vw,2.15rem)}
  body.portal-app .official-catalog-hero p {max-width:35ch;font-size:.86rem}
  body.portal-app .official-catalog-hero-products {position:absolute;right:0;bottom:0;width:88px;height:124px;opacity:.8;transform:scale(.78);transform-origin:right bottom}
  body.portal-app .official-catalog-hero-copy {position:relative;z-index:2;max-width:calc(100% - 62px)}
  body.portal-app .official-catalog-search {grid-template-columns:minmax(0,1fr) auto;padding:7px}
  body.portal-app .official-search-submit {padding:8px 12px}
  body.portal-app .official-category-pill {min-height:41px;padding:7px 11px;font-size:.75rem}
  body.portal-app .official-catalog-section-heading h2 {font-size:1.2rem}
  body.portal-app .official-product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.portal-app .official-product-card {border-radius:16px}
  body.portal-app .official-product-image-wrap {height:clamp(118px,36vw,160px);padding:8px}
  body.portal-app .official-product-copy {gap:4px;padding:10px 10px 12px}
  body.portal-app .official-product-copy h3 {font-size:.87rem}
  body.portal-app .official-product-category {font-size:.6rem;letter-spacing:.035em}
  body.portal-app .official-product-volume {font-size:.68rem}
  body.portal-app .official-product-copy p {font-size:.73rem}
  body.portal-app .official-product-link {font-size:.72rem}
}
@media(max-width:350px){
  body.portal-app .official-product-grid {grid-template-columns:minmax(0,1fr)}
  body.portal-app .official-product-image-wrap {height:180px}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app .official-product-card {transition:none!important}
}
html,body.portal-app {max-width:100%;overflow-x:clip}
body.portal-app .site-shell,body.portal-app .page-wrapper,body.portal-app .page-body,body.portal-app .page-stack {min-width:0;max-width:100%;overflow-y:visible}

/* Mobile navigation separates common sections from daily learning actions. */
@media(max-width:1049px){
  body.portal-app:not(.role-admin) .mobile-section-nav {grid-template-columns:repeat(3,minmax(0,1fr))}
  body.portal-app:not(.role-admin) .mobile-section-link {min-height:46px;font-size:clamp(.67rem,2.7vw,.82rem)}
  body.portal-app:not(.role-admin) .mobile-bottom-nav {grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  body.portal-app:not(.role-admin) .mobile-bottom-link {min-height:58px;padding:4px 1px;font-size:clamp(.56rem,2.15vw,.66rem);line-height:1.06;white-space:normal}
  body.portal-app:not(.role-admin) .mobile-bottom-test {min-height:62px;transform:translateY(-5px)}
}

/* A smaller centered news panel keeps the editable homepage photography visible. */
body.dashboard-page .next-home-featured-news {width:min(100%,920px);min-height:clamp(250px,34svh,370px);gap:clamp(15px,3vw,34px);padding:clamp(23px,4vw,48px);border-radius:clamp(22px,3vw,30px)}
body.dashboard-page .next-home-featured-news h1 {font-size:clamp(1.8rem,4.6vw,3.8rem)}
body.dashboard-page .next-home-featured-news p {font-size:clamp(.9rem,1.25vw,1.04rem);line-height:1.55}
@media(max-width:800px){
  body.dashboard-page .next-home-featured-news {width:100%;min-height:clamp(220px,35svh,310px);gap:10px;padding:24px 17px}
  body.dashboard-page .next-home-featured-news h1 {font-size:clamp(1.55rem,7.4vw,2.25rem)}
  body.dashboard-page .next-home-featured-news p {font-size:.87rem;line-height:1.5}
}
@media(max-width:360px){
  body.dashboard-page .next-home-featured-news {min-height:210px;padding:21px 13px}
  body.dashboard-page .next-home-featured-news h1 {font-size:1.48rem}
  body.dashboard-page .next-home-featured-news p {font-size:.82rem}
}

/* About keeps the uploaded company media and CMS text on its own page theme. */
body.portal-app.about-page {min-height:100svh;background:radial-gradient(ellipse at 6% 8%,#c6eee0 0,transparent 30rem),radial-gradient(ellipse at 95% 22%,#ffd3bf 0,transparent 31rem),linear-gradient(145deg,#e7f3eb,#e8e5f5 70%,#f5eadb)!important}
body.portal-app.about-page .page-wrapper {width:min(100%,1420px);max-width:1420px;margin-inline:auto;padding:clamp(16px,3vw,38px) clamp(12px,3vw,42px) calc(34px + env(safe-area-inset-bottom))}
body.portal-app.about-page .page-body {display:block;min-width:0;overflow:visible}
body.portal-app .about-experience {display:grid;gap:clamp(18px,3vw,30px);width:100%;min-width:0}
body.portal-app .about-hero {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,34%);align-items:center;gap:clamp(20px,4vw,48px);min-height:clamp(320px,44svh,520px);overflow:hidden;padding:clamp(24px,5vw,60px);border:1px solid #ffffff76;border-radius:clamp(24px,3.5vw,36px);background:linear-gradient(122deg,#123e48 0%,#176c6b 58%,#576f83 100%);box-shadow:0 28px 70px #173e4027;color:#fff}
body.portal-app .about-hero::after {position:absolute;z-index:-1;right:-100px;bottom:-190px;width:400px;height:400px;border:1px solid #ffffff38;border-radius:50%;content:"";box-shadow:0 0 0 25px #ffffff0b,0 0 0 58px #ffffff08;pointer-events:none}
body.portal-app .about-hero-copy {position:relative;z-index:1;min-width:0;max-width:780px}
body.portal-app .about-eyebrow {color:#d5f1dc;font-size:.68rem;font-weight:900;letter-spacing:.15em}
body.portal-app .about-hero h1 {margin:10px 0 12px;color:#fff;font-size:clamp(2.1rem,5vw,4.5rem);font-weight:900;letter-spacing:-.065em;line-height:1.02;overflow-wrap:anywhere}
body.portal-app .about-hero h2 {margin:0 0 11px;color:#e4f29e;font-size:clamp(1.12rem,2vw,1.55rem);font-weight:800;line-height:1.24;overflow-wrap:anywhere}
body.portal-app .about-intro-text {max-width:68ch;color:#f0faf4;font-size:clamp(.96rem,1.3vw,1.12rem);line-height:1.7;overflow-wrap:anywhere}
body.portal-app .about-hero-media {width:100%;height:clamp(200px,30vw,340px);margin:0;overflow:hidden;border:1px solid #ffffff6e;border-radius:25px;background:#ffffff12;box-shadow:0 18px 40px #0a2d3440}
body.portal-app .about-hero-media img {display:block;width:100%;height:100%;object-fit:cover}
body.portal-app .about-slides {display:grid;gap:11px;min-width:0}
body.portal-app .about-slides-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 3px}
body.portal-app .about-slides-heading .about-eyebrow {color:#4c7b70}
body.portal-app .about-slide-count {color:#627b75;font-size:.76rem;font-weight:800}
body.portal-app .about-empty-state {display:flex;align-items:center;gap:12px;padding:22px;border:1px solid #ffffffad;border-radius:20px;background:linear-gradient(135deg,#fffdf3,#e5f4eb);color:#4c7169;font-weight:750;box-shadow:0 15px 35px #224d3b12}
body.portal-app .about-empty-state span {color:#d86f62;font-size:1.7rem}
body.portal-app .about-empty-state p {margin:0}
@media(max-width:800px){
  body.portal-app.about-page .page-wrapper {padding:13px 12px calc(108px + env(safe-area-inset-bottom))}
  body.portal-app .about-hero {grid-template-columns:minmax(0,1fr);gap:16px;min-height:0;padding:23px 18px;border-radius:23px}
  body.portal-app .about-hero h1 {margin:8px 0 10px;font-size:clamp(1.8rem,8vw,2.65rem)}
  body.portal-app .about-hero h2 {font-size:1.1rem}
  body.portal-app .about-intro-text {font-size:.91rem;line-height:1.58}
  body.portal-app .about-hero-media {height:clamp(170px,52vw,270px);border-radius:18px}
}
@media(max-width:360px){
  body.portal-app.about-page .page-wrapper {padding-right:10px;padding-left:10px}
  body.portal-app .about-hero {padding:20px 14px}
}
@media(prefers-reduced-motion:reduce){
}

/* Individual glass buttons stay legible over the editable homepage background. */
@media(max-width:1049px){
  body.portal-app:not(.role-admin) .mobile-section-nav {gap:6px;padding:7px clamp(8px,2.5vw,14px) 9px;background:transparent;backdrop-filter:none}
  body.portal-app:not(.role-admin) .mobile-section-link {min-height:44px;padding:7px 5px;border:1px solid #ffffffbd;border-radius:13px;background:#fffdf1e8;color:#174c4d;font-size:clamp(.66rem,2.8vw,.8rem);font-weight:850;box-shadow:0 7px 18px #0c303a22}
  body.portal-app:not(.role-admin) .mobile-section-link.is-active {border-color:#176c66;background:linear-gradient(135deg,#176c66,#238775);color:#fff;box-shadow:0 8px 20px #0c514b3d}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {border-color:#ffffff68;background:#0b333bbd;color:#fff;text-shadow:0 1px 7px #062b35ad;box-shadow:0 8px 22px #061f2950;backdrop-filter:blur(10px)}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link.is-active {border-color:#fff9c8;background:linear-gradient(135deg,#ed8a70ed,#d85f63ed);color:#fff}
}
@media(max-width:360px){
  body.portal-app:not(.role-admin) .mobile-section-nav {gap:4px;padding-right:7px;padding-left:7px}
  body.portal-app:not(.role-admin) .mobile-section-link {padding-right:3px;padding-left:3px;font-size:.61rem}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app:not(.role-admin) .mobile-section-link {transition:none!important}
}

/* Mobile header branding shows a single portal name. */
@media(max-width:1049px){
  body.portal-app .site-header .brand-link .brand-overline {display:none!important}
}

/* Test cards use the full phone width instead of leaving an empty second column. */
@media(max-width:800px){
  body.portal-app .assessment-page .assessment-list {grid-template-columns:minmax(0,1fr)!important;gap:10px}
  body.portal-app .assessment-page .assessment-card {min-height:0;gap:10px;padding:16px}
  body.portal-app .assessment-page .assessment-card h2 {font-size:clamp(1.05rem,4.8vw,1.28rem)}
  body.portal-app .assessment-page .assessment-card-footer {align-items:center;flex-direction:row}
  body.portal-app .assessment-page .assessment-card-footer .button {width:auto;min-width:100px}
}

/* On the employee home, the bottom bar needs one safe-area spacer only. */
@media(max-width:800px){
  body.dashboard-page.portal-app .page-wrapper {min-height:0!important;padding:10px 12px calc(78px + env(safe-area-inset-bottom))!important}
  body.dashboard-page.portal-app .next-home {display:flex;flex-direction:column;gap:18px;min-height:0;padding:10px 0 0}
  body.dashboard-page.portal-app .next-home-featured-news {margin:0 auto;min-height:clamp(210px,34svh,285px)}
}

/* Smaller catalog hero and a compact search popover. */
body.portal-app .official-catalog-hero {min-height:clamp(165px,18vw,225px)}
body.portal-app .official-catalog-page {position:relative}
body.portal-app .official-mobile-search {position:relative;z-index:35;justify-self:end;width:46px!important;max-width:46px!important;min-height:46px}
body.portal-app .official-mobile-search[open] {display:block;width:46px!important;max-width:46px!important}
body.portal-app .official-mobile-search > summary {margin:0!important}
body.portal-app .official-mobile-search[open] > .official-catalog-search {position:absolute;top:calc(100% + 7px);right:0;z-index:45;width:min(340px,calc(100vw - 24px));max-width:calc(100vw - 24px)!important;margin:0;padding:7px;grid-template-columns:minmax(0,1fr) auto;gap:7px;border:1px solid #d9d4ee;border-radius:15px;background:#fffef8f2;box-shadow:0 16px 35px #302a5b29;backdrop-filter:blur(14px)}
body.portal-app .official-mobile-search[open] .official-catalog-search-input input {min-height:42px;padding-left:37px;font-size:.82rem}
body.portal-app .official-mobile-search[open] .official-search-submit {min-height:42px;padding:7px 12px;font-size:.76rem}
@media(max-width:560px){
  body.portal-app .official-catalog-hero {min-height:155px;padding:17px 15px}
  body.portal-app .official-catalog-hero h1 {margin:5px 0 7px}
  body.portal-app .official-catalog-hero-stats {margin-top:9px}
}

/* The learning search stays beside its icon and never expands the toolbar. */
@media(max-width:360px){
}

/* Progress metrics and history are compact but keep every label visible. */
body.portal-app .progress-page {gap:15px}
body.portal-app .progress-summary-grid {gap:9px}
body.portal-app .progress-summary-card {min-height:102px;padding:13px;gap:2px}
body.portal-app .progress-summary-card .section-kicker {font-size:.61rem}
body.portal-app .progress-summary-card strong {font-size:clamp(1.35rem,2.4vw,1.8rem)}
body.portal-app .progress-summary-card > span:last-child {font-size:.67rem;line-height:1.25}
@media(max-width:800px){
  body.portal-app .progress-page {gap:13px}
  body.portal-app .progress-summary-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.portal-app .progress-summary-card {min-height:82px;padding:10px;border-radius:15px}
  body.portal-app .progress-summary-card strong {margin-top:3px;font-size:1.42rem}
  body.portal-app .progress-summary-card > span:last-child {font-size:.63rem}
  body.portal-app .progress-history-section .section-heading {margin-bottom:9px}
  body.portal-app .progress-mobile-list {gap:8px}
  body.portal-app .progress-mobile-card {padding:12px;border-radius:15px}
  body.portal-app .progress-mobile-card h3 {margin:9px 0;font-size:.92rem;line-height:1.24}
  body.portal-app .progress-card-meta {gap:8px;font-size:.68rem}
  body.portal-app .progress-card-action {min-height:42px}
}

/* Requested admin lists scroll inside their own compact result cards. */
body.role-admin.portal-app .users-list-card {display:grid;gap:10px;min-width:0;overflow:hidden;padding:clamp(12px,1.6vw,20px)}
body.role-admin.portal-app .users-list-card .users-compact-wrap {max-height:min(68svh,700px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body.role-admin.portal-app .users-table-compact thead {position:sticky;top:0;z-index:3}
body.role-admin.portal-app .users-table-compact thead th {background:#e2f0e8}
body.portal-app .analytics-results-panel .analytics-attempts-desktop {max-height:min(58svh,650px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body.portal-app .analytics-results-panel .analytics-attempts-mobile {max-height:min(62svh,600px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:3px;scrollbar-gutter:stable}
body.portal-app .analytics-results-panel .analytics-attempts-mobile:focus-visible,
body.portal-app .analytics-results-panel .analytics-attempts-desktop:focus-visible,
body.role-admin.portal-app .users-compact-wrap:focus-visible {outline:3px solid #25897755;outline-offset:2px}
@media(max-width:1049px){
  body.role-admin.portal-app .users-list-card .users-compact-wrap {max-height:min(58svh,550px);overflow-y:auto!important;overflow-x:hidden!important;border:0!important}
  body.role-admin.portal-app .users-table-compact tbody {display:grid;gap:8px}
  body.role-admin.portal-app .users-table-compact tr {padding:10px}
  body.portal-app .analytics-results-panel .analytics-attempts-mobile {max-height:min(58svh,520px)}
}

/* Reports keep the overview and each test in a separate, keyboard-scrollable tile. */
body.role-admin.portal-app .reports-page {display:grid;gap:13px;min-width:0}
body.role-admin.portal-app .reports-toolbar {display:grid;gap:12px;padding:16px}
body.role-admin.portal-app .reports-toolbar .section-header-row {margin:0}
body.role-admin.portal-app .reports-toolbar h2 {margin:3px 0 0;font-size:clamp(1.1rem,1.8vw,1.4rem)}
body.role-admin.portal-app .reports-results-stack {display:grid;gap:11px;min-width:0}
body.role-admin.portal-app .admin-report-card {display:grid;gap:9px;min-width:0;padding:14px;border-radius:18px}
body.role-admin.portal-app .admin-report-card h2 {margin:2px 0 0;font-size:clamp(1rem,1.65vw,1.25rem);line-height:1.2;overflow-wrap:anywhere}
body.role-admin.portal-app .report-card-actions {display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
body.role-admin.portal-app .report-card-actions .muted-text {font-size:.72rem;white-space:nowrap}
body.role-admin.portal-app .report-print-button,body.role-admin.portal-app .report-export-button {min-height:38px;padding:6px 11px;font-size:.74rem}
body.role-admin.portal-app .reports-overview-scroll {max-height:min(42svh,340px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body.role-admin.portal-app .report-test-scroll {max-height:min(34svh,260px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body.role-admin.portal-app .admin-report-card thead {position:sticky;top:0;z-index:2;background:#e2f0e8}
body.role-admin.portal-app .admin-report-card thead th {background:#e2f0e8}
body.role-admin.portal-app .admin-report-card table {min-width:690px}
body.role-admin.portal-app .reports-results-stack [data-report-scroll]:focus-visible {outline:3px solid #25897755;outline-offset:2px}
@media(max-width:800px){
  body.role-admin.portal-app .reports-page {gap:10px}
  body.role-admin.portal-app .reports-toolbar {gap:9px;padding:12px}
  body.role-admin.portal-app .reports-toolbar .section-header-row {align-items:flex-start;flex-direction:column}
  body.role-admin.portal-app .reports-toolbar .section-header-row > a {min-height:42px}
  body.role-admin.portal-app .reports-toolbar .analytics-filter-grid {grid-template-columns:minmax(0,1fr)}
  body.role-admin.portal-app .admin-report-card {gap:8px;padding:11px;border-radius:15px}
  body.role-admin.portal-app .admin-report-card .section-header-row {align-items:flex-start;gap:8px}
  body.role-admin.portal-app .report-card-actions {flex-wrap:wrap;gap:6px}
  body.role-admin.portal-app .report-card-actions .muted-text {font-size:.66rem}
  body.role-admin.portal-app .report-print-button,body.role-admin.portal-app .report-export-button {min-height:35px;padding:5px 9px;font-size:.7rem}
  body.role-admin.portal-app .reports-overview-scroll {max-height:min(38svh,300px)}
  body.role-admin.portal-app .report-test-scroll {max-height:min(34svh,245px)}
  body.role-admin.portal-app .admin-report-card table {min-width:630px}
}

@media print{
  body.printing-report {background:#fff!important;color:#111!important}
  body.printing-report .site-shell {display:block!important;width:100%!important;max-width:none!important;margin:0!important}
  body.printing-report .site-header,body.printing-report .mobile-bottom-nav,body.printing-report .page-header,
  body.printing-report .skip-link,body.printing-report .reading-progress,body.printing-report .quick-menu-panel,
  body.printing-report .quick-menu-backdrop {display:none!important}
  body.printing-report .page-wrapper {display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printing-report .page-body {display:block!important;padding:0!important}
  body.printing-report .reports-toolbar {display:none!important}
  body.printing-report .reports-results-stack > .admin-report-card {display:none!important}
  body.printing-report .reports-results-stack > .admin-report-card.print-target {display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:#111!important}
  body.printing-report .admin-report-card.print-target .report-print-button,body.printing-report .admin-report-card.print-target .report-export-button {display:none!important}
  body.printing-report .admin-report-card.print-target [data-report-scroll] {max-height:none!important;overflow:visible!important;border:0!important;background:#fff!important}
  body.printing-report .admin-report-card.print-target table {width:100%!important;min-width:0!important;border-collapse:collapse!important;font-size:9pt!important}
  body.printing-report .admin-report-card.print-target th,body.printing-report .admin-report-card.print-target td {padding:6px!important;border:1px solid #bbb!important;color:#111!important;white-space:normal!important}
  body.printing-report .admin-report-card.print-target thead {position:static!important}
  body.printing-report .admin-report-card.print-target thead th {background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-report .admin-report-card.print-target .section-kicker {color:#444!important}
}

/* Compact admin lists with scrollable, resizable panels and an expand control. */
body.portal-app [data-adjustable-scroll] {min-height:120px;max-height:min(46svh,450px);overflow:auto;overscroll-behavior:contain;resize:vertical;scrollbar-gutter:stable}
body.portal-app [data-adjustable-scroll].is-expanded {max-height:min(82svh,850px)}
body.role-admin.portal-app .users-list-card {gap:8px;padding:12px}
body.role-admin.portal-app .users-list-card .users-compact-wrap {min-height:120px;max-height:min(46svh,450px)!important;overflow:auto!important;resize:vertical;overscroll-behavior:contain;scrollbar-gutter:stable}
body.role-admin.portal-app .users-list-card .users-compact-wrap.is-expanded {max-height:min(82svh,850px)!important}
body.role-admin.portal-app .users-list-header {gap:8px;margin:0;flex-wrap:wrap}
body.role-admin.portal-app .users-list-header-actions {display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
body.role-admin.portal-app .compact-list-toggle {min-height:38px;padding:6px 10px;font-size:.7rem;white-space:nowrap}
body.portal-app .analytics-results-heading {flex-wrap:wrap}
body.portal-app .analytics-results-heading-actions {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;min-width:0}
body.portal-app .analytics-attempt-expand-mobile {display:none}
body.portal-app .analytics-results-panel .analytics-attempts-desktop {min-height:140px;max-height:min(46svh,450px)!important;overflow:auto!important;resize:vertical;overscroll-behavior:contain;scrollbar-gutter:stable}
body.portal-app .analytics-results-panel .analytics-attempts-mobile {min-height:130px;max-height:min(46svh,450px);overflow:auto;resize:vertical;overscroll-behavior:contain;padding-right:3px;scrollbar-gutter:stable}
body.portal-app .analytics-results-panel .analytics-attempts-desktop.is-expanded,
body.portal-app .analytics-results-panel .analytics-attempts-mobile.is-expanded {max-height:min(82svh,850px)}
body.portal-app .analytics-results-panel .analytics-attempts-desktop.is-expanded {max-height:min(82svh,850px)!important}
body.portal-app .case-review-panel {display:grid;gap:10px;min-width:0;scroll-margin-top:86px}
body.portal-app .case-review-panel .section-header-row {align-items:center;gap:8px}
body.portal-app .case-review-panel h2 {margin:3px 0 0;font-size:clamp(1.12rem,2vw,1.45rem)}
body.portal-app .case-review-filters {display:flex;flex-wrap:wrap;gap:7px;margin:0}
body.portal-app .case-review-filters button {min-height:40px;padding:7px 12px;border:1px solid #d8e8dc;border-radius:99px;background:#f6faf5;color:#286545;font-size:.75rem;font-weight:850;cursor:pointer}
body.portal-app .case-review-filters button[aria-pressed="true"] {border-color:#206b43;background:#206b43;color:#fff}
body.portal-app .case-review-scroll {display:grid;gap:7px;padding:2px}
body.portal-app .case-review-list-item {min-width:0;overflow:hidden;border:1px solid #d8e7de;border-radius:14px;background:#fffdf8}
body.portal-app .case-review-list-item > details > summary {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:10px 12px;cursor:pointer;list-style:none}
body.portal-app .case-review-list-item > details > summary::-webkit-details-marker {display:none}
body.portal-app .case-review-summary-copy {display:grid;gap:3px;min-width:0}
body.portal-app .case-review-summary-copy strong {color:#244b47;font-size:.83rem;line-height:1.25;overflow-wrap:anywhere}
body.portal-app .case-review-summary-copy small {color:#71867c;font-size:.68rem;line-height:1.3;overflow-wrap:anywhere}
body.portal-app .case-review-list-item > details > summary .badge {flex:0 0 auto}
body.portal-app .case-review-list-item > details[open] > summary {border-bottom:1px solid #e2ebe5;background:#f6faf5}
body.portal-app .case-review-answer {padding:11px 13px 4px}
body.portal-app .case-review-answer .section-kicker {font-size:.58rem}
body.portal-app .case-review-answer p {margin:5px 0 8px;color:#38584d;font-size:.82rem;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
body.portal-app .case-review-saved-result {display:flex;flex-wrap:wrap;gap:9px 18px;padding:10px 13px 13px}
body.portal-app .case-review-saved-result span {display:grid;gap:3px}
body.portal-app .case-review-saved-result small {color:#75887f;font-size:.63rem}
body.portal-app .case-review-saved-result strong {color:#254d42;font-size:.76rem}
body.portal-app .case-review-saved-result p {flex:1 1 100%;margin:0;color:#577267;font-size:.78rem;line-height:1.45;white-space:pre-line}
body.portal-app .case-review-inline-form {display:grid;grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:8px;padding:10px 13px 13px}
body.portal-app .case-review-inline-form label:nth-child(2) {grid-column:2;grid-row:1 / span 2}
body.portal-app .case-review-inline-form label:nth-child(2) textarea {min-height:80px}
body.portal-app .case-review-inline-form .checkbox-row {grid-column:1;grid-row:2;align-self:end}
body.portal-app .case-review-inline-form button {grid-column:1/-1;justify-self:start;min-height:42px}
body.portal-app .case-review-panel-footer {display:flex;justify-content:flex-end}
@media(max-width:1049px){
  body.role-admin.portal-app .users-list-card .users-compact-wrap {max-height:min(46svh,400px)!important;overflow-y:auto!important}
  body.role-admin.portal-app .users-list-card .users-compact-wrap.is-expanded {max-height:min(80svh,720px)!important}
}
@media(max-width:800px){
  body.portal-app [data-adjustable-scroll] {max-height:min(45svh,380px);resize:none}
  body.portal-app [data-adjustable-scroll].is-expanded {max-height:min(78svh,680px)}
  body.role-admin.portal-app .users-list-header {align-items:flex-start}
  body.role-admin.portal-app .users-list-header-actions {flex-wrap:wrap}
  body.portal-app .analytics-attempt-expand-desktop {display:none}
  body.portal-app .analytics-attempt-expand-mobile {display:inline-flex}
  body.portal-app .analytics-results-heading-actions {align-items:flex-end;flex-direction:column}
  body.portal-app .analytics-results-panel .analytics-attempts-desktop {max-height:min(45svh,380px)!important;overflow:auto!important}
  body.portal-app .analytics-results-panel .analytics-attempts-mobile {max-height:min(45svh,380px);resize:none}
  body.portal-app .analytics-results-panel .analytics-attempts-desktop.is-expanded,
  body.portal-app .analytics-results-panel .analytics-attempts-mobile.is-expanded {max-height:min(78svh,680px)}
  body.portal-app .analytics-results-panel .analytics-attempts-desktop.is-expanded {max-height:min(78svh,680px)!important}
  body.portal-app .case-review-panel .section-header-row {align-items:flex-start;flex-direction:column}
  body.portal-app .case-review-scroll {max-height:min(45svh,380px)}
  body.portal-app .case-review-scroll.is-expanded {max-height:min(78svh,680px)}
  body.portal-app .case-review-filters {overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:thin}
  body.portal-app .case-review-filters button {flex:0 0 auto;min-height:42px;padding:7px 10px;font-size:.7rem}
  body.portal-app .case-review-list-item > details > summary {align-items:flex-start;padding:10px}
  body.portal-app .case-review-inline-form {grid-template-columns:minmax(0,1fr);padding:10px}
  body.portal-app .case-review-inline-form label:nth-child(2),body.portal-app .case-review-inline-form .checkbox-row,body.portal-app .case-review-inline-form button {grid-column:1;grid-row:auto}
}

@media(prefers-reduced-motion:reduce){
  body.portal-app .case-review-list-item,
  body.portal-app .case-review-list-item > details > summary {scroll-behavior:auto!important;transition:none!important}
}

/* The employee's section navigation belongs to the dashboard only. */
body.portal-app:not(.role-admin):not(.dashboard-page) .site-header .desktop-navigation,
body.portal-app:not(.role-admin):not(.dashboard-page) .mobile-section-nav {display:none!important}

/* Test header keeps the title legible and aligns the countdown cleanly on phones. */
body.portal-app .test-experience-head {background:linear-gradient(122deg,#102d43 0%,#145663 62%,#1e7f78 100%);color:#fff}
body.portal-app .test-experience-heading .section-kicker {color:#bdf1d9!important}
body.portal-app .test-experience-heading h1 {color:#fff!important;text-shadow:0 2px 16px #031c2bc9}
body.portal-app .test-experience-heading p {color:#eff8f3!important}
body.portal-app .test-fact-pills span {color:#fff!important}
body.portal-app .test-clock {flex:none}
@media(max-width:800px){
  body.portal-app .test-experience {width:min(100%,680px)}
  body.portal-app .test-experience-head {grid-template-columns:minmax(0,1fr)!important;align-items:start;gap:13px;padding:18px 16px}
  body.portal-app .test-experience-heading {width:100%}
  body.portal-app .test-experience-heading h1 {max-width:100%;font-size:clamp(1.65rem,7.2vw,2.45rem);line-height:1.08;overflow-wrap:anywhere}
  body.portal-app .test-clock {position:relative;top:auto;display:flex;align-items:center;justify-content:flex-start;gap:9px;width:max-content;max-width:100%;height:auto;padding:6px 13px 6px 7px;border:1px solid #ffffff3d;border-radius:16px;background:#ffffff16;box-shadow:0 8px 20px #061f2b2b}
  body.portal-app .test-clock-ring {position:relative;inset:auto;flex:0 0 42px;width:42px;height:42px}
  body.portal-app .test-clock-readout {display:flex;align-items:baseline;gap:7px}
  body.portal-app .test-clock-readout strong {font-size:1.25rem;letter-spacing:-.035em}
  body.portal-app .test-clock-readout span {color:#eff9f4;font-size:.62rem;letter-spacing:.08em}
}

/* Compact question map lets employees jump to an unanswered question and return later. */
body.portal-app .test-question-nav {min-width:0;overflow:hidden;border:1px solid #d5e5dd;border-radius:17px;background:#fffaf1e8;box-shadow:0 9px 24px #173d3d0b}
body.portal-app .test-question-nav > summary {display:flex;align-items:center;gap:10px;min-height:50px;padding:9px 14px;cursor:pointer;list-style:none}
body.portal-app .test-question-nav > summary::-webkit-details-marker {display:none}
body.portal-app .test-question-nav-title {display:inline-flex;align-items:center;gap:8px;color:#234b45;font-size:.86rem;font-weight:900}
body.portal-app .test-question-nav-title b {display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:9px;background:#e3f0e7;color:#356b56;font-size:.72rem}
body.portal-app .test-question-nav-count {margin-left:auto;color:#6c8378;font-size:.73rem;font-weight:760}
body.portal-app .test-question-nav-chevron {color:#48756a;font-size:1.1rem;transition:transform .18s ease}
body.portal-app .test-question-nav[open] .test-question-nav-chevron {transform:rotate(180deg)}
body.portal-app .test-question-nav-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:7px;padding:2px 12px 10px}
body.portal-app .test-question-jump {display:grid;grid-template-columns:28px minmax(0,1fr) 15px;align-items:center;gap:9px;width:100%;min-width:0;min-height:50px;padding:8px 10px;border:1px solid #d7e5dc;border-radius:12px;background:#fff;color:#45675e;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
body.portal-app .test-question-jump:hover {transform:translateY(-1px);border-color:#83bfa7}
body.portal-app .test-question-jump.is-answered {border-color:#a9d9bc;background:#e6f5e9;color:#216b4d}
body.portal-app .test-question-jump.is-current {border-color:#ed806c;background:#ffebe3;color:#9c4e43;box-shadow:0 0 0 2px #ed806c2b}
body.portal-app .test-question-jump-number {display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#edf3ef;color:#46675e;font-size:.7rem;font-weight:900;font-variant-numeric:tabular-nums}
body.portal-app .test-question-jump.is-answered .test-question-jump-number {background:#d5efdd;color:#216b4d}
body.portal-app .test-question-jump.is-current .test-question-jump-number {background:#f8d5ca;color:#8e453b}
body.portal-app .test-question-jump-text {min-width:0;color:#24443d;font-size:.76rem;font-weight:760;line-height:1.35;overflow-wrap:anywhere}
body.portal-app .test-question-jump i {display:grid;place-items:center;min-width:15px;color:#208153;font-size:.75rem;font-style:normal;font-weight:900;line-height:1}
body.portal-app .test-question-nav-legend {display:flex;flex-wrap:wrap;gap:12px;padding:0 13px 11px;color:#75887e;font-size:.67rem;font-weight:700}
body.portal-app .test-question-nav-legend span {display:inline-flex;align-items:center;gap:5px}
body.portal-app .test-question-nav-legend i {display:inline-block;width:10px;height:10px;border:1px solid #b7c9bd;border-radius:3px;background:#fff}
body.portal-app .test-question-nav-legend i.is-answered {border-color:#8dcca5;background:#d9f0df}
@media(max-width:380px){
  body.portal-app .test-question-nav > summary {min-height:46px;padding:7px 10px}
  body.portal-app .test-question-nav-grid {grid-template-columns:minmax(0,1fr);gap:6px;padding-right:9px;padding-left:9px}
  body.portal-app .test-question-jump {grid-template-columns:26px minmax(0,1fr) 15px;min-height:48px;gap:8px;padding:7px 8px;border-radius:11px}
  body.portal-app .test-question-jump-text {font-size:.73rem}
  body.portal-app .test-question-nav-count {font-size:.66rem}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app .test-question-nav-chevron,
  body.portal-app .test-question-jump {transition:none!important}
}

/* Keep the admin session table and browsing log compact beside each other. */
body.portal-app .analytics-secondary-grid.analytics-session-only-grid {grid-template-columns:minmax(0,1fr)}
body.role-admin.portal-app .analytics-admin-insights-grid {width:100%;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.role-admin.portal-app .analytics-admin-insights-grid > .analytics-card-block {min-width:0;align-content:start;padding:14px}
body.role-admin.portal-app .analytics-admin-insights-grid .section-header-row {min-width:0;gap:8px}
body.role-admin.portal-app .analytics-admin-insights-grid .section-header-row > div {display:grid;gap:3px;min-width:0}
body.role-admin.portal-app .analytics-admin-insights-grid .section-header-row h2 {margin:0;font-size:1rem;line-height:1.2}
body.role-admin.portal-app .analytics-admin-insights-grid .section-header-row .muted-text {font-size:.67rem;line-height:1.25}
body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] {min-height:120px!important;max-height:min(38svh,310px)!important;overflow:auto!important;overscroll-behavior:contain;resize:none;scrollbar-gutter:stable}
body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] .users-table {table-layout:fixed}
body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] .users-table th,
body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] .users-table td {padding:7px 8px;font-size:.68rem;line-height:1.3;overflow-wrap:anywhere}
body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] .users-table th {position:sticky;top:0;z-index:2}
body.role-admin.portal-app .analytics-page-compact #analytics-sessions .users-table th:nth-child(1) {width:24%}
body.role-admin.portal-app .analytics-page-compact #analytics-sessions .users-table th:nth-child(2) {width:17%}
body.role-admin.portal-app .analytics-page-compact #analytics-sessions .users-table th:nth-child(3) {width:23%}
body.role-admin.portal-app .analytics-page-compact #analytics-sessions .users-table th:nth-child(4) {width:14%}
body.role-admin.portal-app .analytics-page-compact #analytics-sessions .users-table th:nth-child(5) {width:22%}
body.role-admin.portal-app .analytics-page-compact #analytics-activity .users-table th:nth-child(1) {width:23%}
body.role-admin.portal-app .analytics-page-compact #analytics-activity .users-table th:nth-child(2) {width:22%}
body.role-admin.portal-app .analytics-page-compact #analytics-activity .users-table th:nth-child(3) {width:37%}
body.role-admin.portal-app .analytics-page-compact #analytics-activity .users-table th:nth-child(4) {width:18%}
body.role-admin.portal-app .analytics-page-compact #analytics-activity .users-table td {white-space:normal;overflow-wrap:anywhere}
body.role-admin.portal-app .admin-insight-mobile-row {gap:5px;padding:8px 10px;border-radius:13px;box-shadow:none}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-row-head {gap:6px}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-row-head strong {font-size:.74rem;line-height:1.25;overflow-wrap:anywhere}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-row-head time {flex:0 0 auto;font-size:.61rem;white-space:nowrap}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-meta {gap:5px}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-meta small {font-size:.56rem}
body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-meta strong {font-size:.63rem;line-height:1.25;overflow-wrap:anywhere}
body.role-admin.portal-app .admin-insight-mobile-row .activity-compact-label {font-size:.63rem;line-height:1.25}
body.role-admin.portal-app .admin-insight-mobile-row > p {display:grid;gap:2px;margin:0;color:#49645b;font-size:.67rem;line-height:1.3;overflow-wrap:anywhere}
body.role-admin.portal-app .admin-insight-mobile-row > p strong {color:#244b47}
body.role-admin.portal-app .admin-insight-mobile-row > p span {color:#74867e}
@media(max-width:1100px){
  body.role-admin.portal-app .analytics-admin-insights-grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:800px){
  body.role-admin.portal-app .analytics-admin-insights-grid {gap:10px}
  body.role-admin.portal-app .analytics-admin-insights-grid > .analytics-card-block {padding:12px}
  body.role-admin.portal-app .analytics-page-compact [data-admin-insight-scroll] {min-height:100px!important;max-height:min(42svh,320px)!important;resize:none}
  body.role-admin.portal-app .analytics-page-compact .analytics-mobile-list[data-admin-insight-scroll] {display:grid;gap:6px;padding:2px 3px 4px 1px}
  body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-meta {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
  body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-meta {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.role-admin.portal-app .admin-insight-mobile-row .analytics-compact-row-head time {font-size:.57rem}
}

/* Admin keeps its full desktop navigation hierarchy on phones. */
@media(max-width:1049px){
  body.role-admin.portal-app .site-shell {display:block!important;width:100%;max-width:none;margin:0}
  body.role-admin.portal-app .site-header {position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;height:auto!important;min-height:0!important;gap:10px;padding:10px 12px 12px;border-radius:0 0 18px 18px}
  body.role-admin.portal-app .portal-header-inner {display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:6px!important;min-height:0!important;padding:0!important}
  body.role-admin.portal-app .mobile-header-menu-toggle {display:none!important}
  body.role-admin.portal-app .brand-link {grid-column:1!important;grid-row:1!important;justify-self:start!important;width:auto!important;max-width:100%!important;overflow:visible!important}
  body.role-admin.portal-app .brand-link .brand-logo-frame,body.role-admin.portal-app .brand-link .brand-mark {width:38px;height:38px;flex:0 0 38px}
  body.role-admin.portal-app .brand-link .brand-copy {display:grid!important;max-width:none!important}
  body.role-admin.portal-app .brand-link .brand-overline,body.role-admin.portal-app .brand-link .brand-name {display:block!important}
  body.role-admin.portal-app .brand-link .brand-name {font-size:.98rem;line-height:1.15;overflow-wrap:anywhere}
  body.role-admin.portal-app .brand-link .brand-subtitle,body.role-admin.portal-app .brand-link .brand-copy::after {display:none!important}
  body.role-admin.portal-app .header-user-panel {grid-column:1!important;grid-row:2!important;justify-self:start;width:100%!important;max-width:100%!important;margin:0!important}
  body.role-admin.portal-app .header-user-panel .user-chip {display:flex!important;justify-content:flex-start;width:100%!important;max-width:100%!important;min-height:42px;height:auto!important;padding:4px 10px 4px 5px!important;overflow:visible!important}
  body.role-admin.portal-app .header-user-panel .user-chip-copy {display:grid!important;min-width:0;max-width:none!important;overflow:visible!important}
  body.role-admin.portal-app .header-user-panel .user-chip-name {display:block!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere!important;-webkit-line-clamp:unset!important;font-size:.77rem;line-height:1.2}
  body.role-admin.portal-app .header-user-panel .user-chip-role {display:block!important;font-size:.63rem;line-height:1.15}
  body.role-admin.portal-app .header-user-panel .user-chip-caret {display:none!important}
  body.role-admin.portal-app .desktop-navigation-admin {position:relative;grid-column:1;grid-row:auto;display:flex!important;flex-wrap:wrap!important;align-items:stretch;justify-content:flex-start;gap:5px;width:100%;min-width:0;overflow:visible;padding-top:9px;border-top:1px solid #ffffff2c}
  body.role-admin.portal-app .desktop-navigation-admin .admin-nav-group {display:contents!important}
  body.role-admin.portal-app .desktop-navigation-admin > .admin-nav-group > .admin-nav-label {display:none!important}
  body.role-admin.portal-app .desktop-navigation-admin .admin-nav-secondary {margin:0!important;padding:0!important;border:0!important}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link {flex:1 1 132px;justify-content:flex-start;min-width:0;min-height:44px;padding:7px 9px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff0c;font-size:.72rem;line-height:1.2;text-align:left;white-space:normal;overflow-wrap:anywhere}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link i {display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:9px;background:#ffffff18;color:#bcebd8;font-size:.95rem;font-style:normal}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link-test {background:linear-gradient(135deg,#ff8b78,#ff6f67)}
  body.role-admin.portal-app .admin-nav-expand {position:relative;flex:1 1 100%;margin:0;padding:0;border:0}
  body.role-admin.portal-app .admin-nav-expand > summary {display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 10px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff0c;color:#e9f5ef;font-size:.69rem;font-weight:850;cursor:pointer;list-style:none}
  body.role-admin.portal-app .admin-nav-expand > summary::-webkit-details-marker {display:none}
  body.role-admin.portal-app .admin-nav-subgroup {position:static;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0;margin-top:5px;padding:6px;border:1px solid #ffffff24;border-radius:13px;background:#ffffff0c;box-shadow:none}
  body.role-admin.portal-app .admin-nav-expand[open] .admin-nav-subgroup {display:grid}
  body.role-admin.portal-app .admin-nav-subgroup a {min-height:40px;padding:9px;border-radius:9px;color:#e9f5ef!important;font-size:.72rem;overflow-wrap:anywhere}
  body.role-admin.portal-app .admin-nav-subgroup a:hover {background:#ffffff18;color:#fff!important}
  body.role-admin.portal-app .mobile-bottom-nav,body.role-admin.portal-app .quick-menu-backdrop,body.role-admin.portal-app .quick-menu-panel {display:none!important}
  body.role-admin.portal-app .page-wrapper {grid-column:auto;grid-row:auto;width:100%;max-width:1600px;margin:0 auto;padding:18px 14px calc(30px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  body.role-admin.portal-app .desktop-navigation-admin .nav-link {flex-basis:calc(50% - 5px);font-size:.67rem}
  body.role-admin.portal-app .desktop-navigation-admin .nav-link i {flex-basis:23px;width:23px;height:23px}
  body.role-admin.portal-app .admin-nav-subgroup {grid-template-columns:minmax(0,1fr)}
  body.role-admin.portal-app .page-wrapper {padding-right:11px;padding-left:11px}
}

/* Keep the administrator header readable when older mobile layout rules are cached. */
@media(max-width:1049px){
  body.portal-app.role-admin .site-header {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important;
    width:100%!important;height:auto!important;min-height:0!important;padding:8px 12px 10px!important
  }
  body.portal-app.role-admin .portal-header-inner {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;
    align-items:center!important;gap:5px!important;width:100%!important;min-width:0!important;min-height:0!important;padding:0!important
  }
  body.portal-app.role-admin .mobile-header-menu-toggle {display:none!important}
  body.portal-app.role-admin .site-header .brand-link {
    grid-column:1!important;grid-row:1!important;justify-self:start!important;width:auto!important;max-width:100%!important;min-width:0!important;overflow:visible!important
  }
  body.portal-app.role-admin .site-header .brand-link .brand-copy {display:grid!important;width:auto!important;max-width:calc(100vw - 82px)!important;min-width:0!important}
  body.portal-app.role-admin .site-header .brand-link .brand-name {
    display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:manual!important
  }
  body.portal-app.role-admin .site-header .header-user-panel {
    grid-column:1!important;grid-row:2!important;justify-self:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important
  }
  body.portal-app.role-admin .site-header .header-user-panel .user-chip {
    display:flex!important;justify-content:flex-start!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:42px!important;height:auto!important;overflow:visible!important
  }
  body.portal-app.role-admin .site-header .header-user-panel .user-chip-copy {display:grid!important;flex:1 1 auto!important;width:auto!important;max-width:100%!important;min-width:0!important}
  body.portal-app.role-admin .site-header .header-user-panel .user-chip-name,
  body.portal-app.role-admin .site-header .header-user-panel .user-chip-role {
    max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:manual!important
  }
  body.portal-app.role-admin .site-header .desktop-navigation-admin {
    display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:5px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important
  }
  body.portal-app.role-admin .site-header .desktop-navigation-admin .admin-nav-group {display:contents!important}
  body.portal-app.role-admin .site-header .desktop-navigation-admin > .admin-nav-group > .admin-nav-label {display:none!important}
  body.portal-app.role-admin .site-header .desktop-navigation-admin .nav-link {
    flex:1 1 145px!important;min-width:0!important;max-width:100%!important;white-space:normal!important;
    overflow-wrap:break-word!important;word-break:normal!important;line-height:1.2!important
  }
}

/* News sits on the visual center of the CMS slide, with an AA-Portal wordmark. */
body.dashboard-page .next-home-featured-news {grid-template-columns:minmax(0,1fr)!important;justify-items:center;align-content:center;text-align:center}
body.dashboard-page .next-home-featured-news-copy {display:grid;justify-items:center;width:100%;max-width:880px;text-align:center}
body.dashboard-page .next-featured-news-kicker {justify-content:center;text-align:center}
body.dashboard-page .next-home-featured-news h1,body.dashboard-page .next-home-featured-news p {text-align:center}
@media(max-width:800px){
  body.dashboard-page .next-home-featured-news {grid-template-columns:minmax(0,1fr)!important;min-height:clamp(340px,54svh,450px)}
  body.dashboard-page .next-home-featured-news-copy {max-width:100%}
}
@media(max-width:380px){
  body.dashboard-page .next-home-featured-news {min-height:330px;padding:23px 14px}
}

/* Sales practice uses calm, readable lesson groups instead of a full-screen swipe deck. */
body.portal-app.sales-learning-page {position:relative;isolation:isolate;min-height:100svh;background:#e8eee6!important;color:#173c35}
body.portal-app.sales-learning-page::before {position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 7% 9%,#f7d7c4 0,transparent 29rem),radial-gradient(ellipse at 93% 22%,#badcc7 0,transparent 32rem),radial-gradient(ellipse at 50% 100%,#d5d8eb 0,transparent 36rem),linear-gradient(145deg,#f2eee4,#e2ebe3 58%,#e5e9ef);content:"";pointer-events:none}
body.portal-app.sales-learning-page .site-shell {background:transparent!important}
body.portal-app.sales-learning-page .page-wrapper {width:min(100%,1320px);max-width:1320px;margin-inline:auto;padding:clamp(16px,2.5vw,32px) clamp(13px,3vw,42px) calc(32px + env(safe-area-inset-bottom))!important}
body.portal-app.sales-learning-page .page-body {display:block;min-width:0;overflow:visible}
body.portal-app.sales-learning-page .sales-learning {display:grid;gap:clamp(16px,2.2vw,24px);width:100%;min-width:0}
body.portal-app.sales-learning-page .sales-learning-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:3px 2px 2px}
body.portal-app.sales-learning-page .sales-learning-title-group {min-width:0}
body.portal-app.sales-learning-page .sales-learning-eyebrow {color:#b6624d;font-size:.68rem;font-weight:900;letter-spacing:.16em}
body.portal-app.sales-learning-page .sales-learning-heading h1 {margin:7px 0 4px;color:#183f38;font-size:clamp(1.8rem,4vw,3rem);font-weight:850;letter-spacing:-.055em;line-height:1.04;text-wrap:balance}
body.portal-app.sales-learning-page .sales-learning-summary {margin:0;color:#60756d;font-size:.94rem;font-weight:650}
body.portal-app.sales-learning-page .sales-learning-about {position:relative;flex:0 0 auto;max-width:min(330px,42%)}
body.portal-app.sales-learning-page .sales-learning-about summary {display:flex;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border:1px solid #c4d5c8;border-radius:14px;background:#ffffffb5;color:#31564a;font-size:.85rem;font-weight:750;cursor:pointer;list-style:none;box-shadow:0 8px 24px #2446360a}
body.portal-app.sales-learning-page .sales-learning-about summary::-webkit-details-marker {display:none}
body.portal-app.sales-learning-page .sales-learning-about p {position:absolute;top:calc(100% + 8px);right:0;z-index:10;width:min(420px,86vw);margin:0;padding:16px 18px;border:1px solid #d3dfd2;border-radius:16px;background:#fffdf7;color:#405a51;font-size:.88rem;line-height:1.55;box-shadow:0 18px 40px #25433720}
body.portal-app.sales-learning-page .sales-learning-topics {display:grid;gap:12px;min-width:0}
body.portal-app.sales-learning-page .sales-learning-topic {--sales-topic:#4d9471;--sales-topic-soft:#edf5ed;min-width:0;scroll-margin-top:100px;overflow:clip;border:1px solid #d6e1d5;border-radius:23px;background:#fdfdf8eF;box-shadow:0 12px 34px #24493610;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.portal-app.sales-learning-page .sales-learning-topic:nth-child(5n + 2) {--sales-topic:#c97961;--sales-topic-soft:#fff0e9}
body.portal-app.sales-learning-page .sales-learning-topic:nth-child(5n + 3) {--sales-topic:#537ea2;--sales-topic-soft:#edf3f8}
body.portal-app.sales-learning-page .sales-learning-topic:nth-child(5n + 4) {--sales-topic:#a07b38;--sales-topic-soft:#fbf3df}
body.portal-app.sales-learning-page .sales-learning-topic:nth-child(5n + 5) {--sales-topic:#8273a4;--sales-topic-soft:#f2eff8}
body.portal-app.sales-learning-page .sales-learning-topic[open] {border-color:color-mix(in srgb,var(--sales-topic) 36%,#d6e1d5);box-shadow:0 18px 44px #24493616}
body.portal-app.sales-learning-page .sales-learning-topic-summary {display:grid;grid-template-columns:48px minmax(0,1fr) auto 18px;gap:15px;align-items:center;min-height:104px;padding:17px 21px;cursor:pointer;list-style:none}
body.portal-app.sales-learning-page .sales-learning-topic-summary::-webkit-details-marker {display:none}
body.portal-app.sales-learning-page .sales-learning-topic-number {display:grid;width:46px;height:46px;place-items:center;border:1px solid color-mix(in srgb,var(--sales-topic) 22%,white);border-radius:16px;background:var(--sales-topic-soft);color:var(--sales-topic);font-size:.95rem;font-weight:900;font-variant-numeric:tabular-nums}
body.portal-app.sales-learning-page .sales-learning-topic-copy {display:grid;gap:3px;min-width:0}
body.portal-app.sales-learning-page .sales-learning-topic-step {color:var(--sales-topic);font-size:.61rem;font-weight:900;letter-spacing:.13em}
body.portal-app.sales-learning-page .sales-learning-topic-title {color:#1b4038;font-size:clamp(1.1rem,2vw,1.42rem);font-weight:820;letter-spacing:-.025em;line-height:1.15;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-topic-description {display:-webkit-box;max-width:78ch;overflow:hidden;color:#708078;font-size:.82rem;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.portal-app.sales-learning-page .sales-learning-topic-count {padding:7px 10px;border:1px solid #dce5db;border-radius:999px;background:#fff;color:#5c7066;font-size:.7rem;font-weight:750;white-space:nowrap}
body.portal-app.sales-learning-page .sales-learning-topic-arrow {width:10px;height:10px;border-right:2px solid #70847a;border-bottom:2px solid #70847a;transform:rotate(45deg) translateY(-3px);transition:transform .22s ease}
body.portal-app.sales-learning-page .sales-learning-topic[open] .sales-learning-topic-arrow {transform:rotate(225deg) translate(-2px,-1px)}
body.portal-app.sales-learning-page .sales-learning-topic-content {padding:0 clamp(14px,2.2vw,24px) 21px;border-top:1px solid #e5e9df;animation:sales-topic-arrive .22s ease-out both}
body.portal-app.sales-learning-page .sales-learning-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px}
body.portal-app.sales-learning-page .sales-learning-card {position:relative;display:grid;align-content:start;min-width:0;min-height:148px;padding:19px 20px 18px;overflow:hidden;border:1px solid #e4e8df;border-radius:18px;background:linear-gradient(145deg,#fffefa,#f8f8f0);box-shadow:0 7px 20px #284a3809}
body.portal-app.sales-learning-page .sales-learning-card::before {position:absolute;top:0;left:18px;width:42px;height:3px;border-radius:0 0 5px 5px;background:var(--sales-topic);content:"";opacity:.72}
body.portal-app.sales-learning-page .sales-learning-card-copy {display:grid;align-content:start;justify-items:start;gap:9px;min-width:0}
body.portal-app.sales-learning-page .sales-learning-card-type {color:var(--sales-topic);font-size:.61rem;font-weight:900;letter-spacing:.12em;line-height:1.3}
body.portal-app.sales-learning-page .sales-learning-card h2 {margin:0;color:#24453d;font-size:clamp(1rem,1.35vw,1.18rem);font-weight:800;letter-spacing:-.02em;line-height:1.28;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-card p {margin:0;color:#536c62;font-size:.9rem;line-height:1.62;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-card-link {display:inline-flex;align-items:center;gap:7px;min-height:40px;margin-top:3px;padding:0 12px;border:1px solid #d8e6d9;border-radius:11px;background:#eff5eb;color:#315d4b;font-size:.79rem;font-weight:800;text-decoration:none}
body.portal-app.sales-learning-page .sales-learning-card-product.sales-learning-card-has-image {grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);align-items:stretch;padding:0}
body.portal-app.sales-learning-page .sales-learning-image {position:relative;display:grid;min-width:0;min-height:215px;place-items:center;padding:12px;border:0;border-right:1px solid #e5e8df;background:radial-gradient(ellipse at center,#fff,#eef3e9 75%);cursor:zoom-in}
body.portal-app.sales-learning-page .sales-learning-image img {display:block;width:100%;height:100%;max-height:270px;object-fit:contain;filter:drop-shadow(0 10px 13px #203d3020);transition:transform .22s ease}
body.portal-app.sales-learning-page .sales-learning-image:hover img {transform:scale(1.035)}
body.portal-app.sales-learning-page .sales-learning-image-label {position:absolute;right:10px;bottom:10px;padding:6px 9px;border:1px solid #d8e4d5;border-radius:999px;background:#ffffffdf;color:#496253;font-size:.67rem;font-weight:750}
body.portal-app.sales-learning-page .sales-learning-card-product .sales-learning-card-copy {align-content:center;padding:20px}
body.portal-app.sales-learning-page .sales-learning-next-row {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:14px;border-top:1px solid #e5e9df;color:#738078;font-size:.78rem;font-weight:650}
body.portal-app.sales-learning-page .sales-learning-next {display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:0;border-radius:13px;background:#2d7255;color:#fff;font-size:.84rem;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #1a614126;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
body.portal-app.sales-learning-page .sales-learning-next:hover {transform:translateY(-1px);background:#245f47;box-shadow:0 11px 22px #1a614133}
body.portal-app.sales-learning-page .sales-learning-finish {margin:17px 0 0;padding-top:14px;border-top:1px solid #e5e9df;color:#61766c;font-size:.82rem;font-weight:700}
body.portal-app.sales-learning-page .sales-learning-contacts {position:static!important;inset:auto!important;display:flex;align-items:center;gap:16px;width:100%;margin:17px 0 0;padding:14px 17px;border:1px solid #d4dfd1;border-radius:17px;background:#f9fbf5d9;box-shadow:0 10px 28px #2449360c}
body.portal-app.sales-learning-page .sales-learning-contacts > h2 {flex:0 0 auto;margin:0;color:#315849;font-size:.87rem;font-weight:850}
body.portal-app.sales-learning-page .sales-learning-contact-row {display:grid;flex:1;grid-template-columns:repeat(var(--sales-contact-count,3),minmax(0,1fr));gap:8px;min-width:0}
body.portal-app.sales-learning-page .sales-learning-contact {display:grid;align-content:start;gap:3px;min-width:0;padding-left:12px;border-left:1px solid #dbe4d8}
body.portal-app.sales-learning-page .sales-learning-contact h3 {margin:0;color:#375b4c;font-size:.71rem;font-weight:820;line-height:1.25;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-contact p {display:flex;flex-wrap:wrap;gap:2px 8px;margin:0;color:#66796f;font-size:.65rem;line-height:1.35;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-contact p span {min-width:0;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-learning-empty {display:grid;min-height:220px;place-content:center;justify-items:center;border:1px solid #d4dfd1;border-radius:24px;background:#fafbf6;color:#355c4c}
body.portal-app.sales-learning-page .sales-image-lightbox {position:fixed;inset:0;display:none;place-items:center;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:calc(60px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));overflow:hidden;border:0;background:#10231ff5;color:#fff}
body.portal-app.sales-learning-page .sales-image-lightbox[open] {display:grid}
body.portal-app.sales-learning-page .sales-image-lightbox::backdrop {background:#12251edb;backdrop-filter:blur(8px)}
body.portal-app.sales-learning-page .sales-image-lightbox figure {display:grid;justify-items:center;gap:12px;width:100%;height:100%;margin:0}
body.portal-app.sales-learning-page .sales-image-lightbox img {display:block;width:min(100%,1120px);height:min(100%,84svh);object-fit:contain;border-radius:14px;touch-action:pinch-zoom}
body.portal-app.sales-learning-page .sales-image-lightbox figcaption {max-width:90vw;color:#f1f6ef;font-size:.9rem;font-weight:800;text-align:center;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-image-lightbox-close {position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));z-index:2;display:grid;width:48px;height:48px;min-height:48px;place-items:center;padding:0;border:1px solid #ffffff65;border-radius:15px;background:#ffffff18;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
@keyframes sales-topic-arrive {from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){
  body.portal-app.sales-learning-page .page-wrapper {padding:14px 13px calc(108px + env(safe-area-inset-bottom))!important}
  body.portal-app.sales-learning-page .sales-learning {gap:15px}
  body.portal-app.sales-learning-page .sales-learning-heading {align-items:flex-start;gap:10px}
  body.portal-app.sales-learning-page .sales-learning-heading h1 {font-size:clamp(1.72rem,7vw,2.45rem)}
  body.portal-app.sales-learning-page .sales-learning-summary {font-size:.82rem}
  body.portal-app.sales-learning-page .sales-learning-about {max-width:none}
  body.portal-app.sales-learning-page .sales-learning-about summary {min-height:40px;padding:0 12px;font-size:.76rem}
  body.portal-app.sales-learning-page .sales-learning-about p {position:fixed;top:calc(78px + env(safe-area-inset-top));right:12px;width:min(420px,calc(100vw - 24px))}
  body.portal-app.sales-learning-page .sales-learning-topics {gap:9px}
  body.portal-app.sales-learning-page .sales-learning-topic {border-radius:19px;scroll-margin-top:88px}
  body.portal-app.sales-learning-page .sales-learning-topic-summary {grid-template-columns:41px minmax(0,1fr) 16px;gap:10px;min-height:92px;padding:14px 13px}
  body.portal-app.sales-learning-page .sales-learning-topic-number {grid-column:1;grid-row:1 / span 2;width:39px;height:39px;border-radius:13px;font-size:.82rem}
  body.portal-app.sales-learning-page .sales-learning-topic-copy {grid-column:2;grid-row:1}
  body.portal-app.sales-learning-page .sales-learning-topic-step {font-size:.56rem}
  body.portal-app.sales-learning-page .sales-learning-topic-title {font-size:1.04rem}
  body.portal-app.sales-learning-page .sales-learning-topic-description {font-size:.72rem;-webkit-line-clamp:2}
  body.portal-app.sales-learning-page .sales-learning-topic-count {grid-column:2;grid-row:2;justify-self:start;margin-top:6px;padding:4px 8px;font-size:.64rem}
  body.portal-app.sales-learning-page .sales-learning-topic-arrow {grid-column:3;grid-row:1;width:9px;height:9px}
  body.portal-app.sales-learning-page .sales-learning-topic-content {padding:0 11px 14px}
  body.portal-app.sales-learning-page .sales-learning-card-grid {grid-template-columns:minmax(0,1fr);gap:9px;padding-top:11px}
  body.portal-app.sales-learning-page .sales-learning-card {min-height:0;padding:17px 16px;border-radius:16px}
  body.portal-app.sales-learning-page .sales-learning-card-type {font-size:.57rem}
  body.portal-app.sales-learning-page .sales-learning-card h2 {font-size:1.03rem}
  body.portal-app.sales-learning-page .sales-learning-card p {font-size:.87rem;line-height:1.55}
  body.portal-app.sales-learning-page .sales-learning-card-product.sales-learning-card-has-image {grid-template-columns:minmax(0,1fr)}
  body.portal-app.sales-learning-page .sales-learning-image {min-height:190px;border-right:0;border-bottom:1px solid #e5e8df}
  body.portal-app.sales-learning-page .sales-learning-image img {max-height:230px}
  body.portal-app.sales-learning-page .sales-learning-card-product .sales-learning-card-copy {padding:16px}
  body.portal-app.sales-learning-page .sales-learning-next-row {align-items:flex-start;font-size:.72rem}
  body.portal-app.sales-learning-page .sales-learning-next {min-height:43px;padding:0 13px;font-size:.78rem;white-space:nowrap}
  body.portal-app.sales-learning-page .sales-learning-contacts {display:grid;gap:9px;margin-top:12px;padding:12px;border-radius:15px}
  body.portal-app.sales-learning-page .sales-learning-contacts > h2 {font-size:.78rem}
  body.portal-app.sales-learning-page .sales-learning-contact-row {gap:4px}
  body.portal-app.sales-learning-page .sales-learning-contact {gap:3px;padding-left:7px}
  body.portal-app.sales-learning-page .sales-learning-contact h3 {font-size:.62rem}
  body.portal-app.sales-learning-page .sales-learning-contact p {display:grid;gap:1px;font-size:.59rem;line-height:1.3}
}
@media(max-width:380px){
  body.portal-app.sales-learning-page .page-wrapper {padding-right:10px;padding-left:10px}
  body.portal-app.sales-learning-page .sales-learning-heading h1 {font-size:1.62rem}
  body.portal-app.sales-learning-page .sales-learning-about summary {padding:0 9px;font-size:.7rem}
  body.portal-app.sales-learning-page .sales-learning-topic-summary {grid-template-columns:36px minmax(0,1fr) 13px;gap:8px;padding-right:11px;padding-left:11px}
  body.portal-app.sales-learning-page .sales-learning-topic-number {width:35px;height:35px;border-radius:12px;font-size:.75rem}
  body.portal-app.sales-learning-page .sales-learning-contact-row {grid-template-columns:repeat(var(--sales-contact-count,3),minmax(0,1fr));gap:2px}
  body.portal-app.sales-learning-page .sales-learning-contact {padding-left:5px}
  body.portal-app.sales-learning-page .sales-learning-contact h3 {font-size:.57rem}
  body.portal-app.sales-learning-page .sales-learning-contact p {font-size:.53rem}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app.sales-learning-page *,body.portal-app.sales-learning-page *::before,body.portal-app.sales-learning-page *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Compact administrator navigation with grouped destinations. */
body.role-admin.portal-app .desktop-navigation-admin {
  display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;overflow:visible;padding-top:2px
}
body.role-admin.portal-app .admin-nav-home,
body.role-admin.portal-app .admin-nav-report,
body.role-admin.portal-app .admin-nav-menu > summary {
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid #ffffff25;border-radius:13px;background:#ffffff0d;color:#e8f3ed!important;font-size:.83rem;font-weight:800;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease
}
body.role-admin.portal-app .admin-nav-home i,
body.role-admin.portal-app .admin-nav-report i,
body.role-admin.portal-app .admin-nav-menu > summary i {font-size:1rem;font-style:normal;color:#bcebd8}
body.role-admin.portal-app .admin-nav-home:hover,
body.role-admin.portal-app .admin-nav-home.is-active,
body.role-admin.portal-app .admin-nav-report:hover,
body.role-admin.portal-app .admin-nav-report.is-active,
body.role-admin.portal-app .admin-nav-menu > summary:hover,
body.role-admin.portal-app .admin-nav-menu.is-active > summary,
body.role-admin.portal-app .admin-nav-menu[open] > summary {border-color:#ffffff55;background:#ffffff1c;color:#fff!important}
body.role-admin.portal-app .admin-nav-menu {position:relative;flex:0 1 auto;min-width:0}
body.role-admin.portal-app .admin-nav-menu > summary {list-style:none}
body.role-admin.portal-app .admin-nav-menu > summary::-webkit-details-marker {display:none}
body.role-admin.portal-app .admin-nav-menu > summary b {font-size:.78rem;font-weight:700;opacity:.75;transition:transform .18s ease}
body.role-admin.portal-app .admin-nav-menu[open] > summary b {transform:rotate(180deg)}
body.role-admin.portal-app .admin-nav-dropdown {
  position:absolute;top:calc(100% + 8px);left:0;z-index:120;display:none;grid-template-columns:minmax(0,1fr);gap:3px;min-width:235px;max-width:min(360px,calc(100vw - 24px));padding:8px;border:1px solid #d8e6de;border-radius:15px;background:#fffdf7;box-shadow:0 18px 45px #0c2d302e
}
body.role-admin.portal-app .admin-nav-menu[open] .admin-nav-dropdown {display:grid}
body.role-admin.portal-app .admin-nav-dropdown a {display:flex;align-items:center;min-height:42px;padding:9px 11px;border-radius:10px;color:#244a45;font-size:.82rem;font-weight:740;line-height:1.25;text-decoration:none;white-space:normal}
body.role-admin.portal-app .admin-nav-dropdown a:hover,
body.role-admin.portal-app .admin-nav-dropdown a.is-active {background:#e8f2e9;color:#174e49}
body.role-admin.portal-app .admin-nav-menu:nth-of-type(2) .admin-nav-dropdown,
body.role-admin.portal-app .admin-nav-menu:nth-of-type(3) .admin-nav-dropdown {left:auto;right:0}
body.role-admin.portal-app .admin-nav-report {margin-left:auto}
body.role-admin.portal-app .admin-nav-home:focus-visible,
body.role-admin.portal-app .admin-nav-report:focus-visible,
body.role-admin.portal-app .admin-nav-menu > summary:focus-visible,
body.role-admin.portal-app .admin-nav-dropdown a:focus-visible {outline:3px solid #d9f28a;outline-offset:2px}

@media(max-width:1049px){
  body.role-admin.portal-app .desktop-navigation-admin {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;padding-top:9px}
  body.portal-app.role-admin .site-header .desktop-navigation-admin {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;flex-wrap:initial!important}
  body.role-admin.portal-app .admin-nav-menu {min-width:0}
  body.role-admin.portal-app .admin-nav-home,
  body.role-admin.portal-app .admin-nav-report,
  body.role-admin.portal-app .admin-nav-menu > summary {justify-content:flex-start;min-width:0;min-height:46px;padding:8px 10px;font-size:.76rem;white-space:normal;overflow-wrap:break-word}
  body.role-admin.portal-app .admin-nav-menu > summary span {min-width:0;flex:1 1 auto}
  body.role-admin.portal-app .admin-nav-report {margin-left:0}
  body.role-admin.portal-app .admin-nav-dropdown {position:static;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:none;margin-top:5px;padding:5px;border-color:#ffffff2d;background:#ffffff0e;box-shadow:none}
  body.role-admin.portal-app .admin-nav-dropdown a {min-width:0;min-height:44px;padding:8px;border:1px solid #ffffff18;color:#eff7f1!important;font-size:.72rem;overflow-wrap:anywhere}
  body.role-admin.portal-app .admin-nav-dropdown a:hover,
  body.role-admin.portal-app .admin-nav-dropdown a.is-active {background:#ffffff22;color:#fff!important}
  body.role-admin.portal-app .admin-nav-menu:nth-of-type(2) .admin-nav-dropdown,
  body.role-admin.portal-app .admin-nav-menu:nth-of-type(3) .admin-nav-dropdown {left:auto;right:auto}
}
@media(max-width:390px){
  body.role-admin.portal-app .desktop-navigation-admin {gap:5px}
  body.role-admin.portal-app .admin-nav-home,
  body.role-admin.portal-app .admin-nav-report,
  body.role-admin.portal-app .admin-nav-menu > summary {gap:6px;padding:7px 8px;font-size:.7rem}
  body.role-admin.portal-app .admin-nav-dropdown {grid-template-columns:minmax(0,1fr)}
}

/* Editing controls are grouped by the employee page they update. */
.employee-home-editor,.official-catalog-admin {display:grid;gap:15px;min-width:0}
.employee-home-editor-intro,.official-catalog-admin-intro {display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#fffdf5,#e9f3ec);border:1px solid #d7e4d8}
.employee-home-editor-intro h2,.official-catalog-admin-intro h2 {margin:5px 0;color:#19443e;font-size:1.35rem;letter-spacing:-.03em}
.employee-home-editor-intro p,.official-catalog-admin-intro p {margin:0;line-height:1.45}
.employee-home-editor-form {display:grid;gap:15px}
.admin-editor-section-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.admin-editor-section-heading h2,.official-product-editor-heading h2 {margin:4px 0 0;color:#214b45;font-size:1.12rem;letter-spacing:-.025em}
.employee-home-logo-preview {align-items:center;margin-top:12px}
.employee-home-save-bar {position:sticky;bottom:12px;z-index:4;display:flex;justify-content:flex-end;padding:10px;border:1px solid #ffffffbc;border-radius:16px;background:#fffdf1e8;box-shadow:0 10px 28px #193f3320;backdrop-filter:blur(10px)}
.employee-home-save-bar button {min-height:48px;padding-inline:22px}
.official-catalog-admin-top-grid {display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.6fr);gap:14px;align-items:start}
.official-catalog-admin-top-grid > .card {min-width:0}
.official-catalog-source-form {grid-template-columns:minmax(0,1fr) auto;align-items:end}
.official-catalog-source-form label {min-width:0}
.official-catalog-source-form button {min-height:46px;white-space:nowrap}
.official-category-editor-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.official-category-edit {min-width:0;border:1px solid #dce5db;border-radius:12px;background:#fbfcf7}
.official-category-edit > summary {display:flex;align-items:center;gap:7px;min-height:46px;padding:9px 11px;cursor:pointer;list-style:none}
.official-category-edit > summary::-webkit-details-marker,.official-product-edit > summary::-webkit-details-marker {display:none}
.official-category-edit > summary strong {min-width:0;flex:1;font-size:.79rem;line-height:1.2;overflow-wrap:anywhere}
.official-category-edit > summary span {color:#718176;font-size:.64rem;white-space:nowrap}
.official-category-edit > summary b {color:#62816e;font-size:.8rem}
.official-category-edit .admin-form {display:grid;gap:9px;padding:0 11px 11px}
.official-category-edit .admin-form label {gap:4px;font-size:.72rem}
.official-category-edit .admin-form input {min-height:39px;font-size:.76rem}
.official-category-edit .admin-form button {min-height:40px;font-size:.76rem}
.official-product-editor {min-width:0;padding:clamp(13px,2vw,22px)}
.official-product-editor-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.official-product-editor-heading p {margin:5px 0 0;font-size:.76rem}
.official-product-filter {display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,.48fr) auto auto;align-items:end;gap:9px;margin:15px 0 12px;padding:12px;border:1px solid #e1e9df;border-radius:14px;background:#fbfcf7}
.official-product-filter label {display:grid;gap:5px;min-width:0;color:#355a50;font-size:.72rem;font-weight:800}
.official-product-filter input,.official-product-filter select {min-width:0;min-height:42px;padding:8px 10px;border:1px solid #d3e0d5;border-radius:10px;background:#fff;color:#214b45}
.official-product-filter button,.official-product-filter .table-button {min-height:42px;white-space:nowrap}
.official-product-editor-list {display:grid;gap:6px;max-height:min(68vh,760px);min-height:140px;overflow:auto;overscroll-behavior:contain;padding:2px 6px 4px 2px;scrollbar-gutter:stable;scroll-behavior:smooth}
.official-product-edit {min-width:0;border:1px solid #dbe5db;border-radius:13px;background:#fffefa;scroll-margin-top:18px}
.official-product-edit[open] {border-color:#a7cbb4;box-shadow:0 8px 24px #285e4612}
.official-product-edit > summary {display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:66px;padding:8px 12px;cursor:pointer;list-style:none}
.official-product-edit-thumb {display:grid;place-items:center;width:46px;height:50px;overflow:hidden;border-radius:9px;background:linear-gradient(135deg,#eef4e8,#dcebe4);color:#38745d;font-size:1rem}
.official-product-edit-thumb img {width:100%;height:100%;object-fit:contain}
.official-product-edit-name {display:grid;gap:4px;min-width:0}
.official-product-edit-name strong {color:#244b43;font-size:.82rem;line-height:1.2;overflow-wrap:anywhere}
.official-product-edit-name small {color:#718177;font-size:.68rem;line-height:1.25;overflow-wrap:anywhere}
.official-product-edit-action {display:flex;align-items:center;gap:6px;color:#447a5d;font-size:.68rem;font-weight:800;white-space:nowrap}
.official-product-edit-action b {font-size:.82rem;transition:transform .18s ease}
.official-product-edit[open] .official-product-edit-action b {transform:rotate(180deg)}
.official-product-edit-form {display:grid;gap:10px;padding:14px;border-top:1px solid #e4ebe1;background:#fbfcf7}
.official-product-edit-form label {gap:5px;font-size:.74rem}
.official-product-edit-form input,.official-product-edit-form select,.official-product-edit-form textarea {min-width:0;max-width:100%}
.official-product-image-editor {display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,150px);align-items:end;gap:12px}
.official-product-image-editor img {display:block;width:100%;height:125px;object-fit:contain;padding:6px;border:1px solid #e1e8df;border-radius:12px;background:#fff}
.official-product-edit-form button {min-height:46px;justify-self:start;padding-inline:19px}
.official-product-editor-empty {display:grid;justify-items:center;gap:7px;min-height:180px;place-content:center;border:1px dashed #cddbcf;border-radius:15px;color:#41675b;text-align:center}
.official-product-editor-empty > span {font-size:1.7rem}
.official-product-editor-empty h3,.official-product-editor-empty p {margin:0}
.official-product-editor-empty p {color:#77867c;font-size:.78rem}
.team-materials-shell {display:grid;gap:18px;width:min(100%,1080px);margin-inline:auto}
.team-materials-hero {position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(230px,31vw,360px);overflow:hidden;padding:clamp(22px,4vw,46px);border:1px solid #ffffff70;border-radius:27px;background:linear-gradient(125deg,#123e43,#1d7466 66%,#df9d70);box-shadow:0 20px 54px #153c3430;color:#fff}
.team-materials-hero::after {position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b2c33df,#144a49a8 70%,#143b3330);content:""}
.team-materials-hero-image {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.team-materials-hero-copy {width:min(100%,760px)}
.team-materials-back {display:inline-flex;align-items:center;min-height:40px;margin-bottom:14px;padding:0 12px;border:1px solid #ffffff58;border-radius:12px;background:#ffffff14;color:#fff;font-size:.8rem;font-weight:800;text-decoration:none}
.team-materials-hero .section-kicker {color:#d7f1d5}
.team-materials-hero h1 {margin:10px 0;color:#fff;font-size:clamp(1.8rem,5vw,3.45rem);line-height:1.05;letter-spacing:-.055em;overflow-wrap:anywhere}
.team-materials-hero h2 {margin:0 0 8px;color:#f1f8ed;font-size:clamp(1rem,2vw,1.3rem)}
.team-materials-hero p {max-width:66ch;margin:0;color:#f1f7ef;font-size:.95rem;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.team-materials-list {display:grid;gap:10px}
.team-material-item {overflow:hidden;border:1px solid #d9e5da;border-radius:17px;background:linear-gradient(135deg,#fffdf7,#f1f5ec);box-shadow:0 12px 32px #2449360c;scroll-margin-top:18px}
.team-material-item > summary {display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:13px;min-height:78px;padding:13px 17px;cursor:pointer;list-style:none}
.team-material-item > summary::-webkit-details-marker {display:none}
.team-material-number {display:grid;place-items:center;width:44px;height:44px;border:1px solid #d5e1cd;border-radius:14px;background:#e8f2d9;color:#315f4e;font-size:.83rem;font-weight:900}
.team-material-summary-copy {display:grid;gap:4px;min-width:0}
.team-material-summary-copy strong {color:#214b43;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}
.team-material-summary-copy small {color:#718178;font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}
.team-material-chevron {color:#4b7864;font-size:1.1rem;transition:transform .2s ease}
.team-material-item[open] .team-material-chevron {transform:rotate(180deg)}
.team-material-content {display:grid;justify-items:start;gap:13px;padding:0 20px 20px 78px;color:#344e46}
.team-material-content > img {display:block;width:min(100%,760px);max-height:430px;object-fit:contain;border-radius:14px;background:#f4f6ed}
.team-material-copy {max-width:78ch;font-size:.91rem;line-height:1.68;white-space:normal;overflow-wrap:anywhere}
.team-materials-empty {display:grid;justify-items:center;gap:8px;min-height:190px;place-content:center;border:1px dashed #cadace;border-radius:20px;background:#f9fbf4d9;color:#355b4b}
.team-materials-empty > span {font-size:1.7rem}
.team-materials-empty h2 {margin:0;font-size:1.05rem}
@media(max-width:900px){
  .official-catalog-admin-top-grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
  .employee-home-editor-intro,.official-catalog-admin-intro {align-items:flex-start;flex-direction:column;gap:12px}
  .employee-home-editor-intro h2,.official-catalog-admin-intro h2 {font-size:1.14rem}
  .official-category-editor-grid {grid-template-columns:minmax(0,1fr)}
  .official-catalog-source-form {grid-template-columns:minmax(0,1fr)}
  .official-catalog-source-form button {width:100%}
  .official-product-filter {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .official-product-filter .official-product-search {grid-column:1/-1}
  .official-product-filter button,.official-product-filter .table-button {width:100%;justify-content:center}
  .official-product-editor-list {max-height:62vh;padding-right:2px}
  .official-product-edit > summary {grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:8px}
  .official-product-edit-thumb {width:40px;height:44px}
  .official-product-edit-action {font-size:0}
  .official-product-edit-action b {font-size:.9rem}
  .official-product-edit-form {padding:11px}
  .official-product-edit-form .form-grid-2 {grid-template-columns:minmax(0,1fr)}
  .official-product-image-editor {grid-template-columns:minmax(0,1fr)}
  .official-product-image-editor img {width:min(100%,220px);justify-self:start}
  .team-materials-hero {min-height:250px;padding:22px 18px;border-radius:21px}
  .team-materials-hero h1 {font-size:clamp(1.65rem,8vw,2.5rem)}
  .team-materials-hero p {font-size:.85rem}
  .team-material-item > summary {grid-template-columns:39px minmax(0,1fr) 15px;gap:9px;min-height:72px;padding:11px}
  .team-material-number {width:37px;height:37px;border-radius:12px;font-size:.72rem}
  .team-material-summary-copy strong {font-size:.88rem}
  .team-material-summary-copy small {font-size:.7rem}
  .team-material-content {padding:0 13px 15px 59px}
  .team-material-copy {font-size:.85rem}
}
@media(max-width:360px){
  .official-product-filter {grid-template-columns:minmax(0,1fr)}
  .official-product-filter .official-product-search {grid-column:auto}
  .official-product-edit > summary {grid-template-columns:36px minmax(0,1fr) 16px}
  .official-product-edit-thumb {width:34px;height:40px}
  .team-material-content {padding-left:13px}
}
@media(prefers-reduced-motion:reduce){
  body.role-admin.portal-app .admin-nav-home,body.role-admin.portal-app .admin-nav-report,body.role-admin.portal-app .admin-nav-menu > summary,
  .official-product-editor-list,.official-product-edit-action b,.team-material-chevron {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
body.portal-app .material-category-edit-form {display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:8px;min-width:0;flex:1}
body.portal-app .material-category-edit-form label {min-width:0;margin:0}
body.portal-app .material-category-edit-form input {min-height:40px;padding:7px 10px;border:1px solid #d7e2d8;border-radius:10px;background:#fffefa;color:#234a43;font-size:.82rem}
body.portal-app .material-category-edit-form button,body.portal-app .category-row > form button {min-height:40px;white-space:nowrap}
@media(max-width:620px){
  body.portal-app .category-row {align-items:stretch;flex-direction:column;gap:7px}
  body.portal-app .material-category-edit-form {grid-template-columns:minmax(0,1fr) auto;width:100%}
  body.portal-app .category-row > form {align-self:flex-end}
}

/* Phone header: give the account name enough real width to wrap naturally. */
@media(max-width:760px){
  body.portal-app:not(.role-admin) .site-header .portal-header-inner {
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    grid-template-rows:minmax(48px,auto)!important;align-items:center!important;gap:7px!important;min-height:52px!important
  }
  body.portal-app:not(.role-admin) .site-header .brand-link {grid-column:1!important;grid-row:1!important;justify-self:start!important;min-width:0!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel {grid-column:2!important;grid-row:1!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .dropdown {width:100%;min-width:0}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip {
    display:flex!important;justify-content:flex-end!important;gap:5px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    min-height:42px!important;height:auto!important;padding:4px 7px!important;overflow:visible!important
  }
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-icon {width:26px!important;height:26px!important;flex:0 0 26px!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-copy {display:grid!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;overflow:visible!important;text-align:right}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-name {
    display:block!important;width:100%!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;
    overflow-wrap:break-word!important;word-break:normal!important;-webkit-line-clamp:unset!important;font-size:clamp(10px,3.1vw,13px)!important;line-height:1.18!important
  }
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-role,
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-caret {display:none!important}
}
@media(max-width:380px){
  body.portal-app:not(.role-admin) .site-header .portal-header-inner {grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:5px!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip {gap:4px!important;padding-inline:5px!important}
  body.portal-app:not(.role-admin) .site-header .header-user-panel .user-chip-icon {width:23px!important;height:23px!important;flex-basis:23px!important}
}

/* These learning pages share the portal canvas; their titles sit directly on it. */
body.portal-app.about-page,
body.portal-app.product-official-page,
body.portal-app.sales-learning-page {
  background:radial-gradient(ellipse at 7% 5%,#d4f0e9 0,transparent 27rem),radial-gradient(ellipse at 97% 14%,#ffe2d5 0,transparent 31rem),#edf3ef!important
}
body.portal-app.sales-learning-page::before {display:none!important}

body.portal-app .about-hero {
  min-height:0;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--xp-ink)
}
body.portal-app .about-hero::after {display:none}
body.portal-app .about-hero-copy,
body.portal-app .sales-learning-title-group,
body.portal-app .official-catalog-hero-copy {position:relative;isolation:isolate}
body.portal-app .about-hero-copy::before,
body.portal-app .sales-learning-title-group::before,
body.portal-app .official-catalog-hero-copy::before {
  position:absolute;z-index:-1;top:2%;left:-8%;width:min(280px,70vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#67d9b82e 0,transparent 70%);filter:blur(8px);content:"";pointer-events:none
}
body.portal-app .about-eyebrow {color:#277c6b;text-shadow:0 0 16px #71e0be66}
body.portal-app .about-hero h1,
body.portal-app .sales-learning-heading h1,
body.portal-app .official-catalog-hero h1 {color:#173f42!important;text-shadow:0 0 25px #45c6aa3b}
body.portal-app .about-hero h2 {color:#34765f}
body.portal-app .about-intro-text {color:#365650}
body.portal-app .about-hero-media {border:0;border-radius:24px;background:transparent;box-shadow:0 18px 48px #185c4c22}

body.portal-app .official-catalog-hero {
  display:flex;align-items:center;min-height:0;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--xp-ink)
}
body.portal-app .official-catalog-hero .eyebrow-label {color:#6556b0;text-shadow:0 0 16px #a89cff84}
body.portal-app .official-catalog-hero h1 {max-width:none}
body.portal-app .official-catalog-hero-stats span {padding:0;border:0;border-radius:0;background:transparent;color:#607078}
body.portal-app .official-catalog-hero-products {display:none!important}
body.portal-app .sales-learning-eyebrow {text-shadow:0 0 16px #f1aa8c80}
body.portal-app.sales-learning-page .sales-learning-heading h1 {text-shadow:0 0 26px #51bda050}

@media(max-width:800px){
  body.portal-app .about-hero {gap:14px}
  body.portal-app .about-hero h1 {font-size:clamp(1.9rem,8vw,2.8rem)}
  body.portal-app .about-hero-media {height:clamp(170px,52vw,270px)}
  body.portal-app .official-catalog-hero {min-height:0;padding:3px 0}
  body.portal-app .official-catalog-hero h1 {font-size:clamp(1.8rem,8vw,2.7rem)}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app .about-hero-copy::before,
  body.portal-app .sales-learning-title-group::before,
  body.portal-app .official-catalog-hero-copy::before {filter:none}
}

body.dashboard-page .next-home-featured-news {grid-template-columns:minmax(0,1fr)!important;min-height:clamp(270px,36svh,390px)}
@media(max-width:800px){
  body.dashboard-page .next-home-featured-news {min-height:clamp(205px,34svh,295px);padding:24px 17px}
}
@media(max-width:380px){
  body.dashboard-page .next-home-featured-news {min-height:195px;padding:20px 14px}
}

/* Navigation gives a clear active state and instant feedback while tests open. */
body.portal-app .desktop-navigation .nav-link {transition:transform .16s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
body.portal-app .desktop-navigation .nav-link.is-active:not(.nav-link-test) {border-color:#ffffff45;background:#ffffff20;box-shadow:inset 0 -2px 0 #d9f28a}
body.portal-app .desktop-navigation .nav-link:hover {transform:translateY(-1px)}
body.portal-app .desktop-navigation .nav-link:active {transform:scale(.96)}
body.portal-app .desktop-navigation .nav-link-test.is-active {box-shadow:0 0 0 3px #d9f28a55,0 9px 22px #071e2940}

@media(max-width:1049px){
  body.portal-app:not(.role-admin) .mobile-bottom-link {
    position:relative;overflow:hidden;border:1px solid transparent;
    transition:transform .16s ease,color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease
  }
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active:not(.mobile-bottom-test) {
    transform:translateY(-2px);border-color:#b9ddce;background:linear-gradient(145deg,#f5fbf4,#dfefe7);
    color:#155d57!important;box-shadow:0 6px 15px #174f431f
  }
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active:not(.mobile-bottom-test)::before {
    position:absolute;top:3px;left:50%;width:19px;height:3px;border-radius:99px;background:#ff796b;content:"";transform:translateX(-50%)
  }
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active .mobile-bottom-icon {color:#197c78;transform:translateY(-1px) scale(1.05)}
  body.portal-app:not(.role-admin) .mobile-bottom-test.is-active {transform:translateY(-5px);border-color:#fff;box-shadow:0 0 0 3px #d9f28a70,0 12px 25px #e9635660}
  body.portal-app:not(.role-admin) .mobile-bottom-link:active {transform:translateY(1px) scale(.95);filter:brightness(.96)}
  body.portal-app:not(.role-admin) .mobile-bottom-test:active {transform:translateY(-2px) scale(.95)}
  body.portal-app:not(.role-admin) .mobile-bottom-link:focus-visible {outline:3px solid #287f70;outline-offset:2px}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-navigating {filter:saturate(1.2);box-shadow:0 0 0 4px #d9f28a6e,0 12px 25px #e9635660}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-navigating .mobile-bottom-icon {animation:portal-test-nav-pulse .42s ease-in-out infinite alternate}
}
@keyframes portal-test-nav-pulse {from{transform:scale(1)}to{transform:scale(1.14)}}
body.portal-app .desktop-navigation .nav-link-test.is-navigating {animation:portal-test-nav-pulse .42s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){
  body.portal-app .desktop-navigation .nav-link,
  body.portal-app:not(.role-admin) .mobile-bottom-link,
  body.portal-app .desktop-navigation .nav-link-test.is-navigating,
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-navigating .mobile-bottom-icon {animation:none!important;transition:none!important}
}

/* Keep the admin overview brand aligned with the centered header on admin sections. */
@media(min-width:1050px){
  body.role-admin.dashboard-page.portal-app .site-header .portal-header-inner {
    display:flex!important;width:min(100%,1400px)!important;max-width:1400px!important;margin-inline:auto!important
  }
}

/* Administrator editing controls are invisible on employee pages and outside edit mode. */
.site-edit-handle,.site-edit-brand{display:none!important}
.site-editing .site-edit-handle,.site-editing .site-edit-brand{display:inline-flex!important}
.site-editing .site-edit-handle{position:relative;z-index:5;align-items:center;gap:.35rem;max-width:100%;min-height:40px;padding:.55rem .8rem;border:1px solid rgba(165,247,221,.65);border-radius:12px;background:#123c40;color:#f8fff8;font-family:inherit;font-size:.82rem;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:0 8px 24px rgba(6,28,31,.25);cursor:pointer;white-space:normal}
.site-editing .site-edit-handle:hover,.site-editing .site-edit-handle:focus-visible{background:#226668;outline:2px solid #d4f697;outline-offset:2px}
.site-editing .next-home-featured-news,.site-editing .about-hero,.site-editing .sales-learning-heading,.site-editing .sales-learning-card,.site-editing .official-catalog-hero,.site-editing .official-product-detail,.site-editing .sales-learning-contact{outline:1px dashed rgba(189,243,215,.8);outline-offset:5px}
.site-edit-slides{margin:0 0 1rem 1rem}
.site-editing .next-home-featured-news>.site-edit-handle,.site-editing .about-hero>.site-edit-handle,.site-editing .sales-learning-heading>.site-edit-handle,.site-editing .official-catalog-hero>.site-edit-handle,.site-editing .official-product-detail>.site-edit-handle,.site-editing .sales-learning-card>.site-edit-handle{position:absolute;top:.8rem;right:.8rem}
.site-editing .official-product-detail>.site-edit-handle{left:.8rem;right:auto}
.site-editing .sales-learning-card,.site-editing .official-catalog-hero,.site-editing .official-product-detail,.site-editing .next-home-featured-news,.site-editing .about-hero,.site-editing .sales-learning-heading{position:relative}
.site-editing .sales-learning-card>.site-edit-handle{max-width:calc(100% - 1.6rem)}
.site-editing .sales-learning-card-copy{padding-top:3.1rem}
.site-edit-section-actions{display:none;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.site-editing .site-edit-section-actions{display:flex}
.site-edit-catalog-item{position:relative;min-width:0}
.site-edit-catalog-item[hidden]{display:none}
.site-edit-catalog-item>.official-product-card{height:100%}
.site-editing .site-edit-catalog-item>.site-edit-handle{position:absolute;top:.65rem;right:.65rem}
.site-editing .site-edit-catalog-item>.official-product-card{outline:1px dashed rgba(189,243,215,.8);outline-offset:3px}
.site-editing .sales-learning-contacts>.site-edit-handle{margin:.5rem 0}
.site-editing .sales-learning-contact>.site-edit-handle{margin-bottom:.45rem}
.site-editing .about-slides-heading>.site-edit-handle{margin-left:auto}
.site-edit-toolbar{position:fixed;z-index:1490;right:20px;bottom:20px;display:flex;align-items:center;gap:.5rem;padding:.55rem;border:1px solid rgba(174,240,215,.44);border-radius:18px;background:rgba(10,46,49,.96);box-shadow:0 16px 48px rgba(5,20,27,.38);color:#f5fff5;backdrop-filter:blur(18px)}
.site-edit-toolbar button,.site-edit-toolbar summary{min-height:43px;padding:.6rem .82rem;border:0;border-radius:12px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:700;line-height:1.15}
.site-edit-toolbar .site-edit-toggle{background:linear-gradient(120deg,#d5f18e,#83dec7);color:#15383a}
.site-edit-toolbar .site-edit-brand{background:#225b5e;color:#fff}
.site-edit-toolbar .site-edit-pages{position:relative}
.site-edit-toolbar .site-edit-pages summary{display:flex;align-items:center;background:#235457;list-style:none}
.site-edit-toolbar .site-edit-pages summary::-webkit-details-marker{display:none}
.site-edit-toolbar .site-edit-pages nav{position:absolute;bottom:calc(100% + .8rem);left:0;display:grid;min-width:190px;padding:.5rem;border:1px solid rgba(177,239,219,.3);border-radius:14px;background:#123d42;box-shadow:0 12px 32px rgba(0,0,0,.3)}
.site-edit-toolbar .site-edit-pages a{padding:.7rem .8rem;border-radius:9px;color:#f5fff7;text-decoration:none}
.site-edit-toolbar .site-edit-pages a:hover{background:#286568}
.site-edit-toolbar .site-edit-status{font-size:.7rem;max-width:150px;color:#d2eadf}
.site-edit-dialog{width:min(570px,calc(100vw - 32px));max-height:min(90dvh,900px);padding:0;border:1px solid rgba(165,225,206,.48);border-radius:22px;background:linear-gradient(150deg,#153d41,#102d35 78%);color:#f7fff8;box-shadow:0 26px 85px rgba(1,19,25,.6);overflow:hidden}
.site-edit-dialog::backdrop{background:rgba(4,21,29,.68);backdrop-filter:blur(5px)}
.site-edit-dialog-inner{display:flex;flex-direction:column;max-height:min(90dvh,900px)}
.site-edit-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.12)}
.site-edit-dialog-heading span{font-size:.7rem;font-weight:800;letter-spacing:.1em;color:#b7e4d1}
.site-edit-dialog-heading h2{margin:.2rem 0 0;font-size:1.35rem;color:#fff}
.site-edit-dialog-heading button{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:#2a5960;color:#fff;font-size:1.5rem;cursor:pointer}
.site-edit-dialog form{display:flex;flex-direction:column;min-height:0}
.site-edit-fields{display:grid;gap:1rem;overflow-y:auto;padding:1.2rem 1.35rem;overscroll-behavior:contain}
.site-edit-field{display:grid;gap:.42rem;min-width:0;font-size:.88rem;font-weight:700;color:#e6faf0}
.site-edit-field>input:not([type=checkbox]),.site-edit-field>textarea,.site-edit-field>select{box-sizing:border-box;width:100%;min-height:44px;padding:.72rem .8rem;border:1px solid #68938d;border-radius:11px;background:#f7fcf7;color:#183b3e;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.35}
.site-edit-field>textarea{resize:vertical}
.site-edit-field>input[type=checkbox]{width:22px;height:22px;accent-color:#aada8c}
.site-edit-field:has(input[type=checkbox]){display:flex;align-items:center;gap:.65rem}
.site-edit-field:has(input[type=hidden]){display:none}
.site-edit-current-image{margin:0;max-width:100%}
.site-edit-current-image img{display:block;max-width:min(100%,360px);max-height:210px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.07)}
.editor-workspace img.site-edit-current-image{display:block;max-width:min(100%,360px);max-height:210px;object-fit:contain;border-radius:12px}
.site-edit-slide-heading{margin:.5rem 0 0;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.15);font-size:1rem}
.site-edit-preview{margin:0 1.35rem .8rem;padding:1rem;border:1px solid rgba(173,236,203,.35);border-radius:14px;background:rgba(255,255,255,.08);white-space:pre-wrap}
.site-edit-preview strong{display:block;color:#edffde;font-size:1.1rem}
.site-edit-preview p{margin:.45rem 0 0;color:#edf7ef;overflow-wrap:anywhere}
.site-edit-preview img{display:block;max-width:100%;max-height:170px;margin-top:.7rem;border-radius:9px;object-fit:contain}
.site-edit-error{margin:.4rem 1.35rem;color:#ffe0d7}
.site-edit-actions{display:flex;gap:.7rem;justify-content:flex-end;padding:1rem 1.35rem;border-top:1px solid rgba(255,255,255,.12)}
.site-edit-actions button{min-height:44px;padding:.7rem 1.2rem;border-radius:12px;cursor:pointer;font-weight:800}
.site-edit-actions .site-edit-cancel{border:1px solid #77a69e;background:transparent;color:#fff}
.site-edit-actions .site-edit-save{border:0;background:#cdef8a;color:#143938}
.site-edit-actions .site-edit-save:disabled{opacity:.55;cursor:wait}
.site-edit-delete{justify-self:start;padding:.65rem .8rem;border:1px solid #f1a5a0;border-radius:10px;background:transparent;color:#ffe3df;cursor:pointer}
@media(max-width:700px){
  .site-edit-toolbar{right:10px;left:10px;bottom:calc(80px + env(safe-area-inset-bottom));justify-content:space-between;flex-wrap:wrap;padding:.45rem;border-radius:15px}
  .site-edit-toolbar .site-edit-status{display:none}
  .site-edit-toolbar button,.site-edit-toolbar summary{min-height:42px;padding:.55rem .65rem;font-size:.79rem}
  .site-editing .page-wrapper{padding-bottom:180px}
  .site-edit-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:90dvh;border-radius:22px 22px 0 0}
  .site-edit-dialog-inner{max-height:90dvh}
  .site-edit-fields{padding:1rem}
  .site-editing .sales-learning-card-copy{padding-top:4.1rem}
  .site-editing .next-home-featured-news>.site-edit-handle,.site-editing .about-hero>.site-edit-handle,.site-editing .sales-learning-heading>.site-edit-handle{position:relative;top:auto;right:auto;margin:.7rem}
}
@media(prefers-reduced-motion:reduce){.site-edit-dialog,.site-edit-handle,.site-edit-toolbar{scroll-behavior:auto;animation:none!important;transition:none!important}}

/* Learning administration: one readable workspace per item. */
.editor-workspace{max-width:1500px;margin:0 auto 3rem;color:#f6fff9}
.editor-learning-nav{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1rem;padding:.2rem 0 .45rem;scrollbar-width:thin}
.editor-learning-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.6rem .9rem;border:1px solid rgba(172,225,198,.36);border-radius:11px;background:#1a4c50;color:#e9f8ed;font-size:.85rem;font-weight:780;text-decoration:none;white-space:nowrap}
.editor-learning-nav a[aria-current=page]{background:#cbe99a;color:#133b3d;border-color:#cbe99a}
.editor-workspace [hidden]{display:none!important}
.editor-workspace-hero,.editor-panel{border:1px solid rgba(164,224,203,.32);border-radius:23px;background:linear-gradient(145deg,rgba(15,59,63,.98),rgba(20,43,51,.97));box-shadow:0 14px 44px rgba(6,27,32,.2)}
.editor-workspace-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;margin-bottom:1.2rem;padding:1.55rem 1.8rem;background:radial-gradient(circle at 92% 6%,rgba(187,233,122,.25),transparent 40%),linear-gradient(125deg,#134a4d,#182f42)}
.editor-eyebrow{display:block;margin-bottom:.5rem;color:#cfebaa;font-size:.71rem;font-weight:850;letter-spacing:.13em}
.editor-workspace-hero h2{margin:.25rem 0 .35rem;color:#fff;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.1;overflow-wrap:anywhere}
.editor-workspace-hero p{max-width:670px;margin:0;color:#d8eee7;font-size:.93rem;line-height:1.5}
.editor-back{display:inline-block;margin-bottom:.85rem;color:#d2f5bc;font-weight:750;text-decoration:none}
.editor-workspace-status{display:grid;gap:.5rem;justify-items:end;color:#dcefe8;font-size:.84rem;white-space:nowrap}
.editor-workspace-columns{display:grid;grid-template-columns:minmax(285px,.72fr) minmax(0,1.6fr);gap:1.2rem;align-items:start}
.editor-test-layout{grid-template-columns:minmax(280px,350px) minmax(0,1fr)}
.editor-material-layout{grid-template-columns:minmax(300px,430px) minmax(0,1fr)}
.editor-builder-stack{display:grid;gap:1.2rem;min-width:0}
.editor-panel{min-width:0;padding:1.45rem}
.editor-panel h3{margin:.2rem 0 1.1rem;color:#fafff6;font-size:1.35rem;overflow-wrap:anywhere}
.editor-panel h4{margin:0;font-size:1rem}
.editor-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.editor-panel-heading h3{margin:0}
.editor-panel-heading h3 span{font-size:.9rem;color:#bde5d5}
.editor-panel-heading>span{color:#c8ebdb;font-weight:700}
.editor-form{display:grid;gap:1rem}
.editor-form label:not(.editor-check),.editor-filter{display:grid;gap:.4rem;min-width:0;color:#e3f3e9;font-size:.88rem;font-weight:750}
.editor-form small{font-weight:400;color:#c9dfd6}
.editor-form input:not([type=checkbox]):not([type=radio]),.editor-form textarea,.editor-form select,.editor-filter input,.editor-category-list input{box-sizing:border-box;width:100%;min-width:0;min-height:45px;padding:.72rem .82rem;border:1px solid #719b99;border-radius:11px;background:#f8fcf7;color:#183c3d;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.3}
.editor-form textarea{resize:vertical;line-height:1.48}
.editor-form input:focus-visible,.editor-form textarea:focus-visible,.editor-form select:focus-visible,.editor-filter input:focus-visible{outline:3px solid #c7e789;outline-offset:2px}
.editor-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.editor-check{display:flex;align-items:center;gap:.7rem;color:#edf8f1;font-size:.88rem;cursor:pointer}
.editor-check input{flex:none;width:21px;height:21px;accent-color:#9bdb9d}
.editor-publish{padding:.75rem;border:1px solid rgba(177,234,193,.33);border-radius:12px;background:rgba(161,225,180,.09);font-weight:800}
.editor-correct{align-self:end;min-height:45px}
.editor-help{margin:0;color:#c9dfd6;font-size:.8rem;line-height:1.45}
.editor-help a{color:#d8ffbb}
.editor-primary-button,.editor-item-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1.1rem;border:0;border-radius:11px;background:linear-gradient(110deg,#cbed8c,#8adcc6);color:#133c3d;font-weight:850;text-decoration:none;cursor:pointer}
.editor-outline-link,.editor-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:.55rem .8rem;border:1px solid #8abeb2;border-radius:10px;background:rgba(255,255,255,.04);color:#e9ffed;font-weight:700;text-decoration:none;cursor:pointer}
.editor-danger-link{min-height:36px;padding:.45rem .5rem;border:0;background:transparent;color:#ffcac2;text-align:left;font-weight:700;cursor:pointer}
.editor-form-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.3rem}
.editor-item-list{display:grid;gap:.8rem;max-height:min(74vh,900px);overflow-y:auto;padding-right:.3rem;resize:vertical}
.editor-list-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem;border:1px solid rgba(149,207,195,.25);border-radius:15px;background:rgba(255,255,255,.055)}
.editor-list-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(130deg,#bdeca1,#73c8c5);color:#164244;font-size:.78rem;font-weight:900}
.editor-list-copy{min-width:0}
.editor-list-copy h4{margin:0 0 .25rem;color:#fff;overflow-wrap:anywhere}
.editor-list-copy p{margin:0;color:#d3e6de;font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.editor-item-meta{display:flex;gap:.42rem;flex-wrap:wrap;margin-top:.65rem}
.editor-item-meta span,.editor-workspace-status span{display:inline-flex;padding:.28rem .52rem;border:1px solid rgba(206,233,214,.28);border-radius:9px;color:#e1f1e9;font-size:.72rem}
.editor-published,.editor-item-meta .editor-published,.editor-workspace-status .editor-published{color:#133931!important;background:#d1f09c;border-color:transparent!important}
.editor-draft,.editor-item-meta .editor-draft,.editor-workspace-status .editor-draft{color:#fff0cf!important;background:rgba(213,151,74,.23);border-color:#deb57b!important}
.editor-list-actions{display:grid;justify-items:start;gap:.4rem}
.editor-list-actions form{margin:0}
.editor-empty{padding:2rem 1rem;border:1px dashed rgba(206,238,209,.4);border-radius:13px;color:#d8e8e0;text-align:center}
.editor-more-settings,.editor-category-settings{padding:.65rem;border:1px solid rgba(169,214,193,.3);border-radius:11px}
.editor-more-settings summary,.editor-category-settings summary{padding:.35rem;color:#e7f6e8;font-weight:780;cursor:pointer}
.editor-more-settings[open],.editor-category-settings[open]{display:grid;gap:.8rem}
.editor-more-settings>.editor-check{margin:.7rem 0}
.editor-category-settings{margin-top:1rem}
.editor-category-list{display:grid;gap:.55rem;max-height:380px;overflow-y:auto}
.editor-category-list>div{display:flex;align-items:center;gap:.3rem}
.editor-category-list form:first-child{display:flex;flex:1;gap:.3rem;min-width:0}
.editor-category-list button{padding:.55rem;border:1px solid #91bbb1;border-radius:9px;background:#2b6061;color:#fff;cursor:pointer}
.editor-option-builder{display:none}
.learning-editor-js .editor-option-builder:not([hidden]){display:block}
.learning-editor-js .editor-legacy-fields{display:none}
.editor-option-list{display:grid;gap:.55rem;margin:.7rem 0}
.editor-option-row{display:grid;grid-template-columns:26px minmax(0,1fr) 42px;align-items:center;gap:.5rem}
.editor-option-row>input[type=radio],.editor-option-row>input[type=checkbox]{width:22px;height:22px;accent-color:#a2e3ad}
.editor-option-row>input[type=text]{box-sizing:border-box;width:100%;min-width:0;min-height:43px;padding:.62rem;border:1px solid #7daaa1;border-radius:10px;background:#f8fff9;color:#14383d;font-size:.95rem}
.editor-option-row button{width:42px;height:42px;border:1px solid #a9c7bf;border-radius:10px;background:#28575d;color:#fff;font-size:1.3rem;cursor:pointer}
.editor-boolean-answer{display:grid;gap:.7rem;padding:.8rem;border-radius:12px;background:rgba(255,255,255,.07)}
.editor-form-error{margin:0;padding:.7rem;border-radius:9px;background:#603a39;color:#fff}
.editor-question-list{display:grid;gap:.6rem}
.editor-question-item{border:1px solid rgba(178,221,198,.32);border-radius:13px;background:rgba(255,255,255,.045);overflow:hidden}
.editor-question-item summary{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:.7rem;min-height:62px;padding:.7rem;list-style:none;cursor:pointer}
.editor-question-item summary::-webkit-details-marker{display:none}
.editor-question-item strong{display:block;color:#fff;overflow-wrap:anywhere}
.editor-question-item small{display:block;margin-top:.2rem;color:#c9e6d3}
.editor-question-number{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#cae997;color:#164249;font-weight:900}
.editor-question-detail{padding:.65rem 1rem 1rem;border-top:1px solid rgba(255,255,255,.13)}
.editor-question-detail p{margin:.25rem 0;padding:.45rem .6rem;border-radius:8px;color:#e8f5e9}
.editor-question-detail p.is-correct{background:rgba(162,230,168,.2);color:#e6ffd0}
.editor-case-preview{padding:1rem;border:1px solid rgba(183,225,198,.4);border-radius:15px;background:rgba(255,255,255,.07)}
.editor-case-preview strong{display:block;font-size:1.13rem}
.editor-case-preview p{white-space:pre-wrap;line-height:1.55;color:#e4f3e8}
.editor-case-preview textarea{box-sizing:border-box;width:100%;padding:.7rem;border-radius:9px}
.editor-preview-option{display:flex;justify-content:space-between;gap:.6rem;margin-top:.45rem;padding:.65rem;border:1px solid rgba(194,228,204,.35);border-radius:10px}
.editor-preview-option span{color:#dcffbc;font-size:.78rem;font-weight:800}
.editor-option-summary{display:grid;gap:.6rem;margin-top:.9rem}
.editor-option-summary article{padding:.75rem;border-radius:12px;background:rgba(255,255,255,.06)}
.editor-option-summary article strong{display:block;overflow-wrap:anywhere}
.editor-option-summary article>span{display:inline-block;margin-top:.3rem;padding:.2rem .4rem;border-radius:7px;font-size:.73rem}
.editor-option-summary article p{color:#d6ecde;white-space:pre-wrap}
.editor-filter{margin-bottom:1rem}
@media(max-width:1050px){.editor-workspace-columns,.editor-test-layout,.editor-material-layout{grid-template-columns:1fr}.editor-workspace-hero{align-items:flex-start}.editor-item-list{max-height:none;overflow:visible;resize:none}}
@media(max-width:650px){.editor-workspace-hero{display:grid;padding:1.2rem}.editor-workspace-status{justify-items:start;white-space:normal}.editor-panel{padding:1rem}.editor-list-item{grid-template-columns:42px minmax(0,1fr)}.editor-list-item>.editor-item-action,.editor-list-actions{grid-column:2}.editor-list-icon{width:40px;height:40px}.editor-form-grid{grid-template-columns:1fr}.editor-workspace{padding-bottom:4rem}}

/* AA-Portal 2.0: admin test deletion confirmation */
.editor-test-delete{max-width:100%;font-size:.88rem;color:#eef8f2}
.editor-test-delete summary{list-style:none;display:inline-flex;align-items:center;cursor:pointer}
.editor-test-delete summary::-webkit-details-marker{display:none}
.editor-test-delete[open]{padding:.6rem;border:1px solid rgba(255,166,156,.42);border-radius:12px;background:rgba(120,35,35,.13)}
.editor-test-delete form{display:grid;justify-items:start;gap:.65rem;max-width:350px;margin-top:.6rem}
.editor-list-actions .editor-test-delete form{max-width:230px}
.editor-test-delete .editor-check{font-size:.8rem;line-height:1.35}
.editor-test-delete button[type="submit"]{border:1px solid rgba(255,166,156,.6);border-radius:9px;padding:.6rem .8rem;background:rgba(150,49,44,.22)}

/* Final layer: shared contrast, employee stories, and the administrator workspace. */
body.portal-app {--polish-night:#071a31;--polish-panel:#10263e;--polish-cyan:#8be9f4;--polish-soft:#d6e6f2}
body.portal-app :focus-visible {outline:3px solid #a0eefa;outline-offset:3px}
body.portal-app .page-header h1,body.portal-app .page-header h2 {overflow-wrap:anywhere}
body.portal-app .card,body.portal-app .editor-panel,body.portal-app .editor-workspace-hero {min-width:0}

/* A clean set of links on the dashboard photograph, with enough shadow for light slides. */
@media(max-width:1049px){
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-nav {position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;max-width:1100px;margin:0 auto;padding:8px clamp(8px,2vw,20px);border:0;background:none!important;box-shadow:none;backdrop-filter:none!important}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link,
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link.is-active {display:grid;place-items:center;min-width:0;min-height:48px;padding:6px 3px;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff!important;font-size:clamp(.67rem,2.8vw,.91rem);font-weight:850;line-height:1.15;text-align:center;text-decoration:none;text-shadow:0 1px 1px #001722,0 2px 5px #001722,0 0 14px #90f4f7;overflow-wrap:anywhere;transition:color .18s ease,text-shadow .18s ease,transform .18s ease}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link:hover,
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link:focus-visible {color:#dbfcff!important;text-shadow:0 1px 4px #001722,0 0 21px #9cf3f3;transform:translateY(-2px)}
}

/* Company, sales, and catalog share a deep blue canvas and an accessible type scale. */
body.portal-app.about-page,body.portal-app.sales-learning-page,body.portal-app.product-official-page {
  min-height:100svh;background:radial-gradient(ellipse at 92% 0%,#1a4568 0,transparent 34rem),radial-gradient(ellipse at 0% 67%,#0e5364 0,transparent 36rem),linear-gradient(150deg,#06162c,#0b253b 55%,#07192b)!important;color:#edf6ff
}
body.portal-app.about-page::before,body.portal-app.sales-learning-page::before,body.portal-app.product-official-page::before {display:none!important}
body.portal-app.about-page .page-wrapper,body.portal-app.sales-learning-page .page-wrapper,body.portal-app.product-official-page .page-wrapper {width:min(100%,1500px);max-width:1500px;margin-inline:auto;padding:clamp(16px,3vw,40px) clamp(12px,3vw,40px) calc(38px + env(safe-area-inset-bottom));min-width:0;overflow:visible}
body.portal-app.about-page .page-body,body.portal-app.sales-learning-page .page-body,body.portal-app.product-official-page .page-body {display:block;min-width:0;overflow:visible}
body.portal-app.about-page a:focus-visible,body.portal-app.sales-learning-page button:focus-visible,body.portal-app.product-official-page a:focus-visible {outline-color:#b4edff}

/* Sales: horizontal snap cards on the page, without an inner vertical scroller. */
body.portal-app.sales-learning-page .sales-story {display:grid;gap:clamp(17px,2.5vw,28px);min-width:0}
body.portal-app.sales-learning-page .sales-story-header {position:relative;display:grid;justify-items:start;gap:6px;padding:clamp(9px,2vw,24px) 2px 0}
body.portal-app.sales-learning-page .sales-story-kicker,body.portal-app.sales-learning-page .sales-story-type {color:#96e7f2;font-size:.72rem;font-weight:900;letter-spacing:.16em}
body.portal-app.sales-learning-page .sales-story-header h1 {margin:0;color:#f7fbff!important;font-size:clamp(2rem,5vw,4.2rem);line-height:1.04;letter-spacing:-.055em;text-shadow:0 0 28px #4cbee851;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-story-header>p {margin:2px 0;color:#d1e8f2;font-size:.89rem;font-weight:700}
body.portal-app.sales-learning-page .sales-story-intro {max-width:min(100%,650px);margin-top:5px;color:#dfedf5;font-size:.88rem}
body.portal-app.sales-learning-page .sales-story-intro summary {min-height:40px;display:inline-flex;align-items:center;gap:9px;color:#aceaf0;font-weight:800;cursor:pointer}
body.portal-app.sales-learning-page .sales-story-intro p {margin:.3rem 0 0;line-height:1.55;white-space:pre-line}
body.portal-app.sales-learning-page .sales-story-chapters {display:flex;gap:8px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 2px 11px}
body.portal-app.sales-learning-page .sales-story-chapters::-webkit-scrollbar,body.portal-app.sales-learning-page .sales-story-viewport::-webkit-scrollbar {display:none}
body.portal-app.sales-learning-page .sales-story-chapter-group {display:grid;gap:6px;flex:none;align-content:start}
body.portal-app.sales-learning-page .sales-story-chapter {flex:none;max-width:min(75vw,310px);min-height:44px;padding:10px 16px;border:1px solid #7797ad80;border-radius:999px;background:#183148;color:#d6e9f5;font-size:.82rem;font-weight:800;line-height:1.2;cursor:pointer;white-space:normal;overflow-wrap:anywhere;transition:background .2s ease,border-color .2s ease,transform .2s ease}
body.portal-app.sales-learning-page .sales-story-chapter:hover {border-color:#8ce8f2;background:#20475f;transform:translateY(-2px)}
body.portal-app.sales-learning-page .sales-story-chapter.is-active {border-color:#a5edee;background:linear-gradient(120deg,#48c7d7,#a1e7c6);color:#08263a;box-shadow:0 7px 24px #5ad7d540}
body.portal-app.sales-learning-page .sales-story-chapter-group .site-edit-section-actions {max-width:210px;gap:4px}
body.portal-app.sales-learning-page .sales-story-stage {min-width:0}
body.portal-app.sales-learning-page .sales-story-viewport {display:flex;gap:clamp(12px,2vw,22px);min-width:0;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:none;padding:5px 2px 16px}
body.portal-app.sales-learning-page .sales-story-slide {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);flex:0 0 min(88%,1070px);min-width:0;min-height:clamp(390px,57svh,600px);overflow:hidden;scroll-snap-align:start;border:1px solid #77b9d784;border-radius:clamp(22px,3vw,34px);background:linear-gradient(125deg,#102a49 0%,#0b1d37 58%,#102c46 100%);box-shadow:0 22px 56px #000a2080,inset 0 1px #b7f2f12b;color:#f6fbff;opacity:.75;transform:scale(.977);transition:opacity .38s ease,transform .38s ease,box-shadow .38s ease}
body.portal-app.sales-learning-page .sales-story-slide.is-current {opacity:1;transform:scale(1);box-shadow:0 28px 76px #000a20aa,inset 0 1px #b7f2f144}
body.portal-app.sales-learning-page .sales-story-slide::after {position:absolute;z-index:-1;right:-12%;bottom:-37%;width:60%;aspect-ratio:1;border:1px solid #87ccec39;border-radius:50%;box-shadow:0 0 0 25px #87ccec08,0 0 0 68px #87ccec06;content:"";pointer-events:none}
body.portal-app.sales-learning-page .sales-story-visual {position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;background:radial-gradient(circle at 42% 46%,#287e94a6,transparent 53%),linear-gradient(142deg,#0e5274,#112846 65%,#091b31)}
body.portal-app.sales-learning-page .sales-story-visual::before {position:absolute;inset:11%;border:1px solid #a0deee58;border-radius:50%;box-shadow:0 0 0 22px #a0deee0a,0 0 0 59px #a0deee08;content:"";pointer-events:none}
body.portal-app.sales-learning-page .sales-story-visual-number {z-index:1;color:#d9faffd9;font-size:clamp(6rem,16vw,13rem);font-weight:850;line-height:1;text-shadow:0 0 60px #78dcf0a8;letter-spacing:-.085em}
body.portal-app.sales-learning-page .sales-story-orbit {position:absolute;inset:12% 8%;border:1px solid #7ae3ee76;border-radius:24px;transform:rotate(-12deg)}
body.portal-app.sales-learning-page .sales-story-photo {position:relative;z-index:1;display:grid;place-items:center;gap:6px;width:100%;height:100%;min-height:0;padding:clamp(14px,3vw,28px);border:0;background:radial-gradient(circle,#e8f8f0 0,#d2e6e7 49%,#8fc0cb 100%);color:#0a3344;cursor:zoom-in}
body.portal-app.sales-learning-page .sales-story-photo img {display:block;width:100%;height:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 20px 23px #092b3f52)}
body.portal-app.sales-learning-page .sales-story-photo span {position:absolute;right:15px;bottom:14px;min-height:36px;padding:9px 12px;border-radius:999px;background:#0d3446ed;color:#fff;font-size:.7rem;font-weight:800}
body.portal-app.sales-learning-page .sales-story-copy {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(10px,2vw,22px);min-width:0;padding:clamp(22px,4vw,55px);overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-story-meta {display:flex;align-self:stretch;justify-content:space-between;gap:14px;color:#bed8eb;font-size:.74rem;font-weight:750;line-height:1.35}
body.portal-app.sales-learning-page .sales-story-meta span:last-child {flex:none;font-variant-numeric:tabular-nums}
body.portal-app.sales-learning-page .sales-story-slide h2 {max-width:20ch;margin:0;color:#fff!important;font-size:clamp(1.55rem,3.25vw,3.2rem);font-weight:850;line-height:1.08;text-shadow:0 0 16px #49d8e82f;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-story-slide p {max-width:65ch;margin:0;color:#e0edf7;font-size:clamp(.91rem,1.27vw,1.08rem);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-story-link {display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#a5f1f2!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
body.portal-app.sales-learning-page .sales-story-controls {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 2px}
body.portal-app.sales-learning-page .sales-story-count {display:flex;align-items:center;gap:16px;color:#edf7ff;font-size:.9rem;font-weight:850;font-variant-numeric:tabular-nums}
body.portal-app.sales-learning-page .sales-story-track {display:block;width:clamp(76px,16vw,190px);height:4px;overflow:hidden;border-radius:99px;background:#7eb0c859}
body.portal-app.sales-learning-page .sales-story-track>span {display:block;width:0;height:100%;border-radius:inherit;background:#9aeaf3;transition:width .3s ease}
body.portal-app.sales-learning-page .sales-story-arrows {display:flex;gap:9px}
body.portal-app.sales-learning-page .sales-story-arrows button {display:grid;place-items:center;width:52px;height:52px;border:1px solid #8cbed2;border-radius:50%;background:#163c54;color:#f7ffff;font-size:1.6rem;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease}
body.portal-app.sales-learning-page .sales-story-arrows button:not(:disabled):hover {background:#368fa6;transform:translateY(-2px)}
body.portal-app.sales-learning-page .sales-story-arrows button:disabled {opacity:.45;cursor:default}
body.portal-app.sales-learning-page .sales-story-contacts {display:grid;gap:10px;max-width:1500px;margin:clamp(24px,4vw,52px) auto 0;padding:16px 18px;border:1px solid #5593ad64;border-radius:19px;background:#0d253bdd;color:#e8f5fc}
body.portal-app.sales-learning-page .sales-story-contacts h2 {margin:0;color:#f1faff!important;font-size:.95rem}
body.portal-app.sales-learning-page .sales-story-contact-row {display:flex;flex-wrap:wrap;gap:7px 24px;align-items:center}
body.portal-app.sales-learning-page .sales-story-contact {display:flex;align-items:baseline;gap:7px;min-width:0;font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-story-contact strong {color:#adf0ee}
body.portal-app.sales-learning-page .sales-story-contact span {color:#d6e4ee}
body.portal-app.sales-learning-page .sales-story-empty {padding:30px;border:1px solid #4d8da5;border-radius:20px;background:#10283e}
body.portal-app.sales-learning-page .sales-story-empty h2 {color:#fff!important}
body.portal-app.sales-learning-page .sales-image-lightbox {max-width:min(96vw,980px)}
body.portal-app.sales-learning-page.site-editing .sales-story-header>.site-edit-handle {margin-bottom:.6rem}
body.portal-app.sales-learning-page.site-editing .sales-story-slide>.site-edit-handle {position:absolute;z-index:7;top:12px;right:12px}
body.portal-app.sales-learning-page.site-editing .sales-story-contacts>.site-edit-handle,body.portal-app.sales-learning-page.site-editing .sales-story-contact>.site-edit-handle {align-self:flex-start}

/* About: actual CMS slides and uploaded hero image in the new blue system. */
body.portal-app.about-page .about-hero {min-height:0;gap:clamp(18px,4vw,55px);padding:clamp(18px,3vw,38px);border:1px solid #6bafca75;border-radius:clamp(20px,3vw,32px);background:linear-gradient(125deg,#112f4d,#0c213a 72%,#17445d);box-shadow:0 24px 60px #000b216b;color:#edf8ff}
body.portal-app.about-page .about-hero h1 {color:#fff!important;text-shadow:0 0 22px #5cd7e85a}
body.portal-app.about-page .about-hero h2 {color:#b5e7ea!important}
body.portal-app.about-page .about-eyebrow {color:#99e9f2;text-shadow:none}
body.portal-app.about-page .about-intro-text {color:#e4f0f7;line-height:1.65}
body.portal-app.about-page .about-hero-media {border:1px solid #8ac9de71;border-radius:22px;background:#18394e;box-shadow:0 14px 32px #00172d8a}
body.portal-app.about-page .about-slides-heading .about-eyebrow,body.portal-app.about-page .about-slide-count {color:#b4e9ef}
body.portal-app.about-page .about-empty-state {border-color:#6197a7;background:#102e46;color:#e6f2fb}

/* Catalog: real product photos lead every card; detail and facts carry the same contrast. */
body.portal-app.product-official-page .official-catalog-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,28%);align-items:center;min-height:clamp(200px,24vw,300px);overflow:hidden;padding:clamp(22px,3.5vw,46px);border:1px solid #78bdd27f;border-radius:28px;background:radial-gradient(circle at 70% 50%,#2f80947a,transparent 38%),linear-gradient(125deg,#103852,#091e36 72%,#193c5c);box-shadow:0 20px 60px #000b2270;color:#edf7ff}
body.portal-app.product-official-page .official-catalog-hero-copy {z-index:2}
body.portal-app.product-official-page .official-catalog-hero h1 {color:#fff!important;text-shadow:0 0 24px #5ae1ee5b}
body.portal-app.product-official-page .official-catalog-hero .eyebrow-label,body.portal-app.product-official-page .section-kicker {color:#9be8f3}
body.portal-app.product-official-page .official-catalog-hero-stats span {color:#e3f1f7;font-weight:750}
body.portal-app.product-official-page .official-catalog-hero-products {display:flex!important;min-height:190px;opacity:.92;overflow:visible}
body.portal-app.product-official-page .official-catalog-hero-product img {object-fit:contain}
body.portal-app.product-official-page .official-category-pill {border-color:#69a0b777;background:#16364b;color:#e7f5fb}
body.portal-app.product-official-page .official-category-pill span {background:#29536a;color:#ecfaff}
body.portal-app.product-official-page .official-category-pill.is-active {border-color:#9ee8ee;background:linear-gradient(120deg,#53bccc,#a1ebd3);color:#082c40;box-shadow:0 8px 22px #53beca36}
body.portal-app.product-official-page .official-category-pill.is-active span {background:#0f4b5e;color:#fff}
body.portal-app.product-official-page .official-catalog-section-heading h2,body.portal-app.product-official-page .official-product-facts-heading h2 {color:#f1f8ff!important}
body.portal-app.product-official-page .official-catalog-result-count {border-color:#70b0c384;background:#15374e;color:#ddf1fa}
body.portal-app.product-official-page .official-product-card {border:1px solid #6aa6be73;background:linear-gradient(145deg,#163751,#0d2943);box-shadow:0 14px 36px #0013267a;color:#f4f9ff}
body.portal-app.product-official-page .official-product-card:hover {border-color:#8ce3ed;box-shadow:0 18px 42px #001326a6}
body.portal-app.product-official-page .official-product-image-wrap {background:radial-gradient(circle at 50% 40%,#fff 0,#e1f0ef 55%,#aed0d9 100%)}
body.portal-app.product-official-page .official-product-category {color:#9ce9f2}
body.portal-app.product-official-page .official-product-copy h3 {color:#fff!important}
body.portal-app.product-official-page .official-product-volume,body.portal-app.product-official-page .official-product-copy p {color:#d6e6f2}
body.portal-app.product-official-page .official-product-link {color:#a3f0ed}
body.portal-app.product-official-page .official-catalog-source {color:#bbd3e1}
body.portal-app.product-official-page .official-catalog-source a {color:#aaf0f2}
body.portal-app.product-official-page .official-catalog-empty {background:#12334a;color:#fff;border-color:#6699b4}
body.portal-app.product-official-page .official-catalog-empty h3 {color:#fff!important}
body.portal-app.product-official-page .official-back-link {border:1px solid #79b6c8;background:#15384d;color:#e8f9fc!important}
body.portal-app.product-official-page .official-back-link:hover {color:#fff!important;background:#1b566c}
body.portal-app.product-official-page .official-product-detail {border-color:#77a9bd;background:linear-gradient(130deg,#12334c,#0d263d);color:#edf6ff}
body.portal-app.product-official-page .official-product-detail-image {background:radial-gradient(circle at 50% 55%,#fff,#d5e7e8 72%,#92bfce)}
body.portal-app.product-official-page .official-product-detail-copy h1 {margin:16px 0 13px;color:#fff!important;font-size:clamp(1.8rem,3.5vw,3.3rem);line-height:1.08;overflow-wrap:anywhere}
body.portal-app.product-official-page .official-product-lead {color:#f0f7fc!important}
body.portal-app.product-official-page .official-product-description {color:#d5e4ef}
body.portal-app.product-official-page .official-product-fact {border-color:#679bad8c;background:#12344a;color:#eef8ff}
body.portal-app.product-official-page .official-product-fact h3 {color:#fff!important}
body.portal-app.product-official-page .official-product-fact p {color:#d3e7f3}
body.portal-app.product-official-page .official-related-card {border-color:#669bad;background:#14344b;color:#fff!important}
body.portal-app.product-official-page .official-related-card strong {color:#fff}
body.portal-app.product-official-page .official-related-card small,body.portal-app.product-official-page .official-related-arrow {color:#c8e3ef}

/* Admin: heading and link colors are explicitly scoped to dark editor panels. */
body.role-admin.portal-app .editor-workspace-hero h1,body.role-admin.portal-app .editor-workspace-hero h2,body.role-admin.portal-app .editor-workspace-hero h3,
body.role-admin.portal-app .editor-panel h2,body.role-admin.portal-app .editor-panel h3,body.role-admin.portal-app .editor-panel h4 {color:#f8fdff!important;text-shadow:none;line-height:1.16}
body.role-admin.portal-app .editor-workspace-hero,body.role-admin.portal-app .editor-panel {color:#e8f5f3}
body.role-admin.portal-app .editor-workspace-hero p,body.role-admin.portal-app .editor-panel p:not(.editor-form-error),body.role-admin.portal-app .editor-list-copy p {color:#d4e9e9}
body.role-admin.portal-app .editor-workspace .editor-eyebrow {color:#dcf4a9!important}
body.role-admin.portal-app .editor-workspace .editor-panel-heading h3 span,body.role-admin.portal-app .editor-workspace .editor-panel-heading>span,body.role-admin.portal-app .editor-workspace-status {color:#d4eee8}
body.role-admin.portal-app .editor-workspace .editor-form label,body.role-admin.portal-app .editor-workspace .editor-check,body.role-admin.portal-app .editor-workspace .editor-category-settings summary,body.role-admin.portal-app .editor-workspace .editor-more-settings summary {color:#edf9f4}
body.role-admin.portal-app .editor-workspace .editor-help,body.role-admin.portal-app .editor-workspace .editor-form small,body.role-admin.portal-app .editor-workspace .editor-item-meta span {color:#d4e8e4}
body.role-admin.portal-app .editor-workspace a.editor-outline-link,body.role-admin.portal-app .editor-workspace button.editor-outline-button,body.role-admin.portal-app .editor-workspace a.editor-back {color:#f5fff7!important}
body.role-admin.portal-app .editor-workspace a.editor-primary-button,body.role-admin.portal-app .editor-workspace a.editor-item-action,body.role-admin.portal-app .editor-workspace button.editor-primary-button,body.role-admin.portal-app .editor-workspace button.editor-item-action {color:#10383e!important}
body.role-admin.portal-app .editor-workspace .editor-learning-nav a {color:#eaf8f1!important;flex:none}
body.role-admin.portal-app .editor-workspace .editor-learning-nav a[aria-current=page] {color:#133b3d!important}
body.role-admin.portal-app .editor-workspace .editor-list-item {align-items:start}
body.role-admin.portal-app .editor-workspace .editor-list-copy h4,body.role-admin.portal-app .editor-workspace .editor-question-item strong {color:#fff!important}
body.role-admin.portal-app .editor-workspace .editor-item-meta .editor-published {color:#133931!important}
body.role-admin.portal-app .editor-workspace .editor-item-meta .editor-draft {color:#fff0cf!important}
body.role-admin.portal-app .editor-workspace .editor-form input:not([type=checkbox]):not([type=radio]),body.role-admin.portal-app .editor-workspace .editor-form textarea,body.role-admin.portal-app .editor-workspace .editor-form select {color:#173b3d;background:#f8fcf7}
body.role-admin.portal-app .site-edit-dialog .site-edit-dialog-heading h2 {color:#fff!important}
body.role-admin.portal-app .site-edit-dialog .site-edit-preview strong {color:#f7ffe7}

/* Calm, aligned content surfaces for the other administration pages. */
body.role-admin.portal-app .page-wrapper {min-width:0}
body.role-admin.portal-app .page-header {margin-bottom:clamp(12px,2vw,22px)}
body.role-admin.portal-app .page-header h1 {color:#153e43!important;line-height:1.12}
body.role-admin.portal-app .admin-grid,body.role-admin.portal-app .analytics-page-compact,body.role-admin.portal-app .reports-page {min-width:0}
body.role-admin.portal-app:not(.about-page):not(.sales-learning-page):not(.product-official-page):not(.dashboard-page) .card:not(.editor-panel) {border-color:#c6dad5;background:linear-gradient(145deg,#fffefa,#f5faf8);color:#1d4143}
body.role-admin.portal-app:not(.about-page):not(.sales-learning-page):not(.product-official-page):not(.dashboard-page) .card:not(.editor-panel) h2,body.role-admin.portal-app:not(.about-page):not(.sales-learning-page):not(.product-official-page):not(.dashboard-page) .card:not(.editor-panel) h3 {color:#143d42!important;line-height:1.2;overflow-wrap:anywhere}
body.role-admin.portal-app:not(.about-page):not(.sales-learning-page):not(.product-official-page):not(.dashboard-page) .card:not(.editor-panel) .muted-text {color:#4e6765}
body.role-admin.portal-app .users-table td,body.role-admin.portal-app .users-table th {line-height:1.4;vertical-align:middle;overflow-wrap:anywhere}
body.role-admin.portal-app .admin-nav-dropdown {overflow-wrap:anywhere}
body.role-admin.portal-app .site-edit-toolbar {max-width:calc(100vw - 24px)}

@media(max-width:900px){
  body.portal-app.sales-learning-page .sales-story-slide {grid-template-columns:minmax(0,1fr);flex-basis:100%;min-height:0}
  body.portal-app.sales-learning-page .sales-story-visual {min-height:clamp(165px,27svh,270px)}
  body.portal-app.sales-learning-page .sales-story-photo {height:clamp(170px,29svh,280px)}
  body.portal-app.sales-learning-page .sales-story-photo img {max-height:245px}
  body.portal-app.sales-learning-page .sales-story-visual-number {font-size:clamp(6rem,32vw,9rem)}
  body.portal-app.sales-learning-page .sales-story-copy {gap:10px;justify-content:flex-start;padding:clamp(19px,4vw,30px)}
  body.portal-app.sales-learning-page .sales-story-slide h2 {max-width:none;font-size:clamp(1.5rem,6.2vw,2.1rem)}
  body.portal-app.sales-learning-page .sales-story-slide p {font-size:.94rem;line-height:1.55}
  body.portal-app.sales-learning-page .sales-story-viewport {gap:9px;padding-bottom:12px}
  body.portal-app.sales-learning-page .sales-story-contacts {margin-top:24px}
  body.portal-app.product-official-page .official-catalog-hero {grid-template-columns:minmax(0,1fr) minmax(130px,26%)}
}
@media(max-width:600px){
  body.portal-app.about-page .page-wrapper,body.portal-app.sales-learning-page .page-wrapper,body.portal-app.product-official-page .page-wrapper {padding:14px 11px calc(96px + env(safe-area-inset-bottom))}
  body.portal-app.sales-learning-page .sales-story {gap:14px}
  body.portal-app.sales-learning-page .sales-story-header h1 {font-size:clamp(1.85rem,8vw,2.6rem)}
  body.portal-app.sales-learning-page .sales-story-chapters {gap:6px}
  body.portal-app.sales-learning-page .sales-story-chapter {max-width:75vw;padding:9px 12px;font-size:.75rem}
  body.portal-app.sales-learning-page .sales-story-visual {min-height:clamp(148px,24svh,215px)}
  body.portal-app.sales-learning-page .sales-story-photo {height:clamp(155px,25svh,220px)}
  body.portal-app.sales-learning-page .sales-story-photo img {max-height:190px}
  body.portal-app.sales-learning-page .sales-story-copy {padding:18px 17px 22px}
  body.portal-app.sales-learning-page .sales-story-type {font-size:.59rem;letter-spacing:.1em}
  body.portal-app.sales-learning-page .sales-story-slide h2 {font-size:clamp(1.36rem,6.4vw,1.75rem)}
  body.portal-app.sales-learning-page .sales-story-slide p {font-size:.88rem}
  body.portal-app.sales-learning-page .sales-story-arrows button {width:48px;height:48px}
  body.portal-app.sales-learning-page .sales-story-contacts {padding:12px 13px}
  body.portal-app.sales-learning-page .sales-story-contact-row {display:grid;gap:5px}
  body.portal-app.sales-learning-page .sales-story-contact {font-size:.71rem}
  body.portal-app.about-page .about-hero {grid-template-columns:minmax(0,1fr);padding:19px 17px}
  body.portal-app.about-page .about-hero-media {height:clamp(150px,46vw,240px)}
  body.portal-app.product-official-page .official-catalog-hero {display:grid;grid-template-columns:minmax(0,1fr);min-height:0;padding:19px 16px}
  body.portal-app.product-official-page .official-catalog-hero-copy {max-width:100%}
  body.portal-app.product-official-page .official-catalog-hero-products {display:none!important}
  body.portal-app.product-official-page .official-product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.portal-app.product-official-page .official-product-detail-image {min-height:240px}
  body.portal-app.product-official-page .official-product-detail-image img {height:220px}
  body.portal-app.product-official-page .official-product-detail-copy {padding:21px}
  body.role-admin.portal-app .editor-workspace-hero {align-items:start}
}
@media(max-width:350px){
  body.portal-app.sales-learning-page .sales-story-meta {font-size:.67rem}
  body.portal-app.sales-learning-page .sales-story-contact {display:grid;gap:0}
  body.portal-app.product-official-page .official-product-grid {grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app.sales-learning-page .sales-story-slide,body.portal-app.sales-learning-page .sales-story-chapter,body.portal-app.sales-learning-page .sales-story-track>span,body.portal-app.sales-learning-page .sales-story-arrows button,body.dashboard-page.portal-app .mobile-section-link {animation:none!important;transition:none!important;scroll-behavior:auto!important;transform:none!important}
}
@media print {
  body.printing-report.role-admin.portal-app .card:not(.editor-panel) {background:#fff!important;color:#111!important;border-color:#bbb!important}
  body.printing-report.role-admin.portal-app .card:not(.editor-panel) h2,body.printing-report.role-admin.portal-app .card:not(.editor-panel) h3 {color:#111!important}
}

/* One visual language throughout the portal: navy canvas, calm reading surfaces. */
body.portal-app {--unified-night:#071a2d;--unified-surface:#102b43;--unified-cyan:#91e5ed;--unified-ink:#173947;--unified-muted:#506b74;--unified-line:#c7dce2}
body.portal-app .site-header,body.dashboard-page.portal-app .site-header {background:linear-gradient(115deg,#0a263b,#114a58 72%,#175660)!important;border-bottom:1px solid #ffffff20;box-shadow:0 12px 30px #00152342}
body.login-body {background:radial-gradient(circle at 85% 4%,#1c6480,transparent 30rem),radial-gradient(circle at 0% 93%,#145561,transparent 34rem),#071a2d;color:#173947}
body.login-body .login-scene-glow-a {background:#86dfeb;opacity:.18}
body.login-body .login-scene-glow-b {background:#e88d83;opacity:.15}
body.login-body .premium-login-card {border:1px solid #94ced6;background:linear-gradient(145deg,#fffefa,#eff8f8);box-shadow:0 28px 70px #0013238c}
body.login-body .login-brand {color:#176c78}
body.login-body .login-form label span {color:#244b56}
body.login-body .login-form input:focus-visible {outline:3px solid #5fc3c8}
body.portal-app:not(.role-admin):not(.dashboard-page) {background:radial-gradient(circle at 90% 2%,#164660 0,transparent 30rem),radial-gradient(circle at 0% 70%,#124754 0,transparent 34rem),#071a2d!important;color:#eaf5fa}
body.portal-app:not(.role-admin):not(.dashboard-page)::before {display:none!important}
body.portal-app:not(.role-admin):not(.dashboard-page) .page-header h1 {color:#f3fbff!important;text-shadow:0 0 20px #6be6ee38}
body.portal-app:not(.role-admin):not(.dashboard-page) .section-heading h2,body.portal-app:not(.role-admin):not(.dashboard-page) .next-section-heading h2 {color:#f2fbff!important}
body.portal-app:not(.role-admin):not(.dashboard-page) .section-heading .section-kicker,body.portal-app:not(.role-admin):not(.dashboard-page) .next-section-heading .next-eyebrow {color:#9ee8f0}
body.portal-app .section-intro-panel,body.portal-app .story-cover,body.portal-app .team-materials-hero,
body.portal-app .test-experience-head,body.portal-app .test-result-hero {border:1px solid #78abc075;background:radial-gradient(circle at 87% 35%,#23738c78,transparent 43%),linear-gradient(120deg,#123b55,#0b213a 75%,#163750);box-shadow:0 20px 48px #00132359;color:#f3fbff}
body.portal-app .section-intro-panel h1,body.portal-app .story-cover h1,body.portal-app .team-materials-hero h1,
body.portal-app .test-experience-head h1,body.portal-app .test-result-hero h1,body.portal-app .test-result-hero h2 {color:#fff!important}
body.portal-app .section-intro-panel .section-kicker,body.portal-app .story-cover .section-kicker,body.portal-app .team-materials-hero .section-kicker {color:#a5e8ed!important}
body.portal-app .test-result-hero.is-failed {border-color:#eba5a188;background:radial-gradient(circle at 90% 10%,#a7576780,transparent 40%),linear-gradient(120deg,#102c43,#14344c)}
body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card,
body.portal-app .progress-summary-card,body.portal-app .progress-mobile-card,body.portal-app .test-question-card,
body.portal-app .next-story-chapter,body.portal-app .team-material-item {border:1px solid var(--unified-line);background:linear-gradient(148deg,#fffefa,#f0f8f8);color:var(--unified-ink);box-shadow:0 12px 30px #00162924}
body.portal-app .assessment-card:nth-child(n),body.portal-app .progress-summary-card:nth-child(n) {background:linear-gradient(148deg,#fffefa,#eef7f7)}
body.portal-app .knowledge-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .assessment-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .case-library-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {border-color:#80bbc4;box-shadow:0 17px 36px #00162936}
body.portal-app .knowledge-card h3,body.portal-app .assessment-card h2,body.portal-app .case-library-card h2,
body.portal-app .test-question-card h2,body.portal-app .progress-mobile-card h3 {color:#173947!important}
body.portal-app .knowledge-card p,body.portal-app .assessment-card p,body.portal-app .case-library-card>p {color:#49626b}
body.portal-app .progress-summary-card strong,body.portal-app .progress-mobile-card strong {color:#143d4b}
body.portal-app .progress-summary-card>span:last-child,body.portal-app .case-library-meta {color:#506b74}
body.portal-app .knowledge-card-action,body.portal-app .progress-card-action {color:#146f77}
body.portal-app .knowledge-card .material-meta,body.portal-app .assessment-type,body.portal-app .case-number,
body.portal-app .case-kind,body.portal-app .assessment-status,body.portal-app .progress-type-chip,
body.portal-app .progress-status-chip {color:#41636b}
body.portal-app .analytics-attempt-metrics small {color:#526e73}
body.portal-app .test-back-link,body.portal-app .story-back-link {border:1px solid #61a0b180;background:#143c50;color:#eafafe!important}
body.portal-app .test-brief {max-width:60ch;color:#def3fa}
body.portal-app .test-brief summary {display:inline-flex;align-items:center;min-height:32px;color:#b1eaf1;font-size:.83rem;font-weight:850;cursor:pointer}
body.portal-app .test-brief p {margin:3px 0 0;color:#e6f4f8!important;white-space:pre-line;line-height:1.5}
body.portal-app .test-run-progress,body.portal-app .test-question-nav,body.portal-app .test-run-controls {border-color:#bfd7dd;background:#f8fcfb;box-shadow:0 8px 24px #00162925}
body.portal-app .test-option {border-color:#c2d7dd;background:#fff;color:#173947}
body.portal-app .test-option:has(input:checked) {border-color:#3098a0;background:#e4f6f5;box-shadow:0 0 0 2px #4ebcc72a}
body.portal-app .test-option input:checked + .test-option-marker {border-color:#167c87;background:#167c87}
body.portal-app .test-option:focus-within {outline:3px solid #5ab9c3;outline-offset:2px}
body.portal-app .test-question-number {background:#dff4f2;color:#126a78}
body.portal-app .test-result-score {background:conic-gradient(#90e6eb var(--result-fill),#ffffff4b 0)}
body.portal-app .test-result-score>div {background:#0f3046}
body.portal-app .test-result-return {border-color:#91d4de91;background:#1c61737d;color:#fff!important}
body.portal-app.case-screen .page-intro-card {border:1px solid #75b9c883;background:radial-gradient(circle at 93% 7%,#21839d5c,transparent 36%),linear-gradient(120deg,#113a54,#0b263e);color:#eaf8fc;box-shadow:0 18px 42px #0013235c}
body.portal-app.case-screen .page-intro-card h1,body.portal-app.case-screen .page-intro-card h3 {margin:0 0 9px;color:#fff!important;font-size:clamp(1.35rem,3vw,2.35rem);line-height:1.16;overflow-wrap:anywhere}
body.portal-app.case-screen .page-intro-card p {margin:0 0 12px;color:#dfedf5!important;line-height:1.5}
body.portal-app.case-screen .page-intro-card .section-kicker {color:#a4e9ed}
body.portal-app.case-screen .page-stack>.card:not(.page-intro-card),body.portal-app.case-screen .question-stack>.card {border-color:var(--unified-line);background:#fbfdfb;color:#183a48}
body.portal-app.case-screen .page-stack>.card:not(.page-intro-card) h3,body.portal-app.case-screen .question-stack>.card h3 {color:#173947!important}
body.portal-app.case-screen .material-content-block {color:#1b414d;white-space:pre-line;overflow-wrap:anywhere}
body.portal-app.case-screen .option-row {background:#fff;color:#1b414d;border-color:#bdd5db}
body.portal-app.case-screen .option-row:has(input:checked) {border-color:#28949f;background:#e1f5f3}
body.portal-app .team-materials-hero::after {background:linear-gradient(90deg,#0a263fe8,#123b53d0 68%,#0a263f8c)}
body.portal-app .team-materials-hero h2,body.portal-app .team-materials-hero p {color:#ecf8fa!important}
body.portal-app .team-material-item summary strong {color:#1a414b}
body.portal-app .team-material-item .team-material-copy {color:#294d55}
body.portal-app .story-index {border-color:#a9cfd6;background:#e9f5f4}
body.portal-app .story-index a.is-active {background:#14566a}
body.portal-app .sales-story-contact-detail>span+span::before {content:" · "}

/* Manager results use the same light reading surfaces on the phone. */
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .card,
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-additional {border:1px solid #c7dce2;background:linear-gradient(145deg,#fffefa,#f0f7f7);color:#183e49}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact h2,
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact h3 {color:#173947!important}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .stat-card:nth-child(n),
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-summary-strip>div:nth-child(n) {border-color:#c7dce2;background:#e9f5f5}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-card {border-color:#c7dce2;background:#fffefa;color:#1b414b}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-action {color:#0b6773}

/* Editing on a laptop: aligned destinations and stronger field labels. */
body.role-admin.portal-app .editor-workspace-hero,body.role-admin.portal-app .editor-panel {border-color:#5b9aaf82;background:linear-gradient(145deg,#123a50,#10283e);box-shadow:0 16px 38px #001e2c2a}
body.role-admin.portal-app .editor-workspace-hero {background:radial-gradient(circle at 94% 5%,#34899a64,transparent 39%),linear-gradient(120deg,#0e3b51,#142b46)}
body.role-admin.portal-app .editor-workspace .editor-eyebrow {color:#a9edf2!important}
body.role-admin.portal-app .editor-learning-nav a {border-color:#73a9b7;background:#163e51;color:#ebf9fa!important}
body.role-admin.portal-app .editor-learning-nav a[aria-current=page] {border-color:#b6f0ea;background:#a9e7dc;color:#10333d!important}
body.role-admin.portal-app .editor-workspace .editor-primary-button,body.role-admin.portal-app .editor-workspace .editor-item-action {background:linear-gradient(115deg,#9be7e7,#bcf0d8);color:#0b3340!important}
body.role-admin.portal-app .editor-workspace .editor-list-item {border-color:#75a7b76e;background:#ffffff0b}
@media(min-width:800px){
  body.role-admin.portal-app .editor-learning-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:8px}
  body.role-admin.portal-app .editor-learning-nav a {min-width:0;white-space:normal;text-align:center}
}

@media(max-width:1049px){
  body.portal-app:not(.role-admin) .mobile-bottom-nav {border:1px solid #87c5d090;background:#0b2e43ee;box-shadow:0 14px 34px #0013209c;backdrop-filter:blur(16px)}
  body.portal-app:not(.role-admin) .mobile-bottom-link {color:#d6edf2;min-width:0}
  body.portal-app:not(.role-admin) .mobile-bottom-link .mobile-bottom-icon {color:#c5eaf0}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active:not(.mobile-bottom-test) {border-color:#88d4d1;background:#194f5f;color:#fff!important;box-shadow:inset 0 0 0 1px #9fe9dc34}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active:not(.mobile-bottom-test)::before {background:#92e8e5}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active .mobile-bottom-icon {color:#a8f2e7}
  body.portal-app:not(.role-admin) .mobile-bottom-test {border-color:#ffaaa2;background:linear-gradient(150deg,#fa907f,#de6f72);color:#fff}
  body.portal-app:not(.role-admin) .mobile-bottom-test .mobile-bottom-icon {color:#fff}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-nav {gap:4px;padding-block:9px}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {min-height:55px;font-size:clamp(.74rem,2.9vw,.98rem);line-height:1.16}
}
@media(max-width:760px){
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-home {gap:10px;min-height:0;padding-top:0}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-section-heading {gap:8px;margin-bottom:7px}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-section-heading h2 {font-size:1.03rem}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-section-heading>a {font-size:.7rem}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-metrics {gap:6px}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-metric {min-height:82px;padding:10px 12px}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-metric span {font-size:.71rem;line-height:1.18}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-metric strong {font-size:1.55rem}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-review {padding:10px 12px}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-review-person {min-height:54px;padding:7px}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-home-featured-news {min-height:0;padding:19px 16px}
  body.portal-app:not(.role-admin) .page-wrapper {padding:12px 11px calc(89px + env(safe-area-inset-bottom))!important}
  body.portal-app:not(.role-admin) .page-body,body.portal-app:not(.role-admin) .page-stack {min-width:0;overflow:visible}
  body.portal-app:not(.role-admin) .page-header {margin:0 0 12px}
  body.portal-app:not(.role-admin) .page-header h1 {font-size:clamp(1.45rem,6.8vw,2rem);line-height:1.12}
  body.portal-app:not(.role-admin) .learning-page,body.portal-app:not(.role-admin) .assessment-page,
  body.portal-app:not(.role-admin) .case-library-page {gap:10px}
  body.portal-app:not(.role-admin) .section-intro-panel {display:flex;align-items:center;min-height:0;padding:15px 17px;border-radius:19px}
  body.portal-app:not(.role-admin) .section-intro-panel h1 {margin:3px 0 0;font-size:clamp(1.48rem,6vw,2.1rem);line-height:1.1}
  body.portal-app:not(.role-admin) .section-intro-panel .section-kicker {font-size:.61rem;letter-spacing:.12em}
  body.portal-app:not(.role-admin) .section-intro-panel::after {right:-85px;bottom:-170px}
  body.portal-app:not(.role-admin) .knowledge-grid {grid-template-columns:minmax(0,1fr);gap:9px}
  body.portal-app:not(.role-admin) .knowledge-card {position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);align-content:center;gap:3px 11px;min-height:98px;padding:12px;border-radius:18px}
  body.portal-app:not(.role-admin) .knowledge-card-top,body.portal-app:not(.role-admin) .knowledge-card:nth-child(n) .knowledge-card-top {grid-column:1;grid-row:1 / span 4;align-self:center;display:grid;place-items:center;width:54px;min-height:54px;height:54px;padding:4px;border:0;border-radius:15px;background:linear-gradient(150deg,#b6e9dd,#dfeff4)}
  body.portal-app:not(.role-admin) .knowledge-card-icon {width:43px;height:43px;border-radius:12px;font-size:1.05rem}
  body.portal-app:not(.role-admin) .knowledge-card .knowledge-pinned {position:absolute;right:10px;top:8px;padding:4px 7px;font-size:.58rem}
  body.portal-app:not(.role-admin) .knowledge-card .material-meta {grid-column:2;margin:0;padding-right:58px;font-size:.61rem;line-height:1.25;overflow-wrap:anywhere}
  body.portal-app:not(.role-admin) .knowledge-card h3 {grid-column:2;margin:0;font-size:.95rem;line-height:1.22;overflow-wrap:anywhere}
  body.portal-app:not(.role-admin) .knowledge-card p {grid-column:2;display:-webkit-box;overflow:hidden;margin:0;font-size:.72rem;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body.portal-app:not(.role-admin) .knowledge-card-action {grid-column:2;margin:1px 0 0;font-size:.72rem}
  body.portal-app:not(.role-admin) .knowledge-card-action {padding-top:1px;border-top:0}
  body.portal-app:not(.role-admin) .assessment-list,body.portal-app:not(.role-admin) .case-library-grid {grid-template-columns:minmax(0,1fr);gap:9px}
  body.portal-app:not(.role-admin) .assessment-card,body.portal-app:not(.role-admin) .case-library-card {min-height:0;gap:7px;padding:13px 14px;border-radius:18px}
  body.portal-app:not(.role-admin) .assessment-card h2,body.portal-app:not(.role-admin) .case-library-card h2 {margin:2px 0;font-size:clamp(1.04rem,4.5vw,1.23rem);line-height:1.2}
  body.portal-app:not(.role-admin) .assessment-card p,body.portal-app:not(.role-admin) .case-library-card>p {display:-webkit-box;overflow:hidden;max-height:2.65em;font-size:.77rem;line-height:1.32;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body.portal-app:not(.role-admin) .assessment-card-top,body.portal-app:not(.role-admin) .case-library-top {gap:7px;font-size:.7rem}
  body.portal-app:not(.role-admin) .assessment-facts,body.portal-app:not(.role-admin) .case-library-meta {display:flex;gap:4px 10px;flex-wrap:wrap;margin:3px 0;font-size:.67rem}
  body.portal-app:not(.role-admin) .case-library-meta {padding-top:6px}
  body.portal-app:not(.role-admin) .assessment-card-footer {margin-top:1px;gap:6px}
  body.portal-app:not(.role-admin) .assessment-card-footer .button {min-height:42px;padding:8px 12px;font-size:.76rem}
  body.portal-app:not(.role-admin) .assessment-status {max-width:none;font-size:.7rem}
  body.portal-app:not(.role-admin) .progress-summary-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.portal-app:not(.role-admin) .progress-summary-card {min-height:84px;padding:10px 12px;border-radius:16px}
  body.portal-app:not(.role-admin) .progress-summary-card strong {font-size:clamp(1.28rem,5.7vw,1.55rem)}
  body.portal-app:not(.role-admin) .progress-summary-card>span:last-child {font-size:.63rem;line-height:1.25}
  body.portal-app:not(.role-admin) .progress-history-section {margin-top:4px}
  body.portal-app:not(.role-admin) .progress-mobile-card {padding:11px 13px;border-radius:16px}
  body.portal-app:not(.role-admin) .test-experience {gap:10px}
  body.portal-app:not(.role-admin) .test-back-link {min-height:38px;padding:6px 10px;font-size:.78rem}
  body.portal-app:not(.role-admin) .test-experience-head {gap:7px;padding:14px 15px;border-radius:20px}
  body.portal-app:not(.role-admin) .test-experience-heading .section-kicker {display:none}
  body.portal-app:not(.role-admin) .test-experience-heading h1 {margin:0 0 5px;font-size:clamp(1.32rem,5.5vw,1.87rem);line-height:1.14}
  body.portal-app:not(.role-admin) .test-fact-pills {gap:5px}
  body.portal-app:not(.role-admin) .test-fact-pills span {padding:4px 8px;font-size:.68rem}
  body.portal-app:not(.role-admin) .test-clock {margin:1px 0 0;padding:4px 11px 4px 5px}
  body.portal-app:not(.role-admin) .test-clock-ring {width:39px;height:39px;flex-basis:39px}
  body.portal-app:not(.role-admin) .test-run {gap:8px}
  body.portal-app:not(.role-admin) .test-run-progress {padding:10px 12px;border-radius:14px}
  body.portal-app:not(.role-admin) .test-run-progress-copy {margin-bottom:6px}
  body.portal-app:not(.role-admin) .test-question-nav>summary {min-height:44px;padding:6px 11px}
  body.portal-app:not(.role-admin) .test-question-card {min-height:0;padding:15px;border-radius:19px}
  body.portal-app:not(.role-admin) .test-question-card h2 {margin:8px 0 12px;font-size:clamp(1.13rem,4.8vw,1.45rem)}
  body.portal-app:not(.role-admin) .test-option-list {gap:7px}
  body.portal-app:not(.role-admin) .test-option {min-height:53px;padding:8px 11px;gap:10px;border-radius:13px}
  body.portal-app:not(.role-admin) .test-option-copy {font-size:.86rem;line-height:1.35}
  body.portal-app:not(.role-admin) .test-run-controls {bottom:calc(78px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5px;padding:6px;border-radius:15px}
  body.portal-app:not(.role-admin) .test-run-controls .test-save-status {grid-column:1/-1;grid-row:1;padding:0 5px;font-size:.65rem;line-height:1.15;text-align:center}
  body.portal-app:not(.role-admin) .test-run-controls .test-step-back {grid-column:1;grid-row:2}
  body.portal-app:not(.role-admin) .test-run-controls .test-step-next,body.portal-app:not(.role-admin) .test-run-controls .test-finish-button {grid-column:2;grid-row:2}
  body.portal-app:not(.role-admin) .test-run-controls button {min-height:45px;padding:7px 8px;font-size:.76rem}
  body.portal-app:not(.role-admin) .test-result-hero {gap:9px;padding:16px;border-radius:19px}
  body.portal-app:not(.role-admin) .test-result-score {width:82px;height:82px}
  body.portal-app:not(.role-admin) .test-result-score>div {width:68px;height:68px}
  body.portal-app:not(.role-admin) .test-result-score strong {font-size:1.2rem}
  body.portal-app:not(.role-admin) .test-result-copy h1 {font-size:clamp(1.18rem,5vw,1.5rem)}
  body.portal-app:not(.role-admin) .test-result-return {min-height:43px}
  body.portal-app:not(.role-admin) .story-cover {min-height:0;padding:18px;border-radius:20px}
  body.portal-app:not(.role-admin) .story-cover h1 {font-size:clamp(1.5rem,6vw,2rem)}
  body.portal-app:not(.role-admin) .story-cover p {font-size:.85rem;line-height:1.45}
  body.portal-app:not(.role-admin) .team-materials-hero {min-height:0;padding:18px;border-radius:20px}
  body.portal-app:not(.role-admin) .team-materials-hero h1 {margin:5px 0;font-size:clamp(1.52rem,6vw,2rem)}
  body.portal-app:not(.role-admin) .team-materials-hero p {font-size:.83rem;line-height:1.48}
  body.portal-app:not(.role-admin) .team-material-item>summary {min-height:65px;padding:10px 12px}
  body.portal-app.case-screen:not(.role-admin) .page-stack {gap:10px}
  body.portal-app.case-screen:not(.role-admin) .page-intro-card {padding:17px}
  body.portal-app.case-screen:not(.role-admin) .page-stack>.card:not(.page-intro-card),body.portal-app.case-screen:not(.role-admin) .question-stack>.card {padding:15px}
  body.portal-app:not(.role-admin) .sales-story-contacts {display:grid;gap:5px;padding:8px 9px;border-radius:14px}
  body.portal-app:not(.role-admin) .sales-story-contacts h2 {font-size:.68rem;letter-spacing:.03em}
  body.portal-app:not(.role-admin) .sales-story-contact-row {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;align-items:start}
  body.portal-app:not(.role-admin) .sales-story-contact {display:block;min-width:0;padding:0 3px;border-right:1px solid #8bb5c352;font-size:clamp(.56rem,2.1vw,.65rem);line-height:1.25;overflow-wrap:anywhere}
  body.portal-app:not(.role-admin) .sales-story-contact:last-child {border-right:0}
  body.portal-app:not(.role-admin) .sales-story-contact strong {display:block;margin-bottom:2px;font-size:.63rem}
  body.portal-app:not(.role-admin) .sales-story-contact-detail {display:grid;gap:1px;min-width:0}
  body.portal-app:not(.role-admin) .sales-story-contact-detail>span {min-width:0;overflow-wrap:anywhere}
  body.portal-app:not(.role-admin) .sales-story-contact-detail>span+span::before {content:none}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact {gap:9px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-toolbar-card {padding:6px!important;border-radius:14px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-kpi-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .compact-stat-card {min-height:82px;padding:10px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-summary-strip {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-summary-strip>div {min-height:57px;padding:8px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-results-panel {gap:10px;padding:12px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempts-mobile {display:grid;gap:8px;min-height:0;max-height:none!important;overflow:visible!important;resize:none;padding:0;scrollbar-gutter:auto}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-expand-mobile {display:none}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-card {padding:11px 12px;border-radius:14px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-card h3 {margin:7px 0;font-size:.88rem}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-metrics {gap:6px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-attempt-action {min-height:43px}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-additional {padding:0}
  body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .analytics-additional [data-admin-insight-scroll] {max-height:none!important;overflow:visible!important;resize:none}
}
@media(max-width:380px){
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {font-size:.73rem;padding-inline:1px}
  body.portal-app:not(.role-admin) .knowledge-card .material-meta {font-size:.57rem}
  body.portal-app:not(.role-admin) .sales-story-contact {font-size:.54rem}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card,body.portal-app .test-option {animation:none!important;transition:none!important;transform:none!important}
}
/* One recognizable header: readable brand, unboxed account, and a clear logout action. */
body.portal-app .site-header .brand-logo-frame,
body.portal-app .site-header .brand-mark {width:49px;height:49px;flex:0 0 49px;border:2px solid #d7edcc;border-radius:15px;background:#fffefa;box-shadow:0 0 0 3px #ffffff1b,0 7px 19px #041f2e5c}
body.portal-app .site-header .brand-logo-image {width:100%;height:100%;object-fit:contain}
body.role-admin.portal-app .site-header .brand-subtitle {display:none!important}
body.portal-app:not(.role-admin) .site-header .brand-subtitle {display:block!important;margin-top:3px;color:#ddf4eb!important;font-size:.72rem;line-height:1.16;font-weight:680;letter-spacing:.015em;white-space:normal;overflow-wrap:normal}
body.portal-app .site-header .header-user-panel .user-chip,
body.dashboard-page.portal-app .site-header .header-user-panel .user-chip {border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;color:#fff!important;padding:4px 2px!important;min-width:0}
body.portal-app .site-header .header-user-panel .user-chip:hover,
body.portal-app .site-header .header-user-panel .user-chip[aria-expanded="true"] {background:#ffffff0d!important}
body.portal-app .site-header .user-chip-icon {display:none!important}
body.portal-app .site-header .user-chip-copy {max-width:min(33vw,330px)!important;text-align:right}
body.portal-app .site-header .user-chip-name {display:block!important;color:#fff!important;font-size:clamp(.88rem,1.2vw,1.03rem)!important;font-weight:850!important;line-height:1.18!important;letter-spacing:.025em!important;text-align:right;text-shadow:0 1px 8px #082f38ba!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important}
body.portal-app .site-header .user-chip-role {display:none!important}
body.portal-app .site-header .user-chip-caret {color:#b4f1ed!important;font-size:1rem}
body.portal-app .site-header .account-logout {display:flex;align-items:center;gap:10px;min-height:46px;color:#25494b!important;font-weight:800}
body.portal-app .site-header .account-logout:hover {background:#ecf5ef!important}
body.portal-app .site-header .account-logout svg {width:19px;height:19px;fill:none;stroke:#d45f53;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;flex:none}
@media(max-width:1049px){
  body.portal-app .site-header .portal-header-inner,
  body.dashboard-page.portal-app .site-header .portal-header-inner {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;grid-template-rows:minmax(55px,auto)!important;gap:8px!important}
  body.portal-app .site-header .brand-link,
  body.dashboard-page.portal-app .site-header .brand-link {grid-column:1!important;grid-row:1!important;justify-self:start!important;min-width:0!important}
  body.portal-app .site-header .header-user-panel,
  body.dashboard-page.portal-app .site-header .header-user-panel {grid-column:2!important;grid-row:1!important;justify-self:end!important;width:100%!important;min-width:0!important}
  body.portal-app .site-header .header-user-panel .dropdown {width:100%;min-width:0}
  body.portal-app .site-header .header-user-panel .user-chip {justify-content:flex-end!important;width:100%!important;max-width:100%!important;min-height:44px!important}
  body.portal-app .site-header .header-user-panel .user-chip-copy {max-width:100%!important;min-width:0!important}
  body.portal-app .site-header .user-chip-name {font-size:clamp(.69rem,2.75vw,.91rem)!important}
  body.portal-app .site-header .brand-link .brand-logo-frame,
  body.portal-app .site-header .brand-link .brand-mark {display:grid!important;width:37px!important;height:37px!important;flex:0 0 37px!important;border-radius:11px!important}
  body.portal-app:not(.role-admin) .site-header .brand-link .brand-copy {display:grid!important;min-width:0!important;max-width:none!important}
  body.portal-app:not(.role-admin) .site-header .brand-subtitle {display:block!important;max-width:21ch;font-size:clamp(.54rem,1.85vw,.65rem);line-height:1.11}
  body.portal-app .site-header .mobile-header-menu-toggle {display:none!important}
}
@media(max-width:380px){
  body.portal-app .site-header .portal-header-inner,
  body.dashboard-page.portal-app .site-header .portal-header-inner {grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr)!important;gap:5px!important}
  body.portal-app .site-header .brand-link .brand-logo-frame,
  body.portal-app .site-header .brand-link .brand-mark {width:33px!important;height:33px!important;flex-basis:33px!important}
  body.portal-app:not(.role-admin) .site-header .brand-subtitle {font-size:.53rem}
  body.portal-app .site-header .user-chip-name {font-size:.69rem!important}
}

/* Administrator controls and lists: a taller, calmer workspace. */
body.admin-users-page.portal-app .users-admin-toolbar {display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:start;gap:10px;margin-bottom:15px}
body.admin-users-page.portal-app .users-create-panel,
body.admin-users-page.portal-app .users-filter-panel {min-width:0;margin:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
body.admin-users-page.portal-app .users-create-panel {grid-column:1;grid-row:1}
body.admin-users-page.portal-app .users-filter-panel {grid-column:2;grid-row:1;justify-self:end}
body.admin-users-page.portal-app .users-create-panel>summary {display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:50px;max-width:100%;padding:8px 15px;border:1px solid #a5c9c5;border-radius:15px;background:#e8f4ee;color:#164f51;font-size:.86rem;font-weight:850;cursor:pointer;list-style:none}
body.admin-users-page.portal-app .users-create-panel>summary::-webkit-details-marker,
body.admin-users-page.portal-app .users-filter-panel>summary::-webkit-details-marker {display:none}
body.admin-users-page.portal-app .users-create-panel>summary span {display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:9px;background:#187381;color:#fff;font-size:1.15rem}
body.admin-users-page.portal-app .users-create-panel[open] {grid-column:1/-1;grid-row:2;padding:15px!important;border:1px solid #c1d9d6!important;border-radius:18px;background:#fbfefb!important}
body.admin-users-page.portal-app .users-create-panel[open]>summary {margin-bottom:12px}
body.admin-users-page.portal-app .users-create-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;max-width:920px}
body.admin-users-page.portal-app .users-create-form label {display:grid;gap:5px;min-width:0;margin:0;font-size:.76rem}
body.admin-users-page.portal-app .users-create-form input,
body.admin-users-page.portal-app .users-create-form select {width:100%;min-height:44px}
body.admin-users-page.portal-app .users-create-form>button {grid-column:1/-1;justify-self:start;min-height:44px;padding:8px 17px}
body.admin-users-page.portal-app .users-filter-panel[open] {grid-column:1/-1;grid-row:2;justify-self:stretch;padding:12px!important;border:1px solid #c1d9d6!important;border-radius:18px;background:#fbfefb!important}
body.admin-users-page.portal-app .users-create-panel[open]~.users-filter-panel[open] {grid-row:3}
body.admin-users-page.portal-app .users-filter-panel[open]>summary {margin-left:auto}
body.admin-users-page.portal-app .users-filter-trigger,
body.admin-analytics-page.portal-app .analytics-filter-trigger {display:grid;place-items:center;width:49px;height:49px;min-height:49px;padding:0;border:1px solid #91bfbd;border-radius:15px;background:linear-gradient(150deg,#f8fffa,#deefed);color:#185c65;box-shadow:0 5px 13px #0c4b5e20;cursor:pointer}
body.admin-users-page.portal-app .users-filter-trigger svg,
body.admin-analytics-page.portal-app .analytics-filter-trigger svg {display:block;width:23px;height:23px;flex:none;fill:none;stroke:#185c65;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}
body.admin-users-page.portal-app .users-filter-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:9px}
body.admin-users-page.portal-app .users-filter-form label {display:grid;gap:4px;min-width:0;margin:0;font-size:.75rem}
body.admin-users-page.portal-app .users-filter-form input,
body.admin-users-page.portal-app .users-filter-form select {width:100%;min-height:43px}
body.admin-users-page.portal-app .users-filter-form .table-actions {display:flex;gap:6px;align-items:center;flex-wrap:wrap}
body.admin-users-page.portal-app .users-list-card {gap:12px;padding:clamp(16px,2vw,24px);border-radius:22px}
body.admin-users-page.portal-app .users-list-card h2 {margin:0;font-size:clamp(1.12rem,1.9vw,1.4rem)}
body.admin-users-page.portal-app .users-list-card .users-compact-wrap {min-height:230px;max-height:min(62svh,650px)!important;border:1px solid #d1e2df!important;border-radius:14px;background:#fffefa}
body.admin-users-page.portal-app .users-list-card .users-compact-wrap.is-expanded {max-height:min(82svh,850px)!important}
body.admin-users-page.portal-app .users-table-compact th {padding:10px 11px;background:#e8f3ef;color:#41646a}
body.admin-users-page.portal-app .users-table-compact td {padding:10px 11px;border-bottom:1px solid #e1ece8;font-size:.79rem}
body.admin-users-page.portal-app .users-table-compact tbody tr:hover {background:#f2faf6}
body.admin-users-page.portal-app .users-table-compact td:first-child {width:46px;color:#6b8588}
body.admin-users-page.portal-app .users-table-compact td:nth-child(2) strong {font-size:.83rem;color:#163e46}
body.admin-users-page.portal-app .users-table-compact .badge {font-size:.68rem}
body.admin-users-page.portal-app .users-table-compact .compact-actions-wrap {display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
body.admin-users-page.portal-app .users-table-compact .compact-actions-wrap .table-button {min-height:33px;padding:5px 8px;font-size:.67rem}
body.admin-users-page.portal-app .users-table-compact .inline-details-form {z-index:5;background:#fbfefb}
body.admin-analytics-page.portal-app .analytics-toolbar-card {display:flex;justify-content:flex-end;min-height:66px;padding:8px 13px!important}
body.admin-analytics-page.portal-app .analytics-filter-disclosure {width:49px;max-width:100%;margin:0 0 0 auto}
body.admin-analytics-page.portal-app .analytics-filter-disclosure[open] {width:100%}
body.admin-analytics-page.portal-app .analytics-filter-trigger {margin-left:auto!important}
body.admin-analytics-page.portal-app .analytics-filter-chevron {display:none}
body.admin-analytics-page.portal-app .analytics-filter-count {position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;font-size:.62rem}
body.admin-analytics-page.portal-app .analytics-filter-disclosure {position:relative}
body.admin-analytics-page.portal-app .analytics-results-panel {gap:14px;padding:clamp(17px,2vw,24px)!important;border-radius:22px}
body.admin-analytics-page.portal-app .analytics-results-panel .analytics-attempts-desktop {min-height:230px;max-height:min(60svh,620px)!important;border:1px solid #cfdfde;border-radius:14px;background:#fffefa}
body.admin-analytics-page.portal-app .analytics-results-panel .analytics-attempts-desktop.is-expanded {max-height:min(82svh,850px)!important}
body.admin-analytics-page.portal-app .analytics-results-table th {padding:10px 12px;background:#e8f3ef}
body.admin-analytics-page.portal-app .analytics-results-table td {padding:11px 12px;border-bottom:1px solid #e1ece8;font-size:.79rem}
body.admin-analytics-page.portal-app .analytics-results-table tbody tr:hover {background:#f2faf6}
body.admin-analytics-page.portal-app .analytics-result-score {display:grid;gap:2px;white-space:nowrap}
body.admin-analytics-page.portal-app .analytics-result-score strong {color:#125c69;font-size:.96rem;font-variant-numeric:tabular-nums}
body.admin-analytics-page.portal-app .analytics-result-score small {color:#617a80;font-size:.65rem}
body.admin-analytics-page.portal-app .analytics-results-table td:first-child strong {color:#19424b}
body.admin-analytics-page.portal-app .analytics-attempts-mobile {max-height:min(60svh,620px);gap:0!important;padding:0!important;border:1px solid #cfdfde;border-radius:14px;background:#fffefa}
body.admin-analytics-page.portal-app .analytics-attempt-card {display:grid;gap:5px;padding:12px 14px;border:0;border-bottom:1px solid #dfeae7;border-radius:0;background:transparent;box-shadow:none}
body.admin-analytics-page.portal-app .analytics-attempt-card:last-child {border-bottom:0}
body.admin-analytics-page.portal-app .analytics-attempt-card h3 {margin:0;color:#1d444e!important;font-size:.82rem;line-height:1.3}
body.admin-analytics-page.portal-app .analytics-attempt-footer {display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
body.admin-analytics-page.portal-app .analytics-attempt-footer time {color:#627b7f;font-size:.66rem;white-space:nowrap}
body.admin-analytics-page.portal-app .analytics-attempt-footer .analytics-attempt-action {display:inline-flex;align-items:center;gap:4px;min-height:36px;margin:0;padding:6px 10px;border-radius:10px;font-size:.67rem;white-space:nowrap}
@media(max-width:900px){
  body.admin-users-page.portal-app .users-filter-form {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-users-page.portal-app .users-filter-form .table-actions {grid-column:1/-1}
  body.admin-users-page.portal-app .users-list-card .users-compact-wrap {max-height:min(62svh,650px)!important}
  body.admin-analytics-page.portal-app .analytics-results-panel .analytics-attempts-mobile {max-height:min(60svh,620px)}
}
@media(max-width:600px){
  body.admin-users-page.portal-app .users-create-form {grid-template-columns:minmax(0,1fr)}
  body.admin-users-page.portal-app .users-create-form>button {grid-column:1}
  body.admin-users-page.portal-app .users-filter-form {grid-template-columns:minmax(0,1fr)}
  body.admin-users-page.portal-app .users-filter-form .table-actions {grid-column:1}
  body.admin-users-page.portal-app .users-list-card {padding:12px}
  body.admin-users-page.portal-app .users-table-compact td {padding:4px 0;border:0;font-size:.76rem}
  body.admin-users-page.portal-app .users-table-compact tr {min-height:130px;padding:12px}
  body.admin-users-page.portal-app .users-table-compact .compact-actions-wrap {justify-content:flex-start}
  body.admin-analytics-page.portal-app .analytics-attempt-footer {flex-wrap:wrap}
  body.admin-analytics-page.portal-app .analytics-attempt-footer .analytics-attempt-action {margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app .site-header .user-chip,
  body.admin-users-page.portal-app .users-create-panel>summary,
  body.admin-users-page.portal-app .users-filter-trigger,
  body.admin-analytics-page.portal-app .analytics-filter-trigger {animation:none!important;transition:none!important}
}

/* Analytics: one team result and a separate, legible result for each test. */
body.admin-analytics-page.portal-app .analytics-page-compact {min-width:0;gap:clamp(12px,1.8vw,20px)}
body.admin-analytics-page.portal-app .analytics-filter-compact {box-sizing:border-box;width:49px;max-width:100%;margin:0 0 -3px auto;padding:0;border:0;background:transparent;box-shadow:none}
body.admin-analytics-page.portal-app .analytics-filter-compact[open] {width:min(100%,790px);padding:0 0 12px}
body.admin-analytics-page.portal-app .analytics-filter-compact[open] .analytics-filter-trigger {margin-bottom:8px}
body.admin-analytics-page.portal-app .analytics-filter-compact .analytics-filter-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;margin:0;padding:clamp(12px,1.7vw,18px);border:1px solid #b9d8d7;border-radius:17px;background:linear-gradient(145deg,#f9fdf9,#eaf5f3);box-shadow:0 12px 30px #073e4c1a}
body.admin-analytics-page.portal-app .analytics-filter-compact .analytics-filter-grid label {display:grid;gap:4px;min-width:0;color:#28535b;font-size:.75rem;font-weight:800}
body.admin-analytics-page.portal-app .analytics-filter-compact .analytics-filter-grid :is(input,select) {box-sizing:border-box;width:100%;min-width:0;min-height:43px;color:#143d48;background:#fff}
body.admin-analytics-page.portal-app .analytics-filter-compact .compact-filter-actions {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
body.admin-analytics-page.portal-app .analytics-filter-compact .compact-filter-actions :is(button,a) {min-height:43px}

body.admin-analytics-page.portal-app .analytics-page-compact .analytics-core-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,1.5vw,15px);min-width:0;margin:0}
body.admin-analytics-page.portal-app .analytics-core-metrics .compact-stat-card {display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;min-height:103px;padding:clamp(14px,1.8vw,21px)!important;border-radius:19px}
body.admin-analytics-page.portal-app .analytics-core-metrics .stat-label {color:#28565c;font-size:clamp(.7rem,1.2vw,.81rem);font-weight:800;line-height:1.28;overflow-wrap:anywhere}
body.admin-analytics-page.portal-app .analytics-core-metrics .stat-value {color:#114351;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1;font-variant-numeric:tabular-nums}

body.admin-analytics-page.portal-app .analytics-page-compact .analytics-team-performance {display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,4vw,48px);min-width:0;min-height:194px;padding:clamp(20px,3vw,32px)!important;overflow:hidden;border:1px solid #74cbd0;border-radius:27px;background:radial-gradient(circle at 91% 11%,#24939b82,transparent 30%),linear-gradient(125deg,#102d48,#0b5364 75%,#126b73)!important;box-shadow:0 18px 42px #092e4160;color:#f2fbff!important}
body.admin-analytics-page.portal-app .analytics-team-performance-copy {min-width:0}
body.admin-analytics-page.portal-app .analytics-team-performance .section-kicker {color:#9ee8ed;font-size:.67rem;font-weight:900;letter-spacing:.14em}
body.admin-analytics-page.portal-app .analytics-team-performance h2 {margin:9px 0;color:#fff!important;font-size:clamp(1.3rem,2.7vw,2rem);line-height:1.13;overflow-wrap:anywhere}
body.admin-analytics-page.portal-app #team-performance-title {color:#fff!important}
body.admin-analytics-page.portal-app .analytics-team-performance p {margin:0;color:#e1f2f4;font-size:clamp(.75rem,1.3vw,.86rem);line-height:1.45}
body.admin-analytics-page.portal-app .analytics-performance-ring,body.admin-analytics-page.portal-app .analytics-test-ring {display:grid;flex:none;place-items:center;width:clamp(126px,14vw,162px);aspect-ratio:1;padding:11px;border-radius:50%;background:conic-gradient(#93efd8 0 var(--performance),#79b7c654 var(--performance) 100%);box-shadow:0 12px 27px #00192540}
body.admin-analytics-page.portal-app .analytics-performance-ring>span,body.admin-analytics-page.portal-app .analytics-test-ring>span {display:grid;place-content:center;justify-items:center;gap:3px;width:100%;height:100%;border-radius:50%;background:#113b51;color:#fff;text-align:center}
body.admin-analytics-page.portal-app .analytics-performance-ring strong,body.admin-analytics-page.portal-app .analytics-test-ring strong {font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
body.admin-analytics-page.portal-app .analytics-performance-ring strong small,body.admin-analytics-page.portal-app .analytics-test-ring strong small {margin-left:1px;font-size:.48em}
body.admin-analytics-page.portal-app .analytics-performance-ring em {color:#aee9eb;font-size:.61rem;font-style:normal;font-weight:850;letter-spacing:.12em}

body.admin-analytics-page.portal-app .analytics-tests-panel {display:grid;gap:11px;min-width:0}
body.admin-analytics-page.portal-app .analytics-tests-panel .section-header-row {gap:10px;align-items:end;margin:0}
body.admin-analytics-page.portal-app .analytics-tests-panel h2 {margin:0;color:#173f49;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.2;overflow-wrap:anywhere}
body.admin-analytics-page.portal-app .analytics-tests-panel .muted-text {color:#527078;font-size:.73rem;white-space:nowrap}
body.admin-analytics-page.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-tests-panel h2 {color:#effbfb!important}
body.admin-analytics-page.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-tests-panel .muted-text {color:#d7eaeb}
body.admin-analytics-page.portal-app .analytics-test-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,263px),1fr));gap:clamp(10px,1.5vw,16px);min-width:0}
body.admin-analytics-page.portal-app .analytics-test-performance {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:center;gap:14px 10px;min-width:0;min-height:187px;padding:clamp(15px,2vw,21px);border:1px solid #9ad3d4;border-radius:22px;background:linear-gradient(145deg,#f6fff9,#e7f5f2 65%,#d7eeeb);box-shadow:0 10px 26px #062c3c24;color:#183e48;transition:transform .2s ease,box-shadow .2s ease}
body.admin-analytics-page.portal-app .analytics-test-performance:hover {transform:translateY(-3px);box-shadow:0 17px 33px #062c3c36}
body.admin-analytics-page.portal-app .analytics-test-performance-copy {min-width:0;align-self:start}
body.admin-analytics-page.portal-app .analytics-test-eyebrow {color:#08777d;font-size:.62rem;font-weight:900;letter-spacing:.12em}
body.admin-analytics-page.portal-app .analytics-test-performance h3 {margin:7px 0;color:#173e48!important;font-size:clamp(.96rem,1.6vw,1.1rem);line-height:1.23;overflow-wrap:anywhere}
body.admin-analytics-page.portal-app .analytics-test-performance-copy>small {display:block;color:#56737b;font-size:.69rem;line-height:1.28}
body.admin-analytics-page.portal-app .analytics-test-ring {width:clamp(80px,7.7vw,106px);padding:7px;background:conic-gradient(#23aa92 0 var(--performance),#bed9d8 var(--performance) 100%);box-shadow:none}
body.admin-analytics-page.portal-app .analytics-test-ring>span {background:#e7f7f1;color:#105463}
body.admin-analytics-page.portal-app .analytics-test-ring strong {font-size:clamp(1.38rem,2.3vw,1.9rem)}
body.admin-analytics-page.portal-app .analytics-test-breakdown {grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.admin-analytics-page.portal-app .analytics-test-breakdown>span {display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:36px;padding:7px 10px;border-radius:11px;font-size:.69rem;font-weight:800;white-space:nowrap}
body.admin-analytics-page.portal-app .analytics-test-breakdown strong {font-size:.94rem;font-variant-numeric:tabular-nums}
body.admin-analytics-page.portal-app .analytics-test-breakdown .is-passed {background:#d5f3e6;color:#145c4d}
body.admin-analytics-page.portal-app .analytics-test-breakdown .is-failed {background:#ffe9e1;color:#9a4637}
body.admin-analytics-page.portal-app .analytics-test-empty {grid-column:1/-1;margin:0;padding:17px;border:1px solid #a4d2d4;border-radius:16px;background:#e8f5f2;color:#285861}

@media(max-width:600px){
  body.admin-analytics-page.portal-app .analytics-filter-compact .analytics-filter-grid {grid-template-columns:minmax(0,1fr)}
  body.admin-analytics-page.portal-app .analytics-page-compact .analytics-core-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-analytics-page.portal-app .analytics-core-metrics .compact-stat-card:first-child {grid-column:1/-1;min-height:77px}
  body.admin-analytics-page.portal-app .analytics-core-metrics .compact-stat-card {min-height:93px;padding:13px!important}
  body.admin-analytics-page.portal-app .analytics-page-compact .analytics-team-performance {min-height:0;padding:18px!important;border-radius:20px}
  body.admin-analytics-page.portal-app .analytics-team-performance h2 {font-size:clamp(1.13rem,4.3vw,1.4rem)}
  body.admin-analytics-page.portal-app .analytics-team-performance p {font-size:.7rem}
  body.admin-analytics-page.portal-app .analytics-performance-ring {width:clamp(95px,28vw,116px);padding:8px}
  body.admin-analytics-page.portal-app .analytics-performance-ring strong {font-size:clamp(1.45rem,6vw,1.8rem)}
  body.admin-analytics-page.portal-app .analytics-performance-ring em {font-size:.49rem}
  body.admin-analytics-page.portal-app .analytics-test-grid {grid-template-columns:minmax(0,1fr)}
  body.admin-analytics-page.portal-app .analytics-test-performance {min-height:160px}
}
@media(max-width:360px){
  body.admin-analytics-page.portal-app .analytics-page-compact .analytics-team-performance {gap:9px;padding:14px!important}
  body.admin-analytics-page.portal-app .analytics-team-performance p {font-size:.68rem}
  body.admin-analytics-page.portal-app .analytics-performance-ring {width:91px}
  body.admin-analytics-page.portal-app .analytics-test-ring {width:78px}
}
@media(prefers-reduced-motion:reduce){body.admin-analytics-page.portal-app .analytics-test-performance {transition:none}body.admin-analytics-page.portal-app .analytics-test-performance:hover {transform:none}}

/* Sales topic library and readable page-turn cards. */
body.portal-app.sales-learning-page .sales-library,
body.portal-app.sales-learning-page .sales-book {--book-accent:#8de7df;--book-glow:#2c94a3;max-width:1120px;min-width:0;margin-inline:auto}
body.portal-app.sales-learning-page .sales-book[data-topic="playbook"] {--book-accent:#c9e88c;--book-glow:#6e9772}
body.portal-app.sales-learning-page .sales-book[data-topic="category_guides"] {--book-accent:#9bc8ff;--book-glow:#477fae}
body.portal-app.sales-learning-page .sales-book[data-topic="product_focus"] {--book-accent:#ffd29b;--book-glow:#b97a63}
body.portal-app.sales-learning-page .sales-book[data-topic="scripts"] {--book-accent:#d8b8fa;--book-glow:#8d66aa}
body.portal-app.sales-learning-page .sales-book-eyebrow {display:block;color:#a3eef1;font-size:.72rem;font-weight:850;letter-spacing:.14em;line-height:1.4}
body.portal-app.sales-learning-page .sales-library-header {display:grid;gap:7px;margin-bottom:clamp(15px,2.5vw,28px);padding:5px 3px}
body.portal-app.sales-learning-page .sales-library-header h1 {margin:0;color:#f7fdff!important;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.08;letter-spacing:-.05em;text-shadow:0 0 23px #5be0ef54;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-library-intro {color:#d3eaf2;max-width:66ch;font-size:.88rem}
body.portal-app.sales-learning-page .sales-library-intro summary {display:inline-flex;align-items:center;min-height:42px;gap:8px;color:#b6f5f2;font-weight:800;cursor:pointer}
body.portal-app.sales-learning-page .sales-library-intro p {margin:2px 0 0;color:#e1f0f4;line-height:1.58;white-space:pre-line}
body.portal-app.sales-learning-page .sales-topic-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.7vw,18px);min-width:0}
body.portal-app.sales-learning-page .sales-topic-wrap {min-width:0;scroll-margin-top:110px}
body.portal-app.sales-learning-page .sales-topic-wrap:first-child {grid-column:1/-1}
body.portal-app.sales-learning-page .sales-topic-card {--topic-accent:#8ce9dc;--topic-glow:#2b8e9e;position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2vw,25px);min-width:0;min-height:clamp(150px,15vw,190px);height:100%;padding:clamp(19px,2.6vw,31px);overflow:hidden;border:1px solid #97d6d785;border-radius:clamp(18px,2vw,27px);background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--topic-glow) 48%,transparent),transparent 48%),linear-gradient(125deg,#143e54,#0b283f 77%);box-shadow:0 16px 38px #00122663,inset 0 1px #d6f9fa33;color:#f5fcff!important;text-decoration:none!important;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease}
body.portal-app.sales-learning-page .sales-topic-card::after {position:absolute;z-index:-1;right:-13%;bottom:-115%;width:70%;aspect-ratio:1;border:1px solid #bcecf036;border-radius:50%;box-shadow:0 0 0 28px #d0f6f10a,0 0 0 67px #d0f6f10a;content:"";pointer-events:none}
body.portal-app.sales-learning-page .sales-topic-card:hover,
body.portal-app.sales-learning-page .sales-topic-card:focus-visible {border-color:var(--topic-accent);box-shadow:0 24px 48px #0012267a,0 0 27px color-mix(in srgb,var(--topic-glow) 29%,transparent);transform:translateY(-3px)}
body.portal-app.sales-learning-page .sales-topic-card[data-topic="playbook"] {--topic-accent:#c6ed9a;--topic-glow:#64815b}
body.portal-app.sales-learning-page .sales-topic-card[data-topic="category_guides"] {--topic-accent:#98d0ff;--topic-glow:#366699}
body.portal-app.sales-learning-page .sales-topic-card[data-topic="product_focus"] {--topic-accent:#ffd297;--topic-glow:#a97755}
body.portal-app.sales-learning-page .sales-topic-card[data-topic="scripts"] {--topic-accent:#dcb9fb;--topic-glow:#79569c}
body.portal-app.sales-learning-page .sales-topic-numeral {display:grid;place-items:center;flex:none;width:clamp(47px,6vw,73px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--topic-accent) 63%,transparent);border-radius:18px;background:color-mix(in srgb,var(--topic-accent) 13%,#103c56);color:var(--topic-accent);font-size:clamp(1.45rem,2.5vw,2rem);font-weight:900;letter-spacing:-.07em}
body.portal-app.sales-learning-page .sales-topic-copy {display:grid;gap:8px;min-width:0;position:relative;z-index:1}
body.portal-app.sales-learning-page .sales-topic-meta {color:var(--topic-accent);font-size:.69rem;font-weight:850;letter-spacing:.1em}
body.portal-app.sales-learning-page .sales-topic-copy strong {color:#fff;font-size:clamp(1.22rem,2.5vw,1.9rem);line-height:1.16;letter-spacing:-.035em;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-topic-description {display:-webkit-box;max-width:56ch;overflow:hidden;color:#d5e8f2;font-size:.88rem;line-height:1.46;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body.portal-app.sales-learning-page .sales-topic-open {display:grid;place-items:center;z-index:2;width:47px;height:47px;border:1px solid #c7f3f073;border-radius:50%;background:#dffaf015;color:#ecffff;font-size:1.3rem}
body.portal-app.sales-learning-page .sales-topic-product {position:absolute;right:13%;bottom:-9%;height:125%;max-width:27%;object-fit:contain;opacity:.56;filter:drop-shadow(0 18px 19px #001a2b99);pointer-events:none}
body.portal-app.sales-learning-page .sales-topic-card:has(.sales-topic-product) .sales-topic-copy {max-width:65%}
body.portal-app.sales-learning-page .sales-topic-edit-actions {margin:7px 2px 0}
body.portal-app.sales-learning-page .sales-story-contacts {max-width:1120px;margin:clamp(22px,3vw,34px) auto 0}

/* Individual topic pages use the width of the screen for one card. */
body.portal-app.sales-learning-page .sales-book {max-width:1080px}
body.portal-app.sales-learning-page .sales-book-header {display:grid;gap:10px;margin-bottom:14px}
body.portal-app.sales-learning-page .sales-book-back {display:inline-flex;justify-self:start;align-items:center;gap:8px;min-height:40px;padding:6px 13px;border:1px solid #9bd3da83;border-radius:999px;background:#123b50;color:#f0fcfc!important;font-size:.83rem;font-weight:800;text-decoration:none!important;transition:background .22s ease,transform .22s ease}
body.portal-app.sales-learning-page .sales-book-back:hover {background:#246479;transform:translateX(-3px)}
body.portal-app.sales-learning-page .sales-book-heading {display:grid;gap:5px;min-width:0}
body.portal-app.sales-learning-page .sales-book-heading h1 {margin:0;color:#fff!important;font-size:clamp(1.75rem,4vw,3rem);line-height:1.08;letter-spacing:-.048em;text-shadow:0 0 20px color-mix(in srgb,var(--book-glow) 55%,transparent);overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-book-heading p {margin:0;color:#d4e9f2;font-size:.87rem;line-height:1.42;max-width:72ch;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-book-edit-actions {padding:3px 0}
body.portal-app.sales-learning-page .sales-book-reader {display:grid;gap:12px;min-width:0;max-width:1080px}
body.portal-app.sales-learning-page .sales-book-stage {display:grid;min-width:0;min-height:clamp(395px,calc(100svh - 285px),670px);overflow:hidden;border-radius:clamp(20px,3vw,30px);box-shadow:0 27px 60px #000e2780;perspective:1400px;isolation:isolate;touch-action:pan-y}
body.portal-app.sales-learning-page .sales-book-page {grid-area:1/1;position:relative;display:grid;align-content:center;min-width:0;visibility:hidden;opacity:0;overflow:hidden;border:1px solid #cce2e1;border-radius:inherit;background:radial-gradient(circle at 94% 6%,color-mix(in srgb,var(--book-accent) 26%,transparent),transparent 46%),linear-gradient(139deg,#fcfefa,#edf5f1 85%);color:#173944;backface-visibility:hidden;transform:translateX(28px) rotateY(11deg);transform-origin:left center;transition:transform .39s cubic-bezier(.2,.65,.2,1),opacity .39s ease;pointer-events:none}
body.portal-app.sales-learning-page .sales-book-page::before {position:absolute;left:clamp(17px,4vw,44px);top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--book-glow) 30%,transparent);content:"";pointer-events:none}
body.portal-app.sales-learning-page .sales-book-page.is-current,
body.portal-app.sales-learning-page .sales-book-page.is-entering,
body.portal-app.sales-learning-page .sales-book-page.is-preparing-next,
body.portal-app.sales-learning-page .sales-book-page.is-preparing-prev,
body.portal-app.sales-learning-page .sales-book-page.is-leaving-next,
body.portal-app.sales-learning-page .sales-book-page.is-leaving-prev {visibility:visible}
body.portal-app.sales-learning-page .sales-book-page.is-current,
body.portal-app.sales-learning-page .sales-book-page.is-entering {z-index:2;opacity:1;transform:none;pointer-events:auto}
body.portal-app.sales-learning-page .sales-book-page.is-preparing-next {z-index:2;opacity:0;transform:translateX(38px) rotateY(13deg)}
body.portal-app.sales-learning-page .sales-book-page.is-preparing-prev {z-index:2;opacity:0;transform:translateX(-38px) rotateY(-13deg)}
body.portal-app.sales-learning-page .sales-book-page.is-leaving-next {z-index:3;opacity:0;transform:translateX(-40px) rotateY(-17deg)}
body.portal-app.sales-learning-page .sales-book-page.is-leaving-prev {z-index:3;opacity:0;transform:translateX(40px) rotateY(17deg)}
body.portal-app.sales-learning-page .sales-book-page.has-image {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-content:stretch}
body.portal-app.sales-learning-page .sales-book-page-edge {position:absolute;top:3%;right:6px;bottom:3%;width:5px;border-radius:4px;background:repeating-linear-gradient(90deg,#c2d3cf 0 1px,#edf5ef 1px 2px);opacity:.7;pointer-events:none}
body.portal-app.sales-learning-page .sales-book-page-copy {position:relative;z-index:1;display:grid;align-content:center;justify-items:start;gap:clamp(13px,2.2vw,23px);max-width:77ch;min-width:0;padding:clamp(29px,6vw,75px);overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-book-page-top {display:flex;align-items:center;gap:15px;color:#416271;font-size:.69rem;font-weight:850;letter-spacing:.09em;line-height:1.3}
body.portal-app.sales-learning-page .sales-book-page-index {display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,var(--book-accent) 35%,#fff);color:#12424b;font-size:1.25rem;font-weight:900;letter-spacing:-.05em}
body.portal-app.sales-learning-page .sales-book-page h2 {max-width:25ch;margin:0;color:#102f3c!important;font-size:clamp(1.5rem,3.3vw,2.8rem);line-height:1.12;letter-spacing:-.045em;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-book-page p {max-width:68ch;margin:0;color:#2a4a55;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
body.portal-app.sales-learning-page .sales-book-page-link {display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#116e7b!important;font-weight:850;text-underline-offset:4px}
body.portal-app.sales-learning-page.site-editing .sales-book-page-edit {position:absolute;z-index:5;top:11px;right:15px}
body.portal-app.sales-learning-page .sales-book-photo-wrap {display:grid;min-width:0;min-height:0;padding:clamp(13px,2vw,24px);background:radial-gradient(circle at 48% 47%,#eaf9f1,#b3ded8 75%,#8fbabb)}
body.portal-app.sales-learning-page .sales-book-photo {position:relative;display:grid;place-items:center;width:100%;min-height:0;border:0;border-radius:19px;background:linear-gradient(130deg,#f3fbf4,#d1e9e3);cursor:zoom-in}
body.portal-app.sales-learning-page .sales-book-photo img {display:block;width:100%;height:100%;max-height:490px;object-fit:contain;filter:drop-shadow(0 16px 18px #0a425457)}
body.portal-app.sales-learning-page .sales-book-photo span {position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#104555e8;color:#fff;font-size:1.32rem}
body.portal-app.sales-learning-page .sales-book-controls {display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;max-width:500px;width:100%;margin:0 auto}
body.portal-app.sales-learning-page .sales-book-controls>button {display:grid;place-items:center;width:52px;height:52px;border:1px solid #addbdf;border-radius:17px;background:#1a5264;color:#f7ffff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 8px 18px #0014264d;transition:background .2s ease,transform .2s ease}
body.portal-app.sales-learning-page .sales-book-controls>button:not(:disabled):hover {background:#337d87;transform:translateY(-2px)}
body.portal-app.sales-learning-page .sales-book-controls>button:disabled {opacity:.44;cursor:default;box-shadow:none}
body.portal-app.sales-learning-page .sales-book-position {display:grid;justify-items:center;gap:7px;color:#f3fcff;font-size:.79rem;font-variant-numeric:tabular-nums}
body.portal-app.sales-learning-page .sales-book-track {display:block;width:100%;height:4px;overflow:hidden;border-radius:20px;background:#a5ced058}
body.portal-app.sales-learning-page .sales-book-track span {display:block;height:100%;border-radius:inherit;background:var(--book-accent);transition:width .3s ease}
body.portal-app.sales-learning-page .sales-story-empty {padding:28px}

/* Progress: one score, two distinct test counts, then practice. */
body.portal-app.progress-screen .progress-overview {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;min-width:0}
body.portal-app.progress-screen .progress-score-panel {display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;min-height:215px;padding:clamp(21px,3vw,37px);overflow:hidden;border:1px solid #78c4c4a0;border-radius:24px;background:radial-gradient(circle at 85% 15%,#2a879491,transparent 47%),linear-gradient(135deg,#173d52,#092a42 76%);color:#efffff;box-shadow:0 18px 42px #00152958}
body.portal-app.progress-screen .progress-score-copy {min-width:0}
body.portal-app.progress-screen .progress-score-copy .section-kicker {color:#a8e9e8}
body.portal-app.progress-screen .progress-score-copy h2 {margin:9px 0;color:#fff!important;font-size:clamp(1.35rem,2.6vw,2.3rem);line-height:1.15}
body.portal-app.progress-screen .progress-score-copy p {max-width:29ch;margin:0;color:#d9f0f4;font-size:.87rem;line-height:1.42}
body.portal-app.progress-screen .progress-score-ring {display:grid;place-items:center;flex:0 0 clamp(114px,12vw,150px);width:clamp(114px,12vw,150px);aspect-ratio:1;border-radius:50%;background:conic-gradient(#9debe5 var(--score),#f3ffff30 0);box-shadow:0 0 27px #76e4dd3b}
body.portal-app.progress-screen .progress-score-ring::before {grid-area:1/1;width:calc(100% - 17px);aspect-ratio:1;border-radius:50%;background:#143c50;content:""}
body.portal-app.progress-screen .progress-score-ring strong {grid-area:1/1;z-index:1;color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .progress-score-ring small {font-size:.5em}
body.portal-app.progress-screen .progress-stat-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0}
body.portal-app.progress-screen .progress-stat {display:grid;align-content:center;gap:7px;min-width:0;padding:16px 14px;border:1px solid #c5dfdf;border-radius:20px;background:linear-gradient(152deg,#fffefa,#e8f6f3);color:#163946;box-shadow:0 10px 26px #00162929}
body.portal-app.progress-screen .progress-stat:nth-child(2) {background:linear-gradient(152deg,#fffefa,#e4f4ee)}
body.portal-app.progress-screen .progress-stat span {color:#254c55;font-size:.82rem;font-weight:830;line-height:1.28}
body.portal-app.progress-screen .progress-stat strong {color:#0a5964;font-size:clamp(1.6rem,2.7vw,2.45rem);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .progress-stat small {color:#506972;font-size:.69rem;line-height:1.25}
body.portal-app.progress-screen .progress-card-pending {margin:10px 0;color:#506972;font-size:.8rem;line-height:1.35}
body.portal-app.progress-screen .progress-mobile-card .progress-card-action {min-height:44px}

@media(max-width:900px){
  body.portal-app.sales-learning-page .sales-book-page.has-image {grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  body.portal-app.sales-learning-page .sales-book-photo-wrap {min-height:150px;height:clamp(155px,25svh,245px);padding:10px}
  body.portal-app.sales-learning-page .sales-book-photo img {max-height:225px}
  body.portal-app.sales-learning-page .sales-book-page-copy {padding:clamp(19px,3.5vw,35px);gap:12px}
  body.portal-app.sales-learning-page .sales-book-page.has-image .sales-book-page-copy {align-content:start}
  body.portal-app.sales-learning-page .sales-book-page::before {left:14px}
  body.portal-app.progress-screen .progress-overview {grid-template-columns:minmax(0,1fr)}
  body.portal-app.progress-screen .progress-score-panel {min-height:150px}
  body.portal-app.progress-screen .progress-stat {min-height:104px}
}
@media(max-width:600px){
  body.portal-app.sales-learning-page .sales-topic-grid {grid-template-columns:minmax(0,1fr);gap:9px}
  body.portal-app.sales-learning-page .sales-topic-wrap:first-child {grid-column:auto}
  body.portal-app.sales-learning-page .sales-topic-card {min-height:112px;grid-template-columns:43px minmax(0,1fr) 37px;gap:11px;padding:14px;border-radius:19px}
  body.portal-app.sales-learning-page .sales-topic-numeral {width:43px;border-radius:13px;font-size:1.27rem}
  body.portal-app.sales-learning-page .sales-topic-copy {gap:4px}
  body.portal-app.sales-learning-page .sales-topic-meta {font-size:.58rem;letter-spacing:.045em}
  body.portal-app.sales-learning-page .sales-topic-copy strong {font-size:clamp(1.03rem,4.5vw,1.23rem);line-height:1.17}
  body.portal-app.sales-learning-page .sales-topic-description {font-size:.7rem;line-height:1.3;-webkit-line-clamp:2}
  body.portal-app.sales-learning-page .sales-topic-open {width:37px;height:37px;font-size:1.05rem}
  body.portal-app.sales-learning-page .sales-topic-product {right:35px;bottom:-13%;max-width:27%;height:118%;opacity:.3}
  body.portal-app.sales-learning-page .sales-topic-card:has(.sales-topic-product) .sales-topic-copy {max-width:none}
  body.portal-app.sales-learning-page .sales-book-header {gap:7px;margin-bottom:9px}
  body.portal-app.sales-learning-page .sales-book-back {min-height:35px;padding:5px 12px;font-size:.75rem}
  body.portal-app.sales-learning-page .sales-book-heading h1 {font-size:clamp(1.43rem,6vw,1.9rem)}
  body.portal-app.sales-learning-page .sales-book-heading p {display:none}
  body.portal-app.sales-learning-page .sales-book-eyebrow {font-size:.61rem}
  body.portal-app.sales-learning-page .sales-book-reader {gap:9px}
  body.portal-app.sales-learning-page .sales-book-stage {min-height:clamp(355px,calc(100svh - 288px),575px);border-radius:21px}
  body.portal-app.sales-learning-page .sales-book-page {border-radius:21px}
  body.portal-app.sales-learning-page .sales-book-page-copy {gap:13px;padding:clamp(20px,5vw,29px)}
  body.portal-app.sales-learning-page .sales-book-page-top {gap:9px;font-size:.61rem;letter-spacing:.05em}
  body.portal-app.sales-learning-page .sales-book-page-index {width:39px;height:39px;border-radius:11px;font-size:1.05rem}
  body.portal-app.sales-learning-page .sales-book-page h2 {font-size:clamp(1.28rem,5.4vw,1.72rem);line-height:1.17}
  body.portal-app.sales-learning-page .sales-book-page p {font-size:clamp(.88rem,3.6vw,.97rem);line-height:1.49}
  body.portal-app.sales-learning-page .sales-book-photo-wrap {height:clamp(125px,20svh,175px);min-height:125px;padding:8px}
  body.portal-app.sales-learning-page .sales-book-photo {border-radius:14px}
  body.portal-app.sales-learning-page .sales-book-photo img {max-height:165px}
  body.portal-app.sales-learning-page .sales-book-photo span {width:37px;height:37px;right:7px;bottom:7px}
  body.portal-app.sales-learning-page .sales-book-controls {grid-template-columns:48px minmax(0,1fr) 48px}
  body.portal-app.sales-learning-page .sales-book-controls>button {width:48px;height:48px;border-radius:14px}
  body.portal-app.progress-screen .progress-score-panel {min-height:136px;gap:10px;padding:17px;border-radius:20px}
  body.portal-app.progress-screen .progress-score-copy h2 {margin:5px 0;font-size:1.32rem}
  body.portal-app.progress-screen .progress-score-copy p {font-size:.73rem}
  body.portal-app.progress-screen .progress-score-ring {width:91px;flex-basis:91px}
  body.portal-app.progress-screen .progress-score-ring strong {font-size:1.5rem}
  body.portal-app.progress-screen .progress-stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.portal-app.progress-screen .progress-stat {min-height:94px;padding:12px}
  body.portal-app.progress-screen .progress-stat span {font-size:.77rem}
  body.portal-app.progress-screen .progress-stat strong {font-size:1.7rem}
  body.portal-app.progress-screen .progress-stat-cases {grid-column:1/-1;min-height:72px;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
  body.portal-app.progress-screen .progress-stat-cases strong {grid-column:2;grid-row:1/3}
  body.portal-app.progress-screen .progress-stat-cases small {grid-column:1;grid-row:2}
}
@media(max-width:350px){
  body.portal-app.sales-learning-page .sales-topic-card {grid-template-columns:38px minmax(0,1fr) 34px;gap:8px;padding:12px}
  body.portal-app.sales-learning-page .sales-topic-numeral {width:38px}
  body.portal-app.sales-learning-page .sales-topic-open {width:34px;height:34px}
  body.portal-app.sales-learning-page .sales-book-page-copy {padding:17px}
  body.portal-app.sales-learning-page .sales-book-page h2 {font-size:1.23rem}
  body.portal-app.sales-learning-page .sales-book-page p {font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
  body.portal-app.sales-learning-page .sales-topic-card,
  body.portal-app.sales-learning-page .sales-book-page,
  body.portal-app.sales-learning-page .sales-book-back,
  body.portal-app.sales-learning-page .sales-book-controls>button,
  body.portal-app.sales-learning-page .sales-book-track span {animation:none!important;transition:none!important;transform:none!important}
}
/* Reading cards: calm paper, strong hierarchy, and a small topic accent. */
body.portal-app.sales-learning-page .sales-book-stage {box-shadow:0 16px 34px #00172961,0 3px 0 #dce7df;perspective:1500px}
body.portal-app.sales-learning-page .sales-book-page {border-color:#e1e8dc;background:radial-gradient(circle at 94% 2%,color-mix(in srgb,var(--book-accent) 32%,transparent),transparent 43%),linear-gradient(155deg,#fffdf4 0%,#f7fbf6 63%,#e9f4f0 100%);color:#163b46;box-shadow:inset -8px 0 13px #244d4b11}
body.portal-app.sales-learning-page .sales-book-page::before {left:0;top:0;bottom:0;width:6px;border-radius:0;background:var(--book-accent)}
body.portal-app.sales-learning-page .sales-book-page-copy {max-width:70ch;gap:clamp(13px,2.3vw,24px);padding:clamp(29px,5vw,63px)}
body.portal-app.sales-learning-page .sales-book-page-top {align-self:start;gap:11px;width:min(100%,55ch);padding-bottom:13px;border-bottom:1px solid #b8ceca;color:#42616d;font-size:.7rem;letter-spacing:.065em}
body.portal-app.sales-learning-page .sales-book-page-index {width:43px;height:43px;border-radius:50%;background:color-mix(in srgb,var(--book-accent) 38%,#fff);color:#103b47;font-size:1.08rem}
body.portal-app.sales-learning-page .sales-book-page h2 {max-width:28ch;color:#0c3442!important;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.18;letter-spacing:-.035em;text-wrap:balance}
body.portal-app.sales-learning-page .sales-book-page p {max-width:57ch;color:#244752;font-size:clamp(1.02rem,1.45vw,1.15rem);line-height:1.66;letter-spacing:.006em}
body.portal-app.sales-learning-page .sales-book[data-topic="scripts"] .sales-book-page p {padding:12px 0 12px 17px;border-left:3px solid var(--book-glow);color:#173b51;font-weight:580}
body.portal-app.sales-learning-page .sales-book-photo-wrap {background:linear-gradient(160deg,#e6f4ee,#bbd9d4)}
body.portal-app.sales-learning-page .sales-book-photo {border:1px solid #ffffffae;background:radial-gradient(circle at 50% 45%,#fffef7,#e6f1ea 72%)}
body.portal-app.sales-learning-page .sales-book-page-edge {width:4px;right:5px;opacity:.45}
body.portal-app.sales-learning-page .sales-story-contacts {gap:9px}
body.portal-app.sales-learning-page .sales-story-site {display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;padding-top:7px;border-top:1px solid #91b6bd55;color:#d2e6e9;font-size:.74rem;font-weight:650}
body.portal-app.sales-learning-page .sales-story-site a {color:#a9ecdc!important;font-weight:850;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}

/* Progress: one score and a quiet, scalable results list. */
body.portal-app.progress-screen .progress-overview {grid-template-columns:minmax(0,1fr);gap:8px}
body.portal-app.progress-screen .progress-score-panel {min-height:116px;padding:16px 22px;border-radius:20px}
body.portal-app.progress-screen .progress-score-copy h2 {margin:0;font-size:clamp(1.4rem,2.7vw,2rem)}
body.portal-app.progress-screen .progress-score-ring {width:86px;flex-basis:86px;box-shadow:none}
body.portal-app.progress-screen .progress-score-ring strong {font-size:1.45rem}
body.portal-app.progress-screen .progress-stat-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0;padding:4px 0;border-bottom:1px solid #8dabb872}
body.portal-app.progress-screen .progress-stat,
body.portal-app.progress-screen .progress-stat:nth-child(2) {display:grid;align-content:center;gap:2px;min-height:80px;padding:10px clamp(7px,2vw,22px);border:0;border-right:1px solid #8dabb872;border-radius:0;background:transparent;box-shadow:none}
body.portal-app.progress-screen .progress-stat:last-child {border-right:0}
body.portal-app.progress-screen .progress-stat span {font-size:.78rem}
body.portal-app.progress-screen .progress-stat strong {font-size:1.6rem}
body.portal-app.progress-screen .progress-stat small {font-size:.67rem}
body.portal-app.progress-screen .progress-history-section {margin-top:clamp(13px,2.5vw,25px)}
body.portal-app.progress-screen .progress-history-section .section-heading {margin-bottom:11px}
body.portal-app.progress-screen .progress-history-section .section-heading h2 {margin:0;color:#f4fbff!important;font-size:clamp(1.3rem,2.2vw,1.75rem)}
body.role-admin.portal-app.progress-screen .progress-history-section .section-heading h2 {color:#16414a!important}
body.portal-app.progress-screen .progress-results-list {min-width:0;overflow:hidden;padding:0 clamp(13px,2vw,22px);border:1px solid #c9dfdc;border-radius:20px;background:linear-gradient(145deg,#fffefa,#f1f8f5);box-shadow:0 12px 28px #00162926}
body.portal-app.progress-screen .progress-result-row {--result-color:#d8806c;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:4px 14px;min-width:0;padding:15px 0;border-bottom:1px solid #d9e5e2;color:#163c46}
body.portal-app.progress-screen .progress-result-row:last-child {border-bottom:0}
body.portal-app.progress-screen .progress-result-row.is-passed {--result-color:#2ba991}
body.portal-app.progress-screen .progress-result-row.is-pending {--result-color:#d2a25e}
body.portal-app.progress-screen .progress-result-kind {display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e3f2ed;color:#136678;font-size:.83rem;font-weight:900}
body.portal-app.progress-screen .progress-result-main {display:grid;gap:3px;min-width:0}
body.portal-app.progress-screen .progress-result-main strong {color:#163a45;font-size:.9rem;line-height:1.27;overflow-wrap:anywhere}
body.portal-app.progress-screen .progress-result-main>span {color:#60767b;font-size:.7rem;line-height:1.3}
body.portal-app.progress-screen .progress-result-outcome {display:grid;justify-items:end;gap:1px;min-width:90px}
body.portal-app.progress-screen .progress-result-status {color:var(--result-color);font-size:.7rem;font-weight:850;line-height:1.2;text-align:right}
body.portal-app.progress-screen .progress-result-outcome strong {color:#1d4d57;font-size:1.2rem;font-variant-numeric:tabular-nums;line-height:1}
body.portal-app.progress-screen .progress-result-outcome small {color:#657b7c;font-size:.66rem}
body.portal-app.progress-screen .progress-result-track {grid-column:2/-1;height:3px;margin-top:3px;overflow:hidden;border-radius:5px;background:#d7e8e2}
body.portal-app.progress-screen .progress-result-track>span {display:block;height:100%;border-radius:inherit;background:var(--result-color)}
body.portal-app.progress-screen .progress-results-empty {margin:0;padding:22px 0;color:#546d73}
@media(max-width:600px){
  body.portal-app.sales-learning-page .sales-book-page-copy {gap:12px;padding:clamp(19px,5vw,27px)}
  body.portal-app.sales-learning-page .sales-book-page-top {padding-bottom:9px;font-size:.59rem}
  body.portal-app.sales-learning-page .sales-book-page-index {width:36px;height:36px;font-size:.95rem}
  body.portal-app.sales-learning-page .sales-book-page h2 {font-size:clamp(1.32rem,5.2vw,1.72rem)}
  body.portal-app.sales-learning-page .sales-book-page p {font-size:clamp(.92rem,3.7vw,1rem);line-height:1.57}
  body.portal-app.sales-learning-page .sales-story-site {justify-content:flex-start;font-size:.7rem}
  body.portal-app.progress-screen .progress-score-panel {min-height:96px;padding:13px 17px}
  body.portal-app.progress-screen .progress-score-ring {width:74px;flex-basis:74px}
  body.portal-app.progress-screen .progress-score-ring strong {font-size:1.25rem}
  body.portal-app.progress-screen .progress-stat-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  body.portal-app.progress-screen .progress-stat,
  body.portal-app.progress-screen .progress-stat:nth-child(2) {grid-column:auto;grid-row:auto;display:grid;align-content:start;min-height:86px;padding:8px 6px;border-right:1px solid #8dabb872}
  body.portal-app.progress-screen .progress-stat:last-child {border-right:0}
  body.portal-app.progress-screen .progress-stat span {font-size:.67rem;line-height:1.2}
  body.portal-app.progress-screen .progress-stat strong {grid-column:auto;grid-row:auto;font-size:1.45rem}
  body.portal-app.progress-screen .progress-stat small {grid-column:auto;grid-row:auto;font-size:.59rem;line-height:1.15}
  body.portal-app.progress-screen .progress-result-row {grid-template-columns:35px minmax(0,1fr);gap:6px 10px;padding:12px 0}
  body.portal-app.progress-screen .progress-result-kind {width:33px;height:33px}
  body.portal-app.progress-screen .progress-result-main strong {font-size:.86rem}
  body.portal-app.progress-screen .progress-result-outcome {grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0}
  body.portal-app.progress-screen .progress-result-outcome strong {font-size:1.05rem}
  body.portal-app.progress-screen .progress-result-track {grid-column:2}
}
@media(max-width:350px){
  body.portal-app.progress-screen .progress-stat span {font-size:.63rem}
  body.portal-app.progress-screen .progress-stat small {font-size:.57rem}
}

/* AA-Portal canvas. CMS slides are the common backdrop; work surfaces stay readable. */
body.portal-app {
  --canvas-night:#071b2a;
  --canvas-deep:#102f3f;
  --canvas-ink:#183846;
  --canvas-muted:#526d75;
  --canvas-aqua:#8ce2dc;
  --canvas-lime:#d4ed94;
  --canvas-paper:#fbfdf9;
  --canvas-line:#d4e6e3;
  min-width:320px;
  min-height:100svh;
  overflow-x:clip;
  isolation:isolate;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--canvas-night)!important;
}
body.portal-app::before {display:none!important}
body.portal-app :is(.site-shell,.page-wrapper,.page-body) {min-width:0}
body.portal-app .site-shell {position:relative;z-index:1;max-width:none;width:100%;min-height:100svh;background:transparent!important}
body.portal-app .page-wrapper {width:min(100%,1500px);max-width:1500px;margin-inline:auto}
body.portal-app .page-body {min-width:0}
body.portal-app :is(h1,h2,h3,p,strong,a,button) {overflow-wrap:break-word}
body.portal-app [hidden] {display:none!important}

.portal-backdrop {position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 72% 18%,#266a73 0,transparent 56%),linear-gradient(145deg,#102b3f,#071a2b 78%)}
.portal-backdrop::after {position:absolute;inset:0;content:"";background:linear-gradient(90deg,#061925a8 0%,#071e2c73 52%,#0619258c 100%),linear-gradient(180deg,#0619254d 0%,transparent 36%,#061925a3 100%)}
body.portal-app:not(.dashboard-page) .portal-backdrop::after {background:linear-gradient(180deg,#071b2bc9 0%,#071b2bb8 28%,#071b2be0 100%)}
body.portal-app.role-admin:not(.dashboard-page) .portal-backdrop::after {background:linear-gradient(180deg,#eaf4f3dc,#f1f7f3f5 35%,#eef5f2f8)}
body.portal-app.role-admin:not(.dashboard-page) .page-header h1 {color:#163b48!important;text-shadow:none}

/* Compact, consistent branding on every screen. */
body.portal-app .site-header,body.dashboard-page.portal-app .site-header {position:relative;z-index:70;border-bottom:1px solid #dcf6f32f!important;background:#081e2bd9!important;box-shadow:0 12px 32px #04152036;backdrop-filter:blur(15px)}
body.portal-app .site-header .portal-header-inner {max-width:1500px;margin-inline:auto}
body.portal-app .site-header .brand-link {min-width:0}
body.portal-app .site-header .brand-copy {min-width:0}
body.portal-app .site-header .brand-name {color:#f8fcfa!important;letter-spacing:-.025em;overflow-wrap:anywhere}
body.portal-app .site-header .brand-subtitle {color:#badbd9!important}
body.portal-app .site-header .user-chip-name {color:#f6fcfb!important;overflow-wrap:anywhere;word-break:normal}
body.portal-app .desktop-navigation .nav-link-test,body.portal-app .mobile-bottom-test {background:linear-gradient(135deg,#e3f4a2,#9ee3c9)!important;border-color:#e3f4a2!important;color:#0d3842!important;box-shadow:0 8px 25px #91daca40}
body.portal-app .mobile-bottom-test .mobile-bottom-icon,body.portal-app .mobile-bottom-test.is-active .mobile-bottom-icon {color:#0e4246!important}
body.portal-app .desktop-navigation .nav-link-test.is-active {box-shadow:0 0 0 3px #e3f4a25c,0 8px 25px #91daca40}
body.portal-app a:focus-visible,body.portal-app button:focus-visible,body.portal-app summary:focus-visible {outline:3px solid #d6f290;outline-offset:3px}
body.portal-app :is(button,.button,a,summary) {touch-action:manipulation}
body.portal-app :is(button,.button,.mobile-bottom-link,.mobile-section-link,.knowledge-card,.assessment-card,.case-library-card,.official-product-card,.sales-topic-card):active {transform:scale(.985)}

/* Editorial homepage: one announcement on the photograph. */
body.dashboard-page.portal-app .page-wrapper {width:min(100%,1500px);padding-block:0!important}
body.dashboard-page.portal-app .next-home {display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);width:100%;min-height:calc(100svh - 150px);padding:clamp(30px,8svh,90px) clamp(12px,4vw,54px) 32px}
body.dashboard-page.portal-app .next-home-featured-news {position:relative;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:center;justify-items:start!important;align-self:flex-start;width:min(100%,690px);min-height:0;margin:auto 0;gap:0;padding:clamp(24px,3.7vw,46px);border:1px solid #effff441;border-left:3px solid var(--canvas-lime);border-radius:6px 26px 26px 6px;background:linear-gradient(105deg,#071b29f2 0%,#082c37df 75%,#092837ae 100%)!important;box-shadow:0 24px 55px #00111e73;backdrop-filter:blur(9px);text-align:left!important}
body.dashboard-page.portal-app .next-home-featured-news::before,body.dashboard-page.portal-app .next-home-featured-news::after {display:none}
body.dashboard-page.portal-app .next-home-featured-news-copy {display:block!important;justify-self:stretch;max-width:100%;min-width:0;text-align:left!important}
body.dashboard-page.portal-app .next-featured-news-kicker {display:block;justify-content:flex-start;color:#d5ee9b;font-size:.7rem;letter-spacing:.16em}
body.dashboard-page.portal-app .next-home-featured-news h1 {max-width:17ch;margin:15px 0 13px;color:#fff!important;font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.056em;text-align:left!important;text-wrap:balance;overflow-wrap:anywhere}
body.dashboard-page.portal-app .next-home-featured-news p {max-width:56ch;margin:0;color:#eff9f5!important;font-size:clamp(.94rem,1.35vw,1.14rem);line-height:1.55;text-align:left!important;text-shadow:0 1px 6px #001e27a0;white-space:pre-line}
body.dashboard-page.portal-app .next-featured-news-more {display:block;justify-items:start;margin-top:12px;text-align:left}
body.dashboard-page.portal-app .next-featured-news-more summary {border-color:#cfebdc70;background:#e7f8e41c;color:#f4fff8}
body.dashboard-page.portal-app .next-featured-news-more[open] p {padding-top:14px}
body.dashboard-page.portal-app .next-home-section {max-width:980px}
body.dashboard-page.portal-app .next-metric {background:#0b2c3bdc;color:#f4fbf7;border-color:#b7ddd080;box-shadow:0 12px 25px #00131d60}
body.dashboard-page.portal-app .next-metric :is(span,strong,small) {color:#f4fbf7}
body.dashboard-page.portal-app .next-review {background:#0b2c3beb;color:#f4fbf7}
body.dashboard-page.portal-app .next-review-person {background:#f5fcf8;color:var(--canvas-ink)}
body.dashboard-page.portal-app .next-review-person :is(strong,small,b) {color:var(--canvas-ink)}
body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-home-featured-news {margin-top:clamp(15px,3vw,30px)}

/* The second navigation level only appears on the homepage. */
body.dashboard-page.portal-app:not(.role-admin) .mobile-section-nav {position:relative;z-index:3;width:min(100%,1500px);margin:0 auto;padding:7px clamp(14px,4vw,54px);background:transparent!important}
body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {color:#f7fffa!important;text-shadow:0 2px 8px #00101a,0 0 15px #071e2c!important;font-weight:850}
body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link:hover {color:#ddf4a7!important}

/* Big headings float above the background; long text lives on quiet surfaces. */
body.portal-app:not(.role-admin) .section-intro-panel {position:relative;isolation:isolate;display:flex;align-items:center;min-height:120px;padding:clamp(18px,3vw,38px) 4px;border:0;border-radius:0;background:transparent!important;box-shadow:none;color:#fff}
body.portal-app:not(.role-admin) .section-intro-panel::before {position:absolute;z-index:-1;inset:-20px 35% -20px -30px;border-radius:50%;background:radial-gradient(ellipse,#061b29bd,transparent 70%);content:"";pointer-events:none}
body.portal-app:not(.role-admin) .section-intro-panel::after {display:none}
body.portal-app:not(.role-admin) .section-intro-panel h1 {max-width:22ch;margin:3px 0 0;color:#fff!important;font-size:clamp(2rem,4.3vw,4.1rem);line-height:1.04;letter-spacing:-.055em;text-shadow:0 3px 18px #00131de0;overflow-wrap:anywhere}
body.portal-app:not(.role-admin) .section-intro-panel .section-kicker {color:#d7ef9a!important;letter-spacing:.16em;text-shadow:0 1px 6px #00131d}
body.portal-app:not(.role-admin) .page-header h1 {color:#fff!important;text-shadow:0 3px 16px #00131dd9}
body.portal-app:not(.role-admin) :is(.sales-library-header,.sales-book-heading,.official-catalog-hero-copy,.about-hero-copy) h1 {color:#fff!important;text-shadow:0 3px 17px #00131df0;font-size:clamp(2rem,4.5vw,4.2rem);line-height:1.04;letter-spacing:-.05em}
body.portal-app:not(.role-admin) :is(.sales-book-eyebrow,.about-eyebrow,.official-catalog-hero .eyebrow-label) {color:#dcf2a2!important;text-shadow:0 1px 8px #00131d}

body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card {border:1px solid #e7efea;background:linear-gradient(160deg,#fffefa,#f2f8f5)!important;box-shadow:0 14px 32px #00172743;color:var(--canvas-ink)}
body.portal-app .knowledge-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .assessment-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover,body.portal-app .case-library-card:is(a[href],button,summary,label,[role="button"],[role="link"]):hover {border-color:#90d0c4;box-shadow:0 19px 41px #00172763}
body.portal-app .knowledge-card .knowledge-card-top {background:linear-gradient(135deg,#d5eee0,#e4f3ed)!important}
body.portal-app .knowledge-card:nth-child(3n+2) .knowledge-card-top {background:linear-gradient(135deg,#d4e9ef,#e4f5f0)!important}
body.portal-app .knowledge-card:nth-child(3n) .knowledge-card-top {background:linear-gradient(135deg,#e5e9ce,#f1f7e8)!important}
body.portal-app .knowledge-card :is(h3,p),body.portal-app .assessment-card :is(h2,p),body.portal-app .case-library-card :is(h2,p) {overflow-wrap:anywhere}
body.portal-app .knowledge-card :is(h3,.material-meta),body.portal-app .assessment-card :is(h2,.assessment-type),body.portal-app .case-library-card :is(h2,.case-number) {color:var(--canvas-ink)!important}
body.portal-app .knowledge-card p,body.portal-app .assessment-card p,body.portal-app .case-library-card>p {color:#49636e!important}
body.portal-app .assessment-facts span {background:#ecf5f0;border-color:#d5e6df;color:#38575e}
body.portal-app .assessment-card .button-primary,body.portal-app .case-library-card .button-primary {min-height:48px;background:#114f5b;color:#fff!important;border:0;box-shadow:0 7px 16px #0639402f}
body.portal-app .assessment-card .button-primary:hover,body.portal-app .case-library-card .button-primary:hover {background:#166675}
body.portal-app .assessment-status.status-ready {color:#14634f}

/* Focused, comfortable test taking. Keep the timer and question controls intact. */
body.portal-app.test-taking-page .test-experience {width:min(100%,940px);gap:12px}
body.portal-app.test-taking-page .test-experience-head {border:1px solid #a4d8d280;border-radius:24px;background:linear-gradient(105deg,#071f30f5,#134858ed)!important;box-shadow:0 16px 36px #00162565}
body.portal-app.test-taking-page .test-experience-head::after {display:none}
body.portal-app.test-taking-page .test-experience-heading h1 {max-width:23ch;color:#fff!important;text-shadow:0 2px 12px #00121d}
body.portal-app.test-taking-page .test-clock {box-shadow:0 5px 27px #c4e9a740}
body.portal-app.test-taking-page :is(.test-run-progress,.test-question-nav,.test-question-card,.test-run-controls) {border-color:#d7e7df;background:#fdfefa!important;color:var(--canvas-ink);box-shadow:0 12px 32px #00172744}
body.portal-app.test-taking-page .test-question-card {border-radius:22px;min-height:0}
body.portal-app.test-taking-page .test-question-card h2 {color:#193d47!important;line-height:1.28}
body.portal-app.test-taking-page .test-option {min-height:58px;background:#fff!important;border-color:#cddfdc;color:#1c414a}
body.portal-app.test-taking-page .test-option:hover {background:#f4faf6!important;border-color:#479c98}
body.portal-app.test-taking-page .test-option:has(input:checked) {border-color:#168777;background:#e0f4ec!important;box-shadow:inset 0 0 0 1px #168777}
body.portal-app.test-taking-page .test-option-copy {color:#1a4148;line-height:1.42}
body.portal-app.test-taking-page .test-question-jump.is-current {border-color:#0b7180;background:#e1f4f0;color:#125666}
body.portal-app.test-taking-page .test-step-next,body.portal-app.test-taking-page .test-finish-button {background:#145d66;color:#fff}
body.portal-app.test-taking-page .test-run-controls {backdrop-filter:none}
body.portal-app.test-taking-page .test-run-controls button {min-height:48px}

/* Learning, catalog and company retain every CMS slide and uploaded product image. */
body.portal-app.sales-learning-page .sales-library-header,body.portal-app.sales-learning-page .sales-book-header {position:relative;padding:clamp(8px,2vw,20px) 0;background:transparent;box-shadow:none}
body.portal-app.sales-learning-page .sales-topic-card {background:linear-gradient(116deg,#0a2839f2,#124452ed)!important;border-color:#8bbfba80;box-shadow:0 14px 35px #00172762}
body.portal-app.sales-learning-page .sales-topic-card:hover {border-color:#d8efaa;box-shadow:0 20px 43px #00172782}
body.portal-app.sales-learning-page .sales-topic-copy strong {color:#fff!important}
body.portal-app.sales-learning-page .sales-topic-description {color:#e0eeed!important}
body.portal-app.sales-learning-page .sales-book-page {background:linear-gradient(145deg,#fffefa,#f1f8f4)!important;color:#183d47}
body.portal-app.sales-learning-page .sales-book-page p {color:#2b4f59!important}
body.portal-app.sales-learning-page .sales-book-page h2 {color:#103947!important}
body.portal-app.sales-learning-page .sales-book-photo img {object-fit:contain}
body.portal-app.sales-learning-page .sales-story-contacts {background:#0a2838dc;border:1px solid #83b8b27d;color:#effaf7}
body.portal-app.sales-learning-page .sales-story-contacts h2 {color:#f4fbf6!important}
body.portal-app.sales-learning-page .sales-story-contact-detail>span {color:#e7f4f1!important}
body.portal-app.sales-learning-page .sales-story-site {color:#d9eee9}
body.portal-app.about-page .about-hero {border:0;border-radius:0;background:transparent!important;box-shadow:none;padding:clamp(14px,3vw,36px) 0;color:#f3fbf7}
body.portal-app.about-page .about-hero h1 {color:#fff!important;text-shadow:0 3px 18px #00121dd9}
body.portal-app.about-page .about-hero h2,body.portal-app.about-page .about-intro-text {color:#effaf6!important;text-shadow:0 2px 11px #001826d9}
body.portal-app.about-page .about-hero-copy {position:relative;min-width:0;padding:clamp(14px,2vw,25px);border-radius:20px;background:linear-gradient(100deg,#061d2cda,#0b2a38ad);backdrop-filter:blur(4px)}
body.portal-app.about-page .about-hero-media {overflow:hidden;border:1px solid #b3ddd273;border-radius:20px}
body.portal-app.about-page .about-hero-media img {object-fit:contain;background:#102f3b}
body.portal-app.product-official-page .official-catalog-hero {position:relative;border:0;border-radius:0;background:transparent!important;box-shadow:none;padding:clamp(10px,2vw,24px) 0;min-height:0;color:#fff}
body.portal-app.product-official-page .official-catalog-hero h1 {color:#fff!important}
body.portal-app.product-official-page .official-catalog-hero-stats span {color:#e2f0ed;text-shadow:0 1px 8px #00131d}
body.portal-app.product-official-page .official-category-pill {background:#092a39d9;border:1px solid #a9d7ce75;color:#f3fdfa}
body.portal-app.product-official-page .official-category-pill span {background:#d5ebe1;color:#18474d}
body.portal-app.product-official-page .official-category-pill.is-active {background:#dcefa5;border-color:#dcefa5;color:#123d46}
body.portal-app.product-official-page .official-product-card {background:#fbfdf9!important;border-color:#d8e8e2;color:#1b3c48;box-shadow:0 14px 32px #0017275c}
body.portal-app.product-official-page .official-product-card h3 {color:#153b48!important}
body.portal-app.product-official-page .official-product-card p {color:#49636e!important}
body.portal-app.product-official-page .official-catalog-section-heading h2 {color:#fff!important;text-shadow:0 2px 14px #00131d}
body.portal-app.product-official-page .official-catalog-result-count,body.portal-app.product-official-page .official-catalog-source {color:#e5f1ef!important}

/* Progress has a real learning path, a clear average and separate result rows. */
body.portal-app.progress-screen .progress-page {display:grid;gap:clamp(13px,2vw,23px)}
body.portal-app.progress-screen .progress-identity {display:flex;align-items:end;justify-content:space-between;gap:24px;min-width:0;padding:clamp(24px,4vw,50px);border:1px solid #b8ddd295;border-radius:25px;background:linear-gradient(105deg,#082538f5,#135366e8);box-shadow:0 20px 50px #00182770;color:#f4fbf7}
body.portal-app.progress-screen .progress-identity-copy {min-width:0}
body.portal-app.progress-screen .progress-identity .section-kicker {color:#d3ef99!important}
body.portal-app.progress-screen .progress-identity h1 {max-width:20ch;margin:8px 0 6px;color:#fff!important;font-size:clamp(1.85rem,4.4vw,3.65rem);line-height:1.06;letter-spacing:-.05em;overflow-wrap:anywhere}
body.portal-app.progress-screen .progress-identity p {margin:0;color:#dcefe8;font-size:clamp(.88rem,1.3vw,1rem)}
body.portal-app.progress-screen .progress-journey {display:grid;justify-items:start;gap:5px;flex:0 0 min(34%,230px);min-width:128px}
body.portal-app.progress-screen .progress-journey>strong {color:#e3f4a5;font-size:clamp(2.4rem,5vw,4rem);line-height:1;font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .progress-journey>strong small {font-size:.44em}
body.portal-app.progress-screen .progress-journey>span {color:#fff;font-size:.8rem;font-weight:850}
body.portal-app.progress-screen .progress-journey-track {width:100%;height:7px;overflow:hidden;border-radius:999px;background:#daf1e744}
body.portal-app.progress-screen .progress-journey-track span {display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#81daca,#e3f4a5)}
body.portal-app.progress-screen .progress-journey>small {color:#d0e8e5;font-size:.72rem}
body.portal-app.progress-screen .progress-next-step {display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;min-height:68px;padding:12px 16px;border:1px solid #d4eca6;border-radius:17px;background:#e7f2bf;color:#173f42!important;box-shadow:0 12px 25px #00172738;text-decoration:none}
body.portal-app.progress-screen .progress-next-step>span:first-child {display:grid;gap:3px;min-width:0}
body.portal-app.progress-screen .progress-next-step small {color:#527253;font-size:.62rem;font-weight:900;letter-spacing:.11em}
body.portal-app.progress-screen .progress-next-step strong {color:#19424a;font-size:clamp(.9rem,1.4vw,1.12rem);overflow-wrap:anywhere}
body.portal-app.progress-screen .progress-next-step-arrow {display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;background:#164e56;color:#fff;font-size:1.3rem}
body.portal-app.progress-screen .progress-milestones {display:flex;flex-wrap:wrap;gap:8px}
body.portal-app.progress-screen .progress-milestones>span {display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #b9e8d580;border-radius:999px;background:#0e3547d9;color:#eaf7ed;font-size:.77rem;font-weight:780}
body.portal-app.progress-screen .progress-milestones b {display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d5efa6;color:#16494b}
body.portal-app.progress-screen .progress-stat-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
body.portal-app.progress-screen .progress-stat-cases {grid-column:auto;display:grid;grid-template-columns:minmax(0,1fr);min-height:105px}
body.portal-app.progress-screen .progress-stat-cases :is(span,strong,small) {grid-column:auto;grid-row:auto}
body.portal-app.progress-screen .progress-result-row {border-color:#dbe9e3;background:#fbfdf9!important}
body.portal-app.progress-screen .progress-result-row :is(strong,.progress-result-status) {color:#1a424a}
body.portal-app.progress-screen .progress-result-main>span {color:#5e747a}

/* Administrator and managers: stable information density, legible reports and forms. */
body.portal-app.role-admin:not(.dashboard-page) .page-wrapper {padding-top:clamp(16px,2vw,30px)}
body.portal-app.role-admin .page-header h1 {letter-spacing:-.045em}
body.portal-app.role-admin:not(.dashboard-page) :is(.reports-toolbar,.admin-report-card,.users-list-card) {border-color:#d1e3df;background:#fcfefa!important;color:#193f4a;box-shadow:0 10px 30px #1b4c5220}
body.portal-app.role-admin:not(.dashboard-page) :is(.reports-toolbar,.admin-report-card,.users-list-card) :is(h2,h3) {color:#193e49!important}
body.portal-app.role-admin:not(.dashboard-page) :is(input,textarea,select) {max-width:100%}
body.portal-app.admin-analytics-page .analytics-team-performance {background:linear-gradient(120deg,#092c43,#12566a)!important;color:#fff!important;border-color:#7bd6d5}
body.portal-app.admin-analytics-page .analytics-team-performance :is(h2,p) {color:#f4fcfa!important}
body.portal-app.admin-analytics-page.role-admin .analytics-team-performance h2 {color:#fff!important}
body.portal-app.admin-analytics-page .analytics-test-performance {background:linear-gradient(145deg,#f8fdf7,#e9f5f1)!important}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .card:not(.analytics-team-performance) {background:#fbfdf9!important;color:#193e49}
body.portal-app:is(.role-supervisor,.role-regional_manager) .analytics-page-compact .card:not(.analytics-team-performance) :is(h2,h3) {color:#193e49!important}
body.portal-app:is(.role-supervisor,.role-regional_manager).admin-analytics-page .analytics-team-performance :is(h2,p) {color:#fff!important}
body.portal-app.role-admin .editor-workspace :is(input,select,textarea) {border-color:#9cbfc4;background:#fff;color:#193e49}
body.portal-app.role-admin .editor-workspace :is(label,.form-help) {overflow-wrap:anywhere}
body.portal-app.role-admin .editor-panel h2 {color:#f5fdfb!important}

/* Public login uses the same typography and accent without an invented image. */
body.login-body {font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(ellipse at 75% 15%,#205d66,transparent 50%),linear-gradient(145deg,#061b2b,#0b3541 65%,#122f3c)!important}
body.login-body .login-photo-backdrop {position:fixed;inset:0;z-index:0;pointer-events:none;background:#0d2b39}
body.login-body .login-photo-backdrop img {display:block;width:100%;height:100%;object-fit:cover}
body.login-body .login-photo-backdrop::after {position:absolute;inset:0;content:"";background:linear-gradient(100deg,#071b2b9e,#0925347e),linear-gradient(180deg,#091b2a45,#091b2acb)}
body.login-body .login-card {position:relative;z-index:2}
body.login-body .login-scene {z-index:1;pointer-events:none}
body.login-body .premium-login-card {border-color:#b3dbd4;background:linear-gradient(155deg,#fffefa,#eef7f3);box-shadow:0 25px 75px #001420a0}
body.login-body .login-brand {display:flex;align-items:center;gap:11px;color:#116271;font-weight:900;letter-spacing:.05em}
body.login-body .login-brand img {display:block;width:43px;height:43px;object-fit:contain;border-radius:10px;background:#f5fcf8}
body.login-body .login-form button {min-height:50px;background:#135c68;color:#fff}

@media(max-width:1049px) {
  body.portal-app:not(.role-admin) .mobile-bottom-nav {border-color:#abdbd28f;background:#082535f0;box-shadow:0 12px 30px #00131c93}
  body.portal-app:not(.role-admin) .mobile-bottom-link {color:#def0ed}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active:not(.mobile-bottom-test) {background:#236069;color:#fff!important;border-color:#9cdbca}
  body.portal-app:not(.role-admin) .mobile-bottom-link.is-active .mobile-bottom-icon {color:#e0f19c}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {min-height:46px;padding:7px 3px;font-size:clamp(.73rem,2.7vw,.96rem);line-height:1.18}
}
@media(max-width:760px) {
  .portal-backdrop::before {position:absolute;inset:0;content:"";background-size:cover;background-position:center;opacity:.8}
  body.login-body .login-photo-backdrop img {object-fit:contain}
  body.portal-app .site-header .brand-link {gap:7px}
  body.portal-app .site-header .brand-name {font-size:clamp(.8rem,3vw,1rem);line-height:1.12}
  body.portal-app .site-header .user-chip-name {font-size:clamp(.72rem,2.7vw,.93rem)!important;line-height:1.16!important}
  body.portal-app .site-header .portal-header-inner {align-items:center}
  body.portal-app:not(.role-admin) .page-wrapper {padding:12px 12px calc(91px + env(safe-area-inset-bottom))!important}
  body.dashboard-page.portal-app:not(.role-admin) .page-wrapper {padding:0 12px calc(84px + env(safe-area-inset-bottom))!important}
  body.dashboard-page.portal-app .next-home {min-height:0;gap:12px;padding:clamp(25px,7svh,75px) 0 0}
  body.dashboard-page.portal-app .next-home-featured-news {align-self:stretch;width:min(100%,560px);margin:0 auto;padding:clamp(19px,5vw,27px);border-radius:5px 20px 20px 5px}
  body.dashboard-page.portal-app .next-home-featured-news h1 {font-size:clamp(1.78rem,7vw,2.6rem);margin:11px 0 9px}
  body.dashboard-page.portal-app .next-home-featured-news p {font-size:clamp(.83rem,3.4vw,.98rem);line-height:1.48}
  body.dashboard-page.portal-app:is(.role-supervisor,.role-regional_manager) .next-home {padding-top:12px}
  body.portal-app:not(.role-admin) .section-intro-panel {min-height:83px;padding:12px 2px 16px}
  body.portal-app:not(.role-admin) .section-intro-panel h1 {font-size:clamp(1.75rem,7vw,2.65rem)}
  body.portal-app:not(.role-admin) .section-intro-panel .section-kicker {font-size:.62rem}
  body.portal-app .knowledge-card,body.portal-app .assessment-card,body.portal-app .case-library-card {border-radius:17px}
  body.portal-app .assessment-card {min-height:0;padding:15px}
  body.portal-app .assessment-card h2 {font-size:clamp(1.05rem,4.4vw,1.26rem)}
  body.portal-app .assessment-card p {font-size:.8rem}
  body.portal-app.test-taking-page .test-experience-head {padding:15px 13px;border-radius:17px}
  body.portal-app.test-taking-page .test-experience-heading h1 {font-size:clamp(1.25rem,5.5vw,1.9rem)}
  body.portal-app.test-taking-page .test-question-card {padding:16px 14px}
  body.portal-app.test-taking-page .test-option {min-height:54px;padding:9px 11px}
  body.portal-app.test-taking-page .test-run-controls {bottom:calc(78px + env(safe-area-inset-bottom))}
  body.portal-app.progress-screen .progress-identity {align-items:start;gap:15px;padding:19px 16px;border-radius:19px}
  body.portal-app.progress-screen .progress-identity h1 {font-size:clamp(1.4rem,5.6vw,2.2rem)}
  body.portal-app.progress-screen .progress-journey {min-width:98px;flex-basis:30%}
  body.portal-app.progress-screen .progress-journey>strong {font-size:2rem}
  body.portal-app.progress-screen .progress-journey>small {font-size:.63rem}
  body.portal-app.sales-learning-page .sales-book-page {overflow:hidden}
  body.portal-app.sales-learning-page .sales-book-page-copy {padding:clamp(17px,5vw,28px)}
  body.portal-app.sales-learning-page .sales-book-page p {font-size:clamp(.87rem,3.5vw,1.02rem);line-height:1.48}
  body.portal-app.about-page .about-hero {padding:5px 0}
  body.portal-app.about-page .about-hero-copy {padding:17px 15px}
  body.portal-app.sales-learning-page .sales-story-contacts {padding:10px 12px}
}
@media(max-width:430px) {
  body.portal-app:not(.role-admin) .site-header .portal-header-inner,body.dashboard-page.portal-app:not(.role-admin) .site-header .portal-header-inner {grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;gap:6px!important}
  body.portal-app.role-admin .site-header .portal-header-inner {grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:5px!important}
  body.portal-app .site-header .brand-link .brand-logo-frame,body.portal-app .site-header .brand-link .brand-mark {width:35px!important;height:35px!important;flex-basis:35px!important}
  body.portal-app .site-header .brand-subtitle {font-size:.56rem!important;line-height:1.14}
  body.portal-app .site-header .header-user-panel .user-chip-copy {min-width:0;max-width:100%!important}
  body.portal-app .site-header .user-chip-name {font-size:clamp(.7rem,2.65vw,.84rem)!important;overflow-wrap:anywhere!important}
  body.portal-app:not(.role-admin) .mobile-bottom-nav {right:5px;left:5px;gap:1px;padding:5px}
  body.portal-app:not(.role-admin) .mobile-bottom-link {min-width:0;padding:5px 1px;font-size:clamp(.57rem,2.25vw,.7rem);line-height:1.1;white-space:normal}
  body.portal-app:not(.role-admin) .mobile-bottom-link .mobile-bottom-icon {width:22px;height:22px}
  body.portal-app:not(.role-admin) .mobile-bottom-test {align-self:center;min-width:0}
  body.portal-app:not(.role-admin) .mobile-bottom-link span:last-child {overflow-wrap:anywhere}
  body.dashboard-page.portal-app:not(.role-admin) .mobile-section-link {font-size:clamp(.67rem,2.75vw,.83rem)}
  body.portal-app.progress-screen .progress-identity {gap:8px;padding:17px 13px}
  body.portal-app.progress-screen .progress-journey {min-width:83px;flex-basis:29%}
  body.portal-app.progress-screen .progress-journey>strong {font-size:1.8rem}
}
@media(max-width:360px) {
  body.portal-app:not(.role-admin) .site-header .portal-header-inner,body.dashboard-page.portal-app:not(.role-admin) .site-header .portal-header-inner {grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;gap:4px!important}
  body.portal-app .site-header .brand-link .brand-logo-frame,body.portal-app .site-header .brand-link .brand-mark {width:32px!important;height:32px!important;flex-basis:32px!important}
  body.portal-app .site-header .brand-name {font-size:.76rem}
  body.portal-app .site-header .brand-subtitle {font-size:.51rem!important}
  body.portal-app .site-header .user-chip-name {font-size:.68rem!important}
  body.portal-app.progress-screen .progress-identity h1 {font-size:1.3rem}
}
@media(prefers-reduced-motion:reduce) {body.portal-app .progress-journey-track span {transition:none!important;animation:none!important}
  body.portal-app :is(.assessment-card,.knowledge-card,.case-library-card,.sales-topic-card,.official-product-card):hover {transform:none}
  body.portal-app :is(button,.button,a,summary):active {transform:none}
}
@media print {
  .portal-backdrop {display:none!important}
  body.portal-app {background:#fff!important;color:#111!important}
  body.portal-app .site-shell {background:#fff!important}
}

/* AA-Portal — compact employee progress with one circular indicator */
body.portal-app.progress-screen .page-body{min-width:0}
body.portal-app.progress-screen .pg-dashboard{display:grid;gap:clamp(14px,2vw,19px);max-width:750px;width:100%;min-width:0;margin:0 auto;color:#173d44}
body.portal-app.progress-screen .pg-dashboard *{box-sizing:border-box}
body.portal-app.progress-screen .pg-overview{min-width:0;padding:clamp(18px,3vw,27px);border:1px solid #79a69d;border-radius:23px;background:linear-gradient(120deg,#0c3543,#155a58 70%,#1c786b);box-shadow:0 14px 32px #0929325c;color:#f8fffd}
body.portal-app.progress-screen .pg-overview h1{color:#fff!important;margin:0 0 20px;font-size:clamp(1.37rem,3vw,1.8rem);line-height:1.2;letter-spacing:-.025em;font-weight:830}
body.portal-app.progress-screen .pg-hero-layout{display:flex;align-items:center;gap:clamp(15px,4vw,34px);min-width:0}
body.portal-app.progress-screen .pg-ring{width:clamp(118px,22vw,150px);aspect-ratio:1;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(#c5ffc6 0 var(--pg-percent),rgba(240,255,255,.22) var(--pg-percent) 100%);box-shadow:0 7px 20px #072c3040}
body.portal-app.progress-screen .pg-ring-inner{display:grid;place-items:center;width:calc(100% - 23px);height:calc(100% - 23px);border-radius:50%;background:#124b4d;box-shadow:inset 0 3px 12px #072b2a60}
body.portal-app.progress-screen .pg-ring-inner strong{color:#f7fff9;font-size:clamp(1.72rem,5vw,2.3rem);font-weight:850;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .pg-hero-details{min-width:0;flex:1}
body.portal-app.progress-screen .pg-hero-label{font-size:.79rem;color:#d2e9e3;font-weight:600}
body.portal-app.progress-screen .pg-hero-count{margin:2px 0 11px;line-height:1.25;overflow-wrap:anywhere}
body.portal-app.progress-screen .pg-hero-count strong{font-size:clamp(1.95rem,4.9vw,2.65rem);font-weight:850;color:#fff;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .pg-hero-count span{font-size:.85rem;color:#e0eee9}
body.portal-app.progress-screen .pg-score-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px solid #ffffff34;font-size:.78rem;line-height:1.35;color:#dcece9}
body.portal-app.progress-screen .pg-score-line span{min-width:0;max-width:18ch}
body.portal-app.progress-screen .pg-score-line strong{font-size:1.18rem;color:#eefbcf;white-space:nowrap;font-weight:850;font-variant-numeric:tabular-nums}
body.portal-app.progress-screen .pg-hero-meta{margin:10px 0 0;font-size:.75rem;color:#d2e7e1}
body.portal-app.progress-screen .pg-no-tasks{margin:0 0 12px;font-size:.89rem;font-weight:700;line-height:1.4;color:#effbf5}
body.portal-app.progress-screen .pg-attention,body.portal-app.progress-screen .pg-last{min-width:0}
body.portal-app.progress-screen .pg-attention>h2,body.portal-app.progress-screen .pg-last>h2{margin:0 0 10px;font-size:1.03rem;line-height:1.4;color:#f2fffa!important;font-weight:820}
body.portal-app.progress-screen .pg-task-list,body.portal-app.progress-screen .pg-last-item,body.portal-app.progress-screen .pg-history{background:#fcfffb;border:1px solid #d7e6e1;box-shadow:0 6px 15px #001e261e}
body.portal-app.progress-screen .pg-task-list{border-radius:17px;overflow:hidden}
body.portal-app.progress-screen .pg-task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:15px 16px;border-bottom:1px solid #e4ece9}
body.portal-app.progress-screen .pg-task-row:last-child{border-bottom:0}
body.portal-app.progress-screen .pg-task-copy{min-width:0;flex:1}
body.portal-app.progress-screen .pg-task-copy h3{margin:0;color:#1d4147!important;font-size:.89rem;line-height:1.35;font-weight:770;overflow-wrap:anywhere}
body.portal-app.progress-screen .pg-task-copy p{margin:4px 0 0;color:#5c7977;font-size:.76rem;line-height:1.35}
body.portal-app.progress-screen .pg-task-row--blocked .pg-task-copy p{color:#a04d38}
body.portal-app.progress-screen .pg-task-action{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-radius:10px;padding:8px 12px;background:#1b6a5c;color:#fff!important;font-size:.78rem;font-weight:760;text-decoration:none!important;white-space:nowrap}
body.portal-app.progress-screen .pg-task-action:hover{background:#12574c}
body.portal-app.progress-screen .pg-task-action--muted{background:#e7f0eb;color:#2a6260!important}
body.portal-app.progress-screen .pg-task-action--muted:hover{background:#d7e8df}
body.portal-app.progress-screen .pg-help-note{margin:8px 2px 0;color:#d6e5e2;font-size:.73rem;line-height:1.4}
body.portal-app.progress-screen .pg-more>summary{display:flex;justify-content:center;gap:6px;min-height:41px;align-items:center;padding:10px;color:#285f5d;font-size:.79rem;font-weight:780;cursor:pointer;list-style:none}
body.portal-app.progress-screen .pg-more>summary::-webkit-details-marker,body.portal-app.progress-screen .pg-history>summary::-webkit-details-marker{display:none}
body.portal-app.progress-screen .pg-more[open]>summary{border-bottom:1px solid #e3ece9}
body.portal-app.progress-screen .pg-last-item{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 17px;border-radius:16px;color:#264d4f!important;text-decoration:none!important}
body.portal-app.progress-screen .pg-last-item:hover,body.portal-app.progress-screen .pg-history-item:hover{background:#f0f8f3}
body.portal-app.progress-screen .pg-last-description,body.portal-app.progress-screen .pg-history-name{display:grid;gap:4px;min-width:0;flex:1}
body.portal-app.progress-screen .pg-last-description strong,body.portal-app.progress-screen .pg-history-name strong{font-size:.85rem;line-height:1.3;font-weight:780;color:#204348;overflow-wrap:anywhere}
body.portal-app.progress-screen .pg-last-description small,body.portal-app.progress-screen .pg-history-name small{font-size:.71rem;color:#6a8583}
body.portal-app.progress-screen .pg-last-result,body.portal-app.progress-screen .pg-history-result{font-weight:840;font-size:.88rem;color:#a04e38;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.portal-app.progress-screen .pg-last-result--done,body.portal-app.progress-screen .pg-history-result--done{color:#127c5f}
body.portal-app.progress-screen .pg-last-result--pending,body.portal-app.progress-screen .pg-history-result--pending{color:#4e75a0}
body.portal-app.progress-screen .pg-arrow{font-size:1.4rem;line-height:1;color:#8aa5a1}
body.portal-app.progress-screen .pg-history{margin-top:9px;border-radius:14px;overflow:hidden}
body.portal-app.progress-screen .pg-history>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:43px;padding:10px 16px;cursor:pointer;list-style:none;color:#2b6460;font-size:.79rem;font-weight:760}
body.portal-app.progress-screen .pg-history[open]>summary{border-bottom:1px solid #e4ece9}
body.portal-app.progress-screen .pg-history-list{max-height:min(50vh,480px);overflow:auto}
body.portal-app.progress-screen .pg-history-item{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 16px;border-bottom:1px solid #e5efea;text-decoration:none!important}
body.portal-app.progress-screen .pg-history-item:last-child{border-bottom:0}
body.portal-app.progress-screen .pg-history-result{font-size:.8rem}
body.portal-app.progress-screen .pg-first-step{margin:0;padding:15px 2px;color:#e7f0ee;font-size:.85rem}
body.portal-app.progress-screen .pg-first-step a{color:#c8f5cd!important;text-decoration:underline}
body.portal-app.progress-screen .pg-dashboard :is(a,summary):focus-visible{outline:3px solid #ebcf87;outline-offset:2px}
@media(max-width:430px){
 body.portal-app.progress-screen .pg-overview{padding:17px 15px;border-radius:19px}
 body.portal-app.progress-screen .pg-overview h1{font-size:1.38rem;margin-bottom:15px}
 body.portal-app.progress-screen .pg-hero-layout{gap:13px}
 body.portal-app.progress-screen .pg-ring{width:clamp(100px,32vw,124px)}
 body.portal-app.progress-screen .pg-ring-inner{width:calc(100% - 19px);height:calc(100% - 19px)}
 body.portal-app.progress-screen .pg-hero-count strong{font-size:1.75rem}
 body.portal-app.progress-screen .pg-hero-count span{font-size:.74rem}
 body.portal-app.progress-screen .pg-score-line{font-size:.69rem}
 body.portal-app.progress-screen .pg-score-line strong{font-size:1.02rem}
 body.portal-app.progress-screen .pg-task-row{padding:13px 12px;gap:8px}
 body.portal-app.progress-screen .pg-task-action{font-size:.73rem;padding:8px 9px}
 body.portal-app.progress-screen .pg-last-item{padding:12px 13px;gap:8px}
 body.portal-app.progress-screen .pg-history-item{padding:11px 12px;gap:8px}
}
@media(max-width:345px){body.portal-app.progress-screen .pg-ring{width:100px}body.portal-app.progress-screen .pg-hero-layout{gap:10px}body.portal-app.progress-screen .pg-score-line{gap:3px}body.portal-app.progress-screen .pg-score-line strong{font-size:.97rem}}
@media(prefers-reduced-motion:reduce){body.portal-app.progress-screen .pg-dashboard *{transition:none!important}}

/* Unified training materials: only the admin learning workspace. */
.unified-materials-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 1.2rem}
.unified-materials-tabs a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:12px 16px;border:1px solid #7ba6b8;border-radius:14px;background:#14374d;color:#e5f4f6;font-weight:750;text-decoration:none;line-height:1.3;transition:background .16s ease,border-color .16s ease}
.unified-materials-tabs a span{flex:none;padding:3px 9px;border-radius:9px;background:#ffffff1a;font-size:.8em}
.unified-materials-tabs a[aria-current="page"]{border-color:#a1e7d9;background:#2a6370;color:#fff;box-shadow:inset 0 0 0 1px #a1e7d940}
.unified-materials-tabs a:focus-visible{outline:3px solid #a8eeec;outline-offset:3px}
.unified-learning-workspace [data-unified-panel]{scroll-margin-top:95px}
.unified-materials-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:4px 0 1.2rem;padding:1.25rem;border:1px solid #74a7b5;border-radius:18px;background:#133f55}
.unified-materials-section-heading h3{font-size:1.45rem;margin:0 0 .3rem;color:#fff}
.unified-materials-section-heading p{max-width:700px;margin:0;color:#d5e8ed;line-height:1.5}
.unified-learning-workspace .editor-workspace-columns{min-width:0}
@media(max-width:600px){.unified-materials-tabs{grid-template-columns:1fr}.unified-materials-tabs a{min-height:48px;padding:10px 12px}.unified-materials-section-heading{padding:1rem}}
@media(prefers-reduced-motion:reduce){.unified-materials-tabs a{transition:none}}

/* AA / ATELIER — a single presentation layer over the supplied portal. */
:root{--at-bg:#0d1118;--at-paper:#f2f4f7;--at-ink:#f1f4f8;--at-dim:#b2bdcc;--at-line:#ffffff21;--at-accent:#e9b08b;--at-accent-hover:#f3c6a8;--at-accent-ink:#201914;--at-ice:#b8d6f2;--at-surface:#191e27;--at-paper-ink:#202936;--at-paper-dim:#536174;--at-paper-line:#cbd3dd;--at-action:#264d7a;--at-violet:#c4cdd9;--at-gold:#e7c099;--primary:var(--at-accent)}
html{scrollbar-gutter:stable;scroll-padding-top:104px;overflow-x:clip}body.portal-app.atelier{margin:0;min-width:0;background:var(--at-bg)!important;color:var(--at-ink)!important;font-family:'Segoe UI',Arial,sans-serif;line-height:1.6;overflow-x:clip;padding:0!important}body.portal-app.atelier *{box-sizing:border-box}body.portal-app.atelier [hidden]{display:none!important}body.portal-app.atelier a{color:inherit;text-decoration:none}body.portal-app.atelier button,body.portal-app.atelier input,body.portal-app.atelier select,body.portal-app.atelier textarea{font-family:inherit}body.portal-app.atelier button,body.portal-app.atelier a{touch-action:manipulation}body.portal-app.atelier img{max-width:100%}body.portal-app.atelier h1,body.portal-app.atelier h2,body.portal-app.atelier h3{color:inherit;letter-spacing:-.045em;font-weight:500;line-height:1.08;text-wrap:balance}body.portal-app.atelier :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--at-accent);outline-offset:4px}body.portal-app.atelier ::selection{background:var(--at-accent);color:#10141b}body.portal-app.atelier .skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:#e4e8ee;color:#10141b;padding:12px}.skip-link:focus{top:10px!important}
.atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 95% 70%,#39445352,transparent 50%),radial-gradient(ellipse at 40% 0%,#39445332,transparent 45%),var(--at-bg)}.atmosphere:after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.15' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.14}.atmosphere>i{position:absolute;width:390px;height:700px;border-radius:46%;border:1px solid #c4cdd933;right:-170px;top:20%;transform:rotate(-28deg);box-shadow:inset 0 0 90px #c4cdd90a,0 0 120px #c4cdd908}.atmosphere>b{position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid #c4cdd922;left:26%;bottom:-140px;box-shadow:inset 0 0 80px #c4cdd908}.atmosphere>span{position:absolute;width:700px;height:700px;right:-200px;top:-350px;background:radial-gradient(ellipse,#a2afc119,transparent 70%)}
.atelier-header{position:fixed;top:0;left:0;right:0;z-index:60;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px;background:linear-gradient(#10141bfa,#10141bc0 70%,#10141b00)}.atelier-brand{display:flex;align-items:center;gap:12px}.atelier-brand img{height:39px;width:39px;object-fit:contain;border-radius:11px}.atelier-brand>span{font-size:17px;letter-spacing:-.025em;font-weight:600}.atelier-brand small{display:block;font-size:7px;letter-spacing:.2em;font-weight:400;margin-top:4px;color:#a5a4aa}.header-right{display:flex;align-items:center;gap:22px}.header-name{font-size:11px;color:var(--at-dim)}.atelier-menu-trigger{border:1px solid #ffffff30;border-radius:40px;min-height:42px;min-width:109px;background:#1b2029;color:var(--at-ink);font-size:10px;letter-spacing:.1em;padding:10px 18px;display:flex;align-items:center;gap:20px}.atelier-menu-trigger span{font-size:13px;color:var(--at-accent)}.atelier-sidebar{position:fixed;left:36px;top:140px;bottom:35px;width:168px;z-index:35;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#394453 transparent}.side-caption,.overline{font-family:Consolas,'Courier New',monospace;font-size:9px;letter-spacing:.13em;line-height:1.7;color:#c4cdd9;text-transform:uppercase}.atelier-sidebar nav{margin-top:20px}.atelier-sidebar nav a{display:flex;align-items:center;gap:13px;padding:10px 0;color:#a2afc1;font-size:12px;min-height:41px;transition:color .2s}.atelier-sidebar nav a small{font-size:8px;font-family:Consolas,monospace;color:#506075}.atelier-sidebar nav a i{font-style:normal;margin-left:auto;opacity:0;color:var(--at-accent)}.atelier-sidebar nav a:hover,.atelier-sidebar nav a[aria-current]{color:#e4e8ee}.atelier-sidebar nav a[aria-current] i,.atelier-sidebar nav a:hover i{opacity:1}.atelier-sidebar nav a[aria-current] small{color:var(--at-accent)}.admin-shortcuts{margin-top:25px;padding-top:20px;border-top:1px solid #ffffff1a}.admin-shortcuts>a{display:block;padding:7px 0;color:#a2afc1!important;font-size:11px}.atelier-logout{display:inline-block;font-size:10px;color:#728297!important;margin-top:28px}.atelier-main{position:relative;z-index:2;margin-left:240px;min-height:100vh;padding:122px 42px 130px 0}.atelier-document{max-width:1400px;margin:auto;min-width:0}.atelier-page-head{margin-bottom:30px}.atelier-page-head h1{font-size:40px;margin:12px 0 0}.atelier .page-body{padding:0;margin:0;background:none;border:0;min-width:0}.atelier .page-body>*+*{margin-top:28px}.atelier-dock{display:none}
.atelier-menu{position:fixed;inset:24px 24px auto auto;margin:0;max-height:calc(100dvh - 48px);overflow:auto;width:min(460px,calc(100% - 32px));padding:26px;border:1px solid #506075;border-radius:22px;background:#1b2029;color:#f3f5f7;z-index:150;box-shadow:0 30px 130px #0008}.atelier-menu::backdrop{background:#10141bc7;backdrop-filter:blur(12px)}.atelier-menu>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.atelier-menu>header button{width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;background:none;color:var(--at-ink);font-size:24px}.atelier-menu nav a{display:flex;align-items:center;gap:18px;border-top:1px solid #ffffff17;padding:17px 0;font-size:19px;letter-spacing:-.02em}.atelier-menu nav a small{font-family:Consolas,monospace;font-size:9px;color:#a2afc1}.atelier-menu nav a span{margin-left:auto;color:var(--at-accent)}
/* Real content in a shared camera space. */
.experience-document{display:grid;gap:36px;max-width:900px;margin:0 auto}.experience-panel{position:relative;isolation:isolate;padding:42px 46px;border:1px solid #e4e8ee59;border-radius:30px;background:linear-gradient(140deg,#272d38f5,#1b2029fa 60%,#272d38f5);color:var(--at-paper);box-shadow:inset 0 1px 0 #fff3,inset 0 -1px 0 #c4cdd92b,0 25px 100px #0006;overflow-wrap:anywhere;backface-visibility:hidden;min-width:0;overflow:hidden}.experience-panel:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 0 0,#c4cdd92b,transparent 60%),linear-gradient(120deg,transparent 30%,#f3f5f70d 45%,transparent 65%);pointer-events:none}.experience-panel:after{content:'';position:absolute;inset:4px;z-index:-1;border:1px solid #ffffff08;border-radius:26px;pointer-events:none}.poster-top,.poster-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Consolas,monospace;font-size:9px;letter-spacing:.1em;color:#c4cdd9;line-height:1.6}.poster-top{padding-bottom:22px;border-bottom:1px solid #ffffff20}.poster-bottom{margin-top:auto;padding-top:25px;border-top:1px solid #ffffff20}.opening-panel{min-height:630px;display:flex;flex-direction:column}.poster-title{position:relative;z-index:2;margin-top:35px}.poster-intro{font-size:12px;color:#c4cdd9}.atelier .poster-title h1{font-size:clamp(68px,7.6vw,112px);line-height:.96;letter-spacing:-.075em;font-weight:500;margin:20px 0 0;max-width:650px}.atelier em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--at-accent);letter-spacing:-.055em}.poster-description{font-size:15px;line-height:1.8;color:#c4cdd9;max-width:320px;z-index:2;margin:27px 0 0}.poster-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:27px 0 32px}.at-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid #ffffff38;padding:13px 20px;min-height:46px;border-radius:40px;font-size:12px;line-height:1.4;background:#ffffff04;color:var(--at-ink);cursor:pointer;transition:background .2s,transform .2s}.at-button.primary{background:var(--at-accent)!important;border-color:var(--at-accent)!important;color:var(--at-accent-ink)!important}.at-button:hover{transform:translateY(-2px);background:#ffffff14}.at-button.primary:hover{background:var(--at-accent-hover)!important}.at-button.quiet{background:transparent;border-color:transparent;color:#c4cdd9}.poster-signature{position:absolute;right:-15px;top:170px;z-index:-1;font-family:Georgia,serif;font-size:310px;letter-spacing:-.17em;color:transparent;-webkit-text-stroke:1px #e4e8ee2e;transform:rotate(-17deg);text-shadow:18px 22px 90px #c4cdd916}.opening-panel .poster-bottom{margin-top:auto}.news-panel{background:linear-gradient(140deg,#3a2a25,#1b2029 60%,#272d38)}.editorial-word{font-size:clamp(64px,10vw,140px);letter-spacing:-.07em;line-height:1;display:block;color:transparent;-webkit-text-stroke:1px #d1bfb538;margin:25px 0 18px}.experience-panel h2{font-size:clamp(35px,4vw,58px);margin:20px 0 22px}.news-copy,.company-copy{font-size:17px;line-height:1.85;color:#d4d0ca;white-space:pre-wrap}.poster-image{display:block;width:100%;padding:0;background:none;border:0;cursor:zoom-in;margin:26px 0}.poster-image img{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:16px}.news-panel .poster-bottom{margin-top:30px}.knowledge-panel{background:linear-gradient(135deg,#272d38,#1b2029 65%,#272d38)}.knowledge-panel h2{font-size:clamp(45px,5vw,72px);line-height:1.02;margin-top:40px}.path-links{margin-top:35px}.path-links a{display:flex;align-items:center;gap:23px;padding:20px 0;border-top:1px solid #ffffff25;font-size:18px;letter-spacing:-.025em}.path-links a small{font-family:Consolas,monospace;font-size:10px;color:#a2afc1}.path-links a b{font-size:22px;margin-left:auto;font-weight:400;color:var(--at-accent)}.collection-panel{background:linear-gradient(140deg,#272d38,#1b2029 60%,#272d38)}.large-outline{position:absolute;right:-30px;top:180px;writing-mode:vertical-rl;font-size:140px;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #c4cdd935;z-index:-1}.collection-panel h2{font-size:clamp(52px,5.5vw,80px);line-height:1;margin-top:38px}.collection-panel p{font-size:15px;max-width:380px;color:#c4cdd9;line-height:1.8}.experience-source{display:none!important}.experience-stage{position:fixed!important;inset:0;z-index:4;overflow:hidden;pointer-events:none}.experience-stage>div{pointer-events:none!important}.experience-stage .experience-panel{margin:0!important;pointer-events:auto;will-change:transform}.experience-active .atelier-main{padding:0;margin:0}.experience-canvas{position:fixed;inset:0;pointer-events:none;z-index:1}.scene-controls{position:fixed;bottom:48px;left:calc(50% + 80px);transform:translateX(-50%);display:flex;align-items:center;gap:28px;z-index:40;font-family:Consolas,monospace;font-size:11px;color:#728297}.scene-controls b{color:#e4e8ee;font-size:14px;font-weight:400}.scene-controls button{width:42px;height:42px;border:1px solid #ffffff2b;border-radius:50%;color:var(--at-ink);background:#272d38dd;font-size:18px}.scene-controls button:disabled{opacity:.25;cursor:default}.scene-footnote{position:fixed;bottom:34px;left:36px;right:36px;z-index:25;pointer-events:none;display:flex;justify-content:space-between;gap:20px;font-family:Consolas,monospace;font-size:8px;letter-spacing:.1em;color:#728297}.scene-footnote>span:first-child{max-width:210px}.experience-mode{position:fixed;right:34px;top:100px;z-index:45;background:#1b2029d9;border:1px solid #e4e8ee3b;border-radius:40px;color:#a2afc1;font-size:10px;padding:10px 16px;min-height:38px}.atelier-lightbox{background:var(--at-bg);border:1px solid #555;max-width:95vw;max-height:95vh;border-radius:20px;padding:24px}.atelier-lightbox img{display:block;max-height:80vh}.atelier-lightbox button{float:right;background:none;color:white;border:0;font-size:28px}.atelier-lightbox::backdrop{background:#000c}
/* Library as a collection of distinct, tactile book covers. */
.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 0 38px}.collection-heading h1{font-size:clamp(48px,5vw,76px);line-height:1.01;margin:24px 0;letter-spacing:-.065em}.collection-heading h1 em{color:#c4cdd9}.collection-heading p{font-size:14px;color:#a2afc1}.collection-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;width:170px;height:170px;border-radius:50%;border:1px solid #c4cdd940;color:#c4cdd9;font-family:Georgia,serif;font-size:70px;line-height:1;transform:rotate(-15deg);box-shadow:inset 0 0 50px #a2afc109}.collection-stamp span{font-family:Consolas,monospace;font-size:8px;letter-spacing:.13em;margin-top:10px}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff21;padding-top:22px;margin-bottom:20px;font-size:11px;color:#a2afc1;flex-wrap:wrap}.library-search>summary{font-size:12px;border:1px solid #ffffff25;border-radius:30px;padding:9px 17px;list-style:none;color:#c4cdd9;cursor:pointer}.library-search>summary:after{display:none}.library-search[open]{width:100%}.library-search[open]>summary{width:max-content;margin-left:auto}.library-search form{display:flex;align-items:end;gap:12px;margin-top:14px}.library-search label{flex:1;color:#a2afc1;font-size:11px}.library-search input{background:#1b2029!important;border-color:#ffffff30!important;color:var(--at-paper)!important;min-height:46px}.library-search form button{min-height:46px}.category-chips{display:flex;gap:9px;overflow-x:auto;max-width:100%;padding-bottom:14px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:#506075 transparent}.category-chips a{flex-shrink:0;font-size:11px;border:1px solid #ffffff26;border-radius:30px;padding:10px 16px;color:#a2afc1;max-width:100%;overflow-wrap:anywhere}.category-chips a[aria-current]{color:#1b2029;background:#e4e8ee;border-color:#e4e8ee}.search-result-count{font-size:12px;color:#a2afc1;margin-bottom:22px}.atelier-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.atelier-book{display:block;min-width:0;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s;transform-style:preserve-3d}.book-jacket{min-height:245px;position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(140deg,#c4cdd9,#728297);color:#272d38;padding:22px;border:1px solid #e4e8ee78;box-shadow:inset 5px 0 5px #272d3822,inset 8px 0 0 #e4e8ee2b,0 20px 40px #0003;display:flex;flex-direction:column;justify-content:space-between}.book-jacket:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff2a 50%,transparent 70%);pointer-events:none}.book-format,.book-category,.book-pin{font-family:Consolas,monospace;font-size:8px;letter-spacing:.09em}.book-category{font-size:10px;letter-spacing:0;max-width:80%}.book-graphic{font-family:Georgia,serif;font-size:114px;line-height:1;font-style:italic;letter-spacing:-.08em;align-self:center;color:#e4e8ee;text-shadow:0 2px 1px #50607555}.book-pin{position:absolute;right:16px;top:25px;font-size:7px;writing-mode:vertical-rl;opacity:.65}.atelier-book:nth-child(3n+2) .book-jacket{background:linear-gradient(140deg,#c4cdd9,#728297);border-color:#a2afc1;color:#394453}.atelier-book:nth-child(3n+2) .book-graphic{color:#e4e8ee}.atelier-book:nth-child(3n) .book-jacket{background:linear-gradient(140deg,#d5bc95,#a28869);border-color:#cab48f;color:#51402a}.atelier-book:nth-child(3n) .book-graphic{color:#f4e4c9}.book-jacket.jacket-pdf .book-graphic{font-family:Arial,sans-serif;font-size:65px;font-style:normal;letter-spacing:-.07em}.book-jacket.jacket-youtube .book-graphic{font-size:80px;font-style:normal}.book-copy{padding:22px 2px 10px}.book-copy h2{font-size:23px;margin:0 0 12px;line-height:1.2;letter-spacing:-.035em}.book-copy p{color:#a2afc1;font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.book-copy>span{display:flex;justify-content:space-between;gap:15px;margin-top:22px;font-size:10px;color:#c4cdd9}.book-copy>span b{font-size:17px;font-weight:400}.team-collection{display:flex;align-items:center;gap:25px;padding:28px;border:1px solid #ffffff26;border-radius:16px;background:#272d3833;margin-top:35px}.team-collection h2{flex:1;font-size:24px;margin:0}.team-collection>span:last-child{font-size:12px;color:#c4cdd9}.empty-library{padding:30px;border:1px solid #ffffff20;border-radius:18px;grid-column:1/-1}.empty-library h2{font-size:25px;margin:0 0 22px}
/* Reading surfaces retain native font scale and selectable text. */
.reader-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;z-index:45;margin:0 0 24px;font-size:11px;color:#c4cdd9}.experience-active .reader-navigation{position:fixed;top:94px;left:36px;width:168px;display:block;padding:0}.experience-active.atelier-reader .atelier-sidebar{top:200px}.reader-navigation>a{display:block;padding:10px 0}.reader-navigation details{position:relative}.reader-navigation summary{font-size:11px;cursor:pointer;list-style:none;padding:10px 0}.reader-navigation nav{position:absolute;top:100%;left:0;width:min(370px,75vw);max-height:55vh;overflow:auto;background:#272d38;padding:12px;border:1px solid #728297;border-radius:14px;box-shadow:0 20px 60px #0008}.reader-navigation nav a{display:block;padding:11px;font-size:11px;line-height:1.6;overflow-wrap:anywhere;color:#e4e8ee}.reader-navigation nav a[aria-current=true]{background:#c4cdd924;border-radius:6px}.reader-cover h1{font-size:clamp(36px,4.2vw,61px);margin:22px 0;line-height:1.12}.reader-cover p{font-size:17px;line-height:1.8;color:#c4cdd9;margin:20px 0 30px}.reader-cover .editorial-word{font-size:100px;margin-bottom:-12px}.reading-count{display:block;margin-top:28px;font-family:Consolas,monospace;font-size:9px;letter-spacing:.09em;color:#a2afc1}.experience-panel.reading-page{background:linear-gradient(140deg,var(--at-paper),#e4e8ee);border-color:#f3f5f7;color:#272d38;box-shadow:inset 0 1px 0 #fff,0 30px 100px #0005}.reading-page:before{background:linear-gradient(135deg,#e4e8ee66,transparent 65%)}.reading-page .poster-top{color:#728297;border-color:#272d3824}.reading-copy{white-space:pre-wrap;font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.7;font-weight:400;letter-spacing:-.015em;margin:35px 0;color:#272d38;max-width:60ch}.reading-page-footer{border-top:1px solid #272d3824;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:22px;font-size:11px;color:#506075}.reading-page-footer>span{max-width:60%;font-size:9px}.reading-page-footer a{min-height:44px;display:flex;align-items:center;font-size:11px;white-space:nowrap}.company-cover h1{font-size:clamp(42px,5vw,72px);margin:36px 0 25px}.company-cover h2{font-family:Georgia,serif;font-size:28px;color:#c4cdd9}.company-cover p{font-size:17px;line-height:1.9;white-space:pre-wrap}.company-story h2{font-size:42px;line-height:1.2}.company-story .company-copy{font-size:17px;line-height:1.9}.company-story .at-button{margin-top:24px}
/* Work screens: existing controls and scoring remain in their native layouts. */
body.portal-app.atelier :is(.card,.surface-card,.admin-card,.editor-panel,.editor-workspace-hero,.editor-list-item,.editor-question-item,.test-question-card,.case-detail-card,.test-intro-card,.assessment-card,.pg-overview,.pg-section,.pg-card){background:var(--at-paper)!important;border:1px solid var(--at-paper-line)!important;border-radius:18px!important;color:var(--at-paper-ink)!important;box-shadow:0 16px 45px #0002!important}
body.portal-app.atelier :is(.card,.surface-card,.editor-panel,.editor-list-item,.editor-workspace-hero,.editor-question-item,.test-question-card,.case-detail-card,.test-intro-card,.assessment-card,.pg-overview,.pg-section,.pg-card) :is(h1,h2,h3,h4,strong,label,summary){color:var(--at-paper-ink)!important}body.portal-app.atelier :is(.card,.surface-card,.editor-panel,.editor-list-item,.editor-workspace-hero,.editor-question-item,.test-question-card,.case-detail-card,.test-intro-card,.assessment-card,.pg-overview,.pg-section,.pg-card) :is(p,small,.muted-text){color:var(--at-paper-dim)!important}
body.portal-app.atelier :is(input,textarea,select){border:1px solid var(--at-paper-line)!important;border-radius:10px!important;background:#f3f5f7!important;color:var(--at-paper-ink)!important;min-height:45px;max-width:100%;font-size:16px;box-shadow:none!important}body.portal-app.atelier textarea{min-height:110px}body.portal-app.atelier input[type=checkbox],body.portal-app.atelier input[type=radio]{min-height:18px;width:18px;height:18px;accent-color:#506075;flex-shrink:0}body.portal-app.atelier input[type=file]{font-size:12px}body.portal-app.atelier :is(button[type=submit],.button-primary,.primary-button,.editor-primary-button,.editor-item-action,.test-step-next,.test-finish-button){background:var(--at-accent)!important;color:var(--at-accent-ink)!important;border:1px solid var(--at-accent)!important;border-radius:12px!important;box-shadow:none!important;font-weight:500}body.portal-app.atelier .editor-workspace :is(button[type=submit],.editor-primary-button,.editor-item-action){background:var(--at-action)!important;color:#ffffff!important;border-color:var(--at-action)!important}body.portal-app.atelier .editor-workspace .editor-danger-link{background:none!important;color:#9b4b3b!important;border-color:transparent!important}.atelier table{background:var(--at-paper);color:#272d38;font-size:13px}.atelier th{background:#e4e8ee!important;color:#506075!important;font-size:10px}.atelier td{color:#394453!important;border-color:var(--at-paper-line)!important}.atelier .table-wrap{border-color:var(--at-paper-line)!important;border-radius:12px}.atelier td .badge{color:#394453!important}.atelier .page-header{color:#f3f5f7}.atelier .compact-list-toggle{display:none!important}.atelier .compact-list-body{max-height:none!important}.atelier .editor-workspace{background:transparent!important;min-width:0}.atelier .editor-workspace-columns>*{min-width:0}.atelier .editor-learning-nav a,.atelier .unified-materials-tabs a{background:#272d38!important;border-color:#506075!important;color:#e4e8ee!important}.atelier .unified-materials-tabs a[aria-current=page]{background:#e4e8ee!important;color:#272d38!important}.atelier .editor-eyebrow{color:#728297!important}.atelier .editor-workspace .editor-outline-link{color:#394453!important}.atelier .editor-workspace-hero h2{font-size:30px}.atelier .editor-category-list>div{flex-wrap:wrap}.atelier .editor-category-list input{min-width:0}.atelier .users-filter-trigger svg,.atelier .analytics-filter-trigger svg{fill:none;stroke:currentColor;stroke-width:1.8}.atelier .users-filter-trigger:after{display:none}.atelier .editor-list-copy h4{font-size:17px}.atelier .test-option{background:#f3f5f7!important;border-color:#c4cdd9!important;color:#394453!important}.atelier .test-option:has(input:checked){background:#e4e8ee!important;border-color:#728297!important}.atelier .test-option :is(span,strong){color:#394453!important}.atelier .test-experience-heading h1{color:#e4e8ee!important}.atelier .test-run-progress-track{background:#394453}.atelier .test-run-progress-track>span{background:#c4cdd9!important}.atelier .test-clock-readout strong{color:#e4e8ee!important}.atelier .assessment-card{padding:25px}.atelier .assessment-title{font-size:26px!important}.atelier .test-run-controls{gap:12px}.atelier .test-question-card h2{font-size:27px!important}.atelier .badge-success{background:#e4e8ee!important;color:#506075!important}.atelier .badge-danger{background:#f2d8d4!important;color:#8f4638!important}.atelier .site-edit-toolbar{z-index:70;bottom:20px;right:25px;left:auto;max-width:calc(100% - 50px);background:#272d38;border-color:#728297}.atelier .site-edit-dialog{background:#f3f5f7;color:var(--at-paper-ink);z-index:160}.atelier .site-edit-dialog h2,.atelier .site-edit-dialog label{color:var(--at-paper-ink)}.atelier .site-edit-handle{font-size:10px}.atelier .workspace-welcome{padding:12px 0 38px;border-bottom:1px solid #ffffff20}.workspace-welcome h1{font-size:clamp(40px,5vw,72px);line-height:1.03;margin:25px 0}.workspace-welcome p{font-size:14px;color:#a2afc1}.workspace-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.atelier-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.atelier-metrics a{padding:25px;border:1px solid #ffffff25;border-radius:16px;background:#272d38}.atelier-metrics strong{font-size:46px;font-weight:400;display:block;line-height:1;color:#e4e8ee}.atelier-metrics span{font-size:11px;display:block;margin-top:18px;color:#a2afc1}.workspace-news{padding:32px;border:1px solid #ffffff20;border-radius:18px;background:#1b2029}.workspace-news h2{font-size:32px;margin:20px 0}.workspace-news p{white-space:pre-wrap;font-size:15px;line-height:1.8;color:#c4cdd9}.workspace-news .at-button{margin:24px 8px 0 0}
/* Existing catalogue, cases, progress and sales use the same visual vocabulary. */
.atelier .official-catalog-hero{background:linear-gradient(130deg,#272d38,#272d38)!important;border:1px solid #72829766;border-radius:24px;color:var(--at-ink);box-shadow:none}.atelier .official-catalog-hero h1{color:#f3f5f7!important;font-size:48px}.atelier .official-catalog-hero-stats{color:#c4cdd9!important}.atelier .official-catalog-hero-products{perspective:800px}.atelier .official-product-card{background:var(--at-paper)!important;border-color:#c4cdd9!important;box-shadow:none;border-radius:18px!important;color:#272d38!important;transition:transform .2s}.atelier .official-product-card:hover{transform:translateY(-5px)}.atelier .official-product-copy :is(h3,p,span){color:#506075!important}.atelier .official-product-image-wrap{background:radial-gradient(ellipse at center,#e4e8ee,var(--at-paper))!important}.atelier .official-product-detail{background:#f3f5f7!important;border-radius:22px!important;padding:30px;color:var(--at-paper-ink)}.atelier .official-product-detail :is(h1,h2,h3,p,strong,span,dt,dd){color:#394453!important}.atelier .official-category-pill{background:#1b2029;border-color:#506075;color:#c4cdd9}.atelier .official-category-pill.is-active{background:var(--at-accent);color:#1b2029;border-color:var(--at-accent)}.atelier .sales-book-page,.atelier .sales-topic-card{border:1px solid #ffffff2a!important;background:#272d38!important;border-radius:22px!important;box-shadow:none}.atelier .sales-book-page :is(h1,h2,h3,p,strong){color:#e4e8ee!important}.atelier .sales-topic-copy :is(strong,p){color:#e4e8ee!important}.atelier .team-materials-hero,.atelier .team-material-item{background:#272d38!important;color:#f3f5f7!important;border-color:#506075!important;border-radius:22px!important}.atelier .team-material-item :is(strong,h2,p),.atelier .team-material-copy{color:#e4e8ee!important}.atelier .pg-dashboard{color:var(--at-ink)}.atelier .pg-heading h1{color:#272d38!important}.atelier .pg-tabs{background:#1b2029;border-color:#506075}.atelier .pg-tab{color:#c4cdd9}.atelier .pg-tab.is-active{background:#e4e8ee;color:#272d38}.atelier .pg-row{border-color:#c4cdd9}.atelier .pg-row :is(strong,span,p){color:#506075}.atelier .login-layout{max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:65vh}.atelier .login-intro h1{font-size:68px;line-height:1;letter-spacing:-.06em;color:var(--at-ink)}.atelier .login-card{background:var(--at-paper)!important;border-radius:24px!important;color:#272d38;padding:34px}.atelier .login-card :is(h1,h2,label,p){color:#394453!important}.atelier.login-body .atelier-main{margin-left:0;padding-left:42px}
@media(max-width:1150px){.atelier-sidebar{width:145px;left:25px}.atelier-main{margin-left:200px;padding-right:28px}.atelier-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-jacket{min-height:260px}.atelier .official-catalog-hero h1{font-size:38px}.atelier .editor-workspace-columns{grid-template-columns:1fr!important}.atelier .editor-panel{width:100%}.collection-stamp{width:140px;height:140px;font-size:58px}}
@media(max-width:760px){
 .atelier-header{height:78px;padding:0 18px}.atelier-brand img{height:33px;width:33px;border-radius:9px}.atelier-brand>span{font-size:14px}.atelier-brand small{font-size:6px;letter-spacing:.13em}.header-name{display:none}.atelier-menu-trigger{min-width:80px;min-height:39px;padding:9px 13px;font-size:9px;gap:10px}.atelier-sidebar{display:none}.atelier-main{margin:0;padding:100px 18px 125px}.atelier-page-head h1{font-size:32px}.atelier-dock{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:70;display:flex;align-items:center;padding:5px;border:1px solid #c4cdd945;border-radius:20px;background:#272d38f2;box-shadow:0 8px 45px #0008;backdrop-filter:blur(16px);width:min(430px,calc(100% - 24px))}.atelier-dock a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:51px;padding:7px 3px;font-size:9px;color:#a2afc1;border-radius:14px;min-width:0}.atelier-dock a>b{font-size:21px;font-weight:400;line-height:1}.atelier-dock a[aria-current]{background:#c4cdd91c;color:#e4e8ee}.atelier-menu{inset:12px 12px auto auto;max-height:calc(100dvh - 24px);padding:22px}.atelier-menu nav a{font-size:18px;padding:14px 0}.atmosphere>i{right:-240px}.experience-panel{padding:26px 25px;border-radius:24px}.experience-panel:after{border-radius:20px}.poster-top,.poster-bottom{font-size:7px;gap:12px}.poster-top{padding-bottom:16px}.opening-panel{min-height:540px}.poster-title{margin-top:28px}.poster-intro{font-size:10px}.atelier .poster-title h1{font-size:70px;margin-top:17px;line-height:.98}.poster-description{font-size:12px;line-height:1.8;margin-top:22px}.poster-actions{gap:9px;margin:25px 0}.at-button{font-size:11px;min-height:44px;padding:12px 16px}.poster-actions .quiet{padding:12px 5px}.poster-signature{font-size:220px;right:-26px;top:180px}.poster-bottom{padding-top:18px}.editorial-word{font-size:67px;margin:24px 0 20px}.experience-panel h2{font-size:37px;line-height:1.08;margin:18px 0}.news-copy,.company-copy{font-size:15px;line-height:1.85}.poster-image img{max-height:230px}.knowledge-panel h2{font-size:46px;margin-top:30px}.path-links a{font-size:16px;padding:18px 0;gap:16px}.collection-panel h2{font-size:49px;margin-top:28px}.collection-panel p{font-size:13px;line-height:1.85}.large-outline{font-size:105px;right:-20px}.scene-controls{left:50%;bottom:100px;gap:25px;font-size:10px}.scene-controls button{width:35px;height:35px;font-size:16px}.scene-controls b{font-size:12px}.scene-footnote{display:none!important}.experience-mode{top:auto;bottom:153px;right:16px;padding:9px 13px;font-size:9px;min-height:35px;opacity:.9}.experience-active .atelier-main{padding:0}.collection-heading{padding:6px 0 25px;gap:10px}.collection-heading h1{font-size:48px;margin:18px 0}.collection-heading p{font-size:12px}.collection-stamp{width:90px;height:90px;font-size:40px;flex-shrink:0}.collection-stamp span{font-size:5px;margin-top:5px}.overline{font-size:8px}.library-toolbar{padding-top:18px;font-size:10px;margin-bottom:15px}.library-search>summary{font-size:11px}.library-search form{gap:9px;flex-wrap:wrap}.library-search label{min-width:160px}.library-search form button{font-size:12px;padding:12px 14px}.category-chips{gap:7px;margin-bottom:15px}.category-chips a{font-size:10px;padding:10px 13px}.atelier-library-grid{gap:24px 15px;grid-template-columns:repeat(2,minmax(0,1fr))}.book-jacket{padding:17px 13px;min-height:180px;border-radius:10px}.book-graphic{font-size:85px}.book-format{font-size:6px}.book-pin{font-size:5px;top:20px;right:10px}.book-category{font-size:8px}.book-jacket.jacket-pdf .book-graphic{font-size:43px}.book-jacket.jacket-youtube .book-graphic{font-size:50px}.book-copy{padding:17px 0 0}.book-copy h2{font-size:20px;line-height:1.22;letter-spacing:-.035em;margin-bottom:9px}.book-copy p{font-size:11px;-webkit-line-clamp:2;min-height:0;line-height:1.6}.book-copy>span{margin-top:17px;font-size:9px}.book-copy>span b{font-size:14px}.team-collection{display:block;padding:23px;margin-top:30px}.team-collection h2{font-size:24px;margin:12px 0 20px}.team-collection>span:last-child{font-size:11px}.reader-navigation{margin:0 0 20px;font-size:10px;gap:10px}.experience-active .reader-navigation{top:76px;left:17px;right:17px;width:auto;display:flex;background:#1b2029e8;border:1px solid #506075;border-radius:10px;padding:0 12px}.experience-active .reader-navigation>a{font-size:9px;max-width:60%}.experience-active .reader-navigation summary{font-size:9px}.reader-navigation nav{left:auto;right:0;width:calc(100vw - 34px)}.reader-cover h1{font-size:34px;line-height:1.13;margin:22px 0}.reader-cover p{font-size:14px;line-height:1.85}.reader-cover .editorial-word{font-size:65px;margin-top:25px}.reading-count{font-size:8px;margin-top:26px}.reading-copy{font-size:21px;line-height:1.75;margin:28px 0;letter-spacing:-.02em}.reading-page-footer{font-size:10px;gap:12px;flex-wrap:wrap}.reading-page-footer>span{font-size:8px;max-width:55%}.reading-page-footer a{font-size:10px}.company-cover h1{font-size:40px}.company-cover h2{font-size:25px}.company-cover p,.company-story .company-copy{font-size:15px;line-height:1.85}.company-story h2{font-size:31px}.workspace-welcome h1{font-size:48px}.workspace-welcome p{font-size:12px}.workspace-links{gap:9px}.atelier-metrics{gap:9px}.atelier-metrics a{padding:17px 11px}.atelier-metrics strong{font-size:32px}.atelier-metrics span{font-size:9px;line-height:1.6}.workspace-news{padding:25px}.workspace-news h2{font-size:29px}.workspace-news p{font-size:13px}.atelier .cards-grid,.atelier .admin-grid,.atelier .stats-grid{grid-template-columns:1fr!important}.atelier .table-wrap{overflow-x:auto}.atelier table{font-size:12px}.atelier .users-table-compact{min-width:0}.atelier .editor-panel{padding:20px!important}.atelier .editor-workspace-hero{padding:24px!important}.atelier .editor-workspace-hero h2{font-size:26px!important}.atelier .editor-list-item{padding:15px!important}.atelier .editor-list-actions{display:flex;flex-wrap:wrap;gap:7px}.atelier .editor-list-actions :is(a,button){font-size:10px;padding:9px 10px}.atelier .editor-form-grid{grid-template-columns:1fr!important}.atelier .site-edit-toolbar{bottom:91px;right:12px;padding:5px;gap:5px;max-width:calc(100% - 24px)}.atelier .site-edit-toolbar :is(button,summary){font-size:9px;padding:7px 9px}.atelier .site-edit-brand{display:none}.atelier .official-catalog-hero h1{font-size:32px}.atelier .official-product-detail{padding:22px}.atelier .official-product-copy h3{font-size:20px!important}.atelier .official-product-grid{gap:15px}.atelier .official-product-image-wrap{min-height:170px}.atelier .official-product-image-wrap img{max-height:160px}.atelier .login-layout{grid-template-columns:1fr;gap:30px;min-height:0}.atelier .login-intro h1{font-size:49px}.atelier.login-body .atelier-main{padding-left:22px}.atelier .login-card{padding:28px}.atelier .test-question-card h2{font-size:23px!important}.atelier .pg-overview{padding:22px!important}.atelier .test-run-controls{flex-wrap:wrap}.atelier .test-experience-head{gap:16px}.atelier .test-experience-heading h1{font-size:27px!important}
}
@media(max-width:380px){.atelier-main{padding-left:14px;padding-right:14px}.atelier-header{padding:0 14px}.atelier-brand{gap:8px}.atelier-brand>span{font-size:12px}.atelier-brand small{font-size:5px}.atelier-menu-trigger{min-width:68px;padding:9px 11px;font-size:8px}.atelier .poster-title h1{font-size:60px}.experience-panel{padding:24px 21px}.opening-panel{min-height:510px}.poster-description{font-size:12px}.poster-top{font-size:6px}.poster-bottom{font-size:6px}.poster-signature{font-size:190px;right:-23px}.at-button{padding:12px 13px;font-size:10px}.collection-heading h1{font-size:43px}.collection-stamp{width:75px;height:75px;font-size:33px}.collection-stamp span{font-size:4px}.atelier-library-grid{grid-template-columns:1fr}.book-jacket{min-height:205px}.book-graphic{font-size:110px}.book-format{font-size:8px}.book-category{font-size:10px}.book-pin{font-size:7px}.book-copy h2{font-size:24px}.reading-copy{font-size:20px}.reader-cover h1{font-size:30px}.knowledge-panel h2{font-size:41px}.collection-panel h2{font-size:44px}.scene-controls{bottom:100px}.atelier .official-product-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body.portal-app.atelier{background:white!important;color:black!important}.atelier-header,.atelier-sidebar,.atelier-dock,.atelier-menu,.atmosphere,.scene-controls,.scene-footnote,.experience-mode,.site-edit-toolbar,.reader-navigation{display:none!important}.atelier-main{margin:0!important;padding:0!important}.experience-panel{background:white!important;color:black!important;border:1px solid #ccc;box-shadow:none;break-inside:avoid}.experience-panel :is(p,div,h1,h2){color:black!important}.poster-signature,.editorial-word,.large-outline{display:none}.book-jacket{box-shadow:none}.atelier-library-grid{grid-template-columns:repeat(2,1fr)}}
body.portal-app.atelier .experience-panel{user-select:text!important}
body.portal-app.atelier .unavailable-image{visibility:hidden}
body.portal-app.atelier .official-product-image-wrap:has(.unavailable-image):after{content:'Изображение не загружено';font-size:10px;color:#728297;position:absolute;left:15px;right:15px;bottom:15px;text-align:center}
body.portal-app.atelier .login-card .overline{color:#506075}body.portal-app.atelier .login-card h2{font-size:32px;margin:20px 0 13px}body.portal-app.atelier .login-card>p{font-size:13px;margin-bottom:26px}body.portal-app.atelier .login-card>small{display:block;font-size:10px;margin-top:24px;color:#728297}body.portal-app.atelier .login-edition{display:block;margin-top:45px;font-family:Consolas,monospace;font-size:9px;color:#728297;letter-spacing:.12em}
body.portal-app.atelier .page-body{display:block;gap:0}
body.portal-app.atelier.atelier-library .page-body>*+*{margin-top:0}
body.portal-app.atelier .library-toolbar{margin-bottom:20px}
body.portal-app.atelier .category-chips{margin-bottom:24px}
body.portal-app.atelier.atelier-library .team-collection{margin-top:35px}
html{color-scheme:dark}
body.portal-app.atelier .mode-in-menu{position:static!important;margin:22px 0 0;font-size:12px;min-height:44px;width:100%}
@media(max-width:760px){.scene-controls{bottom:88px}.scene-controls button{background:#272d38f5}.scene-controls{padding:3px 9px;background:#1b2029e0;border:1px solid #72829733;border-radius:30px;gap:20px}}
body.portal-app.atelier .editor-workspace :is(h1,h2,h3,h4,strong,label,summary){color:var(--at-paper-ink)!important}
body.portal-app.atelier .editor-workspace :is(p,small){color:var(--at-paper-dim)!important}
body.portal-app.atelier .editor-workspace .editor-eyebrow{color:#728297!important}
body.portal-app.atelier .editor-workspace a.editor-item-action{color:#ffffff!important}
body.portal-app.atelier .editor-workspace a.editor-outline-link{color:#506075!important;border-color:#c4cdd9!important}
body.portal-app.atelier .editor-workspace .editor-item-meta span{color:#506075!important;background:#e4e8ee!important}
body.portal-app.atelier .editor-learning-nav a[aria-current=page]{color:#e4e8ee!important;border-color:#a2afc1!important}
body.portal-app.atelier .section-intro-panel{background:transparent!important;box-shadow:none!important;border:0!important;padding:0 0 25px!important}
body.portal-app.atelier .section-intro-panel h1{color:#eae7df!important;font-size:48px!important}
body.portal-app.atelier .section-intro-panel .section-kicker{color:#c4cdd9!important}
@media(max-width:760px){body.portal-app.atelier .section-intro-panel h1{font-size:36px!important}}
body.portal-app.atelier .editor-workspace-hero h1{font-size:32px;line-height:1.15;letter-spacing:-.04em;margin:12px 0}
body.portal-app.atelier .test-experience-head{background:linear-gradient(130deg,#272d38,#272d38)!important;border-color:#72829766!important;box-shadow:none!important;border-radius:22px!important}
body.portal-app.atelier .test-all-back{background:#272d38!important;border-color:#728297!important;color:#c4cdd9!important}
body.portal-app.atelier .test-question-nav-grid{background:var(--at-paper)!important}
body.portal-app.atelier .test-question-number{background:#e4e8ee!important;color:#506075!important}
body.portal-app.atelier .test-run-progress-bar{background:#e4e8ee!important}
body.portal-app.atelier .test-run-progress-bar>span{background:#728297!important}
body.portal-app.atelier .sales-immersive-panel .company-copy{white-space:pre-wrap;font-size:18px;line-height:1.85;color:#c4cdd9}
body.portal-app.atelier .sales-immersive-panel h1{font-size:clamp(38px,4vw,60px);line-height:1.13;margin:32px 0 25px}
body.portal-app.atelier .sales-immersive-panel h2{font-size:clamp(32px,3.6vw,50px);line-height:1.18;margin:28px 0}
body.portal-app.atelier .sales-immersive-panel .poster-actions{margin-bottom:0}
body.portal-app.atelier .sales-immersive-panel .poster-image img{max-height:300px}
body.portal-app.atelier .sales-contact-item{padding:22px 0;border-top:1px solid #ffffff28}
body.portal-app.atelier .sales-contact-item h3{font-size:23px;margin:0 0 14px}
body.portal-app.atelier .sales-contact-item p{white-space:pre-wrap;font-size:15px;color:#c4cdd9;line-height:1.8}

/* Chilled glass: a quiet centre and photographic condensation at the edges. */
body.portal-app.atelier .cold-scene{background:#10141b;--cold-far:1.02;--cold-near:1.04;--cold-x:0px;--cold-y:0px}
.cold-scene:after{opacity:.035}.cold-panorama,.cold-foreground,.cold-glow,.cold-shade{position:absolute;inset:-3%;pointer-events:none}
.cold-panorama,.cold-foreground{background-image:url('/static/atelier/cold/chilled-glass.png');background-size:cover;background-position:50% 55%;transform-origin:55% 45%;will-change:transform}
.cold-panorama{transform:translate3d(var(--cold-x),var(--cold-y),0) scale(var(--cold-far));filter:grayscale(1) brightness(.55)}
.cold-foreground{transform:translate3d(calc(var(--cold-x) * 1.8),calc(var(--cold-y) * 1.5),0) scale(var(--cold-near));mask-image:linear-gradient(180deg,transparent 45%,#000 90%);filter:grayscale(1) brightness(.52)}
.cold-glow{background:radial-gradient(ellipse at 12% 77%,#72829712,transparent 33%),radial-gradient(ellipse at 88% 65%,#a2afc10e,transparent 32%);transform:scale(var(--cold-far))}
.cold-shade{background:linear-gradient(90deg,#10141bbf,#10141b33 28%,#10141b0a 75%,#10141b44),linear-gradient(180deg,#10141bb3,transparent 30%,#10141b66)}
body.portal-app.atelier.cold-enabled .atelier-header{background:linear-gradient(#10141bed,#10141b77 75%,transparent)}
body.portal-app.atelier.cold-enabled .atelier-sidebar{color:#e4e8ee;text-shadow:0 1px 6px #000}.cold-enabled .atelier-sidebar nav a{color:#c4cdd9}.cold-enabled .side-caption{color:#a2afc1}
body.portal-app.atelier.cold-enabled .experience-panel{background:linear-gradient(135deg,#1b2029,#1b2029 60%,#272d38);box-shadow:inset 0 1px 0 #e4e8ee30,0 30px 100px #0009;border-color:#c4cdd955}
body.portal-app.atelier.cold-enabled .knowledge-panel{background:linear-gradient(135deg,#272d38,#1b2029)}
body.portal-app.atelier.cold-enabled .news-panel{background:linear-gradient(135deg,#272d38,#1b2029)}
body.portal-app.atelier.cold-enabled .company-cover{background:linear-gradient(135deg,#1b2029,#1b2029)}
body.portal-app.atelier.cold-enabled .reading-page{background:linear-gradient(140deg,var(--at-paper),#e4e8ee);border-color:#f3f5f7}
body.portal-app.atelier.cold-enabled .experience-mode{background:#1b2029ee;color:#c4cdd9}
body.portal-app.atelier.cold-enabled .scene-footnote{color:#a2afc1}.cold-enabled .collection-heading h1 em{color:var(--at-accent)}
.scene-finish{min-height:390px}.scene-finish h2{max-width:680px;font-size:clamp(36px,4vw,58px);line-height:1.1}.scene-finish p{max-width:52ch;color:#c4cdd9;font-size:17px;line-height:1.8}.finish-mark{display:block;font-size:52px;line-height:1;color:var(--at-accent);margin-top:28px}.finish-restart{display:inline-flex;align-items:center;min-height:44px;color:#c4cdd9;font-size:12px;border-bottom:1px solid #a2afc140}.scene-finish .poster-actions{margin-bottom:12px}
.experience-active.atelier-sales:has(.reader-navigation) .atelier-sidebar{top:200px}



@media(max-width:760px){.cold-panorama,.cold-foreground{background-position:12% 60%}.cold-shade{background:linear-gradient(180deg,#10141b88,transparent 25%,#10141b33 60%,#10141ba6)}.scene-finish{min-height:340px}.scene-finish p{font-size:15px;line-height:1.8}.finish-mark{font-size:38px}.scene-finish h2{font-size:34px}.atelier .sales-immersive-panel .company-copy{font-size:15px;line-height:1.85}.atelier .sales-immersive-panel h1{font-size:35px}.atelier .sales-immersive-panel h2{font-size:30px}.atelier .sales-immersive-panel .poster-image img{max-height:240px}}
@media(prefers-reduced-motion:reduce){.cold-panorama,.cold-foreground,.cold-glow{will-change:auto;transform:none!important}}
@media print{.cold-scene,.scene-finish{display:none!important}}

/* Login cleanup / 1.32a */
body.portal-app.atelier.login-body .atelier-brand small{display:none}
body.portal-app.atelier.login-body .atelier-main{margin-left:0;padding:96px 24px 48px}
body.portal-app.atelier.login-body .atelier-document{max-width:none;background:transparent;box-shadow:none;border:0}
body.portal-app.atelier.login-body .page-body{padding:0;background:transparent}
body.portal-app.atelier.login-body .login-layout.login-layout-minimal{max-width:min(1180px,100%);min-height:70vh;display:flex;align-items:center;justify-content:flex-end;gap:0}
body.portal-app.atelier.login-body .login-card{width:min(100%,430px);padding:34px;border-radius:28px;background:linear-gradient(180deg,#f7f9fded,#edf2f8e8)!important;border:1px solid #ffffff8c;box-shadow:0 20px 70px #00132173;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* Atelier 1.3 / Graphite & Copper. Semantic roles, consistent hierarchy. */
:root{color-scheme:dark;--at-radius:20px;--at-control-radius:12px;--at-surface-raised:#222936;--at-border:#a9bad02e;--at-muted:#b2bdcc;--at-blue:#264d7a;--at-blue-light:#e6eff9;--at-danger:#a63b32}
body.portal-app.atelier{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:0;--xp-ink:#202936;--xp-deep:#20334d;--xp-night:#171e29;--xp-teal:#668dbb;--xp-teal-dark:#264d7a;--xp-coral:#e9b08b;--xp-peach:#eed4c2;--xp-lilac:#dce7f4;--xp-lime:#b8d6f2;--xp-paper:#f2f4f7;--xp-mist:#e6ebf2;--xp-muted:#536174;--xp-line:#cbd3dd}
.atelier :is(h1,h2,h3){font-kerning:normal}
.atelier .overline,.atelier .side-caption{font-size:10px;letter-spacing:.14em;color:#a6b4c7}
.atelier .atelier-brand small{font-size:8px;color:#b2bdcc;letter-spacing:.14em}
.atelier .atelier-menu-trigger{border-radius:var(--at-control-radius);background:#171d26;color:var(--at-ink);border-color:var(--at-border);font-weight:600}
.atelier .atelier-menu-trigger span{color:var(--at-accent)}
.atelier .atelier-header{background:linear-gradient(#0d1118fa,#0d1118d9 70%,#0d111800)}
.atelier .atelier-sidebar nav{margin-top:18px}
.atelier .atelier-sidebar nav a{font-size:12px;min-height:43px;padding:10px 10px 10px 12px;margin:2px 0;border-left:2px solid transparent;border-radius:0 9px 9px 0;color:#aeb9c9;text-shadow:none}
.atelier .atelier-sidebar nav a small{color:#8494a8;font-size:9px}
.atelier .atelier-sidebar nav a[aria-current]{background:#ffffff09;border-left-color:var(--at-accent);color:#f1f4f8}
.atelier .atelier-sidebar nav a:hover{background:#ffffff0c;color:#fff}
.atelier .atelier-sidebar nav a[aria-current] small,.atelier .atelier-sidebar nav a i{color:var(--at-accent)}
.atelier .atelier-logout{color:#a6b2c3;font-size:11px}
.atelier .atelier-menu{background:#171d26;border-color:#59687d;border-radius:var(--at-radius)}
.atelier .atelier-menu nav a{font-size:18px;color:#edf2f8}
.atelier .atelier-menu nav a small{color:#91a6c0}
.atelier .atelier-menu nav a span{color:var(--at-accent)}
.atelier .at-button{border-radius:var(--at-control-radius);min-height:46px;font-size:12px;padding:13px 19px;border-color:#aebed544;color:var(--at-ink);font-weight:500;background:#ffffff04;letter-spacing:.01em;gap:10px}
.atelier .at-button.primary{background:var(--at-accent)!important;border-color:var(--at-accent)!important;color:var(--at-accent-ink)!important;font-weight:600}
.atelier .at-button.primary:hover{background:var(--at-accent-hover)!important;border-color:var(--at-accent-hover)!important}
.atelier .at-button.quiet{color:#c2cbd8;background:transparent;border-color:transparent}
.atelier em{color:var(--at-accent);letter-spacing:-.035em}
.atelier .experience-panel{border-radius:var(--at-radius);border-color:#aec3dd40;background:linear-gradient(135deg,#202733,#151b24 70%);box-shadow:inset 0 1px 0 #fff1,0 28px 90px #0008}
.atelier .experience-panel:before{background:radial-gradient(ellipse at 0 0,#b8d6f20b,transparent 60%)}
.atelier .experience-panel:after{border-radius:16px;border-color:#ffffff07}
body.portal-app.atelier.cold-enabled :is(.experience-panel,.company-cover,.knowledge-panel,.news-panel){background:linear-gradient(135deg,#202733,#151b24 70%);border-color:#aec3dd40;box-shadow:inset 0 1px 0 #fff1,0 28px 90px #0008}
.atelier .poster-top,.atelier .poster-bottom{font-size:10px;letter-spacing:.09em;color:#b6c2d2;border-color:#ffffff21}
.atelier .poster-intro{color:#cad3df;font-size:13px}
.atelier .poster-description{color:#c4cddb;font-size:16px;line-height:1.8}
.atelier .poster-title h1{letter-spacing:-.06em}
.atelier .poster-signature{opacity:.4;-webkit-text-stroke-color:#b8d6f24d}
.atelier .editorial-word,.atelier .large-outline{opacity:.48;-webkit-text-stroke-color:#a9bdd449}
.atelier :is(.news-copy,.company-copy,.company-cover p,.reader-cover p,.sales-immersive-panel .company-copy,.scene-finish p){color:#c5cfdd;font-size:17px;line-height:1.85}
.atelier .company-cover h2{color:var(--at-ice);font-size:27px}
.atelier .path-links a{font-size:19px;border-color:#a9bad02e}
.atelier .path-links a small{color:#9eb3cc}.atelier .path-links a b{color:var(--at-accent)}
.atelier .scene-controls{color:#9fafc3}.atelier .scene-controls button{background:#161d28ef;border-color:#a8bad140;border-radius:12px;color:#f1f4f8}
.atelier .experience-mode{border-radius:10px;border-color:#a8bad13b;background:#171e29f0!important;color:#c1cede!important}
.atelier .reader-navigation{color:#c0cddd}.atelier .reader-navigation nav{background:#202834;border-color:#60728a;border-radius:12px}
.atelier .reader-navigation nav a{color:#d4deeb}.atelier .reader-navigation nav a[aria-current=true]{background:#b8d6f21a;color:#fff}
.atelier .reading-count{color:#a9b8cb}.atelier .reading-page-footer{border-color:#cbd3dd;color:#536174}
body.portal-app.atelier.cold-enabled .reading-page{background:var(--at-paper);border-color:#fff;color:var(--at-paper-ink)}
.atelier .reading-page:before{background:none}.atelier .reading-copy{color:var(--at-paper-ink);font-size:24px;line-height:1.75}
.atelier .reading-page .poster-top{color:#536174;border-color:#cbd3dd}
.atelier .reading-page .at-button{color:var(--at-paper-ink);border-color:#8e9caf}
.atelier .scene-finish .finish-mark{color:var(--at-accent)}.atelier .finish-restart{color:var(--at-ice);border-color:#8da7c14d}
.atelier .cold-glow{background:radial-gradient(ellipse at 12% 77%,#d58e5a0c,transparent 33%),radial-gradient(ellipse at 88% 65%,#82aee41a,transparent 32%)}
.atelier .cold-shade{background:linear-gradient(90deg,#0d1118c4,#0d111838 28%,#0d11180d 75%,#0d111844),linear-gradient(180deg,#0d1118b3,transparent 30%,#0d111866)}
body.portal-app.atelier.cold-enabled .atelier-header{background:linear-gradient(#0d1118f5,#0d111899 75%,transparent)}
.atelier .collection-heading h1 em{color:var(--at-accent)}.atelier .collection-heading p{color:#bec9d8}
.atelier .collection-stamp{border-color:#8aa6c64d;box-shadow:inset 0 0 45px #b8d6f208;color:#b8d6f2;transform:rotate(-10deg)}
.atelier .library-toolbar{color:#bac6d7}.atelier .category-chips a{background:#171e28;color:#bac7d8;border-color:#738aa744;border-radius:9px}
.atelier .category-chips a[aria-current]{background:var(--at-ice);color:#172536;border-color:var(--at-ice)}
.atelier .atelier-book .book-jacket{background:linear-gradient(145deg,#29384c,#141e2e);color:#d7e5f4;border-color:#9cb4d04d;border-radius:14px;box-shadow:inset 5px 0 0 #ffffff09,inset 7px 0 0 #0004,0 15px 36px #0004}
.atelier .atelier-book:nth-child(even) .book-jacket{background:linear-gradient(145deg,#34445b,#1a2537);color:#d7e5f4}
.atelier .atelier-book .book-jacket.jacket-pdf{background:linear-gradient(145deg,#d4dfed,#b5c5da);color:#203044}
.atelier .atelier-book .book-jacket.jacket-youtube{background:linear-gradient(145deg,#533b32,#211e25);color:#ead0bd}
.atelier .book-jacket.jacket-pdf{background:linear-gradient(145deg,#cbd6e3,#a7b9cd);color:#203044}
.atelier .book-jacket.jacket-youtube{background:linear-gradient(145deg,#533b32,#211e25);color:#ead0bd}
.atelier .book-graphic{color:#b8d6f2;opacity:.8}.atelier .jacket-pdf .book-graphic{color:#203044}.atelier .jacket-youtube .book-graphic{color:#efba94}
.atelier .book-format,.atelier .book-category{color:inherit;opacity:1}.atelier .book-pin{color:#ecc5a8}
.atelier .book-copy h2{font-size:27px;line-height:1.2;letter-spacing:-.035em}.atelier .book-copy p{color:#b9c5d5;font-size:13px;line-height:1.7}.atelier .book-copy>span{color:var(--at-ice)}
.atelier .team-collection{background:#1a2230;border-color:#91acc944}.atelier .team-collection h2{color:#edf2f7}
.atelier .workspace-welcome p{color:#bbc7d7}.atelier .workspace-news{background:#1a2230;border-color:#91acc933}.atelier .workspace-news p{color:#c1ccdb}
.atelier .atelier-metrics a{background:#1a2230;border-color:#91acc933}.atelier .atelier-metrics strong{color:var(--at-ice)}.atelier .atelier-metrics span{color:#c1ccdb}
/* Work surfaces are neutral paper; blue means action, colour never replaces text. */
body.portal-app.atelier :is(.card,.surface-card,.admin-card,.editor-panel,.editor-workspace-hero,.editor-list-item,.editor-question-item,.test-question-card,.case-detail-card,.test-intro-card,.assessment-card,.pg-overview,.pg-section,.pg-card){background:var(--at-paper)!important;border-color:var(--at-paper-line)!important;color:var(--at-paper-ink)!important;border-radius:16px!important;box-shadow:0 12px 35px #0002!important;color-scheme:light}
body.portal-app.atelier :is(.card,.surface-card,.admin-card,.editor-panel,.editor-list-item,.editor-workspace-hero,.editor-question-item,.test-question-card,.case-detail-card,.test-intro-card,.assessment-card,.pg-overview,.pg-section,.pg-card) :is(h1,h2,h3,h4,strong,label,summary){color:var(--at-paper-ink)!important}
body.portal-app.atelier :is(.card,.surface-card,.editor-panel,.editor-list-item,.test-question-card,.case-detail-card,.assessment-card,.pg-card) :is(p,small,.muted-text){color:var(--at-paper-dim)!important}
body.portal-app.atelier :is(input,textarea,select){color-scheme:light;background:#fff!important;color:var(--at-paper-ink)!important;border-color:#aebccc!important;border-radius:9px!important;accent-color:var(--at-blue)}
body.portal-app.atelier :is(button[type=submit],.button-primary,.primary-button,.editor-primary-button,.editor-item-action,.test-step-next,.test-finish-button),body.portal-app.atelier .editor-workspace :is(button[type=submit],.editor-primary-button,.editor-item-action){background:var(--at-blue)!important;border-color:var(--at-blue)!important;color:#fff!important;border-radius:9px!important;font-weight:600}
body.portal-app.atelier :is(button[type=submit],.editor-primary-button,.test-step-next,.test-finish-button):hover{background:#1e3e64!important}
body.portal-app.atelier .editor-workspace .editor-danger-link,body.portal-app.atelier .editor-list-actions button.editor-danger-link[type=submit]{color:var(--at-danger)!important;background:transparent!important;border:1px solid #a63b3255!important;border-radius:9px!important}
body.role-admin.portal-app.atelier .editor-workspace .editor-list-copy h4,body.role-admin.portal-app.atelier .editor-workspace .editor-question-item strong{color:var(--at-paper-ink)!important}
body.portal-app.atelier .editor-list-icon{background:#dce7f4;color:#264d7a}
body.portal-app.atelier .editor-list-copy :is(.badge,.editor-item-tag){background:#e0e7f0!important;color:#394f6a!important}
.atelier table{background:var(--at-paper);color:var(--at-paper-ink)}.atelier th{background:#e3e8ef!important;color:#44546a!important;font-size:11px}.atelier td{color:#2e3e52!important;border-color:#cbd3dd!important}
.atelier .editor-eyebrow{color:#506988!important}.atelier .editor-workspace .editor-outline-link{color:#264d7a!important}
.atelier .editor-learning-nav a,.atelier .unified-materials-tabs a{background:#1a2230!important;border-color:#7188a34d!important;color:#c3d1e2!important}
.atelier .editor-learning-nav a[aria-current=page],.atelier .unified-materials-tabs a[aria-current=page]{background:#dce9f8!important;color:#203b5e!important}
.atelier .test-option{background:#fff!important;border-color:#bcc9d9!important;color:#263447!important}.atelier .test-option :is(span,strong){color:#263447!important}
.atelier .test-option:has(input:checked){background:#e6eff9!important;border-color:#4677ad!important}
.atelier .badge-success{background:#ddebf8!important;color:#244e7a!important}.atelier .badge-danger{background:#f4dfdb!important;color:#8c382f!important}
.atelier .test-clock-readout strong{color:var(--at-ice)!important}.atelier .test-run-progress-track>span{background:var(--at-ice)!important}
body.portal-app.atelier .section-kicker,body.portal-app.atelier .eyebrow-label{background:#91acc90d;color:#b8cbe2!important;border-color:#91acc92e;text-shadow:none!important}
body.portal-app.atelier .assessment-type,body.portal-app.atelier .assessment-time{color:#394f6a;background:transparent}
body.portal-app.atelier .assessment-facts span{background:#e7edf5;border-color:#cbd3dd;color:#34475e}
body.portal-app.atelier .assessment-status.status-ready{color:#264d7a}body.portal-app.atelier .assessment-status.status-ready i{background:#4677ad}
body.portal-app.atelier.progress-screen .pg-overview h1{color:#202936!important}
body.portal-app.atelier.progress-screen .pg-ring{background:conic-gradient(#4677ad 0 var(--pg-percent),#d2dce8 var(--pg-percent) 100%);box-shadow:none}
body.portal-app.atelier.progress-screen .pg-ring-inner{background:#f2f4f7;box-shadow:none}
body.portal-app.atelier.progress-screen .pg-ring-inner strong{color:#203b5e!important}
body.portal-app.atelier.progress-screen :is(.pg-hero-label,.pg-hero-count span,.pg-hero-meta,.pg-no-tasks,.pg-score-line){color:#536174}
body.portal-app.atelier.progress-screen .pg-score-line{border-color:#cbd3dd}
body.portal-app.atelier.progress-screen :is(.pg-hero-count strong,.pg-score-line strong){color:#202936!important}
body.portal-app.atelier.progress-screen :is(.pg-task-list,.pg-last-item,.pg-history){background:#f2f4f7;border-color:#cbd3dd;box-shadow:none}
body.portal-app.atelier.progress-screen :is(.pg-task-row,.pg-history-item){border-color:#d6dee8}
body.portal-app.atelier.progress-screen :is(.pg-task-copy h3,.pg-last-description strong,.pg-history-name strong){color:#202936!important}
body.portal-app.atelier.progress-screen :is(.pg-task-copy p,.pg-last-description small,.pg-history-name small){color:#536174}
body.portal-app.atelier.progress-screen .pg-task-action{background:#264d7a;color:#fff!important}
body.portal-app.atelier.progress-screen .pg-task-action:hover{background:#1e3e64}
body.portal-app.atelier.progress-screen .pg-task-action--muted{background:#dce7f4;color:#264d7a!important}
body.portal-app.atelier.progress-screen :is(.pg-more>summary,.pg-history>summary,.pg-last-result--done,.pg-history-result--done){color:#264d7a}
body.portal-app.atelier.progress-screen :is(.pg-help-note,.pg-first-step){color:#b9c8db}
body.portal-app.atelier.progress-screen .pg-first-step a{color:#b8d6f2!important}
body.portal-app.atelier.progress-screen .pg-last-item:hover,body.portal-app.atelier.progress-screen .pg-history-item:hover{background:#e6edf6}
.atelier .pg-tabs{background:#1a2230;border-color:#8499b34d}.atelier .pg-tab{color:#bac9dc}.atelier .pg-tab.is-active{background:#dce9f8;color:#203b5e}.atelier .pg-row{border-color:#cbd3dd}.atelier .pg-row :is(strong,span,p){color:#394b62}
.atelier .site-edit-dialog{background:var(--at-paper);color:var(--at-paper-ink)}.atelier .site-edit-dialog h2,.atelier .site-edit-dialog label{color:var(--at-paper-ink)}
.atelier .official-catalog-hero{background:linear-gradient(135deg,#242e3d,#151d29)!important;border-color:#91acc944;color:#edf2f8}.atelier .official-catalog-hero h1{color:#f1f4f8!important}
.atelier .official-product-card,.atelier .official-product-detail{background:var(--at-paper)!important;color:var(--at-paper-ink)!important;border-color:#cbd3dd!important}.atelier .official-product-image-wrap{background:radial-gradient(ellipse,#e1e8f1,#f2f4f7)!important}
.atelier .official-product-copy :is(h3,p,span),.atelier .official-product-detail :is(h1,h2,h3,p,strong,span,dt,dd){color:#26384f!important}.atelier .official-category-pill.is-active{background:var(--at-ice);border-color:var(--at-ice);color:#172536}
.atelier .login-card{background:var(--at-paper)!important;color:var(--at-paper-ink)}.atelier .login-card :is(h1,h2,label,p){color:#26384f!important}
.atelier .atelier-dock{background:#151d29f5;border-color:#a7bddd40}.atelier .atelier-dock a{color:#adbed3}.atelier .atelier-dock a[aria-current]{background:#b8d6f217;color:#eef5fc}
.atelier :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #87b9f1;outline-offset:4px}
.atelier ::selection{background:#b8d6f2;color:#152439}
@media(max-width:760px){.atelier .atelier-brand small{font-size:6px}.atelier .at-button{font-size:11px;padding:12px 15px}.atelier .poster-top,.atelier .poster-bottom{font-size:8px}.atelier .poster-intro{font-size:11px}.atelier .poster-description{font-size:14px}.atelier :is(.news-copy,.company-copy,.company-cover p,.reader-cover p,.sales-immersive-panel .company-copy,.scene-finish p){font-size:15px;line-height:1.8}.atelier .experience-panel{border-radius:18px}.atelier .experience-panel:after{border-radius:14px}.atelier .book-copy h2{font-size:23px}.atelier .book-copy p{font-size:12px}.atelier .reading-copy{font-size:21px}.atelier .reader-navigation{background:#151d29f5;border-color:#7188a34d}.atelier .atelier-menu nav a{font-size:18px}}
@media(max-width:380px){.atelier .poster-top,.atelier .poster-bottom{font-size:7px}.atelier .at-button{font-size:10px;padding:12px 13px}.atelier .book-copy h2{font-size:24px}}
@media print{body.portal-app.atelier :is(.experience-panel,.reading-page,.card){background:#fff!important;color:#111!important;box-shadow:none!important}.atelier .reading-copy{color:#111!important}}

/* Animate the destination once, after its CSS3D camera has measured the real cover. */
.material-entry-pending .experience-stage,.material-entry-pending .reader-cover{opacity:0!important}
.material-entering{transform-origin:0 0!important;will-change:transform,opacity;pointer-events:none!important}
.material-entering .experience-panel:not(.reader-cover){visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.material-entering{transform:none!important;will-change:auto}}
/* One timer layout at every breakpoint: the readout stays inside its own SVG ring. */
body.portal-app.atelier .test-clock{position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;height:112px!important;min-height:112px!important;padding:0!important;margin:0!important;gap:0!important;border:0!important;border-radius:50%!important;background:#b8d6f20b!important;box-shadow:none!important;align-self:center;isolation:isolate}
body.portal-app.atelier .test-clock .test-clock-ring{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;flex:none!important;transform:rotate(-90deg);pointer-events:none}
body.portal-app.atelier .test-clock .test-clock-ring-track{stroke:#a5bed13b}
body.portal-app.atelier .test-clock .test-clock-ring-progress{stroke:#b8d6f2}
body.portal-app.atelier .test-clock .test-clock-readout{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative;inset:auto!important;width:82%;max-width:82%;min-width:0;gap:3px!important;padding:0!important;margin:0!important;line-height:1!important;text-align:center}
body.portal-app.atelier .test-clock .test-clock-readout strong{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:min(var(--timer-font,24px),24px)!important;line-height:1.1!important;font-weight:650;letter-spacing:-.025em!important;white-space:nowrap;font-variant-numeric:tabular-nums;color:#f1f4f8!important;max-width:100%;padding:0;margin:0}
body.portal-app.atelier .test-clock .test-clock-readout span{display:block;font-size:9px!important;line-height:1.2!important;letter-spacing:.04em!important;color:#b8c9de!important;padding:0!important;margin:0!important}
body.portal-app.atelier .test-clock.is-urgent{animation:none!important;background:#e9b08b0c!important}
body.portal-app.atelier .test-clock.is-urgent .test-clock-ring-progress{stroke:#e9b08b}
body.portal-app.atelier .test-clock.is-urgent .test-clock-readout strong{color:#f3c6a8!important}
/* Long labels and multi-digit results wrap rather than forcing their container wider. */
body.portal-app.atelier :is(.test-experience-heading,.test-run-progress-copy,.test-question-card,.editor-list-copy,.pg-task-copy,.pg-history-name,.pg-last-description){min-width:0;overflow-wrap:anywhere}
body.portal-app.atelier :is(.poster-actions,.test-fact-pills,.test-run-controls,.test-run-progress-copy,.editor-list-actions){flex-wrap:wrap;min-width:0}
body.portal-app.atelier .test-run-progress-copy{gap:6px 16px}
body.portal-app.atelier .test-experience-head{min-width:0;gap:24px}
body.portal-app.atelier .test-experience-heading h1{overflow-wrap:anywhere}
body.portal-app.atelier .pg-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
body.portal-app.atelier .pg-task-action{max-width:100%;white-space:normal;text-align:center;line-height:1.35;min-height:44px}
body.portal-app.atelier .pg-last-result,body.portal-app.atelier .pg-history-result{flex:0 1 auto;max-width:32%;text-align:right;overflow-wrap:anywhere;line-height:1.4}
body.portal-app.atelier .pg-ring-inner strong{font-size:clamp(24px,4vw,34px)!important;line-height:1!important;white-space:nowrap;letter-spacing:-.035em}
body.portal-app.atelier .pg-score-line strong{flex-shrink:0}
body.portal-app.atelier .pg-score-line span{overflow-wrap:anywhere}
body.portal-app.atelier .at-button{max-width:100%;text-align:center;overflow-wrap:anywhere}
@media(max-width:760px){body.portal-app.atelier .test-experience-head{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:16px;align-items:start}body.portal-app.atelier .test-clock{width:88px!important;min-width:88px!important;max-width:88px!important;height:88px!important;min-height:88px!important;flex-basis:88px!important}body.portal-app.atelier .test-clock .test-clock-readout strong{font-size:min(var(--timer-font,24px),20px)!important}body.portal-app.atelier .test-clock .test-clock-readout span{font-size:8px!important}.atelier .test-experience-heading h1{font-size:28px!important;line-height:1.15!important}.atelier .test-fact-pills span{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:430px){body.portal-app.atelier .test-experience-head{grid-template-columns:minmax(0,1fr);gap:18px}body.portal-app.atelier .test-clock{justify-self:start}body.portal-app.atelier .pg-task-row{grid-template-columns:minmax(0,1fr);gap:12px}body.portal-app.atelier .pg-task-action{justify-self:start}body.portal-app.atelier .pg-hero-layout{gap:14px}body.portal-app.atelier .pg-score-line{align-items:flex-start}body.portal-app.atelier .test-run-controls{align-items:stretch;gap:10px}body.portal-app.atelier .test-run-controls>button{min-width:0;flex:1 1 110px}}

body.portal-app.atelier .test-experience-head{background:linear-gradient(135deg,#202733,#151b24)!important;border:1px solid #aec3dd40;box-shadow:none}
body.portal-app.atelier .test-clock{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;justify-content:normal!important;align-content:normal!important}
body.portal-app.atelier .test-clock .test-clock-readout{position:absolute!important;inset:0!important;width:100%!important;max-width:100%!important;height:100%;padding:10px 6px!important;box-sizing:border-box;justify-self:center;align-self:center}
body.portal-app.atelier .test-clock .test-clock-readout strong{flex:none!important;width:auto!important;min-width:0}
body.portal-app.atelier .test-progress-track,body.portal-app.atelier .test-run-progress-track{background:#d6e0eb!important}
body.portal-app.atelier .test-progress-track span{background:#4677ad!important}
body.portal-app.atelier .test-question-nav{background:#f2f4f7;border-color:#cbd3dd;color:#26384f}
@media(max-width:430px){body.portal-app.atelier .test-run-controls{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;padding:10px!important}body.portal-app.atelier .test-run-controls [data-save-status]{grid-column:1 / -1;grid-row:1;text-align:center;font-size:11px;white-space:normal;line-height:1.4}body.portal-app.atelier .test-run-controls :is(button,.button){width:100%;min-width:0;min-height:44px;white-space:normal}body.portal-app.atelier .test-run-controls #submit-test{grid-column:auto}}
body.portal-app.atelier.admin-users-page .users-filter-form .table-actions{grid-column:1 / -1;min-width:0;flex-wrap:wrap}
body.portal-app.atelier.admin-users-page .users-filter-form .table-actions>button{width:auto!important;min-width:110px!important;min-height:44px;white-space:normal}
body.portal-app.atelier.admin-users-page .inline-details-form label{min-width:0;overflow-wrap:anywhere;white-space:normal}
body.portal-app.atelier.admin-users-page .inline-details-form button[type=submit]{width:100%!important;min-width:0;white-space:normal!important;min-height:44px;padding:10px!important}
@media(max-width:760px){body.portal-app.atelier.admin-users-page .compact-actions-wrap .inline-details[open]{flex:1 0 100%;width:100%;max-width:100%;order:3}body.portal-app.atelier.admin-users-page .inline-details[open] .inline-details-form{display:grid;grid-template-columns:minmax(0,1fr);width:100%!important;max-width:100%;box-sizing:border-box}body.portal-app.atelier.admin-users-page .inline-details[open] .inline-details-form :is(input,select){width:100%;min-width:0;max-width:100%}}
@media(max-width:760px){body.portal-app.atelier.admin-users-page .users-table-compact{display:block!important;min-width:0!important;width:100%!important;max-width:100%!important}body.portal-app.atelier.admin-users-page .users-table-compact :is(tbody,tr,td){min-width:0!important;max-width:100%;box-sizing:border-box}body.portal-app.atelier.admin-users-page .users-table-compact tbody{grid-template-columns:minmax(0,1fr)!important;width:100%}body.portal-app.atelier.admin-users-page .users-table-compact tr{width:100%}body.portal-app.atelier.admin-users-page .users-table-compact td{width:100%!important}body.portal-app.atelier.admin-users-page .users-compact-wrap{overflow-x:hidden}}
body.portal-app.atelier.admin-users-page .users-create-panel>summary,body.portal-app.atelier.admin-users-page .users-filter-trigger{background:#f2f4f7!important;color:#26384f!important;border-color:#cbd3dd!important;box-shadow:none!important}
body.portal-app.atelier.admin-users-page .users-create-panel>summary>span{background:#264d7a!important;color:#fff!important}
body.portal-app.atelier.admin-users-page .users-table-compact tr{background:#f2f4f7!important;border-color:#cbd3dd!important;box-shadow:none!important}
body.portal-app.atelier.admin-users-page .users-table-compact td :is(.badge,.role-pill,.status-pill){background:#e0e9f4!important;color:#334f72!important}
/* The selected library article becomes the reader; no second document or cover. */
.atelier .book-trigger{display:block;color:inherit;outline-offset:6px}
.atelier .lesson-slot{min-width:0;pointer-events:none}
.atelier .lesson-loading{opacity:.8;cursor:progress}
.atelier .lesson-loading .book-copy>span:after{content:'Загрузка…';margin-left:auto;color:#b8d6f2}
.atelier .lesson-load-error{font-size:13px;line-height:1.6;color:#f3c6a8;margin:12px 0}
body.lesson-open{overflow:hidden!important}
.atelier .lesson-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f1f4f8;overflow:hidden}
.atelier .lesson-dialog[open]{display:grid;place-items:center}
.atelier .lesson-dialog::backdrop{background:#060b13c7;backdrop-filter:blur(8px)}
.atelier .atelier-book.lesson-expanded{width:min(1040px,calc(100vw - 40px));height:calc(100dvh - 40px);margin:0;border:1px solid #a9bdd24d;border-radius:20px;background:#171e29;color:#f1f4f8;overflow:hidden;transform:none;transition:none!important;box-shadow:0 30px 100px #0009;min-width:0}
.atelier .lesson-reader{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:90px}
.atelier .lesson-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 32px;background:#171e29f5;border-bottom:1px solid #9dafc52b;backdrop-filter:blur(12px)}
.atelier .lesson-toolbar>span{font:10px Consolas,monospace;letter-spacing:.1em;color:#b2c3d8}
.atelier .lesson-close{background:#ffffff09;color:#edf3fb;border:1px solid #a9bdd24d;border-radius:10px;min-height:44px;padding:10px 16px;font-size:13px;cursor:pointer;flex-shrink:0}
.atelier .lesson-content{display:block;margin:0 auto;max-width:850px;padding:38px 40px 0;min-width:0}
.atelier .lesson-content .experience-panel{position:relative;width:100%!important;max-width:100%;height:auto;min-height:0;padding:0;margin:0 0 32px;border:0;border-radius:0;background:none!important;color:#f1f4f8;box-shadow:none;transform:none!important;overflow:visible}
.atelier .lesson-content .experience-panel:before,.atelier .lesson-content .experience-panel:after{display:none}
.atelier .lesson-content .reader-cover h1{font-size:clamp(30px,4vw,48px);line-height:1.15;margin:26px 0;overflow-wrap:anywhere}
.atelier .lesson-content .reader-cover p{color:#becbdb}
.atelier .lesson-content .poster-top{font-size:10px;color:#aebed2}
.atelier .lesson-content .reading-copy{font-family:'Segoe UI',Arial,sans-serif;white-space:pre-wrap;color:#e1e8f2;font-size:20px;line-height:1.85;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.atelier .lesson-content .reading-page{padding-top:24px;border-top:1px solid #a9bdd229}
.atelier .lesson-content .reading-page .poster-top{margin-bottom:20px}
.atelier .lesson-end{max-width:850px;margin:0 auto;padding:4px 40px 44px}
::view-transition-group(lesson-card){animation-duration:650ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(lesson-card){animation-duration:200ms;mix-blend-mode:normal}
::view-transition-new(lesson-card){animation-duration:450ms;mix-blend-mode:normal}
@media(max-width:760px){.atelier .atelier-book.lesson-expanded{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:16px}.atelier .lesson-toolbar{padding:12px 16px;gap:12px}.atelier .lesson-toolbar>span{font-size:8px;max-width:55%}.atelier .lesson-content{padding:26px 22px 0}.atelier .lesson-content .reading-copy{font-size:18px;line-height:1.8}.atelier .lesson-content .reader-cover h1{font-size:30px}.atelier .lesson-end{padding:0 22px 30px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(lesson-card),::view-transition-old(lesson-card),::view-transition-new(lesson-card){animation-duration:0s!important}}

.atelier .lesson-content .experience-panel{box-shadow:none!important;border:0!important;background:transparent!important}.atelier .lesson-content .reading-page{padding-top:0;border:0!important;margin-bottom:24px}.atelier .lesson-content .reader-cover{padding-bottom:24px;border-bottom:1px solid #a9bdd229!important}

/* Mobile: one persistent navigation, with secondary destinations in a sheet. */
.atelier .atelier-menu nav a[aria-current]{color:var(--at-accent)}
.atelier .menu-account-exit{display:block;border-top:1px solid #9dafc52b;margin-top:20px;padding:18px 0 2px;font-size:13px;color:#b8c5d5;min-height:44px}
@media(max-width:760px){
 .atelier .atelier-header .atelier-menu-trigger{display:none}
 .atelier .atelier-dock :is(a,button){flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:54px;padding:7px 2px;font:500 9px/1.25 'Segoe UI',Arial,sans-serif;letter-spacing:0;color:#b8c5d5;border:0;border-radius:14px;background:transparent;min-width:0;cursor:pointer;text-decoration:none}
 .atelier .atelier-dock :is(a,button)>b{font-size:21px;line-height:1;font-weight:400}
 .atelier .atelier-dock :is(a[aria-current],button.is-current,button[aria-expanded=true]){background:#b8d6f21a;color:#f1f4f8}
 .atelier .atelier-dock :is(a,button):focus-visible{outline:2px solid var(--at-accent);outline-offset:-2px}
 .atelier .atelier-menu .menu-primary-duplicate{display:none}
 .atelier .atelier-menu{inset:auto 8px 8px;margin:0;width:calc(100% - 16px)!important;max-width:none!important;box-sizing:border-box;max-height:calc(100dvh - 28px);border-radius:24px;padding:22px 22px max(22px,env(safe-area-inset-bottom));overscroll-behavior:contain}
 .atelier .atelier-menu[open]{animation:more-sheet-in .32s cubic-bezier(.22,1,.36,1)}
 .atelier .atelier-menu nav a{min-height:52px;font-size:17px;line-height:1.4;overflow-wrap:anywhere}
 .atelier .atelier-menu nav a span{flex-shrink:0}
 .atelier .atelier-menu .mode-in-menu{margin-top:18px}
}
@keyframes more-sheet-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.atelier .atelier-menu[open]{animation:none}}

/* The selected tile rises, expands and resolves into its reading surface. */
.lesson-arriving::view-transition-group(lesson-card){animation-duration:420ms;animation-timing-function:cubic-bezier(.4,0,.2,1)}
.lesson-arriving::view-transition-old(lesson-card){animation:tile-surface-out 420ms ease both;mix-blend-mode:normal}
.lesson-arriving::view-transition-new(lesson-card){animation:tile-content-in 420ms ease both;mix-blend-mode:normal}
@keyframes tile-surface-out{0%,18%{opacity:1}65%,100%{opacity:0}}
@keyframes tile-content-in{0%,18%{opacity:0}65%,100%{opacity:1}}
.journey-speed{position:fixed;inset:0;z-index:55;pointer-events:none;overflow:hidden;opacity:0;mask-image:linear-gradient(90deg,#000,transparent 24%,transparent 76%,#000);transition:opacity .25s}
.journey-speed.is-active{opacity:var(--speed,0)}
.journey-speed i{position:absolute;left:0;top:calc(8% + var(--i)*5%);width:24vw;height:1px;background:linear-gradient(90deg,transparent,#d8eaffb3,transparent);box-shadow:0 0 8px #b8d6f255;transform:rotate(calc(-22deg + var(--i)*2.6deg));animation:journey-streak .48s linear infinite;animation-delay:calc(var(--i)*-67ms)}
.journey-speed i:nth-child(even){left:auto;right:0}
@keyframes journey-streak{from{translate:0 25vh;scale:.3 1;opacity:0}35%{opacity:.8}to{translate:0 -45vh;scale:1.8 1;opacity:0}}
@media(prefers-reduced-motion:reduce){.journey-speed{display:none}.lesson-arriving::view-transition-group(lesson-card),.lesson-arriving::view-transition-old(lesson-card),.lesson-arriving::view-transition-new(lesson-card){animation:none!important}}

@media(max-width:760px){.atelier .editorial-word{font-size:clamp(38px,14vw,58px);white-space:nowrap}}

/* Ice / 1.7. Presentation only: original composition and mechanics retained. */
:root{--ice-lake-image:url('/static/atelier/cold/ice-lake-17.webp');--ice-inner-image:url('/static/atelier/cold/ice-inner-17.webp');--at-bg:#03131f;--at-surface:#092738;--at-accent:#f3fbff;--at-accent-hover:#d8f8ff;--at-accent-ink:#082335;--at-ice:#b6efff;--at-gold:#ccf6ff;--at-border:#c2f1ff42;--primary:#eafbff}
body.portal-app.atelier{--xp-coral:#e1f9ff;--xp-peach:#d0f1fa;--xp-lime:#b7f4ee;--xp-teal:#3d8597;--xp-teal-dark:#20596c}
.atelier .cold-scene{background:#03131f}
.atelier .cold-panorama,.atelier .cold-foreground{background-image:var(--ice-inner-image);background-position:50% 50%;filter:brightness(.72) saturate(.85)}
.atelier.atelier-home .cold-panorama,.atelier.atelier-home .cold-foreground,.atelier.login-body .cold-panorama{background-image:var(--ice-lake-image)}
.atelier .cold-foreground{filter:brightness(.86) saturate(.9);mask-image:linear-gradient(180deg,transparent 68%,#000 100%)}
.atelier .cold-shade{background:linear-gradient(90deg,#03131fa3,transparent 38%,#03131f1a),linear-gradient(180deg,#03131f70,transparent 35%,#03131f55)}
.atelier .cold-glow{background:radial-gradient(ellipse at 92% 73%,#83ffe429,transparent 30%),radial-gradient(ellipse at 7% 63%,#a7eaff29,transparent 30%);animation:ice-breathe 12s ease-in-out infinite alternate}

.atelier .atelier-header{background:linear-gradient(#041520e8,#04152099 65%,transparent)}
.atelier .atelier-sidebar{border-radius:14px;background:linear-gradient(90deg,#031521a3,transparent);padding-right:6px}
.atelier .atelier-sidebar nav a[aria-current]{background:linear-gradient(90deg,#9cefff25,#7bdccb0b);border-left-color:#d8faff;box-shadow:inset 0 1px 0 #fff1;color:#fff}
.atelier :is(.overline,.side-caption,.poster-top,.poster-bottom){color:#d0e7f0}
body.portal-app.atelier.cold-enabled .experience-panel{background:linear-gradient(135deg,#14384b99,#051925b8);border:1px solid #dcf8ff60;box-shadow:inset 0 1px 0 #ffffffe0,inset 0 -1px 0 #c5faff0a,0 24px 80px #00101d66;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}
.atelier .experience-panel:after{border-color:#fff1}
body.portal-app.atelier.cold-enabled .opening-panel{background:linear-gradient(100deg,#062031b8,#06203165 65%,#07273748);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.atelier .poster-signature{opacity:.045;color:#d6faff}
.atelier :is(.news-copy,.company-copy,.poster-description,.collection-panel p,.reader-cover p){color:#e5f3f8;text-shadow:0 1px 10px #00152180}
.atelier :is(.at-button,.atelier-menu-trigger,.scene-controls button){border:1px solid #e3faff8c;background:linear-gradient(135deg,#ffffff18,#ddf8ff08);color:#f8fdff;box-shadow:inset 0 1px 0 #ffffff38,0 6px 20px #00172233;backdrop-filter:blur(12px)}
.atelier .at-button{border-radius:30px}
.atelier .at-button.primary{background:linear-gradient(130deg,#fff,#ddf6ff)!important;border-color:#fff!important;color:#082a3c!important;box-shadow:0 0 24px #b5f3ff26,inset 0 1px 0 #fff}
.atelier .at-button.primary:hover{background:#fff!important;border-color:#fff!important;box-shadow:0 0 28px #b5f3ff40}
.atelier .at-button.quiet{border-color:#c5efff40;background:#d2f5ff09;color:#eefaff}
.atelier .path-links a{border-color:#cef2ff3b;background:linear-gradient(90deg,transparent,#d7f8ff06)}
.atelier :is(.atelier-menu,.atelier-dock,.reader-navigation,.reader-navigation nav){background:#062130df;border-color:#d2f5ff5c;box-shadow:inset 0 1px 0 #fff3,0 18px 65px #00101b66;backdrop-filter:blur(22px)}
.atelier .atelier-dock :is(a[aria-current],button.is-current,button[aria-expanded=true]){background:#b8efff25;color:#fff;box-shadow:inset 0 1px 0 #fff2}
.atelier .atelier-book .book-jacket,.atelier .atelier-book:nth-child(even) .book-jacket,.atelier .atelier-book .book-jacket.jacket-youtube{background:linear-gradient(140deg,#a4e9ff2b,#06233599);border-color:#daf7ff72;box-shadow:inset 0 1px 0 #fff8,inset 5px 0 0 #e9fcff12,0 15px 40px #00162355;color:#e6faff;backdrop-filter:blur(12px)}
.atelier .book-jacket .book-graphic{color:#e3faff!important;text-shadow:0 0 30px #bcfaff40}
.atelier .book-copy :is(h2,span){color:#f0fbff}.atelier .book-copy p{color:#c7e1ec}
.atelier .workspace-news,.atelier .atelier-metrics a,.atelier .team-collection{background:linear-gradient(135deg,#12384b99,#062031ba);border-color:#c9efff55;backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 #fff4,0 18px 50px #00121d44}
.atelier .atelier-book.lesson-expanded{background:#071e2ceb;border-color:#dcf8ff6b;box-shadow:inset 0 1px 0 #fff5,0 35px 100px #0009;backdrop-filter:blur(24px)}
.atelier .lesson-toolbar{background:#092839ed;border-color:#c1ecff30}.atelier .lesson-close{background:#e1f8ff12;border-color:#d9f5ff80;color:#fff}
.atelier .lesson-content .experience-panel{backdrop-filter:none;-webkit-backdrop-filter:none}.atelier .lesson-content .reader-cover p{color:#d0e9f4}
/* Dense working surfaces retain a calm, legible light frost. */
.atelier :is(.editor-panel,.workspace-form-panel,.pg-overview,.pg-next-step,.test-question-card){background:#eefafff2!important;border-color:#c2e6f1!important;box-shadow:inset 0 1px 0 #fff,0 16px 50px #00172230}
.atelier .reading-page{background:#effaffed!important;color:#183240!important}.atelier .reading-page .reading-copy{color:#183240!important}.atelier .reading-page .poster-top{color:#3a5f70}
.atelier .lesson-content .reading-page .reading-copy{color:#e1f3fb!important}
@keyframes ice-breathe{from{opacity:.65}to{opacity:1}}
@media(max-width:760px){
 .atelier .cold-panorama,.atelier .cold-foreground{background-position:65% 50%}
 .atelier.atelier-home .cold-panorama,.atelier.atelier-home .cold-foreground{background-position:72% 50%}
 
 body.portal-app.atelier.cold-enabled .experience-panel{background:linear-gradient(130deg,#0c30429c,#041b2ac9);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
 body.portal-app.atelier.cold-enabled .opening-panel{background:linear-gradient(100deg,#062031b3,#06203173);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
 .atelier .lesson-content .experience-panel{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){.atelier .cold-glow{animation:none}}
@media print{}


.atelier .experience-stage .experience-panel[aria-hidden="true"]{filter:blur(2px) brightness(.7)}
@media(max-width:760px){.atelier .cold-panorama,.atelier .cold-foreground{background-position:100% 50%}.atelier.atelier-home .cold-panorama,.atelier.atelier-home .cold-foreground{background-position:92% 50%}.atelier .collection-heading h1{font-size:clamp(32px,10.2vw,42px)}}

.atelier .site-edit-toolbar :is(button,summary){background:#eafaff!important;color:#123646!important;border-color:#eafaff!important}
/* A separate tunnel flight masks a single position change; no reverse scroll. */
.journey-speed{mask-image:none;z-index:56;background:radial-gradient(ellipse at center,#164559fa,#062032 65%,#02101d);transition:none}
.journey-speed b{position:absolute;left:50%;top:50%;width:50vw;height:65vh;border:2px solid #bceeff55;border-radius:50%;box-shadow:0 0 18px #9eeaff33,inset 0 0 28px #7acaff11;animation:tunnel-ring 1.15s cubic-bezier(.4,0,.65,1) infinite;animation-delay:calc(var(--i)*-127ms)}
@keyframes tunnel-ring{0%{transform:translate(-50%,-50%) scale(.08);opacity:0}25%{opacity:.7}100%{transform:translate(-50%,-50%) scale(3.6);opacity:0}}
.atelier .atelier-brand img{width:68px;height:68px;object-fit:contain;border-radius:12px;flex-shrink:0}.atelier .atelier-brand{gap:15px}
.logo-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;border:0;margin:18px 0;padding:0}.logo-options legend{margin-bottom:12px}
.logo-option{display:flex!important;flex-direction:column;align-items:center;gap:12px;padding:16px;border:1px solid #7994a066;border-radius:16px;min-width:0;background:#dff8ff0a;cursor:pointer}.logo-option:has(input:checked){border-color:#5bc1da;box-shadow:0 0 0 2px #5bc1da33}.logo-option input{width:18px!important;height:18px;min-height:0!important}.logo-option img{width:100%;height:80px;object-fit:contain}.logo-option span{font-size:12px;overflow-wrap:anywhere;max-width:100%;text-align:center}.logo-library form>label{display:block;margin-bottom:14px}.logo-library input[type=file]{width:100%;max-width:100%}
@media(max-width:760px){.atelier .atelier-brand img{width:52px;height:52px}.atelier .atelier-brand{gap:10px}.atelier .atelier-brand>span{font-size:12px}.atelier .atelier-brand small{font-size:5px}.logo-options{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-speed b{width:70vw;height:50vh}}
@media(prefers-reduced-motion:reduce){.journey-speed b{animation:none}}

/* Login cleanup / 1.32a */
:root{--ice-login-image:url('/static/atelier/cold/login-kant-134.webp')}
body.portal-app.atelier.login-body .cold-panorama,
body.portal-app.atelier.login-body .cold-foreground{background-image:var(--ice-login-image)!important;background-position:50% 50%!important;filter:brightness(.78) saturate(.92)}

@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/static/atelier/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/static/atelier/fonts/manrope-600.ttf') format('truetype')}
/* Orbit / 1.9: section carousel around a vertical axis. */
.orbit-hub{position:relative}.orbit-intro{margin:0 0 24px}.orbit-intro h1{font-size:38px;margin:12px 0;letter-spacing:-.055em!important;font-weight:600!important}.orbit-intro h1 span{color:#9ceedd}.orbit-news{position:relative;max-width:480px;margin:20px 0;border:1px solid #d4f6ff33;border-radius:14px;background:#082332b8}.orbit-news summary{padding:12px 18px;cursor:pointer;font-size:12px;list-style:none}.orbit-news summary span{float:right}.orbit-news>div{padding:4px 18px 20px}.orbit-news h2{font-size:22px!important}.orbit-news p{font-size:14px;white-space:pre-wrap;color:#cce6ed}.orbit-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.orbit-card{position:relative;display:flex;flex-direction:column;isolation:isolate;min-height:300px;overflow:hidden;border:1px solid #c9f6ff8a;border-radius:24px;background:#092a38;color:#f2fcff!important;box-shadow:inset 0 1px 0 #fff9,0 20px 70px #0006;text-decoration:none;transform-style:preserve-3d;backface-visibility:hidden;touch-action:none}
.orbit-card-art{position:absolute;z-index:-2;inset:0;background-image:var(--ice-inner-image);background-size:cover;background-position:center;filter:brightness(.72) saturate(.75);transform:scale(1.03);transition:filter .4s}.orbit-card-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05273630,#0418250a 30%,#041522c9),linear-gradient(90deg,#03213066,transparent 70%)}
.orbit-card.tone-mint .orbit-card-art{background-image:var(--ice-lake-image);background-position:80% 70%;filter:brightness(.68) hue-rotate(-17deg)}.orbit-card.tone-blue .orbit-card-art{background-position:20% 70%;filter:brightness(.7) saturate(1.1)}.orbit-card.tone-violet .orbit-card-art{background-image:var(--ice-lake-image);filter:brightness(.65) hue-rotate(25deg)}
.orbit-card-grain{position:absolute;inset:4px;border:1px solid #d8fcff1a;border-radius:20px;pointer-events:none}.orbit-card-top{display:flex;justify-content:space-between;padding:24px 28px;font:9px/1.4 'Manrope','Segoe UI',sans-serif;letter-spacing:.13em;color:#dcf6ffb3}.orbit-card-title{margin:auto 28px 22px;min-width:0}.orbit-card-title small{font:9px/1.7 'Manrope','Segoe UI',sans-serif;letter-spacing:.18em;color:#b5ebed}.orbit-card-title h2{font-family:'Manrope','Segoe UI',sans-serif!important;font-size:clamp(28px,3.5vw,54px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:500!important;margin:12px 0 0!important;overflow-wrap:normal!important;word-break:normal!important}.orbit-card-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d4f9ff3b;padding:18px 28px;font:11px/1.4 'Manrope','Segoe UI',sans-serif;color:#e1f6fb}.orbit-card-action b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #e3fcff99;border-radius:50%;font-size:18px;font-weight:400}
.orbit-core{display:none}.orbit-nitro-mark{position:absolute;inset:20% 5%;background:var(--nitro-logo-image) center/contain no-repeat;filter:drop-shadow(0 0 14px #9effcc70)}.orbit-core-facet{position:absolute;inset:0;background:linear-gradient(120deg,#b9f6ff33,transparent 35%,#a3f7ff18 60%,#d9ffff4d);border:1px solid #c9fbff66;clip-path:polygon(12% 3%,92% 0,100% 75%,83% 100%,0 90%,3% 20%);box-shadow:inset 0 0 38px #7adbe54d;backdrop-filter:blur(2px)}
.orbit-active .atelier-main{padding:0;margin:0}.orbit-active .orbit-tiles{display:none}.orbit-active .orbit-hub{position:static}.orbit-stage{position:fixed!important;inset:0;z-index:5;overflow:hidden;touch-action:none;pointer-events:none}.orbit-stage>div{pointer-events:none!important}.orbit-stage .orbit-card{min-height:0;pointer-events:auto;will-change:transform}.orbit-stage .orbit-core{display:block;width:260px;height:150px;pointer-events:none;backface-visibility:hidden}.orbit-canvas{position:fixed;inset:0;z-index:2;pointer-events:none}
.orbit-active .orbit-intro{position:fixed;left:260px;top:112px;z-index:20;margin:0;pointer-events:none}.orbit-active .orbit-intro h1{font-size:26px;margin:8px 0}.orbit-active .orbit-news{position:fixed;right:42px;top:118px;width:270px;z-index:28;margin:0;backdrop-filter:blur(18px)}.orbit-active .orbit-news[open]{max-height:60vh;overflow:auto}.orbit-ui{position:fixed;bottom:105px;left:calc(50% + 100px);transform:translateX(-50%);z-index:25;text-align:center;color:#dcf7ff}.orbit-caption{font:12px/1.5 'Manrope','Segoe UI',sans-serif;margin-bottom:12px}.orbit-buttons{display:flex;align-items:center;justify-content:center;gap:28px}.orbit-buttons button{width:44px;height:44px;border:1px solid #dbfaff66;border-radius:50%;background:#082839b3;color:#f2fcff;font-size:18px;cursor:pointer;backdrop-filter:blur(15px)}.orbit-buttons span{font:11px/1.4 'Manrope',sans-serif;letter-spacing:.12em}.orbit-ui p{font-size:10px;margin:14px 0 0;color:#b4d2df}.orbit-active .atmosphere{filter:brightness(.65)}
.orbit-flight-layer{position:fixed;inset:0;z-index:100;background:#04172655;overflow:hidden;pointer-events:none}.orbit-flight-layer:after{content:'';position:absolute;inset:0;background:#061d2d;opacity:0;animation:orbit-dive-veil 1.25s ease forwards}.orbit-diving .orbit-card :is(.orbit-card-title,.orbit-card-top,.orbit-card-action){animation:orbit-dive-type .7s ease forwards}
@keyframes orbit-dive-type{0%,20%{opacity:1;filter:blur(0)}100%{opacity:0;filter:blur(4px)}}@keyframes orbit-dive-veil{0%,70%{opacity:0}100%{opacity:1}}
html.orbit-arrival body{opacity:0}html.orbit-arrival-ready body{animation:orbit-arrive .9s cubic-bezier(.2,.7,.2,1) both}@keyframes orbit-arrive{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
@media(max-width:760px){.orbit-tiles{grid-template-columns:1fr}.orbit-intro h1{font-size:28px}.orbit-active .orbit-intro{top:94px;left:18px;right:18px}.orbit-active .orbit-intro h1{font-size:23px;margin:7px 0}.orbit-active .orbit-intro .overline{font-size:8px}.orbit-active .orbit-news{left:18px;right:18px;top:162px;width:auto;max-width:none}.orbit-news summary{padding:10px 14px;font-size:10px}.orbit-ui{left:50%;bottom:106px;width:calc(100% - 30px)}.orbit-ui p{font-size:8px;max-width:270px;margin:12px auto 0}.orbit-caption{font-size:11px;margin-bottom:9px}.orbit-buttons{gap:26px}.orbit-buttons button{width:38px;height:38px}.orbit-stage .orbit-card{border-radius:18px}.orbit-card-top{padding:18px 20px;font-size:7px}.orbit-card-title{margin:auto 20px 16px}.orbit-card-title small{font-size:7px;letter-spacing:.12em}.orbit-card-title h2{font-size:30px!important}.orbit-card-action{padding:12px 20px;font-size:9px}.orbit-card-action b{width:26px;height:26px;font-size:15px}.orbit-stage .orbit-core{width:190px;height:100px}}
@media(max-height:660px) and (max-width:760px){.orbit-active .orbit-news{top:145px}.orbit-active .orbit-intro{top:85px}.orbit-active .orbit-intro h1{font-size:20px}.orbit-ui{bottom:93px}.orbit-ui p{display:none}.orbit-card-top{padding:12px 18px}.orbit-card-title{margin:auto 18px 12px}.orbit-card-title h2{font-size:26px!important}.orbit-card-action{padding:8px 18px}.orbit-stage .orbit-core{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.orbit-card{touch-action:auto}html.orbit-arrival body{opacity:1}html.orbit-arrival-ready body{animation:none}.orbit-flight-layer{display:none}}
@media print{.orbit-ui,.orbit-core,.orbit-canvas{display:none!important}}

body.orbit-active{overflow:hidden!important;height:100dvh}.orbit-active .orbit-intro h1{font-family:Manrope,Segoe UI,sans-serif!important}
:root{--nitro-logo-image:url('/static/atelier/cold/nitro-logo.png')}
.orbit-nitro-mark{inset:26% 6%;background-size:100% auto;mix-blend-mode:screen}
.orbit-nitro-mark{clip-path:inset(0 6%)}
body[data-orbit-renderer=css3d] .orbit-stage:before{content:'';position:absolute;left:calc(50% + 90px);top:19%;bottom:17%;width:160px;transform:translateX(-50%) rotate(-7deg);background-image:radial-gradient(circle,#bcffff99 1px,transparent 2px),radial-gradient(circle,#99e3ff66 1px,transparent 2px);background-size:29px 37px,43px 31px;background-position:0 0,12px 17px;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent);animation:orbit-dust 14s linear infinite;pointer-events:none;opacity:.4}
@keyframes orbit-dust{to{background-position:29px -74px,-31px -45px}}
@media(max-width:760px){body[data-orbit-renderer=css3d] .orbit-stage:before{left:50%;width:100px}}
@media(prefers-reduced-motion:reduce){body[data-orbit-renderer=css3d] .orbit-stage:before{animation:none}}

body.orbit-active .orbit-caption{position:static;inset:auto;transform:none;margin:0 0 12px;width:auto;text-align:center;letter-spacing:.06em}body.orbit-active .orbit-ui{display:block}

.orbit-stage .orbit-card{user-select:none;-webkit-user-drag:none}
/* Completed crystal assembly and shared orbit scenes. */
.orbit-core{transform-style:preserve-3d}.orbit-core-facet{background:linear-gradient(132deg,#e3ffff6b,transparent 24%,#89d7eb27 45%,#ffffff66 47%,transparent 51%,#98e6f44a 84%);border-color:#dfffffc2;box-shadow:inset 0 0 24px #a7ecff66,0 0 40px #84e7f933}
.orbit-core-facet:after{content:'';position:absolute;inset:5px;clip-path:polygon(0 0,100% 12%,77% 100%,20% 85%);border:1px solid #e2ffff99;background:linear-gradient(22deg,transparent 25%,#e6ffff38 26%,transparent 27%,transparent 70%,#afffff2b 71%,transparent 73%)}
.orbit-crystal-side{position:absolute;inset:8% 10%;background:linear-gradient(145deg,#aef2ff2b,#bffaff08,#e0ffff42);border:1px solid #bdefff66;clip-path:polygon(12% 0,100% 17%,86% 100%,0 78%);transform:translateZ(calc(-12px - var(--facet)*8px)) rotateY(calc(var(--facet)*18deg - 28deg)) rotateZ(calc(var(--facet)*8deg - 12deg));pointer-events:none}
body.orbit-active .atelier-dock,body.experience-active .atelier-dock{display:none!important}
body.orbit-active .atelier-header .atelier-menu-trigger,body.experience-active .atelier-header .atelier-menu-trigger{display:flex}
body.orbit-active .atelier-menu .menu-primary-duplicate,body.experience-active .atelier-menu .menu-primary-duplicate{display:flex}
body.orbit-active .orbit-ui{bottom:36px}.panel-orbit-intro{pointer-events:auto!important}.panel-orbit-intro .overline{display:inline-block;min-height:28px}
body.panel-orbit-active .atelier-page-head{display:none}body.panel-orbit-active .reader-navigation{position:fixed;top:112px;right:42px;z-index:29;width:280px;background:#092533e8;border:1px solid #b8efff40;padding:10px 14px;border-radius:14px;font-size:11px}
body.panel-orbit-active .experience-document{display:block}body.panel-orbit-active .experience-mode{z-index:31}
body.panel-orbit-active .orbit-content-card{padding:0!important;min-height:0!important;background:#062335a8!important;overflow:hidden!important;border-radius:24px;font-family:Manrope,Segoe UI,sans-serif;backdrop-filter:none!important;box-shadow:inset 0 1px 0 #fff8,0 24px 70px #00111b66!important}
body.panel-orbit-active .orbit-content-card:before,body.panel-orbit-active .orbit-content-card:after{display:none}
.orbit-panel-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:30px 36px;scrollbar-width:thin;scrollbar-color:#bcefff55 transparent;user-select:text;position:relative}
body.panel-orbit-active .orbit-panel-scroll :is(h1,h2){font-family:Manrope,Segoe UI,sans-serif!important;font-size:clamp(30px,3.6vw,50px)!important;line-height:1.15!important;letter-spacing:-.045em!important;margin:22px 0!important;overflow-wrap:anywhere}
body.panel-orbit-active .orbit-panel-scroll :is(p,.company-copy,.reading-copy){font-family:Manrope,Segoe UI,sans-serif;font-size:17px!important;line-height:1.85!important;color:#e0f4fa!important;text-shadow:0 1px 5px #001522}
body.panel-orbit-active .orbit-panel-scroll .poster-top{font-size:9px;color:#b9e8f0}.orbit-panel-scroll .poster-actions{margin:22px 0 4px;gap:10px}.orbit-panel-scroll .editorial-word,.orbit-panel-scroll .finish-mark{display:none}.orbit-panel-scroll .poster-image img{max-height:240px}.orbit-panel-scroll .reading-page-footer{color:#d9edf5;border-color:#c1efff33}
body.panel-orbit-active .orbit-content-card[aria-current=false] .orbit-panel-scroll{pointer-events:none}.panel-orbit-active .scene-controls,.panel-orbit-active .scene-footnote{display:none!important}
@media(max-width:760px){body.orbit-active .orbit-ui{bottom:28px}body.orbit-active .atelier-menu-trigger{min-width:72px;font-size:9px;gap:8px;padding:8px 11px}body.orbit-active .atelier-brand>span{font-size:11px}body.orbit-active .atelier-brand small{font-size:5px;letter-spacing:.03em}body.panel-orbit-active .reader-navigation{top:148px;left:18px;right:18px;width:auto;padding:7px 12px;font-size:9px}body.panel-orbit-active .panel-orbit-intro h1{font-size:21px}body.panel-orbit-active .orbit-panel-scroll{padding:22px 20px}body.panel-orbit-active .orbit-panel-scroll :is(h1,h2){font-size:28px!important;line-height:1.18!important}body.panel-orbit-active .orbit-panel-scroll :is(p,.company-copy,.reading-copy){font-size:15px!important;line-height:1.85!important}body.panel-orbit-active .orbit-panel-scroll .poster-top{font-size:7px}.orbit-panel-scroll .poster-image img{max-height:180px}}

body.panel-orbit-active .orbit-panel-scroll em{font-family:inherit!important;font-style:normal;font-weight:500;letter-spacing:inherit}

body.spatial-navigation .atelier-dock{display:none!important}body.spatial-navigation .atelier-header .atelier-menu-trigger{display:flex}body.spatial-navigation .atelier-menu .menu-primary-duplicate{display:flex}
/* Uploaded pictures remain a restrained layer under the original glass surface. */
.orbit-card-art:before,.tile-sample-art:before,.atelier-book .book-jacket:before{content:'';position:absolute;inset:0;background-image:var(--tile-custom-image,none);background-size:cover;background-position:var(--tile-custom-position,50% 50%);opacity:var(--tile-custom-strength,.35);pointer-events:none}
.orbit-card-art:before{z-index:0}.orbit-card-art:after{z-index:1}
.orbit-stage .orbit-core{display:none!important}
.tile-background-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:20px 0}
.tile-background-sample{position:relative;isolation:isolate;overflow:hidden;min-height:190px;border:1px solid #c7f3ff70;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center;background:#08243288;color:#eafaff;box-shadow:inset 0 1px 0 #ffffff55,0 10px 35px #001b2d33;backdrop-filter:blur(14px)}
.tile-sample-art{position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,#21546b55,#071a2ccc),var(--ice-inner-image) center/cover}
.tile-sample-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#041522b3)}
.tile-background-sample h3{font:500 27px/1.15 Manrope,Segoe UI,sans-serif!important;letter-spacing:-.04em;color:#effcff!important;margin:0 0 20px!important;overflow-wrap:anywhere}.tile-background-sample span{font-size:12px}
.tile-background-edit{position:absolute;top:12px;right:12px;z-index:9;max-width:calc(100% - 24px);padding:9px 12px;border:1px solid #defaffaa;border-radius:20px;background:#071e30eb;color:white;font:600 11px/1.2 Manrope,sans-serif;cursor:pointer;box-shadow:0 4px 16px #00132155}
.role-admin .orbit-panel-scroll{padding-top:58px}.atelier-book{position:relative}.atelier-book .book-jacket{position:relative;isolation:isolate}.atelier-book .book-jacket:before{z-index:-1}
.tile-background-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid #a6d8e880;border-radius:24px;background:#0c2233;color:#eefaff;box-shadow:0 25px 100px #0008;font-family:Manrope,Segoe UI,sans-serif}
.tile-background-dialog::backdrop{background:#020d19b8;backdrop-filter:blur(12px)}.tile-background-dialog header{display:flex;justify-content:space-between;gap:12px;align-items:start}.tile-background-dialog h2{font-size:25px;margin:8px 0}.tile-background-dialog p,.tile-background-dialog small{font-size:13px;line-height:1.6}.tile-background-dialog label{display:block;font-size:13px;margin:18px 0 8px}.tile-background-dialog input{display:block;box-sizing:border-box;width:100%;margin-top:8px;color:#effaff}.tile-background-dialog input[type=range]{accent-color:#c2edff}.tile-background-dialog output{float:right;color:#b7e7fa}.tile-background-dialog footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}.tile-background-dialog button{cursor:pointer;padding:10px 13px;border:1px solid #c8ecff88;background:#193d52;border-radius:12px;color:white}.tile-background-dialog button[type=submit]{background:#effaff;color:#092135}.tile-background-dialog button:disabled{opacity:.5;cursor:wait}.tile-dialog-preview{min-height:160px;margin:18px 0}.tile-background-dialog [data-status]{color:#ffe1a5;min-height:21px}.tile-background-dialog:focus-visible,.tile-background-edit:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:760px){.tile-background-dialog{padding:18px}.tile-background-dialog footer button{flex:1 1 auto}.tile-background-edit{font-size:10px;padding:8px 10px}}

/* No detached model competes with the cards. */
body[data-orbit-renderer=css3d] .orbit-stage:before{display:none!important}
.atelier .tile-background-sample h3{color:#effcff!important}
.atelier .tile-background-dialog :is(p,small){color:#c9e2ef!important}
.atelier .tile-background-dialog h2{color:#effaff!important}
.atelier .tile-background-dialog input[type=file]{background:#18384b;color:#eefaff;border:1px solid #b9e8ff66;padding:10px;border-radius:12px}

body.portal-app.atelier :is(.orbit-buttons button,.orbit-card-action b,.at-button.primary,.atelier-menu-trigger,.experience-mode){border-color:#94ffb6!important;box-shadow:inset 0 0 10px #a0ffc52b,0 0 0 1px #87ffac33,0 0 16px #56ff9273,0 0 34px #35ed7933!important}
body.portal-app.atelier :is(.orbit-buttons button,.atelier-menu-trigger,.experience-mode){background:linear-gradient(145deg,#143d36e8,#092a2de8)!important;color:#f1fff6!important}
body.portal-app.atelier :is(.at-button.primary,.orbit-buttons button,.atelier-menu-trigger,.experience-mode):is(:hover,:focus-visible){box-shadow:inset 0 0 14px #b0ffcf55,0 0 0 2px #b3ffcf66,0 0 24px #58ff9ca8,0 0 48px #39ee8266!important;outline:2px solid #dcffe9;outline-offset:3px}
body.portal-app.atelier .orbit-card-action b{background:#0d3c32a8!important;color:#eaffef!important}


/* Leadership keeps its team summary inside the same spatial home. */
.orbit-team-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px;padding-top:13px;border-top:1px solid #c7f9e63d}
.orbit-team-summary span{display:flex;flex-direction:column;gap:5px;min-width:0;font:10px/1.35 Manrope,sans-serif;color:#d6f4ef;overflow-wrap:anywhere}
.orbit-team-summary b{font:500 26px/1 Manrope,sans-serif;color:#f3fff8}
@media(max-width:760px){.orbit-team-summary{gap:8px;margin-top:14px;padding-top:10px}.orbit-team-summary span{font-size:8px}.orbit-team-summary b{font-size:22px}}
@media(max-height:660px) and (max-width:760px){.orbit-team-summary{margin-top:8px;padding-top:8px}.orbit-team-summary b{font-size:18px}}
@media(max-height:660px) and (max-width:760px){.role-supervisor .orbit-card-top,.role-regional_manager .orbit-card-top{min-height:44px;padding:8px 18px}.role-supervisor .nitro-ice-emblem,.role-regional_manager .nitro-ice-emblem{width:62px;height:28px}.orbit-team-summary{margin-top:6px;padding-top:6px}.orbit-team-summary span{gap:2px;font-size:7px}.orbit-team-summary b{font-size:16px}}

/* 1.14: one desktop menu and quiet gesture cues. */
@media(min-width:761px){.atelier .atelier-main{margin-left:0;padding-left:42px}.atelier.orbit-active .atelier-main{margin:0;padding:0}.atelier .atelier-menu .menu-primary-duplicate{display:flex}.atelier.orbit-active .orbit-intro{left:42px}.atelier .orbit-ui{left:50%}}
body.orbit-active .orbit-ui{left:50%;bottom:25px;width:auto;opacity:0;pointer-events:none;transition:opacity .45s ease;transform:translateX(-50%)}
body.orbit-active .orbit-ui:is(.hint-visible,:focus-within){opacity:1;pointer-events:auto}
.orbit-ui .orbit-caption,.orbit-ui .orbit-buttons>span,.orbit-ui>p{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.portal-app.atelier .orbit-ui .orbit-buttons{gap:25px}
body.portal-app.atelier .orbit-ui .orbit-buttons button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:transparent!important;border:0!important;border-radius:10px;box-shadow:none!important;backdrop-filter:none;color:#baffd0!important;cursor:pointer}
body.portal-app.atelier .orbit-ui .orbit-buttons button:is(:hover,:focus-visible){background:#1f6e4d33!important;box-shadow:0 0 18px #6bffa53b!important}
.orbit-buttons button i{position:relative;display:block;width:20px;height:24px;filter:drop-shadow(0 0 6px #7bffb2);animation:none}
.orbit-buttons button i:before,.orbit-buttons button i:after{content:'';position:absolute;left:5px;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.orbit-buttons button i:before{top:0;opacity:.45}.orbit-buttons button i:after{top:8px}
.orbit-buttons [data-orbit-prev] i{transform:rotate(180deg)}
.orbit-ui.hint-visible [data-orbit-next] i{animation:orbit-cue-down 1.1s ease-in-out infinite}.orbit-ui.hint-visible [data-orbit-prev] i{animation:orbit-cue-up 1.1s ease-in-out infinite}
@keyframes orbit-cue-down{0%,100%{translate:0 -3px;opacity:.55}55%{translate:0 3px;opacity:1}}
@keyframes orbit-cue-up{0%,100%{translate:0 3px;opacity:.55}55%{translate:0 -3px;opacity:1}}
@media(prefers-reduced-motion:reduce){.orbit-buttons button i{animation:none!important}.orbit-ui{transition:none!important}}

/* A single faint product signature belongs to the environment, never the tiles. */
.atelier .cold-brand-watermark{position:absolute;z-index:3;right:5%;bottom:7%;width:clamp(250px,27vw,400px);height:150px;pointer-events:none;opacity:.2;background:var(--nitro-logo-image) center/100% auto no-repeat;mix-blend-mode:screen;clip-path:inset(0 8%);mask-image:radial-gradient(ellipse at center,#000 26%,#0009 54%,transparent 76%);filter:saturate(.65) drop-shadow(0 0 22px #83ff9a66);transform:rotate(-8deg)}
@media(max-width:760px){.atelier .cold-brand-watermark{width:220px;height:100px;right:-25px;bottom:11%;opacity:.17}}
/* 1.16: environments follow the page and product category. */
:root{--scene-home-image:url('/static/atelier/cold/scene-home-116.webp');--scene-home-mobile-image:url('/static/atelier/cold/scene-home-mobile-116.webp');--scene-learning-image:var(--ice-inner-image);--scene-beer-image:url('/static/atelier/cold/scene-beer-116.webp');--scene-plant-image:url('/static/atelier/cold/scene-plant-116.webp');--scene-energy-image:url('/static/atelier/cold/scene-energy-116.webp');--scene-fresh-image:url('/static/atelier/cold/scene-fresh-116.webp');--scene-cider-image:url('/static/atelier/cold/scene-cider-116.webp');--scene-focus-image:radial-gradient(ellipse at 85% 5%,#173b4f 0,transparent 48%),linear-gradient(145deg,#06131e,#0a202d 65%,#071721)}
.scene-managed .cold-panorama,.scene-managed .cold-foreground,.scene-managed .cold-glow{display:none!important}
.atelier .scene-blend-layer{position:absolute;inset:0;opacity:0;background-color:#04131e;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity 1.3s cubic-bezier(.25,.5,.2,1);transform:scale(var(--cold-far,1.02)) translate(var(--cold-x,0px),var(--cold-y,0px));will-change:opacity}
.atelier .scene-managed .cold-shade{z-index:2;background:linear-gradient(180deg,#03131f66,transparent 28%,#03131f33),linear-gradient(90deg,#03131f33,transparent 45%,#03131f22)}
body[data-scene-theme=focus] .scene-blend-layer{transform:none!important;will-change:auto}
body[data-scene-theme=focus] .atmosphere:after{opacity:.035}
body[data-scene-theme=focus] .cold-brand-watermark{display:none}
body[data-scene-theme=focus] .scene-managed .cold-shade{background:#04131e22}
@media(max-width:760px){.atelier .scene-blend-layer{background-position:90% center}.atelier .scene-blend-layer[data-scene=home]{background-size:100% auto;background-position:center 100px}.atelier .scene-managed .cold-shade{background:linear-gradient(#03131f77,transparent 35%,#03131f55)}}
@media(prefers-reduced-motion:reduce){.atelier .scene-blend-layer{transition:none!important;transform:none!important}}
/* 1.17: visible news and consistent actionable surfaces. */
.atelier .news-notice{padding:15px 18px;border:1px solid #c6deec4d;border-left:3px solid #b6e6ff;background:#0b2234ed;border-radius:16px;box-shadow:none;cursor:default;max-width:540px}
.atelier .news-notice-label{display:flex;align-items:center;gap:8px;font:600 9px/1.4 Manrope,sans-serif;letter-spacing:.12em;color:#bfdeed}
.news-notice-label i{width:6px;height:6px;flex:none;border-radius:50%;background:#b6e6ff}
.atelier .news-notice>div{padding:0;max-height:118px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.atelier .news-notice h2{font:600 16px/1.35 Manrope,sans-serif!important;margin:7px 0 4px!important;overflow-wrap:anywhere}
.atelier .news-notice p{font-size:13px;line-height:1.6;margin:0;color:#e1edf5;overflow-wrap:anywhere}
.atelier.orbit-active .news-notice{left:42px;right:auto;top:108px;width:min(420px,calc(100vw - 84px));max-height:175px;max-width:none}
body.portal-app.atelier a.orbit-card[href],body.portal-app.atelier .atelier-book:has(a[data-material-open]),body.portal-app.atelier a.official-product-card[href]{border-color:#9edacda8!important;box-shadow:inset 0 1px 0 #efffff80,0 0 14px #7dffd42e,0 18px 50px #0005!important;cursor:pointer;transition:box-shadow .18s,border-color .18s}
body.portal-app.atelier a.orbit-card[href]:is(:hover,:focus-visible),body.portal-app.atelier .atelier-book:has(a[data-material-open]):is(:hover,:focus-within),body.portal-app.atelier a.official-product-card[href]:is(:hover,:focus-visible){border-color:#c1ffe9!important;box-shadow:inset 0 1px 0 #fff9,0 0 23px #7dffd459,0 18px 50px #0005!important;outline:2px solid #bfffe7;outline-offset:3px}
body.portal-app.atelier .orbit-content-card,body.portal-app.atelier .news-notice{box-shadow:inset 0 1px 0 #ffffff26,0 18px 50px #00111b44!important;cursor:default}
body.portal-app.atelier .orbit-content-card .orbit-card-art{filter:brightness(.6) saturate(.65)}
@media(max-width:760px){.atelier.orbit-active .news-notice{left:18px;right:18px;top:94px;width:auto;padding:11px 13px;max-height:145px}.atelier .news-notice>div{max-height:96px}.atelier .news-notice h2{font-size:14px!important}.atelier .news-notice p{font-size:12px}.atelier .news-notice-label{font-size:8px}}
html.orbit-arrival body{opacity:1}html.orbit-arrival-ready body{animation:none}
body:is([data-scene-theme="tests"],[data-scene-theme="cases"]) .scene-blend-layer{transform:none!important}
body:is([data-scene-theme="tests"],[data-scene-theme="cases"]) .cold-grain{opacity:.025}
body:is([data-scene-theme="tests"],[data-scene-theme="cases"]) .cold-brand-watermark{display:none}

:root{--scene-learning-image:url("/static/atelier/cold/scene-learning-117.webp");--scene-sales-image:url("/static/atelier/cold/scene-sales-117.webp");--scene-tests-image:url("/static/atelier/cold/scene-tests-117.webp");--scene-cases-image:url("/static/atelier/cold/scene-cases-117.webp");}

:root{--scene-company-image:linear-gradient(90deg,#061625 10%,#061625e6 32%,#06162566 70%,#06162599),url("/static/atelier/cold/scene-company-117.webp")}
.scene-blend-layer[data-scene="company"]{background-size:cover,auto 100%;background-position:center,right center}
@media(max-width:760px){.scene-blend-layer[data-scene="company"]{background-size:cover,cover;background-position:center,55% center}}
/* 1.18: coherent light product sheet; category scenery remains behind it. */
body.portal-app.atelier.product-official-page .official-product-detail{background:#f3f5f7!important;color:#24374b!important}
body.portal-app.atelier.product-official-page .official-product-detail-copy :is(h1,h2,h3,p,li,strong,em,dt,dd),body.portal-app.atelier.product-official-page .official-product-detail-copy .official-product-description{color:#24374b!important;text-shadow:none!important}
body.portal-app.atelier.product-official-page .official-product-detail-copy .official-product-lead{color:#344f64!important}
body.portal-app.atelier.product-official-page .official-product-detail-copy .official-source-button,body.portal-app.atelier.product-official-page .official-product-detail-copy .official-source-button span{color:#fff!important;background:#294f7c!important;text-shadow:none!important}
:root{--scene-all-image:url('/static/atelier/cold/scene-all-118.webp')}
.scene-blend-layer[data-scene="all"]{background-position:center center}
@media(max-width:760px){.atelier .scene-blend-layer[data-scene="all"]{background-size:auto 100%;background-position:center top}}
/* 1.19: continuous camera flight; selected nodes never change parents. */
.orbit-navigation-veil{position:fixed;inset:0;z-index:100;background:#061d2d;opacity:0;pointer-events:auto;will-change:opacity}
.orbit-diving .orbit-card :is(.orbit-card-title,.orbit-card-top,.orbit-card-action){animation:none!important}

html.orbit-booting :is([data-experience],.orbit-tiles){visibility:hidden!important}
html:after{content:'';position:fixed;inset:0;z-index:200;background:#061d2d;opacity:0;pointer-events:none;transition:opacity .18s ease}
html.orbit-entering:after{opacity:1;transition:none;pointer-events:auto}
@media(prefers-reduced-motion:reduce){html:after{transition:none}}
/* Mobile history control stays separate from the scroll hints. */
.portal-mobile-back{display:none}
@media(max-width:760px){body.portal-app.atelier .portal-mobile-back{position:fixed;left:14px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:50;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;isolation:isolate;overflow:hidden;border:1px solid #e5faff70;border-radius:15px;background:linear-gradient(145deg,#e6fbff26,#0623335c 60%,#baffdf12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#effaff;box-shadow:inset 0 1px 0 #fff5,inset 0 -2px 5px #00182455,0 5px 14px #00121e38,0 0 15px #8affc32b;cursor:pointer;transition:background .16s,box-shadow .16s}body.portal-app.atelier .portal-mobile-back:before{content:"";position:absolute;inset:1px 2px 55%;border-radius:12px;background:linear-gradient(#ffffff1a,#fff0);pointer-events:none}body.portal-app.atelier .portal-mobile-back svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #001827) drop-shadow(0 0 4px #baffdf70)}body.portal-app.atelier .portal-mobile-back:active{background:#b2ffe52a;box-shadow:inset 0 1px 5px #00182455,0 0 20px #8affc342}body.portal-app.atelier:not(.spatial-navigation):has(.atelier-dock) .portal-mobile-back{bottom:calc(105px + env(safe-area-inset-bottom))}body.portal-app.atelier .portal-mobile-back:focus-visible{outline:2px solid #baffd0;outline-offset:4px}body:has(dialog[open]) .portal-mobile-back{visibility:hidden}}

/* 1.23: closed tiles select; expanded panels read as a regular document. */
body.panel-orbit-active .orbit-content-card>.orbit-panel-scroll{display:none!important}
.orbit-panel-summary{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;width:100%;height:100%;min-height:0;box-sizing:border-box;padding:clamp(22px,3vw,36px);overflow:hidden;pointer-events:none}
body.panel-orbit-active .orbit-panel-summary h2{margin:0!important;font:500 clamp(24px,3.2vw,40px)/1.14 Manrope,sans-serif!important;letter-spacing:-.04em!important;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0;color:#f1fcff!important}
body.panel-orbit-active .orbit-panel-summary p{margin:0!important;font:400 15px/1.55 Manrope,sans-serif!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#dceef4!important;min-height:0}
.orbit-panel-thumb{width:100%;height:110px;max-height:25%;object-fit:cover;border-radius:12px;flex-shrink:0}
.orbit-panel-summary .panel-read-button{margin-top:auto;align-self:flex-start;flex-shrink:0;min-height:44px;pointer-events:auto}
body.portal-app.atelier dialog.panel-reader{position:fixed;inset:0;width:min(920px,calc(100vw - 48px));height:calc(100dvh - 100px);max-width:none;max-height:none;padding:0;margin:auto;border:1px solid #c6f6ff70;border-radius:24px;background:linear-gradient(145deg,#0a2639f7,#061724fa);color:#effaff;box-shadow:0 30px 90px #0009;overflow:hidden}
.panel-reader::backdrop{background:#020e1b99;backdrop-filter:blur(8px)}
.panel-reader[open]{display:flex!important;flex-direction:column}
.panel-reader-toolbar{display:flex;align-items:center;gap:18px;flex-shrink:0;padding:14px 20px;border-bottom:1px solid #c6eaff26;background:#102c3b}
.panel-reader-toolbar>span{font:500 13px/1.4 Manrope,sans-serif;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.panel-reader-back{display:flex;align-items:center;gap:9px;flex-shrink:0;min-height:44px;padding:9px 14px;border:1px solid #e5faff70;border-radius:14px;background:linear-gradient(145deg,#e6fbff26,#0623335c);color:#effaff;font:500 13px/1 Manrope,sans-serif;box-shadow:inset 0 1px 0 #fff5,0 0 14px #8affc328;cursor:pointer}
.panel-reader-back span{font-size:25px;filter:drop-shadow(0 0 4px #baffdf70)}
.panel-reader-back:focus-visible{outline:2px solid #baffd0;outline-offset:3px}
.panel-reader-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#c6efff66 transparent;scroll-padding:20px}
body.panel-orbit-active .panel-reader-body>.orbit-panel-scroll{display:block!important;height:auto!important;min-height:0;overflow:visible!important;touch-action:auto;user-select:text;padding:24px 32px 48px}
.panel-reader-body :is(img,video,iframe){max-width:100%;height:auto}
@media(max-width:760px){
 .orbit-buttons [data-orbit-next] i{transform:rotate(-90deg)}.orbit-buttons [data-orbit-prev] i{transform:rotate(90deg)}
 .orbit-ui.hint-visible [data-orbit-next] i{animation:orbit-cue-right 1.1s ease-in-out infinite}.orbit-ui.hint-visible [data-orbit-prev] i{animation:orbit-cue-left 1.1s ease-in-out infinite}
 body.panel-orbit-active .orbit-panel-summary{padding:22px;gap:12px}
 body.panel-orbit-active .orbit-panel-summary h2{font-size:27px!important}
 body.panel-orbit-active .orbit-panel-summary p{font-size:14px!important}
 body.portal-app.atelier dialog.panel-reader{top:calc(82px + env(safe-area-inset-top));bottom:8px;left:8px;right:8px;width:auto;height:auto;margin:0;border-radius:20px;max-height:calc(100dvh - 90px - env(safe-area-inset-top))}
 .panel-reader-toolbar{padding:10px 12px;gap:12px}.panel-reader-toolbar>span{font-size:11px}
 body.panel-orbit-active .panel-reader-body>.orbit-panel-scroll{padding:16px 20px calc(32px + env(safe-area-inset-bottom))}
}
@media(max-height:720px){.orbit-panel-summary .orbit-panel-thumb{display:none}.orbit-panel-summary{gap:10px}body.panel-orbit-active .orbit-panel-summary h2{font-size:25px!important}body.panel-orbit-active .orbit-panel-summary p{-webkit-line-clamp:2}}
@keyframes orbit-cue-right{0%,100%{translate:-3px 0;opacity:.55}55%{translate:3px 0;opacity:1}}
@keyframes orbit-cue-left{0%,100%{translate:3px 0;opacity:.55}55%{translate:-3px 0;opacity:1}}

.orbit-stage,.orbit-stage .orbit-card{touch-action:pinch-zoom}
.panel-reader-body{touch-action:pan-y pinch-zoom}

@media(max-width:760px){body.panel-orbit-active:has(.reader-navigation) .panel-orbit-intro h1{display:none}}

/* 1.24: retain the document and background while changing screens. */
.atelier-main{view-transition-name:portal-content}
::view-transition-group(portal-content){animation:none}
::view-transition-old(portal-content){animation:portal-content-out 120ms ease-out both;mix-blend-mode:normal}
::view-transition-new(portal-content){animation:portal-content-in 160ms ease-out both;mix-blend-mode:normal}
@keyframes portal-content-out{to{opacity:0}}@keyframes portal-content-in{from{opacity:0}to{opacity:1}}
html.portal-loading:before{content:'';position:fixed;top:0;left:0;z-index:500;height:2px;width:38%;background:#baffda;box-shadow:0 0 12px #8affc7;animation:portal-loading 1s ease-in-out infinite}
@keyframes portal-loading{to{translate:165vw 0}}
.portal-navigation-status{position:fixed;bottom:18px;left:50%;translate:-50% 0;z-index:300;max-width:calc(100vw - 32px);padding:12px 18px;background:#102c3bf5;border:1px solid #bcefff66;border-radius:14px;color:#effaff;font:14px/1.5 Manrope,sans-serif}
.portal-navigation-status button{margin-left:8px;color:#effaff;background:#ffffff18;border:1px solid #dff8ff66;border-radius:8px;padding:8px;cursor:pointer}
.news-notice{touch-action:pan-y;position:relative;box-sizing:border-box}
.news-notice .news-notice-label{min-height:32px;padding-right:92px;display:flex;align-items:center}
body.portal-app.atelier .news-toggle{position:absolute;right:10px;top:7px;min-height:36px;padding:6px 10px;border:1px solid #d6f3ff55;border-radius:12px;background:#dff9ff0c;color:#e9fbff;font:500 11px/1.2 Manrope,sans-serif;cursor:pointer}
.news-notice.news-collapsed{height:48px!important;min-height:48px!important;max-height:48px!important;padding-top:6px!important;padding-bottom:6px!important;overflow:hidden}
.news-notice.news-collapsed .news-notice-label{margin:0!important}.news-notice [hidden]{display:none!important}
.news-arriving{animation:news-arriving .65s ease-out}
@keyframes news-arriving{from{box-shadow:0 0 28px #a7ffcf80}to{box-shadow:0 0 0 #a7ffcf00}}
.portal-live-news{position:fixed;top:calc(88px + env(safe-area-inset-top));right:18px;z-index:95;box-sizing:border-box;width:min(370px,calc(100vw - 36px));padding:20px 22px;border:1px solid #d1f8ff88;border-left:3px solid #baffda;border-radius:20px;background:#0c293bef;color:#effaff;box-shadow:0 12px 44px #0005,0 0 22px #8affc522;backdrop-filter:blur(18px)}
.portal-live-news h2{font:600 18px/1.35 Manrope,sans-serif!important;margin:0 30px 10px 0!important;color:#f0fbff!important;overflow-wrap:anywhere}
.portal-live-news p{font:14px/1.6 Manrope,sans-serif!important;color:#dceef4!important;margin:0!important;white-space:pre-wrap;overflow-wrap:anywhere;max-height:45dvh;overflow-y:auto}
.portal-live-news .news-close{position:absolute;right:8px;top:8px;width:40px;height:40px;border:0;border-radius:12px;background:#ffffff12;color:#effaff;font:24px/1 Arial;cursor:pointer}
@media(prefers-reduced-motion:reduce){::view-transition-old(portal-content),::view-transition-new(portal-content),html.portal-loading:before,.news-arriving{animation:none!important}}

.news-collapsed>[data-site-edit]{display:none!important}

.portal-live-news{touch-action:pan-y}

/* 1.25: one gesture surface, continuous lessons, readable company cards. */
body.orbit-active main{touch-action:pinch-zoom;min-height:100dvh}
body.orbit-active .orbit-stage{pointer-events:auto;touch-action:pinch-zoom}
body.orbit-active .news-notice{z-index:40;pointer-events:auto;touch-action:pan-y pinch-zoom}
body.portal-app.atelier .news-toggle{z-index:3;min-height:44px;min-width:72px;top:2px}
.news-notice>div{padding-right:10px}
body.panel-orbit-active .company-full-card>.orbit-panel-scroll{display:block!important;height:100%;overflow:hidden!important;touch-action:pinch-zoom;padding:24px}
body.panel-orbit-active .company-full-card>.orbit-panel-summary{display:none!important}
body.panel-orbit-active .company-full-card .orbit-panel-scroll :is(h1,h2){font-size:clamp(23px,3vw,36px)!important;line-height:1.15!important;margin:12px 0!important}
body.panel-orbit-active .company-full-card .orbit-panel-scroll :is(p,.company-copy){font-size:16px!important;line-height:1.65!important;white-space:pre-wrap;overflow-wrap:anywhere}
.company-full-card .poster-image{float:right;max-width:32%;margin:0 0 12px 18px}.company-full-card .poster-image img{max-height:120px;object-fit:contain}
body.atelier-reader .experience-panel{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:clamp(20px,4vw,48px);margin-bottom:16px}
body.atelier-reader .experience-document{max-width:900px;margin:auto}
body.atelier-reader .reading-copy{font:400 18px/1.8 Manrope,Segoe UI,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
body.atelier-reader .reading-page-footer,body.atelier-reader .reading-count,body.atelier-reader .editorial-word{display:none}
body.atelier-reader .reader-cover{padding-bottom:24px}.home-contacts{font:12px/1.6 Manrope,Segoe UI,sans-serif;color:#c5dce0;white-space:pre-wrap;max-width:850px;margin:24px auto;padding:8px 20px}.home-contacts p{margin:0}
body.orbit-active .home-contacts{position:fixed;bottom:6px;left:16px;right:16px;z-index:30;margin:0;padding:0;font-size:10px;max-height:54px;overflow-y:auto;touch-action:pan-y}
@media(max-width:760px){body.atelier-library .atelier-library-grid{display:flex;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;gap:16px;padding:10px 0 24px;touch-action:pan-x pan-y pinch-zoom}body.atelier-library .atelier-book{flex:0 0 calc(100% - 24px);scroll-snap-align:center;min-width:0}body.atelier-library .book-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}body.atelier-reader .reading-copy{font-size:17px;line-height:1.8}.atelier-reader .reader-navigation{position:static!important;margin:0 0 16px!important}}

body.panel-orbit-active .company-cover.company-full-card .orbit-panel-scroll h1{display:none}
/* 1.26: no repeated page fade, one menu, whole company blocks. */
body.portal-app.atelier{padding-bottom:0!important}
body.portal-app.atelier .atelier-menu .menu-primary-duplicate{display:flex!important}
body.portal-app.atelier .portal-mobile-back{bottom:calc(22px + env(safe-area-inset-bottom))!important}
::view-transition-old(portal-content){animation:none!important;opacity:1;mix-blend-mode:normal}
::view-transition-new(portal-content){animation:portal-content-in 140ms ease-out both;mix-blend-mode:normal}
.company-deck-active .atelier-main{max-width:none;padding:100px 0 82px!important;margin:0!important;width:100%}
.company-deck-active .atelier-document{max-width:none;padding:0!important}
.company-deck-active .experience-document{margin:0;max-width:none}
.company-deck{display:flex;align-items:flex-start;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;width:100%;scroll-padding:0}
.company-deck::-webkit-scrollbar{display:none}
.company-deck .company-screen-card{flex:0 0 calc(100% - 32px);width:calc(100% - 32px);margin:0 16px;min-height:calc(100svh - 182px);height:auto;max-height:none;scroll-snap-align:center;scroll-snap-stop:always;overflow:visible;box-sizing:border-box;padding:clamp(22px,4vw,54px);border:1px solid #d8f4ff70;border-radius:26px;background:linear-gradient(145deg,#244251c9,#071b2cce);box-shadow:inset 0 1px 0 #fff5,0 18px 50px #0003;backdrop-filter:blur(16px);transform:none!important;white-space:normal;position:relative;isolation:isolate}
.company-deck .company-screen-card :is(h1,h2){font:500 clamp(26px,3.4vw,48px)/1.15 Manrope,Segoe UI,sans-serif!important;margin:18px 0!important;overflow-wrap:anywhere}
.company-deck .company-screen-card :is(p,.company-copy){font:400 clamp(16px,1.6vw,19px)/1.7 Manrope,Segoe UI,sans-serif!important;white-space:pre-wrap;color:#e7f3fa!important;overflow-wrap:anywhere;max-width:1100px}
.company-deck .company-screen-card .poster-image{max-width:min(36%,420px);float:right;margin:0 0 18px 24px}
.company-deck .company-screen-card .poster-image img{max-height:34svh;object-fit:contain}
.company-deck .company-screen-card .finish-mark{display:none}
.company-deck-controls{display:flex;justify-content:center;align-items:center;gap:18px;padding:20px 0 0;color:#deeff5;font:12px Manrope,sans-serif}
.company-deck-controls button{width:44px;height:44px;border:1px solid #dcf8ff66;border-radius:14px;background:#e1f9ff0d;color:#effbff;font:28px/1 Arial;box-shadow:inset 0 1px 0 #fff3,0 0 12px #b9ffdd18;cursor:pointer}
.company-deck-controls button:disabled{opacity:.25;cursor:default}
@media(max-width:760px){.company-deck-active .atelier-main{padding-top:100px!important}.company-deck .company-screen-card{flex-basis:calc(100% - 24px);width:calc(100% - 24px);margin:0 12px;min-height:calc(100svh - 170px);padding:24px 22px;border-radius:22px}.company-deck .company-screen-card .poster-image{max-width:36%;margin:0 0 12px 14px}.company-deck .company-screen-card :is(h1,h2){font-size:27px!important}.company-deck .company-cover h1{display:none}}
@media(prefers-reduced-motion:reduce){.company-deck{scroll-behavior:auto}::view-transition-new(portal-content){animation:none!important}}
@view-transition{navigation:auto}
.company-screen-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:var(--tile-custom-image,none);background-size:cover;background-position:var(--tile-custom-position,50% 50%);opacity:var(--tile-custom-strength,.35);pointer-events:none}
body.atelier-about:not(.company-deck-active) .experience-panel{min-height:calc(100svh - 170px);height:auto;max-height:none;overflow:visible}
.company-deck-active .atelier-main{padding-bottom:16px!important}
.company-deck-controls{padding-top:12px}
body.portal-app.atelier .atelier-header .atelier-menu-trigger{display:flex!important}
/* 1.27: a topic opens as one reading document; no second carousel. */
.sales-reading-page .experience-document{max-width:1100px;margin:0 auto}
.sales-reading-page .experience-panel{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin-bottom:20px;padding:clamp(22px,4vw,46px)}
.sales-reading-page .company-copy{font:400 clamp(16px,1.6vw,19px)/1.8 Manrope,Segoe UI,sans-serif!important;white-space:pre-wrap;overflow-wrap:anywhere;color:#e5f2f9!important}
.sales-reading-page .reader-navigation{position:static!important;margin:0 auto 18px!important;width:auto!important;max-width:1100px}
.sales-reading-page .poster-image{max-width:min(100%,420px);margin:12px 0 20px}.sales-reading-page .poster-image img{max-height:44svh;object-fit:contain}
.sales-reading-page [data-tile-key]{position:relative;isolation:isolate}
.sales-reading-page [data-tile-key]:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--tile-custom-image,none) var(--tile-custom-position,50% 50%)/cover;opacity:var(--tile-custom-strength,.35);pointer-events:none}
/* The same single glass Back control is available on desktop and phone. */
body.portal-app.atelier .portal-mobile-back{position:fixed;left:14px;bottom:calc(22px + env(safe-area-inset-bottom))!important;z-index:50;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #e5faff70;border-radius:15px;background:linear-gradient(145deg,#e6fbff26,#0623335c 60%,#baffdf12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#effaff;box-shadow:inset 0 1px 0 #fff5,0 5px 14px #00121e38,0 0 15px #8affc32b;cursor:pointer}
body.portal-app.atelier .portal-mobile-back svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #baffdf70)}
body:has(dialog[open]) .portal-mobile-back{visibility:hidden}
html.orbit-entering:after{opacity:0;pointer-events:none}
.orbit-navigation-veil,.orbit-flight-layer{display:none!important}
@media(max-width:760px){.sales-reading-page .experience-panel{padding:22px 20px}.sales-reading-page .experience-panel :is(h1,h2){font-size:clamp(25px,7vw,34px)!important}.atelier-reader .reader-navigation:empty{display:none}}
.panel-orbit-active .sales-library-intro{display:none}
.sales-library-intro{margin:0 0 28px;max-width:900px}.sales-library-intro h1{font-size:clamp(34px,6vw,64px)}
/* A topic is one reading surface, rather than another stack of interactive tiles. */
.sales-reading-page .experience-document{display:block!important;padding:clamp(22px,4vw,42px);border:1px solid #d7f4ff60;border-radius:24px;background:linear-gradient(145deg,#153544e8,#091d2ce8);box-shadow:inset 0 1px 0 #ffffff30,0 20px 60px #0003;backdrop-filter:blur(16px)}
.sales-reading-page .experience-document>.experience-panel{padding:0 0 24px!important;margin:0 0 24px!important;background:transparent!important;box-shadow:none!important;border:0!important;border-bottom:1px solid #d7f4ff22!important;border-radius:0!important;backdrop-filter:none!important}
.sales-reading-page .experience-document>.experience-panel:last-child{margin-bottom:0!important;border-bottom:0!important;padding-bottom:0!important}
.sales-reading-page .poster-actions:empty{display:none}
/* 1.28: dive toward the selected tile. The old surface stays opaque until covered. */
html.portal-diving::view-transition-old(portal-content){animation:portal-tile-dive 340ms cubic-bezier(.22,.61,.36,1) both!important;transform-origin:var(--dive-originX,50%) var(--dive-originY,50%);opacity:1;will-change:transform}
html.portal-diving::view-transition-new(portal-content){animation:portal-dive-arrive 340ms cubic-bezier(.22,.61,.36,1) both!important;transform-origin:50% 35%;will-change:transform,opacity}
@keyframes portal-tile-dive{from{transform:translate(0,0) scale(1)}to{transform:translate(var(--dive-x,0px),var(--dive-y,0px)) scale(var(--dive-scale,1.4))}}
@keyframes portal-dive-arrive{0%{opacity:0;transform:scale(1.045)}18%{opacity:0}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){html.portal-diving::view-transition-old(portal-content),html.portal-diving::view-transition-new(portal-content){animation:none!important;transform:none!important}}
.panel-reader::backdrop{background:transparent;backdrop-filter:blur(2px)}
/* 1.29: spatial separation, stable news overlay and selected-card morph. */
.orbit-stage .orbit-card{border-radius:28px!important}
.orbit-stage .orbit-card :is(.orbit-card-title,.orbit-card-top,.orbit-card-action,.orbit-panel-summary){opacity:var(--orbit-copy-opacity,1)}
body.orbit-active .news-notice{position:fixed!important;top:100px!important;left:24px!important;right:auto!important;width:min(440px,calc(100vw - 48px))!important;max-width:none!important;max-height:calc(100dvh - 170px);overflow-y:auto;z-index:45!important;background:#0b293bed!important;backdrop-filter:blur(20px)}
body.orbit-active .news-notice.news-collapsed{overflow:hidden}
@media(max-width:760px){body.orbit-active .news-notice{top:94px!important;left:16px!important;width:calc(100vw - 32px)!important;max-height:calc(100dvh - 160px)}}
html.portal-card-morph::view-transition-group(portal-surface){animation-duration:420ms;animation-timing-function:cubic-bezier(.22,.61,.36,1);overflow:clip;border-radius:24px}
html.portal-card-morph::view-transition-old(portal-surface){animation:card-surface-out 420ms ease both;mix-blend-mode:normal}
html.portal-card-morph::view-transition-new(portal-surface){animation:card-surface-in 420ms ease both;mix-blend-mode:normal}
html.portal-card-morph::view-transition-old(portal-content){animation:card-neighbours-out 220ms ease both!important}
@keyframes card-surface-out{0%,30%{opacity:1}100%{opacity:0}}
@keyframes card-surface-in{0%,15%{opacity:0}85%,100%{opacity:1}}
@keyframes card-neighbours-out{to{opacity:0;transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){html.portal-card-morph::view-transition-group(portal-surface),html.portal-card-morph::view-transition-old(portal-surface),html.portal-card-morph::view-transition-new(portal-surface),html.portal-card-morph::view-transition-old(portal-content){animation:none!important}}
html.portal-native-arrival .atelier-main{view-transition-name:portal-surface}
html.portal-card-morph::view-transition-old(portal-surface){height:100%;object-fit:cover;object-position:50% 35%}

/* 1.31: return the open page to its actual tile, with the scene already positioned. */
html.portal-card-return::view-transition-group(portal-surface){animation-duration:340ms;animation-timing-function:cubic-bezier(.22,.61,.36,1);overflow:clip;border-radius:28px}
html.portal-card-return::view-transition-old(portal-surface){height:100%;object-fit:cover;object-position:50% 35%;animation:return-page-out 340ms ease both;mix-blend-mode:normal}
html.portal-card-return::view-transition-new(portal-surface){animation:return-tile-in 340ms ease both;mix-blend-mode:normal}
html.portal-card-return::view-transition-new(portal-content){animation:return-scene-in 340ms ease both!important}
@keyframes return-page-out{0%,20%{opacity:1}100%{opacity:0}}
@keyframes return-tile-in{0%,25%{opacity:0}85%,100%{opacity:1}}
@keyframes return-scene-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html.portal-card-return::view-transition-group(portal-surface),html.portal-card-return::view-transition-old(portal-surface),html.portal-card-return::view-transition-new(portal-surface),html.portal-card-return::view-transition-new(portal-content){animation:none!important}}
/* Login background refresh / 1.33 */
:root{--ice-login-image:url('/static/atelier/cold/login-kant-134.webp')}
body.portal-app.atelier.login-body .cold-panorama,
body.portal-app.atelier.login-body .cold-foreground{background-image:var(--ice-login-image)!important;background-position:50% 50%!important;filter:brightness(.74) saturate(.96)}

/* AA-Portal 1.34: dedicated Mini Game card in the home 3D carousel. */
body.portal-app.atelier .orbit-card.orbit-card-game{
  border:2px solid #aef5ff!important;
  background:radial-gradient(circle at 72% 28%,#3187d2 0%,transparent 45%),
             radial-gradient(circle at 18% 50%,#bb45d9aa 0%,transparent 48%),
             linear-gradient(140deg,#46166f 0%,#182b79 46%,#063f73 100%)!important;
  box-shadow:0 0 0 2px #a2faff20,0 0 36px #6de4ff65,0 26px 75px #0008,inset 0 1px 0 #fff7!important;
}
body.portal-app.atelier .orbit-card-game .orbit-card-art{
  background-image:radial-gradient(circle at 20% 25%,#a656eb88 0%,transparent 45%),
                   radial-gradient(circle at 78% 75%,#00c9ff88 0%,transparent 50%),
                   linear-gradient(145deg,#531ea8,#0d447f)!important;
  filter:none!important;
}
body.portal-app.atelier .orbit-card-game .orbit-card-art:after{
  background:linear-gradient(180deg,#06133812 0%,#09153d00 43%,#09134399 82%,#05092cbb 100%)!important;
}
.orbit-card-game .orbit-card-grain{border-color:#d6fdff5e;box-shadow:inset 0 0 26px #99eaff22}
.orbit-card-game .orbit-card-top,.orbit-card-game .orbit-card-title,.orbit-card-game .orbit-card-action{position:relative;z-index:2}
.orbit-card-game .orbit-card-top{color:#f5fcff;font-size:11px}
.orbit-card-game .orbit-game-badge{display:inline-flex;gap:5px;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid #bff9ff80;background:#dffaff2c;color:white;font-size:11px;letter-spacing:.12em;box-shadow:inset 0 1px 0 #fff5;backdrop-filter:blur(4px)}
.orbit-card-game .orbit-card-title h2{font-weight:800!important;color:#fff!important;text-shadow:0 3px 0 #31246999,0 8px 28px #030f3499;font-size:clamp(34px,4.5vw,62px)!important}
.orbit-card-game .orbit-card-action{border-top-color:#bafaff7a;color:white;font-size:15px;font-weight:800}
body.portal-app.atelier .orbit-card-game .orbit-card-action b{background:linear-gradient(135deg,#f3f7ff,#a7fbff)!important;color:#10255e!important;border-color:#e5ffff!important;box-shadow:0 0 17px #b1faff87!important}
.orbit-game-visual{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.orbit-game-halo{position:absolute;right:0;top:12%;width:66%;height:69%;border-radius:50%;background:radial-gradient(circle,#7edfff65 0%,#b25cff55 35%,transparent 70%);filter:blur(5px);animation:aaGameHalo 5s ease-in-out infinite alternate}
.orbit-game-can{position:absolute;top:13%;width:32%;height:55%;display:grid;place-items:center;filter:drop-shadow(0 8px 12px #0009);transform-origin:center 78%;animation:aaGameFloat 4s ease-in-out infinite}
.orbit-game-can img{width:100%;height:100%;object-fit:contain;transform:scale(1.18);}
.orbit-game-can.can-left{right:42%;transform:rotate(-15deg);animation-delay:-.6s}
.orbit-game-can.can-center{right:22%;top:10%;transform:rotate(1deg);animation-delay:-1.6s}
.orbit-game-can.can-right{right:3%;transform:rotate(16deg);animation-delay:-2.5s}
.orbit-game-spark{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 15px #80edff,0 0 24px #cb65fc;animation:aaGameTwinkle 2.7s ease-in-out infinite alternate}
.orbit-game-spark.spark-one{right:24%;top:17%}.orbit-game-spark.spark-two{right:9%;top:55%;animation-delay:-1s}.orbit-game-spark.spark-three{right:52%;top:63%;animation-delay:-1.8s}
@keyframes aaGameHalo{from{opacity:.58;transform:scale(.95)}to{opacity:.95;transform:scale(1.09)}}
@keyframes aaGameFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes aaGameTwinkle{from{opacity:.22;transform:scale(.55)}to{opacity:1;transform:scale(1.35)}}
/* Keep the admin's game link a special visible card, without changing other admin CTAs. */
body.portal-app.atelier .home-game-entry{display:inline-flex;align-items:center;gap:10px;min-height:64px;padding:16px 25px;margin:16px 0 20px;font-size:18px;font-weight:800;border:2px solid #a9faff!important;border-radius:18px;background:linear-gradient(115deg,#641faf,#214fc1 63%,#078db4)!important;color:#fff!important;box-shadow:0 0 25px #46d9ff56,inset 0 1px 0 #ffffff50!important}
.home-game-entry span{font-size:24px;color:#ffe37c}.home-game-entry b{margin-left:12px}
/* Controls: hidden must win over generic portal button display rules. */
.match-actions [hidden]{display:none!important}
/* Prevent particles and combo markers from intercepting touch moves. */
.match-burst i{position:absolute;left:50%;top:50%;width:6px;height:11px;border-radius:6px;background:linear-gradient(#fff,#8aeaff);box-shadow:0 0 9px #a6f7ff;transform:rotate(var(--angle));animation:aaSparkFly .55s ease-out both}
.match-burst b{position:relative;z-index:2;color:#124b7a;font-weight:900}
@keyframes aaSparkFly{from{opacity:1;transform:rotate(var(--angle)) translateY(-5px) scale(.8)}to{opacity:0;transform:rotate(var(--angle)) translateY(-38px) scale(.4)}}
@media(max-width:760px){
 .orbit-card-game .orbit-game-badge{font-size:10px;padding:6px 10px}
 .orbit-card-game .orbit-card-title h2{font-size:clamp(30px,8vw,44px)!important}
 .orbit-card-game .orbit-card-action{font-size:12px}
 .orbit-game-can{top:14%;width:36%;height:53%}.orbit-game-can.can-left{right:42%}.orbit-game-can.can-center{right:20%;top:11%}.orbit-game-can.can-right{right:0}
 .home-game-entry{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.orbit-game-halo,.orbit-game-can,.orbit-game-spark,.match-burst i{animation:none!important}}
