/* Контент: заголовок страницы и крошки, local tasks, карточки, таблицы, кнопки, поля, пагинация, подвал, ошибки форм.
   Глобально через классы темы, чтобы не трогать каждое меню, но ТОЛЬКО под body.pds-ui — этот класс ставят
   LayoutHorizontal.cshtml (все страницы кабинетов) и CabinetSelectRole.cshtml. PDF-страницы (PdfView) и документы
   в _Layout.cshtml его не получают. Перенесено из auction (sauda-ds/03-content.css), тени заменены рамками. */

/* ---------- заголовок + крошки ---------- */

body.pds-ui .page-title-box {
    display: flex;
    flex-direction: column-reverse; /* в разметке крошки идут первыми — визуально над заголовком */
    align-items: flex-start;
    gap: 4px;
    margin: 4px 0 16px;
}

body.pds-ui .page-title-box .page-title {
    margin: 0;
    color: var(--pds-ink);
    font: 700 22px/30px var(--pds-font);
    letter-spacing: -.015em;
    white-space: normal;
}

body.pds-ui .page-title-box .page-title-right {
    float: none;
    margin: 0;
}

body.pds-ui .breadcrumb {
    flex-wrap: wrap;
    padding: 0 !important; /* у Hyper .breadcrumb отступы с !important */
    margin: 0 !important;
    background: none;
    font: 500 13px/18px var(--pds-font);
}

body.pds-ui .breadcrumb-item,
body.pds-ui .breadcrumb-item a {
    color: var(--pds-ink-3);
}

body.pds-ui .breadcrumb-item a {
    border-radius: 4px;
    transition: color var(--pds-t) ease;
}

body.pds-ui .breadcrumb-item a:hover {
    color: var(--pds-primary);
}

body.pds-ui .breadcrumb-item.active {
    color: var(--pds-ink-2);
}

body.pds-ui .breadcrumb-item + .breadcrumb-item {
    padding-left: 6px;
}

body.pds-ui .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    padding-right: 6px;
    color: var(--pds-ink-4);
    font: 500 14px/18px var(--pds-font);
}

/* local tasks — сегмент-контрол вместо таблеток темы */
body.pds-ui .local-tasks-box {
    padding: 0 !important; /* local-tasks-box в разметке с утилитами bootstrap (pt-2 px-2 bg-light border) — они !important */
    border: 0 !important;
    background: none !important;
}

body.pds-ui .nav-pills.bg-nav-pills {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 16px;
    padding: 3px;
    border-radius: var(--pds-r);
    background: var(--pds-muted-bg);
}

body.pds-ui .nav-pills.bg-nav-pills .nav-link {
    padding: 5px 14px;
    border-radius: 7px;
    background: none;
    color: var(--pds-ink-3);
    font: 600 13px/22px var(--pds-font);
    transition: background var(--pds-t) ease, color var(--pds-t) ease, box-shadow var(--pds-t) ease;
}

body.pds-ui .nav-pills.bg-nav-pills .nav-link:hover {
    color: var(--pds-ink);
}

body.pds-ui .nav-pills.bg-nav-pills .nav-link.active {
    background: var(--pds-surface);
    color: var(--pds-ink);
    box-shadow: inset 0 0 0 1px var(--pds-border); /* рамка внутрь вместо тени */
}

/* ---------- карточки ---------- */

body.pds-ui .card {
    border: 1px solid var(--pds-hair);
    border-radius: var(--pds-r);
    box-shadow: none;
    margin-bottom: 20px;
}

body.pds-ui .card-header {
    border-bottom: 1px solid var(--pds-hair);
    background: none;
}

body.pds-ui .card-header:first-child {
    border-radius: var(--pds-r) var(--pds-r) 0 0;
}

body.pds-ui .header-title {
    color: var(--pds-ink);
    font: 700 16px/22px var(--pds-font);
    letter-spacing: -.01em;
    text-transform: none;
}

/* ---------- таблицы ---------- */

body.pds-ui .table {
    color: var(--pds-ink);
    font-size: 13px;
}

body.pds-ui .table thead th {
    padding: 10px 12px;
    border-top: 0;
    border-bottom: 1px solid var(--pds-border);
    background: none;
    color: var(--pds-ink-3);
    font: 600 11px/16px var(--pds-font);
    letter-spacing: .06em;
    text-transform: uppercase;
    vertical-align: bottom;
}

body.pds-ui .table td {
    padding: 10px 12px;
    border-top: 1px solid var(--pds-hair);
    font-weight: 500;
    vertical-align: middle;
}

body.pds-ui .table-striped tbody tr:nth-of-type(odd) {
    background: var(--pds-zebra);
}

body.pds-ui .table tbody tr {
    transition: background var(--pds-t-fast) ease;
}

body.pds-ui .table-hover tbody tr:hover,
body.pds-ui .table tbody tr:hover {
    background: var(--pds-hover);
}

body.pds-ui .table td a {
    font-weight: 600;
}

body.pds-ui .table-responsive {
    border-radius: var(--pds-r-sm);
}

/* ---------- кнопки ---------- */

body.pds-ui .btn {
    border-radius: var(--pds-r);
    font-weight: 600;
    transition: background-color var(--pds-t) ease, color var(--pds-t) ease, border-color var(--pds-t) ease, box-shadow var(--pds-t) ease, transform .08s ease;
}

body.pds-ui .btn:active {
    transform: translateY(1px);
}

body.pds-ui .btn:focus,
body.pds-ui .btn.focus {
    box-shadow: var(--pds-ring) !important; /* у кнопок bootstrap свой box-shadow фокуса с !important */
}

body.pds-ui .btn-primary {
    border-color: var(--pds-primary);
    background: var(--pds-primary);
    box-shadow: none;
}

body.pds-ui .btn-primary:hover,
body.pds-ui .btn-primary:not(:disabled):not(.disabled):active {
    border-color: var(--pds-primary-hover);
    background: var(--pds-primary-hover);
}

body.pds-ui .btn-light {
    border-color: transparent;
    background: var(--pds-primary-50);
    color: var(--pds-primary);
}

body.pds-ui .btn-light:hover {
    border-color: var(--pds-primary);
    background: var(--pds-primary);
    color: #FFF;
}

body.pds-ui .btn-outline-danger {
    border-color: transparent;
    background: var(--pds-danger-bg);
    color: var(--pds-danger);
}

body.pds-ui .btn-outline-danger:hover {
    background: var(--pds-danger);
    color: #FFF;
}

/* ---------- поля ---------- */

body.pds-ui .form-control,
body.pds-ui .custom-select {
    border-color: var(--pds-border);
    border-radius: var(--pds-r);
    color: var(--pds-ink);
    transition: border-color var(--pds-t) ease, box-shadow var(--pds-t) ease;
}

body.pds-ui .form-control:hover:not(:focus):not(:disabled),
body.pds-ui .custom-select:hover:not(:focus):not(:disabled) {
    border-color: var(--pds-ink-4);
}

body.pds-ui .form-control:focus,
body.pds-ui .custom-select:focus {
    border-color: var(--pds-link);
    box-shadow: var(--pds-ring);
}

body.pds-ui .form-control::placeholder {
    color: var(--pds-ink-4);
}

body.pds-ui label,
body.pds-ui .col-form-label {
    color: var(--pds-ink-2);
    font-weight: 600;
}

/* ---------- пагинация ---------- */

body.pds-ui .pagination {
    gap: 4px;
}

body.pds-ui .page-link {
    min-width: 32px;
    height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px !important; /* bootstrap скругляет только крайние .page-link с большей специфичностью */
    background: none;
    color: var(--pds-ink-2);
    font: 600 13px/32px var(--pds-font);
    font-variant-numeric: tabular-nums;
    text-align: center;
    transition: background var(--pds-t-fast) ease, color var(--pds-t-fast) ease;
}

body.pds-ui .page-link:hover {
    background: var(--pds-muted-bg);
    color: var(--pds-ink);
}

body.pds-ui .page-item.active .page-link {
    background: var(--pds-primary);
    color: #FFF;
}

body.pds-ui .page-item.disabled .page-link {
    background: none;
    color: var(--pds-ink-4);
}

/* ---------- алерты, бейджи, выпадашки, модалки ---------- */

body.pds-ui .alert {
    border: 0;
    border-radius: var(--pds-r);
    font-weight: 500;
}

body.pds-ui .badge {
    border-radius: var(--pds-r-sm);
    font-weight: 600;
}

body.pds-ui .dropdown-menu {
    border: 1px solid var(--pds-border);
    border-radius: 12px;
    box-shadow: none;
}

body.pds-ui .dropdown-menu.show {
    animation: pds-pop-in .14s var(--pds-ease);
}

body.pds-ui .modal-content {
    border: 1px solid var(--pds-border);
    border-radius: 16px;
    box-shadow: none;
}

body.pds-ui .modal-header {
    border-bottom-color: var(--pds-hair);
}

body.pds-ui .modal-footer {
    border-top-color: var(--pds-hair);
}

body.pds-ui .modal-backdrop.show {
    opacity: .45;
}

/* ---------- подвал ---------- */

body.pds-ui .footer {
    color: var(--pds-ink-3);
    font: 500 12.5px/18px var(--pds-font);
}

body.pds-ui .footer hr {
    display: none;
}

body.pds-ui .pds-footer .container-fluid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-top: 1px solid var(--pds-hair);
}

/* статистика посещений: число фиксированной ширины в скелетоне — подвал не прыгает, когда приходят данные */
.pds-visits {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 16px;
}
.pds-visits-title { color: var(--pds-ink-2); font-weight: 600; }
.pds-visits-value {
    display: inline-block;
    min-width: 3em;
    color: var(--pds-ink);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.pds-visits-value.pds-skel { height: .9em; vertical-align: -1px; }
.pds-footer-copy { text-transform: uppercase; letter-spacing: .02em; }

/* пред-подвал (Footer.*.cshtml): спокойный блок на фоне страницы, отделён hairline */
body.pds-ui .pre-footer {
    margin-top: 24px !important; /* в разметке my-3 — утилита bootstrap с !important */
    padding-top: 20px;
    border-top: 1px solid var(--pds-hair);
}
body.pds-ui .pre-footer h5 {
    color: var(--pds-ink) !important; /* в разметке text-dark — утилита с !important */
    font: 700 13px/18px var(--pds-font);
    letter-spacing: .06em;
}
body.pds-ui .pre-footer a.text-secondary {
    color: var(--pds-ink-3) !important; /* утилита text-secondary с !important */
    font-weight: 500;
    transition: color var(--pds-t);
}
body.pds-ui .pre-footer a.text-secondary:hover { color: var(--pds-primary) !important; }
body.pds-ui .pre-footer .qr-footer-card { border-color: var(--pds-hair); }

/* ---------- ошибки форм и мастеров ---------- */

/* сводка над формой (Yoda YodaValidationSummary) — плашкой, а не голым красным списком */
body.pds-ui .validation-summary-errors {
    margin-bottom: 16px;
    padding: 10px 14px;
    border-radius: var(--pds-r-sm);
    background: var(--pds-danger-bg);
    color: var(--pds-danger) !important; /* у сводки ошибок фреймворка inline-подобный text-danger */
    font: 500 13px/1.5 var(--pds-font);
}

body.pds-ui .validation-summary-errors ul {
    margin: 0;
    padding-left: 18px;
}

body.pds-ui .validation-summary-errors li:only-child {
    list-style: none;
    margin-left: -18px;
}

/* подсказка у поля */
.pds-field-error {
    margin: -4px 0 10px 24px;
    color: var(--pds-danger);
    font: 500 12px/16px var(--pds-font);
}

/* у галочки темы (custom-control-input скрыт) класс ошибки сам по себе не виден — красим квадратик */
body.pds-ui .custom-control-input.input-validation-error ~ .custom-control-label::before,
body.pds-ui .pds-invalid .custom-control-label::before {
    border-color: var(--pds-danger);
}

/* ---------- «Продолжить как» (выбор кабинета): отдельная страница без шапки и подвала ---------- */
/* Views/Home/CabinetSelectRole.cshtml; внутри — виджет фреймворка SelectUserRoleWidget (разметка в yoda-app, не наша):
   логотип, подпись, list-group и кнопка «Назад» — приводим к виду меню шапки и ghost-кнопке */

body.pds-role-page {
    background: var(--pds-bg);
    font-family: var(--pds-font);
}
.pds-role {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 440px;
    min-height: 100vh;
    margin: 0 auto;
    padding: 32px 16px;
}
body.pds-role-page .pds-role .row { margin: 0; }
body.pds-role-page .pds-role .bg-center {
    height: 44px !important; /* inline height:40px у разметки виджета */
    margin: 0 0 8px !important; /* mt-4 mb-3 */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
body.pds-role-page .pds-role .w-75 {
    width: 100% !important; /* w-75 — утилита bootstrap с !important */
}
body.pds-role-page .pds-role p.text-secondary {
    margin: 0 0 24px !important; /* mb-4 у разметки виджета */
    color: var(--pds-ink-3) !important; /* text-secondary темы */
    font: 500 14px/20px var(--pds-font) !important;
}
body.pds-role-page .list-group {
    overflow: hidden;
    padding: 6px;
    border: 1px solid var(--pds-hair);
    border-radius: var(--pds-r);
    background: var(--pds-surface);
    font-size: 14px !important; /* font-16 у разметки виджета */
}
body.pds-role-page .list-group-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--pds-ink-2);
    font-weight: 500;
    text-align: left;
    transition: background var(--pds-t-fast) ease, color var(--pds-t-fast) ease;
}
body.pds-role-page .list-group-item.disabled {
    padding: 6px 12px 4px;
    color: var(--pds-ink-4);
    font: 600 11px/16px var(--pds-font);
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.pds-role-page .list-group-item-action:hover,
body.pds-role-page .list-group-item-action:focus {
    background: var(--pds-hover);
    color: var(--pds-primary);
}
body.pds-role-page .list-group-item .mdi {
    order: 2;
    margin: 0 0 0 auto !important; /* mr-1 у разметки; стрелку — в правый край строки, как шеврон */
    color: var(--pds-ink-4);
    font-size: 18px;
    transition: color var(--pds-t-fast) ease;
}
body.pds-role-page .list-group-item-action:hover .mdi { color: var(--pds-primary); }
body.pds-role-page .btn.btn-dark {
    height: var(--pds-btn-h);
    margin: 20px 0 0 !important; /* mt-4 mb-4 у разметки */
    padding: 0 16px;
    border: 1px solid var(--pds-border);
    border-radius: var(--pds-btn-r);
    background: var(--pds-surface);
    color: var(--pds-ink-2);
    font: 600 13px/34px var(--pds-font);
}
body.pds-role-page .btn.btn-dark:hover {
    border-color: var(--pds-primary);
    background: var(--pds-surface);
    color: var(--pds-primary);
}

/* крошки из одного пункта повторяют заголовок (у публичного кабинета нет стартовой крошки) — не показываем */
body.pds-ui .page-title-box .breadcrumb:not(:has(> .breadcrumb-item + .breadcrumb-item)) {
    display: none;
}
