/* ui-base.css: минимальный базовый слой сайта (бывший слой совместимости с Bootstrap 4).
   Осталось только: сброс стилей (reboot), служебные .fade/.collapse, модальные окна и подсказки,
   которые использует ui-base.js. Сетка, кнопки, формы, таблицы, меню и утилиты удалены:
   вся разметка написана на ui-* классах (ui-page.css, ui-header.css, ui-modal.css, ui-upload.css).
   Подключается в шапке ПЕРЕД style.css. */

/* ---------- reboot ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
body { margin: 0; text-align: left; background-color: #fff; }
[tabindex="-1"]:focus { outline: 0 !important; }
hr { box-sizing: content-box; height: 0; margin: 1rem 0; overflow: visible; border: 0; border-top: 1px solid var(--ui-line, #ececec); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-top: 0; margin-bottom: .6rem; font-weight: 700; line-height: 1.25; }
h1, .h1 { font-size: 24px; } h2, .h2 { font-size: 20px; } h3, .h3 { font-size: 18px; }
h4, .h4 { font-size: 16px; } h5, .h5 { font-size: 15px; } h6, .h6 { font-size: 14px; }
p { margin-top: 0; margin-bottom: 1rem; }
abbr[title] { text-decoration: underline dotted; cursor: help; }
address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }
ol, ul, dl { margin-top: 0; margin-bottom: 1rem; }
ol ol, ul ul, ol ul, ul ol { 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: 85%; font-weight: 400; }
sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; } sup { top: -.5em; }
a { text-decoration: none; background-color: transparent; }
a:hover { text-decoration: underline; }
a:not([href]):not([tabindex]), a:not([href]):not([tabindex]):hover { color: inherit; text-decoration: none; }
pre, code, kbd, samp { font-size: 1em; }
pre { display: block; margin-top: 0; margin-bottom: 1rem; overflow: auto; }
figure { margin: 0 0 1rem; }
img { vertical-align: middle; border-style: none; }
svg { overflow: hidden; vertical-align: middle; }
table { border-collapse: collapse; }
caption { padding: .6rem .75rem; color: var(--ui-muted, #6f6b68); text-align: left; caption-side: bottom; }
th { text-align: inherit; }
label { display: inline-block; margin-bottom: .4rem; }
button { border-radius: 0; }
button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }
input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; }
input[type="radio"], input[type="checkbox"] { box-sizing: border-box; padding: 0; }
textarea { overflow: auto; resize: vertical; }
fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.25rem; line-height: inherit; color: inherit; white-space: normal; }
progress { vertical-align: baseline; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { outline-offset: -2px; -webkit-appearance: none; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }
output { display: inline-block; }
summary { display: list-item; cursor: pointer; }
template { display: none; }
[hidden] { display: none !important; }

.lead { font-size: 15px; font-weight: 400; line-height: 1.55; }
.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; }
.blockquote { margin-bottom: 1rem; font-size: 1.1rem; }
.blockquote-footer { display: block; font-size: 80%; color: var(--ui-muted, #6f6b68); }
.img-fluid { max-width: 100%; height: auto; }
.img-thumbnail { padding: .25rem; background: #fff; border: 1px solid var(--ui-line, #ececec); border-radius: 10px; max-width: 100%; height: auto; }
.media { display: flex; align-items: flex-start; } .media-body { flex: 1; }
.clearfix::after { display: block; clear: both; content: ""; }
.sr-only, .ui-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.visible { visibility: visible !important; } .invisible { visibility: hidden !important; }
.fade { transition: opacity .15s linear; }
.fade:not(.show) { opacity: 0; }
.collapse:not(.show) { display: none; }
.collapsing { position: relative; height: 0; overflow: hidden; transition: height .3s ease; }
@media (prefers-reduced-motion: reduce) { .fade, .collapsing { transition: none; } }

/* ---------- модальные окна ---------- */
html { scrollbar-gutter: stable; }
.modal-open { overflow: hidden; }
.modal-open .modal { overflow-x: hidden; overflow-y: auto; }
.modal { position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow: hidden; outline: 0; }
.modal-dialog { position: relative; width: auto; margin: 8px; pointer-events: none; }
.modal.fade .modal-dialog { transition: transform .3s ease-out; transform: translate(0, -50px); }
.modal.show .modal-dialog { transform: none; }
.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 16px); }
.modal-dialog-centered::before { display: block; height: calc(100vh - 16px); content: ""; }
.modal-content { position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto; background-color: #fff; background-clip: padding-box; border: 1px solid var(--ui-line, #ececec); border-radius: 18px; outline: 0; }
.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1040; width: 100vw; height: 100vh; background-color: #000; }
.modal-backdrop.fade { opacity: 0; } .modal-backdrop.show { opacity: .5; }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--ui-line, #ececec); border-radius: 17px 17px 0 0; }
.modal-title { margin-bottom: 0; line-height: 1.4; }
.modal-body { position: relative; flex: 1 1 auto; padding: 20px; }
.modal-footer { display: flex; align-items: center; justify-content: flex-end; padding: 14px 20px; border-top: 1px solid var(--ui-line, #ececec); }
.modal-footer > :not(:first-child) { margin-left: 8px; }
.modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; }
@media (min-width: 576px) {
    .modal-dialog { max-width: 500px; margin: 28px auto; }
    .modal-dialog-centered { min-height: calc(100% - 56px); }
    .modal-dialog-centered::before { height: calc(100vh - 56px); }
    .modal-sm { max-width: 300px; }
}
@media (min-width: 992px) { .modal-lg { max-width: 800px; } }
@media (min-width: 1200px) { .modal-xl { max-width: 1140px; } }
@media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { transition: none; } }


/* ---------- подсказки ---------- */
.tooltip { position: absolute; z-index: 1070; display: block; margin: 0; font-size: 12.5px; line-height: 1.4; text-align: left; word-wrap: break-word; opacity: 0; pointer-events: none; }
.tooltip.show { opacity: 1; }
.tooltip .arrow, .tooltip .tooltip-arrow { position: absolute; display: block; width: 12px; height: 6px; }
.tooltip .arrow::before, .tooltip .tooltip-arrow::before { position: absolute; content: ""; border-color: transparent; border-style: solid; }
.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { padding: 6px 0; }
.bs-tooltip-top .arrow, .bs-tooltip-top .tooltip-arrow { bottom: 0; left: calc(50% - 6px); }
.bs-tooltip-top .arrow::before, .bs-tooltip-top .tooltip-arrow::before { top: 0; border-width: 6px 6px 0; border-top-color: var(--ui-text, #26221f); }
.bs-tooltip-bottom { padding: 6px 0; }
.bs-tooltip-bottom .arrow, .bs-tooltip-bottom .tooltip-arrow { top: 0; left: calc(50% - 6px); }
.bs-tooltip-bottom .arrow::before, .bs-tooltip-bottom .tooltip-arrow::before { bottom: 0; border-width: 0 6px 6px; border-bottom-color: var(--ui-text, #26221f); }
.bs-tooltip-left { padding: 0 6px; }
.bs-tooltip-left .arrow, .bs-tooltip-left .tooltip-arrow { right: 0; top: calc(50% - 6px); width: 6px; height: 12px; }
.bs-tooltip-left .arrow::before, .bs-tooltip-left .tooltip-arrow::before { left: 0; border-width: 6px 0 6px 6px; border-left-color: var(--ui-text, #26221f); }
.bs-tooltip-right { padding: 0 6px; }
.bs-tooltip-right .arrow, .bs-tooltip-right .tooltip-arrow { left: 0; top: calc(50% - 6px); width: 6px; height: 12px; }
.bs-tooltip-right .arrow::before, .bs-tooltip-right .tooltip-arrow::before { right: 0; border-width: 6px 6px 6px 0; border-right-color: var(--ui-text, #26221f); }
.tooltip-inner { max-width: 260px; padding: 7px 11px; color: #fff; text-align: center; background-color: var(--ui-text, #26221f); border-radius: 8px; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
