/* ---- vendor/bootstrap/5.3.3/bootstrap.min.css ---- */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .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='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}

/* ---- vendor/fonts/v1/fonts.css ---- */
/* Self-hosted Google Fonts (SIL Open Font License): IBM Plex Sans, IBM Plex Mono, Orbitron. latin + latin-ext subsets. */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-mono-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-mono-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-sans-400-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/ibm-plex-sans-400-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url(/static/vendor/fonts/v1/orbitron-600-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- css/novak-theme.css ---- */
/* Novak LMS theme — shared tokens/components live in novak-ui.css, loaded after this file. */
/* Base — Navy IST tech shell */
:root {
  --navy-950: #02060d;
  --navy-900: #060d18;
  --navy-850: #0a1424;
  --navy-800: #101c32;
  --navy-700: #1a2f52;
  --navy-600: #274878;
  --navy-500: #3a6aa8;
  --accent: #3ec7ff;
  --accent-bright: #7adcff;
  --accent-soft: #c9f0ff;
  --accent-dim: rgba(62, 199, 255, 0.14);
  --accent-border: rgba(62, 199, 255, 0.45);
  --gold: var(--accent);
  --gold-bright: var(--accent-bright);
  --gold-soft: var(--accent-soft);
  --gold-dim: var(--accent-dim);
  --gold-border: var(--accent-border);
  --surface: #ffffff;
  --surface-2: #f0f5fb;
  --surface-3: #dce6f3;
  --surface-4: #c9d6e8;
  --ink: #0a1424;
  --ink-secondary: #33475f;
  --ink-muted: #4d5f75;  /* was #5f738c: 4.0:1 on tinted cards, below WCAG AA */
  --success: #0d9f6e;
  --success-bg: #e4f8f1;
  --danger: #d13b3b;
  --danger-bg: #fdecec;
  --warning-bg: #fff4df;
  --info-bg: #e6f7ff;
  --radius: 14px;
  --radius-sm: 9px;
  --shadow: 0 1px 2px rgba(6,13,24,.05), 0 10px 28px rgba(6,13,24,.07);
  --shadow-lg: 0 16px 48px rgba(6,13,24,.14);
  --ring: 0 0 0 3px rgba(62,199,255,.28);
  --font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --display: "Orbitron", var(--font);
  --topbar-h: 64px;
  --role-label: "TRAINEE";
  --grid-line: rgba(62, 199, 255, 0.06);
}
/* Instructor — command gold */
[data-role="instructor"] {
  --accent: #d4a017;
  --accent-bright: #f0c14b;
  --accent-soft: #f7e4a8;
  --accent-dim: rgba(212, 160, 23, 0.15);
  --accent-border: rgba(212, 160, 23, 0.5);
  --gold: var(--accent);
  --gold-bright: var(--accent-bright);
  --gold-soft: var(--accent-soft);
  --gold-dim: var(--accent-dim);
  --gold-border: var(--accent-border);
  --ring: 0 0 0 3px rgba(212,160,23,.3);
  --role-label: "INSTRUCTOR";
  --grid-line: rgba(212, 160, 23, 0.07);
}
/* Admin — tactical copper / signal red on navy */
[data-role="admin"] {
  --accent: #e85d4c;
  --accent-bright: #ff8a7a;
  --accent-soft: #ffd4ce;
  --accent-dim: rgba(232, 93, 76, 0.14);
  --accent-border: rgba(232, 93, 76, 0.48);
  --gold: var(--accent);
  --gold-bright: var(--accent-bright);
  --gold-soft: var(--accent-soft);
  --gold-dim: var(--accent-dim);
  --gold-border: var(--accent-border);
  --ring: 0 0 0 3px rgba(232,93,76,.28);
  --role-label: "ADMIN";
  --grid-line: rgba(232, 93, 76, 0.07);
}
[data-theme="dark"] {
  --surface: #0d1524;
  --surface-2: #070c14;
  --surface-3: #162235;
  --surface-4: #24364f;
  --ink: #f5f8fd;
  --ink-secondary: #dce6f4;
  --ink-muted: #b8c7db;
  --success: #4ae09a;
  --success-bg: rgba(74, 224, 154, 0.14);
  --danger: #ff9a8c;
  --danger-bg: rgba(255, 154, 140, 0.14);
  --warning-bg: rgba(240, 193, 75, 0.14);
  --info-bg: rgba(62, 199, 255, 0.12);
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.4);
  --shadow-lg: 0 20px 56px rgba(0,0,0,.5);
  --bs-body-color: #f5f8fd;
  --bs-secondary-color: #b8c7db;
  --bs-tertiary-color: #9aadc4;
  --bs-border-color: #24364f;
}
/* role accents tuned for dark: data-theme is on <html>, data-role on <body>, so these are descendant selectors */
[data-theme="dark"] [data-role="instructor"] {
  --accent: #e0b13a;
  --accent-bright: #f6d56a;
  --accent-soft: #f8e7b0;
  --accent-dim: rgba(224, 177, 58, 0.16);
  --accent-border: rgba(224, 177, 58, 0.5);
  --gold: var(--accent);
  --gold-bright: var(--accent-bright);
  --gold-soft: var(--accent-soft);
  --gold-dim: var(--accent-dim);
  --gold-border: var(--accent-border);
}
[data-theme="dark"] [data-role="admin"] {
  --accent: #ff7a6a;
  --accent-bright: #ffb0a5;
  --accent-soft: #ffd8d2;
  --accent-dim: rgba(255, 122, 106, 0.16);
  --accent-border: rgba(255, 122, 106, 0.5);
  --gold: var(--accent);
  --gold-bright: var(--accent-bright);
  --gold-soft: var(--accent-soft);
  --gold-dim: var(--accent-dim);
  --gold-border: var(--accent-border);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background-color: var(--surface-2);
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px),
    radial-gradient(900px 420px at 0% -5%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 55%),
    radial-gradient(700px 360px at 100% 0%, color-mix(in srgb, var(--navy-600) 22%, transparent), transparent 50%),
    linear-gradient(180deg, #e8eef6 0%, var(--surface-2) 40%);
  background-size: 48px 48px, 48px 48px, auto, auto, auto;
  color: var(--ink);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  line-height: 1.55;
}
[data-theme="dark"] body {
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px),
    radial-gradient(900px 420px at 5% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%),
    radial-gradient(700px 360px at 100% 0%, rgba(26, 51, 88, .35), transparent 50%),
    linear-gradient(180deg, #04080f 0%, var(--surface-2) 45%);
  background-size: 48px 48px, 48px 48px, auto, auto, auto;
}
code, .mono { font-family: var(--mono); font-size: .9em; }

/* Top bar — HUD style */
.topbar {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 42%),
    linear-gradient(180deg, #070f1c 0%, #040a14 100%);
  border-bottom: 1px solid var(--accent-border);
  box-shadow: 0 0 24px color-mix(in srgb, var(--accent) 18%, transparent), 0 8px 28px rgba(0,0,0,.35);
  position: sticky;
  top: 0;
  z-index: 1030;
}
.topbar::after {
  content: attr(data-role-label);
  position: absolute;
  right: 1rem;
  top: .35rem;
  font-family: var(--mono);
  font-size: .65rem;
  letter-spacing: .14em;
  color: var(--accent-bright);
  opacity: .85;
  pointer-events: none;
}
.teach-topbar {
  background: color-mix(in srgb, var(--accent) 12%, #f4f7fb);
  border-bottom: 1px solid var(--accent-border);
  color: var(--ink);
}
[data-theme="dark"] .teach-topbar {
  background: color-mix(in srgb, var(--accent) 10%, #121c2c);
  color: var(--ink);
  border-bottom-color: var(--accent-border);
}
.teach-topbar .form-select { background: #fff; }
[data-theme="dark"] .teach-topbar .form-select { background: #1b2433; color: #f4f7fb; }
.topbar .navbar { padding: .65rem 0; min-height: var(--topbar-h); }
.topbar .navbar-brand {
  font-weight: 700; letter-spacing: .02em; color: #fff !important;
  display: flex; align-items: center; gap: .75rem; font-size: 1.05rem;
  font-family: var(--display);
}
.brand-logo-wrap {
  position: relative;
  width: 48px; height: 48px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 28%, transparent);
}
/* Static Navy N mark — no motion */
.brand-logo-wrap,
.hero-logo-wrap {
  transform: none;
}
.brand-logo-wrap .logo-live,
.hero-logo-wrap .logo-live {
  position: absolute; inset: 0;
  transform: none;
  animation: none !important;
  background-color: #04101c;
  background-image: url("/static/img/navy-n-512.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-mask-image: none;
  mask-image: none;
}
.hero-logo-wrap {
  width: min(280px, 70vw);
  height: min(280px, 70vw);
  margin: 0 auto;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent),
    0 0 50px color-mix(in srgb, var(--accent) 22%, transparent);
}
.brand-mark {
  width: 42px; height: 42px; border-radius: 10px;
  background: linear-gradient(145deg, var(--accent-bright), var(--accent));
  display: grid; place-items: center; color: #06101f;
  font-weight: 800; font-size: .72rem; font-family: var(--display);
  box-shadow: 0 0 0 1px rgba(255,255,255,.3) inset, 0 0 18px color-mix(in srgb, var(--accent) 45%, transparent);
}
.brand-sub {
  display: block; font-size: .58rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent-bright); margin-top: 3px; opacity: .95;
  font-family: var(--mono);
}
.topbar .nav-link {
  color: rgba(255,255,255,.84) !important; font-weight: 600;
  font-size: .88rem; padding: .45rem .85rem !important; border-radius: 8px;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.topbar .nav-link:hover {
  color: #fff !important;
  background: var(--accent-dim);
  box-shadow: inset 0 -2px 0 var(--accent);
}
#themeToggle { color: var(--accent-soft) !important; }
.role-chip {
  font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  background: var(--accent-dim); color: var(--accent-bright);
  border: 1px solid var(--accent-border); padding: .28rem .65rem; border-radius: 6px;
  font-family: var(--mono);
}

/* Buttons */
.btn { border-radius: var(--radius-sm); font-weight: 700; letter-spacing: .01em; }
.btn-brand {
  background: linear-gradient(180deg, var(--accent-bright), var(--accent));
  border: 1px solid color-mix(in srgb, var(--accent) 70%, #000);
  color: #06101f;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 0 18px color-mix(in srgb, var(--accent) 28%, transparent);
}
.btn-brand:hover {
  background: linear-gradient(180deg, #fff, var(--accent-bright));
  color: #06101f; border-color: var(--accent);
  filter: brightness(1.03);
}
.btn-navy {
  background: linear-gradient(180deg, var(--navy-700), var(--navy-800));
  border: 1px solid var(--navy-700); color: #fff;
  box-shadow: 0 6px 16px rgba(7,16,31,.18);
}
.btn-navy:hover { background: var(--navy-600); color: #fff; border-color: var(--navy-600); }
.btn-outline-navy {
  border: 1.5px solid var(--navy-600); color: var(--navy-800);
  background: var(--surface); font-weight: 700;
}
.btn-outline-navy:hover { background: var(--surface-3); color: var(--ink); }
[data-theme="dark"] .btn-outline-navy {
  color: var(--ink); border-color: var(--navy-600); background: var(--surface-3);
}
.btn-outline-gold {
  border: 1.5px solid var(--accent); color: color-mix(in srgb, var(--accent) 75%, #000);
  background: var(--surface); font-weight: 700;
}
.btn-outline-gold:hover { background: var(--accent-dim); color: var(--ink); }
[data-theme="dark"] .btn-outline-gold { color: var(--accent-soft); background: transparent; }
.btn-outline-secondary {
  border-color: var(--surface-4); color: var(--ink-secondary); background: var(--surface);
}
[data-theme="dark"] .btn-outline-secondary {
  color: var(--ink-secondary); border-color: var(--surface-4); background: var(--surface-3);
}

/* Surfaces */
.card {
  border: 1px solid color-mix(in srgb, var(--accent) 12%, rgba(16,32,57,.1));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter: blur(8px);
  overflow: hidden;
  color: var(--ink);
}
[data-theme="dark"] .card {
  border-color: color-mix(in srgb, var(--accent) 18%, rgba(147,162,184,.1));
  background: linear-gradient(180deg, #0f1a2c 0%, var(--surface) 100%);
}
.card-header {
  background: linear-gradient(180deg, var(--surface), var(--surface-2));
  border-bottom: 1px solid var(--surface-3);
  font-weight: 700; padding: 1rem 1.25rem; color: var(--ink);
}
[data-theme="dark"] .card-header {
  background: linear-gradient(180deg, #152238, #0f1a2b);
  border-bottom-color: rgba(147,162,184,.12); color: var(--ink);
}
.card-header.navy {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 50%),
    linear-gradient(120deg, #070f1c 0%, #122445 55%, #1a3358 100%);
  color: #f5f8fc; border-bottom: 2px solid var(--accent);
  letter-spacing: .04em; font-family: var(--mono); font-size: .92rem; text-transform: uppercase;
}
.card-body { color: var(--ink); }
.card-elevated { box-shadow: var(--shadow-lg); }

.page-hero {
  background:
    linear-gradient(115deg, #040a14 0%, #0c1c38 42%, #16365e 100%);
  color: #f5f8fc; border-radius: var(--radius); padding: 1.85rem 2rem;
  margin-bottom: 1.75rem; border: 1px solid var(--accent-border);
  box-shadow: var(--shadow-lg), 0 0 40px color-mix(in srgb, var(--accent) 12%, transparent);
  position: relative; overflow: hidden;
}
.page-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .35; pointer-events: none;
}
.page-hero::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(600px 200px at 90% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%);
  pointer-events: none;
}
.page-hero > * { position: relative; z-index: 1; }
.page-hero h1, .page-hero .h3 {
  font-weight: 700; letter-spacing: .02em; margin: 0 0 .35rem; color: #fff;
  font-family: var(--display); font-size: 1.35rem;
}
.page-hero p { color: rgba(245,248,252,.82); margin: 0; }

.badge-live { background: var(--success-bg); color: var(--success); border: 1px solid rgba(15,122,69,.25); font-weight: 700; }
.badge-closed { background: var(--surface-3); color: var(--ink-muted); font-weight: 700; }
.badge-gold { background: var(--accent-dim); color: color-mix(in srgb, var(--accent) 70%, #000); border: 1px solid var(--accent-border); font-weight: 700; }
[data-theme="dark"] .badge-gold { color: var(--accent-soft); }

.progress { height: .55rem; border-radius: 999px; background: var(--surface-3); }
.progress-bar { background: linear-gradient(90deg, var(--navy-700), var(--gold)); }

/* Content typography */
.module-content { line-height: 1.75; font-size: 1.04rem; color: var(--ink); }
.module-content h2 {
  font-weight: 800; letter-spacing: -.02em; color: var(--ink);
  margin-bottom: 1rem; padding-bottom: .5rem;
  border-bottom: 3px solid var(--gold); display: inline-block;
}
.module-content h3 {
  font-weight: 750; color: var(--ink); margin-top: 1.9rem;
  margin-bottom: .75rem; font-size: 1.2rem;
}
.module-content h4 { color: var(--ink-secondary); margin-top: 1.25rem; font-weight: 700; }
.module-content p { color: var(--ink-secondary); margin-bottom: 1rem; }
.module-content li { color: var(--ink-secondary); margin-bottom: .4rem; }
.module-content strong { color: var(--ink); }
[data-theme="dark"] .module-content p,
[data-theme="dark"] .module-content li { color: var(--ink-secondary); }
[data-theme="dark"] .module-content h2,
[data-theme="dark"] .module-content h3,
[data-theme="dark"] .module-content strong { color: var(--ink); }

.lo-panel {
  background: linear-gradient(135deg, #07101f, #142849);
  color: #f0f4fa; border-radius: 14px; padding: 1.15rem 1.3rem;
  margin: 1rem 0 1.4rem; border: 1px solid var(--gold-border);
  box-shadow: 0 8px 24px rgba(7,16,31,.2);
}
.lo-panel h4 {
  color: var(--gold-bright) !important; margin: 0 0 .7rem !important;
  font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
}
.lo-panel ul { margin: 0; padding-left: 1.15rem; color: rgba(240,244,250,.92); }
.lo-panel li { margin-bottom: .4rem; color: rgba(240,244,250,.92); }

.lab-panel {
  background: linear-gradient(180deg, #fff9eb, #f7ecca);
  border: 1.5px solid rgba(201,162,39,.45); border-radius: 14px;
  padding: 1.2rem 1.3rem; margin: 1.3rem 0;
}
.lab-panel .lab-title {
  font-weight: 800; color: #7a5a0a; display: flex;
  align-items: center; gap: .45rem; margin-bottom: .65rem;
}
.lab-panel .lab-title span:first-child {
  background: #7a5a0a; color: #fff9eb; font-size: .68rem;
  letter-spacing: .08em; padding: .15rem .4rem; border-radius: 5px;
}
.lab-panel li { margin-bottom: .45rem; color: #5c450c; }
[data-theme="dark"] .lab-panel {
  background: linear-gradient(180deg, #2a220f, #1c170c);
  border-color: rgba(212,176,58,.35);
}
[data-theme="dark"] .lab-panel .lab-title { color: var(--gold-soft); }
[data-theme="dark"] .lab-panel .lab-title span:first-child {
  background: var(--gold); color: #0b1524;
}
[data-theme="dark"] .lab-panel li { color: #e8d9a0; }

.build-on {
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  border-left: 4px solid var(--accent);
  padding: .75rem 1rem;
  border-radius: 0 10px 10px 0;
  margin: 0.85rem 0 1rem;
  font-size: .95rem;
  line-height: 1.45;
  color: var(--ink);
}
.plain-english {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
  border-radius: 12px;
  padding: 1rem 1.15rem;
  margin: 0 0 1.25rem;
}
.plain-english h4 {
  margin: 0 0 .4rem;
  font-size: 1rem;
  color: var(--ink);
  letter-spacing: 0;
  text-transform: none;
  font-family: var(--font);
}
.plain-english p {
  margin: 0;
  line-height: 1.55;
  color: var(--ink-secondary);
}
.live-demo {
  border: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  border-radius: 12px; padding: 1rem 1.15rem; margin: 1.1rem 0;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}
.live-demo h4 { margin: 0 0 .5rem; }
.demo-step { display: flex; gap: .75rem; margin: .55rem 0; align-items: flex-start; }
.demo-step .n {
  flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--accent); color: #041018; font-weight: 800;
  display: grid; place-items: center; font-size: .8rem;
}
.worked {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
  border-left: 4px solid var(--gold); padding: .9rem 1rem;
  border-radius: 0 10px 10px 0; margin: 1rem 0;
}
.prereq {
  background: color-mix(in srgb, var(--success, #0d9f6e) 12%, var(--surface));
  border-left: 4px solid var(--success, #0d9f6e); padding: .75rem 1rem;
  margin: 1rem 0; border-radius: 0 10px 10px 0;
}
.analogy-box {
  background: linear-gradient(135deg, rgba(16,32,57,.06), rgba(201,162,39,.1));
  border: 1px solid var(--gold-border);
  border-left: 4px solid var(--navy-700);
  border-radius: 14px; padding: 1.1rem 1.25rem; margin: 1.2rem 0 1.4rem;
}
.analogy-label {
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: var(--navy-700); margin-bottom: .45rem;
}
.analogy-box p { margin: 0; color: var(--ink-secondary); font-size: 1rem; }
[data-theme="dark"] .live-demo {
  border: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  border-radius: 12px; padding: 1rem 1.15rem; margin: 1.1rem 0;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}
.live-demo h4 { margin: 0 0 .5rem; }
.demo-step { display: flex; gap: .75rem; margin: .55rem 0; align-items: flex-start; }
.demo-step .n {
  flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--accent); color: #041018; font-weight: 800;
  display: grid; place-items: center; font-size: .8rem;
}
.worked {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
  border-left: 4px solid var(--gold); padding: .9rem 1rem;
  border-radius: 0 10px 10px 0; margin: 1rem 0;
}
html:not([data-theme="dark"]) .worked code { color: #a3195b; } /* pass 11: 4.5:1+ on the tinted box (Bootstrap pink was 3.9:1) */
.prereq {
  background: color-mix(in srgb, var(--success, #0d9f6e) 12%, var(--surface));
  border-left: 4px solid var(--success, #0d9f6e); padding: .75rem 1rem;
  margin: 1rem 0; border-radius: 0 10px 10px 0;
}
.analogy-box {
  background: linear-gradient(135deg, rgba(42,79,124,.25), rgba(201,162,39,.08));
  border-left-color: var(--gold);
}
[data-theme="dark"] .analogy-label { color: var(--gold-bright); }
[data-theme="dark"] .analogy-box p { color: var(--ink-secondary); }

.callout {
  border-left: 4px solid var(--gold); background: var(--gold-dim);
  padding: 1rem 1.15rem; border-radius: 0 12px 12px 0;
  margin: 1.1rem 0; font-size: .98rem; color: var(--ink-secondary);
}
[data-theme="dark"] .callout { color: var(--gold-soft); }

.port-table { width: 100%; border-collapse: collapse; font-size: .94rem; margin: 1rem 0 1.35rem; }
.port-table th {
  background: var(--navy-900); color: var(--gold-bright); font-weight: 700;
  padding: .65rem .8rem; text-align: left;
}
.port-table td {
  padding: .55rem .8rem; border-bottom: 1px solid var(--surface-3);
  color: var(--ink-secondary);
}
.port-table tr:nth-child(even) td { background: var(--surface-2); }
.port-table code {
  background: var(--surface-3); padding: .12rem .4rem; border-radius: 5px; color: var(--navy-800);
}
[data-theme="dark"] .port-table code {
  background: var(--surface-4); color: var(--gold-soft);
}
[data-theme="dark"] .port-table td { border-color: var(--surface-3); }

.list-group-item {
  border-color: var(--surface-3); padding: 1rem 1.2rem;
  background: var(--surface); color: var(--ink);
}
.list-group-item-action:hover {
  background: var(--surface-2); color: var(--ink);
}
[data-theme="dark"] .list-group-item-action:hover { background: var(--surface-3); }
.list-group-item.active-lesson {
  background: linear-gradient(90deg, var(--accent-dim), transparent 70%);
  border-left: 3px solid var(--accent);
  font-weight: 700; color: var(--ink);
}
[data-theme="dark"] .list-group-item.active-lesson {
  color: var(--accent-soft);
  background: linear-gradient(90deg, var(--accent-dim), transparent 70%);
}

footer {
  margin-top: auto; background: #030711; color: rgba(233,238,247,.55);
  font-size: .8rem; border-top: 1px solid var(--accent-border);
  font-family: var(--mono);
}
.stat-pill {
  display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .75rem;
  border-radius: 999px; background: var(--surface-3); font-size: .85rem;
  font-weight: 700; color: var(--ink);
}
.option-bar { height: 8px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }
.option-bar > span { display: block; height: 100%; background: var(--navy-600); }
.option-bar > span.correct { background: var(--success); }

.breadcrumb { font-size: .875rem; background: transparent; }
.breadcrumb-item a { color: var(--navy-600); text-decoration: none; font-weight: 650; }
[data-theme="dark"] .breadcrumb-item a { color: #8eb4e8; }
.breadcrumb-item.active { color: var(--ink-muted); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--ink-muted); }

.alert {
  border-radius: 12px; border: 1px solid transparent; box-shadow: var(--shadow);
  color: var(--ink);
}
.alert-success { background: var(--success-bg); border-color: rgba(15,122,69,.2); color: var(--success); }
.alert-warning { background: var(--warning-bg); border-color: var(--gold-border); color: #8a6b12; }
.alert-danger { background: var(--danger-bg); border-color: rgba(180,35,24,.2); color: var(--danger); }
.alert-info, .alert-secondary {
  background: var(--info-bg); border-color: rgba(42,79,124,.2); color: var(--ink-secondary);
}
[data-theme="dark"] .alert-warning { color: var(--gold-soft); }
[data-theme="dark"] .alert-info, [data-theme="dark"] .alert-secondary { color: var(--ink-secondary); }

.text-muted { color: var(--ink-muted) !important; }
.form-label { color: var(--ink-secondary); font-weight: 600; }
.form-control, .form-select {
  background: var(--surface); border: 1.5px solid var(--surface-4);
  color: var(--ink); border-radius: var(--radius-sm);
}
.form-control:focus, .form-select:focus {
  background: var(--surface); color: var(--ink);
  border-color: var(--gold); box-shadow: var(--ring);
}
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select {
  background: var(--surface-3); border-color: var(--surface-4); color: var(--ink);
}
.form-check-label { color: var(--ink-secondary); }
.bg-light {
  background: var(--surface-2) !important; color: var(--ink) !important;
}
[data-theme="dark"] .bg-light { background: var(--surface-3) !important; }
.modal-content {
  background: var(--surface); color: var(--ink); border: 1px solid var(--surface-3);
  border-radius: var(--radius);
}
.modal-header, .modal-footer { border-color: var(--surface-3); }
.table { color: var(--ink); }
.table > :not(caption) > * > * { border-color: var(--surface-3); color: var(--ink-secondary); }

/* Test UI */
.test-shell { max-width: 940px; margin: 0 auto; }
.test-toolbar {
  background: linear-gradient(120deg, #07101f, #142849);
  color: #f5f8fc; border-radius: 14px; padding: 1rem 1.2rem;
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center;
  justify-content: space-between; border: 1px solid var(--gold-border);
  margin-bottom: 1rem; box-shadow: var(--shadow);
}
.test-toolbar .meta { font-size: .85rem; color: rgba(245,248,252,.75); }
.q-nav {
  display: flex; flex-wrap: wrap; gap: .4rem;
  background: var(--surface); border: 1px solid var(--surface-3);
  border-radius: 14px; padding: .85rem 1rem; box-shadow: var(--shadow);
}
.q-nav button {
  width: 40px; height: 40px; border-radius: 10px;
  border: 1.5px solid var(--surface-4); background: var(--surface-2);
  color: var(--ink); font-weight: 800; font-size: .82rem; cursor: pointer;
}
.q-nav button:hover { border-color: var(--navy-600); background: var(--surface-3); }
.q-nav button.answered {
  background: var(--success-bg); border-color: var(--success); color: #08734f; /* pass 11: 5.6:1 on --success-bg (was 3.1:1) */
}
[data-theme="dark"] .q-nav button.answered:not(.current) { color: var(--success); }
.q-nav button.flagged { box-shadow: inset 0 0 0 2px var(--gold); border-color: var(--gold); }
.q-nav button.current {
  background: var(--gold); color: #06101f; border-color: #a8861c;
  box-shadow: 0 4px 12px rgba(201,162,39,.35);
}
.q-card {
  background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-lg);
  border: 1px solid var(--surface-3); padding: 1.6rem; color: var(--ink);
}
.q-lo {
  display: inline-flex; align-items: center; gap: .4rem; background: var(--gold-dim);
  color: #8a6b12; font-size: .78rem; font-weight: 700; padding: .4rem .7rem;
  border-radius: 8px; margin-bottom: 1rem; border: 1px solid var(--gold-border);
}
[data-theme="dark"] .q-lo { color: var(--gold-soft); }
.q-option {
  display: block; width: 100%; text-align: left; border: 1.5px solid var(--surface-4);
  border-radius: 12px; padding: 1rem 1.1rem; margin-bottom: .55rem;
  background: var(--surface); cursor: pointer; transition: .15s ease;
  font-weight: 600; color: var(--ink);
}
.q-option:hover { border-color: var(--navy-600); background: var(--surface-2); }
.q-option.selected {
  border-color: var(--gold); background: var(--gold-dim); box-shadow: 0 0 0 1px var(--gold);
}
.q-option input { display: none; }

.sublesson { margin-bottom: 2.25rem; scroll-margin-top: 5.5rem; }
.lesson-nav .list-group-item { font-size: .9rem; }
.staff-rail .list-group-item.active-lesson,
.lesson-nav .active-lesson {
  background: color-mix(in srgb, var(--gold) 18%, transparent);
  border-left: 3px solid var(--gold);
  font-weight: 650;
}
.nav-tabs { border-bottom-color: var(--surface-3); }
.nav-tabs .nav-link {
  color: var(--ink-muted); font-weight: 700; border: none;
  border-bottom: 2px solid transparent; border-radius: 0;
}
.nav-tabs .nav-link:hover { color: var(--ink); border-color: transparent; }
.nav-tabs .nav-link.active {
  color: var(--ink); background: transparent;
  border-bottom: 2px solid var(--gold);
}


/* —— Readability / anti-awkward-wrap —— */
body, p, li, td, th, .card-body, .module-content {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.55;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.25;
}
.card-header {
  white-space: normal;
  line-height: 1.35;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: var(--font) !important;
  font-size: .95rem !important;
}
.card-header.navy {
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-family: var(--font) !important;
  font-size: .95rem !important;
}
.topbar .navbar-brand {
  max-width: min(42vw, 16rem);
  min-width: 0;
}
.topbar .navbar-brand > span:last-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.brand-title-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brand-sub {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  letter-spacing: .08em !important;
  font-size: .55rem !important;
}
.topbar .nav-link {
  white-space: nowrap;
}
.topbar .navbar-nav .nav-link {
  padding: .4rem .65rem !important;
}
.user-meta {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: nowrap;
  max-width: 100%;
}
.user-meta .user-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 9rem;
  color: #fff;
}
.role-chip {
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .04em !important;
}
.teach-topbar {
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.teach-topbar .container {
  flex-wrap: nowrap !important;
  white-space: nowrap;
}
.page-hero h1, .page-hero .h3 {
  white-space: normal;
  line-height: 1.2;
  letter-spacing: 0 !important;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
}
.page-hero p {
  max-width: 48rem;
  line-height: 1.5;
}
.breadcrumb {
  flex-wrap: wrap;
  row-gap: .15rem;
}
.breadcrumb-item {
  max-width: 100%;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: .4rem;
}
.list-group-item {
  word-break: normal;
  overflow-wrap: break-word;
}
.staff-tree a, .staff-tree summary {
  white-space: normal;
  line-height: 1.35;
  word-break: normal;
}
.btn {
  white-space: nowrap;
}
.btn.btn-wrap {
  white-space: normal;
}
table {
  width: 100%;
}
.table td, .table th {
  vertical-align: middle;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
code, .mono {
  white-space: pre-wrap;
  word-break: break-all;
}
.form-label {
  margin-bottom: .3rem;
}
.input-group {
  flex-wrap: wrap;
}
main.container {
  max-width: 1320px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
/* —— Mobile-first refinements —— */
@media (max-width: 991.98px) {
  :root { --topbar-h: 56px; }
  body { padding-bottom: env(safe-area-inset-bottom, 0); }
  main.container {
    padding-left: .75rem;
    padding-right: .75rem;
    padding-top: 1rem !important;
    max-width: 100%;
  }
  .topbar .navbar { padding: .4rem 0; }
  .topbar .navbar-brand { max-width: calc(100vw - 5.5rem); gap: .45rem; }
  .topbar .navbar-brand .brand-sub { display: none; }
  .brand-logo-wrap { width: 40px; height: 40px; }
  .user-meta { flex-wrap: wrap; gap: .35rem; }
  .user-meta .user-name { max-width: 9rem; }
  .navbar-collapse {
    background: color-mix(in srgb, var(--navy-900) 96%, #000);
    margin: .5rem -.75rem 0;
    padding: .75rem 1rem 1rem;
    border-radius: 0 0 12px 12px;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .navbar-collapse .form-control { max-width: none !important; min-width: 0 !important; flex: 1; }
  .navbar-collapse form.d-flex { width: 100%; }
  .navbar-toggler {
    border-color: rgba(255,255,255,.35);
    padding: .4rem .55rem;
    min-width: 44px; min-height: 44px;
  }
  .navbar-toggler:focus { box-shadow: var(--ring); }
  .teach-topbar .container {
    flex-wrap: wrap !important;
    white-space: normal;
    gap: .4rem !important;
  }
  .teach-topbar .form-select {
    min-height: 40px;
    max-width: 100%;
  }
  #teachClock { font-size: 1.15rem !important; }
  /* (pass 6) removed legacy ".staff-rail { position: static !important }" — it pinned the mobile drawer below the page */
  .staff-rail .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    cursor: pointer;
  }
  .q-card { padding: 1rem; }
  .q-option { padding: .85rem .9rem; min-height: 48px; }
  .q-nav button { width: 44px; height: 44px; }
  .test-toolbar { gap: .5rem; padding: .75rem; }
  .table-responsive {
    margin-left: -.25rem;
    margin-right: -.25rem;
    -webkit-overflow-scrolling: touch;
  }
  .card { border-radius: 12px; }
  .btn, .btn-sm {
    min-height: 40px;
    padding-left: .85rem;
    padding-right: .85rem;
  }
  .btn-sm { min-height: 36px; }
  h1.h2, h1.h3, .h2, .h3 { font-size: 1.35rem; }
  .page-hero { padding: 1.1rem !important; }
  .hero-logo-wrap {
    width: min(160px, 42vw) !important;
    height: min(160px, 42vw) !important;
    margin-top: .75rem;
  }
  footer .container { font-size: .78rem; }
  /* Lesson reading comfort on phones */
  .module-content, .lesson-body, .card-body {
    font-size: 1rem;
    line-height: 1.55;
  }
  .demo-step .n { flex-shrink: 0; }
  .live-demo, .worked, .prereq { padding: .85rem; }
}
@media (max-width: 575.98px) {
  .arcade-pills { width: 100%; justify-content: flex-start; }
  .row.g-4 { --bs-gutter-y: 1rem; }
  .role-chip { font-size: .65rem; }
}

/* Readable layout — spacious, no crushed wraps */
main.container-fluid, main.container, .content-pane {
  max-width: 1320px;
}
.page-hero h1, .page-hero .h3 {
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.table th, .table td {
  white-space: nowrap;
  vertical-align: middle;
  padding: .75rem 1rem;
}
.table td.wrap-ok, .table th.wrap-ok {
  white-space: normal;
  max-width: 32rem;
  line-height: 1.45;
}
.card {
  margin-bottom: 1.25rem;
}
.card-header {
  padding: .9rem 1.15rem;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
  line-height: 1.4;
}
.card-body {
  padding: 1.15rem 1.25rem;
}
.list-group-item {
  padding: .85rem 1.15rem;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.45;
}
.stat-pill {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .7rem;
}
.form-label {
  font-weight: 600;
  margin-bottom: .4rem;
}
.form-select, .form-control {
  min-height: 2.5rem;
}
select.form-select[multiple] {
  min-height: 9rem;
  padding: .5rem;
}
.row.g-3, .row.g-4 {
  --bs-gutter-x: 1.25rem;
  --bs-gutter-y: 1.25rem;
}
.badge {
  white-space: nowrap;
}
.h6, h2.h6 {
  line-height: 1.4;
  overflow-wrap: normal;
  word-break: normal;
}


/* —— Site-wide readability polish —— */
body {
  letter-spacing: 0.01em;
}
p, li {
  line-height: 1.6;
  margin-bottom: .65rem;
}
.module-content p, .lesson-body p, #lessonBody p {
  line-height: 1.65;
  margin-bottom: 1rem;
  max-width: 52rem;
}
.module-content h2, .module-content h3, .module-content h4,
.lesson-body h2, .lesson-body h3, .lesson-body h4,
#lessonBody h2, #lessonBody h3, #lessonBody h4 {
  margin-top: 1.5rem;
  margin-bottom: .75rem;
  line-height: 1.35;
  font-weight: 700;
}
.module-content ul, .lesson-body ul, #lessonBody ul {
  padding-left: 1.35rem;
  margin-bottom: 1rem;
}
.module-content li, .lesson-body li, #lessonBody li {
  margin-bottom: .4rem;
}
.breadcrumb {
  margin-bottom: 1rem;
  font-size: .9rem;
}
.alert {
  line-height: 1.5;
  padding: .9rem 1.1rem;
}
.btn {
  padding: .45rem 1rem;
}
.btn-sm {
  padding: .3rem .7rem;
}
.table thead th {
  font-size: .82rem;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink-muted);
  font-weight: 700;
  border-bottom-width: 2px;
}
.navbar-brand .brand-title-line {
  font-size: 1rem;
}
.staff-tree {
  font-size: .9rem;
  line-height: 1.45;
}
.staff-tree summary {
  padding: .35rem 0;
  cursor: pointer;
}
.staff-tree a {
  padding: .25rem 0;
  display: block;
}


/* ========== DARK MODE CONTRAST LOCK (site-wide) ========== */
[data-theme="dark"] {
  color-scheme: dark;
}
[data-theme="dark"] body {
  color: var(--ink) !important;
}
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6,
[data-theme="dark"] .h1, [data-theme="dark"] .h2, [data-theme="dark"] .h3,
[data-theme="dark"] .h4, [data-theme="dark"] .h5, [data-theme="dark"] .h6 {
  color: var(--ink) !important;
}
[data-theme="dark"] p,
[data-theme="dark"] li,
[data-theme="dark"] td,
[data-theme="dark"] th,
[data-theme="dark"] dt,
[data-theme="dark"] dd,
[data-theme="dark"] label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .form-check-label,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .modal-title,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .table,
[data-theme="dark"] .stat-pill,
[data-theme="dark"] .filter-panel,
[data-theme="dark"] .filter-panel-title {
  color: var(--ink) !important;
}
/* Bootstrap utilities that stay too dim on navy */
[data-theme="dark"] .text-muted,
[data-theme="dark"] .small.text-muted,
[data-theme="dark"] small.text-muted,
[data-theme="dark"] .form-text,
[data-theme="dark"] .text-secondary,
[data-theme="dark"] .text-body-secondary,
[data-theme="dark"] .text-body-tertiary {
  color: #b8c7db !important;
}
[data-theme="dark"] .text-dark { color: var(--ink) !important; }
[data-theme="dark"] .text-black { color: var(--ink) !important; }
[data-theme="dark"] .text-white { color: #fff !important; }
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.chip-link) {
  color: var(--accent-bright);
}
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  color: var(--accent-soft);
}
/* Tables */
[data-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--ink);
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-striped-color: var(--ink);
  --bs-table-hover-bg: rgba(255,255,255,.05);
  --bs-table-hover-color: var(--ink);
  --bs-table-border-color: var(--surface-4);
  color: var(--ink) !important;
}
[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
  color: var(--ink) !important;
  border-color: var(--surface-4) !important;
  background-color: transparent !important;
}
[data-theme="dark"] .table thead th {
  color: #c5d2e6 !important;
}
[data-theme="dark"] .table-attempts td,
[data-theme="dark"] .table-attempts th {
  color: #f0f5fc !important;
}
/* Lists & filters */
[data-theme="dark"] .list-group-item {
  background: var(--surface) !important;
  color: var(--ink) !important;
  border-color: var(--surface-4) !important;
}
[data-theme="dark"] .list-group-item-action:hover,
[data-theme="dark"] .list-group-item-action:focus {
  background: var(--surface-3) !important;
  color: var(--ink) !important;
}
[data-theme="dark"] .breadcrumb { --bs-breadcrumb-divider-color: #8a9bb0; }
[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item a { color: #c5d2e6 !important; }
[data-theme="dark"] .breadcrumb-item.active { color: #f5f8fd !important; }
/* Forms */
[data-theme="dark"] .form-select,
[data-theme="dark"] .form-control,
[data-theme="dark"] textarea.form-control {
  background: #152238 !important;
  color: #f5f8fd !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] .form-control:focus {
  background: #1a2a42 !important;
  color: #fff !important;
  border-color: var(--accent) !important;
  box-shadow: var(--ring);
}
[data-theme="dark"] .form-select option {
  background: #152238;
  color: #f5f8fd;
}
[data-theme="dark"] .form-control::placeholder {
  color: #9aadc4 !important;
  opacity: 1;
}
[data-theme="dark"] .form-check-input {
  background-color: #152238;
  border-color: #4a6280;
}
[data-theme="dark"] .input-group-text {
  background: #152238;
  color: #dce6f4;
  border-color: #2a3f5c;
}
/* Staff tree / sidebar */
[data-theme="dark"] .staff-rail .card-header.navy { color: #f5f8fc !important; }
[data-theme="dark"] .staff-tree,
[data-theme="dark"] .staff-tree a,
[data-theme="dark"] .staff-tree summary,
[data-theme="dark"] .staff-tree .nav-section-label {
  color: #dce6f4 !important;
}
[data-theme="dark"] .staff-tree a:hover,
[data-theme="dark"] .staff-tree a.active-lesson {
  color: var(--accent-bright) !important;
}
/* Alerts */
[data-theme="dark"] .alert {
  color: #f0f5fc !important;
}
[data-theme="dark"] .alert-secondary {
  background: #162235 !important;
  color: #e8eef8 !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .alert-info {
  background: rgba(62,199,255,.15) !important;
  color: #d6f3ff !important;
  border-color: rgba(62,199,255,.35) !important;
}
[data-theme="dark"] .alert-warning {
  background: rgba(240,193,75,.15) !important;
  color: #ffe9a8 !important;
  border-color: rgba(240,193,75,.4) !important;
}
[data-theme="dark"] .alert-success {
  background: rgba(74,224,154,.14) !important;
  color: #c6f7df !important;
  border-color: rgba(74,224,154,.35) !important;
}
[data-theme="dark"] .alert-danger {
  background: rgba(255,154,140,.14) !important;
  color: #ffd5ce !important;
  border-color: rgba(255,154,140,.35) !important;
}
/* Badges that used dark-on-dark */
[data-theme="dark"] .badge-closed {
  background: #24364f !important;
  color: #d0dbeb !important;
}
[data-theme="dark"] .badge-live {
  color: #4ae09a !important;
  background: rgba(74,224,154,.14) !important;
  border-color: rgba(74,224,154,.35) !important;
}
[data-theme="dark"] .badge-gold {
  color: var(--accent-soft) !important;
}
/* Curriculum panels */
[data-theme="dark"] .module-content,
[data-theme="dark"] .module-content p,
[data-theme="dark"] .module-content li {
  color: #dce6f4 !important;
}
[data-theme="dark"] .module-content h2,
[data-theme="dark"] .module-content h3,
[data-theme="dark"] .module-content strong {
  color: #f5f8fd !important;
}
[data-theme="dark"] .module-content h4 {
  color: #c5d2e6 !important;
}
[data-theme="dark"] .analogy-box,
[data-theme="dark"] .build-on,
[data-theme="dark"] .worked,
[data-theme="dark"] .prereq,
[data-theme="dark"] .live-demo,
[data-theme="dark"] .plain-english,
[data-theme="dark"] .scenario-lab {
  color: #e8eef8 !important;
}
[data-theme="dark"] .analogy-label {
  color: var(--accent-soft) !important;
}
[data-theme="dark"] .lab-panel,
[data-theme="dark"] .lab-panel li,
[data-theme="dark"] .lab-panel p {
  color: #f0e4b8 !important;
}
[data-theme="dark"] code,
[data-theme="dark"] .mono {
  color: #9ed8ff !important;
  background: rgba(62,199,255,.1);
  padding: .05rem .3rem;
  border-radius: 4px;
}
/* Modal / dropdown */
[data-theme="dark"] .modal-content {
  background: #0f1a2c !important;
  color: #f5f8fd !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}
[data-theme="dark"] .dropdown-menu {
  background: #122033 !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .dropdown-item {
  color: #e8eef8 !important;
}
[data-theme="dark"] .dropdown-item:hover {
  background: #1c2c44 !important;
  color: #fff !important;
}
/* Progress, nav tabs, pagination */
[data-theme="dark"] .nav-tabs .nav-link {
  color: #b8c7db !important;
}
[data-theme="dark"] .nav-tabs .nav-link.active {
  color: #f5f8fd !important;
  background: var(--surface) !important;
  border-color: var(--surface-4) var(--surface-4) var(--surface) !important;
}
[data-theme="dark"] .page-link {
  background: #152238 !important;
  color: #dce6f4 !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .page-item.active .page-link {
  background: var(--navy-600) !important;
  border-color: var(--navy-600) !important;
  color: #fff !important;
}
/* Footer */
[data-theme="dark"] footer {
  color: #9aadc4 !important;
  border-top-color: #1c2c44 !important;
}
/* Teaching timer status */
[data-theme="dark"] .teach-topbar,
[data-theme="dark"] .teach-topbar #teachStatus,
[data-theme="dark"] .teach-topbar .text-muted {
  color: #dce6f4 !important;
}
/* Stat pills / filter chips */
[data-theme="dark"] .stat-pill {
  background: #162235 !important;
  color: #e8eef8 !important;
  border: 1px solid #2a3f5c;
}
/* Details / summary expanders */
[data-theme="dark"] details summary {
  color: #e8eef8 !important;
}
[data-theme="dark"] .perf-cat,
[data-theme="dark"] .perf-cat .sub-row {
  color: #e8eef8 !important;
}
/* q-lo and test meta */
[data-theme="dark"] .q-lo,
[data-theme="dark"] .meta,
[data-theme="dark"] .test-toolbar .meta {
  color: #b8c7db !important;
}
/* Outline buttons readable on dark */
[data-theme="dark"] .btn-outline-navy {
  color: #dce6f4 !important;
  border-color: #4a6280 !important;
  background: transparent !important;
}
[data-theme="dark"] .btn-outline-navy:hover {
  background: #1c2c44 !important;
  color: #fff !important;
}
[data-theme="dark"] .btn-outline-light {
  color: #e8eef8 !important;
  border-color: #6a7f9a !important;
}

/* —— Round 2: remaining contrast holes —— */
[data-theme="dark"] .text-success { color: #5eecb0 !important; }
[data-theme="dark"] .text-danger { color: #ff9a8c !important; }
[data-theme="dark"] .text-warning { color: #f0c14b !important; }
[data-theme="dark"] .text-info { color: #7adcff !important; }
[data-theme="dark"] .text-primary { color: #7adcff !important; }

/* Light utility backgrounds that still use dark type in dark mode */
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-white {
  background: #162235 !important;
  color: #e8eef8 !important;
}
[data-theme="dark"] .bg-light *,
[data-theme="dark"] .bg-white * {
  color: inherit;
}

/* Ticket / selection popovers stay high-contrast intentionally */
[data-theme="dark"] #selectionTicketBar .ticket-pop,
[data-theme="dark"] .ticket-pop {
  background: #2a220f !important;
  color: #f7e9b8 !important;
  border-color: #c9a227 !important;
}

/* Option bars & quiz choices */
[data-theme="dark"] .q-option,
[data-theme="dark"] .list-group-item.q-option {
  background: #122033 !important;
  color: #e8eef8 !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .q-option:hover,
[data-theme="dark"] .q-option.selected {
  background: #1c2c44 !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* Heat cells: keep readable (dark mode variants) */
[data-theme="dark"] .heat-hi { background: rgba(61,214,140,.28) !important; color: #b6f5d4 !important; }
[data-theme="dark"] .heat-mid { background: rgba(200,220,80,.25) !important; color: #eef7b0 !important; }
[data-theme="dark"] .heat-low { background: rgba(240,193,74,.25) !important; color: #ffe2a0 !important; }
[data-theme="dark"] .heat-crit { background: rgba(255,138,122,.28) !important; color: #ffd0c8 !important; }

/* Progress track */
[data-theme="dark"] .progress { background: #24364f !important; }

/* Inline style leftovers on muted ink */
[data-theme="dark"] [style*="color:var(--ink-muted)"],
[data-theme="dark"] [style*="color: var(--ink-muted)"] {
  color: #b8c7db !important;
}
[data-theme="dark"] [style*="color:var(--ink-secondary)"],
[data-theme="dark"] [style*="color: var(--ink-secondary)"] {
  color: #dce6f4 !important;
}

/* Card footers / muted headers */
[data-theme="dark"] .card-footer {
  background: #0f1a2b !important;
  border-top-color: #24364f !important;
  color: #dce6f4 !important;
}

/* Bootstrap .text-body */
[data-theme="dark"] .text-body { color: #f5f8fd !important; }

/* Accordion */
[data-theme="dark"] .accordion-item {
  background: #0f1a2c !important;
  color: #e8eef8 !important;
  border-color: #2a3f5c !important;
}
[data-theme="dark"] .accordion-button {
  background: #152238 !important;
  color: #f5f8fd !important;
}
[data-theme="dark"] .accordion-button:not(.collapsed) {
  background: #1c2c44 !important;
  color: #fff !important;
}
[data-theme="dark"] .accordion-body {
  color: #e8eef8 !important;
}

/* Ensure navy card headers stay light text (children too) */
[data-theme="dark"] .card-header.navy,
[data-theme="dark"] .card-header.navy * {
  color: #f5f8fc !important;
}
[data-theme="dark"] .card-header.navy .text-muted {
  color: rgba(245,248,252,.75) !important;
}

/* Page hero: never inherit body muted ink */
[data-theme="dark"] .page-hero,
[data-theme="dark"] .page-hero h1,
[data-theme="dark"] .page-hero .h3,
[data-theme="dark"] .page-hero p,
[data-theme="dark"] .page-hero span,
[data-theme="dark"] .page-hero .text-muted {
  color: #f5f8fc !important;
}
[data-theme="dark"] .page-hero p,
[data-theme="dark"] .page-hero .text-muted {
  color: rgba(245,248,252,.88) !important;
}

/* —— Round 3: lesson page yellow / low-contrast curriculum —— */
[data-theme="dark"] .text-warning {
  color: #ffd666 !important; /* brighter amber, not muddy gold */
}
/* Lab panels: never dark-brown text on dark gold */
[data-theme="dark"] .lab-panel {
  background: #2a2414 !important;
  border-color: #c9a227 !important;
}
[data-theme="dark"] .lab-panel,
[data-theme="dark"] .lab-panel p,
[data-theme="dark"] .lab-panel li,
[data-theme="dark"] .lab-panel span,
[data-theme="dark"] .lab-panel .lab-title {
  color: #fff3c4 !important;
}
[data-theme="dark"] .lab-panel .lab-title span:first-child {
  background: #f0c14b !important;
  color: #1a1408 !important;
}
/* Scenario depth blocks */
[data-theme="dark"] .scenario-lab {
  background: #152238 !important;
  border-color: #3a5478 !important;
  color: #e8eef8 !important;
}
[data-theme="dark"] .scenario-lab h4,
[data-theme="dark"] .scenario-lab strong {
  color: #ffe08a !important; /* bright gold headings only */
}
[data-theme="dark"] .scenario-lab p,
[data-theme="dark"] .scenario-lab li {
  color: #e8eef8 !important; /* body stays light, not yellow */
}
/* Kill common hardcoded dark lesson colors from content HTML */
[data-theme="dark"] #lessonBody [style*="color:#1e3a5f"],
[data-theme="dark"] #lessonBody [style*="color: #1e3a5f"],
[data-theme="dark"] #lessonBody [style*="color:#0a1628"],
[data-theme="dark"] #lessonBody [style*="color:#0b1524"],
[data-theme="dark"] #lessonBody [style*="color:#06101f"],
[data-theme="dark"] #lessonBody [style*="color:#33475f"],
[data-theme="dark"] #lessonBody [style*="color:#5c450c"],
[data-theme="dark"] #lessonBody [style*="color:#7a5a0a"],
[data-theme="dark"] #lessonBody [style*="color:#8a6d12"] {
  color: #e8eef8 !important;
}
/* Hardcoded pale yellow / gold that vanishes on dark navy */
[data-theme="dark"] #lessonBody [style*="color:#f0c14b"],
[data-theme="dark"] #lessonBody [style*="color: #f0c14b"],
[data-theme="dark"] #lessonBody [style*="color:#e8c547"],
[data-theme="dark"] #lessonBody [style*="color:#d4a017"],
[data-theme="dark"] #lessonBody [style*="color:#c9a227"] {
  color: #ffe08a !important;
}
[data-theme="dark"] #lessonBody h1,
[data-theme="dark"] #lessonBody h2,
[data-theme="dark"] #lessonBody h3,
[data-theme="dark"] #lessonBody h4 {
  color: #f5f8fd !important;
}
[data-theme="dark"] #lessonBody p,
[data-theme="dark"] #lessonBody li,
[data-theme="dark"] #lessonBody td {
  color: #dce6f4 !important;
}
[data-theme="dark"] .btn-outline-gold {
  color: #ffe08a !important;
  border-color: #c9a227 !important;
  background: transparent !important;
}
[data-theme="dark"] .btn-outline-gold:hover {
  background: rgba(240,193,75,.15) !important;
  color: #fff3c4 !important;
}
/* Analogy / build-on body must not inherit yellow */
[data-theme="dark"] .analogy-box p,
[data-theme="dark"] .build-on,
[data-theme="dark"] .worked,
[data-theme="dark"] .prereq,
[data-theme="dark"] .plain-english p {
  color: #e8eef8 !important;
}
[data-theme="dark"] .analogy-label {
  color: #ffe08a !important;
}

/* Touch: avoid accidental double-tap zoom on controls */
button, .btn, .c-cell, .q-option, summary {
  touch-action: manipulation;
}
input, select, textarea {
  font-size: 16px; /* iOS: prevent focus zoom */
}
@media (min-width: 992px) {
  input.form-control-sm, select.form-select-sm { font-size: .875rem; }
}


/* —— global interface cleanup —— */
body { letter-spacing: 0.01em; }
/* Full-width app shell — content uses the screen, not a narrow column */
main.container,
main.container-fluid.app-main {
  max-width: none;
  width: 100%;
}
.app-main {
  padding-left: clamp(0.75rem, 2vw, 1.75rem) !important;
  padding-right: clamp(0.75rem, 2vw, 1.75rem) !important;
}
@media (min-width: 1400px) {
  .app-main {
    padding-left: clamp(1rem, 3vw, 2.5rem) !important;
    padding-right: clamp(1rem, 3vw, 2.5rem) !important;
  }
}

.page-hero {
  margin-bottom: 1.25rem;
}
.page-hero h1, .page-hero .h3 { margin-bottom: .25rem; }
/* Hero is always dark navy — keep light copy, do not use --ink-muted */
.page-hero p { color: rgba(245,248,252,.88) !important; margin-bottom: 0; }
.page-hero .text-muted { color: rgba(245,248,252,.75) !important; }
.card { border-radius: 12px; border-color: var(--surface-3); }
.card-header.navy {
  border-radius: 12px 12px 0 0 !important;
  font-weight: 600;
  letter-spacing: .02em;
}
.breadcrumb { font-size: .85rem; margin-bottom: .75rem; }
.btn { border-radius: 8px; font-weight: 600; }
.form-control, .form-select { border-radius: 8px; }
.table > :not(caption) > * > * { padding: .7rem .85rem; }
.alert { border-radius: 10px; }
.topbar .navbar { padding-top: .45rem; padding-bottom: .45rem; }
.teach-topbar {
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.12);
  font-size: .9rem;
}
.teach-topbar .form-select { border-radius: 6px; }
footer {
  border-top: 1px solid var(--surface-3);
  font-size: .8rem;
  color: var(--ink-muted);
}
/* staff-rail scroll handled in staff_sidebar.html */

/* Staff two-column shell: fluid, no awkward gaps */
@media (min-width: 992px) {
  .staff-layout {
    align-items: flex-start;
    margin-left: 0;
    margin-right: 0;
    --bs-gutter-x: 1.25rem;
  }
  .staff-layout > .staff-rail-col {
    flex: 0 0 240px;
    max-width: 240px;
    width: 240px;
  }
  body.staff-rail-collapsed .staff-layout > .staff-rail-col {
    flex: 0 0 56px;
    max-width: 56px;
    width: 56px;
  }
  .staff-layout > .staff-main-col {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0; /* prevent overflow funkiness */
  }
}
@media (max-width: 991.98px) {
  .staff-layout > .staff-rail-col,
  .staff-layout > .staff-main-col {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Cards / tables use available width */
.app-main .card,
.app-main .table-responsive {
  max-width: 100%;
}
.app-main .table {
  width: 100%;
}

/* Page hero full width of content column */
.page-hero {
  width: 100%;
}

/* Avoid double-narrowing from nested containers */
.app-main .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Mobile rail behavior lives in staff_sidebar.html — do not force position:static */

.skip-link {
  position: absolute; left: 0.75rem; top: -3rem; z-index: 2000;
  background: var(--accent); color: #041018; font-weight: 600;
  padding: 0.45rem 0.75rem; border-radius: 6px; text-decoration: none;
}
.skip-link:focus { top: 0.6rem; outline: 3px solid #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--accent-bright); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ---- pass 3 accessibility (axe-core WCAG 2.1 AA sweep, tools/a11y_sweep.py) ---- */
footer, footer span, footer a { color: #aab7c9; }                      /* 9:1 on #030711 */
.badge-live { color: #07633f; }                                         /* 6.5:1 on success-bg */
.badge-gold { color: color-mix(in srgb, var(--accent) 45%, #000); }
.btn-outline-gold { color: color-mix(in srgb, var(--accent) 50%, #000); }
.ui-callout a:not(.btn) { color: #0a4fb5; }
[data-theme="dark"] .btn-outline-gold { color: var(--accent-soft); }
[data-theme="dark"] .ui-callout a:not(.btn) { color: #9cc7ff; }
/* scrollable tables are keyboard-focusable (tabindex added in templates); show where focus is */
.table-responsive:focus-visible, .ui-table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.lesson-prev { white-space: normal; text-align: left; max-width: 100%; overflow-wrap: anywhere; } /* pass 11: long lesson titles wrapped at 390 px instead of overflowing */

/* ---- css/novak-ui.css ---- */
/* =====================================================================
   Novak LMS UI layer — shared tokens, components, layout fixes, mobile.
   Loaded after the legacy inline theme in base.html, so it refines rather
   than replaces it. Role accents (--accent) still come from base.html.
   ===================================================================== */
:root {
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem;
  --tap: 44px;                      /* minimum touch target */
  --tabbar-h: 64px;
  --z-rail: 1045; --z-scrim: 1044; --z-tabbar: 1035;
  --focus: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);
  --text-xs: .75rem; --text-sm: .875rem;
  --card-pad: clamp(.85rem, 2vw, 1.25rem);
}

/* ---------- layout: content column must never overflow next to the fixed rail ---------- */
main.container-fluid.app-main, .app-main { width: 100% !important; max-width: 100%; min-width: 0; box-sizing: border-box; }
@media (min-width: 992px) {
  body.has-staff-rail .app-main { width: calc(100% - var(--staff-rail-w, 260px)) !important; }
  body.has-staff-rail.staff-rail-collapsed .app-main { width: calc(100% - var(--staff-rail-collapsed, 72px)) !important; }
}
/* body is a column flexbox; a wide child (breadcrumb, code) could still stretch main without max-width */
body.has-staff-rail .topbar, body.has-staff-rail footer { width: auto; }
html, body { overflow-x: clip; }
.app-main img, .app-main video, .app-main iframe { max-width: 100%; height: auto; }
.app-main pre { max-width: 100%; overflow-x: auto; }
.min-w-0 { min-width: 0; }

/* ---------- teaching timer bar sits on the dark header ---------- */
.topbar .teach-topbar { color: #e6eef9; }
.topbar .teach-topbar .teach-label, .topbar .teach-topbar #teachClock { color: #fff; }
.topbar .teach-topbar #teachStatus { color: #b8c7db !important; }
.topbar .teach-topbar .btn-outline-navy { --bs-btn-color: #f5f8fd; --bs-btn-border-color: rgba(255,255,255,.45); --bs-btn-hover-bg: rgba(255,255,255,.12); --bs-btn-hover-color: #fff; color: #f5f8fd; border-color: rgba(255,255,255,.45); background: transparent; }
#curricSearch::placeholder { color: rgba(230,238,249,.7); }
#curricSearch { color: #fff !important; }

/* ---------- typography & hero ---------- */
.eyebrow { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .12em; font-weight: 600; color: var(--accent-bright); margin-bottom: .25rem; }
.page-hero h1 { overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  .page-hero { padding: 1rem 1.05rem !important; border-radius: 12px !important; }
  .page-hero h1, .page-hero .h3 { font-size: 1.2rem; line-height: 1.3; }
  .page-hero .btn { flex: 1 1 auto; }
  .breadcrumb { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .breadcrumb::-webkit-scrollbar { display: none; }
  .breadcrumb-item { flex-shrink: 0; }
}

/* ---------- KPI cards ---------- */
.kpi-card { background: var(--surface); border: 1px solid var(--surface-3); border-radius: var(--radius-sm, 9px); padding: .85rem 1rem; box-shadow: var(--shadow); min-width: 0; }
.kpi-label { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-muted); font-weight: 600; }
.kpi-value { font-size: 1.85rem; font-weight: 700; line-height: 1.15; color: var(--ink); font-variant-numeric: tabular-nums; }
.kpi-value small { font-size: .55em; color: var(--ink-muted); font-weight: 600; margin-left: .1em; }
.kpi-sub { font-size: .8rem; color: var(--ink-muted); }
.kpi-card.kpi-alert { border-color: color-mix(in srgb, var(--danger) 45%, transparent); background: color-mix(in srgb, var(--danger) 6%, var(--surface)); }
.kpi-card.kpi-alert .kpi-value { color: var(--danger); }
.gb-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; }

/* ---------- callouts & empty states ---------- */
.ui-callout { display: flex; gap: .75rem; align-items: flex-start; padding: .85rem 1rem; border-radius: 10px; border: 1px solid var(--surface-3); background: var(--surface); }
.ui-callout > i { font-size: 1.15rem; line-height: 1.3; }
.ui-callout-accent { border-color: var(--accent-border); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); }
.ui-callout-success { border-color: color-mix(in srgb, var(--success) 45%, transparent); background: var(--success-bg); }
.empty-state { text-align: center; padding: 2rem 1rem; color: var(--ink-secondary); }
.empty-state > i { font-size: 2rem; color: var(--ink-muted); display: block; margin-bottom: .5rem; }
.ui-checklist { list-style: none; padding-left: 0; }
.ui-checklist li { position: relative; padding-left: 1.6rem; margin-bottom: .55rem; }
.ui-checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--success-bg); color: var(--success); font-size: .75rem; font-weight: 700; display: grid; place-items: center; }

/* ---------- accessibility ---------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--accent-bright); outline-offset: 2px; box-shadow: none; }
.btn:focus-visible { box-shadow: var(--focus) !important; }
.text-muted { color: var(--ink-muted) !important; }           /* legacy grey failed contrast on tinted cards */
a:not(.btn):not(.nav-link):not(.rail-link):not(.list-group-item):not(.navbar-brand) { text-underline-offset: .18em; }
.visually-hidden-focusable:focus { position: static !important; }
@media (prefers-contrast: more) { .text-muted { color: var(--ink-secondary) !important; } .card { border-width: 2px; } }

/* ---------- touch targets on coarse pointers ---------- */
@media (pointer: coarse) {
  .btn, .form-select, .form-control, .page-link, .nav-link, .list-group-item-action, summary { min-height: var(--tap); }
  .btn, .btn-sm { min-height: var(--tap); display: inline-flex; align-items: center; justify-content: center; gap: .3rem; }
  .btn-sm { padding-top: .45rem; padding-bottom: .45rem; }
  .btn-link.btn-sm, .btn-link { min-width: var(--tap); }
  .btn-close { min-width: var(--tap); min-height: var(--tap); background-position: center; }
  .gb-chip { min-height: 36px; min-width: 44px; display: inline-grid; place-items: center; }
  .form-check { min-height: var(--tap); display: flex; align-items: center; gap: .5rem; padding-left: 0; }
  .form-check .form-check-input { float: none; margin: 0; flex-shrink: 0; }
  .form-check.form-switch .form-check-input { width: 2.6em; }
  .form-check-input { width: 1.35em; height: 1.35em; }
  .form-check-label { padding-top: .1rem; flex: 1 1 auto; min-height: var(--tap); display: flex; align-items: center; cursor: pointer; }
  .rail-link { min-height: var(--tap); }
}

/* ---------- tables: horizontal scroll everywhere, stacked cards for list tables ---------- */
.table-responsive { -webkit-overflow-scrolling: touch; }
.table-responsive:focus-visible { outline: 3px solid var(--accent-bright); }
.ui-table-wrap { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
@media (max-width: 767.98px) {
  table.table-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.table-stack, table.table-stack tbody, table.table-stack tr, table.table-stack td, table.table-stack th[scope="row"] { display: block; width: 100%; }
  table.table-stack tr { border-bottom: 1px solid var(--surface-3); padding: .6rem .85rem; }
  table.table-stack tr.collapse:not(.show) { display: none; }
  table.table-stack td, table.table-stack th[scope="row"] { border: 0 !important; padding: .2rem 0 !important; text-align: left !important; }
  table.table-stack td[data-label] { display: grid; grid-template-columns: 7.5rem 1fr; gap: .5rem; align-items: start; }
  table.table-stack td[data-label]::before { content: attr(data-label); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-muted); font-weight: 600; padding-top: .15rem; }
  table.table-stack td:not([data-label]) { padding-top: .45rem !important; }
  table.table-stack td[colspan] { display: block; }
  table.table-stack td[data-label] > *, table.table-stack th[data-label] > * { min-width: 0; }
  table.table-stack th[scope="row"][data-label] { display: grid; grid-template-columns: 7.5rem 1fr; gap: .5rem; align-items: start; }
  table.table-stack th[scope="row"][data-label]::before { content: attr(data-label); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-muted); font-weight: 600; padding-top: .15rem; }
  table.table-stack td[data-label] > .gb-chip, table.table-stack .ts-val > .gb-chip { justify-self: start; }
  table.table-stack td[data-label] > .badge, table.table-stack .ts-val > .badge { justify-self: start; width: auto; }
  table.table-stack td[data-label] .btn { min-height: var(--tap); }
  table.table-stack td[data-label] > .btn, table.table-stack .ts-val > .btn:only-child { justify-self: start; }
  /* compact variant: title + score on one line, labelled meta inline, action last (grades lists) */
  table.table-stack.ts-compact tr:not(.collapse) { display: grid; grid-template-columns: max-content max-content 1fr auto; column-gap: 1rem; row-gap: .2rem; align-items: center; padding: .75rem .9rem; }
  table.table-stack.ts-compact td { display: block !important; padding: 0 !important; }
  table.table-stack.ts-compact td.ts-title { grid-column: 1 / 4; grid-row: 1; min-width: 0; white-space: normal; }
  table.table-stack.ts-compact td.ts-score { grid-column: 4; grid-row: 1 / 3; justify-self: end; }
  table.table-stack.ts-compact td.ts-meta { font-size: var(--text-sm); color: var(--ink-secondary); grid-row: 2; white-space: nowrap; }
  table.table-stack.ts-compact td[data-label]::before { display: none; }
  table.table-stack.ts-compact td.ts-meta::before { display: inline; content: attr(data-label) " "; text-transform: none; letter-spacing: 0; font-size: inherit; font-weight: 500; color: var(--ink-muted); padding: 0; }
  table.table-stack.ts-compact td.ts-action { grid-column: 1 / -1; grid-row: 3; text-align: left !important; }
  table.table-stack.ts-compact td.ts-action:empty { display: none !important; }
  table.table-stack.ts-compact td.ts-action > .btn { width: 100%; }
  table.table-stack.ts-compact td.ts-action > .badge { margin-top: .15rem; }
}

/* ---------- gradebook ---------- */
.gb-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 1.9rem; padding: 0 .4rem; border-radius: 7px; font-weight: 700; font-size: .82rem; font-variant-numeric: tabular-nums; text-decoration: none; border: 1px solid transparent; }
a.gb-chip:hover { filter: brightness(.95); text-decoration: underline; }
.gb-pass { background: var(--success-bg); color: #066b49; border-color: color-mix(in srgb, var(--success) 35%, transparent); }
.gb-fail { background: var(--danger-bg); color: #a32020; border-color: color-mix(in srgb, var(--danger) 35%, transparent); }
.gb-ex { background: var(--surface-3); color: var(--ink-secondary); }
.gb-missing { color: var(--ink-muted); background: transparent; border: 1px dashed var(--surface-4); font-weight: 500; }
.gb-ov { box-shadow: inset 0 -3px 0 #3b82f6; }
[data-theme="dark"] .gb-pass { color: #8ff0c6; } [data-theme="dark"] .gb-fail { color: #ffb4a8; }
.gb-scroll { max-height: 70vh; }
.gb-table { font-size: .875rem; }
.gb-table thead th { position: sticky; top: 0; background: var(--surface); z-index: 2; vertical-align: bottom; white-space: nowrap; border-bottom: 2px solid var(--surface-3); }
.gb-table .gb-sticky { position: sticky; left: 0; background: var(--surface); z-index: 3; min-width: 11rem; max-width: 15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 1px 0 0 var(--surface-3); }
.gb-table thead .gb-sticky { z-index: 4; }
.gb-table tbody tr:hover > * { background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.gb-item { text-align: center; min-width: 5.5rem; }
.gb-colstat, .gb-collinks { font-size: .68rem; color: var(--ink-muted); font-weight: 500; }
.gb-collinks a { color: inherit; }
.gb-cat-skills { background: color-mix(in srgb, var(--accent) 7%, var(--surface)) !important; }
.gb-sort { border: 0; background: none; padding: 0; font-weight: 700; color: inherit; }
.gb-sort[aria-sort="ascending"]::after { content: " \25B2"; font-size: .6rem; }
.gb-sort[aria-sort="descending"]::after { content: " \25BC"; font-size: .6rem; }
.gb-filter { width: 12rem; }
.gb-progress { height: .5rem; border-radius: 999px; }
.gb-hist { display: flex; align-items: flex-end; gap: .6rem; height: 180px; padding-top: 1.2rem; }
.gb-hist-col { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; }
.gb-hist-bar { width: 100%; max-width: 64px; border-radius: 8px 8px 2px 2px; background: color-mix(in srgb, var(--danger) 55%, #f0b429); transition: height .4s; }
.gb-hist-bar.gb-hist-pass { background: var(--success); }
.gb-hist-n { font-weight: 700; font-size: .85rem; }
.gb-hist-l { font-size: .72rem; color: var(--ink-muted); margin-top: .3rem; white-space: nowrap; }
.gb-ring { --size: 96px; width: var(--size); height: var(--size); border-radius: 50%; flex-shrink: 0; display: grid; place-items: center;
  background: radial-gradient(closest-side, var(--surface) 76%, transparent 77% 100%), conic-gradient(var(--accent) calc(var(--v) * 1%), var(--surface-3) 0); }
.page-hero .gb-ring { background: radial-gradient(closest-side, #0b1730 76%, transparent 77% 100%), conic-gradient(var(--accent-bright) calc(var(--v) * 1%), rgba(255,255,255,.15) 0); color: #fff; }
.gb-ring span { font-size: calc(var(--size) * .26); font-weight: 700; font-variant-numeric: tabular-nums; }
.gb-ring small { font-size: .5em; opacity: .75; }
.gb-card { transition: transform .15s, box-shadow .15s; }
.gb-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.gb-ov-row td { background: var(--surface-2) !important; }
@media (max-width: 767.98px) {
  .gb-filter { width: 100%; }
  .gb-table .gb-sticky { min-width: 8.5rem; max-width: 9.5rem; }
  .gb-hist { height: 140px; gap: .35rem; }
}

/* ---------- mobile shell: rail drawer scrim, compact top bar, tab bar ---------- */
.rail-scrim { position: fixed; inset: 0; background: rgba(2,6,13,.55); z-index: var(--z-scrim); opacity: 0; pointer-events: none; transition: opacity .2s; }
@media (max-width: 991.98px) {
  body.staff-rail-open .rail-scrim { opacity: 1; pointer-events: auto; }
  .staff-rail { z-index: var(--z-rail) !important; transition: transform .22s ease; }
  .staff-rail-expand { display: none !important; }          /* topbar Menu button replaces the floating tab */
  .topbar::after { display: none; }                          /* role HUD label collided with buttons */
  .topbar .navbar-brand { gap: .5rem; font-size: .95rem; margin-right: auto; }
  .topbar .brand-logo-wrap { width: 38px; height: 38px; }
  .topbar .brand-sub { display: none; }
  .mobile-menu-btn { width: var(--tap); height: var(--tap); display: inline-grid; place-items: center; padding: 0; font-size: 1.35rem; border-radius: 10px; margin-right: .35rem; }
  .navbar-toggler { width: var(--tap); height: var(--tap); padding: 0; border-radius: 10px; }
  .navbar-collapse { padding: .5rem 0 .75rem; }
  .navbar-collapse .nav-link { padding: .6rem .25rem; }
  #curricSearch { max-width: none !important; width: 100%; }
}
.teach-toggle { display: none; }
@media (max-width: 991.98px) {
  .teach-topbar { padding-top: .35rem !important; padding-bottom: .35rem !important; }
  .teach-toggle { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; }
  .teach-controls { display: none !important; width: 100%; }
  body.teach-open .teach-controls { display: flex !important; }
  .teach-topbar .teach-label { display: none; }
  .teach-controls .form-select { flex: 1 1 8rem; min-width: 0 !important; }
}

.mobile-tabbar { display: none; }
@media (max-width: 767.98px) {
  body.has-mobile-tabbar { padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom)); }
  .mobile-tabbar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-tabbar);
    height: calc(var(--tabbar-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
    background: rgba(6,13,24,.96); backdrop-filter: blur(10px); border-top: 1px solid var(--accent-border); }
  .mobile-tabbar a, .mobile-tabbar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; color: #b8c7db; font-size: .68rem; font-weight: 600;
    text-decoration: none; border: 0; background: none; min-height: var(--tap); }
  .mobile-tabbar i { font-size: 1.3rem; line-height: 1; }
  .mobile-tabbar .active { color: var(--accent-bright); }
  .mobile-tabbar .active i { filter: drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 60%, transparent)); }
  footer { padding-bottom: .5rem; }
}

/* ---------- misc polish ---------- */
.card-header.navy .btn-outline-light { --bs-btn-color: #f5f8fd; }
.list-group-item-action { transition: background-color .12s; }
.progress { background-color: var(--surface-3); }
.table > thead th { font-size: .8rem; text-transform: none; color: var(--ink-secondary); }
.toast-container { z-index: 2000; }
@media print {
  .topbar, .staff-rail, .mobile-tabbar, .helix-dock, footer, .rail-scrim, .teach-topbar { display: none !important; }
  body.has-staff-rail .app-main { margin-left: 0 !important; }
}

/* controls placed on dark (navy) card headers keep readable contrast */
.card-header.navy .form-check-label, .card-header.navy label { color: #e6eef9; }
.card-header.navy .form-check-input:not(:checked) { background-color: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); }

/* gradebook pass 3: late marker, scale editor, due list */
.gb-late { font-size: .6rem; font-weight: 800; margin-left: .15rem; padding: 0 .2rem; border-radius: 3px; background: #7c2d12; color: #fff; line-height: 1.2; }
.gb-scale input { max-width: 7rem; }
.gb-due-list { max-height: 18rem; overflow: auto; padding-right: .25rem; }

/* ---------------- public entry: role picker + sign-in (pass 4) ---------------- */
.entry { max-width: 64rem; margin: 0 auto; padding: clamp(.5rem, 3vw, 2rem) 0 2rem; }
.entry-head { text-align: center; margin-bottom: clamp(1.25rem, 4vw, 2.25rem); }
.entry-mark { position: relative; display: inline-block; width: 64px; height: 64px; border-radius: 14px; overflow: hidden; margin-bottom: .75rem;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent), 0 8px 24px rgba(6,13,24,.18); }
.entry-mark .logo-live { position: absolute; inset: 0; background: #04101c url("/static/img/navy-n-512.webp") center / contain no-repeat; animation: none !important; -webkit-mask-image: none; mask-image: none; }
.entry-title { font-size: clamp(1.75rem, 5vw, 2.6rem); font-weight: 700; letter-spacing: -.01em; margin: 0 0 .35rem; color: var(--ink); }
.entry-sub { font-size: 1.05rem; color: var(--ink-secondary); margin: 0; }
.entry-cards { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .entry-cards { grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } }
.entry-card { display: flex; align-items: center; gap: 1rem; min-height: 96px; padding: 1.1rem 1.2rem; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--surface-3); box-shadow: var(--shadow); color: var(--ink); text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; position: relative; }
@media (min-width: 768px) { .entry-card { flex-direction: column; align-items: flex-start; min-height: 240px; padding: 1.5rem; } .entry-go { position: absolute; right: 1.25rem; bottom: 1.25rem; } }
.entry-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); border-color: var(--accent-border); color: var(--ink); }
.entry-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.entry-icon { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; font-size: 1.6rem; color: #fff; }
.entry-learn .entry-icon { background: linear-gradient(135deg, #1f9d6b, #0d7a52); }
.entry-teach .entry-icon { background: linear-gradient(135deg, #3a6aa8, #1a2f52); }
.entry-admin .entry-icon { background: linear-gradient(135deg, #6e56cf, #43328f); }
.entry-text { display: flex; flex-direction: column; gap: .1rem; flex: 1; min-width: 0; }
.entry-name { font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
@media (min-width: 768px) { .entry-name { font-size: 1.6rem; margin-top: .5rem; } }
.entry-who { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-muted); }
.entry-desc { font-size: .95rem; color: var(--ink-secondary); margin-top: .25rem; }
.entry-go { font-size: 1.3rem; color: var(--ink-muted); flex: none; }
.entry-card:hover .entry-go { color: var(--accent); }
.entry-demo { margin: 1.75rem auto 0; max-width: 34rem; background: var(--surface-2); border: 1px solid var(--surface-3); border-radius: var(--radius-sm); padding: .6rem 1rem; }
.entry-demo summary { cursor: pointer; font-weight: 600; min-height: 32px; display: flex; align-items: center; }
.entry-demo-list { display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; font-size: .85rem; margin: 0 0 .5rem; }
.entry-demo-list dt { font-weight: 600; } .entry-demo-list dd { margin: 0; overflow-wrap: anywhere; }
.login-wrap { max-width: 28rem; margin: clamp(.5rem, 4vw, 2.5rem) auto 2rem; }
.login-roles { display: flex; gap: .35rem; padding: .3rem; background: var(--surface-2); border: 1px solid var(--surface-3); border-radius: 999px; margin-bottom: 1rem; }
.login-roles a { flex: 1; text-align: center; padding: .55rem .5rem; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: .35rem;
  border-radius: 999px; color: var(--ink-secondary); text-decoration: none; font-weight: 600; }
.login-roles a.active { background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.login-roles a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.login-card { border-radius: var(--radius); }
[data-theme="dark"] .entry-card, [data-theme="dark"] .login-roles a.active { background: var(--navy-850); border-color: var(--navy-700); color: #eef4fb; }
[data-theme="dark"] .entry-title { color: #eef4fb; }

/* ---------------- pass 4 polish ---------------- */
.lesson-hero-links { color: rgba(255,255,255,.75); }
.lesson-hero-links a { color: #c9f0ff; text-decoration: underline; text-underline-offset: 2px; }
.narrate-options { display: contents; }
@media (max-width: 575.98px) {
  .narrate-options { display: none; width: 100%; gap: .5rem; flex-wrap: wrap; }
  .narrate-options.open { display: flex; }
  .narrate-bar .card-body { gap: .4rem !important; }
}
.gold-path .gp-detail { color: var(--ink-muted) !important; }
[data-theme="dark"] .gold-path .gp-detail { color: #a9b9cc !important; }
.home-hero .home-progress { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-top: .75rem; }
.home-hero .home-meter { flex: 1 1 10rem; max-width: 16rem; height: .5rem; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.home-hero .home-meter > span { display: block; height: 100%; background: linear-gradient(90deg, #3ec7ff, #f0c14b); }
.run-status { display: inline-flex; align-items: center; gap: .3rem; font-weight: 600; }
.run-status.open { color: #0a7350; } [data-theme="dark"] .run-status.open { color: #5fe0a8; } .run-status.closed { color: var(--ink-muted); }
.class-tabs { position: sticky; top: var(--topbar-h, 64px); z-index: 5; background: var(--surface-2); padding-top: .25rem; }
.class-tabs .nav-link { font-weight: 600; min-height: 44px; }

/* ---- Pass 6: error pages ---- */
.error-page { max-width: 36rem; margin: clamp(1.5rem, 8vh, 5rem) auto; text-align: center; padding: 2rem 1.25rem; background: var(--surface); border: 1px solid var(--surface-3); border-radius: 16px; box-shadow: 0 10px 30px rgba(6, 13, 24, .06); }
.error-code { font-family: 'Orbitron', system-ui, sans-serif; font-size: clamp(3rem, 14vw, 5.5rem); font-weight: 700; line-height: 1; letter-spacing: .04em; color: transparent; -webkit-text-stroke: 2px var(--accent); opacity: .55; }
.error-icon { display: block; font-size: 2rem; margin: .25rem 0 .5rem; color: var(--accent); }
.error-lead { color: var(--ink-secondary); margin: .5rem auto 1.25rem; max-width: 30rem; }
.error-actions { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; }
[data-theme="dark"] .error-page { box-shadow: none; }

/* ---- Pass 6: form feedback ---- */
[data-auto-feedback] { display: block; }
[data-auto-feedback]:empty { display: none; }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--danger) !important; }
.form-control.is-invalid:focus, .form-select.is-invalid:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent) !important; }
.invalid-feedback { color: var(--danger); font-weight: 500; }
.btn.is-busy { cursor: progress; opacity: .85; }
form[aria-busy="true"] { cursor: progress; }
.field-hint { font-size: var(--text-sm); color: var(--ink-muted); margin-top: .25rem; }

/* ---- Live lab terminal (moved from interactive_lab.html, pass 6) ---- */
  .lab-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); gap: 1rem; align-items: start; }
  @media (max-width: 991px) { .lab-layout { grid-template-columns: minmax(0, 1fr); } }
  .lab-layout > * { min-width: 0; }
  .term {
    background: #070e18;
    color: #d6e8ff;
    border-radius: 12px;
    border: 2px solid #3ec7ff;
    box-shadow: 0 0 0 1px rgba(62,199,255,.25), 0 12px 40px rgba(0,0,0,.35);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Courier New", monospace;
    font-size: 0.95rem;
    min-height: 480px;
    display: flex;
    flex-direction: column;
  }
  .term-head {
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #2a3f5c;
    color: #f0c14b;
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    display: flex; justify-content: space-between; align-items: center; gap: .5rem;
  }
  .term-live-dot {
    width: .65rem; height: .65rem; border-radius: 50%;
    background: #0d9f6e; box-shadow: 0 0 8px #0d9f6e;
    display: inline-block; margin-right: .4rem;
  }
  .term-body {
    flex: 1;
    overflow-y: auto;
    padding: 0.85rem 1rem;
    max-height: 55vh;
    min-height: 320px;
  }
  .term-line { white-space: pre-wrap; word-break: break-word; margin: 0 0 0.15rem; line-height: 1.4; }
  .term-cmd { color: #7ee0ff; }
  .term-input-row {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    padding: 0.75rem 1rem;
    border-top: 2px solid #3ec7ff;
    background: #0d1828;
  }
  .term-input-row .prompt { color: #f0c14b; white-space: nowrap; font-weight: 700; }
  .term-input-row input {
    flex: 1;
    min-width: 0;
    background: #132033;
    border: 1px solid #3a5575;
    border-radius: 6px;
    color: #e8f4ff;
    outline: none;
    font-family: inherit;
    font-size: 1rem;
    padding: 0.55rem 0.75rem;
  }
  .term-input-row input:focus { border-color: #3ec7ff; box-shadow: 0 0 0 3px rgba(62,199,255,.25); }
  .obj-item { display: flex; gap: 0.5rem; align-items: flex-start; margin-bottom: 0.65rem; font-size: 0.92rem; }
  .obj-item .ck {
    flex: 0 0 1.2rem; height: 1.2rem; border-radius: 4px;
    border: 2px solid #3ec7ff; margin-top: 0.1rem;
  }
  .obj-item.done .ck { background: #0d9f6e; border-color: #0d9f6e; }
  .obj-item.done span { text-decoration: line-through; opacity: 0.7; }
  .lab-success {
    display: none; margin-top: 0.75rem; padding: 0.85rem;
    border-radius: 8px; background: rgba(13,159,110,.18);
    border: 1px solid #0d9f6e; font-weight: 600;
  }
  .lab-success.show { display: block; }
  .lab-banner {
    background: linear-gradient(90deg, #0a2540, #123a5c);
    border: 1px solid #3ec7ff; border-radius: 10px;
    padding: 0.85rem 1.1rem; margin-bottom: 1rem; color: #e8f4ff;
  }
  .lab-banner strong { color: #f0c14b; }
  .w11-vm {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #3d3d3d;
    box-shadow: 0 18px 50px rgba(0,0,0,.45);
  }
  .w11-titlebar {
    background: #1f1f1f;
    color: #f3f3f3;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .45rem .8rem;
    font-size: .82rem;
    font-weight: 600;
  }
  .w11-dots span {
    display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-left: 6px;
  }
  .w11-taskbar {
    background: #1c1c1c;
    color: #cfcfcf;
    font-size: .75rem;
    padding: .35rem .8rem;
    display: flex;
    justify-content: space-between;
  }
  .w11-vm .term { border-radius: 0; border: 0; }
  .w11-dots .dot-close { background: #e81123; }
  .w11-dots .dot-min { background: #ffb900; }
  .w11-dots .dot-max { background: #00cc6a; }
  .term-head-hint { color: #9bb4d0; font-weight: 600; letter-spacing: 0; }
  @media (max-width: 575.98px) {
    .term { min-height: 0; font-size: .85rem; }
    .term-body { min-height: 240px; max-height: 50vh; padding: .65rem .75rem; }
    .term-head { padding: .5rem .75rem; }
    .term-head-hint, .w11-titlebar .w11-title-long, .w11-taskbar .w11-task-left { display: none; }
    .term-input-row { padding: .5rem .6rem; }
    .lab-banner { font-size: .9rem; }
  }
/* Keyboard keys: readable in both themes (Bootstrap's kbd is white-on-dark-gray, which inverts badly on dark surfaces) */
kbd { background: var(--surface-3); color: var(--ink); border: 1px solid var(--bs-border-color); border-bottom-width: 2px; border-radius: 4px; padding: .05rem .35rem; font-size: .85em; font-weight: 600; box-shadow: none; }
.lab-banner kbd { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.35); }
.lab-banner code { white-space: nowrap; }

/* ---- Navigation rail (moved from staff_sidebar.html, pass 6) ---- */
  :root {
    --staff-rail-w: 260px;
    --staff-rail-collapsed: 52px;
  }

  .staff-rail {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--staff-rail-w);
    z-index: 1030;
    background: var(--surface, #fff);
    border-right: 1px solid color-mix(in srgb, var(--ink, #0a1424) 12%, transparent);
    box-shadow: 4px 0 18px rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
    transition: width .2s ease, transform .2s ease;
  }
  [data-theme="dark"] .staff-rail {
    background: #0b1524;
    border-right-color: #2a3f5c;
    box-shadow: 4px 0 20px rgba(0,0,0,.35);
  }

  .staff-rail-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
  }
  .staff-rail-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 0.75rem 0.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    min-height: 3rem;
  }
  .staff-rail-title {
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ink);
  }
  .staff-rail-toggle {
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    background: var(--surface-2, #f0f5fb);
    color: var(--ink);
    border-radius: 8px;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 700;
  }
  .rail-toggle-label { letter-spacing: .02em; }
  .staff-rail-toggle:hover {
    background: var(--accent, #3ec7ff);
    color: #06101f;
    border-color: var(--accent);
  }
  .staff-rail-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.45rem 0.35rem 1rem;
    overscroll-behavior: contain;
  }

  /* Tree nodes */
  .rail-tree {
    margin: 0.15rem 0;
    border-radius: 8px;
  }
  .rail-tree > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
  }
  .rail-tree > summary::-webkit-details-marker { display: none; }

  .rail-tree-sum {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.55rem;
    border-radius: 8px;
    font-weight: 800;
    font-size: 0.88rem;
    color: var(--ink);
  }
  .rail-tree-sum::before {
    content: "▸";
    display: inline-block;
    width: 0.75rem;
    color: var(--ink-muted, #5f738c);
    font-size: 0.75rem;
    flex-shrink: 0;
  }
  .rail-tree[open] > .rail-tree-sum::before { content: "▾"; }
  .rail-tree-sum:hover {
    background: var(--surface-3, #dce6f3);
  }
  .rail-tree-sum-sm {
    font-weight: 700;
    font-size: 0.82rem;
    padding: 0.4rem 0.45rem;
  }
  .rail-ico { opacity: 0.9; flex-shrink: 0; }

  .rail-tree-kids {
    padding: 0.1rem 0 0.25rem 0.35rem;
    margin-left: 0.55rem;
    border-left: 2px solid color-mix(in srgb, var(--accent, #3ec7ff) 35%, transparent);
  }
  .rail-tree-nested {
    margin-left: 0.15rem;
  }

  .rail-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
    color: var(--ink);
    text-decoration: none;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
  }
  .rail-link i { flex: 0 0 1rem; text-align: center; opacity: 0.9; }
  .rail-link span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rail-link:hover {
    background: var(--surface-3, #dce6f3);
    color: var(--ink);
  }
  .rail-link.active {
    background: color-mix(in srgb, var(--accent) 18%, transparent);
    color: var(--ink);
    box-shadow: inset 3px 0 0 var(--accent);
  }
  .rail-sublink { font-size: 0.82rem; font-weight: 500; }
  .rail-empty {
    display: block;
    padding: 0.35rem 0.5rem;
    font-size: 0.78rem;
    color: var(--ink-muted, #5f738c);
  }
  .rail-badge {
    margin-left: auto;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    background: color-mix(in srgb, var(--ink) 12%, transparent);
    color: var(--ink-muted);
    flex-shrink: 0;
  }

  /* Collapsed rail: icons only */
  body.staff-rail-collapsed .staff-rail {
    width: var(--staff-rail-collapsed);
  }
  body.staff-rail-collapsed .staff-rail-title,
  body.staff-rail-collapsed .rail-tree-sum span,
  body.staff-rail-collapsed .rail-link span,
  body.staff-rail-collapsed .rail-empty,
  body.staff-rail-collapsed .rail-badge,
  body.staff-rail-collapsed .rail-toggle-label,
  body.staff-rail-collapsed .rail-tree-sum::before {
    display: none;
  }
  body.staff-rail-collapsed .rail-tree-kids {
    display: none;
  }
  body.staff-rail-collapsed .staff-rail-top {
    justify-content: center;
    padding: 0.65rem 0.25rem;
  }
  body.staff-rail-collapsed .rail-tree-sum {
    justify-content: center;
    padding: 0.55rem 0.25rem;
  }
  body.staff-rail-collapsed .rail-link {
    justify-content: center;
    padding: 0.5rem 0.25rem;
  }

  /* Push header (logo), main content, and footer clear of the fixed rail */
  body.has-staff-rail .topbar,
  body.has-staff-rail header.topbar,
  body.has-staff-rail .app-main,
  body.has-staff-rail footer {
    margin-left: var(--staff-rail-w);
    transition: margin-left .2s ease;
  }
  body.has-staff-rail.staff-rail-collapsed .topbar,
  body.has-staff-rail.staff-rail-collapsed header.topbar,
  body.has-staff-rail.staff-rail-collapsed .app-main,
  body.has-staff-rail.staff-rail-collapsed footer {
    margin-left: var(--staff-rail-collapsed);
  }
  body.has-staff-rail .topbar,
  body.has-staff-rail header.topbar {
    position: relative;
    z-index: 1020;
  }

  .staff-rail-expand {
    display: none;
    position: fixed;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1040;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0 10px 10px 0;
    border: 1px solid #2a3f5c;
    background: #0b1524;
    color: #f0c14b;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  @media (max-width: 991.98px) {
    .staff-rail {
      transform: translateX(-100%);
    }
    body.staff-rail-open .staff-rail {
      transform: translateX(0);
      width: min(300px, 90vw);
    }
    body.has-staff-rail .topbar,
    body.has-staff-rail header.topbar,
    body.has-staff-rail .app-main,
    body.has-staff-rail footer,
    body.has-staff-rail.staff-rail-collapsed .topbar,
    body.has-staff-rail.staff-rail-collapsed header.topbar,
    body.has-staff-rail.staff-rail-collapsed .app-main,
    body.has-staff-rail.staff-rail-collapsed footer {
      margin-left: 0;
    }
    .staff-rail-expand {
      display: inline-flex;
    }
    body.staff-rail-open .staff-rail-expand {
      display: none;
    }
  }
  .staff-rail-foot { border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent); padding: .35rem .35rem calc(.5rem + env(safe-area-inset-bottom)); }
  @media (max-width: 991.98px) { .staff-rail-foot { padding-bottom: calc(var(--tabbar-h, 64px) + .5rem); } }

/* ---- Account page ---- */
.account-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); align-items: start; }
.kv-list { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; }
.kv-list dt { font-weight: 600; color: var(--ink-secondary); font-size: var(--text-sm, .875rem); }
.kv-list dd { margin: 0; min-width: 0; }
.theme-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.theme-opt { display: inline-flex; align-items: center; gap: .5rem; min-height: var(--tap); padding: .4rem .9rem; border: 1px solid var(--bs-border-color); border-radius: var(--radius-sm, 8px); cursor: pointer; background: var(--surface-2); }
.theme-opt:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft, rgba(62,199,255,.25)); }
.theme-opt .form-check-input { margin: 0; }
legend.form-label { font-size: var(--text-sm, .875rem); font-weight: 600; float: none; margin-bottom: .5rem; }

/* ---- Quiz / test runner (pass 6; replaces test.html's inline <style>) ---- */
.test-toolbar { position: sticky; top: 0; z-index: 6; padding-bottom: 1.1rem; overflow: hidden; }
#flagBtn[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #06101f; }
.q-lo { display: inline-block; line-height: 1.4; }
.q-lo strong { margin-right: .15rem; }
.test-head { min-width: 0; flex: 1 1 14rem; }
.test-title { font-family: var(--font); font-size: 1.05rem; font-weight: 700; margin: 0; color: inherit; letter-spacing: 0; }
.test-tools { display: flex; align-items: center; gap: .5rem; flex-wrap: nowrap; }
.test-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.12); }
.test-progress > span { display: block; height: 100%; width: 0; background: var(--accent); transition: width .25s ease; }
.test-timer { font-family: var(--mono); font-weight: 700; font-size: 1.05rem; padding: .35rem .8rem; border-radius: 8px;
  display: inline-flex; align-items: center; gap: .4rem; min-width: 6rem; justify-content: center; min-height: 36px;
  background: rgba(61,214,140,.12); color: #3dd68c; border: 1px solid rgba(61,214,140,.45); transition: background .25s, color .25s, border-color .25s; }
.test-timer.warn10 { background: rgba(240,193,75,.18); border-color: rgba(240,193,75,.65); color: #f0c14b; }
.test-timer.warn5 { background: rgba(255,140,60,.2); border-color: rgba(255,140,60,.7); color: #ff9a4a; }
.test-timer.danger { background: rgba(255,90,80,.22); border-color: rgba(255,90,80,.75); color: #ff7a6a; animation: pulse-timer 1s ease-in-out infinite; }
@keyframes pulse-timer { 50% { opacity: .8; transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { .test-timer.danger { animation: none; } }
#timeWarnBanner { display: none; margin-bottom: .75rem; padding: .65rem 1rem; border-radius: 8px; font-weight: 600; font-size: .95rem; }
#timeWarnBanner.show { display: block; }
#timeWarnBanner.warn10 { background: rgba(240,193,75,.15); border: 1px solid rgba(240,193,75,.5); color: var(--ink); }
#timeWarnBanner.warn5 { background: rgba(255,140,60,.18); border: 1px solid rgba(255,140,60,.55); color: var(--ink); }
#timeWarnBanner.danger { background: var(--danger-bg); border: 1px solid var(--danger); color: var(--ink); }
.q-nav-wrap { background: var(--surface); border: 1px solid var(--surface-3); border-radius: 14px; padding: .65rem .85rem .85rem; box-shadow: var(--shadow); margin-bottom: 1rem; }
.q-nav-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem .75rem; font-size: var(--text-sm, .875rem); color: var(--ink-secondary); font-weight: 600; margin-bottom: .5rem; }
.q-legend { display: inline-flex; align-items: center; gap: .35rem; font-weight: 500; color: var(--ink-muted); }
.q-legend .lg { width: .8rem; height: .8rem; border-radius: 3px; display: inline-block; border: 1.5px solid var(--success); background: var(--success-bg); margin-left: .35rem; }
.q-legend .lg.flagged { border-color: var(--gold); background: transparent; box-shadow: inset 0 0 0 1px var(--gold); }
.q-nav-wrap .q-nav { background: none; border: 0; box-shadow: none; padding: 0; }
.q-nav button { width: 44px; height: 44px; position: relative; }
.q-nav button.flagged::after { content: ''; position: absolute; top: 3px; right: 3px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.q-stem { font-size: 1.15rem; font-weight: 700; line-height: 1.45; margin: 0 0 1rem; outline: none; }
.q-option { display: flex; align-items: flex-start; gap: .75rem; position: relative; min-height: 52px; font-weight: 500; }
.q-option .q-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; display: block; }
.q-option:has(.q-radio:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
.q-key { flex: 0 0 1.9rem; height: 1.9rem; border-radius: 50%; border: 1.5px solid var(--surface-4); display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: .8rem; font-weight: 700; color: var(--ink-secondary); background: var(--surface-2); }
.q-option.selected .q-key { background: var(--gold); border-color: var(--gold); color: #06101f; }
.q-text { padding-top: .2rem; overflow-wrap: anywhere; }
.assess-actions { display: grid; grid-template-columns: auto 1fr auto; gap: .5rem; align-items: center; margin-top: 1rem; }
.assess-actions #reviewBtn { justify-self: center; }
.assess-actions #prevBtn:disabled { visibility: hidden; }
.assess-tip { font-size: var(--text-sm, .875rem); color: var(--ink-muted); margin-top: .75rem; text-align: center; }
.review-sum { font-weight: 600; margin-bottom: .75rem; }
.review-row { margin-bottom: .75rem; }
.review-label { font-weight: 600; font-size: var(--text-sm, .875rem); margin-bottom: .35rem; }
.review-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.review-chips .btn { min-width: 44px; min-height: 44px; }
@media (max-width: 767.98px) {
  /* Focus mode: no tab bar or footer during an attempt; actions sit in a bar above the home indicator */
  body.assess-focus .mobile-tabbar, body.assess-focus > footer { display: none; }
  body.assess-focus.has-mobile-tabbar { padding-bottom: 0; }
  .test-toolbar { top: 0; border-radius: 0 0 14px 14px; margin: -1rem -.75rem .75rem; padding: .6rem 1rem .85rem; gap: .4rem; }
  .test-title { font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .test-toolbar .meta { display: none; }
  .test-tools .btn { min-height: 40px; }
  .q-card { padding: 1rem; }
  .q-stem { font-size: 1.05rem; }
  .q-nav { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: .25rem !important; scrollbar-width: thin; }
  .q-nav button { flex: 0 0 44px; scroll-snap-align: start; }
  body.assess-focus .test-shell { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .assess-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1025; margin: 0; padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom));
    background: var(--surface); border-top: 1px solid var(--surface-3); box-shadow: 0 -6px 18px rgba(0,0,0,.08); }
  .assess-actions .btn { min-height: 48px; }
}

/* ---- Results pages (quiz/test) ---- */
.kpi-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 400px) { .kpi-row { gap: .5rem; } .kpi-row .kpi-card { padding: .65rem .7rem; } .kpi-row .kpi-value { font-size: 1.45rem; } }
.result-hero { display: flex; gap: 1rem; align-items: center; }
.result-badge { flex: 0 0 3.25rem; height: 3.25rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.6rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); }
.result-hero.is-pass .result-badge { color: #3dd68c; border-color: rgba(61,214,140,.6); }
.result-hero.is-fail .result-badge { color: #f0c14b; border-color: rgba(240,193,75,.6); }
.result-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
@media (max-width: 575.98px) { .result-actions .btn { flex: 1 1 100%; } }
.focus-area { border: 1px solid var(--surface-3); border-radius: 12px; padding: .85rem 1rem; margin-bottom: .75rem; background: var(--surface); }
.focus-area-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .4rem; }
.focus-tips { font-size: var(--text-sm, .875rem); margin: 0 0 .6rem; padding-left: 1.1rem; color: var(--ink-secondary); }
.focus-more > summary { cursor: pointer; font-weight: 600; min-height: var(--tap); display: flex; align-items: center; color: var(--accent-bright, var(--accent)); }
.chip-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--surface-4);
  background: var(--surface-2); color: var(--ink); font-size: var(--text-sm, .875rem); font-weight: 600; text-decoration: none; max-width: 100%; white-space: normal; line-height: 1.25; }
.chip-link:hover, .chip-link:focus-visible { border-color: var(--accent); color: var(--ink); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); }
@media (pointer: coarse) { .chip-link, .lab-disclosure > summary { min-height: var(--tap); } }
.cat-row-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem .75rem; margin-bottom: .35rem; }
.cat-row.is-weak .cat-score strong { color: var(--danger); }
.cat-meter { width: 100%; height: .6rem; display: block; }
.cat-meter::-webkit-meter-bar { background: var(--surface-3); border: 0; border-radius: 99px; height: .6rem; }
.cat-meter::-webkit-meter-optimum-value { background: var(--success); border-radius: 99px; }
.cat-meter::-webkit-meter-suboptimum-value { background: var(--gold); border-radius: 99px; }
.cat-meter::-moz-meter-bar { background: var(--success); border-radius: 99px; }
.cat-meter:-moz-meter-sub-optimum::-moz-meter-bar { background: var(--gold); }
.cat-meter::-webkit-meter-even-less-good-value { background: var(--gold); border-radius: 99px; }
.focus-more > summary { list-style: none; gap: .4rem; }
.focus-more > summary::-webkit-details-marker { display: none; }
.focus-more > summary::before { content: '\F285'; font-family: 'bootstrap-icons'; font-size: .8em; transition: transform .15s; }
.focus-more[open] > summary::before { transform: rotate(90deg); }

/* ---- Student class page ---- */
.class-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.class-head-main { min-width: 0; flex: 1 1 20rem; }
.class-head-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
@media (max-width: 575.98px) { .class-head-actions { width: 100%; } .class-head-actions .btn { flex: 1 1 0; } }
.class-progress { display: flex; align-items: center; gap: .6rem; margin-top: .6rem; font-size: var(--text-sm, .875rem); color: var(--ink-secondary); font-weight: 600; }
.class-progress meter { flex: 1 1 8rem; max-width: 16rem; height: .55rem; }
.class-progress span { white-space: nowrap; }
.class-progress meter::-webkit-meter-bar { background: var(--surface-3); border: 0; border-radius: 99px; height: .55rem; }
.class-progress meter::-webkit-meter-optimum-value, .class-progress meter::-webkit-meter-suboptimum-value, .class-progress meter::-webkit-meter-even-less-good-value { background: var(--accent); border-radius: 99px; }
.lab-disclosure { margin-top: .5rem; }
.lab-disclosure > summary { cursor: pointer; font-size: var(--text-sm, .875rem); font-weight: 600; color: var(--ink-secondary); min-height: 36px; display: inline-flex; align-items: center; gap: .35rem; list-style: none; }
.lab-disclosure > summary::-webkit-details-marker { display: none; }
.lab-disclosure > summary::before { content: '\F285'; font-family: 'bootstrap-icons'; font-size: .75em; transition: transform .15s; }
.lab-disclosure[open] > summary::before { transform: rotate(90deg); }
.lab-disclosure .chip-links { padding: .35rem 0 .15rem; }
.empty-state-sm { padding: 1.25rem 1rem; }
.empty-state-sm > i { font-size: 1.5rem; }
details.card-disclosure > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-height: var(--tap); }
details.card-disclosure > summary::-webkit-details-marker { display: none; }
details.card-disclosure > summary::after { content: '\F282'; font-family: 'bootstrap-icons'; transition: transform .15s; margin-left: .25rem; }
details.card-disclosure[open] > summary::after { transform: rotate(180deg); }
details.card-disclosure:not([open]) > summary { border-bottom: 0; border-radius: inherit; }

/* ---- Lab lists ---- */
.chip-scroll { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }
.chip-scroll .chip-link { flex: 0 0 auto; white-space: nowrap; }
.chip-count { font-family: var(--mono); font-size: .75em; color: var(--ink-muted); margin-left: .15rem; }
.section-label { text-transform: none; font-weight: 700; color: var(--ink); margin: 0 0 .5rem; scroll-margin-top: 1rem; }
.lab-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: center; min-height: 56px; }
.lab-row-main { display: flex; flex-direction: column; min-width: 0; }
.lab-row-title { font-weight: 600; color: var(--ink); }
.lab-row-sub { font-size: var(--text-sm, .875rem); color: var(--ink-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lab-row-go { font-size: var(--text-sm, .875rem); font-weight: 600; color: color-mix(in srgb, var(--accent) 45%, var(--ink)); white-space: nowrap; }
[data-theme="dark"] .lab-row-go { color: var(--accent-bright, var(--accent)); }
.lab-kind { font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .06em; padding: .25rem .45rem; border-radius: 6px; background: var(--surface-3); color: var(--ink-secondary); min-width: 4.6rem; text-align: center; }
.lab-kind-windows { background: color-mix(in srgb, #0078d4 16%, var(--surface)); color: color-mix(in srgb, #0078d4 70%, var(--ink)); }
.lab-kind-switch, .lab-kind-router { background: color-mix(in srgb, var(--gold) 18%, var(--surface)); color: color-mix(in srgb, var(--gold) 55%, var(--ink)); }
@media (max-width: 575.98px) { .lab-row { grid-template-columns: minmax(0, 1fr) auto; } .lab-kind { grid-column: 1 / -1; justify-self: start; min-width: 0; } .lab-row-go { font-size: 0; } .lab-row-go i { font-size: 1rem; } }
.lab-row.no-kind { grid-template-columns: minmax(0, 1fr) auto; }

/* ---- Gradebook touch sizing (pass 6) ---- */
@media (pointer: coarse) {
  .gb-chip { min-width: 44px; min-height: 44px; height: auto; }
  .gb-table td > a:not(.gb-chip), .gb-table .gb-sticky a { display: inline-flex; align-items: center; min-height: var(--tap); max-width: 100%; }
  .gb-sort { min-height: var(--tap); min-width: var(--tap); }
  .gb-table thead a { display: inline-flex; align-items: center; justify-content: center; min-height: var(--tap); min-width: var(--tap); }
  table.table-stack .gb-chip { min-width: 44px; }
  .gb-table .form-check-input { width: 1.5em; height: 1.5em; }
  .gb-table td:has(> .form-check-input), .gb-table th:has(> .form-check-input) { min-width: 44px; }
}
.mw-14 { max-width: 14rem; }

/* ---- Utilities replacing one-off inline styles (pass 6) ---- */
.u-prewrap { white-space: pre-wrap; }
.u-eyebrow { letter-spacing: .12em; color: var(--accent-bright); }
.u-eyebrow-gold { letter-spacing: .08em; font-size: .75rem; font-weight: 700; color: #8a6d12; }
[data-theme="dark"] .u-eyebrow-gold { color: var(--gold-soft, #f0c14b); }
.u-pointer { cursor: pointer; } .u-cursor-default { cursor: default; }
.u-ink-2 { color: var(--ink-secondary); }
.u-minw-9 { min-width: 9rem; } .u-minw-12 { min-width: 12rem; } .u-minw-16 { min-width: 16rem; }
.u-maxw-20 { max-width: 20rem; } .u-maxw-34 { max-width: 34rem; } .u-w-14 { width: 14rem; }
.nav-search { min-width: 9rem; max-width: 14rem; background: rgba(255,255,255,.12); color: inherit; }

/* ---- Flash messages (pass 6) ---- */
.ui-flash { display: flex; align-items: flex-start; gap: .65rem; padding-right: 3.25rem; border-width: 1px; border-left-width: 4px; }
.ui-flash > .bi { font-size: 1.1rem; line-height: 1.35; flex-shrink: 0; }
.ui-flash-text { min-width: 0; overflow-wrap: anywhere; }
.ui-flash .btn-close { top: 50%; transform: translateY(-50%); padding: .9rem; }
.ui-flash.alert-success { border-left-color: var(--success); }
.ui-flash.alert-danger { border-left-color: var(--danger); }
.ui-flash.alert-warning { border-left-color: var(--gold); }
.ui-flash.alert-info { border-left-color: var(--accent); }
@media (max-width: 575.98px) { .ui-flash { font-size: .925rem; } }
.empty-state .empty-title { font-weight: 700; color: var(--ink); margin: 0 0 .25rem; font-size: 1.05rem; }
.empty-state .empty-text { margin: 0 auto; max-width: 30rem; font-size: var(--text-sm, .875rem); }
.card.empty-state { padding: 2rem 1.25rem; }
.person-chip { display: inline-flex; align-items: center; gap: .15rem; padding: .1rem .1rem .1rem .6rem; border-radius: 999px; background: var(--success-bg); border: 1px solid color-mix(in srgb, var(--success) 40%, transparent); font-weight: 600; font-size: var(--text-sm, .875rem); margin: .15rem .25rem .15rem 0; }
.person-chip-x { border: 0; background: none; color: var(--ink-secondary); width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.person-chip-x:hover, .person-chip-x:focus-visible { background: var(--danger-bg); color: var(--danger); }
@media (pointer: coarse) { .person-chip-x { width: 40px; height: 40px; } }
[id^="admin-"] { scroll-margin-top: 1rem; }
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: .75rem; }
@media (max-width: 575.98px) { .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; } .kpi-grid .kpi-card { padding: .6rem .65rem; } .kpi-grid .kpi-value { font-size: 1.3rem; } .kpi-grid .kpi-label { font-size: .62rem; letter-spacing: .05em; } }
.meta-pills { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.meta-pills li { padding: .3rem .7rem; border-radius: 999px; background: var(--surface); border: 1px solid var(--surface-3); font-size: var(--text-sm, .875rem); color: var(--ink-secondary); }
.meta-pills strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.meta-pills .is-ok { border-color: color-mix(in srgb, var(--success) 45%, transparent); }
.meta-pills .is-warn { border-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.meta-pills .is-flag { border-color: color-mix(in srgb, var(--danger) 45%, transparent); }
.page-hero-split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.page-hero-split > div { min-width: 0; flex: 1 1 16rem; }
@media (max-width: 575.98px) { .page-hero-split > .btn { width: 100%; } }

/* touch overrides that must come after the component blocks above */
@media (pointer: coarse) {
  .lab-disclosure > summary { min-height: var(--tap); }
  .person-chip-x { width: var(--tap); height: var(--tap); }
}
@media (pointer: coarse) {
  #flagBtn, #reportQBtn, #ttsMore { min-height: var(--tap); min-width: var(--tap); display: inline-flex; align-items: center; justify-content: center; }
  .entry-demo > summary { min-height: var(--tap); display: flex; align-items: center; }
  .table-stack .btn-sm, .table .btn-sm[aria-label] { min-width: var(--tap); min-height: var(--tap); }
  .gb-chip { min-width: var(--tap); flex-shrink: 0; }
  table.table-stack td[data-label] > .gb-chip { min-width: var(--tap); }
  .tqi-status-link { min-height: var(--tap); display: inline-flex; align-items: center; }
}

/* ---- Admin sub-pages (overview, classes, people, curriculum, quality) ---- */
.admin-hero { margin-bottom: .75rem; }
.admin-tabs { margin-top: -.15rem; }
.admin-tabs .chip-link[aria-current="page"], .chip-scroll .chip-link[aria-current="true"] {
  background: var(--navy-800, #0d1b2e); border-color: var(--navy-800, #0d1b2e); color: #fff; font-weight: 600; }
html[data-theme="dark"] .admin-tabs a.chip-link[aria-current="page"], html[data-theme="dark"] .chip-scroll a.chip-link[aria-current="true"] {
  background: #eef3fa; border-color: #eef3fa; color: #0a1220; }
.chip-scroll .chip-link[aria-current] .chip-count { color: #c9d5e6; }
html[data-theme="dark"] .chip-scroll a.chip-link[aria-current] .chip-count { color: #3a4a60; }
.kpi-link { text-decoration: none; color: inherit; transition: border-color .15s, transform .15s; }
.kpi-link:hover, .kpi-link:focus-visible { border-color: var(--accent); color: inherit; }
.kpi-warn .kpi-value { color: var(--warning-ink, #8a5a00); }
[data-theme="dark"] .kpi-warn .kpi-value { color: var(--gold-bright, #f0c14b); }
.admin-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .75rem; }
.admin-hub-card { display: flex; gap: .85rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: var(--radius, 12px);
  border: 1px solid var(--surface-4); background: var(--surface); color: var(--ink); text-decoration: none; min-height: var(--tap); }
.admin-hub-card:hover, .admin-hub-card:focus-visible { border-color: var(--accent); color: var(--ink); background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.admin-hub-card > .bi { font-size: 1.4rem; color: color-mix(in srgb, var(--accent) 45%, var(--ink)); line-height: 1; margin-top: .1rem; }
[data-theme="dark"] .admin-hub-card > .bi { color: var(--accent-bright); }
.admin-hub-card > span { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.admin-hub-card > span > span { font-size: var(--text-sm, .875rem); color: var(--ink-muted); }
.curriculum-sets { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1rem; }
@media (max-width: 575.98px) { .curriculum-sets { grid-template-columns: minmax(0, 1fr); } }
.staff-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem .75rem; }
.staff-row-main { display: flex; flex-direction: column; min-width: 0; flex: 1 1 14rem; }
.staff-row-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.role-badge { text-transform: uppercase; letter-spacing: .04em; font-weight: 700; background: var(--surface-3); color: var(--ink-secondary); }
.role-badge.role-admin { background: var(--navy-800, #0d1b2e); color: #fff; }
.role-badge.role-instructor { background: color-mix(in srgb, var(--accent) 22%, var(--surface)); color: var(--ink); }
.admin-sections-table tr.is-inactive { opacity: .72; }
@media (max-width: 767.98px) {
  .admin-sections-table .form-select { min-width: 0; }
}
/* TQI board (moved from an inline <style> in admin_tqi.html) */
.tqi-row { cursor: pointer; }
.tqi-row:hover { background: color-mix(in srgb, var(--accent, #d4b46a) 12%, transparent); }
.tqi-open-btn { display: inline-block; padding: .4rem .85rem; font-weight: 600; pointer-events: auto; position: relative; z-index: 2; }
.tqi-status-link { display: inline-block; text-decoration: none; pointer-events: auto; position: relative; z-index: 2; }
@media (pointer: coarse) { .tqi-status-link { display: inline-flex; align-items: center; min-height: var(--tap); } }
.tqi-ended { color: var(--warning-ink, #8a5a00); font-weight: 600; }
[data-theme="dark"] .tqi-ended { color: var(--gold-bright, #f0c14b); }
@media (pointer: coarse) { .row-title-link { display: inline-flex; align-items: center; min-height: var(--tap); } }
/* phones: the admin tabs scroll sideways; novak-ui.js scrolls the current tab into view, the fade hints at more */
@media (max-width: 575.98px) {
  .admin-tabs { margin-left: -.75rem; margin-right: -.75rem; padding-left: .75rem; padding-right: .75rem; scroll-padding-inline: .75rem;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 1.5rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 1.5rem), transparent); }
}
@media (max-width: 575.98px) { .admin-tabs.at-end { -webkit-mask-image: none; mask-image: none; } }

/* ---- Dark mode: Bootstrap utilities that assume data-bs-theme (this app themes with data-theme) ---- */
[data-theme="dark"] .badge.bg-warning.text-dark, [data-theme="dark"] .badge.text-bg-warning { color: #1a1300 !important; }
[data-theme="dark"] .text-danger-emphasis { color: #ffb4ab !important; }
[data-theme="dark"] .text-success-emphasis { color: #8fe3b4 !important; }
[data-theme="dark"] .text-warning-emphasis { color: #ffd98a !important; }
[data-theme="dark"] .text-primary-emphasis, [data-theme="dark"] .text-info-emphasis { color: #9fd8ff !important; }
[data-theme="dark"] .btn-outline-danger { --bs-btn-color: #ff8f86; --bs-btn-border-color: #ff8f86; --bs-btn-hover-bg: #ff8f86; --bs-btn-hover-border-color: #ff8f86;
  --bs-btn-hover-color: #1a0606; --bs-btn-active-bg: #ff8f86; --bs-btn-active-color: #1a0606; }
[data-theme="dark"] .btn-link { --bs-btn-color: var(--accent-bright, #7adcff); --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; }
@media (min-width: 768px) { .admin-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .admin-hub { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* pass 8: course materials documents */
.doc-body { max-width: 62rem; }
.doc-body .doc-table td, .doc-body .doc-table th { white-space: normal; }
.doc-body .doc-table td { min-width: 4.5rem; }
.doc-body .doc-table th[scope="row"] { min-width: 2.5rem; max-width: 16rem; }
.doc-body .doc-kv th[scope="row"] { min-width: 8rem; }
.doc-body .doc-table td, .doc-body .doc-table th { font-size: .85rem; }
/* Two-column (item/details) tables stack on phones instead of scrolling sideways. */
@media (max-width: 575.98px) {
  .doc-body .doc-kv thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .doc-body .doc-kv tr, .doc-body .doc-kv th[scope="row"], .doc-body .doc-kv td { display: block; width: 100%; }
  .doc-body .doc-kv th[scope="row"] { font-weight: 600 !important; border-bottom: 0; padding-bottom: 0; }
}
.doc-break { margin: 2rem 0 1rem; border-top: 2px dashed var(--surface-4); opacity: 1; }
.lab-assessment > summary { cursor: pointer; }
@media print {
  .doc-toolbar, .alert[role="note"] .bi { display: none !important; }
  .doc-body.card { border: 0 !important; box-shadow: none !important; }
  .doc-body .card-body { padding: 0 !important; }
  .doc-break { break-after: page; border: 0; margin: 0; }
  .doc-body .doc-table { overflow: visible !important; }
  .doc-body table { break-inside: auto; } .doc-body tr { break-inside: avoid; }
}

/* Pass 9 lesson components: scenarios and described diagrams */
.scenario-box { border: 1px solid var(--surface-4); border-left: 4px solid var(--accent); border-radius: 0 10px 10px 0; padding: .9rem 1rem; margin: 1rem 0; background: var(--surface); }
.scenario-box h4, .worked-example h4 { margin: 0 0 .5rem; font-size: 1rem; }
.lesson-figure { margin: 1.25rem 0; padding: .75rem; border: 1px solid var(--surface-4); border-radius: 10px; background: var(--surface); color: var(--ink); }
.lesson-figure .flow-svg { display: block; width: 100%; height: auto; max-height: 360px; }
.lesson-figure .flow-narrow { display: none; max-height: none; }
@media (max-width: 575.98px) { .lesson-figure .flow-wide { display: none; } .lesson-figure .flow-narrow { display: block; } }
.flow-svg .flow-node { fill: var(--surface-2, transparent); stroke: currentColor; stroke-width: 1.5; }
.flow-svg .flow-first { stroke: var(--accent); stroke-width: 2.5; }
.flow-svg .flow-text { fill: currentColor; font: 600 13px/1 var(--font, system-ui, sans-serif); }
.flow-svg .flow-small { font-size: 12px; font-weight: 500; }
.flow-narrow .flow-text { font-size: 15px; }
.flow-narrow .flow-small { font-size: 13px; }
.flow-svg .flow-edge { stroke: currentColor; stroke-width: 1.5; }
.flow-svg .flow-loop { stroke-dasharray: 5 4; }
.lesson-figure figcaption { font-size: .9rem; margin-top: .5rem; color: var(--ink-secondary); }
.lesson-figure .figure-desc summary { cursor: pointer; font-size: .88rem; margin-top: .35rem; }
.lesson-figure .figure-desc p { font-size: .9rem; margin: .35rem 0 0; }
@media print { .lesson-figure .figure-desc { display: block; } .lesson-figure .figure-desc[open] summary { display: none; } }
/* pass 9: Bootstrap's pink code colour is 4.2:1 on the pale worked-example/scenario panels; darken it in light theme
   (dark theme keeps its own !important code colour) */
.core-content code, .live-demo code { color: #a1145a; }   /* pass 10: also the pale live-demo boxes (lesson 5.1) */

/* ---- Pass 16: Simplified Course Hub Action Menus & Collapsible disclosures ---- */
details.action-more-menu { position: relative; display: inline-block; }
details.action-more-menu > summary { list-style: none; cursor: pointer; user-select: none; display: inline-flex; align-items: center; gap: .35rem; }
details.action-more-menu > summary::-webkit-details-marker { display: none; }
details.action-more-menu > summary::after { content: "\F282"; font-family: "bootstrap-icons"; font-size: .75em; transition: transform .15s ease; }
details.action-more-menu[open] > summary::after { transform: rotate(180deg); }
.action-more-panel {
  position: absolute; right: 0; top: calc(100% + .35rem); z-index: 1050;
  min-width: 14rem; padding: .4rem; border-radius: 12px;
  background: var(--surface, #fff); color: var(--ink, #0a1424);
  border: 1px solid var(--surface-4, #c9d6e8); box-shadow: 0 12px 32px rgba(6, 13, 24, .22);
  display: flex; flex-direction: column; gap: .15rem;
}
[data-theme="dark"] .action-more-panel { background: #0f1d32; border-color: #2a3f5c; color: #eef4fb; box-shadow: 0 12px 32px rgba(0, 0, 0, .55); }
.action-more-item {
  display: flex; align-items: center; gap: .55rem; padding: .5rem .75rem; min-height: 40px;
  border-radius: 8px; color: var(--ink, #0a1424) !important; text-decoration: none !important;
  font-size: .88rem; font-weight: 600; transition: background .12s ease;
}
[data-theme="dark"] .action-more-item { color: #eef4fb !important; }
.action-more-item:hover, .action-more-item:focus-visible { background: color-mix(in srgb, var(--accent, #3ec7ff) 14%, var(--surface, #fff)); }
.gp-checklist-disclosure > summary { list-style: none; display: inline-flex; align-items: center; gap: .35rem; color: var(--ink-secondary); min-height: 36px; }
.gp-checklist-disclosure > summary::-webkit-details-marker { display: none; }
.gp-checklist-disclosure > summary::before { content: "\F285"; font-family: "bootstrap-icons"; font-size: .75em; transition: transform .15s ease; }
.gp-checklist-disclosure[open] > summary::before { transform: rotate(90deg); }
@media (max-width: 575.98px) {
  details.action-more-menu { flex: 1 1 100%; }
  details.action-more-menu > summary { width: 100%; justify-content: center; }
  .action-more-panel { position: static; width: 100%; margin-top: .35rem; box-shadow: none; }
  .ladder-intro, .ladder-topstatus { font-size: .82rem !important; padding: .45rem .65rem !important; margin-bottom: .5rem !important; }
}

/* ---- Pass 16 v2: Ultra-clean above-the-fold spacing on Student Section, Lesson, Home, and Instructor Section ---- */
.lesson-hero { padding: .6rem 1rem !important; border-radius: 12px !important; }
.lesson-hero h1, .lesson-hero .h4 { font-size: 1.15rem; line-height: 1.25; }
.lesson-meta-strip { display: flex; flex-wrap: wrap; gap: .15rem .75rem; align-items: center; justify-content: space-between; padding: .28rem .65rem; border: 1px solid var(--surface-3); border-radius: 8px; background: var(--info-bg); }
.lesson-meta-strip .ladder-topstatus { border: 0 !important; padding: 0 !important; margin: 0 !important; font-size: .8rem; background: transparent !important; }
.lesson-meta-strip .ladder-topstatus a, .lesson-meta-strip .ladder-intro a { color: #0a4c6b; font-weight: 600; }
[data-theme="dark"] .lesson-meta-strip .ladder-topstatus a, [data-theme="dark"] .lesson-meta-strip .ladder-intro a { color: #9fdcff; }
.lesson-meta-strip .ladder-intro { border: 0 !important; padding: 0 !important; margin: 0 !important; font-size: .8rem; background: transparent !important; }
.mx-path .mx-step { padding: .45rem .65rem; gap: .15rem .6rem; }
.mx-path .mx-step .mx-why { margin-top: .25rem; }
.mx-path .mx-step .mx-why > summary { min-height: 32px; padding: .2rem .55rem; font-size: .82rem; }
.mx-more-steps > summary { list-style: none; display: inline-flex; align-items: center; gap: .3rem; color: #0a58ca; padding: .15rem 0; }
.mx-more-steps > summary::-webkit-details-marker { display: none; }
[data-theme="dark"] .mx-more-steps > summary { color: #7adcff; }
@media (max-width: 575.98px) {
  .lesson-hero { padding: .45rem .7rem !important; }
  .lesson-hero .u-eyebrow { font-size: .64rem; margin-bottom: 0 !important; }
  .lesson-hero .h4 { font-size: .98rem; }
  .lesson-hero .lesson-hero-links { font-size: .72rem; margin-top: .1rem !important; }
  .lesson-hero .btn-sm { min-height: 32px; padding: .15rem .45rem; font-size: .75rem; }
  .narrate-bar.card-header { padding: .25rem .6rem !important; gap: .25rem !important; }
  .narrate-bar.card-header .btn-sm { min-height: 30px; font-size: .74rem; padding: .1rem .4rem !important; }
  .lesson-meta-strip { gap: .15rem .5rem; padding: .22rem .5rem; }
  .lesson-meta-strip .ladder-topstatus, .lesson-meta-strip .ladder-intro { font-size: .73rem !important; padding: 0 !important; line-height: 1.2; }
  .lesson-hero .lesson-hero-btns .btn { flex: 0 0 auto !important; }
  .class-head { gap: .35rem; margin-bottom: .45rem !important; }
  .class-head h1.h3 { font-size: 1.05rem; margin-bottom: .05rem !important; }
  .class-head p.text-muted { font-size: .74rem; }
  .class-progress { margin-top: .2rem; font-size: .74rem; }
  .class-head-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; width: 100%; }
  .class-head-actions .btn, .class-head-actions summary.btn { min-height: 34px; padding: .2rem .4rem; font-size: .76rem; width: 100%; }
  .class-head-actions details.action-more-menu { grid-column: 1 / -1; }
  details.intro-card > summary { min-height: 34px !important; padding: .3rem .65rem !important; }
  details.intro-card #introH { font-size: .82rem; }
  details.intro-card #introH span { display: none; }
  .gold-path { margin-bottom: .5rem !important; }
  .gold-path .card-header { padding: .3rem .65rem !important; font-size: .8rem; }
  .gold-path .card-body { padding: .4rem .6rem !important; }
  .mx-path .mx-path-h { font-size: .84rem; }
  .mx-path .mx-demo-note { display: none; }
  .mx-path .mx-step { grid-template-columns: 1.8rem 1fr auto; padding: .35rem .5rem; gap: .15rem .45rem; align-items: center; }
  .mx-path .mx-step-icon { width: 1.8rem; height: 1.8rem; font-size: .95rem; }
  .mx-path .mx-step-title { font-size: .82rem; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .mx-path .mx-step-detail { font-size: .72rem; }
  .mx-path .mx-step > .mx-step-go { grid-column: 3; justify-self: end; min-height: 32px; padding: .15rem .5rem; font-size: .76rem; }
  .mx-path .mx-step .mx-why > summary { min-height: 26px; padding: .1rem .4rem; font-size: .74rem; }
  .gp-checklist-disclosure > summary { min-height: 26px; font-size: .75rem; }
}

/* ---- css/helix.css ---- */
/* Helix attention UI: student dock, calibration overlay, instructor charts. */
.helix-dock { position: fixed; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); z-index: 1060; font-size: .88rem; }
body.has-mobile-tabbar .helix-dock { bottom: calc(var(--tabbar-h, 64px) + .75rem); }
.helix-pill-btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .45rem .95rem; border-radius: 999px;
  border: 1px solid var(--accent-border, #3ec7ff); background: var(--navy-900, #060d18); color: #f5f8fd; font-weight: 600; box-shadow: var(--shadow-lg); }
.helix-pill-btn:hover { filter: brightness(1.15); }
.hx-dot { width: .6rem; height: .6rem; border-radius: 50%; background: #8392a6; box-shadow: 0 0 0 3px rgba(131,146,166,.25); }
.helix-dock[data-phase="live"] .hx-dot, .helix-dock[data-phase="passive"] .hx-dot { background: #2fd38a; box-shadow: 0 0 0 3px rgba(47,211,138,.3); animation: hxPulse 2s infinite; }
.helix-dock[data-phase="live"][data-state="_face_lost"] .hx-dot, .helix-dock[data-state="_low_conf"] .hx-dot { background: #f0b429; animation: none; }
.helix-dock[data-phase="paused"] .hx-dot { background: #f0b429; }
.helix-dock[data-phase="error"] .hx-dot { background: #e5484d; }
.helix-dock[data-phase="calibrating"] .hx-dot { background: var(--accent, #3ec7ff); }
@keyframes hxPulse { 50% { box-shadow: 0 0 0 7px rgba(47,211,138,0); } }
.helix-card { width: min(23rem, calc(100vw - 1.5rem)); max-height: min(80vh, 36rem); overflow: auto; background: var(--surface, #fff); color: var(--ink, #0a1424);
  border: 1px solid var(--surface-4, #c9d6e8); border-radius: 14px; padding: .9rem 1rem; box-shadow: var(--shadow-lg); }
.hx-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .4rem; }
.hx-head strong { flex: 1; }
.hx-badge { font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; background: #f0c14b; color: #0a1628; border-radius: 999px; padding: .15rem .5rem; font-weight: 700; }
.hx-icon-btn { border: 0; background: transparent; color: inherit; width: 36px; height: 36px; border-radius: 8px; }
.hx-icon-btn:hover { background: var(--surface-2, #f0f5fb); }
.hx-copy { color: var(--ink-secondary, #33475f); margin-bottom: .6rem; }
.hx-note { font-size: .78rem; color: var(--ink-muted, #5f738c); margin: .5rem 0 0; }
.hx-links { font-size: .78rem; margin: .5rem 0 0; }
.hx-list { padding-left: 1.1rem; margin-bottom: .6rem; color: var(--ink-secondary, #33475f); }
.hx-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.hx-actions .btn { min-height: 40px; }
.hx-status { font-size: .78rem; color: var(--ink-muted, #5f738c); margin: .5rem 0 0; min-height: 1em; }
.hx-status:empty { display: none; }
.hx-live { margin-bottom: .6rem; }
.hx-now { margin: .4rem 0 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hx-acc { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: 999px; padding: .15rem .55rem; text-transform: capitalize; }
.hx-acc-good { background: var(--success-bg, #e4f8f1); color: #08734f; }
.hx-acc-fair { background: var(--warning-bg, #fff4df); color: #8a5a00; }
.hx-acc-poor { background: var(--danger-bg, #fdecec); color: #a52a2a; }
.hx-acc-info { background: var(--info-bg, #e6f7ff); color: #0b5c80; }
.hx-consent .form-check { margin-bottom: .35rem; }
.hx-consent .form-check-input { width: 1.2em; height: 1.2em; }
.hx-review { margin: .5rem 0; }
.hx-flash { outline: 3px solid #f0c14b; outline-offset: 4px; transition: outline-color 1.5s; }
#helixGazeDot { position: fixed; left: 0; top: 0; width: 14px; height: 14px; border-radius: 50%; background: rgba(240,193,75,.85); pointer-events: none; z-index: 2090; display: none;
  box-shadow: 0 0 0 4px rgba(240,193,75,.3); transition: transform 60ms linear; }
.helix-toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 2080; width: min(34rem, calc(100vw - 1.5rem));
  background: var(--navy-900, #060d18); color: #f5f8fd; border-radius: 12px; padding: .85rem 1rem; box-shadow: var(--shadow-lg); font-size: .9rem; }
.helix-toast .btn-link { color: #c9f0ff; }
.hx-toast-actions { display: flex; gap: .4rem; margin-top: .5rem; flex-wrap: wrap; }

/* calibration overlay */
.helix-calib { position: fixed; inset: 0; z-index: 2100; background: rgba(4,10,20,.92); color: #fff; }
.hx-cal-help { position: absolute; left: 50%; top: 32%; transform: translate(-50%, -50%); width: min(30rem, 80vw); text-align: center; background: rgba(10,20,36,.9);
  border: 1px solid rgba(255,255,255,.15); border-radius: 14px; padding: 1rem 1.2rem; }
.hx-cal-step { font-size: .7rem; font-family: var(--mono, monospace); color: #9fdcff; margin-left: .4rem; vertical-align: middle; }
.hx-cal-pt { position: absolute; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; border: 0; padding: 0; background: transparent; cursor: crosshair; }
.hx-cal-pt .hx-ring { position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(#f0c14b calc(var(--p) * 360deg), rgba(255,255,255,.18) 0); }
.hx-cal-pt .hx-ring::after { content: ""; position: absolute; inset: 11px; border-radius: 50%; background: #e5484d; box-shadow: 0 0 0 3px #0a1628; }
.hx-cal-pt.done .hx-ring::after { background: #f0c14b; }
.hx-cal-pt:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.hx-val-pt { position: absolute; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: #f0c14b; box-shadow: 0 0 0 6px rgba(240,193,75,.25); transition: left .35s, top .35s; }
.hx-val-pt.pulse { animation: hxShrink 1.1s ease-out; }
@keyframes hxShrink { from { transform: scale(2.2); } to { transform: scale(1); } }
.hx-val-target, .hx-val-est { position: absolute; transform: translate(-50%, -50%); border-radius: 50%; pointer-events: none; }
.hx-val-target { width: 26px; height: 26px; border: 2px solid #f0c14b; }
.hx-val-est { width: 10px; height: 10px; background: #3ec7ff; }
.hx-cal-progress { position: absolute; left: 0; right: 0; top: 0; height: 5px; background: rgba(255,255,255,.12); }
.hx-cal-progress > span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #3ec7ff, #f0c14b); transition: width .35s ease; border-radius: 0 3px 3px 0; }
.hx-cheer { color: #f0c14b; font-weight: 600; }
.hx-method { border: 0; padding: 0; margin: 0 auto; text-align: left; display: grid; gap: .4rem; max-width: 24rem; }
.hx-method legend { float: none; width: auto; color: #c9d6e6; }
.hx-method-opt { display: flex; gap: .6rem; align-items: center; padding: .5rem .7rem; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; cursor: pointer; }
.hx-method-opt:has(input:checked) { border-color: #f0c14b; background: rgba(240,193,75,.1); }
.hx-method-opt input { accent-color: #f0c14b; width: 1.1rem; height: 1.1rem; flex: none; }
.hx-method-opt small { display: block; color: #b7c6d8; font-size: .78rem; }
.hx-pursuit-dot { position: absolute; width: 24px; height: 24px; margin: -12px 0 0 -12px; border-radius: 50%; background: #f0c14b;
  box-shadow: 0 0 0 7px rgba(240,193,75,.22), 0 0 0 2px #0a1628 inset; pointer-events: none; }
.hx-pursuit-dot::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #0a1628; }
#webgazerVideoContainer { z-index: 2110 !important; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 24px rgba(0,0,0,.4);
  /* centred between the 50% and 80/90% target rows; click-through so it can never block a dot */
  top: calc(64% - 75px) !important; left: calc(50% - 100px) !important; pointer-events: none !important; }
#webgazerVideoContainer * { pointer-events: none !important; }

@media (max-width: 575.98px) {
  .helix-card { width: calc(100vw - 1.5rem); max-height: 70vh; }
  .hx-cal-help { width: 88vw; font-size: .88rem; }
}

/* ---------------- instructor charts ---------------- */
.hx-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.hx-mix { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--surface-3, #dce6f3); }
.hx-mix > span { display: block; height: 100%; }
.hx-c-attentive { background: #1f9d6b; } .hx-c-off_page { background: #9aa9bc; } .hx-c-face_lost { background: #e5484d; }
.hx-c-hidden { background: #6e56cf; } .hx-c-low_conf { background: #f0b429; }
.hx-legend { display: flex; flex-wrap: wrap; gap: .35rem .9rem; font-size: .78rem; color: var(--ink-muted, #5f738c); }
.hx-legend i { display: inline-block; width: .7rem; height: .7rem; border-radius: 3px; margin-right: .3rem; vertical-align: -1px; }
.hx-matrix { border-collapse: separate; border-spacing: 2px; font-size: .78rem; }
.hx-matrix th { font-weight: 600; color: var(--ink-secondary, #33475f); }
.hx-matrix thead th { vertical-align: bottom; min-width: 2.6rem; max-width: 7rem; }
.hx-matrix thead th span { display: block; writing-mode: vertical-rl; transform: rotate(180deg); max-height: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0 auto; }
.hx-matrix td.hx-cell { text-align: center; border-radius: 4px; min-width: 2.6rem; height: 2rem; font-variant-numeric: tabular-nums; color: #06121f; }
.hx-matrix td.hx-cell.hx-thin { outline: 2px dashed #e5484d; outline-offset: -3px; }
.hx-matrix tbody th { white-space: nowrap; padding-right: .5rem; position: sticky; left: 0; background: var(--surface, #fff); z-index: 1; }
.hx-lanes { width: 100%; }
.hx-lane { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr; gap: .6rem; align-items: center; margin-bottom: .35rem; }
.hx-lane-label { font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hx-lane svg { width: 100%; height: 22px; display: block; border-radius: 4px; background: var(--surface-2, #f0f5fb); }
.hx-axis { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr; gap: .6rem; font-size: .7rem; color: var(--ink-muted, #5f738c); }
.hx-axis div:last-child { display: flex; justify-content: space-between; }
.hx-heat-wrap { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 1rem; align-items: start; }
.hx-heat-canvas { width: 100%; max-width: 220px; aspect-ratio: 1 / 2.4; border-radius: 10px; border: 1px solid var(--surface-3, #dce6f3); background: #0a1424; display: block; }
.hx-heat-labels { position: relative; }
.hx-aoi-bar { height: .5rem; border-radius: 999px; background: var(--surface-3, #dce6f3); overflow: hidden; }
.hx-aoi-bar > span { display: block; height: 100%; background: linear-gradient(90deg, #1f9d6b, #3ec7ff); }
.hx-aoi-bar.thin > span { background: #e5484d; }
.hx-demo-ribbon { display: inline-flex; align-items: center; gap: .35rem; background: #fff4df; color: #7a4b00; border: 1px dashed #d89b00; border-radius: 999px; padding: .15rem .6rem; font-size: .75rem; font-weight: 700; }
@media (max-width: 767.98px) {
  .hx-lane, .hx-axis { grid-template-columns: 1fr; gap: .15rem; }
  .hx-axis div:first-child { display: none; }
  .hx-heat-wrap { grid-template-columns: 1fr; }
  .hx-heat-canvas { max-width: 200px; margin: 0 auto; }
}

/* instructions sit between target rows (10/20% and 50%); the result card returns to centre once targets are done */
.hx-cal-help.is-result { top: 50%; z-index: 10; max-height: 92vh; max-height: 92dvh; overflow-y: auto; }
@media (max-height: 500px) {
  .hx-cal-help.is-result, .hx-cal-help.is-pos { padding: .6rem .85rem; font-size: .82rem; width: min(32rem, 92vw); }
  .hx-cal-help.is-result p, .hx-cal-help.is-result ul { margin-bottom: .3rem !important; }
  .hx-cal-help.is-result .h5 { font-size: 1rem; margin-bottom: .25rem; }
}

/* ---------- v3 camera pipeline: positioning, tap calibration, debug preview ---------- */
.hx-cal-help.is-pos { top: 50%; width: min(34rem, 94vw); max-height: 94vh; overflow: auto; }
.hx-pos { display: flex; gap: 1rem; align-items: flex-start; justify-content: center; flex-wrap: wrap; margin: .5rem 0; }
.hx-pos-video { position: relative; width: min(320px, 78vw); aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: #000; border: 3px solid #e5484d; transition: border-color .2s; }
.hx-pos-video.good { border-color: #2fbf71; }
.hx-pos-video video, .hx-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hx-video-mirror { transform: scaleX(-1); }   /* selfie view feels natural; features use the raw frame */
.hx-pos-oval { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.hx-pos-oval ellipse { fill: none; stroke: rgba(255,255,255,.75); stroke-width: .8; stroke-dasharray: 3 2; }
.hx-pos-checks { list-style: none; padding: 0; margin: 0; text-align: left; font-size: .9rem; min-width: 12rem; }
.hx-pos-checks li { margin: .2rem 0; }
.hx-pos-checks li.ok i { color: #2fbf71; } .hx-pos-checks li.bad i { color: #f0c14b; }
.hx-pos-hint { display: block; font-size: .8rem; opacity: .8; margin-left: 1.3rem; }
.hx-cal-pt.touch { width: 56px; height: 56px; }
.hx-cal-pt.touch .hx-ring::after { inset: 15px; }
.hx-cal-pt.next:not(.done) .hx-ring { animation: hxNext 1.4s ease-in-out infinite; }
.hx-cal-pt.active .hx-ring::after { background: #3ec7ff; }
@keyframes hxNext { 50% { box-shadow: 0 0 0 10px rgba(229,72,77,.25); } }
@media (prefers-reduced-motion: reduce) { .hx-cal-pt.next .hx-ring { animation: none; } }
.hx-face-state { color: #9be7b9; } .hx-face-state.bad { color: #f0c14b; font-weight: 600; }
.hx-val-line { position: absolute; height: 2px; background: rgba(62,199,255,.7); transform-origin: 0 50%; pointer-events: none; }
/* try page */
.hx-try-hero { background: linear-gradient(135deg, #0b1f3a, #12355e); color: #fff; border-radius: 16px; padding: 1.1rem 1.25rem; }
.hx-try-hero .eyebrow { color: #f0c14b; }
.hx-try-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.hx-try-tile { min-width: 0; aspect-ratio: 16 / 9; min-height: 64px; border-radius: 12px; border: 2px solid var(--surface-3, #d8e0ea); background: var(--surface-1, #fff); font-weight: 700; font-size: 1.2rem; color: var(--ink-muted, #5b6b80); transition: background .12s, border-color .12s; }
.hx-try-tile.hot { background: #0ea5e9; border-color: #0369a1; color: #fff; }
.hx-try-drift { width: 100%; height: 80px; background: var(--surface-2, #f4f7fb); border-radius: 8px; }
.hx-hud { display: grid; grid-template-columns: auto 1fr; gap: .15rem .75rem; margin: 0; padding: .75rem 1rem; font-size: .85rem; }
.hx-try-crops { width: 100%; max-width: 368px; image-rendering: pixelated; border-radius: 4px; background: #0f172a; }
.hx-hud dt { font-weight: 600; color: var(--ink-muted, #5b6b80); } .hx-hud dd { margin: 0; font-variant-numeric: tabular-nums; word-break: break-word; }
.hx-try-trail { position: fixed; inset: 0; pointer-events: none; z-index: 2050; }
#helixGazeDot.hx-dot-try { width: 18px; height: 18px; z-index: 2060; }
.hx-debug-hud { position: fixed; left: .75rem; bottom: 5.5rem; z-index: 2040; background: rgba(10,22,40,.88); color: #e6eef9; border-radius: 10px; padding: .5rem .7rem; font-size: .75rem; line-height: 1.35; max-width: 16rem; pointer-events: none; font-variant-numeric: tabular-nums; }
@media (min-width: 992px) { .hx-debug-hud { bottom: 1rem; left: calc(var(--staff-rail-w, 0px) + 1rem); } }

.hx-video-holder { position: fixed; left: 0; bottom: 0; width: 2px; height: 2px; overflow: hidden; opacity: .01; pointer-events: none; z-index: -1; }
/* debug HUD inside the lesson dock: in-flow two-column grid instead of a floating overlay */
.helix-dock .hx-debug-hud { position: static; display: grid; grid-template-columns: auto 1fr; gap: .1rem .6rem; max-width: none; margin: .5rem 0 0; pointer-events: auto; }
.helix-dock .hx-debug-hud[hidden] { display: none; }
.helix-dock .hx-debug-hud dt { font-weight: 600; opacity: .8; }
.helix-dock .hx-debug-hud dd { margin: 0; overflow-wrap: anywhere; }
/* reading recap (student, end of session) */
.hx-recap { background: color-mix(in srgb, var(--accent, #3ec7ff) 8%, var(--surface, #fff)); border: 1px solid var(--accent-border, #bfe9ff); border-radius: 12px; padding: .65rem .8rem; margin-top: .5rem; }
.hx-recap-head { margin: 0 0 .25rem; font-size: .9rem; }
.hx-recap-bar { height: 8px; border-radius: 99px; background: var(--surface-3, #e2e8f0); overflow: hidden; margin: .35rem 0; }
.hx-recap-bar > span { display: block; height: 100%; background: linear-gradient(90deg, #22c55e, #0ea5e9); border-radius: 99px; }
/* printable attention report */
.hx-report { max-width: 1100px; margin: 0 auto; }
.hx-report-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; border-bottom: 3px solid var(--navy-700, #0f2747); padding-bottom: .75rem; margin-bottom: .75rem; }
.hx-report-eyebrow { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted, #4d5f75); font-weight: 700; }
.hx-report-note { background: #fff8e6; border-left: 4px solid #d4a017; padding: .5rem .75rem; font-size: .85rem; border-radius: 4px; }
.hx-report-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; margin: .75rem 0; }
.hx-report-kpis > div { border: 1px solid var(--surface-3, #e2e8f0); border-radius: 10px; padding: .6rem .8rem; }
.hx-report-kpis .v { display: block; font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.hx-report-kpis .l { font-size: .78rem; color: var(--ink-muted, #4d5f75); }
.hx-report-sec { margin-top: 1.25rem; }
.hx-report-table th, .hx-report-table td { font-size: .82rem; }
.hx-report-table tr.hx-thin td { background: #fff7ed; }
.hx-report-foot { border-top: 1px solid var(--surface-3, #e2e8f0); margin-top: 1.5rem; padding-top: .5rem; }
@media print {
  @page { size: A4; margin: 14mm 12mm; }
  body { background: #fff !important; }
  nav.navbar, .navbar, footer:not(.hx-report-foot), .staff-rail, #staffRail, .staff-rail-toggle, .mobile-tabbar, .bottom-nav, #helixDock, .d-print-none, .skip-link { display: none !important; }
  main, .container, .container-fluid { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  body.has-staff-rail main, body.has-staff-rail .app-main { margin-left: 0 !important; }
  .hx-report-table { page-break-inside: auto; }
  .hx-report-table tr { page-break-inside: avoid; }
  .hx-break { page-break-before: auto; }
  .hx-mix span, .hx-aoi-bar span, .hx-legend i { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: inherit !important; text-decoration: none !important; }
}

/* Pass 16: Try page target-cue and compact mobile viewport layout */
.hx-try-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; }
.hx-try-tile .hx-tile-cue { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #b45309; min-height: 0; }
.hx-try-tile.target-cue { border-color: #f0c14b !important; box-shadow: 0 0 0 4px rgba(240,193,75,.45); background: color-mix(in srgb, #f0c14b 18%, var(--surface-1, #fff)); color: var(--ink, #0a1424); animation: hxPulseTile 1s ease-in-out infinite; }
.hx-try-tile.target-cue.hot { background: #16a34a; border-color: #15803d !important; color: #fff; }
.hx-try-tile.target-cue.hot .hx-tile-cue { color: #fff; }
@keyframes hxPulseTile { 50% { box-shadow: 0 0 0 8px rgba(240,193,75,.2); } }
.hx-method-opt { min-height: 44px; }
@media (max-width: 767.98px) {
  .hx-try-hero { padding: .5rem .75rem; border-radius: 10px; margin-bottom: .45rem !important; }
  .hx-try-hero .eyebrow { font-size: .65rem; margin-bottom: .1rem !important; }
  .hx-try-hero .h3 { font-size: 1rem; margin-bottom: .1rem !important; }
  .hx-try-hero p.small { font-size: .74rem; line-height: 1.25; }
  .hx-try-hero .badge { display: none; }
  .hx-try-body { padding: .55rem .65rem !important; }
  .hx-try-controls { gap: .35rem !important; margin-bottom: .4rem !important; }
  .hx-try-controls .btn { flex: 1 1 calc(50% - .35rem); min-height: 40px; font-size: .8rem; padding: .3rem .5rem; }
  .hx-try-controls #hxTryStart { flex: 1 1 100%; min-height: 42px; }
  .hx-try-opts { gap: .25rem .65rem !important; font-size: .76rem; margin-bottom: .35rem !important; }
  .hx-try-opts .form-check { min-height: 28px !important; }
  .hx-try-opts .form-select-sm { min-height: 32px !important; padding-top: .15rem; padding-bottom: .15rem; font-size: .76rem; }
  .hx-try-hint { font-size: .74rem; line-height: 1.25; margin-bottom: .35rem !important; }
  .hx-try-grid { gap: .38rem; }
  .hx-try-tile { aspect-ratio: auto; min-height: 62px; padding: .35rem; font-size: 1rem; border-radius: 10px; }
  .hx-try-drift { height: 48px; }
  .hx-cal-help.is-pos { top: 50%; width: 94vw; padding: .85rem .95rem; }
  .hx-pos-video { width: min(220px, 64vw); }
}
/* Helix ladder struggle nudge highlight */\n.helix-dock[data-nudge] .helix-pill-btn { border-color: #f0c14b; box-shadow: 0 0 0 4px rgba(240,193,75,.35), var(--shadow-lg); }

/* ---- css/labs.css ---- */
/* ============================================================ Novak LMS live labs (pass L1)
   Terminal, Windows 11 desktop, activities, results. Phone-first: 390px portrait, landscape, tablet, desktop.
   Colours use theme variables so light and dark both meet WCAG AA. */

/* ---------- list rows with progress */
.lab-row { grid-template-columns: auto minmax(0, 1fr) auto auto; }
.lab-row.no-kind { grid-template-columns: minmax(0, 1fr) auto auto; }
.lab-row-prog { font-family: var(--mono); font-size: .8rem; font-weight: 700; color: var(--ink-secondary); white-space: nowrap; }
.lab-row-prog.done { color: color-mix(in srgb, var(--success) 75%, var(--ink)); }
[data-theme="dark"] .lab-row-prog.done { color: var(--success); }
@media (max-width: 575.98px) { .lab-row { grid-template-columns: minmax(0, 1fr) auto auto; } }
.lab-kind-win11gui, .lab-kind-activity, .lab-kind-linux, .lab-kind-ticket, .lab-kind-classroom { background: var(--surface-3); color: var(--ink); }
.lab-kind-linux { background: color-mix(in srgb, #e95420 16%, var(--surface)); color: color-mix(in srgb, #e95420 45%, var(--ink)); }
.lab-kind-activity { background: color-mix(in srgb, var(--success) 16%, var(--surface)); color: color-mix(in srgb, var(--success) 40%, var(--ink)); }
.lab-kind-switch, .lab-kind-router { color: color-mix(in srgb, var(--gold) 45%, var(--ink)); }  /* 4.5:1 on the tint */
.lab-kind-vm { background: color-mix(in srgb, #2b8a3e 18%, var(--surface)); color: color-mix(in srgb, #2b8a3e 45%, var(--ink)); }
[data-theme="dark"] .lab-kind-linux, [data-theme="dark"] .lab-kind-activity, [data-theme="dark"] .lab-kind-vm { color: var(--ink); }
.lab-real-link { color: var(--ink-secondary); }

/* ---------- page head */
.lab-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: 1rem; align-items: end; margin-bottom: 1rem; }
@media (max-width: 767.98px) { .lab-head { grid-template-columns: minmax(0, 1fr); } }
.lab-kicker { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.lab-obj-code { font-family: var(--mono); font-size: .72rem; padding: .15rem .4rem; border-radius: 6px; border: 1px solid var(--bs-border-color); color: var(--ink-secondary); }
.lab-scenario { color: var(--ink-secondary); max-width: 70ch; }
.lab-progress-box { background: var(--surface); border: 1px solid var(--bs-border-color); border-radius: 12px; padding: .65rem .8rem; }
.lab-progress { height: .55rem; margin-top: .35rem; }

/* ---------- shell layout */
.lab-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); gap: 1rem; align-items: start; }
.lab-shell > * { min-width: 0; }
@media (max-width: 991.98px) { .lab-shell { grid-template-columns: minmax(0, 1fr); } }
.lab-side { position: sticky; top: calc(var(--topbar-h, 56px) + .75rem); }
@media (max-width: 991.98px) { .lab-side { position: static; } }
.lab-objectives { list-style: none; padding: 0; margin: 0 0 .75rem; counter-reset: obj; }
.lab-objectives .obj-item { display: flex; gap: .55rem; align-items: flex-start; padding: .45rem 0; border-bottom: 1px solid var(--bs-border-color); font-size: .92rem; }
.lab-objectives .obj-item:last-child { border-bottom: 0; }
.lab-objectives .ck { flex: 0 0 1.15rem; height: 1.15rem; border-radius: 50%; border: 2px solid var(--ink-muted); margin-top: .1rem; position: relative; }
.lab-objectives .obj-item.done .ck { background: var(--success); border-color: var(--success); }
.lab-objectives .obj-item.done .ck::after { content: ""; position: absolute; left: .3rem; top: .1rem; width: .3rem; height: .55rem; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
[data-theme="dark"] .lab-objectives .obj-item.done .ck::after { border-color: #062014; }
.lab-objectives .obj-item.done { color: var(--ink-secondary); }
.lab-success { background: var(--success-bg, #e6f6ef); border: 1px solid color-mix(in srgb, var(--success) 50%, transparent); border-radius: 10px; padding: .6rem .75rem; margin-bottom: .75rem; color: var(--ink); }
#labSuccess.lab-success { display: block; }
#labSuccess.lab-success[hidden] { display: none; }
.lab-tools { display: flex; flex-wrap: wrap; gap: .5rem; }
.lab-tools .btn { min-height: 44px; }
.lab-hint { margin-top: .75rem; background: var(--info-bg, #eaf6fd); border-radius: 10px; padding: .6rem .75rem; font-size: .9rem; color: var(--ink); }
.lab-hint-text { font-family: var(--mono); font-size: .85rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.lab-toast { position: fixed; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom)); transform: translate(-50%, 150%); z-index: 1090; max-width: min(92vw, 520px); width: max-content;   /* r5: left:50% capped the shrink-to-fit width at 50vw */
  background: var(--navy-800, #101c32); color: #fff; border-radius: 12px; padding: .6rem .9rem; box-shadow: var(--shadow-lg); transition: transform .2s ease; pointer-events: none; font-size: .92rem; }
.lab-toast.show { transform: translate(-50%, 0); visibility: visible; transition: transform .2s ease, visibility 0s; }
.lab-toast:not(.show) { visibility: hidden; transition: transform .2s ease, visibility 0s .2s; }   /* r5: an empty toast peeked out at the top of the phone terminal */
.lab-toast.ok { background: #0b6e4d; }
.lab-toast.error { background: #a32a2a; }
html.term-focus-on .lab-toast { bottom: auto; top: calc(var(--vvtop, 0px) + 3.2rem); transform: translate(-50%, -300%); }
html.term-focus-on .lab-toast.show { transform: translate(-50%, 0); }

/* ---------- terminal */
.term-wrap { background: #070e18; color: #dbe9fb; border-radius: 12px; border: 2px solid #2b6f95; display: flex; flex-direction: column; overflow: hidden;
  font-family: var(--mono, ui-monospace, SFMono-Regular, Consolas, monospace); }
.term-wrap.term-windows { border-color: #2b5f95; }
.term-wrap.term-linux { border-color: #8a4a2c; background: #170b14; }
.term-wrap.beep { box-shadow: 0 0 0 3px #f0c14b; }
.term-bar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .35rem .5rem .35rem .8rem; border-bottom: 1px solid #22344d; color: #f0c14b; font-size: .82rem; }
.term-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.term-live-dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: #4ae09a; margin-right: .45rem; vertical-align: middle; }
.term-bar-tools { display: flex; gap: .25rem; }
.term-btn { color: #dbe9fb; border: 1px solid #3a5272; min-width: 44px; min-height: 36px; }
.term-btn:hover, .term-btn:focus-visible { color: #fff; background: #1b2c44; }
.term-exit { display: none; }
.term-body { height: clamp(280px, 52vh, 560px); overflow-y: auto; padding: .6rem .8rem; font-size: .9rem; line-height: 1.4; overscroll-behavior: contain; }
.term-line { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; min-height: 1.2em; }
.term-line.cmd { color: #ffffff; font-weight: 600; }
.term-line.sys { color: #9fb6d3; font-style: italic; }
.term-line.err { color: #ffb4a8; }
.term-line.failed { text-decoration: line-through; opacity: .7; }
.term-retry { margin-left: .5rem; padding: 0 .5rem; color: #fff; border-color: #ffb4a8; }
.term-input-row { display: flex; align-items: center; gap: .4rem; padding: .45rem .5rem .45rem .8rem; border-top: 1px solid #22344d; background: #0b1524; }
.term-wrap.term-linux .term-input-row { background: #1f0f1b; }
.term-input-row .prompt { color: #7fd8ff; white-space: nowrap; max-width: 55%; overflow: hidden; text-overflow: ellipsis; margin: 0; font-size: .9rem; }
.term-input { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; color: #fff; font: inherit; font-size: 16px; /* 16px = no iOS zoom on focus */ padding: .35rem 0; caret-color: #f0c14b; }
.term-input:focus { outline: none; }
.term-input-row:focus-within { box-shadow: inset 0 0 0 2px #3ec7ff; }
.term-send { color: #dbe9fb; border: 1px solid #3a5272; min-width: 44px; min-height: 40px; }
.term-keys, .term-chips { display: flex; gap: .35rem; padding: .4rem .5rem; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; border-top: 1px solid #22344d; }
.tkey, .tchip { flex: 0 0 auto; min-height: 40px; min-width: 44px; padding: .25rem .65rem; border-radius: 8px; border: 1px solid #3a5272; background: #12213a; color: #f2f7ff; font: inherit; font-size: .85rem; touch-action: manipulation; }
.tchip { background: #0d1a2c; color: #bfe6ff; font-size: .8rem; }
.tkey:hover, .tchip:hover, .tkey:focus-visible, .tchip:focus-visible { background: #1d3354; outline: 2px solid #3ec7ff; outline-offset: 1px; }
@media (min-width: 992px) { .term-keys { display: none; } }
/* phone focus mode: fixed overlay sized to the visual viewport, so the keyboard never covers the prompt */
.term-wrap.term-focus { position: fixed; z-index: 1080; left: 0; right: 0; top: var(--vvtop, 0px); height: var(--vvh, 100dvh); border-radius: 0; border-width: 0; }
.term-wrap.term-focus .term-body { height: auto; min-height: 0; max-height: none; flex: 1 1 auto; }   /* r5: the phone min/max-height (novak-ui.css) pushed the input and keys under the keyboard */
.term-wrap.term-focus > :not(.term-body) { flex: 0 0 auto; }
.term-wrap.term-focus.term-short .term-chips { display: none; }   /* keyboard open (short viewport): keep the prompt, keys and Check visible */
.term-wrap.term-focus.term-short .term-bar { padding-top: .15rem; padding-bottom: .15rem; }
.term-wrap.term-focus .term-exit { display: inline-block; }
.term-wrap.term-focus .term-chips { max-height: 3.2rem; }
html.term-focus-on, html.term-focus-on body { overflow: hidden; }
.term-transcript { background: #070e18; color: #dbe9fb; border-radius: 10px; padding: .75rem; max-height: 70vh; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; }

/* ---------- graded steps (activities + checkpoints) */
.lab-steps { display: grid; gap: 1rem; margin-bottom: 1rem; }
.lab-step { border-radius: 12px; }
.lab-step.is-correct { border-color: color-mix(in srgb, var(--success) 60%, transparent); }
.lab-step-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.lab-step-prompt { font-weight: 500; }
.lab-step-actions { display: flex; gap: .5rem; margin-top: .75rem; }
.lab-step-actions .btn { min-height: 44px; }
.lab-feedback { margin-top: .6rem; border-radius: 10px; padding: 0; font-size: .92rem; }
.lab-feedback.ok, .lab-feedback.bad { padding: .55rem .75rem; }
.lab-feedback.ok { background: var(--success-bg, #e6f6ef); color: var(--ink); border-left: 4px solid var(--success); }
.lab-feedback.bad { background: var(--danger-bg, #fdecec); color: var(--ink); border-left: 4px solid var(--danger); }
.mark { font-weight: 700; }
.mark-ok > .mark, .mark-ok .mark { color: color-mix(in srgb, var(--success) 75%, var(--ink)); }
.mark-bad > .mark, .mark-bad .mark { color: var(--danger); }
[data-theme="dark"] .mark-ok .mark { color: var(--success); }
.lab-choices { display: grid; gap: .4rem; border: 0; padding: 0; margin: 0; }
.lab-choice { display: flex; gap: .6rem; align-items: flex-start; padding: .6rem .7rem; border: 1px solid var(--bs-border-color); border-radius: 10px; cursor: pointer; min-height: 44px; background: var(--surface); }
.lab-choice:hover { background: var(--surface-2); }
.lab-choice input { margin-top: .2rem; flex: 0 0 auto; width: 1.15rem; height: 1.15rem; }
.lab-choice.mark-bad { border-color: var(--danger); }
.lab-choice .mark { margin-left: auto; }
.lab-order { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; counter-reset: ord; }
.lab-order-item { display: flex; align-items: center; gap: .5rem; padding: .35rem .4rem .35rem .3rem; border: 1px solid var(--bs-border-color); border-radius: 10px; background: var(--surface); counter-increment: ord; touch-action: pan-y; }
.lab-order-item::before { content: counter(ord); font-family: var(--mono); font-weight: 700; min-width: 1.4rem; text-align: center; color: var(--ink-secondary); }
.lab-order-item.dragging { box-shadow: var(--shadow-lg); outline: 2px solid var(--accent); }
.lab-order-text { flex: 1 1 auto; min-width: 0; }
.lab-handle { cursor: grab; touch-action: none; padding: .5rem .4rem; color: var(--ink-muted); font-weight: 700; user-select: none; min-width: 32px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.lab-mv { min-width: 44px; min-height: 44px; }
.lab-pool { display: flex; flex-wrap: wrap; gap: .45rem; padding: .6rem; border: 2px dashed var(--bs-border-color); border-radius: 12px; min-height: 64px; margin-bottom: .75rem; background: var(--surface-2); }
.lab-pool.armed { border-color: var(--accent); }
.lab-targets { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: .6rem; }
.lab-zone { border: 2px solid var(--bs-border-color); border-radius: 12px; background: var(--surface); display: flex; flex-direction: column; min-height: 92px; }
.lab-zone.armed { border-color: var(--accent); border-style: dashed; }
.lab-zone-btn { background: transparent; border: 0; border-bottom: 1px solid var(--bs-border-color); text-align: left; padding: .5rem .65rem; font-weight: 600; color: var(--ink); min-height: 44px; border-radius: 10px 10px 0 0; }
.lab-zone-btn:not([disabled]):hover, .lab-zone-btn:not([disabled]):focus-visible { background: var(--info-bg, #eaf6fd); }
.lab-zone-btn[disabled] { opacity: 1; cursor: default; }
.lab-zone-items { display: flex; flex-wrap: wrap; gap: .35rem; padding: .45rem; }
.lab-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .6rem; border-radius: 10px; border: 1px solid var(--bs-border-color); background: var(--surface); color: var(--ink); min-height: 44px; text-align: left; font-size: .88rem; max-width: 100%; touch-action: none; }
.lab-chip[aria-pressed="true"] { outline: 3px solid var(--accent); outline-offset: 1px; background: var(--info-bg, #eaf6fd); }
.lab-chip.mark-bad { border-color: var(--danger); }
.lab-chip.mark-ok { border-color: var(--success); }
.lab-chip-svg { flex: 0 0 auto; width: 64px; color: var(--ink); }
.lab-chip-svg svg { width: 64px; height: 42px; display: block; }
.lab-chip-text { min-width: 0; overflow-wrap: anywhere; }
.lab-ghost { position: fixed; z-index: 1100; pointer-events: none; opacity: .9; box-shadow: var(--shadow-lg); }
.lab-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: .65rem; }
.lab-field.wide { grid-column: 1 / -1; }
.lab-field input, .lab-field textarea, .lab-config input[type=text], .lab-config select, .lab-build select { font-size: 16px; min-height: 44px; }
.lab-field.mark-bad input, .lab-field.mark-bad textarea, .lab-config-row.mark-bad input, .lab-config-row.mark-bad select, .lab-build-slot.mark-bad select { border-color: var(--danger); }
.lab-config { display: grid; gap: .65rem; max-width: 640px; }
.lab-config-row.toggle { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem 1rem; }
.lab-config-row.toggle .form-text { grid-column: 1 / -1; }
.lab-switch { width: 3rem !important; height: 1.6rem; margin: 0; }
.lab-secret { font-family: var(--mono); }
.lab-build { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: .65rem; }
.lab-build-total { margin-top: .75rem; font-weight: 700; font-family: var(--mono); }
.lab-build-total.over { color: var(--danger); }
.lab-conn { display: block; }
.lab-cl-steps li { margin-bottom: .35rem; }
.lab-mini { height: .45rem; min-width: 60px; }
.lab-level { display: flex; gap: .4rem; align-items: flex-start; padding: .35rem .45rem; border-radius: 8px; border: 1px solid var(--bs-border-color); margin-bottom: .3rem; min-height: 44px; cursor: pointer; }
.lab-level input { margin-top: .25rem; }
.lab-rubric-crit { border: 0; padding: 0; margin: 0; }
.lab-student-card summary { cursor: pointer; list-style: none; }
.lab-results-cards { display: grid; gap: .5rem; }

/* ---------- Windows 11 desktop */
.w11-desk { --desk-h: 620px; position: relative; height: var(--desk-h); border-radius: 12px; overflow: hidden; color: #10213a;
  background: radial-gradient(120% 90% at 85% 15%, #9ad1ff 0%, #3a7bd5 38%, #1d3f8f 70%, #142a63 100%); border: 1px solid var(--bs-border-color); touch-action: manipulation; }
.w11-icons { position: absolute; left: .5rem; top: .5rem; bottom: 3.5rem; display: grid; grid-auto-rows: min-content; gap: .25rem; width: 88px; z-index: 1; }
.w11-icon { display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .4rem .2rem; border: 0; border-radius: 8px; background: transparent; color: #fff; font-size: .74rem; text-shadow: 0 1px 2px rgba(0,0,0,.6); min-height: 64px; }
.w11-icon i { font-size: 1.6rem; }
.w11-icon:hover, .w11-icon:focus-visible, .w11-icon.running { background: rgba(255,255,255,.18); outline: 2px solid #fff; outline-offset: -2px; }
.w11-taskbar { position: absolute; left: 0; right: 0; bottom: 0; height: 48px; background: rgba(242, 246, 252, .94); display: flex; align-items: center; gap: .25rem; padding: 0 .5rem; z-index: 4; color: #10213a; }
.w11-startbtn, .w11-tb { width: 44px; height: 40px; border: 0; border-radius: 6px; background: transparent; color: #0a4fa8; font-size: 1.2rem; }
.w11-startbtn:hover, .w11-tb:hover, .w11-startbtn:focus-visible, .w11-tb:focus-visible, .w11-tb.running { background: rgba(10,79,168,.12); outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-tb-right { margin-left: auto; font-size: .75rem; font-family: var(--mono); color: #253a57; }
.w11-start { position: absolute; left: .5rem; bottom: 56px; width: min(360px, calc(100% - 1rem)); max-height: calc(100% - 70px); overflow: auto; background: #f4f7fb; color: #10213a; border-radius: 12px; padding: .75rem; box-shadow: 0 16px 40px rgba(0,0,0,.35); z-index: 6; }
.w11-start .form-control { font-size: 16px; min-height: 44px; }
.w11-start-list { display: grid; gap: .2rem; margin-top: .5rem; }
.w11-start-item { display: flex; gap: .6rem; align-items: center; border: 0; background: transparent; color: #10213a; padding: .5rem .55rem; border-radius: 8px; text-align: left; min-height: 44px; }
.w11-start-item:hover, .w11-start-item:focus-visible { background: #dde7f4; outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-win-host { position: absolute; left: 100px; right: .6rem; top: .6rem; bottom: 56px; z-index: 3; display: flex; }
.w11-window { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; background: #f9fbfe; color: #10213a; border-radius: 10px; box-shadow: 0 18px 48px rgba(0,0,0,.35); overflow: hidden; }
.w11-titlebar { display: flex; align-items: center; gap: .35rem; height: 40px; padding: 0 0 0 .7rem; background: #eef3f9; border-bottom: 1px solid #d5dfec; flex: 0 0 auto; }
.w11-title { font-size: .82rem; font-weight: 600; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.w11-close, .w11-back { width: 46px; height: 40px; border: 0; background: transparent; color: #10213a; }
.w11-close:hover, .w11-close:focus-visible { background: #c42b1c; color: #fff; }
.w11-back:hover, .w11-back:focus-visible { background: #dde7f4; }
.w11-status { min-height: 0; font-size: .8rem; padding: 0 .75rem; color: #22446e; background: #eef3f9; border-top: 1px solid #d5dfec; flex: 0 0 auto; }
.w11-status:not(:empty) { padding: .35rem .75rem; }
.w11-settings { display: grid; grid-template-columns: 210px minmax(0, 1fr); flex: 1 1 auto; min-height: 0; }
.w11-nav { padding: .5rem; display: grid; align-content: start; gap: .15rem; border-right: 1px solid #e1e8f2; overflow: auto; }
.w11-nav-item { display: flex; gap: .55rem; align-items: center; border: 0; background: transparent; color: #10213a; padding: .45rem .6rem; border-radius: 6px; text-align: left; font-size: .86rem; min-height: 40px; }
.w11-nav-item.active { background: #e3ecf8; font-weight: 600; box-shadow: inset 3px 0 0 #0a5fc4; }
.w11-nav-item:hover, .w11-nav-item:focus-visible { background: #dde7f4; outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-pane { padding: .75rem 1rem; overflow: auto; min-width: 0; flex: 1 1 auto; }
.w11-h { font-size: 1.15rem; font-weight: 600; margin: 0 0 .75rem; }
.w11-sub { font-size: .95rem; font-weight: 600; margin: .5rem 0; }
.w11-big { font-size: 1.05rem; font-weight: 600; margin-bottom: .25rem; }
.w11-row { display: flex; align-items: center; gap: .7rem; width: 100%; border: 1px solid #e1e8f2; background: #fff; color: #10213a; border-radius: 8px; padding: .55rem .75rem; margin-bottom: .35rem; text-align: left; min-height: 52px; }
.w11-row i:first-child { font-size: 1.15rem; color: #0a4fa8; }
.w11-row:not([disabled]):hover, .w11-row:not([disabled]):focus-visible { background: #f0f5fc; outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-row[disabled] { opacity: 1; color: #4a5d78; cursor: default; }
.w11-row-text { display: flex; flex-direction: column; min-width: 0; }
.w11-row-label { font-size: .9rem; }
.w11-row-sub { font-size: .76rem; color: #4a5d78; }
.w11-kv { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .3rem .75rem; font-size: .86rem; margin: 0 0 .75rem; }
.w11-kv dt { font-weight: 400; color: #4a5d78; }
.w11-kv dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.w11-card { border: 1px solid #e1e8f2; border-radius: 10px; padding: .65rem .75rem; background: #fff; margin-bottom: .6rem; display: grid; gap: .35rem; }
.w11-card-head { display: flex; align-items: center; gap: .5rem; }
.w11-badge { font-size: .72rem; border-radius: 999px; padding: .1rem .5rem; margin-left: auto; }
.w11-badge.on { background: #d7f2e5; color: #0b5a3e; }
.w11-badge.off { background: #f6dede; color: #8a1f1f; }
.w11-card .btn, .w11-cmdbar .btn, .w11-dlg-actions .btn { min-height: 44px; justify-self: start; }
.w11-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); flex: 1 1 auto; min-height: 0; }
.w11-list { overflow: auto; border-right: 1px solid #e1e8f2; }
.w11-svc { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 .6rem; width: 100%; border: 0; border-bottom: 1px solid #edf1f7; background: #fff; color: #10213a; padding: .55rem .75rem; text-align: left; min-height: 52px; font-size: .86rem; }
.w11-svc-type { grid-column: 1 / -1; font-size: .74rem; color: #4a5d78; }
.w11-svc-st { color: #0b5a3e; font-weight: 600; }
.w11-svc.active, .w11-user.active, .w11-ou.active { background: #dce9fa; box-shadow: inset 3px 0 0 #0a5fc4; }
.w11-svc:hover, .w11-svc:focus-visible, .w11-user:hover, .w11-user:focus-visible, .w11-ou:hover, .w11-ou:focus-visible { outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-detail { padding: .75rem 1rem; overflow: auto; min-width: 0; }
.w11-tree, .w11-tree ul { list-style: none; padding-left: 0; margin: 0; }
.w11-tree ul { padding-left: 2.2rem; }
.w11-tree-node { display: flex; gap: .45rem; align-items: center; border: 0; background: transparent; color: #10213a; min-height: 44px; padding: .3rem .4rem; border-radius: 6px; width: 100%; text-align: left; font-size: .88rem; }
.w11-tree-node:hover, .w11-tree-node:focus-visible { background: #e3ecf8; outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-tree-leaf { font-size: .84rem; padding: .3rem 0; }
.w11-adapter { display: flex; gap: .7rem; align-items: center; border: 1px solid #c9d6e8; border-radius: 10px; background: #fff; color: #10213a; padding: .6rem .8rem; text-align: left; min-height: 64px; width: min(100%, 360px); -webkit-touch-callout: none; user-select: none; }
.w11-adapter i { font-size: 1.6rem; color: #0a4fa8; }
.w11-adapter.off { opacity: .75; }
.w11-adapter.off i { color: #6b7d96; }
.w11-adapter.sel { background: #dce9fa; outline: 2px solid #0a4fa8; }
.w11-cmdbar { display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem 0; }
.w11-ctx { position: absolute; z-index: 8; min-width: 200px; background: #fbfcfe; color: #10213a; border: 1px solid #c9d6e8; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.3); padding: .25rem; display: grid; }
.w11-ctx-item { border: 0; background: transparent; color: #10213a; text-align: left; padding: .5rem .75rem; border-radius: 6px; min-height: 44px; font-size: .88rem; }
.w11-ctx-item:hover, .w11-ctx-item:focus-visible { background: #dce9fa; outline: 2px solid #0a4fa8; outline-offset: -2px; }
.w11-ctx-item[disabled] { color: #6b7d96; }
.w11-aduc { display: grid; grid-template-columns: 170px minmax(0, 1fr); flex: 1 1 auto; min-height: 0; }
.w11-aduc-left { border-right: 1px solid #e1e8f2; padding: .5rem; overflow: auto; }
.w11-aduc-right { padding: .5rem .75rem; overflow: auto; min-width: 0; }
.w11-ous { display: grid; gap: .15rem; }
.w11-ou { display: flex; gap: .45rem; align-items: center; border: 0; background: transparent; color: #10213a; padding: .35rem .5rem; min-height: 44px; border-radius: 6px; text-align: left; font-size: .86rem; }
.w11-users { display: grid; gap: .25rem; margin: .5rem 0; }
.w11-user { display: flex; gap: .6rem; align-items: center; border: 1px solid #e1e8f2; background: #fff; color: #10213a; padding: .45rem .65rem; border-radius: 8px; text-align: left; min-height: 52px; -webkit-touch-callout: none; user-select: none; }
.w11-user.off { color: #4a5d78; }
.w11-user i { font-size: 1.2rem; color: #0a4fa8; }
.w11-dialog { border: 1px solid #b9c9df; background: #fff; border-radius: 10px; padding: .65rem .8rem; margin: .5rem 0; box-shadow: 0 6px 18px rgba(0,0,0,.12); display: grid; gap: .35rem; }
.w11-field .form-control, .w11-field .form-select { font-size: 16px; min-height: 40px; }
.w11-dlg-actions { display: flex; gap: .5rem; margin-top: .35rem; }
.w11-window .small, .w11-window .text-muted { color: #4a5d78 !important; }
/* narrow desk (phones, split view): icons in a row on top, full-width window, Settings nav behind Back */
.w11-desk.narrow .w11-icons { right: .5rem; bottom: auto; width: auto; grid-auto-flow: column; grid-auto-columns: minmax(64px, 1fr); grid-auto-rows: auto; }
.w11-desk.narrow .w11-icon { min-height: 60px; font-size: .68rem; line-height: 1.1; text-align: center; }
.w11-desk.narrow .w11-win-host { left: .35rem; right: .35rem; top: .35rem; bottom: 52px; }
.w11-desk.narrow .w11-settings { grid-template-columns: minmax(0, 1fr); }
.w11-desk.narrow .w11-settings.in-pane .w11-nav { display: none; }
.w11-desk.narrow .w11-settings:not(.in-pane) .w11-pane { display: none; }
.w11-desk.narrow .w11-settings:not(.in-pane) .w11-nav { border-right: 0; }
.w11-desk.narrow .w11-nav-item { min-height: 48px; font-size: .95rem; }
.w11-desk.narrow .w11-split, .w11-desk.narrow .w11-aduc { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
.w11-desk.narrow .w11-list { border-right: 0; border-bottom: 1px solid #e1e8f2; max-height: 50%; }
.w11-desk.narrow .w11-aduc-left { border-right: 0; border-bottom: 1px solid #e1e8f2; }
.w11-desk.narrow .w11-ous { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; }
.w11-desk.narrow .w11-kv { grid-template-columns: minmax(0, 1fr); gap: 0; }
.w11-desk.narrow .w11-kv dd { margin-bottom: .35rem; }
.w11-desk.short .w11-icon i { font-size: 1.2rem; }
.w11-desk.short .w11-icon { min-height: 48px; }
@media (prefers-reduced-motion: reduce) { .lab-toast, .lab-toast.show, .lab-toast:not(.show) { transition: none; } }
/* instructor: process log */
.lab-events { padding-left: 1.2rem; max-height: 420px; overflow: auto; }
.lab-events li { margin-bottom: .2rem; overflow-wrap: anywhere; }
.lab-events code { white-space: pre-wrap; }
.term-keys .tkey-check { background: var(--brand, #0a5fc4); color: #fff; font-weight: 600; }

/* ---------- real VM labs: machine tabs, packets panel */
.vm-screen .ln, .vm-packets .ln { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; min-height: 1.2em; }
.vm-screen[hidden], .vm-packets[hidden] { display: none !important; }
#vmTools[hidden] { display: none !important; }   /* r5: Bootstrap's .d-flex (!important) showed Check / Save / Reset before the VM had booted */
.vm-tabs { display: flex; gap: .25rem; padding: .3rem .5rem 0; border-bottom: 1px solid #22344d; overflow-x: auto; scrollbar-width: thin; }
.vm-tab { flex: 0 0 auto; min-height: 40px; min-width: 44px; padding: .3rem .8rem; border: 1px solid #3a5272; border-bottom: 0; border-radius: 8px 8px 0 0;
  background: #0d1a2c; color: #bfe6ff; font: inherit; font-size: .85rem; touch-action: manipulation; }
.vm-tab[aria-selected="true"] { background: #1d3354; color: #fff; font-weight: 600; box-shadow: inset 0 -3px 0 #f0c14b; }
.vm-tab:focus-visible { outline: 2px solid #3ec7ff; outline-offset: 1px; }
.vm-packets { font-size: .8rem; color: #cfe3ff; }
.vm-packets .pk { border-bottom: 1px dotted #1d2d44; padding: .1rem 0; }
.vm-topology { overflow-wrap: anywhere; }
.term-wrap.term-focus .vm-tabs { flex: 0 0 auto; }

/* The simulated Windows 11 desktop keeps Windows' own light palette in the site's dark theme: undo the theme's
   forced light ink on text elements (novak-theme.css) inside the desk so it inherits the window colours. */
[data-theme="dark"] .w11-desk :is(h1, h2, h3, h4, h5, h6, p, li, td, th, dt, dd, label, .table, .form-label, .form-check-label) { color: inherit !important; }
/* lab scenarios (PBQ tickets) */
.lab-kind-scenario { background: color-mix(in srgb, #7048e8 16%, var(--surface)); color: color-mix(in srgb, #7048e8 50%, var(--ink)); }
[data-theme="dark"] .lab-kind-scenario { color: var(--ink); }
.scn-stage.resolved { border-left: 4px solid #2b8a3e; }
.pbq-note { color: var(--ink); }

/* instructor-only "Pending SME review" tag on labs added in the labs overhaul */
.lab-sme-tag { display: inline-block; font-size: .7rem; font-weight: 600; line-height: 1.3; padding: .05rem .4rem; margin-left: .35rem;
  border: 1px solid currentColor; border-radius: .25rem; color: var(--bs-secondary-color, #555); vertical-align: middle; white-space: nowrap; }
/* the theme's light alert-success text (#0d9f6e on #e4f8f1) is ~3.2:1; darker text for the scenario's resolved banner (~6.6:1) */
html:not([data-theme="dark"]) .scn-resolved { color: #08603f; }

/* r5: in-terminal note (hint / check results) so phone users never leave the full-screen terminal to read them */
.term-note { position: relative; flex: 0 0 auto; max-height: 38%; overflow-y: auto; margin: 0; padding: .5rem 2.6rem .5rem .8rem; border-top: 1px solid #22344d;
  background: #10233b; color: #f2f7ff; font-size: .85rem; line-height: 1.35; overflow-wrap: anywhere; }
.term-note[hidden] { display: none !important; }
.term-note.ok { background: #0b3d2c; }
.term-note.bad { background: #3a1c1c; }
.term-note .term-note-title { font-weight: 600; margin-bottom: .15rem; }
.term-note ul { margin: 0; padding-left: 1.1rem; }
.term-note .term-note-x { position: absolute; top: .2rem; right: .25rem; min-width: 40px; min-height: 40px; border: 0; background: transparent; color: #dbe9fb; font-size: 1.2rem; }
.term-note .term-note-x:focus-visible { outline: 2px solid #3ec7ff; }
.tkey-hint { color: #ffe08a; }
/* Option B pass 1: packet walk + hardware / cable bench */
.pf-svg,.hwb-svg{width:100%;height:auto;display:block}
.pf-node{fill:var(--bs-body-bg,#fff);stroke:currentColor;stroke-width:1.5}
.pf-label{font-size:10px;fill:currentColor}
.pf-link{stroke:#8a94a6;stroke-width:3;stroke-dasharray:4 3}
.pf-ok{stroke:#1a7f37;stroke-dasharray:none}
.pf-bad,.pf-cut{stroke:#b42318}
.pf-dot-ok{fill:#1a7f37}.pf-dot-bad{fill:#b42318}
.pf-hops{padding-left:1.1rem}
.pf-bad-text,.hwb-bad{color:#b42318;font-weight:600}
[data-theme=dark] .pf-bad-text,[data-theme=dark] .hwb-bad{color:#ff8a80}
.hwb-board{fill:#0f3d2e;stroke:#0a2a20}
.hwb-slot rect{fill:#c9d1d9;stroke:#2b3440;cursor:pointer}
.hwb-slot:focus rect,.hwb-slot:hover rect{stroke:#f2c14e;stroke-width:2}
.hwb-filled rect{fill:#7ee2a8}
.hwb-slot-label{font-size:7px;fill:#fff}
.hwb-ends{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem}
.hwb-end{border:1px solid var(--bs-border-color,#ccd);border-radius:.4rem;padding:.4rem}
.hwb-pin{display:grid;grid-template-columns:3.2rem 1fr;align-items:center;gap:.3rem;margin-bottom:.15rem}

/* ---- css/mastery.css ---- */
/* ---- Adaptive mastery (pass 11). Mobile-first; colours meet WCAG AA in light and dark; 44px targets. ---- */
.mx-muted { color: var(--ink-muted); }
.mx-code { font-family: var(--mono); font-size: .85em; font-weight: 600; white-space: nowrap; }
.mx-chip { display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; padding: .15rem .6rem; font-size: .8rem; font-weight: 600; border: 1px solid transparent; white-space: nowrap; }
.mx-glyph { font-weight: 800; min-width: .8em; text-align: center; }
.mx-conf { font-weight: 500; }
.mx-s-mastered { background: #e4f8f1; color: #0a5c40; border-color: #9fdcc4; }
.mx-s-developing { background: #fff4df; color: #6b4200; border-color: #f0cf8a; }
.mx-s-review { background: #fdecec; color: #9b1f1f; border-color: #f1b1b1; }
.mx-s-not_started { background: var(--surface-2); color: #3d4f66; border-color: var(--surface-3); }
.mx-s-waived { background: #eeebf8; color: #47398a; border-color: #cbc3ec; }
[data-theme="dark"] .mx-s-mastered { background: #10352a; color: #9ff3cf; border-color: #2a6b52; }
[data-theme="dark"] .mx-s-developing { background: #3a2e0c; color: #f8dc84; border-color: #6e5a1c; }
[data-theme="dark"] .mx-s-review { background: #42191a; color: #ffbcb1; border-color: #7d3a36; }
[data-theme="dark"] .mx-s-not_started { background: #162235; color: #c7d4e5; border-color: #24364f; }
[data-theme="dark"] .mx-s-waived { background: #2a2450; color: #d8d0ff; border-color: #4f4590; }

.mx-badge { display: inline-block; border-radius: 6px; padding: .05rem .45rem; font-size: .75rem; font-weight: 700; background: var(--info-bg); color: #0b4f73; border: 1px solid #9cd3ee; }
.mx-badge-req { background: #fdecec; color: #9b1f1f; border-color: #f1b1b1; }
[data-theme="dark"] .mx-badge { background: #10283a; color: #b6e6ff; border-color: #2d5f80; }
[data-theme="dark"] .mx-badge-req { background: #42191a; color: #ffbcb1; border-color: #7d3a36; }
.mx-demo-note { font-size: .8rem; color: #6b4200; }
[data-theme="dark"] .mx-demo-note { color: #f8dc84; }

/* "Why am I seeing this?" */
.mx-why { border: 1px solid var(--surface-3); border-radius: var(--radius-sm); background: var(--surface-2); margin-top: .5rem; }
.mx-why > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .4rem; padding: .35rem .75rem; font-weight: 600; color: var(--ink); list-style: none; }
.mx-why > summary::-webkit-details-marker { display: none; }
.mx-why > summary::after { content: "▸"; margin-left: auto; transition: transform .15s; }
.mx-why[open] > summary::after { transform: rotate(90deg); }
.mx-why > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: var(--radius-sm); }
.mx-why-body { padding: 0 .9rem .75rem; color: var(--ink); font-size: .9rem; }
.mx-why-body ul { padding-left: 1.1rem; }

/* Path card */
.mx-path .mx-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.mx-step { display: grid; grid-template-columns: 2.5rem 1fr; gap: .2rem .75rem; align-items: start; padding: .7rem .8rem; border: 1px solid var(--surface-3); border-radius: var(--radius-sm); background: var(--surface); }
.mx-step.mx-step-req { border-left: 4px solid #c43636; }
.mx-step-icon { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-size: 1.15rem; }
.mx-step-title { font-weight: 700; color: var(--ink); line-height: 1.3; }
.mx-step-detail { font-size: .85rem; color: var(--ink-muted); }
.mx-step-body { min-width: 0; }
.mx-step > .mx-step-go { grid-column: 1 / -1; justify-self: start; min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) {
  .mx-step { grid-template-columns: 2.5rem 1fr auto; }
  .mx-step > .mx-step-go { grid-column: auto; justify-self: end; }
}
.mx-step.current { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }

/* Lesson gate banner */
.mx-gate { border: 1px solid #f0cf8a; background: #fff8e8; color: #3d2a00; border-radius: var(--radius-sm); padding: .8rem 1rem; margin-bottom: 1rem; }
[data-theme="dark"] .mx-gate { background: #2b230c; border-color: #6e5a1c; color: #f5ecd0; }
.mx-gate .btn { min-height: 44px; }

/* Objectives list (student) */
.mx-obj-row { display: flex; flex-wrap: wrap; gap: .4rem .75rem; align-items: center; justify-content: space-between; padding: .6rem 0; border-bottom: 1px solid var(--surface-3); }
.mx-obj-row:last-child { border-bottom: 0; }

/* Review page */
.mx-frame { border-left: 4px solid var(--accent); background: var(--surface-2); padding: .75rem 1rem; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-bottom: 1rem; color: var(--ink); }
.mx-block { margin-bottom: 1.25rem; }
.mx-excerpt { border: 1px solid var(--surface-3); border-radius: var(--radius-sm); padding: .9rem 1rem; background: var(--surface); overflow-wrap: anywhere; }
.mx-excerpt img, .mx-excerpt table { max-width: 100%; }
/* tables scroll inside the .ui-table-wrap that base.html adds (focusable when it scrolls) */
.mx-gloss dt { font-weight: 700; color: var(--ink); }
.mx-gloss dd { margin: 0 0 .5rem; color: var(--ink); }
.mx-q { border: 1px solid var(--surface-3); border-radius: var(--radius-sm); padding: .75rem 1rem; margin-bottom: .9rem; }
.mx-q legend { font-size: 1rem; font-weight: 600; float: none; width: auto; padding: 0; margin-bottom: .4rem; color: var(--ink); }
.mx-opt { min-height: 44px; display: flex; align-items: center; gap: .5rem; padding-left: 2rem; margin: 0; }
.mx-opt .form-check-input { margin-top: 0; width: 1.25rem; height: 1.25rem; }
.mx-opt label { flex: 1; padding: .45rem 0; cursor: pointer; }
.mx-results { list-style: none; padding: 0; }
.mx-results li { padding: .4rem 0; border-bottom: 1px solid var(--surface-3); }

/* Instructor heatmap */
.mx-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 992px) { .mx-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mx-legend { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; }
.mx-heat-wrap { overflow: auto; max-height: 70vh; border-top: 1px solid var(--surface-3); }
.mx-heat-wrap:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.mx-heat { border-collapse: separate; border-spacing: 2px; font-size: .8rem; min-width: 100%; }
.mx-heat thead th { position: sticky; top: 0; background: var(--surface); z-index: 2; font-family: var(--mono); font-weight: 600; white-space: nowrap; padding: .35rem .25rem; color: var(--ink); text-align: center; }
.mx-heat .mx-heat-name { position: sticky; left: 0; background: var(--surface); z-index: 1; text-align: left; white-space: nowrap; padding: 0 .5rem; font-weight: 600; max-width: 11rem; overflow: hidden; text-overflow: ellipsis; }
.mx-heat thead .mx-heat-name { z-index: 3; }
.mx-heat td { padding: 0; }
.mx-heat .mx-heat-name a { display: inline-flex; align-items: center; min-height: 44px; }
.mx-cell { min-width: 2.9rem; min-height: 44px; width: 100%; border-radius: 6px; font-weight: 700; font-variant-numeric: tabular-nums; position: relative; padding: 0 .2rem; border-width: 1px; border-style: solid; }
.mx-cell:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; z-index: 1; }
.mx-cell:hover { filter: brightness(.96); }
.mx-flag { display: inline-block; font-size: .62rem; font-weight: 800; line-height: 1; padding: .1rem .2rem; margin-left: .15rem; border-radius: 3px; background: var(--ink); color: var(--surface); vertical-align: super; }
.mx-legend .mx-flag { vertical-align: baseline; }
/* Pass 14: stuck cells (two reviews done, nothing more inserted). Letter flag plus a dashed outline, so it is not colour alone. */
.mx-flag-stuck { background: #9b1f1f; color: #fff; }
.mx-cell-stuck { outline: 2px dashed #9b1f1f; outline-offset: -4px; }
[data-theme="dark"] .mx-flag-stuck { background: #ffbcb1; color: #2a0d0d; }
[data-theme="dark"] .mx-cell-stuck { outline-color: #ffbcb1; }
.mx-evid td { vertical-align: top; }
@media (max-width: 575.98px) {
  .mx-heat-wrap { max-height: none; }
  .mx-heat .mx-heat-name { max-width: 7.5rem; }
}

/* Daily review, quick check, plan, who needs me */
.mx-wide { width: 100%; min-height: 48px; }
@media (min-width: 576px) { .mx-wide { width: auto; } }
.mx-daily-q legend { font-size: 1.02rem; }
.mx-daily-card { border-left: 4px solid var(--accent); }
.mx-quick .mx-q legend { font-size: 1rem; }
.mx-quick-result:focus { outline: none; }
.mx-quick-result:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.mx-struggle { border: 1px solid var(--surface-3); border-left: 4px solid var(--accent); border-radius: var(--radius-sm); padding: .75rem 1rem; background: var(--surface-2); color: var(--ink); }
.mx-struggle .btn { min-height: 44px; }
.mx-mc { border-left-color: #c43636; }
.mx-weeks { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.mx-week { border: 1px solid var(--surface-3); border-radius: var(--radius-sm); padding: .55rem .75rem; }
.mx-need .btn { min-height: 44px; display: inline-flex; align-items: center; gap: .3rem; }
.mx-need input[type="date"] { min-height: 44px; }
.mx-reasons { padding-left: 0; list-style: none; }
.mx-reasons li { padding: .2rem 0; }
.mx-obj-row .btn { min-height: 44px; display: inline-flex; align-items: center; }

/* long action titles wrap instead of overflowing on phones */
.mx-btn-wrap { white-space: normal; max-width: 100%; text-align: start; }
/* links inside the "why" panel: Bootstrap's default blue is 4.2:1 on the panel tint */
html:not([data-theme="dark"]) .mx-why-body a { color: #0a58ca; }

/* instructor mastery pages: every control is a 44 px target (WCAG 2.5.8 / site_audit) */
.mx-page .btn-sm { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; }
.mx-page .mx-heat-name a { display: inline-flex; align-items: center; min-height: 44px; }

/* lab process diagnosis (instructor student page) */
.mx-labdx-list { list-style: none; padding-left: 0; display: grid; gap: .6rem; }
.mx-labdx-list > li { border-left: 3px solid var(--surface-3); padding-left: .7rem; }

/* Briefing (pass 12) */
.mx-todo-item { display: list-item; }
.mx-todo-item::marker { font-weight: 700; }
.mx-todo-body { display: inline-block; width: calc(100% - 2rem); vertical-align: top; }
.mx-rt-q { border-left: 3px solid var(--accent); padding-left: .7rem; }
.mx-brief-text { font-family: var(--bs-font-monospace, monospace); font-size: .85rem; }
.mx-brief .btn-sm { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; }
@media print {
  .mx-noprint, .mobile-tabbar, .ui-sidebar, nav.navbar, footer, .staff-rail, .teach-timer { display: none !important; }
  .mx-brief .card { break-inside: avoid; box-shadow: none; border: 1px solid #999; }
  .mx-brief details { display: block; }
  .mx-brief details > summary { list-style: none; font-weight: 700; }
  .mx-brief details:not([open]) > .mx-why-body { display: block; }
  .mx-brief .page-hero { background: none !important; color: #000 !important; border: 0; padding: 0; }
  .mx-brief .page-hero * { color: #000 !important; }
}

/* pass 13: first-run setup checklist (instructor) and one-time student introduction; mobile-first */
.setup-list { display: grid; gap: .75rem; }
.setup-item { border: 1px solid var(--surface-4); border-radius: .5rem; padding: .75rem; background: var(--surface); }
.setup-item.is-done { background: var(--surface-2); }
.setup-item-head { display: flex; gap: .6rem; align-items: flex-start; }
.setup-item-head > .bi { font-size: 1.15rem; line-height: 1.3; flex: 0 0 auto; }
.setup-item-text { min-width: 0; flex: 1 1 auto; }
.setup-item .btn, .intro-card .btn { min-height: 44px; display: inline-flex; align-items: center; }
.intro-card { border-left: 4px solid var(--accent); }
.intro-list { padding-left: 1.1rem; display: grid; gap: .4rem; }
.intro-list li { overflow-wrap: anywhere; }
@media (min-width: 768px) { .setup-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- css/ladder.css ---- */
/* Explanation ladder (pass 19): in-place, per-student re-explanation of lesson sections. Mobile first. */
.ladder { position: relative; margin: 0 0 1.25rem; }
.ladder-intro { background: var(--info-bg); border-radius: var(--radius-sm); padding: .5rem .75rem; color: var(--ink-secondary); }
.ladder-rung { border-left: 4px solid #0b6e99; padding-left: .85rem; }
.ladder-k-analogy .ladder-rung { border-left-color: #7b3fa0; }
.ladder-k-visual .ladder-rung { border-left-color: #0d7a52; }
.ladder-k-try .ladder-rung { border-left-color: #a35200; }
.ladder-label { margin: 0 0 .35rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.ladder-label:focus { outline: 2px solid #0b6e99; outline-offset: 2px; }
.ladder-badge { display: inline-flex; gap: .3rem; align-items: center; border-radius: 999px; padding: .1rem .6rem; font-size: .8rem; font-weight: 700;
  background: #e3f3fb; color: #0a4c6b; border: 1px solid #8fcbe6; }
.ladder-k-analogy .ladder-badge { background: #f3e9f9; color: #5a2577; border-color: #cfa8e3; }
.ladder-k-visual .ladder-badge { background: #e2f5ec; color: #0a5c3d; border-color: #93d3b5; }
.ladder-k-try .ladder-badge { background: #fff0e0; color: #7a3d00; border-color: #f0bd85; }
.ladder-review { font-size: .75rem; color: var(--ink-muted); }
.ladder-title { font-weight: 600; margin-bottom: .4rem; }
.ladder-panel { margin-top: .6rem; padding: .75rem; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--surface-3); }
.ladder-check fieldset { margin: 0 0 .5rem; }
.ladder-check legend { font-size: 1rem; font-weight: 600; margin-bottom: .35rem; }
.ladder-check-tag { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--ink-muted); }
.ladder-opt { padding: .35rem .25rem .35rem 1.9rem; border-radius: 8px; min-height: 44px; display: flex; align-items: center; }
.ladder-opt:hover { background: var(--surface-3); }
.ladder-opt .form-check-input { margin-top: 0; margin-right: .5rem; }
.ladder-tools { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-top: .5rem; }
.ladder-tools .btn { min-height: 44px; }
.ladder-submit { min-height: 44px; min-width: 6rem; }
.ladder-feedback:empty { display: none; }
.ladder-feedback { padding: .5rem .65rem; border-radius: 8px; margin-bottom: .5rem; }
.ladder-feedback.is-ok { background: var(--success-bg); color: #075c40; }
.ladder-feedback.is-miss { background: var(--warning-bg); color: #6b4300; }
.ladder-ok { color: #075c40; }
.ladder-note { color: var(--ink-secondary); }
.ladder-seen summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.ladder-helix { margin-top: .5rem; padding: .6rem .75rem; border-radius: 8px; background: var(--info-bg); border: 1px solid #9cd3ee; }
.ladder-svg { max-width: 100%; height: auto; color: var(--ink); }
.ladder-svg text { fill: currentColor; font-family: var(--font); }
.ladder-trace { counter-reset: none; padding-left: 1.4rem; }
.ladder-trace li { margin-bottom: .35rem; }
.ladder-widget { margin: .75rem 0; padding: .65rem .75rem; border: 1px dashed var(--surface-4); border-radius: 10px; }
.ladder-order { padding-left: 1.4rem; }
.ladder-order li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .35rem; padding: .3rem 0; border-bottom: 1px solid var(--surface-3); }
.ladder-move { display: inline-flex; gap: .25rem; }
.ladder-move .btn { min-height: 44px; min-width: 44px; }
.ladder-sort li { margin-bottom: .45rem; }
.ladder-w-done:empty { display: none; }
.ladder-w-done { margin-top: .5rem; padding: .45rem .6rem; border-radius: 8px; background: var(--surface-2); }
.ladder-reveal summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.ladder-bar { display: inline-block; width: 4.5rem; height: .55rem; border-radius: 999px; background: var(--surface-3); vertical-align: middle; overflow: hidden; }
.ladder-bar > span { display: block; height: 100%; background: #0b6e99; }
.ladder-prof li { display: flex; flex-wrap: wrap; gap: .5rem; padding: .3rem 0; border-bottom: 1px solid var(--surface-3); }
.ladder-prof-k { font-weight: 600; min-width: 14rem; }
.ladder-recap summary { cursor: pointer; min-height: 44px; }
.ladder-pv { border-top: 1px solid var(--surface-3); padding-top: .5rem; }
/* the swap: old explanation fades and slides out, the new one fades in (no motion when reduced motion is asked for) */
.ladder-leaving { opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; }
.ladder-entering { animation: ladder-in .35s ease both; }
@keyframes ladder-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ladder-leaving { transition: none; } .ladder-entering { animation: none; } }
@media (min-width: 768px) { .ladder-panel { padding: .85rem 1rem; } }
[data-theme="dark"] .ladder-rung { border-left-color: #5cc3ee; }
[data-theme="dark"] .ladder-k-analogy .ladder-rung { border-left-color: #c79be0; }
[data-theme="dark"] .ladder-k-visual .ladder-rung { border-left-color: #6fd6a8; }
[data-theme="dark"] .ladder-k-try .ladder-rung { border-left-color: #f2a65a; }
[data-theme="dark"] .ladder-badge { background: #10283a; color: #b6e6ff; border-color: #2d5f80; }
[data-theme="dark"] .ladder-k-analogy .ladder-badge { background: #2c1838; color: #e7c9f5; border-color: #6c4585; }
[data-theme="dark"] .ladder-k-visual .ladder-badge { background: #0d3324; color: #a9ecca; border-color: #2f7556; }
[data-theme="dark"] .ladder-k-try .ladder-badge { background: #3a2408; color: #ffd2a1; border-color: #8a5a22; }
[data-theme="dark"] .ladder-feedback.is-ok { color: #9cf0c9; }
[data-theme="dark"] .ladder-feedback.is-miss { color: #ffd978; }
[data-theme="dark"] .ladder-ok { color: #9cf0c9; }
[data-theme="dark"] .ladder-helix { border-color: #2d5f80; }
[data-theme="dark"] .ladder-bar > span { background: #5cc3ee; }
[data-theme="dark"] .ladder-label:focus { outline-color: #5cc3ee; }

.ladder-intro a, .ladder-tools .btn-link, .ladder-seen .btn-link { color: #0a4c6b; text-decoration: underline; }
[data-theme="dark"] .ladder-intro a, [data-theme="dark"] .ladder-tools .btn-link, [data-theme="dark"] .ladder-seen .btn-link { color: #9fdcff; }
.ladder-badge.ladder-badge-orig { background: var(--surface-2); color: var(--ink-secondary); border-color: var(--surface-4); }
/* comprehension gate */
.ladder-gate{border:1px solid var(--bs-border-color);border-left:4px solid var(--accent,#0d6efd);border-radius:.5rem;padding:.75rem 1rem;margin-top:1rem;background:transparent;color:inherit}
.ladder-gate.is-done{border-left-color:#198754}
.ladder-gate-bar{height:.5rem;background:var(--bs-secondary-bg);border-radius:.25rem;overflow:hidden;margin:.35rem 0}
.ladder-gate-bar>span{display:block;height:100%;background:var(--accent,#0d6efd)}
.ladder-gate.is-done .ladder-gate-bar>span{background:#198754}
.ladder-gate-list{padding-left:1.1rem}
.ladder-lock{border:1px dashed currentColor;border-radius:.4rem;padding:.4rem .7rem;margin:.5rem 0;font-weight:600;color:inherit;background:transparent}
.ladder-anchor{display:block;scroll-margin-top:5rem}
.ladder-gate-bar>span.pf-w-0{width:0%}
.ladder-gate-bar>span.pf-w-5{width:5%}
.ladder-gate-bar>span.pf-w-10{width:10%}
.ladder-gate-bar>span.pf-w-15{width:15%}
.ladder-gate-bar>span.pf-w-20{width:20%}
.ladder-gate-bar>span.pf-w-25{width:25%}
.ladder-gate-bar>span.pf-w-30{width:30%}
.ladder-gate-bar>span.pf-w-35{width:35%}
.ladder-gate-bar>span.pf-w-40{width:40%}
.ladder-gate-bar>span.pf-w-45{width:45%}
.ladder-gate-bar>span.pf-w-50{width:50%}
.ladder-gate-bar>span.pf-w-55{width:55%}
.ladder-gate-bar>span.pf-w-60{width:60%}
.ladder-gate-bar>span.pf-w-65{width:65%}
.ladder-gate-bar>span.pf-w-70{width:70%}
.ladder-gate-bar>span.pf-w-75{width:75%}
.ladder-gate-bar>span.pf-w-80{width:80%}
.ladder-gate-bar>span.pf-w-85{width:85%}
.ladder-gate-bar>span.pf-w-90{width:90%}
.ladder-gate-bar>span.pf-w-95{width:95%}
.ladder-gate-bar>span.pf-w-100{width:100%}

/* flow polish: rung progress pill, continue chip, unlock reveal */
.ladder-steps{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0;margin:.5rem 0 .25rem;font-size:.75rem;font-weight:700}
.ladder-steps li{border:1px solid currentColor;border-radius:999px;padding:.05rem .5rem;line-height:1.4}
.ladder-steps li+li::before{content:"→";margin-right:.35rem;font-weight:400}
.ladder-steps .ls-todo{border-style:dashed;font-weight:400}
.ladder-steps .ls-current{border-width:2px;box-shadow:0 0 0 2px var(--accent,#0d6efd)}
.ladder-steps .ls-resolved{border-color:#198754;border-width:2px}
.ladder-swapbadge{font-weight:700}
.ladder-continue{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.45rem .9rem;margin:.25rem 0 .5rem;border-radius:999px;border:2px solid currentColor;font-weight:700;text-decoration:none;color:inherit}
.ladder-continue:hover,.ladder-continue:focus{text-decoration:underline}
.ladder-unlocked{animation:ladderReveal .6s ease-out}
@keyframes ladderReveal{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ladder-unlocked{animation:none}}
/* Why this student is struggling + What finally clicked */
.why-card{border:1px solid var(--bs-border-color);border-left:4px solid var(--accent,#0d6efd);border-radius:.5rem;padding:.6rem .8rem;margin:.5rem 0}
.why-pills{display:flex;flex-wrap:wrap;gap:.3rem}
.why-pill{display:inline-flex;gap:.3rem;align-items:center;border:1px solid currentColor;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;color:inherit;text-decoration:none}
a.why-pill:hover{text-decoration:underline}
.clicked-badge{display:inline-flex;gap:.35rem;align-items:center;border:2px solid #198754;border-radius:999px;padding:.2rem .7rem;font-weight:700}
.lpa-cta{white-space:normal;text-align:left}
.ladder-topstatus{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.45rem .75rem;margin:0 0 1rem}
.ladder-topcount{font-weight:700}
.why-grid{display:grid;grid-template-columns:7.5rem 1fr;gap:.3rem .75rem;margin:0}
.why-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;padding-top:.15rem}
.why-grid dd{margin:0;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
@media (max-width:575.98px){.why-grid{grid-template-columns:1fr}.why-grid dt{padding-top:.4rem}}

/* ---- css/institutional.css ---- */
.tenant-banner{padding:.4rem 1rem;font-weight:600;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.tenant-banner img{max-height:28px;width:auto}
.tenant-logo{max-height:48px;width:auto}
.inst-signin{max-width:36rem}
.inst-grid,.oc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem}
.inst-urls dt{font-weight:600;margin-top:.5rem}
.inst-urls dd{margin:0;overflow-wrap:anywhere}
.inst-urls code,.inst-table code{overflow-wrap:anywhere}
.oc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}
.oc-num{font-size:2rem;font-weight:700;line-height:1.1}
.sso-picker{border-top:1px solid var(--bs-border-color);padding-top:1rem;margin-top:1rem}
@media print{.oc-grid,.oc-kpis{display:block}.oc-grid .card,.oc-kpis .card{break-inside:avoid;margin-bottom:.5rem}}
@media print{.oc-objs{font-size:9pt}.oc-objs th,.oc-objs td{padding:.15rem .3rem}.oc-objs tr{break-inside:avoid}.no-print,.navbar,footer,.staff-rail,.tabbar{display:none!important}}
