/* Riko Q3A: navy science wallpaper, orange actions, mint feedback.
   Independent copies in each application; no remote assets or light-mode switch. */
:root,[data-bs-theme=dark]{color-scheme:dark;--app-primary:#c99a65;--app-primary-dark:#d4ab7e;--app-primary-soft:#322416;--app-ink:#f0f4fc;--app-muted:#adb9ce;--app-border:#2c3c54;--app-bg:#030b19;--app-green:#89bda7;--app-green-soft:#15392f;--app-blue:#9aafcf;--app-blue-soft:#172e4d;--app-yellow:#c9b078;--app-yellow-soft:#3b2b14;--app-danger:#d19a9f;--app-danger-soft:#3b202d;--app-shadow:0 12px 32px #0004;--q-ink:var(--app-ink);--q-muted:var(--app-muted);--q-purple:var(--app-primary);--q-mint:var(--app-green-soft);--q-paper:var(--app-bg);--q-line:var(--app-border);--bs-body-bg:#0d192c;--bs-body-color:var(--app-ink);--bs-border-color:var(--app-border);--bs-secondary-color:var(--app-muted);--bs-tertiary-bg:#132138;--bs-primary:#c99a65;--bs-primary-rgb:201,154,101;--bs-success-rgb:137,189,167;--bs-warning-rgb:201,176,120;--bs-danger-rgb:209,154,159;--bs-link-color:#d0ad85;--bs-link-hover-color:#e0c5a7}
body{background:#030b19!important;color:var(--app-ink)!important;isolation:isolate;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0% 15%,#18304755,transparent 45%),radial-gradient(ellipse at 100% 85%,#30224044,transparent 45%),linear-gradient(145deg,#091426,#030b19 55%,#10182b)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('../media/background-orbits.svg') center/100% 100% no-repeat}
.main-content,.page-wrap,.app-shell{background:transparent!important}
h1,h2,h3,h4,h5,h6,.section-title,.metric-number,.q-nav .navbar-brand,.navbar-brand,.brand-name,.q-brand-name{color:var(--app-ink)!important}
a{color:var(--bs-link-color)}a:hover{color:var(--bs-link-hover-color)}
.text-dark,.text-body,.text-black{color:var(--app-ink)!important}.text-muted,.text-muted-app,.text-secondary,.q-eyebrow,.dropdown-header,.form-text{color:var(--app-muted)!important}.text-primary{color:#d0ad85!important}.text-success{color:#89bda7!important}.text-warning{color:#c9b078!important}.text-danger{color:#d19a9f!important}.text-info{color:#93b8c3!important}.text-white{color:#f5f8ff!important}
.navbar.app-navbar,.navbar.q-nav{background:#071121f5!important;border-bottom:1px solid var(--app-border)!important;box-shadow:0 4px 24px #0003!important;backdrop-filter:blur(16px)}
.riko-brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex-shrink:0}.riko-brand-copy{line-height:1.15}.riko-brand-name{display:block;color:#f0f4fc;font-weight:800;font-size:1.05rem;letter-spacing:-.025em}.riko-brand-module{display:block;color:#89bda7;font-size:.65rem;font-weight:700;letter-spacing:.01em;text-transform:none;margin-top:3px}
.riko-wordmark-plate{display:inline-flex;background:#f4f7fc;border:1px solid #dae2ec;border-radius:20px;padding:12px 22px;margin-bottom:22px;max-width:100%}.riko-wordmark-plate img{width:230px;max-width:100%;height:auto;display:block}.login-visual .riko-wordmark-plate{margin-bottom:0}.login-visual{font-size:inherit!important}
.card,.surface,.surface-flat,.soft-panel,.q-stat,.modal-content,.offcanvas,.dropdown-menu,.popover{background:#0d192cf5!important;color:var(--app-ink)!important;border-color:var(--app-border)!important;box-shadow:var(--app-shadow)!important}
.card-header,.card-footer,.modal-header,.modal-footer,.list-group-item,.input-group-text{background:#101e32!important;color:var(--app-ink)!important;border-color:var(--app-border)!important}
.bg-white,.bg-light,.bg-body,.bg-body-tertiary,.main-content .card.bg-light{background:#101e32!important}.bg-dark{background:#071121!important}.bg-primary,.bg-primary-subtle{background:var(--app-primary-soft)!important;color:#d0ad85!important}.bg-success,.bg-success-subtle{background:var(--app-green-soft)!important;color:#afd0bf!important}.bg-warning,.bg-warning-subtle{background:var(--app-yellow-soft)!important;color:#d2bd94!important}.bg-danger,.bg-danger-subtle{background:var(--app-danger-soft)!important;color:#d5a8af!important}.bg-info,.bg-info-subtle{background:#153748!important;color:#a6e3f2!important}.bg-secondary,.bg-secondary-subtle{background:#243047!important;color:#c0cadb!important}
.btn{border-radius:13px}.btn-primary{--bs-btn-bg:#c99a65;--bs-btn-color:#08101d;--bs-btn-border-color:#c99a65;--bs-btn-hover-bg:#d4ab7e;--bs-btn-hover-color:#08101d;--bs-btn-hover-border-color:#d4ab7e;--bs-btn-active-bg:#b88854;--bs-btn-active-color:#08101d;--bs-btn-active-border-color:#b88854;box-shadow:0 5px 18px #c99a6522!important}.btn-soft,.btn-light,.btn-outline-secondary,.btn-outline-dark{background:#17263c!important;border-color:#344760!important;color:#e3eaf6!important;box-shadow:none!important}.btn-soft:hover,.btn-light:hover,.btn-outline-secondary:hover{background:#223650!important;border-color:#687b93!important}.btn-outline-primary{color:#d0ad85;border-color:#a36025}.btn-outline-primary:hover{background:#c99a65;color:#08101d;border-color:#c99a65}.btn-outline-success{color:#89bda7;border-color:#438268}.btn-link{color:#d0ad85}.btn-close{filter:invert(1) grayscale(100%) brightness(180%)}.btn-close-white{filter:none}.export-excel .bi{color:#89bda7}
.teacher-nav .nav-link,.q-nav .nav-link,.offcanvas .nav-link{color:#bdc9dc!important;background:transparent!important;border-color:transparent!important}.teacher-nav .nav-link:hover,.q-nav .nav-link:hover,.offcanvas .nav-link:hover{background:#17263c!important;color:white!important}.teacher-nav .nav-link.active,.q-nav .nav-link.active,.offcanvas .nav-link.active,.nav-pills .nav-link.active{background:#c99a65!important;color:#08101d!important;border-color:#c99a65!important}.nav-pills .nav-link{color:#becade;border-radius:13px}.nav-pills .nav-link:hover:not(.active){background:#17263c}.dropdown-item{color:#dfe7f5}.dropdown-item:hover,.dropdown-item:focus{background:#223650;color:white}.dropdown-item:active{background:#c99a65;color:#08101d}
.form-control,.form-select,.main-content .form-control,.main-content .form-select,.filter-toolbar .form-control,.filter-toolbar .form-select,.filter-toolbar .input-group-text,.class-picker-trigger{background-color:#091426!important;color:#edf2fa!important;border-color:#344760!important}.form-control::placeholder{color:#8f9db4!important}.form-control:focus,.form-select:focus{background-color:#0b1930!important;border-color:#d4ab7e!important;box-shadow:0 0 0 3px #c99a6525!important}.form-control:disabled,.form-select:disabled{background:#192337!important;color:#8996ac!important}.form-check-input{background-color:#101e32;border-color:#53647c}.form-check-input:checked{background-color:#c99a65;border-color:#c99a65}.form-control::file-selector-button,.main-content input[type=file]::file-selector-button{background:#322416!important;color:#d4b38e!important;border-color:#78502c!important}.filter-toolbar label{color:#b6c3d7!important}.class-picker-trigger:hover{background:#192a40!important}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23bac7db' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.navbar-toggler{border-color:#52627a}.navbar-toggler-icon{filter:brightness(2)}
.table{--bs-table-bg:transparent;--bs-table-color:#edf2fa;--bs-table-border-color:#2c3c54;--bs-table-hover-bg:#1c2c43;--bs-table-hover-color:#fff;--bs-table-striped-bg:#101e32;--bs-table-striped-color:#e3eaf6;--bs-table-active-bg:#26364d;--bs-table-active-color:#fff}.table thead th,.table-light{background:#15233a!important;color:#b5c5dc!important;--bs-table-bg:#15233a;--bs-table-color:#b5c5dc}.table tbody td{color:#e3eaf6}.table-success{--bs-table-bg:#15392f;--bs-table-color:#c6f7df}.table-danger{--bs-table-bg:#3b202d;--bs-table-color:#ffd0d7}.page-link{background:#101e32;border-color:#344760;color:#d4b38e}.page-link:hover{background:#223650;color:#e0c5a7}.active>.page-link{background:#c99a65;color:#08101d;border-color:#c99a65}.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--app-border)!important}code{color:#d4b38e}
.alert-success{background:#14352c;color:#c0f5d9;border-color:#3a7660}.alert-danger{background:#3b202d;color:#ffd0d7;border-color:#855060}.alert-warning{background:#3b2b14;color:#ffdda6;border-color:#89662e}.alert-info,.alert-primary{background:#172d46;color:#c6e2ff;border-color:#3c6285}
.icon-primary,.icon-box.icon-primary,.q-stat i.fs-1{background:#322416!important;color:#d0ad85!important}.icon-green,.icon-box.icon-green{background:#15392f!important;color:#89bda7!important}.icon-blue{background:#172e4d!important;color:#9aafcf!important}.icon-yellow{background:#3b2b14!important;color:#c9b078!important}.pill-status,.badge{border-color:#344760!important}.status-primary{background:#322416!important;color:#d0ad85!important}.status-success,.status-green{background:#15392f!important;color:#89bda7!important}.hero-chip{background:#17263c;color:#bfe8d5;border-color:#436450}
.teacher-hero,.hero-card,.login-art,.q-hero,.q-module-absensi .q-hero{background:linear-gradient(135deg,#132640f5,#071121f5)!important;color:#f0f4fc!important;border:1px solid #344760!important}.teacher-hero:after,.hero-card:after,.q-hero:after{background:#c99a6518!important;border-color:#c99a6533!important}.teacher-hero .btn-light,.hero-card .btn-light{background:#c99a65!important;color:#08101d!important;border-color:#c99a65!important}.login-art .shape{background:#c99a6525!important}.q-stat:before{background:#c99a65}.login-art .hero-chip{background:#17263c!important;color:#bfe8d5!important}
.class-picker-modal .modal-body,.class-picker-modal .modal-body>.mb-3:first-child{background:#0d192c!important}.class-picker-modal .class-modal-list,.class-picker-modal .class-card-wrapper .class-choice{background:#101e32!important;color:#e3eaf6!important;border-color:#2c3c54!important}.class-picker-modal .class-choice-name,.class-picker-modal .class-choice .text-dark{color:#f0f4fc!important}.class-picker-modal .class-choice:hover,.class-picker-modal .class-choice.active{background:#322416!important}.class-picker-modal .class-choice code{background:#17263c!important;color:#b8c8df!important}.class-picker-modal .class-choice .rounded-circle{background:#17263c!important;color:#d0ad85!important}.class-picker-modal .class-card-wrapper+.class-card-wrapper{border-color:#2c3c54}.class-picker-modal .input-group{background:#091426!important}.class-choice:focus-visible,.btn:focus-visible,.form-control:focus-visible{outline-color:#d0ad85!important}
.ql-toolbar.ql-snow,.ql-container.ql-snow{background:#091426!important;border-color:#344760!important;color:#edf2fa!important}.ql-snow .ql-stroke{stroke:#c3cede}.ql-snow .ql-fill{fill:#c3cede}.ql-snow .ql-picker,.ql-editor{color:#edf2fa}.ql-snow .ql-picker-options,.ql-snow .ql-tooltip{background:#15233a;color:#edf2fa;border-color:#344760}.ql-editor.ql-blank:before{color:#8797af}.ql-editor img,.cbt-question-text img{background:#fff;border-radius:6px}.ql-editor [style*="color"],.cbt-question-text [style*="color"]{color:inherit!important}
.cbt-toolbar{background:#101e32!important;border-color:#344760!important}.cbt-toolbar-clock{background:#3b2b14!important;color:#d2bd94!important}.cbt-toolbar-clock .text-primary,.cbt-toolbar-clock .text-secondary{color:#d2bd94!important}.cbt-option-item,.matching-premise,.matching-match,.answer-option{background:#101e32!important;color:#edf2fa!important;border-color:#344760!important}.cbt-option-item:hover,.answer-option:hover,.cbt-option-item:has(input:checked),.answer-option:has(input:checked),.matching-premise.active{background:#322416!important;border-color:#c99a65!important}.cbt-option-item.bg-success,.matching-match.bg-success{background:#15392f!important}.cbt-option-item.bg-danger{background:#3b202d!important}.cbt-question-text,.cbt-question-text p,.cbt-question-text li{color:#edf2fa!important}.cbt-question-text table td{color:#edf2fa}.cbt-question-text [style*="background"]{background-color:transparent!important}.footer{background:transparent!important;color:#adb9ce!important;border-color:#2c3c54!important}.offcanvas-backdrop,.modal-backdrop{background:#000!important}
@media(max-width:767px){body:after{background-size:210% 100%}}
@media(max-width:767px){.riko-brand-logo{width:36px;height:36px}.riko-brand-name{font-size:.9rem}.riko-brand-module{font-size:.6rem}.riko-wordmark-plate{padding:10px 16px}.riko-wordmark-plate img{width:190px}.card,.surface{background:#0d192cf5!important}}
@media print{body{background:white!important;color:#111!important}body:before,body:after{display:none}.navbar,.footer{display:none!important}.card,.surface,.card-header,.card-footer,.table thead th,.table tbody td,.bg-light,.bg-white{background:white!important;color:#111!important;box-shadow:none!important}.table{--bs-table-color:#111;--bs-table-bg:white}h1,h2,h3,h4,h5,h6,.text-muted,.text-dark{color:#111!important}}
/* Component states that previously carried fixed mockup colors. */
:root{--app-purple:#c99a65;--app-pink:#ffb5ce;--app-pink-soft:#3b2030}
.teacher-nav .btn[aria-current=page],.offcanvas .btn[aria-current=page]{background:#c99a65!important;color:#08101d!important;border-color:#c99a65!important;box-shadow:0 5px 18px #c99a6522!important}
.answer-letter,.question-number,.builder-step .step-num,.question-preview,.question-card,.bank-stat,.exam-summary,.student-summary,.status-row,.review-option,.soft-primary{background:#15233a!important;color:#dce7f7!important;border-color:#344760!important}.answer-option:has(input:checked) .answer-letter,.question-number.current,.builder-step.active .step-num{background:#c99a65!important;color:#08101d!important;border-color:#c99a65!important}.question-number.answered{background:#15392f!important;color:#89bda7!important;border-color:#438268!important}.question-preview.wrong{background:#3b202d!important;border-color:#855060!important}.question-preview.correct{background:#15392f!important;border-color:#438268!important}.status-row,.builder-step.active{color:#d4b38e!important}.nav-tabs{border-color:#344760}.nav-tabs .nav-link{color:#bdc9dc}.nav-tabs .nav-link.active{background:#17263c;color:#d4b38e;border-color:#344760}.progress{background:#25334b}.progress-bar{background:#c99a65}.list-group-item-action:hover{background:#1b2d46!important;color:#f0f4fc!important}.riko-wordmark-plate img{background:transparent!important}.modal-body .bg-white{background:#101e32!important}
.main-content .source-choice,.main-content .import-stat,.main-content .card.border-start.border-4,.main-content .question-list .card-header.bg-light{background:#101e32!important;color:#edf2fa!important;border-color:#344760!important}.main-content .source-choice:has(input:checked){background:#322416!important;border-color:#c99a65!important}.main-content .source-choice:hover{border-color:#d0ad85!important}.main-content .nav-pills .nav-link{background:#17263c!important;color:#bdc9dc!important}.main-content .nav-pills .nav-link.active{background:#c99a65!important;color:#08101d!important}.main-content .badge.bg-success{color:#afd0bf!important}.main-content .badge.bg-warning{color:#d2bd94!important}.main-content .badge.bg-danger{color:#d5a8af!important}.main-content .badge.bg-info{color:#a6e3f2!important}.main-content .badge.bg-dark,.exam-card .card-body>.p-2.bg-light>.badge{background:#243047!important;color:#c0cadb!important}.main-content .btn-outline-success{--bs-btn-color:#89bda7;--bs-btn-border-color:#438268;--bs-btn-hover-color:#c0f5d9}.main-content .btn-outline-danger{--bs-btn-color:#d5a8af;--bs-btn-border-color:#855060;--bs-btn-hover-color:#ffd0d7}.main-content .btn-outline-warning{--bs-btn-color:#d2bd94;--bs-btn-border-color:#89662e;--bs-btn-hover-color:#ffdda6}
.cbt-toolbar #btnSubmitExam{background:#c99a65!important;border-color:#c99a65!important;color:#08101d!important}.cbt-toolbar #btnSubmitExam:hover{background:#d4ab7e!important}.btn-danger{--bs-btn-bg:#ae3b51;--bs-btn-border-color:#ae3b51;--bs-btn-hover-bg:#922d42;--bs-btn-hover-border-color:#922d42;--bs-btn-color:#fff}.btn-success{--bs-btn-bg:#89bda7;--bs-btn-border-color:#89bda7;--bs-btn-color:#071c14;--bs-btn-hover-bg:#afd0bf;--bs-btn-hover-border-color:#afd0bf;--bs-btn-hover-color:#071c14}.btn-warning{--bs-btn-bg:#c9b078;--bs-btn-border-color:#c9b078;--bs-btn-color:#241600;--bs-btn-hover-color:#241600}.riko-wordmark-plate img{height:120px;object-fit:contain}
.class-picker-modal .class-choice{background:#101e32!important;color:#edf2fa!important}.class-picker-modal .class-choice.is-selected{background:#322416!important;border-color:#c99a65!important}.class-picker-modal .input-group:focus-within{box-shadow:0 0 0 3px #c99a6525!important}.class-picker-modal .input-group .form-control:focus{box-shadow:none!important}.class-picker-modal kbd{background:#25334b;color:#dce7f7}.modal-header .btn-close{background-color:transparent!important}.modal-header.bg-danger .modal-title{color:#d5a8af!important}

/* Complete dark surfaces, including legacy rules with ID / state specificity. */
@media screen {
:root,[data-bs-theme=dark]{--bs-light-rgb:16,30,50;--bs-white-rgb:16,30,50;--bs-emphasis-color:#f0f4fc;--bs-emphasis-color-rgb:240,244,252;--bs-secondary-bg:#17263c;--bs-secondary-bg-rgb:23,38,60;--bs-tertiary-bg-rgb:19,33,56}
.role-switch,.mini-stat,.question-layout,.review-cell,.review-cell .num,.feature-card,.feature-card .feature-arrow,.calendar-day,.question-type-card,.dropzone,.report-tabs,.status-done,.toast,.toast-header,.accordion-item,.accordion-button,.accordion-body{background:#101e32!important;color:#e3eaf6!important;border-color:#344760!important}
.role-switch .btn.active,.calendar-day.active,.question-type-card.active,.report-tabs .nav-link.active{background:#322416!important;color:#d4b38e!important}
.score-ring:after,.donut:after{background:#0d192c!important}
.main-content .card-header.bg-primary,.main-content .card-header.bg-dark,.main-content .card-header.bg-success,.main-content .card-header.bg-info,.main-content .card-header.bg-warning,.exam-card .card-body>.p-2.bg-light{background:#101e32!important;color:#edf2fa!important}
#filterBtnGroup .btn,#filterBtnGroupResults .btn,#camFilterBtnGroup .btn{background:#17263c!important;color:#bdc9dc!important;border-color:#344760!important}
#filterBtnGroup .btn.active,#filterBtnGroupResults .btn.active,#camFilterBtnGroup .btn.active{background:#322416!important;color:#d4b38e!important;border-color:#a36025!important}
#cbtExamQuestionsContainer .cbt-option-item,#cbtExamQuestionsContainer .cbt-option-item:hover{background:#101e32!important;color:#edf2fa!important;border-color:#344760!important}
#cbtExamQuestionsContainer .cbt-option-item:has(input:checked){background:#322416!important;border-color:#c99a65!important}
.cbt-option-item .answer-letter{background:#17263c!important;color:#dce7f7!important}
.class-picker-modal .class-choice:hover,.class-picker-modal .class-choice.is-selected,.class-choice:hover{background:#322416!important;color:#edf2fa!important}
.filter-toolbar .form-control:focus,.filter-toolbar .form-select:focus{background:#0b1930!important}
.app-table tbody tr:hover{--bs-table-hover-bg:#1c2c43;--bs-table-hover-color:#edf2fa}
.table> :not(caption)>*>*{--bs-table-striped-bg:#101e32;--bs-table-hover-bg:#1c2c43;--bs-table-active-bg:#26364d}
.table-warning{--bs-table-bg:#3b2b14;--bs-table-color:#ffdda6}.table-info,.table-primary{--bs-table-bg:#172d46;--bs-table-color:#c6e2ff}.table-secondary{--bs-table-bg:#243047;--bs-table-color:#e3eaf6}
.alert-secondary,.alert-light,.alert-dark{background:#17263c;color:#dce7f7;border-color:#344760!important}
.accordion-button:not(.collapsed){background:#17263c!important;color:#d4b38e!important;box-shadow:inset 0 -1px #344760}.accordion-button:after{filter:brightness(2)}
.page-item.disabled .page-link{background:#101e32;color:#8797af;border-color:#344760}.list-group-item.active{background:#322416!important;color:#d4b38e!important}.list-group-item-action:focus{background:#1b2d46!important;color:#edf2fa!important}
.ql-snow .ql-editor code,.ql-snow .ql-editor pre,pre{background:#17263c;color:#e3eaf6}.ql-editor img,.cbt-question-text img{background:transparent}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #091426 inset!important;-webkit-text-fill-color:#edf2fa!important;caret-color:#edf2fa}
.riko-wordmark-plate{background:#101e32;border-color:#344760;gap:14px;align-items:center;text-align:left}.riko-wordmark-plate img{width:70px;height:70px!important}.riko-login-name{display:block;font-size:1.6rem;font-weight:800;line-height:1.1;color:#edf2fa}.riko-login-name span{display:block;color:#d0ad85}.riko-login-tagline{display:block;color:#adb9ce;font-size:.7rem;margin-top:8px}
}

/* Mobile: compact controls, generous separation between page sections. */
@media screen and (max-width:767px){
.main-content{padding-top:24px!important;padding-bottom:32px!important}
.main-content>.container>.row{--bs-gutter-y:24px}
.main-content>.container>.row+.row,.main-content>.container>.row+.card,.main-content>.container>.card+.row{margin-top:24px!important}
.main-content>.container>.card,.main-content>.container>.surface,.main-content>.container>.hero-card{margin-bottom:24px!important}
.main-content>.container>.page-list-header,.main-content>.container>.mock-dashboard-title,.main-content>.container>.page-heading{margin-bottom:24px!important;row-gap:16px!important}
.teacher-nav,.student-nav{margin-bottom:24px!important}
.main-content>.container>.row>[class*=col]>.row.h-100{height:auto!important;--bs-gutter-y:20px}
.main-content .card-body>.row{--bs-gutter-y:20px}
.editor-section-title{margin-top:28px!important;padding-top:24px!important}
.cbt-toolbar{margin-bottom:24px!important}
#cbtExamQuestionsContainer{--bs-gutter-y:24px}
#cbtExamQuestionsContainer .card{margin-bottom:0!important}
.main-content .nav-pills{margin-bottom:20px!important}
}

/* Shared dashboard composition for every page heading. */
.app-breadcrumb{margin-bottom:16px;max-width:100%}.app-breadcrumb .breadcrumb{font-size:.76rem;line-height:1.6;gap:4px 0;flex-wrap:wrap}.app-breadcrumb .breadcrumb-item{overflow-wrap:anywhere;min-width:0;max-width:100%}.app-breadcrumb .breadcrumb-item.active{color:var(--app-muted)}.app-breadcrumb .breadcrumb-item+ .breadcrumb-item:before{color:#687b93}.app-breadcrumb a{color:#9aafcf;text-decoration:none}.app-breadcrumb a:hover{color:#d4b38e}
.app-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px!important;margin-bottom:24px!important}.app-page-header>div{min-width:0}.app-page-header>h1,.app-page-header>p,.app-page-header>.eyebrow{flex-basis:100%}.app-page-header>h1,.app-page-header h1{font-size:clamp(1.25rem,2.5vw,2rem)!important;line-height:1.25;margin-top:8px!important;margin-bottom:4px!important;font-weight:800!important;letter-spacing:-.04em;overflow-wrap:anywhere}.app-page-header p{font-size:.9rem!important;line-height:1.6;margin-bottom:0!important}.app-page-header .eyebrow{font-size:.68rem;letter-spacing:.12em;margin-bottom:0!important;font-weight:800;text-transform:uppercase}.app-page-header .btn{font-size:.86rem;min-height:40px;padding:.55rem .9rem}.app-page-header .badge{font-size:.68rem!important}.app-page-header .breadcrumb{display:none}
@media(max-width:767px){.app-breadcrumb{margin-bottom:16px}.app-page-header{gap:16px!important}.app-page-header .btn{font-size:.8rem}.app-page-header p{font-size:.82rem!important}}
.app-page-header.page-heading{display:block}.app-page-header.page-heading .eyebrow{display:block}.app-page-header.page-heading .eyebrow i{display:none}

/* All page headings share the dashboard composition after context moves to breadcrumbs. */
.app-page-header h1{margin-top:0!important}.app-page-header.page-heading{display:flex}.app-page-header.page-heading>h1{flex:1 1 280px}.app-page-header.page-heading>p{flex-basis:100%}.app-page-header .page-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.app-page-header>div:first-child:not(.page-header-actions){flex:1 1 280px}.app-breadcrumb{overflow-wrap:anywhere}

/* Compact data tables and notifications use the same language throughout the app. */
.table:not(.calendar-table){font-size:.82rem!important;line-height:1.4}.table:not(.calendar-table)>:not(caption)>*>*{padding:.55rem .7rem!important;vertical-align:middle}.table thead th{font-size:.68rem!important;letter-spacing:.04em;border-bottom:1px solid var(--app-border)!important}.table.table-bordered{border:0!important}.table.table-bordered>:not(caption)>*>*{border-left:0!important;border-right:0!important}.table .btn{font-size:.75rem;min-height:30px;padding:.3rem .5rem}.table .badge{font-size:.65rem;padding:.3rem .45rem}.table code{font-size:.75rem}
.password-toggle{border:1px solid var(--app-border)!important;background:#172139!important;color:var(--app-muted)!important;min-width:44px}.password-toggle:focus-visible,.flash-notice:focus-visible{outline:2px solid #c99a65;outline-offset:3px}
.flash-stack{position:fixed;right:24px;bottom:24px;z-index:1095;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 48px));pointer-events:none}.flash-notice{display:flex;align-items:center;gap:12px;background:#172139;border:1px solid #35415a;border-radius:16px;padding:16px;color:#e3e9f5;box-shadow:0 12px 36px #0005;font-size:.88rem;pointer-events:auto;cursor:pointer;touch-action:pan-y;animation:flash-enter .3s ease-out;transition:transform .3s ease,opacity .3s ease}.flash-notice>span{flex:1;min-width:0;overflow-wrap:anywhere}.flash-notice>i{font-size:1.2rem;color:#93b8c3}.flash-success>i{color:#89bda7}.flash-error>i{color:#d19a9f}.flash-warning>i{color:#c9b078}.flash-close{background:none;border:0;color:inherit;padding:6px;flex-shrink:0}.flash-notice.is-leaving{transform:translateX(calc(100% + 48px));opacity:0;pointer-events:none}@keyframes flash-enter{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:575px){.flash-stack{right:0;bottom:max(12px,env(safe-area-inset-bottom));width:100%;padding:0 10px;box-sizing:border-box}.flash-notice{padding:14px;border-radius:14px}}@media(prefers-reduced-motion:reduce){.flash-notice{animation:none;transition:none}}

/* Icon inputs have one continuous rounded surface and a single focus ring. */
.input-group:has(> .input-group-text):not(.class-picker-control){border:1px solid #344760!important;border-radius:14px!important;background:#091426!important;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.input-group:has(> .input-group-text):not(.class-picker-control):focus-within{border-color:#d4ab7e!important;box-shadow:0 0 0 3px #c99a6525!important}
.input-group:has(> .input-group-text):not(.class-picker-control)> .input-group-text{border:0!important;border-radius:0!important;background:transparent!important;padding-left:14px;padding-right:8px}
.input-group:has(> .input-group-text):not(.class-picker-control)> .form-control{border:0!important;border-radius:0!important;margin-left:0!important;padding-left:12px!important;padding-right:14px!important;background:transparent!important;min-width:0}
.input-group:has(> .input-group-text):not(.class-picker-control)> .form-control:focus{box-shadow:none!important;outline:none!important}
.input-group:has(> .input-group-text):not(.class-picker-control)> .password-toggle{border:0!important;border-radius:0!important;margin-left:0!important;background:transparent!important;padding-left:14px;padding-right:14px}

#monitorTabs{display:flex;align-items:stretch}#monitorTabs .nav-item{display:flex}#monitorTabs .nav-link{min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:.86rem!important;padding:.65rem 1rem!important;line-height:1.4}#monitorTabs .badge{font-size:.65rem}#filterBtnGroup .btn,.cam-filter-btn,#btnManualRefreshCam{min-height:36px;font-size:.78rem;padding:.45rem .7rem} @media(max-width:575px){#monitorTabs .nav-item{flex:1 1 100%}#monitorTabs .nav-link{width:100%}}

#monitorTabs .nav-item{flex:0 1 280px}#monitorTabs .nav-link{width:100%}@media(max-width:575px){#monitorTabs .nav-item{flex-basis:100%}}
/* One filter-card composition, with equal control sizes and flexible field widths. */
.filter-card>.card-body{padding:22px!important}.filter-toolbar{display:grid!important;grid-template-columns:repeat(var(--filter-columns,3),minmax(0,1fr));gap:16px!important;margin:0!important}.filter-toolbar>div{width:auto!important;min-width:0;padding:0!important;margin:0!important}.filter-toolbar>input[type=hidden]{display:none}.filter-toolbar label{display:block;font-size:.75rem!important;font-weight:700!important;line-height:18px!important;margin:0 0 8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-toolbar .form-control,.filter-toolbar .form-select,.filter-toolbar .input-group,.filter-toolbar .class-picker-trigger{height:46px!important;min-height:46px!important;min-width:0;font-size:.85rem!important}.filter-toolbar .form-control,.filter-toolbar .form-select{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:14px!important;padding-right:32px!important}.filter-toolbar .input-group{flex-wrap:nowrap!important}.filter-toolbar .input-group .form-control{height:44px!important;min-height:44px!important}.filter-toolbar .class-picker-trigger>span{display:block;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-toolbar .class-picker-trigger>.bi{flex-shrink:0}.filter-toolbar .filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px!important;border-top:1px solid var(--app-border);padding-top:14px!important;margin-top:2px!important}.filter-toolbar .filter-actions>.btn{min-width:108px;min-height:44px;height:44px;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.filter-toolbar .input-group .btn:not(.class-picker-trigger){flex-shrink:0}
.table-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;border-top:1px solid var(--app-border);font-size:.78rem;color:var(--app-muted)}.table-pagination[hidden],table[data-pagination] tbody>tr[hidden]{display:none!important}.table-page-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.table-page-tools label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.table-page-tools .form-select{width:76px;height:34px;min-height:34px;font-size:.78rem;padding:4px 28px 4px 10px}.table-page-buttons{display:flex;gap:5px}.table-page-buttons .btn{min-width:34px;min-height:34px;font-size:.78rem;padding:5px 8px}.table-page-buttons .btn:disabled{opacity:.4}
@media(min-width:576px) and (max-width:767px){.filter-toolbar{gap:12px!important}.filter-toolbar label{font-size:.68rem!important}.filter-toolbar .form-control,.filter-toolbar .form-select,.filter-toolbar .class-picker-trigger{font-size:.76rem!important}}
@media(max-width:575px){.filter-card>.card-body{padding:16px!important}.filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px!important}.filter-toolbar label{font-size:.68rem!important}.filter-toolbar .form-control,.filter-toolbar .form-select,.filter-toolbar .class-picker-trigger{font-size:.76rem!important}.filter-toolbar .filter-actions>.btn{flex:1;min-width:0}.table-pagination{padding:12px}.table-page-tools{width:100%;justify-content:space-between;gap:8px}.table-page-buttons{gap:3px}.table-page-buttons .btn{min-width:30px;padding:5px 6px}}
@media print{.table-pagination{display:none!important}table[data-pagination] tbody>tr[data-page-hidden="true"]{display:table-row!important}}
