/* Мелкие общие стили Сервиса УСН, которых нет в portal.css */

/* Логотип-плашка в сайдбаре (вместо картинки) */
.sidebar-logo-mark {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--accent, #007AFF);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Подпись-тег в строке таблицы: subtle, без градиентов и uppercase */
.usn-tag {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.06);
    color: var(--text-secondary, #6e6e73);
}
.usn-tag--default { background: rgba(0, 122, 255, 0.12); color: #0060df; }
.usn-tag--income  { background: rgba(52, 199, 89, 0.14); color: #1c7c3a; }
.usn-tag--expense { background: rgba(255, 59, 48, 0.10); color: #c0261c; }

/* Ячейка с моноширинными реквизитами (счёт, ИНН, БИК) */
.usn-mono {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 12.5px;
    color: var(--text-secondary, #6e6e73);
}

/* ============================================================
   Единая обёртка модалок (перенос стандарта Финчика в общий слой).
   Модалка задаёт у себя только ШИРИНУ и min-height — всё остальное здесь.
   ============================================================ */

/* Прижатие к верху: без него окно «прыгает» при росте содержимого */
.modal-overlay.modal-overlay--top {
    align-items: flex-start;
    padding: 24px 0;
    box-sizing: border-box;
}

/* Размер задаётся переменными на оверлее (#xxxModal { --modal-w: 880px }), а не
   правилом с id внутри модалки. Иначе мобильный `width: 100%` пришлось бы
   пробивать !important — селектор по id специфичнее любого класса. */
.modal-card--std {
    width: var(--modal-w, 720px);
    min-height: var(--modal-min-h, 0);
    max-width: 95vw;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
}

.modal-card--std > .modal-title {
    flex-shrink: 0;
    padding: 18px 24px 14px;
    margin: 0;
    border-bottom: 1px solid var(--border, #e5e5ea);
    background: linear-gradient(180deg, rgba(0, 122, 255, 0.04), transparent);
    font-size: 20px;
    font-weight: 700;
}

.modal-card--std > .modal-error { flex-shrink: 0; margin: 12px 24px 0; }

.modal-card--std .modal-body {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding: 16px 24px;
}

.modal-card--std .modal-ftr {
    flex-shrink: 0;
    padding: 12px 24px;
    border-top: 1px solid var(--border, #e5e5ea);
    background: rgba(0, 0, 0, 0.015);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modal-ftr-left, .modal-ftr-right { display: flex; align-items: center; gap: 8px; }

/* Строка «поле + кнопка Заполнить» (ИНН, БИК). Используется в мастере первого
   входа и в модалках организации и счёта — верстка одна на всех. */
.lookup-row { display: flex; gap: 8px; align-items: flex-end; }
.lookup-row .form-group { flex: 1; min-width: 0; margin-bottom: 0; }
.lookup-row .btn { flex-shrink: 0; height: 38px; }

/* Карточка найденных реквизитов */
.lookup-found {
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(52, 199, 89, 0.30);
    background: rgba(52, 199, 89, 0.06);
    border-radius: 10px;
}
.lookup-found-title { font-size: 15px; font-weight: 700; margin-bottom: 10px; }
.lookup-found-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 14px;
    font-size: 13px;
}
.lookup-found-key { color: var(--text-secondary, #6e6e73); white-space: nowrap; }
.lookup-found-val { font-weight: 500; word-break: break-word; }

.lookup-warn {
    margin-top: 12px;
    padding: 9px 12px;
    border-radius: 8px;
    background: rgba(255, 149, 0, 0.12);
    color: #a16207;
    font-size: 13px;
}

/* Подзаголовок-разделитель внутри тела модалки */
.modal-section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--text-secondary, #6e6e73);
    margin: 18px 0 10px;
}
.modal-body > .modal-section-label:first-child { margin-top: 0; }

.modal-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    cursor: pointer;
}

/* Чек-лист первых шагов на дашборде */
.usn-steps { list-style: none; margin: 0; padding: 0; counter-reset: step; }

.usn-step {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    counter-increment: step;
}
.usn-step:last-child { border-bottom: 0; }

.usn-step::before {
    content: counter(step);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: var(--text-secondary, #6e6e73);
    font-size: 11.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.usn-step--done::before {
    content: "✓";
    background: rgba(52, 199, 89, 0.16);
    color: #1c7c3a;
}
.usn-step--done .usn-step-text { color: var(--text-secondary, #6e6e73); }

.usn-step-text { flex: 1; min-width: 0; font-size: 13.5px; }

/* Строка «нет данных» внутри таблицы */
.usn-empty-row td {
    padding: 40px 16px;
    text-align: center;
    color: var(--text-tertiary, #aeaeb2);
    font-size: 13.5px;
}
