:root{--text-page:35px;--text-figure:29px;--text-figure-sm:21px;--text-section:17px;--text-body:14px;--text-ui:12px;--text-meta:11px;--text-micro:10px;--weight-regular:400;--weight-medium:600;--weight-semibold:700;--weight-bold:800;--track-figure:-.03em;--track-figure-sm:-.025em}

body{font-size:var(--text-body);font-weight:var(--weight-regular)}

.brand{font-weight:900}
.nav a,.link-button{font-size:var(--text-ui);font-weight:var(--weight-regular)}
.nav a.active{font-weight:var(--weight-medium)}

.page-head h1,.budget-month-nav h1,.ai-hero h1{font-size:var(--text-page);font-weight:var(--weight-semibold);letter-spacing:-1.2px}
.card h2,.category-group-head h2{font-size:var(--text-section);font-weight:var(--weight-medium);letter-spacing:-.2px}

.section-head a,.category-add summary,.journal-export-links a,.pagination a,.dashboard-account-add{font-size:var(--text-ui);font-weight:var(--weight-medium)}
.button{font-size:var(--text-ui);font-weight:var(--weight-medium)}

.field label,.stack-form label{font-size:var(--text-meta);font-weight:var(--weight-medium)}
.field input,.field select,.field textarea,.stack-form input,.stack-form select,.stack-form textarea{font-size:var(--text-body);font-weight:var(--weight-regular)}

.primary-balance span,.rta-summary span,.compact-row small,.account-row span,.journal-count,.dashboard-account-main small,.dashboard-account-note,.dashboard-archived-accounts>summary,.account-adjustment-note,.login-motto{font-size:var(--text-meta);font-weight:var(--weight-regular)}
.primary-balance strong{font-weight:var(--weight-medium)}
.rta-summary strong{font-weight:var(--weight-medium)}
.dashboard-archived-accounts>summary{font-weight:var(--weight-medium)}

.compact-row>strong,.compact-row span>strong,.account-row-side>strong,.account-main .entity-title strong,.dashboard-account-main strong,.dashboard-account-side>strong{font-weight:var(--weight-medium)}

th,.group-title,.dashboard-budget-columns,.metrics-break-columns,.ai-token-head{font-size:var(--text-meta);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:.01em}
.group-title{font-size:var(--text-ui)}
td{font-size:var(--text-body);font-weight:var(--weight-regular)}
.group-row td{font-size:var(--text-ui);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:0}

.quick-operation-tabs button,.transaction-tabs button{font-size:var(--text-ui);font-weight:var(--weight-medium)}
.quick-operation-card .form-actions .button.primary{font-weight:var(--weight-medium)}

.budget-repeat-action{font-size:var(--text-ui);font-weight:var(--weight-medium)}
.budget-group-row td{font-size:var(--text-ui);font-weight:var(--weight-semibold)}
.category-name-cell,.budget-table .category-name-cell{font-weight:var(--weight-regular)}
.available,.budget-table .available,.dashboard-budget-available{font-weight:var(--weight-medium)}

.entity-menu summary{font-weight:var(--weight-semibold)}
.menu-action,.text-action{font-size:var(--text-ui);font-weight:var(--weight-regular)}
.archive-badge{font-size:var(--text-micro);font-weight:var(--weight-semibold)}

.pagination{font-size:var(--text-meta);font-weight:var(--weight-regular)}
.journal-filter-actions a,.journal-edit-link,.journal-delete-action{font-size:var(--text-ui);font-weight:var(--weight-regular)}
.pagination a{font-weight:var(--weight-medium)}

.login-logo{font-weight:900}
.login-error{font-size:var(--text-ui)}

.fresh-start-intro,.fresh-start-summary-block li,.fresh-start-backup p{font-size:var(--text-body);font-weight:var(--weight-regular)}
.fresh-start-summary-block h2,.fresh-start-section-title,.field label.fresh-start-section-title{font-size:var(--text-body);font-weight:var(--weight-medium);letter-spacing:0;color:var(--ink)}

/* Крупные суммы: одна роль — один кегль на всех страницах. */
.primary-balance strong,.rta-summary strong,.metrics-equation-result strong{font-size:var(--text-figure);line-height:1.15;font-weight:var(--weight-medium);letter-spacing:var(--track-figure);font-variant-numeric:tabular-nums}
.metrics-equation-item strong,.metrics-break-total strong,.metrics-distribution-summary strong{font-size:var(--text-figure-sm);line-height:1.2;font-weight:var(--weight-medium);letter-spacing:var(--track-figure-sm);font-variant-numeric:tabular-nums}

/* Экран ИИ: подписи и подзаголовки на общей шкале. */
.ai-label{font-size:var(--text-meta);font-weight:var(--weight-medium);text-transform:none;letter-spacing:0}
.ai-guide h3{font-size:var(--text-body);font-weight:var(--weight-medium)}
.ai-token-row:not(.ai-token-head),.ai-permission{font-size:var(--text-body)}
.ai-permission small{font-size:var(--text-meta)}
.ai-footnote{font-size:var(--text-meta)}
.ai-status,.ai-fact strong,.ai-guide strong,.ai-permission strong{font-weight:var(--weight-medium)}

@media(max-width:850px){:root{--text-page:28px;--text-figure:26px;--text-figure-sm:19px;--text-section:16px;--text-body:13px;--text-ui:11px;--text-meta:10px;--text-micro:10px}.page-head h1,.budget-month-nav h1,.ai-hero h1{font-size:var(--text-page)}}