/* Комфортный масштаб интерфейса для ежедневной работы */
body {
    font-size: 15px;
    line-height: 1.55;
}

.brand-mark { width: 46px; height: 46px; flex-basis: 46px; font-size: 15px; }
.brand-copy strong { font-size: 16px; }
.brand-copy small { font-size: 11px; }
.nav-label { font-size: 11px; }
.nav-link { min-height: 50px; font-size: 14px; }
.nav-link svg { width: 21px; height: 21px; }
.user-copy strong { font-size: 13px; }
.user-copy span { font-size: 11px; }

.eyebrow { margin-bottom: 8px; font-size: 11px; }
.page-header { margin-bottom: 30px; }
.page-header h1,
.client-hero h1 { font-size: clamp(31px, 2.5vw, 42px); }
.page-description { font-size: 16px; }
.back-link { margin-bottom: 21px; font-size: 13px; }
.text-link { font-size: 13px; }

.button { min-height: 46px; padding: 10px 17px; font-size: 14px; }
.button svg { width: 19px; height: 19px; }
.button--small { min-height: 40px; padding: 8px 13px; font-size: 13px; }
.button--large { min-height: 54px; padding: 13px 20px; }
.icon-button { width: 42px; height: 42px; }
.message { padding: 14px 17px; font-size: 14px; }

.priority-grid { gap: 16px; margin-bottom: 19px; }
.priority-card { min-height: 148px; grid-template-columns: 50px 1fr 20px; gap: 16px; padding: 23px; }
.priority-card__icon { width: 48px; height: 48px; }
.priority-card__icon svg { width: 23px; height: 23px; }
.priority-card__copy small { font-size: 11px; }
.priority-card__copy strong { font-size: 36px; }
.priority-card__copy > span { font-size: 13px; }
.registry-strip { gap: 20px; margin-bottom: 28px; padding: 17px 21px; }
.registry-strip__title strong { font-size: 14px; }
.registry-strip__title span,
.registry-stat span { font-size: 11px; }
.registry-stat strong { font-size: 21px; }

.data-card__header { min-height: 86px; padding: 18px 22px; }
.data-card__heading { gap: 14px; }
.data-card__heading h2 { font-size: 17px; }
.data-card__heading p { font-size: 13px; }
.data-card__icon { width: 43px; height: 43px; flex-basis: 43px; }
.data-card__icon svg { width: 20px; height: 20px; }
.count-pill { min-width: 36px; height: 32px; font-size: 12px; }

.data-table { min-width: 1160px; }
.data-table--organizations { min-width: 1220px; }
.data-table--licenses { min-width: 1260px; }
.data-table--deadlines { min-width: 1180px; }
.data-table th { padding: 14px 18px; font-size: 11px; }
.data-table td { padding: 16px 18px; font-size: 14px; }
.entity-link { min-width: 250px; max-width: 420px; gap: 12px; }
.data-table--deadlines .entity-link { min-width: 220px; }
.entity-link strong,
.table-entity strong,
.license-primary strong { font-size: 14px; }
.entity-link small,
.table-entity small,
.requisites small,
.license-primary small,
.date-stack small { font-size: 12px; }
.entity-avatar { width: 38px; height: 38px; flex-basis: 38px; border-radius: 10px; font-size: 13px; }
.entity-avatar--large { width: 44px; height: 44px; flex-basis: 44px; font-size: 15px; }
.entity-avatar--hero { width: 72px; height: 72px; flex-basis: 72px; font-size: 24px; }
.license-number { font-size: 13px; }
.date-value,
.date-stack strong { font-size: 13px; }
.owner { gap: 8px; font-size: 13px; }
.owner > span { width: 30px; height: 30px; font-size: 11px; }
.owner--empty { padding: 6px 10px; }
.status-badge { gap: 7px; padding: 6px 10px; font-size: 12px; }
.status-badge i { width: 7px; height: 7px; }
.number-chip { min-width: 32px; height: 31px; font-size: 12px; }
.row-action { width: 36px; height: 36px; }
.row-action svg { width: 19px; height: 19px; }
.empty-panel { min-height: 132px; padding: 26px; }
.empty-panel strong { font-size: 14px; }
.empty-panel p { font-size: 13px; }

.toolbar-card { gap: 20px; margin-bottom: 20px; padding: 16px; }
.toolbar-card--stacked { gap: 14px; }
.toolbar,
.client-toolbar__form,
.file-filters,
.deadline-filters { gap: 11px; }
.search-field input,
.select-field select { height: 48px; font-size: 14px; }
.search-field input { padding-left: 43px; }
.search-field svg { left: 14px; width: 20px; height: 20px; }
.select-field { gap: 6px; }
.select-field > span { font-size: 11px; }
.result-count { font-size: 13px; }
.filter-chips { gap: 9px; padding-top: 14px; }
.filter-chip { min-height: 36px; padding: 6px 13px; font-size: 12px; }
.list-summary { margin-bottom: 11px; font-size: 12px; }

.input,
.field-group select,
.field-group input[type="text"],
.field-group input[type="number"],
.field-group input[type="email"],
.field-group input[type="date"],
.field-group textarea { min-height: 48px; padding: 11px 13px; font-size: 14px; }
.field-group { gap: 8px; font-size: 13px; }
.field-group small { font-size: 11px; }
.form-grid { gap: 21px 24px; padding: 26px 24px; }
.form-card__header { padding: 21px 24px; }
.form-card__header h2 { font-size: 16px; }
.form-card__header p { font-size: 12px; }
.form-actions { gap: 11px; padding: 19px 24px; }

.client-hero { gap: 28px; margin-bottom: 22px; padding: 28px 30px; }
.client-hero__identity { gap: 20px; }
.client-hero h1 { margin-top: 7px; font-size: 31px; }
.client-hero p { font-size: 13px; }
.client-hero__meta { gap: 11px; font-size: 12px; }
.client-stats { gap: 15px; margin-bottom: 20px; }
.client-stats > div { min-height: 94px; gap: 14px; padding: 18px 20px; }
.client-stat__icon { width: 44px; height: 44px; flex-basis: 44px; }
.client-stat__icon svg { width: 21px; height: 21px; }
.client-stats strong { font-size: 17px; }
.client-stats p span { font-size: 12px; }
.detail-layout { grid-template-columns: minmax(0, 1.7fr) minmax(350px, .75fr); gap: 20px; }
.detail-layout__main,
.detail-layout__side { gap: 18px; }
.license-item { padding: 24px; }
.license-item__label { margin-bottom: 5px; font-size: 11px; }
.license-item h3 { font-size: 17px; }
.license-item__top p { font-size: 12px; }
.license-timeline { gap: 16px; margin: 19px 0 16px; padding: 16px 17px; }
.license-timeline > div span { font-size: 11px; }
.license-timeline > div strong { font-size: 14px; }
.license-timeline > i { height: 30px; }
.license-item__footer { gap: 13px; }
.days-label { font-size: 12px; }
.info-card { padding: 22px; }
.info-card > header { gap: 11px; margin-bottom: 19px; }
.info-card > header > span { width: 38px; height: 38px; }
.info-card > header svg { width: 19px; height: 19px; }
.info-card h2 { font-size: 16px; }
.info-list { gap: 17px; }
.info-list dt,
.note-block > span { font-size: 11px; }
.info-list dd,
.raw-notes,
.muted-note,
.contact-card,
.note-block p { font-size: 13px; }
.contact-card { gap: 6px; padding: 14px; }

.workflow-status-form label > span,
.responsible-form label > span { font-size: 11px; }
.workflow-status-form select { min-width: 220px; height: 44px; padding-inline: 11px 34px; font-size: 13px; }
.responsible-form { gap: 12px; }
.responsible-form .input { height: 48px; }
.workflow-control-card > header small,
.activity-card > header small { font-size: 11px; }
.archive-note { font-size: 12px; }
.comment-composer { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 13px; padding: 20px 22px; }
.comment-composer textarea { min-height: 100px; padding: 13px 14px; font-size: 14px; }
.comment-avatar { width: 40px; height: 40px; flex-basis: 40px; font-size: 12px; }
.comment-item { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 20px 22px; }
.comment-item strong { font-size: 13px; }
.comment-item time { font-size: 11px; }
.comment-item p { margin-top: 8px; font-size: 14px; }
.activity-item { grid-template-columns: 14px minmax(0, 1fr); gap: 11px; padding-bottom: 19px; }
.activity-item > i { width: 11px; height: 11px; }
.activity-item strong { font-size: 12px; }
.activity-item span { font-size: 11px; }
.empty-inline strong { font-size: 13px; }
.empty-inline span { font-size: 12px; }

.license-hero { padding: 27px 29px; }
.license-hero__mark { width: 72px; height: 72px; flex-basis: 72px; }
.license-hero h1 { font-size: clamp(28px, 2.3vw, 36px); }
.license-hero p { font-size: 13px; }
.license-kpis { gap: 15px; margin-bottom: 20px; }
.license-kpi { min-height: 94px; gap: 14px; padding: 18px 19px; }
.license-kpi__icon { width: 44px; height: 44px; flex-basis: 44px; }
.license-kpi p span { font-size: 11px; }
.license-kpi p strong { font-size: 17px; }
.license-detail-layout { grid-template-columns: minmax(0, 1.72fr) minmax(350px, .72fr); gap: 20px; }
.license-detail-layout__main,
.license-detail-layout__side { gap: 18px; }
.current-period { padding: 25px; }
.period-progress__step span { font-size: 11px; }
.period-progress__step strong { font-size: 14px; }
.period-facts span { font-size: 11px; }
.period-facts strong { font-size: 12px; }
.period-note > span,
.license-notes > span { font-size: 11px; }
.period-note p,
.license-notes p { font-size: 13px; }
.cycle-row { padding: 20px 22px; }
.cycle-row__top > div > strong { font-size: 14px; }
.current-chip { font-size: 10px; }
.cycle-row__facts { font-size: 11px; }
.cycle-row__main > p { font-size: 12px; }
.license-info-list dt { font-size: 10px; }
.license-info-list dd { font-size: 13px; }
.license-outlets strong { font-size: 12px; }
.license-outlets span,
.license-danger-zone p { font-size: 11px; }
.attachment-composer { gap: 12px; padding: 18px 21px; }
.attachment-composer label { gap: 6px; font-size: 11px; }
.attachment-composer .input { height: 44px; min-height: 44px; padding: 9px 11px; font-size: 13px; }
.attachment-row { gap: 13px; padding: 16px 21px; }
.attachment-row__copy strong { font-size: 13px; }
.attachment-row__copy small,
.attachment-row__meta { font-size: 11px; }
.attachment-category { padding: 4px 8px; font-size: 10px; }

.file-stats { gap: 15px; margin-bottom: 20px; }
.file-stats > div { min-height: 94px; gap: 14px; padding: 18px 20px; }
.file-stat__icon { width: 44px; height: 44px; flex-basis: 44px; font-size: 11px; }
.file-stats strong { font-size: 20px; }
.file-stats p span { font-size: 11px; }
.file-table { min-width: 1280px; }
.file-primary { min-width: 310px; max-width: 480px; }
.file-primary strong { font-size: 14px; }
.file-primary small,
.file-license-link small { font-size: 11px; }
.file-license-link strong { font-size: 12px; }
.file-type { width: 46px; height: 46px; flex-basis: 46px; font-size: 10px; }
.file-being-edited strong { font-size: 14px; }
.file-being-edited small { font-size: 11px; }

.deadline-rule { padding: 16px 19px; }
.deadline-rule strong { font-size: 14px; }
.deadline-rule span { font-size: 12px; }
.deadline-stats { gap: 14px; margin-bottom: 19px; }
.deadline-stat { min-height: 120px; padding: 18px 19px; }
.deadline-stat > span { font-size: 11px; }
.deadline-stat strong { font-size: 33px; }
.deadline-stat small { font-size: 12px; }
.deadline-badge { min-width: 158px; padding: 9px 11px; }
.deadline-badge strong { font-size: 12px; }
.deadline-badge small { font-size: 11px; }
.deadline-status-form { gap: 7px; }
.deadline-status-form select { width: 170px; height: 42px; font-size: 12px; }
.deadline-status-form button { width: 40px; height: 40px; }

@media (min-width: 1280px) {
    :root { --sidebar-width: 282px; }
    .sidebar { padding: 27px 18px 20px; }
    .content-shell { width: min(1780px, 100%); padding: 42px 44px 82px; }
}

@media (max-width: 1180px) {
    .detail-layout,
    .license-detail-layout { grid-template-columns: 1fr; }
    .detail-layout__side,
    .license-detail-layout__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    body { font-size: 15px; }
    .content-shell { padding: 26px 17px 54px; }
    .page-header h1 { font-size: 30px; }
    .page-description { font-size: 15px; }
    .button { min-height: 44px; font-size: 13px; }
    .data-table--dashboard,
    .file-table { min-width: 0; }
    .data-table--deadlines { min-width: 1040px; }
    .detail-layout__side,
    .license-detail-layout__side { grid-template-columns: 1fr; }
    .comment-composer { grid-template-columns: 40px minmax(0, 1fr); }
    .comment-composer .button { grid-column: 2; }
}

@media (max-width: 480px) {
    .client-hero h1 { font-size: 25px; }
    .client-hero { padding: 21px; }
    .client-stats > div,
    .file-stats > div { padding: 16px; }
}
