/* CSCMS Global Styling Overrides for Forms and Contrast */

/* High-contrast placeholders for inputs and textareas on dark backgrounds */
.form-control::placeholder,
.textarea-custom::placeholder,
textarea::placeholder,
input::placeholder {
    color: #cbd5e1 !important; /* Lighter, highly contrasting light gray (WCAG compliant) */
    opacity: 1 !important;     /* Full opacity for maximum readability */
}

/* Base input text color and background contrast */
.form-control, 
.form-select, 
.textarea-custom,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
textarea,
select {
    background-color: #0f172a !important; /* Deep slate dark background */
    border: 1px solid rgba(255, 255, 255, 0.3) !important; /* High contrast border line */
    color: #ffffff !important; /* Crisp white text */
}

/* Focused states for forms */
.form-control:focus, 
.form-select:focus, 
.textarea-custom:focus,
input:focus,
textarea:focus,
select:focus {
    background-color: #0f172a !important;
    border-color: #ff8c1a !important; /* Highlight brand orange */
    box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35) !important;
    color: #ffffff !important;
}

/* Disabled or Read-only input fields */
.form-control:disabled, 
.form-control[readonly],
input[readonly],
textarea[readonly] {
    background-color: #1e293b !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #94a3b8 !important;
}

/* Dashboard layout isolation
 *
 * The legacy pages below were consolidated into this shared stylesheet.  Some
 * of them intentionally use a centred, fixed-width card or a full-screen flex
 * layout (for login and SDS review).  Keep those specialised styles from
 * constraining the operational compliance dashboard.
 */
body.dashboard-page {
    display: block;
    height: auto;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
}

.dashboard-page .matrix-card {
    width: 100%;
    max-width: none;
    margin: 0;
}

.dashboard-page .table-responsive {
    scrollbar-color: rgba(148, 163, 184, 0.65) transparent;
}

@media (max-width: 991.98px) {
    .dashboard-page .dashboard-heading {
        align-items: flex-start !important;
        flex-direction: column;
        margin-bottom: 2rem !important;
    }

    .dashboard-page .dashboard-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .dashboard-page .dashboard-shell {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .dashboard-page .dashboard-actions .btn {
        width: 100%;
    }

    .dashboard-page .matrix-card {
        padding: 1rem !important;
        border-radius: 12px;
    }
}



/* === STYLES FROM ORIGINAL: assessments\quiz_empty.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .error-card {
            background: #1e293b;
            border: 2px solid #f59e0b; /* Safety Amber */
            border-radius: 16px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
            max-width: 550px;
            width: 100%;
            padding: 3rem;
            text-align: center;
        }
        .warning-icon {
            font-size: 4rem;
            color: #f59e0b;
            margin-bottom: 1.5rem;
        }
        .btn-back {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
            font-weight: 600;
            padding: 10px 24px;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }


/* === STYLES FROM ORIGINAL: assessments\quiz_locked.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .lock-card {
            background: #1e293b;
            border: 2px solid #ef4444;
            border-radius: 16px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
            max-width: 500px;
            width: 100%;
            padding: 3rem;
            text-align: center;
        }
        .lock-icon {
            font-size: 4rem;
            color: #ef4444;
            margin-bottom: 1.5rem;
        }
        .btn-back {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
            font-weight: 600;
            padding: 10px 24px;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }


/* === STYLES FROM ORIGINAL: assessments\quiz_result.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .result-card {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
            max-width: 600px;
            width: 100%;
            padding: 3rem;
            text-align: center;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .icon-result {
            font-size: 5rem;
            margin-bottom: 1.5rem;
        }
        .text-success-custom {
            color: #10b981 !important;
        }
        .text-danger-custom {
            color: #ef4444 !important;
        }
        .btn-action {
            font-weight: 700;
            padding: 12px 28px;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
        }
        .btn-primary-custom {
            background-color: #ff7a00;
            color: #fff;
            border: none;
        }
        .btn-primary-custom:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .btn-secondary-custom {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
        }
        .btn-secondary-custom:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }


/* === STYLES FROM ORIGINAL: assessments\quiz_take.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        body.split-layout {
            height: 100vh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .main-workspace {
            display: block;
        }
        body.split-layout .main-workspace {
            flex: 1;
            display: flex;
            overflow: hidden;
        }
        .pdf-panel {
            display: none;
        }
        body.split-layout .pdf-panel {
            display: block;
            flex: 1;
            border-right: 1px solid rgba(255, 255, 255, 0.15);
            background-color: #1e293b;
        }
        .quiz-panel {
            width: 100%;
        }
        body.split-layout .quiz-panel {
            width: 50%;
            overflow-y: auto;
            background-color: #0f172a;
            padding: 2.5rem;
        }
        .quiz-container {
            max-width: 800px;
            margin: 4rem auto;
        }
        body.split-layout .quiz-container {
            max-width: 100%;
            margin: 0 auto;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .question-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }
        .form-check-label {
            cursor: pointer;
            color: #cbd5e1;
            font-weight: 500;
        }
        .form-check-input {
            cursor: pointer;
            border-color: rgba(255, 255, 255, 0.3);
            background-color: #0f172a;
        }
        .form-check-input:checked {
            background-color: #ff7a00;
            border-color: #ff7a00;
        }
        .timer-badge {
            background-color: rgba(239, 68, 68, 0.15);
            border: 1px solid #ef4444;
            color: #ef4444;
            padding: 8px 16px;
            border-radius: 20px;
            font-weight: 700;
            font-size: 1.1rem;
        }
        .btn-submit {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 700;
            border: none;
            padding: 14px 28px;
            border-radius: 8px;
            transition: all 0.2s;
        }
        .btn-submit:hover {
            background-color: #e06c00;
            color: #fff;
            transform: translateY(-1px);
        }


/* === STYLES FROM ORIGINAL: competencies\assign_sds.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .selection-list {
            max-height: 400px;
            overflow-y: auto;
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            padding: 1rem;
        }
        .selection-item {
            padding: 0.5rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            align-items: center;
        }
        .selection-item:last-child {
            border-bottom: none;
        }
        .form-check-input {
            background-color: #1e293b;
            border-color: rgba(255, 255, 255, 0.25);
        }
        .form-check-input:checked {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
        }


/* === STYLES FROM ORIGINAL: competencies\bulk_signoff.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-select, .form-control {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-select:focus, .form-control:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-select option {
            background-color: #0f172a;
            color: #fff;
        }

/* Shared client-facing application shell. These late rules deliberately
   override legacy page-specific dark styles while templates are consolidated. */
body.dashboard-page {
    background: #f4f7fb !important;
    color: #1f2937 !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
}

body.dashboard-page .cscms-navbar {
    width: 100%;
    background: var(--tenant-primary, #132238) !important;
    border-bottom: 3px solid var(--tenant-accent, #f59e0b) !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
}

body.dashboard-page .cscms-navbar .navbar-brand,
body.dashboard-page .cscms-navbar .nav-link.active {
    color: #ffffff !important;
}

body.dashboard-page .cscms-navbar .nav-link {
    color: #dbe5f0 !important;
}

/* Keep account and role labels readable on the dark navigation bar. */
body.dashboard-page .cscms-navbar .text-white-50,
body.dashboard-page .cscms-navbar .text-muted {
    color: #dbe5f0 !important;
}

body.dashboard-page .cscms-navbar .nav-link:hover {
    color: #fbbf24 !important;
}

body.dashboard-page .card,
body.dashboard-page .card-glass,
body.dashboard-page .card-section,
body.dashboard-page .card-stat {
    background: #ffffff !important;
    color: #1f2937 !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07) !important;
}

/* Individual legacy pages define a narrow .card-glass for their sign-in
 * forms.  Operational dashboards reuse that class, so explicitly release
 * them from the form width constraint. */
body.dashboard-page .card-glass {
    width: auto;
    max-width: none;
}

body.dashboard-page .worker-portal-container,
body.dashboard-page .worker-portal-container .card-glass {
    width: 100% !important;
    max-width: none !important;
}

/* Operational screens are information-dense and must use the available
 * workspace.  Do not inherit centred authentication-card constraints. */
body.dashboard-page .container-fluid > .row > [class*="col-"] > .card-glass,
body.dashboard-page .container-fluid > .row > [class*="col-"] > .card {
    width: 100% !important;
    max-width: none !important;
}

/* Quizzes may contain several questions. Use normal document scrolling rather
 * than the fixed SDS split-screen, which can trap the submit controls below
 * the viewport. */
body.quiz-take-page {
    display: block !important;
    height: auto !important;
    min-height: 100vh;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body.quiz-take-page .quiz-workspace {
    display: block !important;
    overflow: visible !important;
}

body.quiz-take-page .quiz-workspace .pdf-panel {
    display: none !important;
}

body.quiz-take-page .quiz-panel {
    width: 100% !important;
    overflow: visible !important;
    background-color: #0f172a;
    padding: 2.5rem 1.25rem;
}

body.quiz-take-page .quiz-container {
    max-width: 800px;
    margin: 0 auto;
}

body.dashboard-page h1,
body.dashboard-page h2,
body.dashboard-page h3,
body.dashboard-page h4,
body.dashboard-page h5,
body.dashboard-page h6,
body.dashboard-page .form-label,
body.dashboard-page .form-check-label,
body.dashboard-page .table,
body.dashboard-page .table th,
body.dashboard-page .table td {
    color: #1f2937 !important;
}

body.dashboard-page .text-muted,
body.dashboard-page .text-white-50 {
    color: #64748b !important;
}

body.dashboard-page .form-control,
body.dashboard-page .form-select,
body.dashboard-page .textarea-custom {
    background: #ffffff !important;
    color: #1f2937 !important;
    border-color: #cbd5e1 !important;
}

body.dashboard-page .btn-outline-light {
    color: #334155 !important;
    border-color: #94a3b8 !important;
}

body.dashboard-page .btn-outline-light:hover {
    background: #e2e8f0 !important;
}

body.dashboard-page .cscms-footer {
    width: 100%;
    margin-top: auto;
    background: var(--tenant-primary, #132238);
    color: #dbe5f0;
    border-top: 3px solid #f59e0b;
}

body.login-page > .card-glass {
    width: min(100% - 2.5rem, 460px);
    margin: auto;
    padding: 2.5rem;
    background: #ffffff !important;
    border: 1px solid #d8e1ec !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12) !important;
}

body.login-page .cscms-footer {
    width: 100%;
    margin-top: auto;
    background: #132238;
    color: #dbe5f0;
    border-top: 3px solid #f59e0b;
}

.brand-logo-preview,
.brand-logo {
    max-height: 42px;
    max-width: 180px;
    width: auto;
    object-fit: contain;
}

/* Learner assessment workspace */
.quiz-take-page .cscms-navbar {
    width: 100%;
    background: #132238;
    border-bottom: 3px solid #f59e0b;
}

.worker-guidance-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

/* Client-facing dashboard theme: brighter operational surfaces, full-width navigation. */
body.dashboard-page {
    background: #f4f7fb;
    color: #172033;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.dashboard-page > main,
.dashboard-page > .container:not(.cscms-footer) {
    flex: 1 0 auto;
}

.dashboard-page .cscms-navbar {
    background: #132238 !important;
    border-bottom: 3px solid #f59e0b;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.16);
    width: 100%;
    box-sizing: border-box;
}

.dashboard-page .navbar-brand {
    color: #fbbf24 !important;
}

.dashboard-page .navbar-nav .nav-link {
    color: #d7e3f1;
    font-weight: 600;
}

.dashboard-page .navbar-nav .nav-link:hover,
.dashboard-page .navbar-nav .nav-link.active {
    color: #ffffff;
}

.dashboard-page h1,
.dashboard-page h2,
.dashboard-page h3,
.dashboard-page h4,
.dashboard-page h5,
.dashboard-page h6 {
    color: #172033 !important;
}

.dashboard-page .card-glass,
.dashboard-page .status-card {
    background: #ffffff;
    border-color: #d8e1ec;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.dashboard-page .text-muted {
    color: #607087 !important;
}

.dashboard-page .table-dark-custom {
    --bs-table-bg: transparent;
    color: #172033;
}

.dashboard-page .table-dark-custom th {
    color: #4b5d75 !important;
    border-bottom-color: #d8e1ec;
}

.dashboard-page .table-dark-custom td {
    color: #172033 !important;
    border-bottom-color: #e7edf4;
}

.dashboard-page tr:hover {
    background-color: #f8fafc !important;
}

.cscms-footer {
    margin-top: 3rem;
    padding: 1.5rem 0;
    background: #132238;
    color: #cbd5e1;
    font-size: 0.875rem;
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
}

.cscms-footer strong {
    color: #fbbf24;
}

/* Login shares the dashboard's brand language without inheriting its workspace layout. */
body.login-page {
    background: #f4f7fb;
    color: #172033;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.login-brandbar {
    background: #132238;
    border-bottom: 3px solid #f59e0b;
    padding: 1rem 0;
}

.login-brandbar .navbar-brand {
    color: #fbbf24 !important;
    font-weight: 700;
}

.login-shell {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.25rem;
}

.login-page .login-card {
    width: min(100%, 460px);
    max-width: 460px;
    margin: 0;
    padding: 2.5rem;
    background: #ffffff;
    border-color: #d8e1ec;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.login-page .brand-text {
    color: #172033;
    font-size: 2rem;
}

.login-page .text-muted {
    color: #607087 !important;
}

.login-page .form-label {
    color: #334155 !important;
}

.login-page .form-control {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #172033 !important;
}

.login-page .form-control:focus {
    background: #ffffff !important;
    border-color: #f59e0b !important;
    color: #172033 !important;
}

.login-page .form-control::placeholder {
    color: #94a3b8 !important;
}

body.quiz-result-page {
    background: #f4f7fb;
    color: #172033;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.quiz-result-shell {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.25rem;
}

.quiz-result-page .result-card {
    width: min(100%, 640px);
    max-width: 640px;
    padding: 3rem;
    background: #ffffff;
    border: 1px solid #d8e1ec;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.quiz-result-page h2,
.quiz-result-page h4,
.quiz-result-page strong {
    color: #172033;
}

.quiz-result-page .text-muted {
    color: #607087 !important;
}

.quiz-result-page .btn-secondary-custom {
    color: #334155;
    border-color: #cbd5e1;
}

.quiz-result-page .btn-secondary-custom:hover {
    color: #172033;
    background: #f1f5f9;
}

@media (max-width: 991.98px) {
    .dashboard-page .cscms-navbar .navbar-collapse {
        padding-top: 1rem;
    }

    .dashboard-page .cscms-navbar .nav-account {
        align-items: flex-start !important;
        flex-direction: column;
        padding: 1rem 0 0.25rem;
    }

    .dashboard-page .cscms-navbar .nav-account form,
    .dashboard-page .cscms-navbar .nav-account select {
        width: 100% !important;
    }

    .dashboard-page .cscms-navbar .nav-account .text-end {
        text-align: left !important;
    }
}
        .table-dark-custom {
            --bs-table-bg: transparent;
        }
        .table-dark-custom th {
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            color: #f1f5f9 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        .form-check-input {
            cursor: pointer;
            border-color: rgba(255, 255, 255, 0.3);
            background-color: #0f172a;
        }
        .form-check-input:checked {
            background-color: #ff7a00;
            border-color: #ff7a00;
        }
        .btn-submit {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 700;
            border: none;
            padding: 12px 28px;
            border-radius: 8px;
            transition: all 0.2s;
        }
        .btn-submit:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .btn-back {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
            padding: 12px 24px;
            border-radius: 8px;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.2s;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
            opacity: 0.75 !important;
        }


/* === STYLES FROM ORIGINAL: competencies\company_admin_dashboard.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .stats-num {
            font-size: 2.8rem;
            font-weight: 700;
            color: #ff8c1a;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
            color: #f1f5f9;
        }
        .table-dark-custom th {
            color: #94a3b8;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        .btn-orange {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 700;
            border: none;
            border-radius: 8px;
            padding: 12px 24px;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e06c00;
            color: #fff;
            transform: translateY(-1px);
        }
        .progress-bar-custom {
            height: 8px;
            border-radius: 4px;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }


/* === STYLES FROM ORIGINAL: competencies\edit_department.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
        }


/* === STYLES FROM ORIGINAL: competencies\edit_role.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
        }


/* === STYLES FROM ORIGINAL: competencies\edit_user.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
            max-width: 550px;
            width: 100%;
            margin: 0 auto;
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control:disabled, .form-control[readonly] {
            background-color: #1e293b;
            border-color: rgba(255, 255, 255, 0.05);
            color: #94a3b8;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .form-check-input {
            background-color: #1e293b;
            border-color: rgba(255, 255, 255, 0.25);
        }
        .form-check-input:checked {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
        }


/* === STYLES FROM ORIGINAL: competencies\individual_portal.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .badge-pill {
            padding: 4px 10px;
            font-weight: 600;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        .banner-compliant {
            background-color: rgba(16, 185, 129, 0.1);
            border: 1px solid #10b981;
            color: #10b981;
            border-radius: 12px;
            padding: 1.5rem;
        }
        .banner-expiring {
            background-color: rgba(245, 158, 11, 0.1);
            border: 1px solid #f59e0b;
            color: #f59e0b;
            border-radius: 12px;
            padding: 1.5rem;
        }
        .banner-alert {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid #ef4444;
            color: #ef4444;
            border-radius: 12px;
            padding: 1.5rem;
        }
        .cert-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 1.5rem;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
            color: #f1f5f9;
        }
        .table-dark-custom th {
            color: #94a3b8;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }


/* === STYLES FROM ORIGINAL: competencies\manage_departments.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
        }
        .table-dark-custom th {
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            color: #f1f5f9 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        tr:hover {
            background-color: rgba(255, 255, 255, 0.02) !important;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
        }
        .badge-pill {
            padding: 4px 10px;
            font-weight: 600;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        .btn-action-sm {
            padding: 4px 12px;
            font-size: 0.8rem;
            font-weight: 600;
            border-radius: 6px;
        }


/* === STYLES FROM ORIGINAL: competencies\manage_roles.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
        }
        .table-dark-custom th {
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            color: #f1f5f9 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        tr:hover {
            background-color: rgba(255, 255, 255, 0.02) !important;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
        }
        .badge-pill {
            padding: 4px 10px;
            font-weight: 600;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        .btn-action-sm {
            padding: 4px 12px;
            font-size: 0.8rem;
            font-weight: 600;
            border-radius: 6px;
        }


/* === STYLES FROM ORIGINAL: competencies\manage_users.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
        }
        .table-dark-custom th {
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            color: #f1f5f9 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        tr:hover {
            background-color: rgba(255, 255, 255, 0.02) !important;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
        }
        .badge-pill {
            padding: 4px 10px;
            font-weight: 600;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        .btn-action-sm {
            padding: 4px 12px;
            font-size: 0.8rem;
            font-weight: 600;
            border-radius: 6px;
        }


/* === STYLES FROM ORIGINAL: competencies\reports.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19; /* Sleek dark background */
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-stat {
            background-color: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 1.5rem;
            transition: transform 0.2s ease-in-out;
        }
        .card-stat:hover {
            transform: translateY(-2px);
            border-color: rgba(255, 140, 26, 0.3);
        }
        .stat-value {
            font-size: 2.25rem;
            font-weight: 700;
            color: #ff8c1a;
        }
        .stat-label {
            font-size: 0.85rem;
            color: #94a3b8;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .card-section {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 2rem;
            margin-bottom: 2rem;
        }
        .section-title {
            color: #ff8c1a;
            font-weight: 700;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            padding-bottom: 8px;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .table-custom {
            color: #e2e8f0;
        }
        .table-custom th {
            background-color: #1e293b !important;
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.08) !important;
        }
        .table-custom td {
            background-color: transparent !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
            vertical-align: middle;
        }
        .badge-fail {
            background-color: rgba(239, 68, 68, 0.15);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.3);
        }
        .badge-success {
            background-color: rgba(16, 185, 129, 0.15);
            color: #34d399;
            border: 1px solid rgba(16, 185, 129, 0.3);
        }
        .btn-back {
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #f1f5f9;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }


/* === STYLES FROM ORIGINAL: competencies\supervisor_audit.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .audit-container {
            max-width: 800px;
            margin: 4rem auto;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .record-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }
        .form-label {
            color: #cbd5e1;
            font-weight: 600;
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
            opacity: 0.75 !important;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .btn-submit {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 700;
            border: none;
            padding: 12px 28px;
            border-radius: 8px;
            transition: all 0.2s;
        }
        .btn-submit:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .btn-back {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
            padding: 12px 24px;
            border-radius: 8px;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.2s;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }
        .form-select option {
            background-color: #0f172a;
            color: #fff;
        }


/* === STYLES FROM ORIGINAL: competencies\supervisor_dashboard.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        a {
            color: #ff8c1a;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }
        a:hover {
            color: #ffb84d;
            text-decoration: underline;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
        }
        .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
        }
        .table-dark-custom th {
            color: #94a3b8 !important;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            color: #f1f5f9 !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        tr:hover {
            background-color: rgba(255, 255, 255, 0.02) !important;
        }
        .badge-pill {
            padding: 4px 10px;
            font-weight: 600;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        .btn-action-sm {
            padding: 4px 12px;
            font-size: 0.85rem;
            font-weight: 600;
            border-radius: 6px;
        }
        .text-muted {
            color: #94a3b8 !important;
        }


/* === STYLES FROM ORIGINAL: course_builder\course_list.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19; /* Deeper black-slate for background */
            color: #f8fafc; /* Crisp bright slate */
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            letter-spacing: 0.5px;
            color: #ff8c1a !important; /* Brighter Safety Orange */
        }
        .card-glass {
            background: #1e293b; /* Solid, high-contrast container background */
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
            transition: transform 0.2s ease-in-out, border-color 0.2s ease-in-out;
        }
        .card-glass:hover {
            transform: translateY(-2px);
            border-color: rgba(255, 140, 26, 0.3);
        }
        .text-muted {
            color: #94a3b8 !important; /* High contrast muted text */
        }
        .btn-orange {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 8px;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e06c00;
            color: #fff;
            transform: translateY(-1px);
        }
        .btn-outline-orange {
            border: 1px solid #ff7a00;
            color: #ff7a00;
            font-weight: 600;
            border-radius: 8px;
            background: transparent;
            transition: all 0.2s ease-in-out;
        }
        .btn-outline-orange:hover {
            background-color: #ff7a00;
            color: #fff;
        }
        .badge-status {
            font-size: 0.85rem;
            padding: 6px 12px;
            border-radius: 20px;
            font-weight: 600;
        }
        .bg-locked {
            background-color: #ef4444;
            color: #fff;
        }
        .bg-completed {
            background-color: #10b981;
            color: #fff;
        }
        .bg-in_progress {
            background-color: #0ea5e9;
            color: #fff;
        }
        .bg-enrolled {
            background-color: #64748b;
            color: #fff;
        }
        .bg-not_enrolled {
            background-color: rgba(255, 255, 255, 0.1);
            color: #cbd5e1;
        }
        .card-core {
            border: 1px solid rgba(255, 140, 26, 0.45) !important;
            box-shadow: 0 4px 20px rgba(255, 140, 26, 0.15) !important;
        }


/* === STYLES FROM ORIGINAL: course_builder\course_study.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .study-container {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 0;
        }
        .slide-card {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
            max-width: 800px;
            width: 100%;
            min-height: 480px;
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .progress-custom {
            background-color: rgba(255, 255, 255, 0.08);
            height: 8px;
            border-radius: 4px;
        }
        .progress-bar-custom {
            background-color: #ff7a00;
            border-radius: 4px;
            transition: width 0.3s ease;
        }
        .btn-slide {
            padding: 10px 24px;
            font-weight: 600;
            border-radius: 8px;
            transition: all 0.2s ease-in-out;
        }
        .btn-slide-prev {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #cbd5e1;
        }
        .btn-slide-prev:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .btn-slide-next {
            background-color: #ff7a00;
            color: #fff;
            border: none;
        }
        .btn-slide-next:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .slide-content-area {
            font-size: 1.15rem;
            line-height: 1.7;
            color: #e2e8f0;
            margin-top: 1.5rem;
            margin-bottom: 2rem;
            flex-grow: 1;
        }
        .slide-content-area h3 {
            font-size: 1.6rem;
            font-weight: 700;
            color: #ff8c1a !important;
            margin-bottom: 1.25rem;
        }
        .slide-content-area ul, .slide-content-area ol {
            margin-bottom: 1.25rem;
        }
        .slide-content-area li {
            margin-bottom: 0.5rem;
        }
        .slide-content-area code {
            color: #ff7a00;
            background-color: rgba(255, 122, 0, 0.1);
            padding: 2px 6px;
            border-radius: 4px;
        }
        .slide-content-area pre {
            background-color: #0f172a;
            padding: 1rem;
            border-radius: 8px;
            overflow-x: auto;
            border: 1px solid rgba(255, 255, 255, 0.05);
        }
        .btn-play-video {
            transition: all 0.2s ease-in-out;
        }
        .btn-play-video:hover {
            transform: scale(1.1);
            background-color: #ff9100 !important;
        }


/* === STYLES FROM ORIGINAL: course_builder\course_study_uploaded.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .study-container {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 0;
        }
        .study-card {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
            max-width: 900px;
            width: 100%;
            min-height: 500px;
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .viewer-area {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            overflow: hidden;
            width: 100%;
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 1.5rem;
            margin-bottom: 2rem;
        }
        .btn-orange {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 8px;
            padding: 10px 24px;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .btn-outline-light {
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            padding: 10px 24px;
        }
        .download-card {
            text-align: center;
            padding: 3rem;
        }
        .download-icon {
            font-size: 4rem;
            color: #ff8c1a;
            margin-bottom: 1.5rem;
        }


/* === STYLES FROM ORIGINAL: course_builder\upload_course.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
            max-width: 600px;
            width: 100%;
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: #f8fafc;
            border-radius: 8px;
            padding: 10px 14px;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            color: #f8fafc;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.25);
        }
        .btn-orange {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 8px;
            padding: 10px 24px;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e06c00;
            color: #fff;
        }
        .btn-outline-light {
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            padding: 10px 24px;
        }


/* === STYLES FROM ORIGINAL: qr_codes\authenticated_portal.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .hazard-box {
            border-left: 4px solid #0ea5e9;
            background: rgba(14, 165, 233, 0.08);
            padding: 12px;
            border-radius: 4px;
        }
        .pictogram-badge {
            background-color: rgba(255, 255, 255, 0.1);
            color: #fff;
            padding: 6px 12px;
            border-radius: 20px;
            font-weight: 600;
            font-size: 0.9rem;
            display: inline-block;
            margin-right: 6px;
            margin-bottom: 6px;
        }
        .accordion-button {
            background-color: #1e293b !important;
            color: #fff !important;
            font-weight: 600;
            box-shadow: none !important;
            border: none;
        }
        .accordion-item {
            background-color: #0f172a !important;
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
        }
        .accordion-body {
            color: #cbd5e1;
            font-size: 0.95rem;
            line-height: 1.6;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
            color: #f1f5f9;
        }
        .table-dark-custom th {
            color: #94a3b8;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }


/* === STYLES FROM ORIGINAL: qr_codes\create_qr.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            letter-spacing: 0.5px;
            color: #ff8c1a !important; /* Brighter Safety Orange */
        }
        .btn-back {
            background-color: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #e2e8f0;
            transition: all 0.2s ease-in-out;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.1);
            color: #fff;
            border-color: rgba(255, 255, 255, 0.4);
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .form-label {
            color: #e2e8f0;
            font-weight: 600;
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.25);
            color: #fff;
        }
        .form-control::placeholder {
            color: #64748b !important;
            opacity: 1;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .btn-orange {
            background-color: #ff8c1a;
            color: #000;
            font-weight: 700;
            border: none;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e67300;
            color: #000;
            box-shadow: 0 0 12px rgba(255, 140, 26, 0.5);
            transform: translateY(-1px);
        }
        .btn-orange:active {
            transform: translateY(0);
        }
        .dynamic-field-group {
            display: none;
            animation: fadeIn 0.3s ease-in-out forwards;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(5px); }
            to { opacity: 1; transform: translateY(0); }
        }


/* === STYLES FROM ORIGINAL: qr_codes\public_portal.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .emergency-header {
            background-color: #ef4444; /* High severity red header */
            color: #fff;
            padding: 1.5rem;
            border-bottom: 2px solid #dc2626;
            text-align: center;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .hazard-box {
            border-left: 4px solid #ef4444;
            background: rgba(239, 68, 68, 0.08);
            padding: 12px;
            border-radius: 4px;
        }
        .pictogram-badge {
            background-color: rgba(255, 255, 255, 0.1);
            color: #fff;
            padding: 6px 12px;
            border-radius: 20px;
            font-weight: 600;
            font-size: 0.9rem;
            display: inline-block;
            margin-right: 6px;
            margin-bottom: 6px;
        }
        .text-muted {
            color: #cbd5e1 !important;
        }


/* === STYLES FROM ORIGINAL: qr_codes\workplace_label_print.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #f8fafc;
            color: #0f172a;
            padding: 2rem;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
        }
        .label-sticker {
            width: 600px;
            border: 4px double #000;
            background: #fff;
            padding: 1.5rem;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .label-header {
            border-bottom: 2px solid #000;
            padding-bottom: 8px;
            margin-bottom: 12px;
        }
        .label-body {
            display: flex;
            gap: 1.5rem;
            margin-bottom: 12px;
        }
        .label-left {
            flex: 1;
        }
        .label-right {
            width: 180px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border-left: 2px solid #000;
            padding-left: 1.5rem;
        }
        .label-footer {
            border-top: 2px solid #000;
            padding-top: 8px;
            font-size: 0.8rem;
            font-weight: 600;
        }
        .pictogram-icon {
            border: 2px solid #ef4444;
            transform: rotate(45deg);
            width: 45px;
            height: 45px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin: 12px;
        }
        .pictogram-icon span {
            transform: rotate(-45deg);
            font-size: 0.7rem;
            font-weight: 700;
            color: #dc2626;
            text-align: center;
        }
        .btn-print {
            position: fixed;
            top: 20px;
            right: 20px;
            background-color: #ff7a00;
            color: #fff;
            font-weight: 700;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .btn-print:hover {
            background-color: #e06c00;
            color: #fff;
        }

        /* Print Media Styles */
        @media print {
            body {
                background: #fff;
                padding: 0;
                margin: 0;
                display: block;
            }
            .btn-print {
                display: none !important;
            }
            .label-sticker {
                width: 100%;
                max-width: 100%;
                border: 4px double #000;
                box-shadow: none;
            }
        }


/* === STYLES FROM ORIGINAL: registration\change_password.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
            max-width: 450px;
            width: 100%;
            padding: 2.5rem;
        }
        .brand-text {
            color: #ff8c1a;
            font-weight: 700;
            font-size: 2rem;
            text-align: center;
            margin-bottom: 0.5rem;
        }
        .form-control {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
            padding: 0.75rem 1rem;
            border-radius: 8px;
        }
        .form-control:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
            opacity: 1;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            padding: 0.75rem;
            border-radius: 8px;
            width: 100%;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover, .btn-primary-custom:focus {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
            font-size: 0.9rem;
            padding: 0.75rem 1rem;
        }
        .info-box {
            background-color: rgba(255, 140, 26, 0.08);
            border: 1px solid rgba(255, 140, 26, 0.25);
            color: #ffb84d;
            border-radius: 8px;
            font-size: 0.9rem;
            padding: 0.75rem 1rem;
            margin-bottom: 1.5rem;
        }


/* === STYLES FROM ORIGINAL: registration\login.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19;
            color: #f8fafc;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .card-glass {
            background: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
            max-width: 450px;
            width: 100%;
            padding: 2.5rem;
        }
        .brand-text {
            color: #ff8c1a;
            font-weight: 700;
            font-size: 2rem;
            text-align: center;
            margin-bottom: 0.5rem;
        }
        .form-control {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
            padding: 0.75rem 1rem;
            border-radius: 8px;
        }
        .form-control:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .form-control::placeholder {
            color: #94a3b8 !important;
            opacity: 1;
        }
        .btn-primary-custom {
            background-color: #ff8c1a;
            border-color: #ff8c1a;
            color: #fff;
            font-weight: 600;
            padding: 0.75rem;
            border-radius: 8px;
            width: 100%;
            transition: all 0.2s ease-in-out;
        }
        .btn-primary-custom:hover, .btn-primary-custom:focus {
            background-color: #e67300;
            border-color: #e67300;
            color: #fff;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .alert-custom {
            background-color: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.3);
            color: #f87171;
            border-radius: 8px;
            font-size: 0.9rem;
            padding: 0.75rem 1rem;
        }


/* === STYLES FROM ORIGINAL: sds\dashboard.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19; /* Deeper black-slate for background */
            color: #f8fafc; /* Crisp bright slate */
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .table, .table th, .table td {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            letter-spacing: 0.5px;
            color: #ff8c1a !important; /* Brighter Safety Orange */
        }
        .card-glass {
            background: #1e293b; /* Solid, high-contrast container background */
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .text-muted {
            color: #94a3b8 !important; /* High contrast muted text */
        }
        .form-label {
            color: #e2e8f0; /* Clear readable labels */
            font-weight: 600;
        }
        .form-control, .form-select {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.25);
            color: #fff;
        }
        .form-control::placeholder {
            color: #64748b !important;
            opacity: 1;
        }
        .form-control:focus, .form-select:focus {
            background-color: #0f172a;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .btn-orange {
            background-color: #ff7a00;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 8px;
            transition: all 0.2s ease-in-out;
        }
        .btn-orange:hover {
            background-color: #e06c00;
            color: #fff;
            transform: translateY(-1px);
        }
        .btn-review {
            background-color: #0ea5e9;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 6px;
        }
        .btn-review:hover {
            background-color: #0284c7;
            color: #fff;
        }
        .badge-pending {
            background-color: #f59e0b; /* Amber */
            color: #1e293b;
            font-weight: 600;
        }
        .badge-approved {
            background-color: #10b981; /* Green */
            color: #fff;
            font-weight: 600;
        }
        .badge-draft {
            background-color: #64748b; /* Slate */
            color: #fff;
            font-weight: 600;
        }
        .table-dark-custom {
            --bs-table-bg: transparent;
            color: #f1f5f9;
        }
        .table-dark-custom th {
            color: #94a3b8;
            font-weight: 600;
            border-bottom: 2px solid rgba(255, 255, 255, 0.1);
        }
        .table-dark-custom td {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            vertical-align: middle;
        }
        tr:hover {
            background-color: rgba(255, 255, 255, 0.02) !important;
        }


/* === STYLES FROM ORIGINAL: sds\quiz_preview.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19; /* Deeper black-slate */
            color: #f8fafc;
            min-height: 100vh;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important; /* Brighter Safety Orange */
        }
        .btn-back {
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #f1f5f9;
            transition: all 0.2s ease-in-out;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .card-glass {
            background: #1e293b; /* High-contrast card */
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 16px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
        }
        .warning-card {
            background: rgba(245, 158, 11, 0.08); /* Amber warning */
            border: 1px solid rgba(245, 158, 11, 0.35);
            border-radius: 12px;
            padding: 1.25rem;
            margin-bottom: 2rem;
        }
        .missing-card {
            background: rgba(239, 68, 68, 0.05); /* Red info card */
            border: 1px solid rgba(239, 68, 68, 0.25);
            border-radius: 12px;
            padding: 1rem;
        }
        .text-muted {
            color: #94a3b8 !important;
        }
        .text-orange {
            color: #ff8c1a !important;
        }
        .text-emerald {
            color: #10b981 !important;
        }
        .option-item {
            background-color: #0f172a;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            padding: 10px 15px;
            margin-bottom: 8px;
            font-size: 0.95rem;
            color: #cbd5e1;
        }
        .option-correct {
            background-color: rgba(16, 185, 129, 0.08);
            border-color: rgba(16, 185, 129, 0.45);
            color: #10b981;
            font-weight: 600;
        }
        .metadata-badge {
            font-size: 0.75rem;
            padding: 4px 8px;
            border-radius: 4px;
            font-weight: 600;
            background-color: #334155;
            color: #cbd5e1;
        }
        .quote-panel {
            background-color: #0f172a;
            border-left: 3px solid #ff8c1a;
            border-radius: 4px;
            padding: 12px;
            font-size: 0.85rem;
            font-style: italic;
            color: #94a3b8;
            margin-top: 10px;
        }


/* === STYLES FROM ORIGINAL: sds\review.html === */
body {
            font-family: 'Outfit', sans-serif;
            background-color: #0b0f19; /* Deeper background */
            color: #f8fafc;
            height: 100vh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        h1, h2, h3, h4, h5, h6 {
            color: #f8fafc !important;
        }
        .navbar-brand {
            font-weight: 700;
            color: #ff8c1a !important;
        }
        .main-workspace {
            flex: 1;
            display: flex;
            overflow: hidden;
        }
        .pdf-panel {
            flex: 1;
            border-right: 1px solid rgba(255, 255, 255, 0.15);
            background-color: #1e293b;
        }
        .form-panel {
            width: 50%;
            overflow-y: auto;
            background-color: #0f172a;
            padding: 2.5rem;
        }
        .text-muted {
            color: #cbd5e1 !important; /* Lighter, highly readable label summaries */
            font-weight: 600;
        }
        .form-label {
            color: #f1f5f9; /* Bright clean label text */
            font-weight: 600;
        }
        .form-control, .form-select, .textarea-custom {
            background-color: #1e293b;
            border: 1px solid rgba(255, 255, 255, 0.3); /* Stronger borders */
            color: #fff;
            font-size: 1rem;
        }
        .form-control:focus, .form-select:focus, .textarea-custom:focus {
            background-color: #1e293b;
            border-color: #ff8c1a;
            box-shadow: 0 0 0 0.25rem rgba(255, 140, 26, 0.35);
            color: #fff;
        }
        .btn-approve {
            background-color: #10b981;
            color: #fff;
            font-weight: 700;
            border: none;
            padding: 12px;
            border-radius: 8px;
            transition: all 0.2s ease-in-out;
        }
        .btn-approve:hover {
            background-color: #059669;
            color: #fff;
            transform: translateY(-1px);
        }
        .btn-back {
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #f1f5f9;
        }
        .btn-back:hover {
            background-color: rgba(255, 255, 255, 0.05);
            color: #fff;
        }
        .form-section-title {
            color: #ff7a00;
            font-weight: 700;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            padding-bottom: 6px;
            margin-bottom: 18px;
        }
        .pictogram-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            padding: 10px;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
        }
        .pictogram-card input {
            margin-right: 10px;
            cursor: pointer;
        }
        .pictogram-card label {
            color: #f8fafc !important;
            font-weight: 600;
            cursor: pointer;
        }
        .form-control::placeholder, .textarea-custom::placeholder {
            color: #94a3b8 !important;
            opacity: 0.75 !important;
        }
        .form-select option {
            background-color: #0f172a;
            color: #fff;
        }
