/* Targeted legibility adjustments; the original layout and display type stay in component CSS. */
:root {
  --type-small: .75rem;
  --type-body: .875rem;
  --bs-body-font-size: .875rem;
  --bs-body-line-height: 1.5;
}
body { font-size: .875rem; line-height: 1.5; }
.brand-caption { font-size: 8px; letter-spacing: 1.8px; line-height: 1.4; }
.nav-item { font-size: 13px; }
.nav-caption { font-size: 9px; letter-spacing: 1px; color: #a4b8e9; }
.organization strong,.help-card strong { font-size: 12px; }
.organization small,.help-card p,.help-card a,.sidebar-footnote { font-size: 11px; }
.organization small,.help-card p { color: #b0c2ed; }
.sidebar-footnote { color: #a4b8e9; }
.breadcrumb-line { font-size: 12px; }
.header-status { font-size: 9px; }
.user-details strong { font-size: 13px; }
.user-details small { font-size: 11px; }
.eyebrow,.module-label,.workspace-kicker,.section-index { font-size: 10px; letter-spacing: 1.2px; }
.demo-label { font-size: 10px; }
.page-heading p { font-size: 14px; line-height: 1.6; }
.workspace-footer,.portfolio-edition { font-size: 10px; color: #536b96; }
.btn { --bs-btn-font-size: 13px; font-size: 13px; }
.form-control,.form-select,.input-search input { font-size: 14px; }
.form-label,.form-text { font-size: 12px; }
.modal-body,.toast-body { font-size: 14px; }
.modal-note,.soft-badge { font-size: 11px; }
.table td,.table td strong,.ticket-row strong,.setting-row strong,.contact-detail strong { font-size: 14px; }
.table th,.table-subtitle,.ticket-row small,.setting-row small { font-size: 12px; }
.file-icon { font-size: 8px; }
.client-utility-links button,.client-utility-links a { font-size: 13px; }
.client-wallet a > span { font-size: 12px; }
.portfolio-heading p,.portfolio-summary p { font-size: 12px; }
.portfolio-filters button { font-size: 12px; }
.portfolio-filters button span { font-size: 10px; }
.license-index { font-size: 10px; }
.license-name { font-size: 14px; }
.license-state { font-size: 12px; }
.portfolio-footer { font-size: 11px; }
.folder-ear { font-size: 11px; letter-spacing: .4px; }
.folder-ear span { font-size: 11px; }
.expiry-notification { font-size: 11px; }
.contract-selector label { font-size: 10px; }
.contract-selector select { font-size: 14px; }
.renew-all-button,.contract-tabs button { font-size: 13px; }
.contract-tabs button span { font-size: 10px; }
.subscription-station-search input { font-size: 13px; }
.subscription-list-controls > select { font-size: 12px; max-width: 185px; }
.subscription-caption strong,.subscription-caption > span { font-size: 11px; }
.subscription-date-table thead th,.subscription-date-table .provider-name { font-size: 11px; }
.subscription-date-table .provider-monogram { font-size: 12px; }
.station-subscription-name > strong { font-size: 14px; }
.station-subscription-name > small { font-size: 10px; }
.expiry-date { font-size: 14px; }
.expiry-state { font-size: 10px; }
.contract-status-line,.folder-footer { font-size: 11px; }
#subscription-page-caption,.subscription-page-size select,#subscription-page-buttons button { font-size: 11px; }
.subscription-page-size select { width: 78px; }
.contract-record h4,.record-amount { font-size: 14px; }
.contract-record p,.record-amount small { font-size: 11px; }
.push-overview h2 { font-size: 13px; }
.push-overview-identity p,.push-overview-metric span,.push-overview-last > span,.push-overview-last > small,.push-overview-footer { font-size: 11px; }
.push-overview-last > strong { font-size: 13px; }
.push-topup-link { font-size: 12px; }
.push-account-heading h2 { font-size: 14px; }
.push-configurator h3 { font-size: 15px; }
.push-presets button[aria-pressed="true"]::after { font-size: 9px; }
.push-presets button small { font-size: 11px; }
.push-stepper input { font-size: 14px; }
.push-history-table td strong { font-size: 14px; }
.push-history-table time { font-size: 12px; }
.push-history-table td small { font-size: 11px; }
.push-overview-footer { flex-wrap: wrap; gap: 8px 20px; }
@media (max-width: 1199px) and (min-width: 768px) {
  .client-workspace-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .contract-folder { grid-row: 1; }
  .license-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .subscription-date-table .provider-monogram { display: inline-block; margin: 0 4px 0 0; }
  .push-overview { grid-template-columns: 1.3fr 1fr 1fr auto; }
  .push-overview-last { grid-column: 1 / 4; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .push-overview-last > * { margin: 0; }
  .push-topup-link { grid-column: 4; grid-row: 1 / 3; }
}
@media (max-width: 991px) {
  .breadcrumb-line { min-width: 0; }
  .breadcrumb-line strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}
@media (max-width: 767px) {
  .panel-heading { flex-wrap: wrap; align-items: flex-start; }
  .panel-heading .input-search { flex-basis: 100%; min-width: 0; }
  .client-utility-links { flex-wrap: wrap; gap: 10px 12px; }
  .client-utility-links button,.client-utility-links a { font-size: 12px; }
  .contract-heading { gap: 12px; flex-wrap: wrap; }
  .contract-selector-row { flex-wrap: wrap; }
  .contract-selector { flex-basis: 100%; }
  .renew-all-button { width: 100%; padding: 11px; }
  .contract-tabs button { font-size: 12px; white-space: normal; }
  .subscription-caption,.folder-footer { flex-wrap: wrap; }
  .subscription-list-controls > select { max-width: none; }
  .subscription-station-search { flex-basis: 100%; }
  .station-subscription-name { flex-wrap: wrap; gap: 2px 8px; }
  .mobile-provider-label { font-size: 10px; white-space: normal; min-height: 30px; }
  .subscription-date-table .station-subscription-row { gap: 9px 8px; }
  .expiry-date { font-size: 13px; }
  .subscription-expiry.active .expiry-date::before { margin-right: 3px; }
  .client-bottom-line { flex-wrap: wrap; gap: 12px; }
  .push-overview-identity { padding-right: 95px; }
  .push-overview-last { flex-wrap: wrap; gap: 5px 8px; }
  .push-account-heading { flex-wrap: wrap; }
  .push-account-heading > span { max-width: none; }
  .push-presets button small { white-space: normal; font-size: 10px; }
  .push-presets button span { font-size: 11px; }
  .push-history-heading { flex-wrap: wrap; }
  .push-history-toolbar { flex-wrap: wrap; }
  #push-history-period { max-width: none; }
  .push-history-table tbody td strong { font-size: 13px; }
  .push-history-table tbody td time { font-size: 11px; }
  .notification-menu { max-width: calc(100vw - 24px); }
  #view-documents { overflow-x: clip; }
  .document-filters .form-select { flex-basis: 100%; width: 100%; }
  .document-filters .btn { width: 100%; }
  .document-table,.document-table tbody { display: block; width: 100%; }
  .document-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
  .document-table tbody tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px 16px; padding: 16px; border-top: 1px solid var(--line); }
  .document-table tbody td { display: block; border: 0; padding: 0; white-space: normal; min-width: 0; }
  .document-table tbody td:first-child { grid-column: 1 / -1; }
  .document-table tbody td:nth-child(2)::before,.document-table tbody td:nth-child(3)::before { display: block; color: #536b96; font-size: 11px; margin-bottom: 3px; }
  .document-table tbody td:nth-child(2)::before { content: 'Дата'; }
  .document-table tbody td:nth-child(3)::before { content: 'Сумма'; }
  .document-table tbody td:nth-child(5) { justify-self: end; }
  .document-table .document-name { align-items: flex-start; }
  .document-table .empty-state { grid-column: 1 / -1; }
}
@media (max-width: 359px) {
  .breadcrumb-line { max-width: 110px; }
  .subscription-date-table .station-subscription-row { padding-left: 6px; padding-right: 6px; column-gap: 4px; }
  .expiry-date { letter-spacing: -.2px; }
  .subscription-expiry.active .expiry-date::before { width: 3px; margin-right: 1px; }
  .push-overview-identity { padding-right: 0; }
  .push-topup-link { position: static; grid-column: 1 / -1; justify-content: space-between; }
  .push-presets { grid-template-columns: minmax(0,1fr); gap: 13px; }
  .push-presets button { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 10px; padding: 13px; }
  .push-presets button strong { grid-column: 1; font-size: 22px; }
  .push-presets button span { grid-column: 1; margin: 0; }
  .push-presets button small { grid-column: 2; grid-row: 1 / 3; align-self: center; max-width: 100px; }
}
