/* 00-base.css — сброс и базовые элементы. Часть дизайн-системы портала.
 *
 * ⚠ ПОРЯДОК ПОДКЛЮЧЕНИЯ ЗНАЧИМ: файл идёт ПЕРВЫМ, до токенов и компонентов.
 * Список <link> — в templates/base.html.
 *
 * Происхождение: выжимка из Bootstrap 5.1.3 — только правила, которые на портале
 * действительно работают (из 2363 осталось ~430). Значения не переписывались
 * вручную, поэтому вид страниц не менялся; зато теперь это наш код и его можно
 * править. Внутри: reboot (box-sizing, сбросы полей, наследование шрифта полями
 * ввода), переменные --bs-* (от них зависят .text-danger, .bg-* и таблицы),
 * базовое оформление форм, таблиц, бейджей, алертов, пагинации, вкладок.
 *
 * ⚠ Токены портала (var(--brand) и т.п.) объявлены в 01-tokens.css — это не
 * мешает: значения CSS-переменных подставляются при применении, а не при разборе.
 */

:root {--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-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-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}
*,::after,::before {box-sizing:border-box}
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;background-color:currentColor;border:0;opacity:.25}
hr:not([size]) {height:1px}
h1,h2,h3,h4,h5,h6 {margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}
h1 {font-size:calc(1.375rem + 1.5vw)}
h2 {font-size:calc(1.325rem + .9vw)}
h3 {font-size:calc(1.3rem + .6vw)}
h4 {font-size:calc(1.275rem + .3vw)}
h5 {font-size:1.25rem}
h6 {font-size:1rem}
p {margin-top:0;margin-bottom:1rem}
abbr[data-bs-original-title],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 {padding:.2em;background-color:#fcf8e3}
sub,sup {position:relative;font-size:.75em;line-height:0;vertical-align:baseline}
sub {bottom:-.25em}
sup {top:-.5em}
a {color:#0d6efd;text-decoration:underline}
a:hover {color:#0a58ca}
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;direction:ltr;unicode-bidi:bidi-override}
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:#d63384;word-wrap:break-word}
a>code {color:inherit}
kbd {padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}
kbd kbd {padding:0;font-size:1em;font-weight:700}
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:#6c757d;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]::-webkit-calendar-picker-indicator {display:none}
[type=button],[type=reset],[type=submit],button {-webkit-appearance:button}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) {cursor:pointer}
::-moz-focus-inner {padding:0;border-style:none}
textarea {resize:vertical}
fieldset {min-width:0;padding:0;margin:0;border:0}
legend {float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}
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] {outline-offset:-2px;-webkit-appearance:textfield}
::-webkit-search-decoration {-webkit-appearance:none}
::-webkit-color-swatch-wrapper {padding:0}
::-webkit-file-upload-button {font:inherit}
::file-selector-button {font:inherit}
::-webkit-file-upload-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}
.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-1>* {flex:0 0 auto;width:100%}
.g-2 {--bs-gutter-x:0.5rem}
.g-2 {--bs-gutter-y:0.5rem}
.table {--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}
.table>:not(caption)>*>* {padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}
.table>tbody {vertical-align:inherit}
.table>thead {vertical-align:bottom}
.table>:not(:first-child) {border-top:2px solid currentColor}
.table-sm>:not(caption)>*>* {padding:.25rem .25rem}
.table-striped>tbody>tr:nth-of-type(odd)>* {--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}
.table-hover>tbody>tr:hover>* {--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}
.table-responsive {overflow-x:auto;-webkit-overflow-scrolling:touch}
.form-label {margin-bottom:.5rem}
.form-text {margin-top:.25rem;font-size:.875em;color:#6c757d}
.form-control {display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-control[type=file] {overflow:hidden}
.form-control[type=file]:not(:disabled):not([readonly]) {cursor:pointer}
.form-control:focus {color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.form-control::-webkit-date-and-time-value {height:1.5em}
.form-control::-moz-placeholder {color:#6c757d;opacity:1}
.form-control::placeholder {color:#6c757d;opacity:1}
.form-control:disabled,.form-control[readonly] {background-color:#e9ecef;opacity:1}
.form-control::-webkit-file-upload-button {padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {background-color:#dde0e3}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {background-color:#dde0e3}
.form-control::-webkit-file-upload-button {padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {background-color:#dde0e3}
.form-control-plaintext.form-control-sm {padding-right:0;padding-left:0}
.form-control-sm {min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.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-sm::-webkit-file-upload-button {padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}
textarea.form-control {min-height:calc(1.5em + .75rem + 2px)}
textarea.form-control-sm {min-height:calc(1.5em + .5rem + 2px)}
.form-select {display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image: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 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance: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:#e9ecef}
.form-select:-moz-focusring {color:transparent;text-shadow:0 0 0 #212529}
.form-select-sm {padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}
.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-input {width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;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] {background-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 10l3 3l6-6'/%3e%3c/svg%3e")}
.form-check-input:checked[type=radio] {background-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;background-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 {opacity:.5}
.form-switch .form-check-input {width:2em;margin-left:-2.5em;background-image: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");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}
.form-switch .form-check-input:focus {background-image: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;background-image: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")}
.btn-check:disabled+.btn,.btn-check[disabled]+.btn {pointer-events:none;filter:none;opacity:.65}
.form-floating>.form-control,.form-floating>.form-select {height:calc(3.5rem + 2px);line-height:1.25}
.form-floating>.form-control {padding:1rem .75rem}
.form-floating>.form-control::-moz-placeholder {color:transparent}
.form-floating>.form-control::placeholder {color:transparent}
.form-floating>.form-control:not(:-moz-placeholder-shown) {padding-top:1.625rem;padding-bottom:.625rem}
.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown) {padding-top:1.625rem;padding-bottom:.625rem}
.form-floating>.form-control:-webkit-autofill {padding-top:1.625rem;padding-bottom:.625rem}
.form-floating>.form-select {padding-top:1.625rem;padding-bottom:.625rem}
.form-floating>.form-control:not(:-moz-placeholder-shown)~label {opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}
.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label {opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}
.form-floating>.form-control:-webkit-autofill~label {opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}
.input-group>.form-control,.input-group>.form-select {position:relative;flex:1 1 auto;width:1%;min-width:0}
.input-group>.form-control:focus,.input-group>.form-select:focus {z-index:3}
.input-group .btn {position:relative;z-index:2}
.input-group .btn:focus {z-index:3}
.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select {padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}
.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select {padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.input-group-lg>.form-select,.input-group-sm>.form-select {padding-right:3rem}
.form-control.is-valid,.was-validated .form-control:valid {border-color:#198754;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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}
.form-control.is-valid:focus,.was-validated .form-control:valid:focus {border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.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:#198754}
.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"] {padding-right:4.125rem;background-image: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 5l6 6 6-6'/%3e%3c/svg%3e"),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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-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:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}
.form-check-input.is-valid,.was-validated .form-check-input:valid {border-color:#198754}
.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked {background-color:#198754}
.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus {box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}
.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label {color:#198754}
.form-check-inline .form-check-input~.valid-feedback {margin-left:.5em}
.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid {z-index:1}
.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus {z-index:3}
.form-control.is-invalid,.was-validated .form-control:invalid {border-color:#dc3545;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:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.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:#dc3545}
.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"] {padding-right:4.125rem;background-image: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 5l6 6 6-6'/%3e%3c/svg%3e"),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-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:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}
.form-check-input.is-invalid,.was-validated .form-check-input:invalid {border-color:#dc3545}
.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked {background-color:#dc3545}
.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus {box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}
.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label {color:#dc3545}
.form-check-inline .form-check-input~.invalid-feedback {margin-left:.5em}
.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid {z-index:2}
.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus {z-index:3}
.btn {display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn:hover {color:#212529}
.btn-check:focus+.btn,.btn:focus {outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.btn.disabled,.btn:disabled,fieldset:disabled .btn {pointer-events:none;opacity:.65}
.btn-primary.active,.show>.btn-primary.dropdown-toggle {color:#fff;background-color:#0a58ca;border-color:#0a53be}
.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}
.btn-primary.disabled {color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-secondary.active,.show>.btn-secondary.dropdown-toggle {color:#fff;background-color:#565e64;border-color:#51585e}
.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}
.btn-secondary.disabled {color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-success {color:#fff;background-color:#198754;border-color:#198754}
.btn-success:hover {color:#fff;background-color:#157347;border-color:#146c43}
.btn-check:focus+.btn-success,.btn-success:focus {color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}
.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle {color:#fff;background-color:#146c43;border-color:#13653f}
.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}
.btn-success.disabled,.btn-success:disabled {color:#fff;background-color:#198754;border-color:#198754}
.btn-info.active,.show>.btn-info.dropdown-toggle {color:#000;background-color:#3dd5f3;border-color:#25cff2}
.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}
.btn-info.disabled {color:#000;background-color:#0dcaf0;border-color:#0dcaf0}
.btn-warning.active,.show>.btn-warning.dropdown-toggle {color:#000;background-color:#ffcd39;border-color:#ffc720}
.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}
.btn-warning.disabled {color:#000;background-color:#ffc107;border-color:#ffc107}
.btn-danger {color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-danger:hover {color:#fff;background-color:#bb2d3b;border-color:#b02a37}
.btn-check:focus+.btn-danger,.btn-danger:focus {color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}
.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle {color:#fff;background-color:#b02a37;border-color:#a52834}
.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}
.btn-danger.disabled,.btn-danger:disabled {color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-light.active,.show>.btn-light.dropdown-toggle {color:#000;background-color:#f9fafb;border-color:#f9fafb}
.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}
.btn-light.disabled {color:#000;background-color:#f8f9fa;border-color:#f8f9fa}
.btn-dark.active,.show>.btn-dark.dropdown-toggle {color:#fff;background-color:#1a1e21;border-color:#191c1f}
.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus {box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}
.btn-dark.disabled {color:#fff;background-color:#212529;border-color:#212529}
.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show {color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus {box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}
.btn-outline-primary.disabled {color:#0d6efd;background-color:transparent}
.btn-outline-secondary {color:#6c757d;border-color:#6c757d}
.btn-outline-secondary:hover {color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus {box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}
.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active {color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus {box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}
.btn-outline-secondary.disabled,.btn-outline-secondary:disabled {color:#6c757d;background-color:transparent}
.btn-outline-success {color:#198754;border-color:#198754}
.btn-outline-success:hover {color:#fff;background-color:#198754;border-color:#198754}
.btn-check:focus+.btn-outline-success,.btn-outline-success:focus {box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}
.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active {color:#fff;background-color:#198754;border-color:#198754}
.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus {box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}
.btn-outline-success.disabled,.btn-outline-success:disabled {color:#198754;background-color:transparent}
.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show {color:#000;background-color:#0dcaf0;border-color:#0dcaf0}
.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus {box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}
.btn-outline-info.disabled {color:#0dcaf0;background-color:transparent}
.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show {color:#000;background-color:#ffc107;border-color:#ffc107}
.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus {box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}
.btn-outline-warning.disabled {color:#ffc107;background-color:transparent}
.btn-outline-danger {color:#dc3545;border-color:#dc3545}
.btn-outline-danger:hover {color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus {box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}
.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active {color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus {box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}
.btn-outline-danger.disabled,.btn-outline-danger:disabled {color:#dc3545;background-color:transparent}
.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show {color:#000;background-color:#f8f9fa;border-color:#f8f9fa}
.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus {box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}
.btn-outline-light.disabled {color:#f8f9fa;background-color:transparent}
.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show {color:#fff;background-color:#212529;border-color:#212529}
.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus {box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}
.btn-outline-dark.disabled {color:#212529;background-color:transparent}
.btn-link {font-weight:400;color:#0d6efd;text-decoration:underline}
.btn-link:hover {color:#0a58ca}
.btn-link.disabled,.btn-link:disabled {color:#6c757d}
.btn-group-lg>.btn,.btn-lg {padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}
.btn-group-sm>.btn,.btn-sm {padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.fade {transition:opacity .15s linear}
.fade:not(.show) {opacity:0}
.collapse:not(.show) {display:none}
.dropdown-item.active {color:#fff;text-decoration:none;background-color:#0d6efd}
.dropdown-item.disabled {color:#adb5bd;pointer-events:none;background-color:transparent}
.dropdown-menu.show {display:block}
.dropdown-menu-dark .dropdown-item.active {color:#fff;background-color:#0d6efd}
.dropdown-menu-dark .dropdown-item.disabled {color:#adb5bd}
.btn-group {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-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child) {margin-left:-1px}
.btn-group>.btn-group:not(:last-child)>.btn,.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}
.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>.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:-1px}
.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) {border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn {border-top-left-radius:0;border-top-right-radius:0}
.nav {display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}
.nav-link {display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
.nav-link:focus,.nav-link:hover {color:#0a58ca}
.nav-link.disabled {color:#6c757d;pointer-events:none;cursor:default}
.nav-tabs {border-bottom:1px solid #dee2e6}
.nav-tabs .nav-link {margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}
.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover {border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}
.nav-tabs .nav-link.disabled {color:#6c757d;background-color:transparent;border-color:transparent}
.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active {color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}
.nav-tabs .dropdown-menu {margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}
.nav-pills .nav-link {background:0 0;border:0;border-radius:.25rem}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link {color:#fff;background-color:#0d6efd}
.nav-fill .nav-item,.nav-fill>.nav-link {flex:1 1 auto;text-align:center}
.nav-justified .nav-item,.nav-justified>.nav-link {flex-basis:0;flex-grow:1;text-align:center}
.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link {width:100%}
.tab-content>.tab-pane {display:none}
.tab-content>.active {display:block}
.navbar-nav .nav-link {padding-right:0;padding-left:0}
.navbar-expand .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
.navbar-light .navbar-nav .nav-link {color:rgba(0,0,0,.55)}
.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover {color:rgba(0,0,0,.7)}
.navbar-light .navbar-nav .nav-link.disabled {color:rgba(0,0,0,.3)}
.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link {color:rgba(0,0,0,.9)}
.navbar-dark .navbar-nav .nav-link {color:rgba(255,255,255,.55)}
.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover {color:rgba(255,255,255,.75)}
.navbar-dark .navbar-nav .nav-link.disabled {color:rgba(255,255,255,.25)}
.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link {color:#fff}
.accordion-button:not(.collapsed) {color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}
.accordion-button:not(.collapsed)::after {background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}
.accordion-item:last-of-type .accordion-button.collapsed {border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}
.breadcrumb-item.active {color:#6c757d}
.pagination {display:flex;padding-left:0;list-style:none}
.page-link {position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.page-link:hover {z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}
.page-link:focus {z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.page-item:not(:first-child) .page-link {margin-left:-1px}
.page-item.active .page-link {z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.page-item.disabled .page-link {color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}
.page-link {padding:.375rem .75rem}
.page-item:first-child .page-link {border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}
.page-item:last-child .page-link {border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}
.pagination-lg .page-link {padding:.75rem 1.5rem;font-size:1.25rem}
.pagination-lg .page-item:first-child .page-link {border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}
.pagination-lg .page-item:last-child .page-link {border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}
.pagination-sm .page-link {padding:.25rem .5rem;font-size:.875rem}
.pagination-sm .page-item:first-child .page-link {border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}
.pagination-sm .page-item:last-child .page-link {border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}
.badge {display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.badge:empty {display:none}
.btn .badge {position:relative;top:-1px}
.alert {position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-dismissible {padding-right:3rem}
.alert-dismissible .btn-close {position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}
/* templates/_messages.html рендерит эти классы на каждой странице при любом
   flash-сообщении (messages.*, 107 вызовов по коду) — были литералами из
   Bootstrap без единой темизации, в тёмной/розовой/стеклянной темах плашка
   светилась исходным светлым пятном. Переведено на токены статусов —
   тот же приём, что у .warn-banner (06-pages-2026.css): одно место правды,
   темы подхватывают сами через 04-themes.css. .alert-success/.alert-info
   раньше не существовали вовсе (не только в тёмной теме — ни в одной):
   messages.success — самый частый тег в коде (~48 вызовов), а сообщение
   рисовалось голым блоком без фона и цвета. Новых цветов не заводили (§9
   в 01-tokens.css) — только уже проверенные --warn/--danger/--ok/--info. */
.alert-warning {color:var(--warn-ink);background-color:var(--warn-bg);border-color:var(--warn-line)}
.alert-warning .alert-link {color:#523e02}
.alert-danger {color:var(--danger-ink);background-color:var(--danger-bg);border-color:var(--danger-line)}
.alert-danger .alert-link {color:#6a1a21}
.alert-success {color:var(--ok-ink);background-color:var(--ok-bg)}
.alert-info {color:var(--info);background-color:var(--info-bg)}
.progress {display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}
.progress-bar {display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}
.list-group-item.disabled {color:#6c757d;pointer-events:none;background-color:#fff}
.list-group-item.active {z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.list-group-item+.list-group-item.active {margin-top:-1px;border-top-width:1px}
.list-group-horizontal>.list-group-item.active {margin-top:0}
.list-group-horizontal>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
.list-group-item-primary.list-group-item-action.active {color:#fff;background-color:#084298;border-color:#084298}
.list-group-item-secondary.list-group-item-action.active {color:#fff;background-color:#41464b;border-color:#41464b}
.list-group-item-success.list-group-item-action.active {color:#fff;background-color:#0f5132;border-color:#0f5132}
.list-group-item-info.list-group-item-action.active {color:#fff;background-color:#055160;border-color:#055160}
.list-group-item-warning.list-group-item-action.active {color:#fff;background-color:#664d03;border-color:#664d03}
.list-group-item-danger.list-group-item-action.active {color:#fff;background-color:#842029;border-color:#842029}
.list-group-item-light.list-group-item-action.active {color:#fff;background-color:#636464;border-color:#636464}
.list-group-item-dark.list-group-item-action.active {color:#fff;background-color:#141619;border-color:#141619}
.btn-close {box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}
.btn-close:hover {color:#000;text-decoration:none;opacity:.75}
.btn-close:focus {outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}
.btn-close.disabled,.btn-close:disabled {pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}
.toast:not(.show) {display:none}
.toast-header .btn-close {margin-right:-.375rem;margin-left:.75rem}
.modal.fade .modal-dialog {transition:transform .3s ease-out;transform:translate(0,-50px)}
.modal.show .modal-dialog {transform:none}
.modal-backdrop.fade {opacity:0}
.modal-backdrop.show {opacity:.5}
.modal-header .btn-close {padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}
.tooltip.show {opacity:.9}
.carousel-item.active {display:block}
.active.carousel-item-end {transform:translateX(100%)}
.active.carousel-item-start {transform:translateX(-100%)}
.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}
.carousel-indicators .active {opacity:1}
.offcanvas-backdrop.fade {opacity:0}
.offcanvas-backdrop.show {opacity:.5}
.offcanvas-header .btn-close {padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}
.offcanvas.show {transform:none}
.placeholder.btn::before {display:inline-block;content:""}
.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-16x9 {--bs-aspect-ratio:56.25%}
.border-top {border-top:1px solid #dee2e6!important}
.border-bottom {border-bottom:1px solid #dee2e6!important}
.fs-5 {font-size:1.25rem!important}
.fs-6 {font-size:1rem!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-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}

@media (prefers-reduced-motion:no-preference) {
    :root {scroll-behavior:smooth}
}
@media (min-width:1200px) {
    h1 {font-size:2.5rem}
}
@media (min-width:1200px) {
    h2 {font-size:2rem}
}
@media (min-width:1200px) {
    h3 {font-size:1.75rem}
}
@media (min-width:1200px) {
    h4 {font-size:1.5rem}
}
@media (min-width:1200px) {
    legend {font-size:1.5rem}
}
@media (min-width:768px) {
    .row-cols-md-3>* {flex:0 0 auto;width:33.3333333333%}
}
@media (prefers-reduced-motion:reduce) {
    .form-control {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {-webkit-transition:none;transition:none}
    .form-control::file-selector-button {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {-webkit-transition:none;transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .form-select {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .form-switch .form-check-input {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .btn {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .fade {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .nav-link {transition:none}
}
@media (min-width:576px) {
    .navbar-expand-sm .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
}
@media (min-width:768px) {
    .navbar-expand-md .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
}
@media (min-width:992px) {
    .navbar-expand-lg .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
}
@media (min-width:1200px) {
    .navbar-expand-xl .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
}
@media (min-width:1400px) {
    .navbar-expand-xxl .navbar-nav .nav-link {padding-right:.5rem;padding-left:.5rem}
}
@media (prefers-reduced-motion:reduce) {
    .page-link {transition:none}
}
@-webkit-keyframes progress-bar-stripes {
    0% {background-position-x:1rem}
}
@media (prefers-reduced-motion:reduce) {
    .progress-bar {transition:none}
}
@media (min-width:576px) {
    .list-group-horizontal-sm>.list-group-item.active {margin-top:0}
    .list-group-horizontal-sm>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
}
@media (min-width:768px) {
    .list-group-horizontal-md>.list-group-item.active {margin-top:0}
    .list-group-horizontal-md>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
}
@media (min-width:992px) {
    .list-group-horizontal-lg>.list-group-item.active {margin-top:0}
    .list-group-horizontal-lg>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
}
@media (min-width:1200px) {
    .list-group-horizontal-xl>.list-group-item.active {margin-top:0}
    .list-group-horizontal-xl>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
}
@media (min-width:1400px) {
    .list-group-horizontal-xxl>.list-group-item.active {margin-top:0}
    .list-group-horizontal-xxl>.list-group-item+.list-group-item.active {margin-left:-1px;border-left-width:1px}
}
@media (prefers-reduced-motion:reduce) {
    .modal.fade .modal-dialog {transition:none}
}
@media (prefers-reduced-motion:reduce) {
    .carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start {transition:none}
}
@-webkit-keyframes spinner-border {
    to {transform:rotate(360deg)}
}
@-webkit-keyframes spinner-grow {
    0% {transform:scale(0)}
    50% {opacity:1;transform:none}
}
@-webkit-keyframes placeholder-glow {
    50% {opacity:.2}
}
@-webkit-keyframes placeholder-wave {
    100% {-webkit-mask-position:-200% 0%;mask-position:-200% 0%}
}
