:root{--speciss-green:#00864a;--speciss-green-dark:#006b3b;--speciss-green-soft:#e9f6f0;--speciss-navy:#183761;--speciss-pink:#e12454;--speciss-ink:#17253a;--speciss-bg:#f6f8f7}
html,body,button,input,select,textarea{font-family:'Poppins',Arial,sans-serif!important}
body{color:var(--speciss-ink)}
a{color:var(--speciss-green)}a:hover{color:var(--speciss-green-dark)}
.navbar-bg,.main-navbar{background:var(--speciss-green)!important}
.btn-primary,.badge-primary,.bg-primary,.progress-bar{background-color:var(--speciss-green)!important;border-color:var(--speciss-green)!important}
.btn-primary:hover,.btn-primary:focus{background-color:var(--speciss-green-dark)!important;border-color:var(--speciss-green-dark)!important}
.btn-outline-primary{color:var(--speciss-green)!important;border-color:var(--speciss-green)!important}.btn-outline-primary:hover{color:#fff!important;background:var(--speciss-green)!important}
.text-primary{color:var(--speciss-green)!important}.form-control:focus{border-color:var(--speciss-green);box-shadow:0 0 0 .2rem rgba(0,134,74,.14)}
.main-sidebar .sidebar-menu li.active a,.main-sidebar .sidebar-menu li ul.dropdown-menu li.active>a{color:var(--speciss-green)!important}
.main-sidebar .sidebar-menu li.active>a:before{background:var(--speciss-green)!important}
.main-sidebar .sidebar-menu li a:hover{background:var(--speciss-green-soft)!important;color:var(--speciss-green-dark)!important}
.speciss-sidebar-logo{width:132px;height:auto;max-height:48px;object-fit:contain}.speciss-sidebar-mark{color:var(--speciss-green)!important;font-weight:700!important}
.speciss-nav-logo{display:block;width:auto;height:34px;object-fit:contain}.speciss-nav-logo-light{background:#fff;border-radius:5px;padding:3px 7px;height:42px}
.brand-center{font-size:0!important;text-shadow:none!important}.brand-center .speciss-nav-logo{height:30px}
.speciss-navbar{background:linear-gradient(135deg,var(--speciss-navy),#102746)!important}
.student-course-player .course-outline-panel .nav-link.active{color:var(--speciss-green)!important;background:var(--speciss-green-soft)!important}.student-course-player .lesson-item-active>a{background:var(--speciss-green-soft)!important;border-left-color:var(--speciss-green)!important}.student-course-player .lesson-item-active .lesson-status-icon,.student-course-player .lesson-item-active .lesson-item-link{color:var(--speciss-green)!important}
@media(max-width:575px){.speciss-sidebar-logo{width:116px}.brand-center .speciss-nav-logo{height:25px}}
.quiz-session-stats{grid-template-columns:repeat(6,1fr)}
@media(max-width:900px){.quiz-session-stats{grid-template-columns:repeat(2,1fr)}}
/* Shared accessibility and responsive acceptance baseline. */
.skip-to-content {
    position: fixed;
    top: .75rem;
    left: .75rem;
    z-index: 100000;
    transform: translateY(-160%);
    padding: .75rem 1rem;
    border-radius: .5rem;
    background: #fff;
    color: #063b24;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
    font-weight: 600;
}

.skip-to-content:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #f3b61f !important;
    outline-offset: 3px;
}

.table-responsive { -webkit-overflow-scrolling: touch; }

@media (max-width: 767.98px) {
    .section .section-header { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .section-header-breadcrumb { margin-left: 0 !important; }
    .card-header { align-items: flex-start; flex-wrap: wrap; gap: .75rem; }
    .card-header .card-header-action { margin-left: 0; width: 100%; }
    .card-header .card-header-action .btn, .backend-card-actions .btn { min-height: 44px; }
    .form-control, .custom-select, button.btn, a.btn { min-height: 44px; }
    .table { min-width: 680px; }
}

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

/* A lighter type scale across the public, learner, and staff experiences. */
body { font-weight: 400; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.section-title,
.card-title,
.card-header h4 {
    font-weight: 500 !important;
}

strong, b { font-weight: 500; }

.btn,
.badge,
label,
.form-label,
.form-check-label,
.dropdown-item {
    font-weight: 400 !important;
}

.nav-link,
.main-nav-link,
.boards-trigger,
.toolbar-btn,
.main-sidebar .sidebar-menu li a,
.main-sidebar .sidebar-menu li.menu-header {
    font-weight: 500 !important;
}

.font-weight-bold,
.font-weight-700,
.fw-bold {
    font-weight: 600 !important;
}

.font-weight-semibold,
.font-weight-600,
.fw-semibold {
    font-weight: 500 !important;
}

.font-weight-500,
.fw-medium {
    font-weight: 400 !important;
}

.auth-card .h1,
.auth-card .h2,
.auth-card .h3,
.auth-card .h4,
.auth-card .h5,
.auth-card .h6 {
    font-weight: 400 !important;
}

.college-home .college-hero h1 { font-weight: 600 !important; }
.college-home .college-eyebrow,
.college-home .college-visual-label { font-weight: 600 !important; }
.college-home .college-nav a,
.college-home .college-button,
.college-home .college-text-link,
.college-home .college-benefit h3 { font-weight: 500 !important; }

/* Keep record and page actions in one horizontal row at every breakpoint. */
.table-actions-inline,
.row-actions-inline,
.table td.text-right,
.page-actions {
    white-space: nowrap;
}

.table-actions-inline,
.row-actions-inline,
.page-actions {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap !important;
    gap: .4rem;
    max-width: 100%;
    overflow-x: auto;
}

.table-actions-inline > .btn,
.table-actions-inline > form,
.row-actions-inline > .btn,
.row-actions-inline > form,
.page-actions > .btn,
.page-actions > form {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
}

.table-actions-inline > form,
.row-actions-inline > form,
.page-actions > form { display: inline-flex !important; }

/* Compact, consistent controls on narrow screens. */
@media (max-width: 575.98px) {
    button.btn,
    a.btn {
        min-height: 36px;
        padding: .45rem .75rem;
        border-radius: .45rem;
        font-size: .78rem;
        line-height: 1.2;
    }

    button.btn.btn-sm,
    a.btn.btn-sm {
        min-height: 34px;
        padding: .38rem .65rem;
        border-radius: .4rem;
        font-size: .74rem;
    }

    button.btn.btn-icon,
    a.btn.btn-icon {
        width: 36px;
        min-width: 36px;
        padding: 0;
    }

    .card-header .card-header-action,
    .backend-card-actions {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: .5rem;
        overflow-x: auto;
        padding-bottom: .2rem;
    }

    .card-header .card-header-action .btn,
    .backend-card-actions .btn {
        flex: 0 0 auto;
        min-height: 36px;
        white-space: nowrap;
    }
}
