.sofl-finlexicon-filter {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #fffdf8;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
    padding: .85rem;
    margin-bottom: .75rem;
}

.sofl-student-term-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
}

.sofl-student-search-shell {
    min-width: 0;
}

.sofl-student-search-pill {
    /*  min-height: 60px;*/
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .42rem .48rem .42rem 1.1rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
}

    .sofl-student-search-pill > i {
        flex: 0 0 auto;
        color: #667085;
        font-size: 1rem;
    }

    .sofl-student-search-pill .form-control {
        min-width: 0;
        height: auto;
        flex: 1 1 auto;
        padding: 0;
        border: 0;
        background: transparent;
        color: #111827;
        font-weight: 700;
        box-shadow: none;
    }

        .sofl-student-search-pill .form-control::placeholder {
            color: #667085;
            font-weight: 600;
        }

        .sofl-student-search-pill .form-control:focus {
            border: 0;
            box-shadow: none;
        }

.sofl-student-search-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0 1.25rem;
    border: 1px solid #A67C2F;
    border-radius: 8px;
    background: #A67C2F;
    color: #ffffff;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .sofl-student-search-button:hover,
    .sofl-student-search-button:focus-visible {
        border-color: #9F6C27;
        background: #9F6C27;
        color: #0F172A;
        box-shadow: 0 8px 18px rgba(166, 124, 47, .22);
        transform: translateY(-1px);
    }

.sofl-student-term-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

    .sofl-student-term-search-actions .sofl-btn-gold,
    .sofl-student-term-search-actions .sofl-section-toggle {
        min-height: 40px;
    }

.sofl-result-count {
    color: #667085;
    font-size: 1rem;
    font-weight: 700;
    margin-top: .55rem;
}

    .sofl-result-count strong {
        color: #0f172a;
        font-weight: 700;
    }

.sofl-category-browse-header {
    align-items: flex-end;
}

.sofl-category-browse-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
}

.sofl-category-browse-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #9a5b13;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sofl-category-browse-search {
    display: flex;
    gap: .65rem;
    align-items: center;
    margin-bottom: 1.25rem;
}

.sofl-category-search-pill {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: .42rem .48rem .42rem 1.1rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
}

    .sofl-category-search-pill > i {
        flex: 0 0 auto;
        color: #667085;
        font-size: 1rem;
    }

    .sofl-category-search-pill .form-control {
        min-width: 0;
        height: auto;
        flex: 1 1 auto;
        padding: 0;
        border: 0;
        background: transparent;
        color: #111827;
        font-weight: 700;
        box-shadow: none;
    }

        .sofl-category-search-pill .form-control::placeholder {
            color: #667085;
            font-weight: 600;
        }

        .sofl-category-search-pill .form-control:focus {
            border: 0;
            box-shadow: none;
        }

.sofl-category-search-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0 1.1rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

    .sofl-category-search-button:hover,
    .sofl-category-search-button:focus-visible {
        border-color: #a67c2f;
        background: #fbf7ef;
        color: #9f6c27;
        transform: translateY(-1px);
    }

.sofl-category-browse-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.sofl-category-browse-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    color: inherit;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .07);
    text-decoration: none;
    transition: all .25s ease;
}

    .sofl-category-browse-card:hover {
        border-color: #e2e8f0;
        color: inherit;
        box-shadow: 0 12px 32px rgba(15, 23, 42, .10) !important;
        transform: translateY(-4px);
    }

    .sofl-category-browse-card:focus-visible {
        outline: 3px solid rgba(199, 149, 43, .35);
        outline-offset: 3px;
    }

.sofl-category-browse-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.25rem 0;
}

    .sofl-category-browse-heading h3 {
        margin: 0;
        color: #101828;
        font-size: 1.12rem;
        font-weight: 700;
        line-height: 1.28;
        letter-spacing: 0;
    }

.sofl-category-browse-icon,
.sofl-category-browse-placeholder {
    width: 68px;
    height: 68px;
    flex: 0 0 auto;
    border: 1px solid rgba(166, 124, 47, .18);
    border-radius: 50%;
    background: #fbf7ef;
}

.sofl-category-browse-icon {
    display: grid;
    place-items: center;
    padding: .7rem;
}

    .sofl-category-browse-icon img {
        width: 42px;
        height: 42px;
        object-fit: contain;
    }

.sofl-category-browse-placeholder {
    display: grid;
    place-items: center;
    color: #a67c2f;
    font-size: 1.4rem;
}

.sofl-category-browse-count {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
    text-transform: none;
}

    .sofl-category-browse-count i {
        color: #a67c2f;
        font-size: 1.25rem;
    }

.sofl-category-browse-body {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    padding: 1rem 1.25rem 1.25rem;
}

    .sofl-category-browse-body p {
        display: -webkit-box;
        min-height: calc(1.55em * 3);
        margin: 0 0 .85rem;
        overflow: hidden;
        color: #667085;
        font-size: .88rem;
        line-height: 1.55;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

.sofl-category-progress {
    display: grid;
    gap: .38rem;
    margin: 0 0 1rem;
}

.sofl-category-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 8px;
    background: #f1f5f9;
}

    .sofl-category-progress-track span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: #a67c2f;
    }

        .sofl-category-progress-track span[style*="100"] {
            background: #15803d;
        }

.sofl-category-progress small {
    color: #667085;
    font-size: .78rem;
    font-weight: 700;
}

.sofl-category-browse-tags {
    display: flex;
    min-height: 34px;
    flex-wrap: wrap;
    gap: .38rem;
}

    .sofl-category-browse-tags .sofl-badge {
        max-width: 120px;
        min-height: 30px;
        overflow: hidden;
        padding: 0 .65rem;
        border-radius: 6px;
        font-size: .73rem;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sofl-category-browse-tags .sofl-category-browse-more {
        border-color: rgba(166, 124, 47, .4);
        background: #fff;
        color: #a67c2f;
    }

.sofl-category-browse-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.sofl-category-browse-cta {
    min-height: 36px;
    padding: .36rem .62rem;
    border-color: #e2e8f0 !important;
    border-radius: 10px;
    color: #0f172a !important;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.sofl-category-browse-card:hover .sofl-category-browse-cta,
.sofl-category-browse-card:focus-visible .sofl-category-browse-cta {
    border-color: #a67c2f !important;
    background: #fbf7ef;
    color: #9f6c27 !important;
}

.sofl-category-browse-empty {
    min-height: 300px;
}

@media (max-width: 991.98px) {
    .sofl-category-browse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .sofl-category-browse-search {
        align-items: stretch;
        flex-direction: column;
    }

    .sofl-category-search-pill {
        min-height: 56px;
        gap: .55rem;
        padding: .36rem .4rem .36rem .9rem;
    }

    .sofl-category-search-button {
        min-height: 40px;
        padding: 0 .95rem;
    }

    .sofl-category-browse-search > .sofl-btn-outline {
        justify-content: center;
    }

    .sofl-category-browse-grid {
        grid-template-columns: 1fr;
    }

    .sofl-category-browse-card {
        min-height: 100%;
    }
}

.sofl-alpha-filter,
.sofl-category-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0 0 1rem;
}

    .sofl-alpha-filter a,
    .sofl-category-strip a {
        min-width: 32px;
        min-height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .25rem .55rem;
        border: 1px solid rgba(15, 23, 42, .1);
        border-radius: 8px;
        background: #fff;
        color: #344054;
        font-weight: 700;
        text-decoration: none;
    }

        .sofl-alpha-filter a.active,
        .sofl-alpha-filter a:hover,
        .sofl-category-strip a.active,
        .sofl-category-strip a:hover {
            background: #0f172a;
            border-color: #0f172a;
            color: #fff;
        }

    .sofl-category-strip a {
        min-width: 24px;
        min-height: 24px;
        border-radius: 10px;
    }

        .sofl-category-strip a.active,
        .sofl-category-strip a:hover {
            background: #101828;
            border-color: #101828;
            color: #fbbf24;
        }

.sofl-section-toggle-row {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 .8rem;
}

.sofl-section-toggle {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 42px;
    padding: .4rem .72rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

    .sofl-section-toggle:hover,
    .sofl-section-toggle:focus-visible {
        border-color: rgba(166, 124, 47, .42);
        background: #fbf7ef;
        color: #9f6c27;
    }

    .sofl-section-toggle .when-expanded {
        display: inline;
    }

    .sofl-section-toggle .when-collapsed,
    .sofl-section-toggle.collapsed .when-expanded {
        display: none;
    }

    .sofl-section-toggle.collapsed .when-collapsed {
        display: inline;
    }

.sofl-discovery-control-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: .45rem 0 .65rem;
}

.sofl-discovery-progress-slot {
    flex: 0 1 380px;
    min-width: 0;
    max-width: 380px;
}

    .sofl-discovery-progress-slot .sofl-learning-progress-widget {
        width: 100%;
        margin: 0;
    }

.sofl-discovery-toggle-row {
    gap: .55rem;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    max-width: 100%;
}

    .sofl-discovery-toggle-row .sofl-section-toggle {
        flex: 0 0 auto;
    }

.sofl-advanced-filter-panel {
    margin-top: .8rem;
    padding-top: .8rem;
    border-top: 1px solid #e2e8f0;
}

    .sofl-advanced-filter-panel .sofl-alpha-filter {
        gap: .35rem;
        margin: .9rem 0 0;
    }

.sofl-advanced-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .9rem;
    justify-content: end;
}

.sofl-advanced-filter-apply,
.sofl-advanced-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 38px;
    padding: .5rem .82rem;
}

.sofl-term-label-filter {
    position: relative;
}

.sofl-term-label-control {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    gap: .45rem;
    padding: .42rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    text-align: left;
}

.sofl-term-label-placeholder {
    color: #667085;
    font-size: .9rem;
}

.sofl-term-label-chip-list {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
    gap: .35rem;
}

.sofl-term-label-chip {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    padding: .22rem .48rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #0f172a;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.2;
}

.sofl-term-label-control > i {
    margin-left: auto;
    color: #667085;
    font-size: .78rem;
}

.sofl-term-label-panel {
    position: absolute;
    z-index: 1040;
    top: calc(100% + .35rem);
    left: 0;
    width: min(360px, calc(100vw - 2rem));
    max-height: 440px;
    overflow: auto;
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .12);
}

.sofl-term-label-search {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .65rem;
    padding: .45rem .6rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

    .sofl-term-label-search i {
        color: #98a2b3;
    }

    .sofl-term-label-search .form-control {
        min-height: 30px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        font-size: .88rem;
    }

.sofl-term-label-groups {
    display: grid;
    gap: .45rem;
}

.sofl-term-label-group {
    border: 1px solid #eef2f7;
    border-radius: 10px;
    background: #fff;
}

    .sofl-term-label-group summary {
        display: flex;
        cursor: pointer;
        list-style: none;
        align-items: center;
        gap: .42rem;
        padding: .55rem .65rem;
        color: #0f172a;
        font-size: .82rem;
        font-weight: 700;
    }

        .sofl-term-label-group summary::-webkit-details-marker {
            display: none;
        }

    .sofl-term-label-group .when-expanded {
        display: inline;
    }

    .sofl-term-label-group .when-collapsed,
    .sofl-term-label-group:not([open]) .when-expanded {
        display: none;
    }

    .sofl-term-label-group:not([open]) .when-collapsed {
        display: inline;
    }

.sofl-term-label-options {
    display: grid;
    gap: .15rem;
    padding: 0 .55rem .55rem;
}

.sofl-term-label-option {
    display: flex;
    min-height: 34px;
    cursor: pointer;
    align-items: center;
    gap: .5rem;
    padding: .35rem .45rem;
    border-radius: 8px;
    color: #344054;
    font-size: .84rem;
    font-weight: 700;
}

    .sofl-term-label-option:hover,
    .sofl-term-label-option:focus-within {
        background: #fbf7ef;
        color: #0f172a;
    }

    .sofl-term-label-option .form-check-input {
        margin: 0;
    }

.sofl-term-label-empty {
    padding: .7rem;
    color: #667085;
    font-size: .84rem;
    text-align: center;
}

.sofl-discovery-panel {
    margin: 0 0 .7rem;
}

.sofl-discovery-button-panel {
    margin: 0 0 .65rem;
}

    .sofl-discovery-button-panel .sofl-section-toggle-row {
        margin-bottom: 0;
    }

.sofl-continue-learning {
    max-width: 100%;
    margin: 0 0 .85rem;
    padding: .85rem;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
}

.sofl-continue-learning-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
}

.sofl-section-kicker {
    display: block;
    margin-bottom: .2rem;
    color: #9f6c27;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sofl-continue-learning h3 {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    font-weight: 700;
}

.sofl-continue-learning-header p {
    margin: .22rem 0 0;
    color: #667085;
    font-size: .84rem;
    font-weight: 700;
}

.sofl-continue-learning-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.sofl-continue-learning-item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 128px;
    flex-direction: column;
    justify-content: space-between;
    gap: .7rem;
    padding: .78rem 2.35rem .78rem .78rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
    cursor: pointer;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

    .sofl-continue-learning-item:hover {
        border-color: #A67C2F;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
        transform: translateY(-3px);
    }

.sofl-continue-learning-copy {
    min-width: 0;
}

    .sofl-continue-learning-copy h4 {
        display: -webkit-box;
        margin: 0 0 .3rem;
        overflow: hidden;
        color: #111827;
        font-size: .92rem;
        font-weight: 700;
        line-height: 1.25;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .sofl-continue-learning-copy span {
        display: block;
        overflow: hidden;
        color: #667085;
        font-size: .78rem;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.sofl-continue-learning-meta {
    display: block;
    margin-top: .2rem;
    overflow: hidden;
    color: #98a2b3;
    font-size: .72rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sofl-continue-learning-item .sofl-term-status-indicator {
    top: .78rem;
    right: .78rem;
}

.sofl-continue-learning-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .35rem;
    padding: .36rem .62rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.sofl-continue-learning-progress {
    height: 6px;
    overflow: hidden;
    border-radius: 8px;
    background: #f1f5f9;
}

    .sofl-continue-learning-progress span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: #a67c2f;
    }

    .sofl-continue-learning-progress.is-complete span {
        background: #15803d;
    }

.sofl-continue-learning-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

    .sofl-continue-learning-footer > span {
        color: #667085;
        font-size: .74rem;
        font-weight: 700;
        white-space: nowrap;
    }

.sofl-continue-learning-link:hover,
.sofl-continue-learning-link:focus-visible {
    border-color: #a67c2f;
    background: rgba(166, 124, 47, .1);
    color: #7a4f1b;
}

.sofl-learning-progress-widget {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    width: min(390px, 100%);
    margin: 0 0 .9rem;
    padding: .85rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
}

.sofl-learning-progress-copy h3 {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    font-weight: 700;
}

.sofl-learning-progress-copy p {
    margin: .25rem 0 0;
    color: #667085;
    font-size: .8rem;
    font-weight: 700;
}

.sofl-learning-progress-meter {
    min-width: 130px;
}

    .sofl-learning-progress-meter strong {
        display: block;
        margin-bottom: .3rem;
        color: #0f172a;
        font-size: 1.05rem;
        font-weight: 700;
        line-height: 1;
        text-align: right;
    }

.sofl-learning-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 8px;
    background: #f1f5f9;
}

    .sofl-learning-progress-track span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: #a67c2f;
    }

.sofl-term-discovery-section {
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .055);
}

html:has(#learning-start) {
    scroll-behavior: smooth;
}

#finlexiconTutorialModal .modal-content {
    border: 1px solid rgba(212, 168, 67, .3);
    border-radius: 16px;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .18);
}

#finlexiconTutorialModal .modal-header {
    border-bottom-color: rgba(212, 168, 67, .2);
}

#finlexiconTutorialModal iframe {
    border: 0;
    border-radius: 8px;
}

.finlexicon-result-status {
    min-height: 1.5em;
}

[data-finlexicon-results][aria-busy="true"] {
    opacity: .65;
}

@media (prefers-reduced-motion: reduce) {
    html:has(#learning-start) {
        scroll-behavior: auto;
    }
}

.finlexicon-guided-panel {
    margin-bottom: 24px;
    scroll-margin-top: 88px;
}

.finlexicon-start-here-card {
    padding: 22px 24px;
    border-color: rgba(212, 168, 67, .3);
    background: linear-gradient(135deg, #fff 0%, #fffaf0 100%);
}

    .finlexicon-start-here-card .student-section-header {
        align-items: center;
        margin: 6px 0 0;
    }

        .finlexicon-start-here-card .student-section-header h2 {
            color: var(--sofl-dark);
            font-size: 1.25rem;
        }

        .finlexicon-start-here-card .student-section-header p {
            max-width: 760px;
        }

.finlexicon-start-here-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
}

.finlexicon-guided-terms {
    margin-top: 20px;
}

@media (max-width: 767.98px) {
    .finlexicon-start-here-card .student-section-header {
        align-items: stretch;
    }

    .finlexicon-start-here-actions .sofl-btn-outline {
        flex: 1 1 auto;
    }
}

.sofl-term-discovery-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

    .sofl-term-discovery-header h3 {
        margin: 0;
        color: #111827;
        font-size: 1rem;
        font-weight: 700;
    }

    .sofl-term-discovery-header p {
        margin: .22rem 0 0;
        color: #667085;
        font-size: .84rem;
        font-weight: 700;
    }

.sofl-term-discovery-grid {
    display: grid;
    gap: .7rem;
}

    .sofl-term-discovery-grid.recent {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sofl-term-discovery-grid.popular {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

.sofl-term-discovery-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 112px;
    flex-direction: column;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 2.35rem .85rem .85rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
    cursor: pointer;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

    .sofl-term-discovery-card:hover {
        border-color: #A67C2F;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
        transform: translateY(-3px);
    }

    .sofl-term-discovery-card h4 {
        display: -webkit-box;
        margin: 0 0 .28rem;
        overflow: hidden;
        color: #111827;
        font-size: .9rem;
        font-weight: 700;
        line-height: 1.25;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .sofl-term-discovery-card span,
    .sofl-term-discovery-card small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sofl-term-discovery-card span {
        color: #667085;
        font-size: .78rem;
        font-weight: 700;
    }

    .sofl-term-discovery-card .sofl-term-status-indicator {
        display: inline-flex;
        overflow: visible;
        color: #A67C2F;
        font-size: .9rem;
        font-weight: 700;
        text-overflow: clip;
    }

        .sofl-term-discovery-card .sofl-term-status-indicator.is-quiz-complete {
            color: #15803d;
        }

    .sofl-term-discovery-card small {
        margin-top: .2rem;
        color: #98a2b3;
        font-size: .74rem;
        font-weight: 700;
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .sofl-term-discovery-card .sofl-term-discovery-reason {
        color: #98a2b3;
    }

    .sofl-term-discovery-card a {
        display: inline-flex;
        width: fit-content;
        align-items: center;
        gap: .35rem;
        padding: .34rem .58rem;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        background: #fff;
        color: #0f172a;
        font-size: .77rem;
        font-weight: 700;
        text-decoration: none;
        transition: background-color .18s ease, border-color .18s ease, color .18s ease;
    }

        .sofl-term-discovery-card a:hover,
        .sofl-term-discovery-card a:focus-visible {
            border-color: #a67c2f;
            background: rgba(166, 124, 47, .1);
            color: #7a4f1b;
        }

@media (max-width: 1199.98px) {
    .sofl-term-discovery-grid.recent,
    .sofl-term-discovery-grid.popular {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .sofl-continue-learning-grid,
    .sofl-term-discovery-grid.recent,
    .sofl-term-discovery-grid.popular {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .sofl-student-term-search {
        grid-template-columns: 1fr;
    }

    .sofl-student-search-pill {
        min-height: 56px;
        gap: .55rem;
        padding: .36rem .4rem .36rem .9rem;
    }

    .sofl-student-search-button {
        min-height: 40px;
        padding: 0 .95rem;
    }

    .sofl-student-term-search-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        .sofl-student-term-search-actions .sofl-btn-gold,
        .sofl-student-term-search-actions .sofl-section-toggle {
            width: 100%;
        }

    .sofl-continue-learning {
        padding: .85rem;
    }

    .sofl-term-discovery-section {
        padding: .85rem;
    }

    .sofl-discovery-control-row {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .sofl-discovery-progress-slot,
    .sofl-discovery-progress-slot .sofl-learning-progress-widget,
    .sofl-discovery-toggle-row,
    .sofl-discovery-toggle-row .sofl-section-toggle {
        width: 100%;
    }

    .sofl-discovery-toggle-row {
        justify-content: flex-start;
    }

    .sofl-learning-progress-widget {
        align-items: stretch;
        flex-direction: column;
        padding: .85rem;
    }

    .sofl-learning-progress-meter {
        min-width: 0;
    }

        .sofl-learning-progress-meter strong {
            text-align: left;
        }

    .sofl-term-label-panel {
        width: 100%;
    }

    .sofl-continue-learning {
        width: 100%;
    }

    .sofl-continue-learning-grid,
    .sofl-term-discovery-grid.recent,
    .sofl-term-discovery-grid.popular {
        grid-template-columns: 1fr;
    }
}

.sofl-category-hero {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(183, 121, 31, .22);
    background: linear-gradient(135deg, #fffdf8, #fff);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
    margin-bottom: 1rem;
}

    .sofl-category-hero img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        border-radius: 14px;
    }

    .sofl-category-hero span,
    .sofl-fin-card-category {
        color: var(--term-card-accent, #A67C2F);
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

.sofl-student-term-card .sofl-fin-card-category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 24px;
    /*padding: .18rem .5rem;
  border: 1px solid color-mix(in srgb, var(--term-card-accent) 36%, #ffffff);
  border-radius: 8px;
  background: var(--term-card-accent-soft, #fbf7ef);*/
    line-height: 1.1;
}

.sofl-fin-term-card {
    --term-card-accent: #A67C2F;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    min-height: 100%;
    padding: 1.05rem;
    border: 1px solid var(--sofl-border, rgba(15, 23, 42, .08));
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .07) !important;
    cursor: pointer;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

    .sofl-fin-term-card:hover {
        border-color: #A67C2F;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .10) !important;
        transform: translateY(-3px);
    }

.sofl-student-term-card {
    --term-card-accent-soft: #fbf7ef;
}

.sofl-fin-card-top {
    display: grid;
    gap: .3rem;
    padding-right: 1.75rem;
}

.sofl-fin-card-divider {
    width: 42px;
    height: 3px;
    border-radius: 8px;
    background: var(--term-card-accent, #A67C2F);
}

.sofl-student-term-card .sofl-fin-card-divider {
    width: 100%;
    /*box-shadow: 0 0 0 3px var(--term-card-accent-soft, #fbf7ef);*/
    height: 1px;
    opacity: 0.5;
}

.sofl-fin-card-body {
    display: flex;
    align-items: flex-start;
}

    .sofl-fin-card-body h3 {
        margin: 0;
        color: #101828;
        font-size: 1.12rem;
        line-height: 1.28;
        letter-spacing: 0;
        font-weight: 700;
    }

    .sofl-fin-card-body a {
        color: #101828;
        text-decoration: none;
    }

        .sofl-fin-card-body a:hover {
            color: var(--term-card-accent, #A67C2F);
        }

.sofl-student-term-card .sofl-fin-card-body a:hover {
    color: #0f172a;
}

.sofl-fin-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

.sofl-difficulty-strip {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .38rem .72rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 4px;
    background: #f8fafc;
}

.sofl-difficulty-label,
.sofl-difficulty-value {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-width: 0;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.2;
}

.sofl-difficulty-label {
    color: #667085;
}

.sofl-difficulty-value {
    color: #101828;
}

.sofl-difficulty-dots {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;
}

    .sofl-difficulty-dots i {
        display: none;
    }

    .sofl-difficulty-dots span {
        width: 6px;
        height: 6px;
        border-radius: 8px;
        background: #D6D6D6;
    }

        .sofl-difficulty-dots span.is-active {
            background: #A67C2F;
        }

/*.sofl-difficulty-strip.difficulty-beginner {
  background: #edf8f2;
  border-color: rgba(88, 184, 139, .26);
}

.sofl-difficulty-strip.difficulty-intermediate {
  background: #fff8e7;
  border-color: rgba(166, 124, 47, .26);
}

.sofl-difficulty-strip.difficulty-advanced {
  background: #eef7fc;
  border-color: rgba(55, 111, 141, .26);
}*/

.sofl-fin-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    /*min-height: 28px;*/
}

    .sofl-fin-tags span {
        border: 1px solid var(--sofl-border, #e5e7eb);
        padding: .28rem .58rem;
        background: #f8fafc;
        color: #344054;
        font-size: .76rem;
        font-weight: 700;
        /*line-height: 1;*/
    }

.sofl-fin-tag-pill {
    max-width: 128px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sofl-fin-tags .sofl-fin-more-tags {
    background: #fff;
    color: #667085;
}

.sofl-fin-card-actions,
.sofl-action-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.sofl-category-list-card .sofl-table th,
.sofl-category-list-card .sofl-table td {
    white-space: nowrap;
}

    .sofl-category-list-card .sofl-table td:first-child {
        min-width: 240px;
    }

.sofl-category-list-header {
    justify-content: flex-start;
}

    .sofl-category-list-header span {
        margin-top: 0;
    }

.sofl-category-filter-bar .sofl-search-field {
    flex: 1 1 320px;
}

.sofl-category-filter-bar .form-select {
    min-width: 132px;
}

.sofl-category-parent-name {
    display: inline-block;
    max-width: 150px;
    overflow: hidden;
    color: #475467;
    font-size: .82rem;
    font-weight: 700;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

.sofl-category-name-cell {
    display: grid;
    gap: 6px;
    max-width: 360px;
}

    .sofl-category-name-cell > strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.sofl-category-tag-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.sofl-category-tag-pill {
    display: inline-flex;
    align-items: center;
    max-width: 112px;
    min-height: 22px;
    overflow: hidden;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
    color: #253044;
    padding: 2px 7px;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sofl-category-tag-count {
    flex: 0 0 auto;
    color: #475467;
    font-weight: 700;
}

.sofl-category-home-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: .22rem .62rem;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

    .sofl-category-home-badge.is-visible {
        border-color: rgba(212, 168, 67, .38);
        background: #FFFBEB;
        color: #9A6A05;
    }

    .sofl-category-home-badge.is-muted {
        border-color: #E5E7EB;
        background: #F8FAFC;
        color: #667085;
    }

.sofl-fin-card-actions {
    justify-content: flex-start;
    margin-top: auto;
    padding-top: .9rem;
    border-top: 1px solid var(--sofl-border, rgba(15, 23, 42, .08));
}

    .sofl-fin-card-actions form {
        margin: 0;
    }

.sofl-card-action-btn,
.sofl-fin-view-link {
    min-height: 36px;
    border: 1px solid rgba(15, 23, 42, .1);
    background: #fff;
    color: #344054;
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .38rem .62rem;
    font-weight: 700;
    font-size: .78rem;
    text-decoration: none;
    line-height: normal;
}

.sofl-card-action-btn {
    width: 38px;
    border-radius: 8px;
    justify-content: center;
}

    .sofl-card-action-btn:hover,
    .sofl-card-action-btn:focus-visible {
        border-color: color-mix(in srgb, var(--term-card-accent) 56%, #ffffff);
        background: var(--sofl-gold-wash, #fff8e7);
        color: var(--term-card-accent, #9a5b13);
    }

    .sofl-card-action-btn.is-active {
        color: var(--term-card-accent, #9a5b13);
    }

.sofl-student-term-card .sofl-card-action-btn:hover,
.sofl-student-term-card .sofl-card-action-btn:focus-visible {
    border-color: rgba(166, 124, 47, .28);
    color: #9f6c27;
}

.sofl-fin-view-link {
    margin-left: auto;
    border-radius: 10px;
    /* border-color: var(--term-card-accent, #9a5b13);
  color: var(--term-card-accent, #9a5b13);*/
}

    .sofl-fin-view-link:hover,
    .sofl-fin-view-link:focus-visible {
        background: var(--term-card-accent, #9a5b13);
        border-color: var(--term-card-accent, #9a5b13);
        color: #fff;
    }

/* .sofl-student-term-card .sofl-fin-view-link {
 border-color: color-mix(in srgb, var(--term-card-accent) 42%, #ffffff);
  background: #fff;
}*/

.sofl-student-term-card .sofl-fin-view-link:hover,
.sofl-student-term-card .sofl-fin-view-link:focus-visible {
    background: var(--term-card-accent-soft, #fbf7ef);
    color: var(--term-card-accent, #9a5b13);
}

.sofl-fin-view-text {
    display: inline-flex;
}

@media (max-width: 380px) {
    .sofl-fin-view-text {
        display: none;
    }
}

.sofl-category-checklist {
    display: grid;
    gap: .45rem;
    max-height: 320px;
    overflow: auto;
}

.sofl-category-check {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    padding: .55rem .65rem .55rem 2.1rem;
    background: #fff;
}

.sofl-category-thumb,
.sofl-empty-thumb {
    width: 64px;
    height: 42px;
    border-radius: 10px;
}

.sofl-category-thumb {
    object-fit: cover;
}

.sofl-empty-thumb {
    display: inline-grid;
    place-items: center;
    background: #f8fafc;
    color: #98a2b3;
    border: 1px dashed #d0d5dd;
}

.sofl-term-edit-page {
    --term-edit-gold: #d4a843;
}

    .sofl-term-edit-page .sofl-form-main,
    .sofl-term-edit-page .sofl-form-sidebar {
        gap: 20px;
    }

    .sofl-term-edit-page .sofl-media-card .sofl-form-card-header {
        background: linear-gradient(135deg, #fffdf8 0%, #ffffff 60%, #f8fafc 100%);
    }

    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-field {
        grid-template-columns: minmax(260px, 1fr) minmax(280px, 1.05fr);
        align-items: start;
        gap: 16px;
    }

    .sofl-term-edit-page .sofl-media-card .sofl-form-label,
    .sofl-term-edit-page .sofl-media-card .sofl-help-text,
    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-status,
    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-advanced {
        grid-column: 1 / -1;
    }

    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-preview,
    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-box {
        min-height: 220px;
    }

    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-actions {
        grid-column: 1 / -1;
        gap: 10px;
    }

    .sofl-term-edit-page .sofl-category-tag-panel,
    .sofl-term-edit-page .sofl-form-section,
    .sofl-term-edit-page .sofl-publish-panel {
        box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
    }

    .sofl-term-edit-page .sofl-form-sidebar {
        position: sticky;
        top: 88px;
    }

    .sofl-term-edit-page .sofl-form-section form button,
    .sofl-term-edit-page .sofl-form-card form button {
        width: auto;
    }

    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-secondary,
    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-soft,
    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-danger-soft {
        min-height: 38px;
        padding: 0 11px;
        border-radius: 12px;
        font-size: .82rem;
        text-decoration: none;
    }

.sofl-tag-dot {
    width: .62rem;
    height: .62rem;
    border: 1px solid;
    border-radius: 8px;
}

.sofl-action-buttons form {
    margin: 0;
}

.sofl-term-editor-page {
    --term-editor-ink: #111827;
    --term-editor-muted: #667085;
    --term-editor-line: rgba(15, 23, 42, .095);
    --term-editor-soft-line: rgba(15, 23, 42, .065);
    --term-editor-gold: #d4a843;
    --term-editor-gold-deep: #9a5b13;
    --term-editor-surface: #ffffff;
    --term-editor-canvas: #f6f8fb;
    max-width: 1500px;
}

    .sofl-term-editor-page .sofl-form-page-header {
        align-items: center;
        margin-bottom: 18px;
        padding: 4px 0 8px;
    }

        .sofl-term-editor-page .sofl-form-page-header > div:first-child {
            flex: 1 1 0;
            min-width: 0;
        }

    .sofl-term-editor-page .sofl-breadcrumb .breadcrumb {
        gap: 6px;
    }

    .sofl-term-editor-page .sofl-breadcrumb a,
    .sofl-term-editor-page .sofl-breadcrumb .breadcrumb-item {
        color: #667085;
        font-size: .8rem;
        font-weight: 700;
    }

    .sofl-term-editor-page .sofl-form-page-header h1 {
        font-size: clamp(1.7rem, 2.4vw, 2rem);
        letter-spacing: 0;
    }

    .sofl-term-editor-page .sofl-form-page-header p {
        max-width: 720px;
        margin-top: 7px;
        color: #667085;
    }

    .sofl-term-editor-page .sofl-form-page-actions .sofl-btn-outline,
    .sofl-term-editor-page .sofl-form-page-actions .sofl-btn-gold {
        min-height: 40px;
        border-radius: 10px;
        font-size: .86rem;
    }

    .sofl-term-editor-page .sofl-form-page-actions {
        flex: 0 0 auto;
        flex-wrap: nowrap;
    }

    .sofl-term-editor-page .sofl-form-grid {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 32%);
        gap: 24px;
    }

.sofl-term-cms-shell {
    display: grid;
    gap: 18px;
}

.sofl-term-tab-scroll {
    position: sticky;
    top: 72px;
    z-index: 12;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: thin;
}

.sofl-term-tabs {
    margin-bottom: 2px;
}

.sofl-term-cms-tabs {
    width: max-content;
    min-width: 100%;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(15, 23, 42, .085);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
}

    .sofl-term-cms-tabs .nav-link {
        min-height: 42px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: .62rem .86rem;
        border: 1px solid transparent;
        border-radius: 11px;
        color: #475467;
        font-size: .85rem;
        font-weight: 700;
        white-space: nowrap;
    }

        .sofl-term-cms-tabs .nav-link i {
            color: #9a5b13;
            font-size: .92rem;
        }

        .sofl-term-cms-tabs .nav-link:hover {
            border-color: rgba(212, 168, 67, .24);
            background: linear-gradient(180deg, #fffdf8, #ffffff);
            color: #111827;
            box-shadow: inset 0 0 0 1px rgba(212, 168, 67, .08);
        }

        .sofl-term-cms-tabs .nav-link.active {
            border-color: rgba(212, 168, 67, .38);
            background: #111827;
            color: #ffffff;
            box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
        }

            .sofl-term-cms-tabs .nav-link.active i {
                color: #fbbf24;
            }

        .sofl-term-cms-tabs .nav-link.has-validation-errors {
            border-color: rgba(180, 35, 24, .28);
        }

.sofl-tab-error-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #b42318;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1;
}

.sofl-term-validation-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(180, 35, 24, .18);
    border-radius: 14px;
    background: #fff7f5;
    box-shadow: 0 14px 32px rgba(180, 35, 24, .07);
}

    .sofl-term-validation-summary.d-none {
        display: none !important;
    }

.sofl-term-validation-icon {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    color: #b42318;
    box-shadow: inset 0 0 0 1px rgba(180, 35, 24, .16);
}

.sofl-term-validation-title {
    color: #111827;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.25;
}

.sofl-term-validation-subtitle {
    margin-top: 2px;
    color: #667085;
    font-size: .82rem;
    font-weight: 700;
}

.sofl-term-validation-list {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

    .sofl-term-validation-list button {
        display: inline-flex;
        max-width: 100%;
        align-items: center;
        gap: 8px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #b42318;
        font: inherit;
        font-size: .85rem;
        font-weight: 700;
        text-align: left;
    }

        .sofl-term-validation-list button:hover,
        .sofl-term-validation-list button:focus-visible {
            color: #7a271a;
            text-decoration: underline;
        }

.sofl-term-validation-section {
    flex: 0 0 auto;
    color: #7a271a;
}

    .sofl-term-validation-section::after {
        content: "—";
        margin-left: 8px;
        color: #d92d20;
    }

.sofl-term-validation-message {
    min-width: 0;
}

.sofl-term-cms-content {
    min-width: 0;
}

    .sofl-term-cms-content > .tab-pane {
        min-width: 0;
    }

.sofl-term-tab-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.sofl-term-details-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .9fr);
    gap: 18px;
    align-items: start;
}

.sofl-term-details-main,
.sofl-term-details-sidebar {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.sofl-term-details-sidebar {
    position: sticky;
    top: 154px;
}

.sofl-term-metadata-card,
.sofl-term-publishing-card,
.sofl-term-classification-card {
    min-width: 0;
}

.sofl-term-tab-grid > .sofl-form-card:first-child,
.sofl-term-tab-grid > .sofl-media-card {
    grid-column: 1 / -1;
}

.sofl-term-editor-page .sofl-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sofl-empty-tab-note {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 28px;
    border: 1px dashed rgba(148, 163, 184, .65);
    border-radius: 16px;
    background: #fbfcff;
    color: #667085;
    font-weight: 700;
    text-align: center;
}

    .sofl-empty-tab-note i {
        width: 38px;
        height: 38px;
        display: inline-grid;
        place-items: center;
        flex: 0 0 auto;
        border-radius: 10px;
        background: rgba(212, 168, 67, .14);
        color: #9a5b13;
    }

.sofl-related-manager {
    --related-gold: #d4a843;
    --related-gold-deep: #9a5b13;
    --related-ink: #111827;
    --related-muted: #667085;
    --related-line: rgba(15, 23, 42, .085);
    min-width: 0;
}

    .sofl-related-manager .sofl-form-card {
        overflow: visible;
    }

.sofl-related-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--related-line);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #fbfcff);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
    scrollbar-width: thin;
}

    .sofl-related-tabs .sofl-content-tab {
        flex: 0 0 auto;
    }

        .sofl-related-tabs .sofl-content-tab-active,
        .sofl-related-tabs .sofl-content-tab.active {
            border-color: rgba(212, 168, 67, .46);
            background: #111827;
            color: #ffffff;
            box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
        }

            .sofl-related-tabs .sofl-content-tab-active i,
            .sofl-related-tabs .sofl-content-tab.active i {
                color: #fbbf24;
            }

            .sofl-related-tabs .sofl-content-tab-active .sofl-related-count-badge,
            .sofl-related-tabs .sofl-content-tab.active .sofl-related-count-badge {
                background: #fbbf24;
                color: #111827;
            }

.sofl-related-pane {
    min-width: 0;
}

.sofl-related-layout {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr);
    gap: 18px;
    align-items: start;
}

.sofl-linked-content-panel,
.sofl-add-content-panel {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--related-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}

.sofl-linked-content-panel {
    background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);
}

.sofl-related-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

    .sofl-related-panel-head h3 {
        margin: 0;
        color: var(--related-ink);
        font-size: .98rem;
        font-weight: 700;
        letter-spacing: 0;
    }

    .sofl-related-panel-head p {
        margin: 4px 0 0;
        color: var(--related-muted);
        font-size: .82rem;
        font-weight: 600;
    }

.sofl-related-count-badge {
    min-width: 28px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 8px;
    background: rgba(212, 168, 67, .13);
    color: var(--related-gold-deep);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1;
}

.sofl-related-result-count {
    color: var(--related-muted);
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.sofl-related-linked-list,
.sofl-related-result-list {
    display: grid;
    gap: 10px;
    min-height: 120px;
}

.sofl-related-result-list {
    max-height: 560px;
    overflow-y: auto;
    padding-right: 3px;
}

.sofl-related-linked-card,
.sofl-related-result-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: #ffffff;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.sofl-related-linked-card {
    border-left: 4px solid var(--related-gold);
}

    .sofl-related-linked-card:hover,
    .sofl-related-result-card:hover {
        border-color: rgba(212, 168, 67, .38);
        background: #fffdf8;
        box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
    }

.sofl-related-card-main {
    min-width: 0;
}

.sofl-related-card-title {
    display: block;
    margin-bottom: 2px;
    color: var(--related-ink);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
    white-space: nowrap;
}

a.sofl-related-card-title:hover {
    color: var(--related-gold-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.sofl-related-card-meta {
    display: block;
    color: var(--related-muted);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sofl-related-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.sofl-related-action {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 9px;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 8px;
    background: #ffffff;
    color: #344054;
    font-size: .78rem;
    font-weight: 700;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

    .sofl-related-action:hover {
        border-color: rgba(212, 168, 67, .36);
        background: #fffdf8;
        color: var(--related-ink);
    }

.sofl-related-action-primary {
    border-color: #111827;
    background: #111827;
    color: #ffffff;
}

    .sofl-related-action-primary:hover {
        background: #1f2937;
        color: #fbbf24;
    }

.sofl-related-action-danger {
    color: #b42318;
}

    .sofl-related-action-danger:hover {
        border-color: rgba(180, 35, 24, .22);
        background: #fff5f4;
        color: #912018;
    }

.sofl-related-action[disabled] {
    cursor: not-allowed;
    opacity: .65;
}

.sofl-related-searchbar {
    position: relative;
    margin-bottom: 10px;
}

    .sofl-related-searchbar i {
        position: absolute;
        left: 13px;
        top: 50%;
        color: #98a2b3;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .sofl-related-searchbar .form-control {
        padding-left: 38px;
    }

.sofl-related-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}

    .sofl-related-filter-grid .form-select {
        min-height: 38px;
        font-size: .82rem;
    }

.sofl-related-loading,
.sofl-related-empty {
    min-height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px;
    border: 1px dashed rgba(148, 163, 184, .6);
    border-radius: 14px;
    background: #fbfcff;
    color: var(--related-muted);
    font-size: .84rem;
    font-weight: 700;
    text-align: center;
}

    .sofl-related-empty i {
        color: var(--related-gold-deep);
    }

.sofl-term-editor-page .sofl-form-main,
.sofl-term-editor-page .sofl-form-sidebar {
    gap: 14px;
}

.sofl-term-editor-page .sofl-form-sidebar {
    position: sticky;
    top: 88px;
    max-height: none;
    overflow: visible;
    padding-bottom: 4px;
}

.sofl-term-editor-page .sofl-form-card,
.sofl-term-editor-page .sofl-publish-panel,
.sofl-term-editor-page .sofl-category-tag-panel,
.sofl-term-editor-page .sofl-form-section {
    border-color: var(--term-editor-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.sofl-term-editor-page .sofl-form-card {
    overflow: hidden;
}

.sofl-term-editor-page .sofl-form-card-header {
    min-height: 52px;
    padding: 14px 18px;
    border-bottom-color: var(--term-editor-soft-line);
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

    .sofl-term-editor-page .sofl-form-card-header h2,
    .sofl-term-editor-page .sofl-form-section-title {
        color: var(--term-editor-ink);
        font-size: .98rem;
        font-weight: 700;
        letter-spacing: 0;
    }

    .sofl-term-editor-page .sofl-form-card-header p {
        max-width: 760px;
        margin-top: 4px;
        color: var(--term-editor-muted);
        font-size: .84rem;
    }

.sofl-term-editor-page .sofl-form-card-icon {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 8px;
    background: rgba(212, 168, 67, .13);
    color: var(--term-editor-gold-deep);
    font-size: .9rem;
}

.sofl-term-editor-page .sofl-form-card-body {
    padding: 18px;
}

.sofl-term-editor-page .row.g-3 {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.sofl-term-editor-page .sofl-term-compact-form {
    --bs-gutter-x: .9rem;
    --bs-gutter-y: .85rem;
}

.sofl-term-editor-page .sofl-form-label,
.sofl-term-editor-page .form-label {
    margin-bottom: 6px;
    color: #253044;
    font-size: .82rem;
    font-weight: 700;
}

.sofl-term-editor-page .form-control,
.sofl-term-editor-page .form-select {
    min-height: 42px;
    border-color: #d9dee8;
    border-radius: 11px;
    background-color: #fff;
    color: #172033;
    font-size: .92rem;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
}

    .sofl-term-editor-page .form-control:hover,
    .sofl-term-editor-page .form-select:hover {
        border-color: rgba(154, 91, 19, .38);
    }

    .sofl-term-editor-page .form-control:focus,
    .sofl-term-editor-page .form-select:focus {
        border-color: rgba(212, 168, 67, .82);
        box-shadow: 0 0 0 4px rgba(212, 168, 67, .14);
    }

.sofl-term-editor-page textarea.form-control {
    line-height: 1.58;
}

.sofl-term-editor-page .dropdown-menu {
    border-color: rgba(15, 23, 42, .1);
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
}

.sofl-term-editor-page .sofl-slug-group {
    gap: 10px;
}

.sofl-term-editor-page .sofl-icon-button {
    width: 42px;
    min-width: 42px;
    min-height: 42px;
    border-radius: 11px;
}

.sofl-term-editor-page .field-validation-error,
.sofl-term-editor-page .validation-summary-errors {
    display: block;
    margin-top: 6px;
}

.sofl-term-editor-page .sofl-editor-wrapper {
    border-color: #d9dee8;
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, .025);
    transition: border-color .16s ease, box-shadow .16s ease;
}

    .sofl-term-editor-page .sofl-editor-wrapper:focus-within {
        border-color: rgba(212, 168, 67, .82);
        box-shadow: 0 0 0 4px rgba(212, 168, 67, .12);
    }

    .sofl-term-editor-page .sofl-editor-wrapper .tox.tox-tinymce {
        min-height: 430px;
    }

.sofl-term-editor-page .tab-pane:not(:first-child) .sofl-editor-wrapper .tox.tox-tinymce,
.sofl-term-editor-page .col-md-6 .sofl-editor-wrapper .tox.tox-tinymce {
    min-height: 280px;
}

.sofl-term-editor-page .sofl-editor-tabs {
    gap: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
}

    .sofl-term-editor-page .sofl-editor-tabs .nav-link {
        border-radius: 10px 10px 0 0;
        color: #667085;
        font-size: .86rem;
        font-weight: 700;
        white-space: nowrap;
    }

        .sofl-term-editor-page .sofl-editor-tabs .nav-link.active {
            color: #111827;
        }

.sofl-term-editor-page .tox .tox-toolbar,
.sofl-term-editor-page .tox .tox-toolbar__primary,
.sofl-term-editor-page .tox .tox-toolbar__overflow {
    background: #fbfcff !important;
}

.sofl-term-editor-page .tox .tox-tbtn {
    border-radius: 8px;
}

.sofl-term-editor-page .sofl-media-card .sofl-image-upload-field {
    grid-template-columns: minmax(260px, .95fr) minmax(320px, 1.2fr);
    align-items: start;
    gap: 16px;
}

.sofl-term-editor-page .sofl-media-card .sofl-form-label,
.sofl-term-editor-page .sofl-media-card .sofl-image-upload-status {
    grid-column: 1 / -1;
}

.sofl-term-editor-page .sofl-media-card .sofl-image-upload-advanced,
.sofl-term-editor-page .sofl-media-card .sofl-image-upload-field > .sofl-help-text {
    grid-column: 2;
}

.sofl-term-editor-page .sofl-image-upload-preview,
.sofl-term-editor-page .sofl-image-upload-box {
    min-height: 212px;
    border-radius: 14px;
}

.sofl-term-editor-page .sofl-image-upload-preview {
    background: linear-gradient(180deg, #f8fafc, #ffffff);
}

    .sofl-term-editor-page .sofl-image-upload-preview img {
        height: 240px;
    }

.sofl-term-editor-page .sofl-image-upload-box {
    border-color: rgba(148, 163, 184, .48);
    background: linear-gradient(180deg, #fbfcff, #fff);
    cursor: pointer;
}

.sofl-term-editor-page .sofl-image-upload-actions {
    grid-column: 2;
    gap: 10px;
}

.sofl-term-editor-page .sofl-media-card .sofl-help-text {
    color: #667085;
    font-size: .8rem;
}

.sofl-term-editor-page .sofl-image-upload-actions .sofl-btn-secondary,
.sofl-term-editor-page .sofl-image-upload-actions .sofl-btn-soft,
.sofl-term-editor-page .sofl-image-upload-actions .sofl-btn-danger-soft {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: .82rem;
    text-decoration: none;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-form-card-body {
    padding: 16px;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sofl-category-editor-page .sofl-category-icon-upload .sofl-category-icon-preview-wrap {
    order: 1;
}

.sofl-category-editor-page .sofl-category-icon-upload .sofl-image-upload-box {
    order: 2;
}

.sofl-category-editor-page .sofl-category-icon-upload .sofl-category-icon-meta {
    order: 3;
}

.sofl-category-editor-page .sofl-category-icon-upload .sofl-image-upload-status {
    order: 4;
}

.sofl-category-editor-page .sofl-category-icon-upload .sofl-image-upload-actions {
    order: 5;
}

.sofl-category-editor-page .sofl-category-icon-preview-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-preview {
    width: 160px;
    height: 160px;
    min-height: 160px;
    max-width: 100%;
    margin-inline: auto;
    border: 1px dashed rgba(107, 114, 128, .44);
    border-radius: 12px;
    background: #F8FAFC;
}

    .sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-preview.has-image {
        border-style: dashed;
        background: #fff;
    }

    .sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-preview img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 10px;
    }

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-empty i {
    color: #A67C2F;
    font-size: 2rem;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-box {
    width: 100%;
    min-height: 74px;
    padding: 12px;
    border-radius: 12px;
    text-align: center;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-file-upload-icon {
    width: 34px;
    height: 34px;
    font-size: .95rem;
}

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-actions {
    justify-content: center;
    width: 100%;
}

    .sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-actions .sofl-btn-danger-soft {
        min-height: 34px;
        padding: 0 12px;
        border-radius: 10px;
        font-size: .82rem;
    }

.sofl-category-editor-page .sofl-category-icon-meta {
    display: grid;
    gap: 4px;
    width: 100%;
    color: #667085;
    font-size: .8rem;
    line-height: 1.35;
}

    .sofl-category-editor-page .sofl-category-icon-meta div {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        padding-block: 2px;
    }

    .sofl-category-editor-page .sofl-category-icon-meta strong {
        color: #0F172A;
        font-weight: 700;
        text-align: right;
    }

.sofl-category-editor-page .sofl-category-image-card .sofl-category-icon-upload .sofl-image-upload-status {
    width: 100%;
    min-height: 18px;
    white-space: nowrap;
    text-align: center;
}

.sofl-term-audio-settings {
    --audio-line: rgba(15, 23, 42, .09);
    --audio-soft: #fbfcff;
}

.sofl-audio-upload-box {
    min-height: 86px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px dashed rgba(148, 163, 184, .7);
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfcff, #ffffff);
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

    .sofl-audio-upload-box:hover {
        border-color: rgba(212, 168, 67, .5);
        background: #fffdf8;
        box-shadow: inset 0 0 0 1px rgba(212, 168, 67, .08);
    }

    .sofl-audio-upload-box input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }

.sofl-audio-upload-icon {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: rgba(212, 168, 67, .14);
    color: #9a5b13;
    font-size: 1.05rem;
}

.sofl-audio-upload-box strong,
.sofl-audio-upload-box small {
    display: block;
}

.sofl-audio-upload-box strong {
    color: #172033;
    font-size: .92rem;
    font-weight: 700;
}

.sofl-audio-upload-box small {
    margin-top: 3px;
    color: #667085;
    font-size: .8rem;
    font-weight: 700;
}

.sofl-audio-service-note {
    display: none;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 10px 12px;
    border: 1px solid rgba(154, 91, 19, .2);
    border-radius: 12px;
    background: #fff8e1;
    color: #7c4a03;
    font-size: .84rem;
    font-weight: 700;
}

.sofl-audio-service-note-active {
    display: flex;
}

.sofl-audio-preview-card {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--audio-line);
    border-radius: 14px;
    background: var(--audio-soft);
}

.sofl-audio-preview-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #253044;
    font-size: .84rem;
    font-weight: 700;
}

    .sofl-audio-preview-meta i {
        color: #9a5b13;
    }

.sofl-audio-preview-card audio {
    width: 100%;
}

.sofl-audio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

    .sofl-audio-actions .sofl-btn-danger-soft {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 0 12px;
        border: 1px solid rgba(180, 35, 24, .22);
        border-radius: 10px;
        background: #fff5f4;
        color: #b42318;
        font-size: .84rem;
        font-weight: 700;
    }

.sofl-readaloud-toggle {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .085);
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfcff, #ffffff);
}

    .sofl-readaloud-toggle input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .sofl-readaloud-toggle .sofl-toggle-slider {
        flex: 0 0 auto;
    }

    .sofl-readaloud-toggle input:checked + .sofl-toggle-slider {
        background: #111827;
    }

        .sofl-readaloud-toggle input:checked + .sofl-toggle-slider::after {
            transform: translateX(18px);
        }

    .sofl-readaloud-toggle strong,
    .sofl-readaloud-toggle small {
        display: block;
    }

    .sofl-readaloud-toggle strong {
        color: #172033;
        font-size: .94rem;
        font-weight: 700;
    }

    .sofl-readaloud-toggle small {
        max-width: 760px;
        margin-top: 3px;
        color: #667085;
        font-size: .82rem;
        font-weight: 700;
    }

.sofl-term-editor-page .sofl-publish-panel,
.sofl-term-editor-page .sofl-category-tag-panel,
.sofl-term-editor-page .sofl-form-section {
    padding: 15px;
}

.sofl-term-editor-page .sofl-panel-eyebrow {
    margin-bottom: 10px;
    color: #667085;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.sofl-term-editor-page .sofl-toggle-row {
    gap: 10px;
}

.sofl-term-editor-page .sofl-publish-switch {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 10px 10px 10px 2.8rem;
    border: 1px solid rgba(15, 23, 42, .075);
    border-radius: 12px;
    background: #fbfcff;
}

    .sofl-term-editor-page .sofl-publish-switch .form-check-input {
        margin-left: -2.1rem;
        margin-top: 0;
    }

    .sofl-term-editor-page .sofl-publish-switch:has(.form-check-input:checked) {
        border-color: rgba(212, 168, 67, .34);
        background: #fffdf8;
    }

.sofl-term-editor-page .sofl-toggle-switch {
    align-items: center;
    min-height: 54px;
    padding: 11px 12px;
    border-color: rgba(15, 23, 42, .075);
    border-radius: 13px;
    background: #fbfcff;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

    .sofl-term-editor-page .sofl-toggle-switch:hover {
        border-color: rgba(212, 168, 67, .34);
        background: #fffdf8;
    }

.sofl-term-editor-page .sofl-toggle-slider {
    width: 42px;
    height: 24px;
    background: #cbd5e1;
}

    .sofl-term-editor-page .sofl-toggle-slider::after {
        width: 18px;
        height: 18px;
    }

.sofl-term-editor-page .sofl-toggle-switch input:checked + .sofl-toggle-slider {
    background: #111827;
}

.sofl-term-editor-page .sofl-toggle-switch strong {
    font-size: .88rem;
}

.sofl-term-editor-page .sofl-toggle-switch small {
    color: #667085;
}

.sofl-sidebar-search {
    position: relative;
    margin: 10px 0 12px;
}

    .sofl-sidebar-search i {
        position: absolute;
        left: 12px;
        top: 50%;
        color: #98a2b3;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .sofl-sidebar-search .form-control {
        min-height: 38px;
        padding-left: 34px;
        border-radius: 10px;
        font-size: .84rem;
    }

.sofl-term-editor-page .sofl-category-checklist {
    gap: 7px;
    max-height: 255px;
    padding-right: 4px;
}

.sofl-term-editor-page .sofl-category-check {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 9px 10px;
    border-color: rgba(15, 23, 42, .075);
    border-radius: 11px;
    background: #fff;
    transition: border-color .16s ease, background-color .16s ease;
}

    .sofl-term-editor-page .sofl-category-check:hover {
        border-color: rgba(212, 168, 67, .38);
        background: #fffdf8;
    }

    .sofl-term-editor-page .sofl-category-check:has(.form-check-input:checked) {
        border-color: rgba(212, 168, 67, .42);
        background: #fffaf0;
        box-shadow: inset 3px 0 0 #d4a843;
    }

    .sofl-term-editor-page .sofl-category-check .form-check-input {
        float: none;
        flex: 0 0 auto;
        margin: 0;
        border-radius: 5px;
    }

    .sofl-term-editor-page .sofl-category-check .form-check-label {
        min-width: 0;
        color: #344054;
        font-size: .9rem;
        font-weight: 600;
    }

    .sofl-term-editor-page .sofl-category-check[data-selected="true"] .form-check-label {
        color: #111827;
        font-weight: 700;
    }

.sofl-term-editor-page .sofl-tag-selector-head {
    align-items: flex-start;
    gap: 12px;
}

.sofl-term-editor-page .sofl-tag-selector-link {
    flex: 0 0 auto;
    min-height: 34px;
    padding: .45rem .65rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 9px;
    background: #fff;
    color: #111827;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

.sofl-term-tags-field,
.sofl-term-tags-field .tagify {
    width: 100%;
    max-width: 100%;
}

    .sofl-term-tags-field .tagify {
        --tag-bg: #f8fafc;
        --tag-hover: #eef2f7;
        --tag-text-color: #344054;
        --tag-border-radius: 999px;
        --tag-pad: .28rem .55rem;
        --tag-inset-shadow-size: 1px;
        --tag-remove-btn-bg--hover: transparent;
        display: flex;
        flex-wrap: wrap;
        min-width: 0;
        min-height: 42px;
        align-items: flex-start;
        padding: 5px 7px;
        border-color: #d9dee8;
        border-radius: 11px;
        background: #fff;
        overflow: hidden;
    }

        .sofl-term-tags-field .tagify:hover {
            border-color: rgba(154, 91, 19, .38);
        }

        .sofl-term-tags-field .tagify.tagify--focus {
            border-color: rgba(212, 168, 67, .82);
            box-shadow: 0 0 0 4px rgba(212, 168, 67, .14);
        }

    .sofl-term-tags-field .tagify__input {
        min-width: 120px;
        margin: 3px 0;
        color: #172033;
        font-size: .9rem;
        font-weight: 600;
    }

    .sofl-term-tags-field .tagify__tag {
        max-width: 100%;
        margin: 3px 5px 3px 0;
    }

        .sofl-term-tags-field .tagify__tag > div {
            max-width: 100%;
            border: 1px solid rgba(212, 168, 67, .34);
            background: #fffaf0;
            color: #172033;
            font-size: .82rem;
            font-weight: 700;
            line-height: 1.25;
        }

    .sofl-term-tags-field .tagify__tag-text {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sofl-term-tags-field .tagify__tag__removeBtn {
        color: #667085;
    }

        .sofl-term-tags-field .tagify__tag__removeBtn:hover {
            color: #111827;
        }

.sofl-term-tags-dropdown {
    max-width: min(100%, 420px);
    border-color: rgba(15, 23, 42, .1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
}

    .sofl-term-tags-dropdown .tagify__dropdown__wrapper {
        max-height: 320px;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .sofl-term-tags-dropdown .tagify__dropdown__item {
        color: #344054;
        font-weight: 600;
    }

.sofl-term-editor-page .sofl-file-upload {
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfcff, #ffffff);
}

.sofl-term-editor-page .sofl-file-upload-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 1.15rem;
}

.sofl-term-editor-page .sofl-term-quick-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 8px;
    /*margin: -4px 0 18px;*/
}

    .sofl-term-editor-page .sofl-term-quick-actions form {
        margin: 0;
    }

/*.sofl-term-editor-page .sofl-term-quick-actions .btn,
.sofl-term-editor-page .sofl-term-quick-actions a {
  min-height: 38px;
  border-radius: 10px;
  font-size: .83rem;
}*/

.sofl-term-editor-page .sofl-term-more-actions .dropdown-toggle {
    border-color: rgba(15, 23, 42, .1);
    background: #fff;
    color: #172033;
}

.sofl-term-editor-page .sofl-term-more-actions .dropdown-menu {
    min-width: 220px;
    padding: 7px;
}

.sofl-term-editor-page .sofl-term-more-actions .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    border-radius: 9px;
    color: #344054;
    font-size: .86rem;
    font-weight: 700;
}

    .sofl-term-editor-page .sofl-term-more-actions .dropdown-item i {
        width: 16px;
        color: #9a5b13;
        text-align: center;
    }

    .sofl-term-editor-page .sofl-term-more-actions .dropdown-item:hover {
        background: #fffdf8;
        color: #111827;
    }

.sofl-term-editor-page .sofl-form-card form .sofl-btn-gold,
.sofl-term-editor-page .sofl-form-section form .sofl-btn-gold {
    min-height: 38px;
    border-radius: 10px;
    font-size: .84rem;
}

.sofl-term-editor-page .sofl-sticky-actions {
    margin-top: 28px;
    padding-top: 10px;
}

.sofl-term-editor-page:has(.sofl-term-sticky-savebar) {
    padding-bottom: 84px;
}

.sofl-term-editor-page .sofl-sticky-actions-inner {
    border-color: rgba(15, 23, 42, .09);
    border-radius: 16px;
    box-shadow: 0 -14px 40px rgba(15, 23, 42, .08);
}

.sofl-term-editor-page .sofl-sticky-buttons .sofl-btn-outline,
.sofl-term-editor-page .sofl-sticky-buttons .sofl-btn-gold {
    min-height: 38px;
    border-radius: 10px;
}

.sofl-term-sticky-savebar .sofl-btn-gold {
    background: linear-gradient(135deg, #d4a843, #f4c95d);
    border-color: #c7952b;
    color: #111827;
}

@media (max-width: 767.98px) {
    .sofl-category-hero {
        grid-template-columns: 1fr;
    }

    .sofl-fin-card-actions {
        justify-content: flex-start;
    }

    .sofl-term-edit-page .sofl-media-card .sofl-image-upload-field {
        grid-template-columns: 1fr;
    }

    .sofl-term-editor-page .sofl-media-card .sofl-image-upload-field {
        grid-template-columns: 1fr;
    }

        .sofl-term-editor-page .sofl-media-card .sofl-image-upload-advanced,
        .sofl-term-editor-page .sofl-media-card .sofl-image-upload-field > .sofl-help-text,
        .sofl-term-editor-page .sofl-image-upload-actions {
            grid-column: 1;
        }

    .sofl-term-editor-page .sofl-form-page-header {
        align-items: flex-start;
    }

    .sofl-term-editor-page .sofl-form-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .sofl-term-editor-page .sofl-term-quick-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .sofl-term-edit-page .sofl-form-sidebar {
        position: static;
    }

    .sofl-term-tab-grid {
        grid-template-columns: 1fr;
    }

    .sofl-term-details-grid {
        grid-template-columns: 1fr;
    }

    .sofl-term-details-sidebar {
        position: static;
    }

    .sofl-term-tab-scroll {
        top: 0;
    }

    .sofl-related-layout {
        grid-template-columns: 1fr;
    }

    .sofl-related-result-list {
        max-height: 480px;
    }

    .sofl-term-editor-page .sofl-form-grid {
        grid-template-columns: 1fr;
    }

    .sofl-term-editor-page .sofl-form-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
        order: 0;
    }

    .sofl-term-editor-page .sofl-form-main {
        order: -1;
    }

    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-secondary,
    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-soft,
    .sofl-term-edit-page .sofl-image-upload-actions .sofl-btn-danger-soft {
        flex: 1 1 180px;
    }
}

@media (max-width: 575.98px) {
    .sofl-term-cms-tabs {
        gap: 6px;
        padding: 6px;
    }

        .sofl-term-cms-tabs .nav-link {
            min-height: 38px;
            padding: .52rem .68rem;
            font-size: .8rem;
        }

            .sofl-term-cms-tabs .nav-link i {
                font-size: .86rem;
            }

    .sofl-term-editor-page .sofl-toggle-grid {
        grid-template-columns: 1fr;
    }

    .sofl-related-tabs {
        gap: 6px;
        padding: 6px;
        margin-inline: -2px;
    }

        .sofl-related-tabs .sofl-content-tab {
            min-height: 38px;
            padding: .5rem .66rem;
            font-size: .8rem;
        }

    .sofl-linked-content-panel,
    .sofl-add-content-panel {
        padding: 13px;
    }

    .sofl-related-panel-head {
        align-items: flex-start;
    }

    .sofl-related-filter-grid {
        grid-template-columns: 1fr;
    }

    .sofl-related-card-actions {
        justify-content: stretch;
    }

    .sofl-related-linked-card,
    .sofl-related-result-card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .sofl-related-action {
        flex: 1 1 auto;
        min-height: 38px;
    }

    .sofl-term-editor-page .sofl-category-checklist {
        max-height: 230px;
    }

    .sofl-empty-tab-note {
        align-items: flex-start;
        justify-content: flex-start;
        min-height: 140px;
        text-align: left;
    }

    .sofl-term-editor-page .sofl-form-card-header,
    .sofl-term-editor-page .sofl-form-card-body,
    .sofl-term-editor-page .sofl-publish-panel,
    .sofl-term-editor-page .sofl-category-tag-panel,
    .sofl-term-editor-page .sofl-form-section {
        padding: 14px;
    }

    .sofl-term-editor-page .sofl-form-page-actions > *,
    .sofl-term-editor-page .sofl-sticky-buttons > * {
        flex: 1 1 100%;
    }

    .sofl-term-editor-page .sofl-sticky-actions-inner {
        align-items: stretch;
    }

    .sofl-term-editor-page .sofl-sticky-meta {
        display: none;
    }
}
/* SOFL Design System V1.0: Admin FinLexicon scope */
:root {
    --sofl-primary: #A67C2F;
    --sofl-primary-hover: #9F6C27;
    --sofl-primary-soft: #F7EEDB;
    --sofl-primary-subtle: #FBF7EF;
    --sofl-navy: #0F172A;
    --sofl-navy-soft: #1E293B;
    --sofl-text: #111827;
    --sofl-text-muted: #667085;
    --sofl-text-light: #98A2B3;
    --sofl-bg: #F8FAFC;
    --sofl-bg-warm: #FBF8F1;
    --sofl-surface: #FFFFFF;
    --sofl-surface-soft: #FAFBFC;
    --sofl-border: #E2E8F0;
    --sofl-border-soft: #F1F3F6;
    --sofl-input-border: #DBDEE8;
    --sofl-success: #58B88B;
    --sofl-success-soft: #EDF8F2;
    --sofl-info: #6CA8C8;
    --sofl-info-soft: #EEF7FC;
    --sofl-warning: #D9A44C;
    --sofl-warning-soft: #FFF6E7;
    --sofl-danger: #E68787;
    --sofl-danger-soft: #FFF1F1;
}

.sofl-finlexicon-admin {
    color: var(--sofl-text);
    font-family: var(--font-body);
    font-size: 15px;
}

    .sofl-finlexicon-admin .sofl-content {
        background: var(--sofl-bg);
    }

    .sofl-finlexicon-admin .btn-primary {
        border-color: var(--sofl-primary) !important;
        background: var(--sofl-primary) !important;
        color: #fff !important;
    }

        .sofl-finlexicon-admin .btn-primary:hover,
        .sofl-finlexicon-admin .btn-primary:focus {
            border-color: var(--sofl-primary-hover) !important;
            background: var(--sofl-primary-hover) !important;
            color: #fff !important;
        }

    .sofl-finlexicon-admin .text-primary,
    .sofl-finlexicon-admin .text-sofl-primary {
        color: var(--sofl-primary) !important;
    }

    .sofl-finlexicon-admin .bg-primary,
    .sofl-finlexicon-admin .bg-sofl-primary {
        background-color: var(--sofl-primary) !important;
    }

    .sofl-finlexicon-admin .border-primary,
    .sofl-finlexicon-admin .border-sofl-primary {
        border-color: var(--sofl-primary) !important;
    }

    .sofl-finlexicon-admin h1.h3 {
        color: var(--sofl-text);
        font-size: 28px;
        font-weight: 700 !important;
    }

    .sofl-finlexicon-admin h2,
    .sofl-finlexicon-admin .sofl-section-title {
        font-size: 20px;
        font-weight: 600;
    }

    .sofl-finlexicon-admin .card,
    .sofl-finlexicon-admin .sofl-form-card,
    .sofl-finlexicon-admin .sofl-table-card,
    .sofl-finlexicon-admin .sofl-tag-table-card,
    .sofl-finlexicon-admin .admin-table-card,
    .sofl-finlexicon-admin .sofl-filter-card {
        overflow: hidden;
        border: 1px solid var(--sofl-border);
        border-radius: 1rem;
        background: var(--sofl-surface);
        box-shadow: 0 .125rem .25rem rgba(15, 23, 42, .055);
    }

    .sofl-finlexicon-admin .sofl-form-card-header,
    .sofl-finlexicon-admin .card-header,
    .sofl-finlexicon-admin .admin-table-card-header,
    .sofl-finlexicon-admin .sofl-table-toolbar,
    .sofl-finlexicon-admin .sofl-tag-card-header {
        border-bottom: 1px solid var(--sofl-border);
        background: var(--sofl-surface);
    }

        .sofl-finlexicon-admin .sofl-form-card-header h2,
        .sofl-finlexicon-admin .card-header .h5,
        .sofl-finlexicon-admin .admin-table-card-header h2 {
            font-size: 16px;
            font-weight: 600;
        }

    .sofl-finlexicon-admin .form-label,
    .sofl-finlexicon-admin .sofl-form-label {
        color: var(--sofl-text);
        font-size: 13px;
        font-weight: 600;
    }

    .sofl-finlexicon-admin .form-control,
    .sofl-finlexicon-admin .form-select {
        border-color: var(--sofl-input-border);
    }

        .sofl-finlexicon-admin .form-control:focus,
        .sofl-finlexicon-admin .form-select:focus,
        .sofl-finlexicon-admin .form-check-input:focus {
            border-color: var(--sofl-primary);
            box-shadow: 0 0 0 .2rem rgba(166, 124, 47, .16);
        }

    .sofl-finlexicon-admin .form-check-input:checked {
        border-color: var(--sofl-primary);
        background-color: var(--sofl-primary);
    }

    .sofl-finlexicon-admin .table {
        --bs-table-hover-bg: var(--sofl-primary-subtle);
        color: var(--sofl-text);
        font-size: 14px;
    }

        .sofl-finlexicon-admin .table > thead > tr > th {
            padding: .75rem 1rem;
            border-bottom-color: var(--sofl-border);
            background: var(--sofl-surface-soft);
            color: var(--sofl-text-muted);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .sofl-finlexicon-admin .table > tbody > tr > td {
            padding: .8rem 1rem;
            border-bottom-color: var(--sofl-border-soft);
        }

    .sofl-finlexicon-admin .badge,
    .sofl-finlexicon-admin .badge-meta {
        border-radius: 8px;
        font-size: 12px;
        font-weight: 500;
    }

    .sofl-finlexicon-admin .badge-meta,
    .sofl-finlexicon-admin .badge-sofl-muted {
        border: 1px solid var(--sofl-border);
        background: var(--sofl-surface-soft);
        color: var(--sofl-text-muted);
    }

    .sofl-finlexicon-admin .badge-sofl-primary {
        border: 1px solid rgba(166, 124, 47, .24);
        background: var(--sofl-primary-soft);
        color: var(--sofl-primary-hover);
    }

    .sofl-finlexicon-admin .badge-sofl-success {
        border: 1px solid rgba(88, 184, 139, .24);
        background: var(--sofl-success-soft);
        color: #28785A;
    }

    .sofl-finlexicon-admin .badge-sofl-info {
        border: 1px solid rgba(108, 168, 200, .24);
        background: var(--sofl-info-soft);
        color: #376F8D;
    }

    .sofl-finlexicon-admin .badge-sofl-warning {
        border: 1px solid rgba(217, 164, 76, .24);
        background: var(--sofl-warning-soft);
        color: #8A621F;
    }

    .sofl-finlexicon-admin .sofl-badge-starter-term {
        border: 1px solid rgba(217, 164, 76, .22);
        background: rgba(217, 164, 76, .12);
        color: #8A621F;
    }

    .sofl-finlexicon-admin .badge-sofl-danger {
        border: 1px solid rgba(230, 135, 135, .24);
        background: var(--sofl-danger-soft);
        color: #A44646;
    }

    .sofl-finlexicon-admin .sofl-status-badge.active,
    .sofl-finlexicon-admin .sofl-status-badge.published,
    .sofl-finlexicon-admin .sofl-status-badge.success {
        border-color: rgba(88, 184, 139, .24);
        background: var(--sofl-success-soft);
        color: #28785A;
    }

    .sofl-finlexicon-admin .sofl-status-badge.inactive,
    .sofl-finlexicon-admin .sofl-status-badge.draft,
    .sofl-finlexicon-admin .sofl-status-badge.neutral {
        border-color: var(--sofl-border);
        background: var(--sofl-surface-soft);
        color: var(--sofl-text-muted);
    }

    .sofl-finlexicon-admin .sofl-filter-card,
    .sofl-finlexicon-admin .admin-filter-bar,
    .sofl-finlexicon-admin .sofl-tag-filter-bar {
        padding: 1rem;
    }

    .sofl-finlexicon-admin .admin-pagination {
        border-top-color: var(--sofl-border);
        background: var(--sofl-surface);
    }

    .sofl-finlexicon-admin .admin-page-btn-active {
        border-color: var(--sofl-navy);
        background: var(--sofl-navy);
        color: #fff;
    }

    .sofl-finlexicon-admin .admin-page-btn:not(.admin-page-btn-disabled):hover {
        border-color: var(--sofl-primary);
        color: var(--sofl-primary);
    }

    .sofl-finlexicon-admin .sofl-sidebar {
        background: linear-gradient(180deg, #0F172A 0%, #111827 100%);
    }

    .sofl-finlexicon-admin .sofl-sidebar-section {
        color: rgba(255, 255, 255, .45);
        font-size: 12px;
        letter-spacing: .08em;
    }

    /*.sofl-finlexicon-admin .sofl-nav-link,
.sofl-finlexicon-admin .sofl-nav-toggle {
  color: rgba(255, 255, 255, .72);
}*/

    /*.sofl-finlexicon-admin .sofl-nav-link:hover,
.sofl-finlexicon-admin .sofl-nav-toggle:hover {
  background: rgba(255, 255, 255, .05);
}*/

    /*.sofl-finlexicon-admin .sofl-nav-link.active,
.sofl-finlexicon-admin .sofl-nav-toggle.active {
  background: rgba(166, 124, 47, .12);
  box-shadow: none;
  color: #fff;
}
*/
    .sofl-finlexicon-admin .sofl-nav-link.active::before,
    .sofl-finlexicon-admin .sofl-nav-toggle.active::before {
        background: var(--sofl-primary);
    }

    .sofl-finlexicon-admin .sofl-nav-link.active i,
    .sofl-finlexicon-admin .sofl-nav-toggle.active i {
        color: #D4A94D;
    }

    .sofl-finlexicon-admin .sofl-tag-modal .modal-content {
        border-color: var(--sofl-border);
        border-radius: 1rem;
    }

@media (max-width: 575.98px) {
    .sofl-finlexicon-admin .d-flex > .btn {
        width: auto;
    }
}

.sofl-student-finlexicon {
    display: block;
}

.student-finlexicon-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 282px;
    padding: clamp(1.5rem, 4vw, 2.8rem);
    background: radial-gradient(circle at 78% 25%, rgba(255, 255, 255, .08), transparent 30%), linear-gradient(135deg, #06162b, #092653 58%, #061120);
    color: #ffffff;
}

    .student-finlexicon-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(118deg, transparent 0 56%, rgba(201, 152, 47, .2) 56.1% 56.25%, transparent 56.45%), linear-gradient(22deg, transparent 0 70%, rgba(255, 255, 255, .05) 70.1% 70.25%, transparent 70.45%);
    }

    .student-finlexicon-hero h1 {
        margin: 0 0 .55rem;
        color: #fffaf0;
        font-family: var(--font-heading);
        font-size: clamp(2.35rem, 5vw, 4rem);
        font-weight: 700;
        line-height: 1.05;
        letter-spacing: 0;
    }

    .student-finlexicon-hero p {
        max-width: 29rem;
        margin: 0;
        color: rgba(255, 255, 255, .82);
        font-size: 1rem;
        line-height: 1.65;
    }

.student-finlexicon-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 1.8rem;
}

    .student-finlexicon-stats > div {
        display: grid;
        grid-template-columns: 28px auto;
        gap: .1rem .7rem;
        min-width: 150px;
        padding-right: 1.25rem;
        border-right: 1px solid rgba(255, 255, 255, .18);
    }

        .student-finlexicon-stats > div:last-child {
            border-right: 0;
        }

    .student-finlexicon-stats i {
        grid-row: span 2;
        align-self: center;
        color: #f0c963;
        font-size: 1.1rem;
    }

    .student-finlexicon-stats strong {
        color: #ffffff;
        font-size: 1.45rem;
        font-weight: 700;
        line-height: 1;
    }

    .student-finlexicon-stats span {
        color: rgba(255, 255, 255, .72);
        font-size: .8rem;
        font-weight: 600;
    }

    .student-finlexicon-stats .progress {
        grid-column: 2;
        width: 92px;
        margin-top: .35rem;
    }

.student-finlexicon-visual {
    position: relative;
    min-height: 210px;
}

.student-finlexicon-book {
    position: absolute;
    right: 12%;
    bottom: 1rem;
    width: min(320px, 80%);
    height: 150px;
    border-radius: 8px 8px 18px 18px;
    background: linear-gradient(90deg, #f8fafc 0 48%, #e8edf5 48% 50%, #fffaf0 50% 100%);
    box-shadow: 0 22px 44px rgba(0, 0, 0, .28);
    transform: perspective(520px) rotateX(9deg) rotateZ(2deg);
}

    .student-finlexicon-book::before,
    .student-finlexicon-book::after {
        content: "";
        position: absolute;
        top: 28px;
        bottom: 24px;
        width: 36%;
        background: repeating-linear-gradient(#cbd5e1 0 2px, transparent 2px 13px);
        opacity: .78;
    }

    .student-finlexicon-book::before {
        left: 10%;
    }

    .student-finlexicon-book::after {
        right: 10%;
    }

.student-finlexicon-glass {
    position: absolute;
    right: 46%;
    top: 24px;
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border: 8px solid rgba(240, 201, 99, .78);
    border-radius: 50%;
    color: rgba(255, 255, 255, .34);
    font-size: 2rem;
    transform: rotate(-18deg);
}

    .student-finlexicon-glass::after {
        content: "";
        position: absolute;
        right: -42px;
        bottom: -22px;
        width: 60px;
        height: 10px;
        border-radius: 999px;
        background: rgba(240, 201, 99, .78);
    }

.student-finlexicon-orbit {
    position: absolute;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(240, 201, 99, .6);
    border-radius: 50%;
    color: #f0c963;
}

    .student-finlexicon-orbit:nth-child(1) {
        right: 4%;
        top: 1.2rem;
    }

    .student-finlexicon-orbit:nth-child(2) {
        right: 44%;
        top: .6rem;
    }

    .student-finlexicon-orbit:nth-child(3) {
        right: 2%;
        bottom: 4.5rem;
    }

.student-finlexicon-filter {
    --term-toolbar-accent: var(--module-accent, var(--student-gold, #bb8c2b));
    --term-toolbar-accent-soft: var(--module-accent-soft, rgba(201, 152, 47, .09));
}

.student-finlexicon-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    width: 100%;
}

.student-finlexicon-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.student-finlexicon-search {
    min-height: 38px;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .035);
}

.student-toolbar-menu {
    min-width: 180px;
    margin-top: .45rem !important;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    padding: .35rem;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .1);
}

    .student-toolbar-menu .dropdown-item {
        border-radius: 8px;
        color: #0f172a;
        font-size: .82rem;
        font-weight: 700;
    }

        .student-toolbar-menu .dropdown-item:hover,
        .student-toolbar-menu .dropdown-item:focus,
        .student-toolbar-menu .dropdown-item.active {
            background: var(--term-toolbar-accent-soft);
            color: #9a5b13;
        }

.student-finlexicon-toolbar-search {
    flex: 0 1 320px;
    min-width: min(100%, 260px);
}

.student-finlexicon-search {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .42rem .78rem;
}

    .student-finlexicon-search > i {
        color: var(--student-muted, #4d4d4d);
        font-size: .78rem;
    }

    .student-finlexicon-search .form-control {
        min-width: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #0f172a;
        font-size: .78rem;
        font-weight: 600;
        box-shadow: none;
    }

        .student-finlexicon-search .form-control::placeholder {
            color: #4d4d4d;
        }

.student-filter-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem;
    color: var(--student-muted, #4d4d4d);
    font-size: .875rem;
    font-weight: 700;
}

    .student-filter-summary a {
        color: #0f3f8d;
        font-weight: 700;
    }

.student-section-icon {
    margin-right: .45rem;
    color: var(--student-gold, #bb8c2b);
}

.student-popular-term {
    min-height: 132px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: .85rem;
    padding: 1rem;
    color: var(--student-ink, #101827);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

    .student-popular-term:hover {
        border-color: rgba(201, 152, 47, .42);
        color: var(--student-ink, #101827);
        box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
        transform: translateY(-1px);
    }

    .student-popular-term .student-icon-box {
        width: 50px;
        height: 50px;
    }

    .student-popular-term strong {
        display: -webkit-box;
        overflow: hidden;
        color: var(--student-ink, #101827);
        font-size: .95rem;
        font-weight: 700;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .student-popular-term small {
        display: inline-block;
        margin-top: .65rem;
        color: var(--student-muted, #4d4d4d);
        font-weight: 700;
    }

    .student-popular-term em {
        grid-column: 2;
        width: fit-content;
        margin-top: -.4rem;
        border-radius: 999px;
        padding: .22rem .5rem;
        background: #eef2ff;
        color: #3556d8;
        font-size: .7rem;
        font-style: normal;
        font-weight: 700;
    }

.student-sort-form {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

    .student-sort-form .form-select {
        width: 112px;
        border-radius: 8px;
    }




.sofl-student-categories {
    display: grid;
    gap: 1.15rem;
}

.student-icon-box.teal {
    background: #12a7a2;
}

.student-popular-category {
    min-height: 96px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: .95rem;
    height: 100%;
    padding: 1rem;
    color: var(--student-ink, #101827);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

    .student-popular-category:hover,
    .student-popular-category:focus-visible {
        border-color: rgba(201, 152, 47, .42);
        color: var(--student-ink, #101827);
        box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
        transform: translateY(-1px);
    }

    .student-popular-category .student-icon-box {
        width: 54px;
        height: 54px;
        border-radius: 50%;
        font-size: 1.15rem;
    }

    .student-popular-category strong {
        display: -webkit-box;
        overflow: hidden;
        color: var(--student-ink, #101827);
        font-size: .95rem;
        font-weight: 700;
        line-height: 1.3;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .student-popular-category small {
        display: block;
        margin-top: .25rem;
        color: var(--student-muted, #4d4d4d);
        font-size: .78rem;
        font-weight: 700;
    }

.student-category-list-header {
    align-items: center;
}

.student-category-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr);
    min-height: 360px;
    padding: clamp(34px, 4.2vw, 56px) clamp(34px, 5vw, 64px);
    border-color: rgba(var(--module-accent-rgb), .28);
    border-radius: 18px;
    background: linear-gradient(104deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .96) 55%, rgba(255, 248, 232, .86) 100%), var(--module-bg);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}

/*.student-category-hero::before {
  background:
    radial-gradient(circle at 79% 48%, rgba(240, 179, 52, .13) 0%, rgba(240, 179, 52, .06) 32%, transparent 58%),
    linear-gradient(110deg, transparent 0%, transparent 59%, rgba(255, 243, 218, .72) 59.2%, rgba(255, 250, 241, .52) 100%);
  opacity: 1;
}*/

.student-category-hero-copy {
    max-width: 760px;
}

.student-category-hero-eyebrow {
    margin-bottom: 18px;
    color: #c47d00;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.student-category-hero .student-module-hero-content p {
    max-width: 680px;
    color: #4d4d4d;
    font-size: clamp(1.15rem, 2vw, 1.85rem);
    font-weight: 400;
    line-height: 1.35;
}

.student-category-hero-progress {
    max-width: 660px;
    margin-top: clamp(34px, 5vw, 58px);
}

.student-category-hero-progress-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
    color: #44516a;
}

    .student-category-hero-progress-meta strong {
        color: var(--module-text);
        font-size: clamp(1.35rem, 2vw, 1.85rem);
        font-weight: 700;
        line-height: 1.1;
    }

    .student-category-hero-progress-meta span {
        font-size: clamp(.96rem, 1.45vw, 1.25rem);
        font-weight: 600;
    }

.student-category-hero .student-progress {
    height: 16px;
    overflow: hidden;
    background: #e9eef6;
}

    .student-category-hero .student-progress span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #b97a00, var(--module-accent), #f2ca4b);
    }

.student-category-hero-visual {
    position: relative;
    align-self: stretch;
    min-height: 280px;
}

.student-category-hero-count {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 14px 24px;
    border: 1px solid rgba(var(--module-accent-rgb), .24);
    border-radius: 18px;
    background: rgba(255, 255, 255, .74);
    color: var(--module-text);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .04);
}

    .student-category-hero-count i {
        color: #a66b00;
        font-size: 1.8rem;
    }

    .student-category-hero-count > span {
        width: 1px;
        height: 32px;
        background: rgba(var(--module-accent-rgb), .26);
    }

    .student-category-hero-count strong {
        font-size: clamp(1.8rem, 3vw, 2.45rem);
        font-weight: 700;
        line-height: 1;
    }

    .student-category-hero-count em {
        color: #4d4d4d;
        font-size: clamp(1.05rem, 1.8vw, 1.45rem);
        font-style: normal;
        font-weight: 500;
    }

.student-category-hero-chart {
    position: absolute;
    right: -6px;
    bottom: 54px;
    left: 0;
    height: 210px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 18px;
    opacity: .36;
}

    .student-category-hero-chart::before {
        content: "";
        position: absolute;
        right: -18px;
        bottom: 56px;
        width: min(100%, 470px);
        height: 150px;
        border-top: 3px solid rgba(var(--module-accent-rgb), .38);
        border-radius: 50%;
        transform: rotate(-10deg);
    }

    .student-category-hero-chart span {
        width: clamp(38px, 5vw, 58px);
        height: var(--bar-height);
        border-radius: 16px 16px 0 0;
        background: linear-gradient(180deg, rgba(var(--module-accent-rgb), .24), rgba(var(--module-accent-rgb), .04));
    }

.student-category-hero-cta {
    position: absolute;
    right: 8px;
    bottom: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    /*  min-width: 226px;
  min-height: 76px;*/
    padding: 18px 30px;
    border-radius: 10px;
    background: linear-gradient(135deg, #b77700, #cf9207);
    color: #ffffff;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 18px 30px rgba(183, 119, 0, .24);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

    .student-category-hero-cta:hover,
    .student-category-hero-cta:focus-visible {
        color: #ffffff;
        transform: translateY(-1px);
        box-shadow: 0 22px 36px rgba(183, 119, 0, .3);
    }

    .student-category-hero-cta i {
        font-size: 1.15em;
    }

.student-category-learning-card {
    grid-template-columns: minmax(0, 1.45fr) minmax(100px, .78fr);
    min-height: clamp(260px, 24vw, 320px);
    margin-bottom: 0;
    padding: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 48px);
}

    .student-category-learning-card:hover,
    .student-category-learning-card:focus-within {
        border-color: rgba(var(--module-accent-rgb), .42);
        box-shadow: 0 20px 46px rgba(15, 23, 42, .09);
    }

.student-category-learning-copy {
    min-width: 0;
}

    .student-category-learning-title {
        display: -webkit-box;
        margin: 0 0 20px;
        overflow: hidden;
        color: var(--module-text);
        font-family: var(--font-heading);
        font-size: clamp(2rem, 4vw, 1.75rem);
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.02;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .student-category-learning-copy > p {
        display: -webkit-box;
        max-width: 700px;
        min-height: calc(1.4em * 2);
        margin: 0;
        overflow: hidden;
        color: #4d4d4d;
        font-size: clamp(1.125rem, 1.7vw, 1rem);
        font-weight: 400;
        line-height: 1.4;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

.student-category-learning-card .student-category-hero-progress {
    max-width: 620px;
    margin-top: clamp(28px, 4vw, 44px);
}

.student-category-learning-card .student-category-hero-progress-meta {
    margin-bottom: 12px;
}

    .student-category-learning-card .student-category-hero-progress-meta strong {
        font-size: clamp(1rem, 1.8vw, 1rem);
    }

    .student-category-learning-card .student-category-hero-progress-meta span {
        font-size: clamp(.92rem, 1.35vw, 1.1rem);
    }

.student-category-learning-card .student-progress {
    height: 12px;
}

.student-category-learning-visual {
    min-height: 210px;
}

.student-category-learning-card .student-category-hero-count {
    min-height: 58px;
    padding: 10px 18px;
}

    .student-category-learning-card .student-category-hero-count i {
        font-size: 1.45rem;
    }

    .student-category-learning-card .student-category-hero-count strong {
        font-size: clamp(0.85rem, 2.6vw, 1.2rem);
    }

    .student-category-learning-card .student-category-hero-count em {
        font-size: clamp(.85rem, 1.45vw, 0.95rem);
    }

.student-category-learning-card .student-category-hero-chart {
    bottom: 46px;
    height: 160px;
    gap: 14px;
}

    .student-category-learning-card .student-category-hero-chart::before {
        width: min(100%, 360px);
        height: 112px;
    }

    .student-category-learning-card .student-category-hero-chart span {
        width: clamp(30px, 4vw, 48px);
    }

.student-category-learning-card .student-category-hero-cta {
    /* min-width: 188px;
  min-height: 62px;*/
    padding: 10px 20px;
    font-size: clamp(1.15rem, 1.9vw, 1rem);
}

@media (max-width: 991.98px) {
    .student-finlexicon-hero {
        min-height: 0;
    }

    .student-category-hero {
        grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
        min-height: 320px;
    }

    .student-category-hero-chart {
        gap: 12px;
    }

    .student-category-hero-cta {
        min-width: 190px;
        min-height: 64px;
    }

    .student-category-learning-card {
        grid-template-columns: minmax(0, 1fr) minmax(230px, .68fr);
    }

    .student-category-list-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .student-sort-form {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 575.98px) {
    .student-finlexicon-hero {
        padding: .95rem;
    }

    .student-category-hero {
        grid-template-columns: 1fr;
        padding: 1.25rem;
    }

        .student-category-hero::before {
            background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 248, 232, .7));
        }

    .student-category-hero-progress {
        margin-top: 1.5rem;
    }

    .student-category-hero-progress-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }

    .student-category-hero-visual {
        display: grid;
        gap: 1rem;
        min-height: 0;
    }

    .student-category-hero-count,
    .student-category-hero-cta {
        position: relative;
        inset: auto;
        width: 100%;
    }

    .student-category-hero-count {
        justify-content: flex-start;
    }

    .student-category-hero-chart {
        display: none;
    }

    .student-category-learning-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .student-category-learning-visual {
        min-height: 0;
    }

    .student-finlexicon-toolbar {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .student-finlexicon-toolbar-left {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .5rem;
    }

        .student-finlexicon-toolbar-left .dropdown,
        .student-toolbar-control {
            width: 100%;
        }

    .student-toolbar-control {
        padding-inline: .55rem;
    }

        .student-toolbar-control span {
            overflow: hidden;
            text-overflow: ellipsis;
        }

    .student-finlexicon-toolbar-search {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }


    .student-finlexicon-stats {
        gap: .8rem;
    }

        .student-finlexicon-stats > div {
            width: 100%;
            border-right: 0;
            padding-right: 0;
        }

    .student-term-card {
        min-height: 272px;
    }
}

.sofl-student-categories > .student-module-hero {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 39%);
    min-height: 360px;
    padding: clamp(26px, 3.5vw, 52px);
    border-color: rgba(240, 179, 52, .32);
    border-radius: 22px;
    background: linear-gradient(105deg, #fff 0%, #fffdf9 48%, #fff5e5 100%);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .08);
}

    .sofl-student-categories > .student-module-hero::before {
        opacity: .45;
    }

    .sofl-student-categories > .student-module-hero h1 {
        font-size: clamp(2.7rem, 4.3vw, 4.35rem);
    }

    .sofl-student-categories > .student-module-hero p {
        max-width: 660px;
        font-size: clamp(1rem, 1.3vw, 1.2rem);
    }

    .sofl-student-categories > .student-module-hero .student-module-hero-stats {
        grid-template-columns: repeat(3, minmax(110px, 1fr));
        max-width: 650px;
        gap: 24px;
    }

        .sofl-student-categories > .student-module-hero .student-module-hero-stats strong {
            font-size: clamp(1.6rem, 2vw, 2.2rem);
        }

   /* .sofl-student-categories > .student-module-hero .student-module-hero-visual img {
        width: min(100%, 470px);
        max-height: 315px;
    }*/

    .sofl-student-categories > .student-module-hero .student-module-btn {
        min-width: 158px;
        min-height: 52px;
        font-size: 1rem;
    }

        .sofl-student-categories > .student-module-hero .student-module-btn:nth-child(2) {
            background: #f5b83e;
            border-color: #f5b83e;
        }

            .sofl-student-categories > .student-module-hero .student-module-btn:nth-child(2) i {
                color: #061a3d;
            }

@media (max-width: 991px) {
    .sofl-student-categories > .student-module-hero {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 32%);
        gap: 12px;
    }

        .sofl-student-categories > .student-module-hero .student-module-hero-stats {
            gap: 16px;
        }
}

@media (max-width: 767px) {
    .sofl-student-categories > .student-module-hero {
        grid-template-columns: 1fr;
        padding: 24px;
    }

        .sofl-student-categories > .student-module-hero .student-module-hero-stats {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .sofl-student-categories > .student-module-hero .student-module-hero-visual {
            justify-content: center;
        }

            .sofl-student-categories > .student-module-hero .student-module-hero-visual img {
                max-height: 230px;
            }
}

@media (max-width: 480px) {
    .sofl-student-categories > .student-module-hero {
        padding: 20px 16px;
    }

        .sofl-student-categories > .student-module-hero .student-module-hero-copy {
            grid-template-columns: 5px minmax(0, 1fr);
            gap: 14px;
        }

        .sofl-student-categories > .student-module-hero .student-module-hero-accent {
            width: 5px;
            height: 90px;
        }

        .sofl-student-categories > .student-module-hero .student-module-hero-stats {
            gap: 10px;
        }

            .sofl-student-categories > .student-module-hero .student-module-hero-stats > div + div::before {
                left: -6px;
            }

            .sofl-student-categories > .student-module-hero .student-module-hero-stats strong {
                font-size: 1.3rem;
            }

            .sofl-student-categories > .student-module-hero .student-module-hero-stats span {
                font-size: .73rem;
                overflow-wrap: anywhere;
            }

        .sofl-student-categories > .student-module-hero .student-module-hero-actions {
            flex-direction: column;
        }

        .sofl-student-categories > .student-module-hero .student-module-btn {
            width: 100%;
        }
}

.sofl-student-categories .student-category-learning-card {
    min-height: 300px;
    border-color: rgba(240, 179, 52, .38);
    border-radius: 22px;
    background: linear-gradient(108deg, #fff 0%, #fffdf9 55%, #fff5e5 100%);
    box-shadow: 0 16px 35px rgba(15, 23, 42, .07);
}

.sofl-student-categories .student-category-learning-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-self: stretch;
}

    .sofl-student-categories .student-category-learning-title {
        display: block;
        overflow: visible;
        white-space: normal;
        text-overflow: clip;
        grid-column: 1 / -1;
        width: 100%;
        margin: 0;
        font-size: clamp(1rem, 1.5vw, 3.15rem);
        line-height: 1.04;
        overflow-wrap: anywhere;
    }

    .sofl-student-categories .student-category-learning-copy > p {
        display: block;
        overflow: visible;
        min-height: 0;
        font-size: clamp(1.125rem, 1.25vw, 1rem);
        line-height: 1.4;
    }

.sofl-student-categories .student-category-learning-card .student-category-hero-progress,
.sofl-student-categories .student-category-free-terms {
    margin-top: auto;
    padding-top: 32px;
}

.sofl-student-categories .student-category-learning-card .student-category-hero-progress-meta {
    margin-bottom: 10px;
}

    .sofl-student-categories .student-category-learning-card .student-category-hero-progress-meta span {
        color: #4d4d4d;
        font-size: 1rem;
    }

.sofl-student-categories .student-category-progress-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

    .sofl-student-categories .student-category-progress-row .student-progress {
        flex: 1 1 auto;
        min-width: 0;
        height: 11px;
    }

    .sofl-student-categories .student-category-progress-row > strong {
        flex: 0 0 auto;
        color: #4d4d4d;
        font-size: 1rem;
    }

.sofl-student-categories .student-category-free-terms {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #061a3d;
    font-size: 1.1rem;
}

    .sofl-student-categories .student-category-free-terms i {
        color: #a66b00;
        font-size: 1.55rem;
    }

.sofl-student-categories .student-category-learning-card .student-category-hero-chart {
    opacity: .23;
}

@media (max-width: 575.98px) {
    .sofl-student-categories .student-category-learning-card {
        min-height: 0;
    }

    .sofl-student-categories .student-category-learning-title {
        margin-top: 0;
    }

    .sofl-student-categories .student-category-learning-card .student-category-hero-progress,
    .sofl-student-categories .student-category-free-terms {
        padding-top: 22px;
    }
}

/*.sofl-student-finlexicon .finlexicon-category-sort-toggle {
    gap: 12px;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #c5a45b;
    border-radius: 13px;
    background: #fff;
    color: #061a3d;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 600;
}*/

  /*  sofl-student-finlexicon .finlexicon-category-sort-toggle > i:first-child {
        color: #b38a32;
        font-size: 1rem;
    }*/

    .sofl-student-finlexicon .finlexicon-category-sort-toggle > i:last-child {
        margin-left: 9px;
        color: #061a3d;
    }

    .sofl-student-finlexicon .finlexicon-category-sort-toggle:hover,
    .sofl-student-finlexicon .finlexicon-category-sort-toggle:focus-visible,
    .sofl-student-finlexicon .finlexicon-category-sort-toggle.show {
        border-color: #a97c20;
        box-shadow: 0 0 0 3px rgba(240, 179, 52, .14);
    }

.sofl-student-finlexicon .finlexicon-category-sort-menu {
    min-width: 210px;
    max-width: calc(100vw - 24px);
    padding: 8px;
    border: 1px solid rgba(197, 164, 91, .25);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
}

    .sofl-student-finlexicon .finlexicon-category-sort-menu .dropdown-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 42px;
        padding: 10px 14px;
        border-radius: 10px;
        color: #061a3d;
        font-family: var(--font-heading);
        font-size: 1rem;
        font-weight: 500;
    }

        .sofl-student-finlexicon .finlexicon-category-sort-menu .dropdown-item.active,
        .sofl-student-finlexicon .finlexicon-category-sort-menu .dropdown-item:hover,
        .sofl-student-finlexicon .finlexicon-category-sort-menu .dropdown-item:focus {
            background: #fbf7ee;
            color: #061a3d;
        }

[data-finlexicon-terms-page].no-finlexicon-access .finlexicon-category-sort-menu .dropdown-item.active {
    color: #a97c20;
}

.sofl-student-finlexicon .finlexicon-category-sort-menu .dropdown-item i {
    color: #b38a32;
    font-size: .85rem;
}

@media (max-width: 575.98px) {
    .sofl-student-categories .student-finlexicon-toolbar-left {
        display: flex;
        flex-wrap: wrap;
    }

    .sofl-student-finlexicon .student-finlexicon-toolbar-left .finlexicon-category-sort {
        width: auto;
    }

    .sofl-student-finlexicon .finlexicon-category-sort-toggle {
        width: auto;
    }

    [data-finlexicon-terms-page] .student-finlexicon-toolbar-left .finlexicon-category-sort,
    [data-finlexicon-terms-page] .finlexicon-category-sort-toggle {
        width: 100%;
        min-width: 0;
    }

    [data-finlexicon-terms-page] .finlexicon-category-sort-toggle {
        gap: 6px;
        padding-inline: 8px;
        font-family: inherit;
        font-size: .82rem;
    }

        [data-finlexicon-terms-page] .finlexicon-category-sort-toggle > i:last-child {
            margin-left: 0;
        }

    .sofl-student-finlexicon .finlexicon-category-sort-menu {
        min-width: min(210px, calc(100vw - 32px));
    }
}











[data-finlexicon-terms-page].no-finlexicon-access > .student-module-hero .student-module-hero-stats > div:last-child strong,
[data-finlexicon-terms-page].no-finlexicon-access > .student-module-hero .student-module-hero-stats > div:last-child span,
[data-category-browse].is-sample > .student-module-hero .student-module-hero-stats > div:last-child strong,
[data-category-browse].is-sample > .student-module-hero .student-module-hero-stats > div:last-child span {
    color: #bd7700;
}

/*[data-finlexicon-terms-page] > .student-module-hero .student-module-hero-visual img {
    width: min(100%, 470px);
    max-height: 285px;
}*/





[data-finlexicon-terms-page].has-finlexicon-access > .student-module-hero .student-module-btn:first-child,
[data-finlexicon-terms-page].no-finlexicon-access > .student-module-hero .student-module-btn:last-child {
    background: #bb8c2b;
    border-color: #bb8c2b;
    color: #fff;
}

[data-finlexicon-terms-page] .finlexicon-start-here-card {
    padding: 22px 26px;
    border: 1px solid rgba(201, 152, 47, .34);
    border-radius: 12px;
    background: linear-gradient(105deg, #fff 0%, #fffbf2 100%);
}

    [data-finlexicon-terms-page] .finlexicon-start-here-card .student-section-header h2 {
        font-family: var(--font-heading);
        font-size: clamp(1.55rem, 2vw, 2.15rem);
    }

[data-finlexicon-terms-page] .finlexicon-start-here-progress {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(160px, 2fr) auto;
    align-items: center;
    gap: 24px;
    margin-top: 12px;
    padding: 18px 24px;
    border-radius: 12px;
}

    [data-finlexicon-terms-page] .finlexicon-start-here-progress h3 {
        margin: 0 0 4px;
        color: #061a3d;
        font-family: var(--font-heading);
        font-size: 1.15rem;
    }

    [data-finlexicon-terms-page] .finlexicon-start-here-progress p {
        margin: 0;
        color: #4d4d4d;
        font-size: .9rem;
    }

    [data-finlexicon-terms-page] .finlexicon-start-here-progress .student-progress {
        height: 12px;
        margin: 0;
        border-radius: 999px;
        background: #e8edf4;
    }

        [data-finlexicon-terms-page] .finlexicon-start-here-progress .student-progress span {
            display: block;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, #b97a00, #f4c65c);
        }

    [data-finlexicon-terms-page] .finlexicon-start-here-progress > strong {
        color: #061a3d;
    }

[data-finlexicon-terms-page] .finlexicon-active-filters {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 6px;
}

    [data-finlexicon-terms-page] .finlexicon-active-filters a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 6px 10px;
        border-radius: 999px;
        background: #fbf3e2;
        color: #74500b;
        font-size: .82rem;
        text-decoration: none;
    }

        [data-finlexicon-terms-page] .finlexicon-active-filters a:hover {
            background: #f6e6c6;
        }

@media (max-width: 991.98px) {


    [data-finlexicon-terms-page] .finlexicon-start-here-progress {
        grid-template-columns: 1fr auto;
    }

        [data-finlexicon-terms-page] .finlexicon-start-here-progress .student-progress {
            grid-column: 1 / -1;
            grid-row: 2;
        }
}

@media (max-width: 767.98px) {





}

@media (max-width: 480px) {







}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-card {
    min-height: 280px;
    border-color: rgba(15, 23, 42, .11);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-card:is(:hover, :focus-within) {
    border-color: var(--term-card-accent);
}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-card-body {
    gap: 1.25rem;
    padding: 1.65rem 1.4rem 1.15rem;
}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-card h3 {
    min-height: 0;
    font-size: clamp(1rem, 1.65vw, 1.25rem);
}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #66748a;
    font-size: 1rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

:is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-actions {
    padding: 12px 18px 14px;
}

@media (max-width: 575.98px) {
    :is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-card-body {
        padding: 19px 18px 15px;
    }

    :is([data-finlexicon-terms-page] [data-terms-list], [data-finlexicon-card-list]) .student-term-actions {
        padding: 12px 18px 16px;
    }
}

/* Entitled category discovery: shared hero and cards, Sora/Inter typography. */
.sofl-student-categories.is-entitled > .student-module-hero {
    border: 1px solid #f0d7a5;
    border-radius: 24px;
    background: linear-gradient(110deg, #fff 25%, #fff7e8);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.sofl-student-categories .finlexicon-category-sort-toggle,
.sofl-student-categories .finlexicon-category-sort-menu {
    font-family: var(--font-body);
}

    .sofl-student-categories .finlexicon-category-sort-menu .active {
        background: #fbf5e8;
        color: #102344;
    }

.sofl-student-categories a:focus-visible,
.sofl-student-categories button:focus-visible {
    outline: 3px solid #b67a0b;
    outline-offset: 3px;
}

.student-category-status {
    color: #4d4d4d;
    min-height: 1.5em;
}

[data-category-results][aria-busy="true"] {
    opacity: .65;
}

[data-finlexicon-terms-page] .student-filter-dropdown {
    max-height: calc(100dvh - 7rem);
    overflow-y: auto;
}
/* Listing discovery header follows the panel Blog toolbar geometry. */
[data-finlexicon-terms-page] .term-listing-heading {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    /*margin-bottom: 18px;*/
    padding-top: 20px;
}
[data-finlexicon-terms-page] .term-listing-heading-copy {
    flex: 1 1 300px;
    min-width: 0;
}
[data-finlexicon-terms-page] .term-listing-heading-copy h2 {
    font-weight: 700;
    margin: 0 0 5px;
    font-size: 28px;
    letter-spacing: -.03em;
    color: #0f1b2d;
}
[data-finlexicon-terms-page] .term-listing-heading-copy p {
    margin: 0;
    color: #4d4d4d;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-search {
    order: 1;
    flex: 0 1 clamp(220px, 23vw, 340px);
    min-width: 0;
    width: clamp(220px, 23vw, 340px);
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-left {
    display: flex;
    order: 2;
    gap: 10px;
    flex-wrap: nowrap;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #dfe7ed;
    border-radius: 9px;
    box-shadow: none;
    gap: 10px;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search .form-control {
    padding: 10px 0;
    font-size: 15px;
    font-weight: 400;
    background-color: #fff;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search .form-control:focus {
    background-color: #fff;
    box-shadow: none;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search .form-control:is(:autofill, :-webkit-autofill) {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #0f172a;
}
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search > i { font-size: 1rem; }
[data-finlexicon-terms-page] .term-listing-heading .student-toolbar-control {
    min-height: 44px;
    padding: 0 18px;
    /*border: 1px solid #dfe7ed;*/
    border-radius: 9px;
    box-shadow: none;
    font-size: 14px;
}
[data-finlexicon-terms-page] .term-listing-heading .student-shared-filter > button > .fa-chevron-down { display: none; }
[data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-search:focus-within {
    outline: 2px solid var(--term-toolbar-accent);
    outline-offset: 2px;
}
@media (max-width: 991.98px) {
    [data-finlexicon-terms-page] .term-listing-heading-copy { flex-basis: 100%; }
    [data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-search { flex: 1 1 220px; }
}
@media (max-width: 575.98px) {
    [data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-search { flex-basis: 100%; width: 100%; }
    [data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-left { width: 100%; }
    [data-finlexicon-terms-page] .term-listing-heading .student-finlexicon-toolbar-left > .dropdown { flex: 1 1 0; width: auto; }
    [data-finlexicon-terms-page] .term-listing-heading .student-toolbar-control { width: 100%; }
}
/* Consistent typography and spacing for the Terms discovery popups. */
[data-finlexicon-terms-page] :is(.student-filter-dropdown, .finlexicon-category-sort-menu) {
    font-family: var(--font-body, Inter, sans-serif);
    font-size: 14px;
    line-height: 1.5;
    color: #061a3d;
    border: 1px solid #dfe7ed;
    border-radius: 12px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
}
[data-finlexicon-terms-page] .student-filter-dropdown {
    width: min(360px, calc(100vw - 32px));
    padding: 18px;
}
[data-finlexicon-terms-page] .student-filter-dropdown-grid { gap: 16px; }
[data-finlexicon-terms-page] .student-filter-dropdown .sofl-form-label {
    display: block;
    margin: 0 0 6px;
    font: inherit;
    font-weight: 600;
}
[data-finlexicon-terms-page] .student-filter-dropdown :is(.form-select, .form-control) {
    width: 100%;
    min-height: 44px;
    padding-block: 10px;
    padding-left: 12px;
    border: 1px solid #d8e0ea;
    border-radius: 8px;
    background-color: #fff;
    color: #061a3d;
    font: inherit;
}
[data-finlexicon-terms-page] .student-filter-dropdown :is(.form-select, .form-control):focus {
    border-color: var(--term-toolbar-accent, #bb8c2b);
    box-shadow: 0 0 0 3px rgba(187, 140, 43, .14);
}
[data-finlexicon-terms-page] .student-filter-dropdown-actions {
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid #edf0f4;
}
[data-finlexicon-terms-page] .student-filter-dropdown-actions :is(.sofl-btn-gold, .sofl-btn-outline) {
    min-height: 44px;
    padding: 10px 16px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}
[data-finlexicon-terms-page] .finlexicon-category-sort-menu .dropdown-item {
    min-height: 44px;
    padding: 10px 14px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}
[data-finlexicon-terms-page] .finlexicon-category-sort-menu .dropdown-item:focus-visible {
    outline: 2px solid var(--term-toolbar-accent, #bb8c2b);
    outline-offset: -2px;
}

/* Hero listing links land below the sticky portal header. */
#terms-listing { scroll-margin-top:100px; }

.sofl-related-tab:disabled { cursor:default; opacity:.55; box-shadow:none; }
.sofl-term-auto-link {
    color: var(--term-gold)
}

.sofl-student-categories .student-category-learning-card { row-gap:20px; }
.sofl-student-categories .student-category-learning-title { -webkit-line-clamp:unset; }
