@charset "UTF-8";/*!
 * Bootstrap  v5.3.6 (https://getbootstrap.com/)
 * Copyright 2011-2025 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;line-height:inherit;font-size:calc(1.275rem + .3vw)}@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-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@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::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;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);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::placeholder,.form-floating>.form-control::placeholder{color:transparent}.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;padding-left:.75rem}.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{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(: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>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.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}.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(-1 * var(--bs-border-width));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.1'/%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.1'/%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(-1 * var(--bs-border-width))}.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(-1 * var(--bs-border-width))}.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:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.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-grow:1;flex-basis:0;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-grow:1;flex-basis:100%;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 5 6 6 6-6'/%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 5 6 6 6-6'/%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-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{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-.708'/%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-.708'/%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(-1 * var(--bs-border-width))}.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:var(--bs-progress-height)}}.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{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-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):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:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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.414'/%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;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;filter:var(--bs-btn-close-filter);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{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.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:var(--bs-body-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{transform:translate(0,-50px);transition:transform .3s ease-out}@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-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left: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;filter:var(--bs-carousel-control-icon-filter);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 0'/%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-.708'/%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:var(--bs-carousel-indicator-active-bg);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:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.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-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left: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}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!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}}
/*# sourceMappingURL=bootstrap.min.css.map */
/*
 * Shared Utility Styles
 * Common styles used across multiple pages/components
 */

/* ============================================
 * Breadcrumb Utilities
 * ============================================
 * Usage: Add 'breadcrumb-custom' class to breadcrumb <ol> element
 *
 * Example:
 * <ol class="breadcrumb breadcrumb-custom mb-0">
 *   <li class="breadcrumb-item"><a href="/">Home</a></li>
 *   <li class="breadcrumb-item">Current Page</li>
 * </ol>
 */

.breadcrumb-custom {
    flex-wrap: nowrap !important;
}

.breadcrumb-custom .breadcrumb-item {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

.breadcrumb-custom .breadcrumb-item:last-child {
    flex-shrink: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* ============================================
 * Table Column Utilities
 * ============================================
 * Utilities for handling long text in table cells
 */

.table-cell-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Form name column - takes remaining space after fixed columns */
.table-col-form-name {
    width: 100%;
    max-width: 0;
    overflow: hidden;
}

/* ============================================
 * Text Truncation Utilities
 * ============================================
 * For truncating text with ellipsis in flex containers
 */

.text-truncate-flex {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Flex container for icon + truncated text */
.flex-truncate-container {
    display: flex;
    align-items: center;
    min-width: 0;
}

.flex-truncate-container > .flex-shrink-0 {
    flex-shrink: 0;
}

.flex-truncate-container > .text-truncate {
    flex: 1;
    min-width: 0;
}

@media (min-width: 576px) {
    .w-sm-auto {
        width: auto !important;
    }
}

/* ============================================
 * Source-document limit alerts
 * ============================================
 * Inline, dismissible warnings shown when attached fill sources exceed the
 * page or file-count soft/hard limits. The warm palette matches the
 * upload-sources demo-box, shared by the fill page and the guest-fill page.
 */

.source-alerts {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.source-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.4;
    animation: source-alert-in 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.source-alert--warning {
    background: rgb(255 251 235);
    border-color: rgb(253 230 138);
    color: rgb(120 53 15);
}

.source-alert--danger {
    background: rgb(254 242 242);
    border-color: rgb(254 202 202);
    color: rgb(127 29 29);
}

.source-alert__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    fill: none;
}

.source-alert--warning .source-alert__icon {
    stroke: rgb(217 119 6);
}

.source-alert--danger .source-alert__icon {
    stroke: rgb(220 38 38);
}

.source-alert__body {
    flex: 1;
    min-width: 0;
}

.source-alert__support {
    display: block;
    margin-top: 0.25rem;
}

.source-alert__support a {
    color: inherit;
    font-weight: 500;
    text-decoration: underline;
}

.source-alert__close {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 0.75rem;
}

@keyframes source-alert-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .source-alert {
        animation: none;
    }
}

/* ============================================
 * Request to Fill Modal
 * ============================================ */

#requestToFillModal .form-control::placeholder {
    color: var(--bs-gray-500);
}

#requestToFillModal .form-control:disabled::placeholder {
    color: transparent;
}

/* ============================================
 * Guest Fill Request Banner
 * ============================================ */

.guest-request-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--bs-primary-border-subtle);
    border-radius: 0.5rem;
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-size: 0.875rem;
    line-height: 1.45;
    animation: source-alert-in 180ms ease-out;
}

.guest-request-banner__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    fill: none;
    stroke: var(--bs-primary);
}

.guest-request-banner__body {
    flex: 1;
    min-width: 0;
}

.guest-request-banner__note {
    white-space: pre-line;
    overflow-wrap: break-word;
    max-height: 20dvh;
    overflow-y: auto;
}

.guest-request-banner__body > div + div {
    margin-top: 0.375rem;
}

@media (prefers-reduced-motion: reduce) {
    .guest-request-banner {
        animation: none;
    }
}

/* ============================================
 * List-page chrome (Forms, Bulks, ...)
 * ============================================
 * Shared page-title / card / table styling so list pages look consistent.
 * Promoted from the forms template's local \3c style> so /bulks reuses it.
 */

.forms-container {
    font-family: "Inter";
}

.container-title {
    font-weight: 700;
}

.forms-box-card {
    border-radius: 6px;
}

.table-list-header {
    font-weight: 500;
    color: rgb(115, 116, 122);
}

.forms-table {
    font-size: .875rem;
}

.forms-table .btn-light {
    background: #fff;
    border-color: #fff;
}

.forms-table > tbody > tr:hover {
    --bs-table-accent-bg: rgba(0, 0, 0, .025);
}
/* Agent design system tokens. Section 8 of DESIGN.md defines them, this file is that
   section in CSS: the two carry the same set of names and the same values.

   Declared on .agent-ui rather than :root so an agent value cannot reach a Bootstrap screen.

   Rules for one component belong beside that component. The three at the foot of this file are
   here because they belong to no component: every agent screen sizes its icons the same way, hides
   the same text from sighted readers and spins the same glyph, and a second component copying them
   out of the first would make the first's stylesheet a dependency of every later one. */

/* The three conditions every agent stylesheet asks about, declared once.

   A breakpoint is a number several files have to agree on, and a custom property cannot carry it:
   `@media` is resolved before the cascade, so a `var()` inside a query resolves to nothing.
   `@custom-media` is the at-rule that can, and `scripts/bundle-css.js` substitutes it.

   Both widths are in `rem` so a reader who enlarges their text moves the breakpoint with it. A
   layout keyed to `px` keeps its desktop shape at twice the type size, which is the width at which
   it stops fitting. */

/* A side column no longer fits beside the content it annotates. */

/* A phone. Panels lose their padding, controls take the full line, rails become screens. */

/* A finger has to hit it. `any-pointer` rather than `pointer`, because a laptop with a touchscreen
   and a mouse reports the mouse as primary and the finger still has to land. */

.agent-ui {
    /* Families. Inter Tight heads, Inter speaks, IBM Plex Mono quotes the machine. */
    --ag-family-display: "Inter Tight", Inter, system-ui, sans-serif;
    --ag-family-ui: Inter, system-ui, sans-serif;
    --ag-family-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

    /* Type, as `font` shorthands: weight size/leading family. Every step has a tracking
       token beside it, `normal` included, so a rule never has to know which four are
       tracked. The micro label is uppercase, set by the rule that uses it, because a case
       transform is a property rather than a value. The shorthand resets the numeric
       variant properties, so a column of counts or durations restates
       `font-variant-numeric: tabular-nums` after the step. */
    --ag-font-display: 600 1.625rem/1.4 var(--ag-family-display);
    --ag-font-title: 600 1.1875rem/1.4 var(--ag-family-display);
    --ag-font-section: 600 0.9375rem/1.4 var(--ag-family-display);
    --ag-font-body-strong: 600 0.84375rem/1.4 var(--ag-family-ui);
    --ag-font-body: 400 0.78125rem/1.55 var(--ag-family-ui);
    --ag-font-ui: 500 0.75rem/1.4 var(--ag-family-ui);
    --ag-font-meta: 400 0.6875rem/1.4 var(--ag-family-ui);
    --ag-font-micro: 600 0.625rem/1.4 var(--ag-family-ui);
    --ag-font-mono: 400 0.6875rem/1.4 var(--ag-family-mono);
    --ag-font-mono-micro: 600 0.625rem/1.4 var(--ag-family-mono);

    --ag-tracking-display: -0.023em;
    --ag-tracking-title: -0.016em;
    --ag-tracking-section: normal;
    --ag-tracking-body-strong: normal;
    --ag-tracking-body: normal;
    --ag-tracking-ui: normal;
    --ag-tracking-meta: normal;
    --ag-tracking-micro: 0.07em;
    --ag-tracking-mono: normal;
    --ag-tracking-mono-micro: 0.04em;

    /* Surfaces. canvas is the floor and never holds text. */
    --ag-canvas: #f1f4f7;
    --ag-surface: #ffffff;
    --ag-sunken: #f7f9fb;
    --ag-hover: #edf1f5;

    /* Lines. spine draws the assembly timeline and nothing else. */
    --ag-line: #e2e7ed;
    --ag-line-strong: #c9d2dc;
    --ag-spine: #dce3ea;

    /* Ink. ink-3 clears 4.5:1 on surface, sunken and a hovered row. */
    --ag-ink: #101720;
    --ag-ink-2: #4c5a6b;
    --ag-ink-3: #5f6d7e;
    --ag-ink-inv: #ffffff;

    /* The bar a skeleton draws where text will be. Its own value rather than a line or a hover
       tint, because a fill that stands in for content is neither of those jobs. */
    --ag-placeholder: #e2e7ed;

    /* What a sheet lays over the screen it covers. ink, thinned until the list beneath reads as
       present but out of reach. */
    --ag-scrim: color-mix(in srgb, var(--ag-ink) 45%, transparent);

    /* Meaning. ok is a glyph color: it misses 4.5:1 for a label at body size. */
    --ag-brand: #1a56db;
    --ag-brand-press: #1443b4;
    --ag-brand-soft: #e9f0fe;
    --ag-ok: #0f8a4d;
    --ag-ok-soft: #e3f5eb;
    --ag-warn: #a65b08;
    --ag-warn-soft: #fdf0df;
    --ag-danger: #c0392e;
    --ag-danger-soft: #fcedeb;

    /* Spacing. Named for the pixel value it carries at a 16px root. */
    --ag-space-2: 0.125rem;
    --ag-space-4: 0.25rem;
    --ag-space-6: 0.375rem;
    --ag-space-8: 0.5rem;
    --ag-space-10: 0.625rem;
    --ag-space-12: 0.75rem;
    --ag-space-14: 0.875rem;
    --ag-space-16: 1rem;
    --ag-space-20: 1.25rem;
    --ag-space-24: 1.5rem;
    --ag-space-32: 2rem;

    /* Radius by role, so a card and a tag cannot drift to the same corner. */
    --ag-radius-tag: 3px;
    --ag-radius-control: 6px;
    --ag-radius-block: 8px;
    --ag-radius-card: 10px;
    --ag-radius-panel: 12px;
    /* A sheet rises from the bottom edge, so only its top corners are ever seen, and they are
       rounder than a panel's to say it is a surface over the screen rather than one on it. */
    --ag-radius-sheet: 18px;
    --ag-radius-pill: 999px;

    /* The height of the app bar above every agent surface. Not a spacing value: nothing is spaced
       by it, and what it answers is how much of the viewport a surface filling the rest may take. */
    --ag-appbar: 60px;

    --ag-stroke-hairline: 1px;
    --ag-stroke-marked: 1.5px;
    --ag-stroke-active: 2px;

    /* The one shadow, because one thing floats. In-page blocks take a line instead. */
    --ag-shadow-float: 0 8px 24px -4px #0f172a26, 0 2px 6px -2px #0f172a1f;

    /* Motion. Five durations, and no animation invents a sixth. */
    --ag-dur-hover: 90ms;
    --ag-dur-disclose: 160ms;
    --ag-dur-progress: 300ms;
    --ag-dur-tint: 600ms;
    --ag-dur-spin: 1.2s;
}

/* Collapsing the four transition durations here is what makes a component correct by
   default: it inherits the reduced-motion answer instead of restating it. Spin keeps its
   value, since the rule that owns the spinner swaps in a static glyph rather than slowing
   the spin down. */
@media (prefers-reduced-motion: reduce) {
    .agent-ui {
        --ag-dur-hover: 0ms;
        --ag-dur-disclose: 0ms;
        --ag-dur-progress: 0ms;
        --ag-dur-tint: 0ms;
    }
}

/* System-wide, belonging to no one screen. */

/* Section 9 says a screen belongs to exactly one system. Bootstrap's reset carries border-box for
   every other screen, and an agent component that inherits it is reading from the other system for
   the one rule that decides whether its widths are its paddings too. */
.agent-ui,
.agent-ui *,
.agent-ui *::before,
.agent-ui *::after {
    box-sizing: border-box;
}

.ag-icon {
    width: 0.875rem;
    height: 0.875rem;
    flex: none;
}

/* Present to a screen reader, absent to everyone else. */
.ag-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Turns only while a request is in flight or the server says a run is moving. */
.ag-spin {
    animation: ag-spin var(--ag-dur-spin) linear infinite;
}

@keyframes ag-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-spin {
        animation: none;
    }
}

/* The archive rail: one workspace's packages, grouped by the day they were made.

   Every colour, spacing, radius and type value resolves through a token in agent.css, which is
   where DESIGN.md's scales live. Sizes those scales do not govern are written in `rem` rather than
   pixels, so a reader who enlarges their text enlarges the boxes holding it: control heights, the
   icon sizes, the
   rail's own width and the menu's. The exceptions are the skeleton bars, whose widths arrive from
   the controller in pixels and last only until the first page does. */

.ag-rail {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 18rem;
    max-width: 100%;
    height: 100%;
    background: var(--ag-surface);
    border-right: var(--ag-stroke-hairline) solid var(--ag-line);
    overflow: hidden;
}

.ag-rail :focus-visible {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

/* Header */

.ag-rail__head {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-12);
    padding: var(--ag-space-14) var(--ag-space-14) var(--ag-space-12);
    border-bottom: var(--ag-stroke-hairline) solid var(--ag-line);
}

/* Wraps rather than clips. The count is a number while nothing narrows the list and a phrase once
   something does, and at this width the longer form can leave the action no room. Dropping the
   action to its own line costs a row of height in one state, letting it run off the edge costs the
   action. */
.ag-rail__titles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8);
}

.ag-rail__title {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
    font: var(--ag-font-section);
    letter-spacing: var(--ag-tracking-section);
    color: var(--ag-ink);
}

/* Inter, not mono. Once the list is narrowed this reads `4 results`, and a sentence a person is
   meant to read is not a string a machine produced. */
.ag-rail__count {
    flex: 0 0 auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--ag-ink-3);
}

.ag-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-6) var(--ag-space-10);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: var(--ag-brand);
    color: var(--ag-ink-inv);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

/* `brand-press` is the pressed state and nothing else, so hover takes a tint of its own and the
   button still has something left to say when it is actually pressed. */
.ag-primary-btn:hover {
    background: color-mix(in srgb, var(--ag-brand) 88%, var(--ag-ink));
}

.ag-primary-btn:active {
    background: var(--ag-brand-press);
}

.ag-rail__titles .ag-primary-btn {
    flex: 0 0 auto;
    margin-inline-start: auto;
}

/* Search. `sunken` at rest, which is the token for a block nested inside a surface and what makes
   the field read as somewhere to type. Disabled gives up the fill entirely rather than taking an
   opacity multiplier, so the difference is visible rather than a shade nobody can see. */

.ag-search {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    min-height: 2rem;
    padding: 0 var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
    color: var(--ag-ink-2);
    cursor: text;
    transition: background var(--ag-dur-hover) ease-out;
}

/* An outline rather than a thicker border, so focus does not move the field by half a pixel. */
.ag-search:focus-within {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: calc(-1 * var(--ag-stroke-marked));
}

.ag-search--off {
    background: none;
    border-style: dashed;
    border-color: var(--ag-line);
    color: var(--ag-ink-3);
    cursor: not-allowed;
}

.ag-search__glass {
    color: inherit;
}

.ag-search__field {
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    padding: 0;
    border: 0;
    background: none;
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink);
}

.ag-search__field::placeholder {
    color: var(--ag-ink-3);
}

.ag-search__field:focus-visible {
    outline: none;
}

.ag-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    color: var(--ag-ink-3);
    cursor: pointer;
    transition: color var(--ag-dur-hover) ease-out;
}

.ag-search__clear:hover {
    color: var(--ag-ink-2);
}

/* Filters */

.ag-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-6);
}

.ag-pill {
    padding: var(--ag-space-4) var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-sunken);
    color: var(--ag-ink-2);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    white-space: nowrap;
    cursor: pointer;
    transition:
        background var(--ag-dur-hover) ease-out,
        color var(--ag-dur-hover) ease-out;
}

.ag-pill:hover:not(.ag-pill--on) {
    background: var(--ag-hover);
}

.ag-pill--on {
    background: var(--ag-ink);
    border-color: var(--ag-ink);
    color: var(--ag-ink-inv);
}

/* The list */

.ag-rail__body {
    flex: 1 1 auto;
    overflow-y: auto;
}

.ag-list {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
    padding: var(--ag-space-8);
    transition: opacity var(--ag-dur-hover) ease-out;
}

/* A list already on screen dims while a narrower one is fetched. Tearing it down for skeleton bars
   would lose the reader's place to show them nothing they did not already have. */
.ag-list--waiting {
    opacity: 0.55;
}

.ag-group {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
}

.ag-group__label {
    margin: 0;
    padding: var(--ag-space-12) var(--ag-space-10) var(--ag-space-4);
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
    color: var(--ag-ink-3);
}

/* A row and its menu, side by side and siblings. */
.ag-slot {
    display: flex;
    align-items: center;
    border-radius: var(--ag-radius-control);
}

.ag-slot:hover {
    background: var(--ag-hover);
}

/* A row */

.ag-row {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    gap: var(--ag-space-8);
    min-height: 3rem;
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-control);
    cursor: pointer;
}

/* Selection carries a rule as well as a tint. A fill this pale against white falls far short of
   the three to one a component state owes a reader who cannot pick colours apart, and the rule is
   what pays that. Declared over the hover selector so a pointer resting on the selected row cannot
   erase the one signal that says it is selected. */
.ag-slot:has(.ag-row--on),
.ag-slot:hover:has(.ag-row--on) {
    background: var(--ag-brand-soft);
    box-shadow: inset var(--ag-stroke-marked) 0 0 0 var(--ag-brand);
}

.ag-row__state,
.ag-row__state > span {
    display: inline-flex;
    flex: none;
}

.ag-state--running {
    color: var(--ag-brand);
}

.ag-state--warn {
    color: var(--ag-warn);
}

.ag-state--failed {
    color: var(--ag-danger);
}

.ag-state--draft {
    color: var(--ag-ink-3);
}


.ag-row__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
}

.ag-row__head {
    display: flex;
    align-items: baseline;
    gap: var(--ag-space-6);
    min-width: 0;
}

/* Shrinks but never grows, so the tag and the id stay against the name they identify instead of
   drifting to the far edge whenever the name is shorter than the row. */
.ag-row__name {
    flex: 0 1 auto;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-row__meta {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-row__id {
    flex: none;
    font: var(--ag-font-mono-micro);
    letter-spacing: var(--ag-tracking-mono-micro);
    color: var(--ag-ink-3);
}

.ag-tag {
    flex: none;
    padding: 0 var(--ag-space-4);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-tag);
    background: var(--ag-sunken);
    font: var(--ag-font-mono-micro);
    letter-spacing: var(--ag-tracking-mono-micro);
    color: var(--ag-ink-2);
}

/* The row menu */

.ag-row__menu {
    flex: none;
    padding-inline-end: var(--ag-space-6);
}

/* Hidden until the row is under the cursor, and held open while its own menu is, so the anchor
   Popper positions against cannot vanish from under it. */
.ag-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    color: var(--ag-ink-3);
    cursor: pointer;
    opacity: 0;
    transition:
        opacity var(--ag-dur-hover) ease-out,
        color var(--ag-dur-hover) ease-out;
}

.ag-slot:hover .ag-menu-btn,
.ag-menu-btn:focus-visible,
.ag-menu-btn[aria-expanded='true'] {
    opacity: 1;
    color: var(--ag-ink-2);
}

/* Nothing reveals a row on a touch screen, so the trigger is simply there. */
@media (hover: none) {
    .ag-menu-btn {
        opacity: 1;
    }
}

/* Sized by what it holds. */
.dropdown-menu.ag-menu {
    width: max-content;
    min-width: 11rem;
    padding: var(--ag-space-6) var(--ag-space-4);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-card);
    background: var(--ag-surface);
    box-shadow: var(--ag-shadow-float);
}

.ag-menu__item {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    width: 100%;
    padding: var(--ag-space-6) var(--ag-space-8);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink);
    text-align: start;
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-menu__item:hover {
    background: var(--ag-hover);
}

.ag-menu__item .ag-icon {
    color: var(--ag-ink-2);
}

/* Archiving is reversible, so it is set apart rather than marked destructive. */
.ag-menu__item--quiet {
    color: var(--ag-ink-2);
}

.ag-menu__item--quiet .ag-icon {
    color: var(--ag-ink-3);
}

.ag-menu__key {
    margin-inline-start: auto;
    font: var(--ag-font-mono-micro);
    letter-spacing: var(--ag-tracking-mono-micro);
    color: var(--ag-ink-3);
}

.ag-menu__rule {
    margin: var(--ag-space-2) 0;
    border: 0;
    border-top: var(--ag-stroke-hairline) solid var(--ag-line);
    opacity: 1;
}

/* Renaming, which replaces the row rather than sitting over it */

.ag-rename {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: var(--ag-space-6);
    padding: var(--ag-space-8);
}

/* The border is the field's resting identity, so focus needs a mark of its own rather than a
   border that was already there before the caret arrived. */
.ag-rename__field {
    min-height: 2rem;
    padding: 0 var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-rename__field:focus-visible {
    border-color: var(--ag-brand);
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

.ag-rename__hint {
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* Waiting. The bars pulse on the same duration the running glyph turns on, because the token set
   carries five durations and no animation invents a sixth. */

.ag-skel {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    padding: var(--ag-space-12) var(--ag-space-10);
}

.ag-skel__name,
.ag-skel__meta {
    max-width: 100%;
    border-radius: var(--ag-radius-tag);
    background: var(--ag-placeholder);
    animation: ag-wait var(--ag-dur-spin) ease-in-out infinite;
}

.ag-skel__name {
    height: 9px;
}

.ag-skel__meta {
    height: 7px;
}

@keyframes ag-wait {
    50% {
        opacity: 0.5;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-skel__name,
    .ag-skel__meta {
        animation: none;
    }
}

/* Nothing to show */

.ag-blank {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-32);
}

.ag-rail__body > .ag-blank {
    justify-content: center;
    min-height: 100%;
}

.ag-blank--inset {
    padding: var(--ag-space-32) var(--ag-space-20);
}

/* `ink-3` rather than a line colour. A mark at 1.5 to 1 against the surface behind it is not
   restraint, it is an illustration nobody can see. */
.ag-blank__mark {
    width: 1.625rem;
    height: 1.625rem;
    flex: none;
    color: var(--ag-ink-3);
}

.ag-blank__title {
    margin: 0;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink-2);
}

.ag-blank__body {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-3);
}

/* Inter, not mono: this is the reader's own words quoted back to them. */
.ag-blank__query {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-3);
    overflow-wrap: anywhere;
}

/* The rail kept its rows and lost the channel. It sits above them rather than replacing them,
   because what is on screen is still what the server last said. */
.ag-rail__stale {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8);
    margin: 0 var(--ag-space-8) var(--ag-space-8);
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-block);
    background: var(--ag-warn-soft);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink);
}

.ag-quiet-btn {
    padding: var(--ag-space-6) var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink-2);
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-quiet-btn:hover {
    background: var(--ag-hover);
}

/* Reading further back */

.ag-more {
    width: 100%;
    margin-top: var(--ag-space-8);
    padding: var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink-2);
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-more:hover:not(:disabled) {
    background: var(--ag-hover);
}

.ag-more:disabled {
    color: var(--ag-ink-3);
    cursor: default;
}

/* The other collection */

.ag-door {
    display: flex;
    align-items: center;
    gap: var(--ag-space-6);
    width: 100%;
    padding: var(--ag-space-8) var(--ag-space-8) var(--ag-space-10);
    border: 0;
    border-top: var(--ag-stroke-hairline) solid var(--ag-line);
    background: none;
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink-3);
    text-align: start;
    cursor: pointer;
    transition: color var(--ag-dur-hover) ease-out;
}

.ag-door:hover {
    color: var(--ag-ink-2);
}

/* The way back */

.ag-undo {
    position: absolute;
    inset-inline: var(--ag-space-8);
    bottom: var(--ag-space-8);
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-card);
    background: var(--ag-ink);
    box-shadow: var(--ag-shadow-float);
}

.ag-undo__said {
    flex: 1 1 auto;
    min-width: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-inv);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-undo__act {
    flex: none;
    padding: 0;
    border: 0;
    background: none;
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink-inv);
    text-decoration: underline;
    cursor: pointer;
}

.ag-undo__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    color: var(--ag-ink-inv);
    cursor: pointer;
}

/* Touch. No keyboard means the two keys the rename hint names cannot be pressed, so they become
   two controls, and every target grows to what a fingertip needs. Keyed off the pointer rather
   than the viewport, because a touchscreen laptop is a wide screen someone still taps. */

/* Belongs to the touch layout below, declared off here so every rule that follows only ever turns
   it on. Nothing switches it back off, so its state does not depend on source order. The sheet
   head beside it is declared off by `agent-sheet.css`, which owns it. */
.ag-rename__actions {
    display: none;
}

@media (any-pointer: coarse) {
    .ag-search,
    .ag-rename__field {
        min-height: 2.75rem;
    }

    .ag-menu-btn,
    .ag-search__clear,
    .ag-undo__close {
        width: 2.75rem;
        height: 2.75rem;
    }

    .ag-pill {
        padding: var(--ag-space-8) var(--ag-space-12);
    }

    .ag-row {
        min-height: 3.5rem;
    }

    .ag-primary-btn,
    .ag-quiet-btn,
    .ag-more,
    .ag-undo__act {
        min-height: 2.75rem;
    }

    .ag-rename__hint {
        display: none;
    }

    .ag-rename__actions {
        display: flex;
        gap: var(--ag-space-8);
    }

    .ag-rename__actions > * {
        flex: 1 1 0;
    }
}

/* Narrow. The rail stops being a column beside a screen and becomes the screen, so the hairline
   that divided two columns has nothing left to divide, and the row menu stops being a thing that
   hangs off a trigger. A dropdown anchored near the top of a phone opens where no thumb reaches,
   and the same items across the bottom are the native answer. */

@media (max-width: 40rem) {
    /* Taking the screen means taking whatever the parent offers, and a percentage cannot ask for
       that: it resolves against a containing block that may itself be sized by its content, which
       collapses the rail to the width of its own widest row. `auto` fills a block parent, the
       stretch fills a flex one whatever its `align-items` says, and the cap keeps either from
       running past the side of the phone. */
    .ag-rail {
        width: auto;
        align-self: stretch;
        max-width: 100vw;
        border-right: 0;
    }

    .ag-rail__head {
        padding: var(--ag-space-12);
        gap: var(--ag-space-10);
    }

    /* Popper writes its placement inline, so taking the menu off its trigger takes precedence. */
    .dropdown-menu.ag-menu.show {
        position: fixed !important;
        inset: auto 0 0 0 !important;
        transform: none !important;
        z-index: 1041;
        width: auto;
        min-width: 0;
        max-height: 80vh;
        overflow-y: auto;
        padding: var(--ag-space-8) var(--ag-space-8)
            max(var(--ag-space-16), env(safe-area-inset-bottom));
        border: 0;
        border-radius: var(--ag-radius-sheet) var(--ag-radius-sheet) 0 0;
        box-shadow: none;
    }

    /* On the wrapper rather than on the sheet: a scrim painted inside the sheet's own stacking
       context would cover the sheet. Here it paints just before it and stays behind. Clicks land
       outside the menu, which is what closes it. Above Bootstrap's fixed layer, which sits at
       1030, so an app bar cannot punch through it. */
    .ag-row__menu:has(.ag-menu.show)::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: var(--ag-scrim);
    }

    /* The chrome is `agent-sheet.css`'s. What is left here is the one thing that is this menu's:
       the head is a list item inside a dropdown, so it has a marker and a list box to give up
       before the shared grid can lay it out. */
    .ag-sheet__head {
        margin-bottom: var(--ag-space-8);
        padding-inline: var(--ag-space-8);
        list-style: none;
    }

    .ag-menu__item {
        gap: var(--ag-space-12);
        padding: var(--ag-space-12) var(--ag-space-10);
    }

    .ag-menu__item .ag-icon {
        width: 1.125rem;
        height: 1.125rem;
    }

    /* A sheet separates its items by space, so the rule and the shortcut both go, and archiving
       stops being set apart by tone where nothing crowds it. */
    .ag-menu__key,
    .ag-menu__rule {
        display: none;
    }

    .ag-menu__item--quiet {
        color: var(--ag-ink);
    }

    .ag-menu__item--quiet .ag-icon {
        color: var(--ag-ink-2);
    }
}

/* The question the agent stopped on, and the rows a reader answers it with.

   This screen is on the core system (sections 2 to 7 of DESIGN.md), not the agent system: its root
   is `.agent-fill` rather than `.agent-ui`, so nothing here reads an `--ag-` token. Section 9 is
   what forbids the mix. The colors below are the core palette from section 2, named once at the
   top so a value is written in one place, plus Bootstrap's own `--bs-` variables where a stock one
   already carries the meaning.

   Everything in here used to be an inline `style` attribute on the template. It moved because a
   color with nowhere to live gets written as whatever hex was nearest, which is how the panel came
   to be drawn in a terracotta belonging to neither system. */

.agent-fill {
    /* One radius for the controls this screen draws itself: the panel, the rows inside it, its
       Send button and the composer's submit button. 6px is what both systems independently give a
       control - Bootstrap's `--bs-border-radius` and the agent system's `--ag-radius-control` are
       the same value - so this agrees with every stock control on the screen, and would survive
       the screen being moved across that boundary. Kept as a token so the five stay in step. */
    --af-radius: 6px;

    /* Section 5's entrance for a soft alert: 180ms, shared by the panel and the scrim so the two
       arrive together rather than one behind the other. */
    --af-enter: 180ms;

    /* Section 2, Neutral */
    --af-surface: #ffffff;
    --af-paper: #f9fafb;
    --af-border: #dee2e6;
    --af-ink: #212529;
    --af-muted: #6c757d;
    --af-scrollbar: #c4c5c5;

    /* Caution is the state a person is meant to act on, which is exactly what a stopped run is
       asking of them, and the amber sits in the dot alone. It is a mark rather than something to
       be read: at 2.2:1 on white it cannot carry words, so the label beside it takes plain ink. */
    --af-caution-dot: #f59e0b;
}

/* The panel

   It hangs from the top of the stage, over the log, while the composer it replaces is put away
   for the duration. It floats, so it takes a shadow: section 4 reserves those for layers above
   the document flow and gives in-page cards a border instead.

   A bounded column. `.agent-fill` hides its overflow, so a panel taller than the room under the
   header loses its foot - the Send button - off the bottom of the screen, with no scroll that
   reaches it. The cap prevents that and the option list inside takes the overflow instead. Of
   the three terms, the `calc` is the one that binds on an ordinary window: 11rem is the navbar,
   the header and the wrapper's own padding. The floor keeps the panel usable where neither term
   leaves anything, since the head and the foot do not shrink. */
.agent-fill .agent-question {
    display: flex;
    flex-direction: column;
    max-height: min(80vh, max(12rem, calc(100vh - 11rem)));
    padding: 1.25rem;
    margin-bottom: 0.5rem;
    background: var(--af-surface);
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    color: var(--af-ink);
    animation: agent-question-in var(--af-enter) ease-out;
}

/* Everything except the list holds its size, so the question and the Send button are the last
   things to give way rather than the first. */
.agent-fill .agent-question__head,
.agent-fill .agent-question__text,
.agent-fill .agent-question-field,
.agent-fill .agent-question__error,
.agent-fill .agent-question__foot {
    flex-shrink: 0;
}

/* The panel takes the focus when it opens, so a reader who was watching the log is inside the
   dialog and a screen reader announces it. It draws no ring for that: the ring belongs to the
   control a person moved to themselves, and painting one on a row nobody chose reads as a
   selection already made. Tabbing to a row still rings it, below. */
.agent-fill .agent-question:focus,
.agent-fill .agent-question:focus-visible {
    outline: none;
}

/* The log

   It scrolls behind an absolutely positioned composer, so it reserves the room that composer
   stands in. While a question is open there is nothing down there to clear: the composer is put
   away and the panel hangs from the top instead, so the reservation shrinks to a margin.

   Nothing is reserved at the top for the panel, deliberately. The panel can be most of the
   column, and reserving that much would push the whole log off the bottom of the screen. What it
   covers is the oldest of what is on screen, while the newest - which is what the question is
   about - sits below it in the clear. */
.agent-fill .agent-chat-log {
    padding-bottom: 180px;
}

.agent-fill .agent-chat-log--question {
    padding-bottom: 1rem;
}

/* The two entrances. A translate for the panel, which arrives as an object; a plain fade for the
   scrim behind it, which is not an object but a change of light. */
@keyframes agent-question-in {
    from {
        opacity: 0;
        transform: translateY(0.375rem);
    }
}

@keyframes agent-scrim-in {
    from {
        opacity: 0;
    }
}

/* The scrim

   Sits over the stage - the log, not the header - and under the composer, which carries
   `z-index: 5`, so the panel drawn inside that composer stays at full strength while the record
   of work behind it steps back.

   Light, and it takes no pointer events. Section 8.7's scrim is `ink` at 45% and is dismissed by
   tapping it, but that is a sheet: this question cannot be dismissed, only answered, and what the
   answer depends on is usually the log underneath. Dimming it to the point of being unreadable,
   or swallowing the scroll that reaches it, would take away the thing the reader needs. */
.agent-fill .agent-question-scrim {
    position: absolute;
    inset: 0;
    z-index: 4;
    background: rgba(33, 37, 41, 0.1);
    pointer-events: none;
    animation: agent-scrim-in var(--af-enter) ease-out;
}

/* Head */

/* No fill behind it. The panel is already the thing that stopped the run, so a second surface
   inside it labeled the same way was saying it twice. The dot carries the caution color. */
.agent-fill .agent-question__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    color: var(--af-ink);
    font-size: 0.75rem;
    font-weight: 400;
}

/* Its own color rather than `currentColor`: the label went to ink, and the dot is the one thing
   here still carrying the caution tone. */
.agent-fill .agent-question__dot {
    flex-shrink: 0;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 999px;
    background: var(--af-caution-dot);
}

/* Sized rather than left to inherit. It was taking the body's 1rem while the options under it
   read at 0.8125rem, so the question was half again the size of the answers and a long one cost
   three lines at 24px each. Still the largest thing in the panel, which it should be. */
.agent-fill .agent-question__text {
    margin-bottom: 0.875rem;
    font-size: 0.9375rem;
    line-height: 1.45;
    font-weight: 500;
}

/* Options

   A list past nine is read rather than aimed at, which is the same reason the model stops handing
   out number keys there. This is the one part of the panel that scrolls. */

.agent-fill .agent-question__options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* Gives up whatever the panel is short of rather than holding a height of its own, so a long
       list, a long option and the field opening all come out of the same place. It is never
       stretched past its content, so it shrinks but does not grow. `min-height: 0` is what lets a
       flex child shrink below its content and scroll at all. */
    flex: 0 1 auto;
    min-height: 0;
    margin-bottom: 0.875rem;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--af-scrollbar) transparent;
}

.agent-fill .agent-question__options::-webkit-scrollbar {
    width: 6px;
}

.agent-fill .agent-question__options::-webkit-scrollbar-thumb {
    background: var(--af-scrollbar);
    border-radius: 999px;
}

.agent-fill .agent-question-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.75rem 0.875rem;
    background: var(--af-surface);
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius);
    color: var(--af-ink);
    text-align: left;
}

/* Hover answers the rows still on offer. The chosen one is excluded rather than left to the
   cascade: `:hover:not(:disabled)` outweighs `.is-chosen`, so without this the row a reader
   pointed at lost the tint that said it was theirs, which reads as the choice coming undone
   under the cursor. Its background is a state, not a response to the pointer. */
.agent-fill .agent-question-option:hover:not(:disabled):not(.is-chosen) {
    background: var(--af-paper);
}

.agent-fill .agent-question-option:disabled {
    opacity: 0.65;
}

/* The chosen row.

   Color is not the only signal: the label goes semibold and a check lands in the trailing
   position, so a reader who cannot separate the blue from the white still sees which row is
   theirs. No leading accent bar - against a row that already changes border and fill it read as
   one border being mysteriously thicker than the rest. */
.agent-fill .agent-question-option.is-chosen {
    background: var(--bs-primary-bg-subtle, #cfe2ff);
    border-color: var(--bs-primary, #0d6efd);
    font-weight: 600;
}

.agent-fill .agent-question-option:focus-visible {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 1px;
}

.agent-fill .agent-question-option__key {
    flex-shrink: 0;
    min-width: 1.25rem;
    padding: 0 0.25rem;
    background: var(--af-paper);
    border: 1px solid var(--af-border);
    border-radius: 0.25rem;
    color: var(--af-muted);
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
}

/* The badge keeps its own hairline on the chosen row: the row already carries a blue border, and
   a second one a few pixels inside it read as a box drawn twice. Only the ground and the numeral
   change, which is enough to keep the key legible once the row is tinted. */
.agent-fill .agent-question-option.is-chosen .agent-question-option__key {
    background: var(--af-surface);
    color: var(--bs-primary, #0d6efd);
}

.agent-fill .agent-question-option__body {
    flex-grow: 1;
    min-width: 0;
    font-size: 0.8125rem;
    white-space: normal;
}

.agent-fill .agent-question-option__hint {
    display: block;
    color: var(--af-muted);
    font-size: 0.6875rem;
    font-weight: 400;
}

/* Drawn only on the row that is chosen, and hidden rather than absent so no row changes width
   when the choice moves. */
.agent-fill .agent-question-option__check {
    flex-shrink: 0;
    color: var(--bs-primary, #0d6efd);
    visibility: hidden;
}

.agent-fill .agent-question-option.is-chosen .agent-question-option__check {
    visibility: visible;
}

.agent-fill .agent-question-option--write .agent-question-option__body {
    color: var(--af-muted);
}

.agent-fill .agent-question-option--write.is-chosen .agent-question-option__body {
    color: var(--af-ink);
}

/* Field */

.agent-fill .agent-question-field {
    margin-bottom: 0.875rem;
    border-radius: var(--af-radius);
    font-size: 0.8125rem;
    resize: none;
}

/* Foot */

.agent-fill .agent-question__error {
    margin-bottom: 0.875rem;
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
}

.agent-fill .agent-question__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.agent-fill .agent-question__hint {
    color: var(--af-muted);
    font-size: 0.75rem;
}

/* Send takes the screen's radius rather than Bootstrap's 6px, so it agrees with the rows above it
   and with the composer's submit button below. */
.agent-fill .agent-question__foot .btn {
    border-radius: var(--af-radius);
}

/* The composer box

   The drop zone as well as the field, which is why the template toggles a `highlight` class on it
   while a file is over the window. Neither that class nor `agent-composer-disabled` had a rule
   anywhere, so a reader dragging a file at it saw nothing happen, and the `transition:
   border-color` it carried inline was animating a border color nothing ever changed. Both are
   answered here, and the greys it was drawn in - #f4f4f3 on #e5e5e3, in neither system - give way
   to the palette. */
.agent-fill .agent-composer-box {
    padding: 14px 16px;
    background: var(--af-paper);
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius);
    transition:
        border-color var(--af-enter),
        background-color var(--af-enter);
}

/* A file is over the window and this is where it lands. */
.agent-fill .agent-composer-box.highlight {
    border-color: var(--bs-primary, #0d6efd);
    background: var(--bs-primary-bg-subtle, #cfe2ff);
}

/* The run is working, or a question is waiting: nothing typed here goes anywhere yet. */
.agent-fill .agent-composer-box.agent-composer-disabled {
    opacity: 0.55;
}

/* The composer's submit control

   A square icon button rather than a `.btn`, so its colors are set here. Both states are written
   whole: the terracotta it used to carry came with `ng-style="!canSubmit() && {...}"`, and a
   binding that falls back to `false` clears what it set off the element rather than off its own
   last value - taking the `style` attribute's background down with it, which leaves the button
   with no fill at all once it has been disabled and enabled again. */
.agent-fill .agent-composer-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: var(--af-radius);
    background: var(--bs-primary, #0d6efd);
    color: #fff;
}

/* The same fade Bootstrap gives a disabled button, rather than a second pair of greys. */
.agent-fill .agent-composer-submit:disabled {
    opacity: 0.65;
}

@media (prefers-reduced-motion: reduce) {
    .agent-fill .agent-question,
    .agent-fill .agent-question-scrim {
        animation: none;
    }

    .agent-fill .agent-composer-box {
        transition: none;
    }
}

/* Starting a package: what the workspace can produce, what that thing expects to be given, and the
   box it is given in.

   Every colour, spacing, radius, stroke, duration and type value resolves through a token in
   agent.css, which is where DESIGN.md's scales live. Sizes those scales do not govern are written
   in `rem` rather than pixels, so a reader who enlarges their text enlarges the boxes holding it. */

.ag-intake {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-20);
    width: 100%;
    max-width: 48rem;
    margin-inline: auto;
    padding: var(--ag-space-24) var(--ag-space-20) var(--ag-space-32);
    background: var(--ag-surface);
    color: var(--ag-ink);
}

.ag-intake :focus-visible {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

/* The file picker is hidden from sight but not from the keyboard, so its own ring would fall on a
   one-pixel box in the corner. The control a reader sees is the label around it. */
.ag-intake-drop:focus-within {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

/* Head */

.ag-intake__head {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
}

.ag-intake__identity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-10);
}

.ag-intake__title {
    margin: 0;
    font: var(--ag-font-title);
    letter-spacing: var(--ag-tracking-title);
    color: var(--ag-ink);
}

.ag-intake-state {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-2) var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    white-space: nowrap;
}

.ag-intake-state__go {
    color: var(--ag-brand);
}

.ag-intake__lede {
    margin: 0;
    max-width: 42rem;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

.ag-intake__body {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-20);
}

/* The label above a block */

.ag-intake-label {
    margin: 0 0 var(--ag-space-10);
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
    color: var(--ag-ink-3);
}

/* Waiting for the type list */

.ag-intake-skel {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-10);
}

.ag-intake-skel__bar {
    height: 0.75rem;
    width: 60%;
    border-radius: var(--ag-radius-tag);
    background: var(--ag-placeholder);
    animation: ag-intake-wait var(--ag-dur-spin) ease-in-out infinite;
}

.ag-intake-skel__bar--wide {
    width: 85%;
}

.ag-intake-skel__bar--short {
    width: 35%;
}

/* A pulse claims a request is in flight and nothing else, which is true for exactly as long as it
   runs. */
@keyframes ag-intake-wait {
    50% {
        opacity: 0.45;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-intake-skel__bar {
        animation: none;
    }
}

/* Nothing to produce */

.ag-intake-blank {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-32) var(--ag-space-20);
    border: var(--ag-stroke-hairline) dashed var(--ag-line-strong);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-sunken);
    text-align: center;
}

.ag-intake-blank__mark {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--ag-ink-3);
}

.ag-intake-blank__title {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

.ag-intake-blank__body {
    margin: 0;
    max-width: 28rem;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* Choosing between several types */

.ag-intake-choose__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: var(--ag-space-10);
}

.ag-intake-type {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    min-height: 5rem;
    padding: var(--ag-space-12);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-card);
    background: var(--ag-surface);
    text-align: left;
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-intake-type:hover {
    background: var(--ag-hover);
}

/* Selection carries a marked stroke as well as a tint, because the tint alone sits far short of the
   three to one a component state owes a reader who cannot tell the two backgrounds apart. Declared
   after the hover rule so a pointer resting on the chosen card cannot erase the one signal that
   says it is chosen. */
.ag-intake-type--on,
.ag-intake-type--on:hover {
    background: var(--ag-brand-soft);
    box-shadow: inset 0 0 0 var(--ag-stroke-marked) var(--ag-brand);
}

.ag-intake-type__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ag-space-8);
    min-height: 1rem;
}

.ag-intake-type__check {
    color: var(--ag-brand);
}

.ag-intake-type__name {
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-intake-type__meta {
    margin-top: auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* What the chosen type produces */

.ag-intake-card {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    padding: var(--ag-space-14);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-sunken);
}

.ag-intake-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8);
}

.ag-intake-card__name {
    margin: 0;
    font: var(--ag-font-section);
    letter-spacing: var(--ag-tracking-section);
    color: var(--ag-ink);
}

/* The type's own description, written for whoever configures a type rather than for whoever reads
   this screen. It runs to four hundred characters on the residential appraisal, so it is capped at
   the point where it stops being a summary and starts being the thing between the reader and the
   checklist. */
.ag-intake-card__body {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

.ag-intake-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-6);
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-intake-card__dot {
    color: var(--ag-ink-3);
}

/* The tag a deliverable type is known by, in the step the archive rail sets the same tag in. It is
   an identifier standing for a type rather than a phrase anyone reads, which is what puts it in
   monospace. */
.ag-intake-tag {
    padding: 0 var(--ag-space-4);
    border-radius: var(--ag-radius-tag);
    background: var(--ag-sunken);
    color: var(--ag-ink-2);
    font: var(--ag-font-mono-micro);
    letter-spacing: var(--ag-tracking-mono-micro);
    white-space: nowrap;
}

/* What the type expects */

.ag-intake-slots__items {
    margin: 0;
    padding: 0;
    list-style: none;
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-block);
    overflow: hidden;
}

.ag-intake-slot {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--ag-space-4) var(--ag-space-12);
    padding: var(--ag-space-10) var(--ag-space-12);
}

.ag-intake-slot + .ag-intake-slot {
    border-top: var(--ag-stroke-hairline) solid var(--ag-line);
}

.ag-intake-slot__title {
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink);
}

/* A row the type never named, read off its role code instead. Monospace says the machine produced
   this string, which is both what section 8.2 asks of a machine-produced string and the only way a
   reader can tell a missing label from a chosen one. */
.ag-intake-slot__title--derived {
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    color: var(--ag-ink-2);
}

.ag-intake-slot__want {
    display: flex;
    align-items: baseline;
    gap: var(--ag-space-4);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
    white-space: nowrap;
}

.ag-intake-slot__need {
    color: var(--ag-ink-2);
}

/* The composer */

.ag-intake-composer {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-10);
    padding: var(--ag-space-12);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-surface);
}

/* One control doing one job: it takes a drop where a drop is possible and opens the picker
   everywhere, so nothing here is inert on a device that cannot drag. */
.ag-intake-drop {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ag-space-4);
    min-height: 6rem;
    padding: var(--ag-space-16);
    border: var(--ag-stroke-hairline) dashed var(--ag-line-strong);
    border-radius: var(--ag-radius-block);
    background: var(--ag-sunken);
    text-align: center;
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-intake-drop:hover {
    background: var(--ag-hover);
}

.ag-intake-drop--over {
    border-color: var(--ag-brand);
    background: var(--ag-brand-soft);
}

.ag-intake-drop__mark {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--ag-ink-3);
}

.ag-intake-drop__title {
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

.ag-intake-drop__hint {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-intake-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-6);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-intake-chip {
    display: flex;
    align-items: center;
    gap: var(--ag-space-4);
    max-width: 100%;
    padding: var(--ag-space-2) var(--ag-space-4) var(--ag-space-2) var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
}

/* A file name is a string the machine reported, so it is monospace, and it truncates rather than
   wrapping: a chip is a token and a two-line token stops reading as one. */
.ag-intake-chip__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    color: var(--ag-ink-2);
}

.ag-intake-chip__drop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    flex: none;
    border: 0;
    border-radius: var(--ag-radius-control);
    background: transparent;
    color: var(--ag-ink-3);
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-intake-chip__drop:hover {
    background: var(--ag-hover);
    color: var(--ag-ink);
}

.ag-intake-note {
    width: 100%;
    padding: var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    color: var(--ag-ink);
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    resize: vertical;
}

.ag-intake-note::placeholder {
    color: var(--ag-ink-3);
}

.ag-intake-note:disabled {
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
}

/* What the screen has to say back */

.ag-intake-notice {
    margin: 0;
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-control);
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
}

.ag-intake-notice--danger {
    background: var(--ag-danger-soft);
    color: var(--ag-ink);
}

/* `ok` is a glyph colour, so a success line takes its text in ink over the tint rather than in the
   green itself. */
.ag-intake-notice--ok {
    background: var(--ag-ok-soft);
    color: var(--ag-ink);
}

/* A package id has no spaces and no hyphens, so nothing in it is a break opportunity and a narrow
   column would be pushed sideways by one word. */
.ag-intake-mono {
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    overflow-wrap: anywhere;
}

/* Actions */

.ag-intake-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ag-space-8);
}

.ag-intake-actions__aside {
    margin: 0;
    flex: 1 1 auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* It stays in the document with nothing in it, because the run control names it as its description
   and a description that comes and goes leaves that pointing at nothing. */
.ag-intake-actions__aside:empty {
    display: none;
}

.ag-intake-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    min-height: 2rem;
    padding: var(--ag-space-6) var(--ag-space-12);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    color: var(--ag-ink-2);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--ag-dur-hover) ease-out;
}

.ag-intake-btn--go {
    border-color: var(--ag-brand);
    background: var(--ag-brand);
    color: var(--ag-ink-inv);
}

.ag-intake-btn--go:hover {
    background: var(--ag-brand-press);
}

.ag-intake-btn--go:disabled {
    border-color: var(--ag-line);
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
    cursor: not-allowed;
}

@media (any-pointer: coarse) {
    .ag-intake-btn {
        min-height: 2.75rem;
    }

    .ag-intake-chip__drop {
        width: 2.75rem;
        height: 2.75rem;
    }

    /* Two remove controls at the target size, six pixels apart, is one mis-tap from discarding the
       wrong document, and nothing here can undo that. */
    .ag-intake-chips {
        gap: var(--ag-space-10);
    }

    .ag-intake-type {
        min-height: 5.5rem;
    }
}

/* Phone */

@media (max-width: 40rem) {
    .ag-intake {
        gap: var(--ag-space-16);
        padding: var(--ag-space-16) var(--ag-space-12) var(--ag-space-24);
    }

    .ag-intake__body {
        gap: var(--ag-space-16);
    }

    /* One card per row. Two of these side by side leave each too narrow for a type name, and a name
       that wraps to three lines is what the reader is choosing between. */
    .ag-intake-choose__cards {
        grid-template-columns: 1fr;
    }

    /* The description gives up more of itself here, because at this width four lines of it push the
       checklist off the screen. */
    .ag-intake-card__body {
        -webkit-line-clamp: 3;
    }

    /* The requirement stays across from the name rather than dropping under it. A checklist is
       read down its right edge, where the states line up and the ones still to do stand out from
       the ones done. Wrapping each entry to two lines takes that column away and doubles the
       length of the list at the width where it is longest. The name gives up the room instead,
       since a title that has to ellipsize is still the second thing read. */
    .ag-intake-slot__title {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ag-intake-slot__want {
        flex: none;
    }

    /* Each control takes the full width, so the thumb finds it without aiming, and they keep the
       order they are read in: what is missing, then the run itself. */
    .ag-intake-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ag-intake-btn {
        justify-content: center;
    }
}

/* The package screen: the record of what the agent did, the contents of what it produced, and the
   one control that starts another run.

   Every colour, spacing, radius, stroke, duration and type value resolves through a token in
   agent.css, which is where DESIGN.md's scales live. Sizes those scales do not govern are written
   in `rem` rather than pixels, so a reader who enlarges their text enlarges the boxes holding it. */

.ag-run {
    width: 100%;
    padding: var(--ag-space-20) var(--ag-space-16) var(--ag-space-32);
    background: var(--ag-canvas);
    color: var(--ag-ink);
}

.ag-run :focus-visible,
.ag-composer :focus-visible {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

/* The file picker is hidden from sight but not from the keyboard, so its own ring would land on a
   one-pixel box in the corner. The control a reader sees is the label around it. */
.ag-composer__drop:focus-within {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

.ag-run__sheet {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-16);
    width: 100%;
    max-width: 76rem;
    margin-inline: auto;
}

/* Panels */

.ag-run__head,
.ag-record,
.ag-output,
.ag-contents,
.ag-composer {
    padding: var(--ag-space-16);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-surface);
}

/* The record answers what happened and the contents answer what exists. Side by side, because a
   reader watching a run is asking both at once. */
.ag-run__zones {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: var(--ag-space-16);
    align-items: start;
}

.ag-run__record,
.ag-run__composer {
    display: block;
    min-width: 0;
}

/* The output sits above the contents in one column: what the package produced, then what it is
   made of. Two panels rather than one, because a reader looking for the file is not reading the
   section list on the way to it. */
.ag-run__side {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-16);
    min-width: 0;
}

.ag-run__side > * {
    display: block;
    min-width: 0;
}

/* Folds

   A panel folded into a row it can be opened from, which is what a panel becomes when the screen
   has one column instead of three. The head is drawn only at that width: above it there is room
   for the panel itself, so the control has nothing to control, and `display: none` keeps it out of
   the tab order and out of a screen reader rather than merely out of sight. */

.ag-fold {
    min-width: 0;
}

/* The panel inside is a custom element, which is inline until told otherwise. */
.ag-fold__body > * {
    display: block;
    min-width: 0;
}

/* The rank is the panel's, so it is carried at every width. Whether it is drawn is the fold's,
   and above the breakpoint there is no fold. */
.ag-fold__title {
    display: none;
    margin: 0;
}

.ag-fold__head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    width: 100%;
    min-height: 2.75rem;
    padding: var(--ag-space-12);
    text-align: left;
    background: var(--ag-surface);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-panel);
    cursor: pointer;
}

.ag-fold__name {
    flex: 1 1 auto;
    min-width: 0;
    font: var(--ag-font-body-strong);
    color: var(--ag-ink);
}

.ag-fold__meta {
    flex: none;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-fold__mark {
    color: var(--ag-ink-3);
    transition: transform var(--ag-dur-disclose) ease;
}

.ag-fold--shut .ag-fold__mark {
    transform: rotate(-90deg);
}

/* The raw log's sheet takes its chrome from `agent-sheet.css`, which every sheet on this surface
   shares. Nothing about it is this screen's. */


/* Head */

/* Sticky, which is the whole reason the progress strip lives up here rather than only on the
   spine. The record runs past two screens on a finished package, and which phase is running has to
   stay answerable while the reader is down in the contents or typing into the composer. */
.ag-run__head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-12);
}

.ag-run__identity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8);
}

.ag-run__title {
    margin: 0;
    font: var(--ag-font-title);
    letter-spacing: var(--ag-tracking-title);
    color: var(--ag-ink);
}

/* Present at every width and quiet until it is wanted, because renaming is rare and the name is
   what the screen is read by. */
/* The padding is what carries this over the 24px minimum: the glyph inside it is 14. A mouse has
   to clear that floor too, so it is set here rather than only in the coarse-pointer block. */
.ag-run__rename {
    display: inline-flex;
    padding: var(--ag-space-6);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    color: var(--ag-ink-3);
    cursor: pointer;
    transition: color var(--ag-dur-hover) linear, background var(--ag-dur-hover) linear;
}

.ag-run__rename:hover {
    background: var(--ag-hover);
    color: var(--ag-ink);
}

.ag-run__renaming {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8);
    flex: 1 1 22rem;
}

/* Stated rather than left to be discovered, because the field has three ways out and two of them
   are keys. */
.ag-run__hint {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-run__field {
    flex: 1 1 16rem;
    min-width: 0;
    padding: var(--ag-space-6) var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    color: var(--ag-ink);
    font: var(--ag-font-title);
    letter-spacing: var(--ag-tracking-title);
}

/* Pushes the two actions to the far edge without a second flex container around them. */
.ag-run__spacer {
    flex: 1 1 var(--ag-space-16);
}

.ag-run__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-6);
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-contents__scope {
    margin: calc(-1 * var(--ag-space-8)) 0 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* State */

.ag-run-state {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-2) var(--ag-space-8);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-sunken);
    color: var(--ag-ink);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    white-space: nowrap;
}

.ag-run-state .ag-icon {
    color: var(--ag-ink-3);
}

.ag-run-state--running {
    background: var(--ag-brand-soft);
}

.ag-run-state--running .ag-icon {
    color: var(--ag-brand);
}

/* Completed carries no colour of its own in a list, and here it carries only the glyph: `ok` is a
   glyph colour and misses the text threshold at this size. */
.ag-run-state--completed .ag-icon {
    color: var(--ag-ok);
}

.ag-run-state--stopped,
.ag-run-state--partly_filled {
    background: var(--ag-warn-soft);
}

.ag-run-state--stopped .ag-icon,
.ag-run-state--partly_filled .ag-icon {
    color: var(--ag-warn);
}

.ag-run-state--failed {
    background: var(--ag-danger-soft);
}

.ag-run-state--failed .ag-icon {
    color: var(--ag-danger);
}

/* Progress */

.ag-strip {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-6);
}

.ag-strip__track {
    display: flex;
    gap: var(--ag-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-strip__step {
    flex: 1 1 0;
    height: var(--ag-space-4);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-line);
    transition: background var(--ag-dur-progress) ease-out;
}

.ag-strip__step--reached {
    background: var(--ag-brand);
}

/* How far a run that will get no further got. Brand is the running colour, and leaving it on a
   run that failed draws the one shape on the screen that still reads as moving. */
.ag-strip--failed .ag-strip__step--reached {
    background: var(--ag-danger);
}

.ag-strip--stopped .ag-strip__step--reached {
    background: var(--ag-warn);
}

.ag-strip__reading {
    display: flex;
    align-items: baseline;
    gap: var(--ag-space-8);
    margin: 0;
}

.ag-strip__phase {
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-strip__of {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-strip__spacer {
    flex: 1 1 var(--ag-space-8);
}

.ag-strip__elapsed {
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

/* The record */

.ag-record {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-12);
}

.ag-record__label,
.ag-contents__label {
    margin: 0;
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
    color: var(--ag-ink-3);
}

/* The spine is the list's own left border and the marker is one absolutely positioned element, so
   the timeline needs no measurement and no second element per phase to draw its rule. */
.ag-record__spine {
    /* Not a spacing value: the marker's own size, which the three offsets below are all halves of.
       Written once as a property so the timeline needs no arithmetic repeated as a literal, and so
       a bigger marker moves the rule and the mask with it. */
    --ag-marker: 1.375rem;
    --ag-gutter: var(--ag-space-24);

    display: flex;
    flex-direction: column;
    margin: 0 0 0 calc(var(--ag-marker) / 2);
    padding: 0 0 0 var(--ag-gutter);
    border-left: var(--ag-stroke-marked) solid var(--ag-spine);
    list-style: none;
}

.ag-phase {
    position: relative;
    padding: var(--ag-space-10) var(--ag-space-10) var(--ag-space-12);
    border-radius: var(--ag-radius-block);
}

/* The rule stops at the last marker. Carried to the foot of the last block it runs on past the
   end of the run and points at nothing. */
.ag-phase:last-child::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(-1 * (var(--ag-gutter) + var(--ag-stroke-marked)));
    width: var(--ag-stroke-marked);
    height: calc(100% - var(--ag-space-10) - var(--ag-marker) / 2);
    background: var(--ag-surface);
}

.ag-phase__marker {
    position: absolute;
    top: var(--ag-space-10);
    left: calc(-1 * (var(--ag-gutter) + var(--ag-marker) / 2));
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--ag-marker);
    height: var(--ag-marker);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-surface);
    color: var(--ag-ok);
}

.ag-phase__pip {
    width: var(--ag-space-6);
    height: var(--ag-space-6);
    border-radius: var(--ag-radius-pill);
    background: var(--ag-line-strong);
}

/* The summary sits inside the control, so the target is the whole two-line block the eye reads as
   one row rather than the single line the name occupies. */
.ag-phase__head {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

/* A phase nothing reached opens onto nothing, so it is not a control. */
.ag-phase__head:disabled {
    cursor: default;
}

.ag-phase__line {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    width: 100%;
}

.ag-phase__name {
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-phase__time {
    margin-left: auto;
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-phase__chevron {
    color: var(--ag-ink-3);
    transition: transform var(--ag-dur-disclose) ease-out;
}

.ag-phase--open .ag-phase__chevron {
    transform: rotate(90deg);
}

.ag-phase__summary {
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

/* A phase nothing reached says so and states no duration, because a zero reads as work that took
   no time rather than as work that never happened. */
.ag-phase--idle .ag-phase__name,
.ag-phase--idle .ag-phase__summary {
    color: var(--ag-ink-3);
}

.ag-phase--idle .ag-phase__marker {
    color: var(--ag-line-strong);
}

/* The one phase moving right now, tinted for as long as it is the one moving. */
.ag-phase--now {
    background: var(--ag-brand-soft);
}

.ag-phase--now .ag-phase__marker {
    background: var(--ag-brand-soft);
    color: var(--ag-brand);
}

/* Where a run that did not finish stopped. It is the phase a reader looks for first on a failed
   run, and the tick every other reached phase carries would report it as done. */
.ag-phase--halted {
    background: var(--ag-danger-soft);
}

.ag-phase--halted .ag-phase__marker {
    background: var(--ag-danger-soft);
    color: var(--ag-danger);
}

/* A run that went quiet failed at nothing. It stopped reporting, which is the one state whose
   recovery is to run it again, and the vocabulary gives that `warn` everywhere else it appears. */
.ag-record__spine--stopped .ag-phase--halted,
.ag-record__spine--stopped .ag-phase--halted .ag-phase__marker {
    background: var(--ag-warn-soft);
}

.ag-record__spine--stopped .ag-phase--halted .ag-phase__marker {
    color: var(--ag-warn);
}

/* Opens on height rather than appearing, which is what a disclosure does in this system. One grid
   row going from nothing to its content's own size, so no measurement and no fixed max-height that
   would clip a phase with more tools than the next. */
.ag-phase__vault {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--ag-dur-disclose) ease-out;
}

.ag-phase__vault--open {
    grid-template-rows: 1fr;
}

.ag-phase__detail {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    min-height: 0;
    overflow: hidden;
}

.ag-phase__vault--open .ag-phase__detail {
    margin-top: var(--ag-space-10);
    padding-top: var(--ag-space-10);
    border-top: var(--ag-stroke-hairline) solid var(--ag-line);
}

.ag-phase__none {
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* The one place a tool name appears. Right-aligned and monospace at the lowest contrast the system
   carries, so it reads as machine detail rather than as something a person is asked to follow. */
.ag-phase__tools {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: ag-tool;
    text-align: right;
}

/* Numbered, because a phase that called the same tool three times reads as a rendering fault
   otherwise. The number is what says these are three calls rather than one drawn thrice. */
.ag-phase__tool {
    counter-increment: ag-tool;
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-phase__tool::before {
    content: counter(ag-tool) ". ";
}

.ag-phase__raw {
    align-self: flex-start;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    text-decoration: underline;
    cursor: pointer;
}

.ag-phase__raw:hover {
    color: var(--ag-ink);
}

/* One level below the tool names, and labelled for who it is for. An upstream error quoted word
   for word is the one machine string allowed on this screen, and this is where it is allowed. */
.ag-phase__events {
    margin: 0;
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-block);
    background: var(--ag-sunken);
    list-style: none;
    overflow-x: auto;
}

.ag-phase__event {
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    color: var(--ag-ink-3);
    white-space: pre;
}

/* The one success strip in the system, and the only place `ok-soft` is used. It closes a run, so
   it sits at the foot of the record rather than at the top of the screen. */
.ag-record__done {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-10);
    padding: var(--ag-space-12) var(--ag-space-14);
    border-radius: var(--ag-radius-block);
    background: var(--ag-ok-soft);
}

.ag-record__done-mark {
    flex: none;
    color: var(--ag-ok);
}

/* The label takes `ink`, not `ok`. Green carries the meaning in the glyph beside it. */
.ag-record__done-text {
    flex: 1 1 14rem;
    margin: 0;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-record__support {
    align-self: flex-start;
}

/* The contents */

.ag-contents {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-12);
}

.ag-record__blank,
.ag-contents__blank {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-3);
}

.ag-family + .ag-family {
    margin-top: var(--ag-space-12);
}

.ag-family__head {
    display: flex;
    align-items: baseline;
    gap: var(--ag-space-8);
    margin: 0 0 var(--ag-space-4);
    padding-bottom: var(--ag-space-4);
    border-bottom: var(--ag-stroke-hairline) solid var(--ag-line);
}

.ag-family__name {
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-family__count {
    margin-left: auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-family__rows {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-crow__head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-6);
    width: 100%;
    padding: var(--ag-space-6) var(--ag-space-4);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-crow__head:hover {
    background: var(--ag-hover);
}

.ag-crow__chevron {
    flex: none;
    color: var(--ag-ink-3);
    transition: transform var(--ag-dur-disclose) ease-out;
}

.ag-crow--open .ag-crow__chevron {
    transform: rotate(90deg);
}

.ag-crow__name {
    overflow: hidden;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-crow__count {
    margin-left: auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
    white-space: nowrap;
}

/* A row holding less than it set out to is the one thing in this list a reader has to decide
   about, so it is the only count that carries a colour. */
.ag-crow__count--short {
    color: var(--ag-warn);
}

.ag-crow__sections {
    margin: 0 0 var(--ag-space-4);
    padding: 0 0 0 var(--ag-space-20);
    list-style: none;
}

.ag-section {
    display: flex;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-4) var(--ag-space-6);
    border-radius: var(--ag-radius-control);
    transition: background var(--ag-dur-tint) ease-out;
}

.ag-section__mark {
    flex: none;
    color: var(--ag-line-strong);
}

.ag-section__name {
    overflow: hidden;
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    color: var(--ag-ink-2);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-section__state {
    margin-left: auto;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
    white-space: nowrap;
}

.ag-section--completed .ag-section__mark {
    color: var(--ag-ok);
}

.ag-section--partial .ag-section__mark,
.ag-section--partial .ag-section__state {
    color: var(--ag-warn);
}

.ag-section--failed .ag-section__mark,
.ag-section--failed .ag-section__state {
    color: var(--ag-danger);
}

.ag-section--filling .ag-section__mark {
    color: var(--ag-brand);
}

.ag-section--filling .ag-section__state {
    font-weight: 600;
    color: var(--ag-ink);
}

/* The only transient highlight in the system, and it is backed by a poll that reported this one
   section changing state. */
.ag-section--moved {
    background: var(--ag-brand-soft);
}

@media (prefers-reduced-motion: reduce) {
    .ag-section--moved {
        background: none;
    }
}

/* The output rail */

.ag-output {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-12);
}

.ag-output__head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    color: var(--ag-ink-2);
}

.ag-output__title {
    margin: 0;
    color: var(--ag-ink);
    font: var(--ag-font-section);
    letter-spacing: var(--ag-tracking-section);
}

/* Sunken rather than outlined, because nothing has happened here yet and a card with a border
   promises content that is on its way. */
.ag-output__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-20) var(--ag-space-16);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-block);
    background: var(--ag-sunken);
    text-align: center;
}

.ag-output__empty-mark {
    width: 1.3125rem;
    height: 1.3125rem;
    flex: none;
    color: var(--ag-line-strong);
}

.ag-output__empty-title {
    margin: 0;
    color: var(--ag-ink-2);
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
}

.ag-output__empty-body {
    margin: 0;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
}

.ag-output__runs {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-output__label {
    margin: var(--ag-space-8) 0 var(--ag-space-6);
    color: var(--ag-ink-3);
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
}

.ag-runbox {
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-block);
    background: var(--ag-surface);
}

/* The run being read takes the marked stroke and the brand tint, which is the one place in this
   panel where a colour means selection rather than state. Drawn as an outline rather than a
   thicker border, because a border that grows on selection moves everything inside it. */
.ag-runbox--open {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: calc(-1 * var(--ag-stroke-marked));
    border-color: var(--ag-brand);
    background: var(--ag-brand-soft);
}

.ag-runbox__head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    width: 100%;
    margin: 0;
    padding: var(--ag-space-8) var(--ag-space-10);
    border: 0;
    background: none;
    color: inherit;
    text-align: left;
}

.ag-runbox__head--act {
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-runbox__head--act:hover {
    background: var(--ag-hover);
}

.ag-runbox--open .ag-runbox__head--act:hover {
    background: none;
}

.ag-runbox__chevron {
    flex: none;
    color: var(--ag-ink-3);
    transition: transform var(--ag-dur-disclose) ease-out;
}

.ag-runbox--open .ag-runbox__chevron {
    transform: rotate(90deg);
}

/* Mono, because a run number is machine-assigned identity rather than a word anybody wrote. */
.ag-runbox__name {
    color: var(--ag-ink);
    font: var(--ag-font-mono-micro);
    letter-spacing: var(--ag-tracking-mono-micro);
    text-transform: uppercase;
}

/* No colour. Which run is newest is a position in a list that already reads newest first, and
   brand carries meaning in this system rather than decoration. */
.ag-runbox__now {
    color: var(--ag-ink-3);
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
}

.ag-runbox__spacer {
    flex: 1 1 auto;
}

.ag-runbox__when {
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* One grid row going from nothing to its content's own size, the same disclosure the phase spine
   uses, so no measurement and no fixed height that would clip a run with more files than the
   next. */
.ag-runbox__vault {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--ag-dur-disclose) ease-out;
}

.ag-runbox__vault--open {
    grid-template-rows: 1fr;
}

.ag-runbox__body {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    min-height: 0;
    overflow: hidden;
}

.ag-runbox__vault--open .ag-runbox__body {
    padding: 0 var(--ag-space-10) var(--ag-space-10);
}

/* Ink rather than warn. This line sits on `brand-soft`, and warn on that tint measures 4.45:1,
   which is the one crossing of a meaning colour with another meaning's tint that the palette does
   not clear. Ink clears it at 15.75:1, and the sentence reads as the warning it is without the
   colour. */
.ag-runbox__aside {
    margin: 0;
    color: var(--ag-ink);
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
}

.ag-runbox__acts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-6);
    margin: 0;
}

.ag-runbox__gone {
    margin: 0;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
}

.ag-runbox__label {
    margin: var(--ag-space-2) 0 0;
    color: var(--ag-ink-3);
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
}

.ag-runbox__files {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-runbox__carry {
    margin: 0;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
}

/* The deliverable itself */

.ag-file {
    display: flex;
    align-items: center;
    gap: var(--ag-space-10);
    padding: var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-block);
    background: var(--ag-surface);
}

.ag-file__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2rem;
    height: 2.375rem;
    border-radius: var(--ag-radius-control);
    background: var(--ag-danger-soft);
    color: var(--ag-danger);
}

.ag-file__body {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
    min-width: 0;
}

.ag-file__name {
    color: var(--ag-ink);
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
}

.ag-file__meta {
    overflow: hidden;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* One file a person handed to the run. Monospace on the name, which is a string the machine was
   given rather than one anybody wrote. */
.ag-infile {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-4) var(--ag-space-2);
    min-width: 0;
}

.ag-infile__mark {
    flex: none;
    color: var(--ag-ink-3);
}

.ag-infile__name {
    overflow: hidden;
    color: var(--ag-ink-2);
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-infile__meta {
    flex: none;
    margin-left: auto;
    color: var(--ag-ink-3);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
}

/* The composer */

.ag-composer {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-10);
}

.ag-composer__drop {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-12) var(--ag-space-14);
    border: var(--ag-stroke-hairline) dashed var(--ag-line-strong);
    border-radius: var(--ag-radius-block);
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear, border-color var(--ag-dur-hover) linear;
}

.ag-composer__drop:hover,
.ag-composer__drop--over {
    border-color: var(--ag-brand);
    background: var(--ag-brand-soft);
}

.ag-composer__drop-title {
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-composer__drop-hint {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-composer__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-6);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-4) var(--ag-space-4) var(--ag-space-4) var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
}

.ag-chip__name {
    max-width: 14rem;
    overflow: hidden;
    font: var(--ag-font-mono);
    letter-spacing: var(--ag-tracking-mono);
    color: var(--ag-ink-2);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-chip__drop {
    display: inline-flex;
    padding: var(--ag-space-2);
    border: 0;
    border-radius: var(--ag-radius-tag);
    background: none;
    color: var(--ag-ink-3);
    cursor: pointer;
}

.ag-chip__drop:hover {
    color: var(--ag-danger);
}

.ag-composer__note {
    width: 100%;
    padding: var(--ag-space-8) var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-block);
    background: var(--ag-surface);
    color: var(--ag-ink);
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    resize: vertical;
}

.ag-composer__note::placeholder {
    color: var(--ag-ink-3);
}

.ag-composer__note:disabled {
    background: var(--ag-sunken);
}

.ag-composer__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-10);
}

.ag-composer__aside {
    flex: 1 1 12rem;
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* An empty node is still a node, and `aria-describedby` pointing at one describes the run control
   as nothing at all. */
.ag-composer__aside:empty {
    display: none;
}

/* Buttons and notices, shared by the head, the record and the composer */

.ag-run-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    padding: var(--ag-space-6) var(--ag-space-12);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-surface);
    color: var(--ag-ink);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-run-btn:hover:not(:disabled) {
    background: var(--ag-hover);
}

.ag-run-btn--go {
    border-color: transparent;
    background: var(--ag-brand);
    color: var(--ag-ink-inv);
}

.ag-run-btn--go:hover:not(:disabled) {
    background: var(--ag-brand-press);
}

.ag-run-btn:disabled {
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
    border-color: var(--ag-line);
    cursor: default;
}

.ag-run-notice {
    margin: 0;
    padding: var(--ag-space-8) var(--ag-space-10);
    border-radius: var(--ag-radius-block);
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
}

.ag-run-notice--danger {
    background: var(--ag-danger-soft);
    color: var(--ag-ink);
}

/* A run that failed */

.ag-run-alarm {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-10);
    padding: var(--ag-space-12) var(--ag-space-14);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-danger-soft);
}

.ag-run-alarm__body {
    flex: 1 1 18rem;
}

.ag-run-alarm__mark {
    flex: none;
    margin-top: var(--ag-space-2);
    color: var(--ag-danger);
}

.ag-run-alarm__title {
    margin: 0;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
}

.ag-run-alarm__text {
    margin: var(--ag-space-2) 0 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

/* Nothing has arrived yet */

.ag-run-skel {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-10);
    width: 100%;
    max-width: 76rem;
    margin-inline: auto;
    padding: var(--ag-space-16);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-surface);
}

.ag-run-skel__bar {
    height: 0.75rem;
    width: 60%;
    border-radius: var(--ag-radius-tag);
    background: var(--ag-placeholder);
    animation: ag-run-wait var(--ag-dur-spin) ease-in-out infinite;
}

.ag-run-skel__bar--title {
    height: 1.125rem;
    width: 40%;
}

/* Two columns of bars, because the screen that arrives has two. A single column standing in for a
   split layout guarantees the reflow it exists to prevent. */
.ag-run-skel__zones {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: var(--ag-space-16);
    margin-top: var(--ag-space-8);
}

.ag-run-skel__zone {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-10);
}

.ag-run-skel__bar--wide {
    width: 85%;
}

.ag-run-skel__bar--short {
    width: 35%;
}

/* A pulse claims a request is in flight and nothing else, which is true for exactly as long as it
   runs. */
@keyframes ag-run-wait {
    50% {
        opacity: 0.45;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-run-skel__bar {
        animation: none;
    }
}

/* The connection went */

.ag-run-lost {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-10);
    width: 100%;
    max-width: 76rem;
    margin: 0 auto var(--ag-space-16);
    padding: var(--ag-space-14) var(--ag-space-16);
    border: var(--ag-stroke-hairline) solid var(--ag-warn);
    border-radius: var(--ag-radius-panel);
    background: var(--ag-warn-soft);
}

.ag-run-lost > div {
    flex: 1 1 18rem;
}

.ag-run-lost__title {
    margin: 0;
    font: var(--ag-font-section);
    letter-spacing: var(--ag-tracking-section);
    color: var(--ag-ink);
}

.ag-run-lost__body {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-2);
}

@media (any-pointer: coarse) {
    .ag-run-btn {
        min-height: 2.75rem;
    }

    .ag-run__rename,
    .ag-chip__drop {
        width: 2.75rem;
        height: 2.75rem;
    }

    /* Two remove controls at the target size, six pixels apart, is one mis-tap from discarding the
       wrong document, and nothing here can undo that. */
    .ag-composer__chips {
        gap: var(--ag-space-10);
    }

    /* The phase block and the contents row are the two things a finger opens on this screen, and
       both are one text line tall by default. */
    .ag-phase__head {
        min-height: 2.75rem;
        justify-content: center;
    }

    .ag-crow__head {
        min-height: 2.75rem;
    }

    .ag-phase__raw {
        min-height: 2.75rem;
    }

    /* And the run, which is the third. Opening one switches the record as well as this panel, so
       a mis-tap here costs the reader the run they were reading. */
    .ag-runbox__head--act {
        min-height: 2.75rem;
    }
}

/* Narrow. The contents drop under the record rather than beside it, because the record is what the
   screen is opened for and a 20rem column beside it at this width is two columns of nothing. */
@media (max-width: 60rem) {
    .ag-run__zones,
    .ag-run-skel__zones {
        grid-template-columns: minmax(0, 1fr);
    }

    /* The two panels of the side column become siblings of the record, so the deliverable can
       come first. Stacked as one block it would sit under a record that runs past two screens,
       which puts the thing the reader came for below the fold on every phone. */
    .ag-run__side {
        display: contents;
    }

    .ag-run__side > agent-output {
        order: -1;
    }

    .ag-run__spacer {
        flex-basis: 100%;
    }
}

/* Phone */

@media (max-width: 40rem) {
    .ag-run {
        padding: var(--ag-space-12) var(--ag-space-12) var(--ag-space-24);
    }

    .ag-fold__title {
        display: block;
    }

    .ag-fold--shut .ag-fold__body {
        display: none;
    }

    /* Open, the head and the panel are one block with a head, so the seam between them closes:
       two cards of the same radius and the same fill, meeting edge to edge across a doubled
       hairline, read as two unrelated things rather than one opened thing. */
    .ag-fold:not(.ag-fold--shut) .ag-fold__head {
        border-bottom: 0;
        border-end-start-radius: 0;
        border-end-end-radius: 0;
    }

    /* The panel, not the custom element around it: the element is a transparent box and the
       corners belong to the surface inside it. */
    .ag-fold:not(.ag-fold--shut) .ag-record,
    .ag-fold:not(.ag-fold--shut) .ag-contents {
        border-start-start-radius: 0;
        border-start-end-radius: 0;
    }

    /* The fold row above each panel already names it, and at this width the two sit against each
       other with nothing between. The record's row carries the run number as well, so its heading
       would be repeating what the row and the deliverable card have both just said. */
    .ag-fold__body .ag-record__label,
    .ag-fold__body .ag-contents__label {
        display: none;
    }

    .ag-run__head,
    .ag-record,
    .ag-output,
    .ag-contents,
    .ag-composer {
        padding: var(--ag-space-12);
    }

    /* The two actions go full width rather than sitting side by side on a 390px line, where the
       label of the second wraps under its own icon. */
    .ag-runbox__acts .ag-run-btn {
        flex: 1 1 100%;
        justify-content: center;
    }

    .ag-run__head {
        gap: var(--ag-space-8);
    }

    .ag-run__title {
        font: var(--ag-font-section);
        letter-spacing: var(--ag-tracking-section);
    }

    /* The spine gives back half its indent: at this width the marker gutter is competing with the
       words for a 390px line. Moving the gutter moves the marker and the mask with it, which is
       what the property is for. */
    .ag-record__spine {
        --ag-gutter: var(--ag-space-16);

        padding-left: var(--ag-gutter);
    }

    .ag-phase {
        padding-inline: var(--ag-space-6);
    }
}

/* The sheet: what a panel, a menu or a disclosure becomes where there is no room for it in the
   flow. Section 8.7 of DESIGN.md defines it, this file is that definition in CSS.

   Its own file rather than a block inside the first screen that needed one. Two screens draw
   sheets and they arrive by different machinery, one from a framework binding and one from a
   Bootstrap dropdown, so a chrome living beside either of them makes that screen's stylesheet a
   dependency of the other, and the third sheet copies it a third time.

   What belongs here is the chrome every sheet shares. How a given sheet is put on screen belongs
   to whatever puts it there: the full-screen variant is below, and the menu that becomes a partial
   sheet is positioned by the archive, because turning a dropdown into one is a fact about
   dropdowns. */

/* Above the breakpoint none of this is drawn: the contents sit in the flow of whatever holds them
   and the chrome would be furniture around nothing. */
.ag-sheet__scrim,
.ag-sheet__head,
.ag-sheet__foot {
    display: none;
}

/* A wrapper that exists only to hold the scrim and the sheet under one condition, so the two
   cannot be drawn or removed separately. */
.ag-sheet-layer {
    display: contents;
}

.ag-sheet {
    min-width: 0;
}

@media (max-width: 40rem) {
    /* Full screen, stopping short of the top so the screen it covers stays visible as a strip.
       That strip is what says this is over something rather than instead of it. */
    .ag-sheet {
        position: fixed;
        inset: var(--ag-space-32) 0 0 0;
        z-index: 1041;
        display: flex;
        flex-direction: column;
        background: var(--ag-surface);
        border-radius: var(--ag-radius-sheet) var(--ag-radius-sheet) 0 0;
    }

    /* Just under the sheet, so the strip it leaves and everything behind it dim together. An
       element rather than a spread shadow on the sheet itself, because a shadow cannot be tapped
       and tapping the dimmed part is how a sheet is dismissed. Bootstrap's fixed layer sits at
       1030, so an app bar cannot punch through either of these. */
    .ag-sheet__scrim {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: var(--ag-scrim);
    }

    .ag-sheet__head {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: var(--ag-space-8);
        flex: none;
        padding: var(--ag-space-8) var(--ag-space-8) var(--ag-space-12) var(--ag-space-16);
        border-bottom: var(--ag-stroke-hairline) solid var(--ag-line);
    }

    /* The handle a sheet is dragged by everywhere else, drawn here because a reader who has seen
       one expects to find it and its absence reads as a panel that failed to be a sheet. */
    .ag-sheet__grab {
        grid-column: 1 / -1;
        justify-self: center;
        width: 2.375rem;
        height: var(--ag-space-4);
        margin-bottom: var(--ag-space-8);
        background: var(--ag-line-strong);
        border-radius: var(--ag-radius-pill);
    }

    /* The object being acted on. A sheet has left the thing it belongs to behind, so it names it
       again. */
    .ag-sheet__heading {
        display: flex;
        flex-direction: column;
        gap: var(--ag-space-2);
        min-width: 0;
    }

    .ag-sheet__title {
        font: var(--ag-font-body-strong);
        color: var(--ag-ink);
    }

    .ag-sheet__meta {
        font: var(--ag-font-meta);
        letter-spacing: var(--ag-tracking-meta);
        color: var(--ag-ink-3);
    }

    .ag-sheet__close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        color: var(--ag-ink-2);
        background: none;
        border: 0;
        border-radius: var(--ag-radius-control);
        cursor: pointer;
    }

    .ag-sheet__close:focus-visible {
        outline: var(--ag-stroke-marked) solid var(--ag-brand);
        outline-offset: calc(var(--ag-space-2) * -1);
    }

    .ag-sheet__body {
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        padding: var(--ag-space-12) var(--ag-space-16);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    /* One action, held against the bottom edge where a thumb is. A partial sheet carries none,
       because there tapping an item is the action. */
    .ag-sheet__foot {
        display: flex;
        flex: none;
        padding: var(--ag-space-12) var(--ag-space-16)
            max(var(--ag-space-16), env(safe-area-inset-bottom));
        border-top: var(--ag-stroke-hairline) solid var(--ag-line);
    }

    .ag-sheet__foot > * {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* The surface holding the archive and whatever is being worked in.

   Two panes, both always in the document. A wide viewport shows them side by side, a narrow one
   shows the one the reader went to, and `.ag-shell--reading` on the root is where they went. The
   width is the only thing the stylesheet decides, which is why no controller here measures the
   window: a layout that reads its own width in JavaScript has two answers to the same question and
   they disagree for one frame on every resize.

   Each pane is its own scroll container. That is not a detail of the look: a reader who scrolls
   fifty packages down the archive, opens one and comes back has not asked to be returned to the
   top, and a single page scroll cannot hold two positions at once. */

.ag-shell {
    display: flex;
    /* The app bar is above this and does not scroll with it, so the surface takes what is left.
       `dvh` rather than `vh`, because a phone's address bar collapses on scroll and `vh` keeps
       the taller number, leaving the last row of a pane under the browser's own chrome. */
    height: calc(100dvh - var(--ag-appbar));
    background: var(--ag-canvas);
}

.ag-shell__rail {
    display: flex;
    flex: none;
    min-height: 0;
}

/* A custom element is inline until told otherwise, and the rail inside it asks for the full
   height of something that has none. */
.ag-shell__rail > agent-archive {
    display: block;
    min-width: 0;
    height: 100%;
}

.ag-shell__pane {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

/* Outside the scroll container rather than at the top of it, so the way back does not scroll away
   and the screen below keeps its own sticky header against the edge it actually has. */
.ag-shell__crumb {
    display: none;
    flex: none;
    align-items: center;
    padding: var(--ag-space-6) var(--ag-space-12);
    background: var(--ag-surface);
    border-bottom: var(--ag-stroke-hairline) solid var(--ag-line);
}

.ag-shell__back {
    display: inline-flex;
    align-items: center;
    gap: var(--ag-space-6);
    min-height: 2.75rem;
    padding: var(--ag-space-6) var(--ag-space-8);
    font: var(--ag-font-body);
    color: var(--ag-ink-2);
    background: none;
    border: 0;
    border-radius: var(--ag-radius-control);
    cursor: pointer;
    transition: color var(--ag-dur-hover) linear;
}

.ag-shell__back:hover {
    color: var(--ag-ink);
}

.ag-shell__back:focus-visible {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

.ag-shell__main > * {
    display: block;
    min-width: 0;
    /* A screen taller than the pane keeps its own height and lets the pane scroll, rather than
       being squashed to fit the way a flex item otherwise would. */
    flex: none;
}

/* Creating a package puts little on screen and the rest of the pane is empty, so the screen sits in
   the middle of it.

   `margin-block: auto` rather than centring from the container: auto margins resolve to zero once
   the content outgrows the pane, so a filled form starts at the top and stays reachable, where a
   centred container would push its first rows above the scrollable area. */
.ag-shell__main > agent-intake {
    margin-block: auto;
}

.ag-shell__main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    /* A pane that has reached its end stops there rather than handing the rest of the gesture to
       the document, which on a phone is what pulls the page out from under a reader. */
    overscroll-behavior: contain;
}

/* Room for one pane, so the reader's position decides which. */

@media (max-width: 40rem) {
    .ag-shell__rail {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ag-shell--reading .ag-shell__rail {
        display: none;
    }

    .ag-shell:not(.ag-shell--reading) .ag-shell__pane {
        display: none;
    }

    .ag-shell__crumb {
        display: flex;
    }
}

/* The deliverable viewer.

   The document itself is pdf.js in an iframe, which this screen cannot lay out and does not try to.
   What it owns is everything around that frame: the toolbar that names the package and the run, and
   the rail that turns thirty pages into the forms they came from. The frame's own page and zoom
   controls are hidden at their source, so every control on this screen exists exactly once.

   Tokens come from agent.css and are scoped to .agent-ui, per the migration boundary in DESIGN.md
   section 9. The shared .ag-tag and .ag-run-btn are reused rather than restated. */

/* The dynamic viewport unit, because the document has to stay reachable while a phone's URL bar
   is on screen. `100vh` there is the tall viewport, which pushes the frame's own save control
   under the browser chrome. */
.ag-view {
    position: relative;
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--ag-appbar));
    background: var(--ag-canvas);
}

.ag-view :focus-visible {
    outline: var(--ag-stroke-marked) solid var(--ag-brand);
    outline-offset: var(--ag-space-2);
}

/* The toolbar */

.ag-view__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ag-space-8) var(--ag-space-16);
    padding: var(--ag-space-10) var(--ag-space-16);
    background: var(--ag-surface);
    border-bottom: var(--ag-stroke-hairline) solid var(--ag-line);
}

.ag-view__identity {
    display: flex;
    align-items: baseline;
    gap: var(--ag-space-8);
    min-width: 0;
}

.ag-view__title {
    margin: 0;
    font: var(--ag-font-title);
    letter-spacing: var(--ag-tracking-title);
    color: var(--ag-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ag-view__meta {
    margin: 0;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
    white-space: nowrap;
}

.ag-view__spacer {
    flex: 1;
}

/* Page movement and zoom, which this screen draws in place of the frame's own */

.ag-view__pager,
.ag-view__zoom {
    display: flex;
    align-items: center;
    gap: var(--ag-space-4);
}

.ag-view__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--ag-radius-control);
    background: transparent;
    color: var(--ag-ink-2);
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-view__step:hover:not(:disabled) {
    background: var(--ag-hover);
}

.ag-view__step:disabled {
    color: var(--ag-ink-3);
    opacity: 0.45;
    cursor: default;
}

.ag-view__at {
    display: inline-flex;
}

/* Sunken rather than white, because the toolbar is white and a hairline is then the only thing
   saying where the field is, which is the case a boundary is not allowed to carry alone. */
.ag-view__page-field {
    width: 2.75rem;
    padding: var(--ag-space-2) var(--ag-space-4);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink);
    text-align: center;
}

.ag-view__of,
.ag-view__scale {
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
    white-space: nowrap;
}

.ag-view__scale {
    min-width: 2.75rem;
    text-align: center;
}

/* The section select, which is the rail on a viewport with no room for one */

.ag-view__jump {
    display: none;
}

.ag-view__select {
    max-width: 11rem;
    padding: var(--ag-space-4) var(--ag-space-8);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    color: var(--ag-ink);
}

/* The rail and the document */

.ag-view__body {
    display: flex;
    flex: 1;
    min-height: 0;
}

.ag-view__rail {
    flex: none;
    width: 15rem;
    overflow-y: auto;
    padding: var(--ag-space-16) var(--ag-space-12);
    background: var(--ag-surface);
    border-right: var(--ag-stroke-hairline) solid var(--ag-line);
    scrollbar-width: thin;
    scrollbar-color: var(--ag-line-strong) transparent;
}

.ag-view__rail::-webkit-scrollbar {
    width: var(--ag-space-6);
}

.ag-view__rail::-webkit-scrollbar-thumb {
    background-color: var(--ag-line-strong);
    border-radius: var(--ag-radius-pill);
}

.ag-view__rail-label {
    margin: 0;
    font: var(--ag-font-micro);
    letter-spacing: var(--ag-tracking-micro);
    text-transform: uppercase;
    color: var(--ag-ink-3);
}

.ag-view__rail-sub {
    margin: var(--ag-space-2) 0 var(--ag-space-12);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

.ag-view__rail-label + .ag-view__pages {
    margin-top: var(--ag-space-12);
}

.ag-view__sections {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-view__section {
    display: flex;
    align-items: center;
    gap: var(--ag-space-6);
    width: 100%;
    padding: var(--ag-space-6) var(--ag-space-8);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: transparent;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    color: var(--ag-ink);
    text-align: left;
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

/* Hover steps aside where the section is already open. `--ag-hover` and `--ag-brand-soft` are
   close enough that a reader cannot tell them apart on adjacent rows, so a hovered row would
   otherwise read as the selected one. */
.ag-view__section:hover:not(.ag-view__section--open) {
    background: var(--ag-hover);
}

.ag-view__section--open {
    background: var(--ag-brand-soft);
    color: var(--ag-brand-press);
}

.ag-view__section-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Right-aligned in a fixed column, so the ranges read down the rail as one list of numbers
   rather than each one sitting wherever its section's code tag left it. */
.ag-view__section-range {
    flex: none;
    min-width: 2.5rem;
    text-align: right;
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-3);
}

.ag-view__pages {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ag-space-4);
    margin: var(--ag-space-4) 0 var(--ag-space-8);
    padding: 0 0 0 var(--ag-space-8);
    list-style: none;
}

.ag-view__pages--flat {
    padding-left: 0;
}

/* Filled rather than outlined, because the rail is the same white as a `surface` button and the
   line would be the only thing separating them, which is the case DESIGN.md 8.1 exempts lines
   from carrying. */
.ag-view__page {
    min-width: 1.875rem;
    height: 1.875rem;
    padding: 0 var(--ag-space-4);
    border: var(--ag-stroke-hairline) solid var(--ag-line);
    border-radius: var(--ag-radius-control);
    background: var(--ag-sunken);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    font-variant-numeric: tabular-nums;
    color: var(--ag-ink-2);
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-view__page:hover:not(.ag-view__page--on) {
    background: var(--ag-hover);
}

/* The page a reader is on is the one thing on this rail that must not be read off a tint. It
   takes the filled brand surface, which `brand-soft` cannot be confused with. */
.ag-view__page--on {
    border-color: transparent;
    background: var(--ag-brand);
    color: var(--ag-ink-inv);
}

.ag-view__rail-note {
    margin: var(--ag-space-16) 0 0;
    padding-top: var(--ag-space-12);
    border-top: var(--ag-stroke-hairline) solid var(--ag-line);
    font: var(--ag-font-meta);
    letter-spacing: var(--ag-tracking-meta);
    color: var(--ag-ink-3);
}

/* Out of the way until it is the thing being used, which is the only time it helps anyone. */
.ag-view__skip {
    position: absolute;
    top: 3.25rem;
    left: -100vw;
    z-index: 2;
    padding: var(--ag-space-8) var(--ag-space-12);
    border-radius: var(--ag-radius-control);
    background: var(--ag-brand);
    color: var(--ag-ink-inv);
    font: var(--ag-font-ui);
    letter-spacing: var(--ag-tracking-ui);
    text-decoration: none;
}

.ag-view__skip:focus-visible {
    left: var(--ag-space-12);
}

.ag-view__doc {
    position: relative;
    flex: 1;
    min-width: 0;
}

/* Over the frame rather than instead of it, so pdf.js keeps booting underneath and the reader is
   not looking at an empty rectangle wondering whether anything is happening. */
.ag-view__waiting {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ag-space-12);
    background: var(--ag-sunken);
    text-align: center;
}

.ag-view__waiting-mark {
    width: 1.25rem;
    height: 1.25rem;
    border: var(--ag-stroke-marked) solid var(--ag-line-strong);
    border-top-color: var(--ag-brand);
    border-radius: var(--ag-radius-pill);
}

.ag-view__waiting-text {
    max-width: 22rem;
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-3);
}

.ag-view__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* The editor

   The words a run composed are stored, not read off the page, so this panel is the only place they
   can be changed. It sits beside the document rather than over it, because the reader is comparing
   the two: the sentence they are fixing is on the page behind their cursor.

   Its own scroll container: a letter runs past the frame, and the frame holds a reading position
   of its own that one page scroll cannot carry as well. */

.ag-view__editor {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: var(--ag-space-12);
    width: 26rem;
    overflow-y: auto;
    padding: var(--ag-space-16) var(--ag-space-12);
    background: var(--ag-surface);
    border-left: var(--ag-stroke-hairline) solid var(--ag-line);
    scrollbar-width: thin;
    scrollbar-color: var(--ag-line-strong) transparent;
}

.ag-view__editor::-webkit-scrollbar {
    width: var(--ag-space-6);
}

.ag-view__editor::-webkit-scrollbar-thumb {
    background-color: var(--ag-line-strong);
    border-radius: var(--ag-radius-pill);
}

.ag-view__editor-head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
}

.ag-view__editor-head .ag-view__rail-label {
    flex: 1;
}

/* The list takes what the panel has left, so a letter is edited at the height of the document it
   is drawn on rather than through a six-line window with empty panel under it. */
.ag-view__edits {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--ag-space-16);
    min-height: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-view__edit {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--ag-space-8);
    min-height: 0;
}

.ag-view__edit > label {
    display: flex;
    flex: 1;
    min-height: 0;
}

/* The name is a control, because the words being fixed are on a page the reader may not be looking
   at, and the section already knows which one. */
.ag-view__edit-head {
    display: flex;
    align-items: center;
    gap: var(--ag-space-6);
    width: 100%;
    padding: var(--ag-space-4) var(--ag-space-6);
    border: 0;
    border-radius: var(--ag-radius-control);
    background: transparent;
    color: var(--ag-ink);
    text-align: left;
    cursor: pointer;
    transition: background var(--ag-dur-hover) linear;
}

.ag-view__edit-head:hover {
    background: var(--ag-hover);
}

.ag-view__edit-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    font: var(--ag-font-body-strong);
    letter-spacing: var(--ag-tracking-body-strong);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* The same shape the composer gives a body of text, because it is the same act. */
.ag-view__note {
    width: 100%;
    flex: 1;
    min-height: 12rem;
    padding: var(--ag-space-8) var(--ag-space-10);
    border: var(--ag-stroke-hairline) solid var(--ag-line-strong);
    border-radius: var(--ag-radius-block);
    background: var(--ag-surface);
    color: var(--ag-ink);
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    resize: vertical;
}

.ag-view__note:disabled {
    background: var(--ag-sunken);
    color: var(--ag-ink-3);
}

.ag-view__edit-acts {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
}

.ag-view__edit-acts .ag-run-btn {
    margin-left: auto;
}

/* Saved words and a document still drawn from the old ones. The tint carries the state and the
   sentence stays `ink`, which is how every other notice in this system is built. */
.ag-view__stale {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-8);
    padding: var(--ag-space-12) var(--ag-space-14);
    border-radius: var(--ag-radius-block);
    background: var(--ag-warn-soft);
}

.ag-view__stale-text {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink);
}

.ag-view__stale-acts {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
}

/* Where a section is filled rather than composed, its values belong to the screen that already
   edits them. This is a way there and not a second editor. */
.ag-view__elsewhere {
    display: flex;
    flex-direction: column;
    gap: var(--ag-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag-view__elsewhere-row {
    display: flex;
    align-items: center;
    gap: var(--ag-space-8);
    padding: var(--ag-space-6) var(--ag-space-8);
    border-radius: var(--ag-radius-control);
    color: var(--ag-ink);
    text-decoration: none;
    transition: background var(--ag-dur-hover) linear;
}

.ag-view__elsewhere-row:hover {
    background: var(--ag-hover);
    color: var(--ag-ink);
}

.ag-view__elsewhere-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ag-view__elsewhere-mark {
    flex: none;
    color: var(--ag-ink-3);
}

.ag-view__editor-blank {
    margin: 0;
    font: var(--ag-font-body);
    letter-spacing: var(--ag-tracking-body);
    color: var(--ag-ink-3);
}

/* A pulse says a request is in flight and stops when the answer lands, which is all it claims. */
.ag-view__editor-wait {
    height: 0.75rem;
    border-radius: var(--ag-radius-tag);
    background: var(--ag-placeholder);
    animation: ag-view-wait var(--ag-dur-spin) ease-in-out infinite;
}

.ag-view__editor-wait--short {
    width: 40%;
}

@keyframes ag-view-wait {
    50% {
        opacity: 0.45;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-view__editor-wait {
        animation: none;
    }
}

@media (any-pointer: coarse) {
    .ag-view__step,
    .ag-view__page,
    .ag-view__page-field,
    .ag-view__select {
        min-width: 2.75rem;
        height: 2.75rem;
    }

    .ag-view__page-field {
        min-width: 3.5rem;
    }

    .ag-view__section,
    .ag-view__edit-head,
    .ag-view__elsewhere-row {
        padding: var(--ag-space-14) var(--ag-space-8);
    }
}

/* No room for a column beside the document, so the sections come back as one control in the
   toolbar. The document keeps the whole width, which is what a reader came for. */

@media (max-width: 60rem) {
    .ag-view__rail {
        display: none;
    }

    .ag-view__jump {
        display: inline-flex;
    }

    /* No room for a column beside the document, so the editor becomes the screen and its close
       control becomes the way back. Kept in flow rather than raised into a sheet, because a sheet
       promises that what it covers is unreachable, and here the document is one control away. */
    .ag-view__body--editing .ag-view__doc {
        display: none;
    }

    .ag-view__editor {
        width: 100%;
        border-left: 0;
    }

    /* Full width is the panel's, not the prose's. A line of the letter running the whole screen is
       read twice as far and lands back at the wrong one, so the column keeps the measure it had
       beside the document and takes the middle. */
    .ag-view__editor > * {
        width: 100%;
        max-width: 30rem;
        margin-inline: auto;
    }
}

@media (max-width: 40rem) {
    .ag-view__bar {
        gap: var(--ag-space-8);
        padding: var(--ag-space-8) var(--ag-space-12);
    }

    /* Exactly the row minus the back button, so the two share the first line and the name keeps
       every pixel that is left rather than being squeezed to an initial. */
    .ag-view__identity {
        flex: 1 1 calc(100% - 3.75rem);
        min-width: 0;
    }

    .ag-view__select {
        max-width: 8rem;
    }

    /* Back goes to the top left, which is the one place an arrow on its own is unambiguous. Left
       where it sits on a wide screen it would land against the zoom controls and read as one of
       them. The word costs a line of a screen the document is meant to fill, so it goes and the
       accessible name carries it. */
    .ag-view__spacer {
        display: none;
    }

    .ag-view__back {
        order: -1;
        padding: var(--ag-space-6);
    }

    .ag-view__back-label {
        display: none;
    }
}
