/* Generated by scripts/build-font-scale.cjs. Regenerate after typography changes. */
.general-personalization-form > h3 { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.general-personalization-form > p { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.general-personalization-form label { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.general-personalization-form select,.general-personalization-form input { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.ui-font-preview h4 { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.ui-font-preview p { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.ui-font-preview small { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.session-loading strong { font-size: calc(.92rem * var(--ui-font-scale, 1)); }
.session-loading small { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.auth-logo { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.auth-brand-panel li { font-size: calc(.88rem * var(--ui-font-scale, 1)); }
.auth-brand-panel li::before { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.auth-form > div:first-child h2 { font-size: calc(1.65rem * var(--ui-font-scale, 1)); }
.auth-form label { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.auth-link-button { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.auth-switch-copy { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.privacy-copy { font-size: calc(.71rem * var(--ui-font-scale, 1)); }
.verification-icon { font-size: calc(1.7rem * var(--ui-font-scale, 1)); }
.verification-code { font-size: calc(1.35rem * var(--ui-font-scale, 1)); }
.demo-code-note { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.eyebrow { font-size: calc(0.78rem * var(--ui-font-scale, 1)); }
.step-badge { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.timeline-step span { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.timeline-step p { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.company-toggle strong { font-size: calc(.95rem * var(--ui-font-scale, 1)); }
.field-section h2 { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.project-client-linker h2 { font-size: calc(1.08rem * var(--ui-font-scale, 1)); }
.project-client-linker > div:first-child > p:last-child { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.project-client-mode button { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.form-grid label { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.form-message { font-size: calc(.87rem * var(--ui-font-scale, 1)); }
.form-actions p { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.project-summary dt { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.project-summary dd { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.process-field label { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.process-field p { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.procedure-options h3 { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.recommendation-note { font-size: calc(.91rem * var(--ui-font-scale, 1)); }
.documents-header { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.expand-icon { font-size: calc(1.25rem * var(--ui-font-scale, 1)); }
.file-status small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.document-icon { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.document-action small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.document-description { font-size: calc(.87rem * var(--ui-font-scale, 1)); }
.prototype-note { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.optional-files-heading h3 { font-size: calc(1.08rem * var(--ui-font-scale, 1)); }
.optional-files-heading p { font-size: calc(.87rem * var(--ui-font-scale, 1)); }
.optional-file-row > span:first-child { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.optional-file-header { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.upload-control > span { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.upload-control small { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.dashboard-brand p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.dashboard-brand h1 { font-size: calc(1.25rem * var(--ui-font-scale, 1)); }
.dashboard-nav > .nav-home, .nav-menu > summary, .profile-menu > summary { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.nav-dropdown button { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.avatar-placeholder { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.avatar-placeholder.large { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.module-placeholder > span { font-size: calc(1.4rem * var(--ui-font-scale, 1)); }
.dashboard-welcome h2 { font-size: calc(1.8rem * var(--ui-font-scale, 1)); }
.module-notice { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.metric-icon { font-size: calc(1.35rem * var(--ui-font-scale, 1)); }
.metric-card small { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.metric-card strong { font-size: calc(1.8rem * var(--ui-font-scale, 1)); }
.region-overview-header h2 { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.region-overview-header p { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.region-card strong { font-size: calc(.88rem * var(--ui-font-scale, 1)); }
.region-card span { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.projects-panel-header h2 { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.projects-panel-header p { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.projects-panel-actions > span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.view-switch button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.project-card-top small { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.project-card-top strong { font-size: calc(.98rem * var(--ui-font-scale, 1)); }
.project-card-details small { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.project-card-details strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.kanban-column-header h3 { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.kanban-column-header small { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.kanban-column-header p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.kanban-column-header strong { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.kanban-card-heading strong { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.kanban-card-heading > span { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.kanban-card-location { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.kanban-client-status small { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.kanban-client-status strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.kanban-client-status em { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.kanban-card-data { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.kanban-column-header > .kanban-step-number { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.kanban-card-value { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.kanban-empty { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.netbilling-card-stage { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.project-inactivity-badge { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.netbilling-card-status { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.netbilling-card-owner { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.netbilling-card-location { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.netbilling-card-data small { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.netbilling-card-data strong { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.netbilling-card-data.value strong { font-size: calc(.88rem * var(--ui-font-scale, 1)); }
.general-card-heading > strong { font-size: calc(.87rem * var(--ui-font-scale, 1)); }
.general-card-actions summary { font-size: calc(1.12rem * var(--ui-font-scale, 1)); }
.general-card-actions button { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.general-card-chip { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.general-card-type { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.general-card-client small,.general-card-progress-heading small { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.general-card-client strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.general-card-progress-heading strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.general-card-progress em { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.general-card-balance small { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.general-card-balance strong { font-size: calc(.83rem * var(--ui-font-scale, 1)); }
.general-project-row.heading { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.general-project-tabs button { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.general-project-tab-panel > header h3 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.general-project-tab-panel > header p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.general-project-footer button { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.general-project-finance p { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.general-document-empty,.general-task-empty { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.general-document-file > span:first-child { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.general-document-file strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.general-document-file small { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.general-document-open { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.general-document-upload input { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.general-document-status { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.general-task-item span { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.general-project-custom > header h3 { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.general-project-custom > header p { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.general-custom-group h4 { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.general-custom-group p { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.general-custom-group .compact-button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.general-custom-row input,.general-custom-row select { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.general-assignment-type { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.general-custom-remove { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.general-custom-empty { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.general-project-filters label { font-size: calc(.57rem * var(--ui-font-scale, 1)); }
.general-project-filters select,.general-project-filters input { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.general-project-filters button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.general-custom-settings-columns h3 { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.general-custom-settings-columns small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.general-custom-settings-columns header button,.general-custom-settings-dialog .leave-dialog-actions button { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.general-definition-row input,.general-definition-row select { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.general-definition-empty { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.general-payment-help { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.general-stage-drag-handle { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
@media (max-width: 520px) {
.general-project-tabs button { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
}
.calculator-grid label { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.calculator-helper { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.calculator-empty-result > span { font-size: calc(1.8rem * var(--ui-font-scale, 1)); }
.calculator-result-heading span { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.calculator-result-heading strong { font-size: calc(2.25rem * var(--ui-font-scale, 1)); }
.calculator-result-heading em { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.calculator-result-grid small { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.calculator-result-grid strong { font-size: calc(.83rem * var(--ui-font-scale, 1)); }
.calculator-result-detail { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.calculator-commerce small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.calculator-commerce strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calculator-commerce p { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.calculator-commerce a { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calculator-legal-note { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.ric-library-stat strong { font-size: calc(1.7rem * var(--ui-font-scale, 1)); }
.ric-library-stat span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-library-stat small { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.ric-search-box span { font-size: calc(1.3rem * var(--ui-font-scale, 1)); }
.ric-filter-label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-index-heading strong { font-size: calc(.79rem * var(--ui-font-scale, 1)); }
.ric-index-heading span { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.ric-index-item > span { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.ric-index-item strong { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.ric-index-item small { font-size: calc(.6rem * var(--ui-font-scale, 1)); }
.ric-index-item i { font-size: calc(1.2rem * var(--ui-font-scale, 1)); }
.ric-article-header span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-article-header p { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.ric-page-count strong { font-size: calc(1.4rem * var(--ui-font-scale, 1)); }
.ric-page-count small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.ric-meta-row > span { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.ric-meta-row button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.ric-article-intro h4 { font-size: calc(.96rem * var(--ui-font-scale, 1)); }
.ric-article-intro p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-section summary > span { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.ric-section summary strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.ric-section p { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.ric-section small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.ric-no-results span, .ric-article-empty span { font-size: calc(2rem * var(--ui-font-scale, 1)); }
.ric-no-results p, .ric-article-empty p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-library-disclaimer { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-download-button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-match-summary > strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.ric-match-summary button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.ric-match-summary span { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.ric-page > summary span { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.ric-page > summary strong { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.ric-source-line { font-size: calc(.79rem * var(--ui-font-scale, 1)); }
.ric-source-line.is-heading { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.ric-source-line.is-note { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.ric-page-tables h5 { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.ric-table-label { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.ric-table-scroll table { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.projects-table-header { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.crm-table-row { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.project-summary-row { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.status-pill { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.workflow-exit-button { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.workflow-exit-button span { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.leave-dialog-icon { font-size: calc(1.3rem * var(--ui-font-scale, 1)); }
.view-project-button { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.project-quick-summary small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.project-quick-summary strong { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.empty-projects > span { font-size: calc(2rem * var(--ui-font-scale, 1)); }
.empty-projects p { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.archive-dialog-icon { font-size: calc(1.4rem * var(--ui-font-scale, 1)); }
.archived-table-header { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.archived-project-row { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.archived-project-row small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.modal-header h2 { font-size: calc(1.35rem * var(--ui-font-scale, 1)); }
.icon-button { font-size: calc(1.5rem * var(--ui-font-scale, 1)); }
.project-tab { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.empty-tab-panel > span { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.tab-section-heading p { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.gda-file-row strong { font-size: calc(.83rem * var(--ui-font-scale, 1)); }
.gda-file-row small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.gda-process-status small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.gda-process-status strong { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.gda-process-status p { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.validation-state { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.gda-file-header { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.gda-acronym { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.gda-upload-button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.locked-section-notice { font-size: calc(.78rem * var(--ui-font-scale, 1)) !important; }
.locked-document-action { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.detail-form label { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.string-configuration-heading h3 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.string-configuration-heading p { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.detail-form .compact-button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.initial-string-configuration .compact-button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.string-row-title span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.string-row-title strong { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.detail-form .remove-string-button { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.initial-string-configuration .remove-string-button { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.project-location-card h3 { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.project-location-card header p { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.project-location-coordinates small { font-size: calc(.55rem * var(--ui-font-scale, 1)); }
.project-location-coordinates strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.project-location-coordinates p { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.project-location-card .leaflet-control-attribution { font-size: calc(8px * var(--ui-font-scale, 1)); }
.modal-documents p { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.modal-document-row > span { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.modal-document-row .gda-reference-note { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.document-pending-note { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.modal-document-actions button, .modal-document-actions label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.modal-document-row > span small { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.modal-document-actions .te4-report-edit { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.client-lookup-form label { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.client-project-heading small { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.client-current-status { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.status-symbol { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.client-status-card small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.client-status-card p { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.no-action-note { font-size: calc(.77rem * var(--ui-font-scale, 1)); }
.client-milestone > span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.client-milestone strong { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.client-milestone small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.client-milestone.substep > span { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.client-milestone.substep strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.client-milestone.substep small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.client-project-meta small { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.client-project-meta strong { font-size: calc(.77rem * var(--ui-font-scale, 1)); }
.validation-dialog-state h2 { font-size: calc(1.4rem * var(--ui-font-scale, 1)); }
.validation-result-icon { font-size: calc(1.7rem * var(--ui-font-scale, 1)); }
.validation-detected-data dt { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.validation-detected-data dd { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.personalization-subtabs button { font-size: calc(12px * var(--ui-font-scale, 1)); }
.memory-advanced-options > summary { font-size: calc(12px * var(--ui-font-scale, 1)); }
.memory-advanced-options > p { font-size: calc(11px * var(--ui-font-scale, 1)); }
.memory-string-lengths article > strong { font-size: calc(13px * var(--ui-font-scale, 1)); }
.memory-string-lengths label { font-size: calc(11px * var(--ui-font-scale, 1)); }
.te4-checklist-intro { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.te4-checklist-section > summary::after { font-size: calc(1.2rem * var(--ui-font-scale, 1)); }
.te4-checklist-section > summary small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-checklist-question { font-size: calc(.79rem * var(--ui-font-scale, 1)); }
.te4-checklist-question small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.te4-checklist-choices label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-checklist-observation { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.te4-checklist-general-note { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.image-report-section-heading h3 { font-size: calc(.94rem * var(--ui-font-scale, 1)); }
.image-report-section-heading p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.image-report-heading-actions > span { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-heading-actions > button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-template-card strong { font-size: calc(.83rem * var(--ui-font-scale, 1)); }
.image-report-template-card small { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.image-report-template-card em { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.image-report-project-summary small { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.image-report-project-summary strong { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.image-report-section > summary small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.image-report-section > summary strong { font-size: calc(.79rem * var(--ui-font-scale, 1)); }
.image-report-section > summary em { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.image-report-section-body > label { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.image-report-description small { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.image-report-upload span small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.image-report-upload em { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.image-report-file-list > .image-report-file-item,.image-report-file-list > small { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.image-report-file-list .image-report-file-item button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.image-report-preview-heading span { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.image-report-preview-heading strong { font-size: calc(.88rem * var(--ui-font-scale, 1)); }
.image-report-preview-heading small { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.image-report-preview-page header span { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.image-report-preview-page header strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-photo-empty span { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.image-report-photo-empty small { font-size: calc(.55rem * var(--ui-font-scale, 1)); }
.image-report-photo-thumb > span { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.image-report-photo-thumb small { font-size: calc(.48rem * var(--ui-font-scale, 1)); }
.image-report-preview-page > p { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.field-help { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.supply-bill-upload span small { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.supply-bill-upload em { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.supply-bill-upload b { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.modal-header p { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.profile-settings-tabs button { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.report-cover-settings-heading h3 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.report-cover-settings-heading p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.report-cover-controls > label { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.report-cover-preview-wrap > span { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.report-cover-preview-media strong { font-size: calc(22px * var(--ui-font-scale, 1)); }
.report-cover-preview > p { font-size: calc(15px * var(--ui-font-scale, 1)); }
.report-cover-preview > strong { font-size: calc(12px * var(--ui-font-scale, 1)); }
.report-cover-preview > time { font-size: calc(9px * var(--ui-font-scale, 1)); }
.integration-intro,.integration-privacy-note { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.integration-configuration-note { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.integration-service-icon { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.integration-service-icon.drive { font-size: calc(1.35rem * var(--ui-font-scale, 1)); }
.integration-card h3 { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.integration-card-heading p { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.integration-card-actions button,.integration-upload-button { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.integration-status { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.integration-message { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.settings-form label, .report-form label { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.profile-section-title { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.profile-asset-picker > span:first-child small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-section h3 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.report-section-heading p { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.report-section-heading .compact-button { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.report-installer-summary small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-installer-summary strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.report-module-picker small { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.report-module-picker strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.report-module-picker button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-module-summary small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.report-module-summary strong { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.report-string-card.library-module .module-locked-note { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-form.library-linked .report-section h3 { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.report-form.library-linked label { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.report-string-header > span { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.report-string-actions button { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.report-string-auto-summary small { font-size: calc(.55rem * var(--ui-font-scale, 1)); }
.report-string-auto-summary strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.report-string-cable-summary small { font-size: calc(.53rem * var(--ui-font-scale, 1)); }
.report-string-cable-summary strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-string-user-group h4 { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.report-string-input-grid label { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.report-string-input-grid input,.report-string-input-grid select { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.report-edit-warning { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.report-calculation-note { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-module-picker-dialog > header p { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.report-module-picker-dialog > header h2 { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.report-module-picker-dialog > header span { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.report-module-search { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.report-picker-section-title h3 { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.report-picker-section-title span { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.report-module-choice strong { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.report-module-choice small { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.report-module-frequent-badge { font-size: calc(.57rem * var(--ui-font-scale, 1)); }
.report-module-no-results strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.report-module-no-results span { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.dashboard-nav > .nav-home small, .dashboard-nav > .side-nav-button small, .nav-menu > summary small, .profile-menu > summary small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.side-nav-icon { font-size: calc(.93rem * var(--ui-font-scale, 1)); }
.profile-menu .avatar-placeholder { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.dashboard-type-row { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.dashboard-type-row.heading { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.dashboard-type-empty span { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.saved-client-picker small { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.catalog-row { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.catalog-row.heading { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.client-row { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.client-row.heading { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.catalog-empty > span { font-size: calc(2rem * var(--ui-font-scale, 1)); }
.catalog-empty p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.catalog-drawer h2 { font-size: calc(1.3rem * var(--ui-font-scale, 1)); }
.catalog-drawer label { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.client-installations-section > summary::after { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.client-installations-section > summary small { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.installation-count { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.client-installations-heading { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.client-installation-row > summary { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.client-installation-row > summary::after { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.client-installation-row > summary small { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.client-installation-detail small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.client-installation-detail strong { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.edit-installation-button { font-size: calc(.83rem * var(--ui-font-scale, 1)); }
.delete-installation-button { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.client-installations-empty { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.quote-form-header small { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.quote-header-actions > span { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.quote-info-grid label, .quote-note { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.optional-label { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.quote-lines-header { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.quote-line > strong { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.quote-totals > div { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.quote-total strong { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.saved-quotes-heading label { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.saved-quotes h3 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.saved-quotes > div:first-child p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.quotes-row { font-size: calc(.71rem * var(--ui-font-scale, 1)); }
.quotes-row.heading { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.quote-status { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.quote-approve-button { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.quote-action-icon { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.quote-action-icon[data-tooltip]::after { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.quote-settings-drawer > header p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.quote-logo-preview { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.quote-fixed-brand span { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.quote-fixed-brand strong { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.quote-fixed-brand small { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.saved-quotes-empty { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.finance-assignment-dialog label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.finance-assignment-summary strong { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.finance-empty > span { font-size: calc(1.5rem * var(--ui-font-scale, 1)); }
.finance-metrics strong { font-size: calc(1.12rem * var(--ui-font-scale, 1)); }
.payments-heading p { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.payment-record > div > strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.payment-record > div > span { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.payment-record small { font-size: calc(.6rem * var(--ui-font-scale, 1)); }
.payment-record > button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.payments-empty { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.finance-payment-form label { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.payment-disclaimer { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
@media (max-width: 650px) {
.auth-brand-panel h1 { font-size: calc(1.8rem * var(--ui-font-scale, 1)); }
.auth-brand-panel > p:not(.eyebrow) { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.timeline-step p { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-field-label { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
}
.te1-column h3 { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.te1-column > header > span:last-child { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.te1-card-kicker { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.te1-card > strong { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.te1-card > small { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te1-card-detail { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.te1-card-observation { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.te1-project-row > * { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te1-archived { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.te1-archived button { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.te1-stage-preview small { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.te1-stage-preview strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.te1-optional-section > summary { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.te1-optional-section > summary small { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.te1-condition-list label { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.te1-guidance { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te1-requirements-summary strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.te1-requirements-summary span { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.te1-requirement strong { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.te1-requirement small { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.te1-requirement-actions button,.te1-upload { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.te1-official-link { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te1-task label { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.te1-empty-note { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calendar-sidebar-heading h2 { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.calendar-add-button { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.calendar-group-row { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.calendar-group-delete { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.calendar-delete-content p { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.calendar-delete-content label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calendar-delete-content .calendar-delete-help { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.google-connection-indicator { font-size: calc(1.8rem * var(--ui-font-scale, 1)); }
.file-library-dialog h2 { font-size: calc(20px * var(--ui-font-scale, 1)); }
.file-library-progress-copy { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-progress-copy strong { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-link-fields label { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-link-fields input { font-size: calc(12px * var(--ui-font-scale, 1)); }
.file-library-link-fields select { font-size: calc(12px * var(--ui-font-scale, 1)); }
.file-library-link-fields small { font-size: calc(11px * var(--ui-font-scale, 1)); }
.app-toast-icon { font-size: calc(17px * var(--ui-font-scale, 1)); }
.app-toast strong { font-size: calc(13px * var(--ui-font-scale, 1)); }
.app-toast p { font-size: calc(11px * var(--ui-font-scale, 1)); }
.app-toast button { font-size: calc(18px * var(--ui-font-scale, 1)); }
.pv-modules-workspace .dashboard-main-actions button { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.pv-module-filters label { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.pv-module-filters input, .pv-module-filters select { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.pv-module-row.heading { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.pv-module-row > span { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.pv-module-row .pv-module-name strong { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.pv-module-row .pv-module-name small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.pv-library-note { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.project-technical-form label { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.project-technical-form label > small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.technical-equipment-summary small { font-size: calc(.55rem * var(--ui-font-scale, 1)); }
.technical-equipment-summary strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.technical-equipment-summary span { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.technical-equipment-summary > p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.technical-protection-section h3,.technical-equipment-section h3 { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.technical-protection-section p,.technical-equipment-section p { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.technical-cable-group legend { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.technical-project-panel > .project-technical-form > .string-configuration .string-configuration-heading h3 { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.technical-project-panel > .project-technical-form > .string-configuration .string-configuration-heading p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-reference-note { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-reference-note i { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-fields-header { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-fields-header small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title > span { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title strong { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-panel-count { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-panel-count input { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-input-shell input { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-input-shell b { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.technical-design-warning { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.technical-form-actions span { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.string-row-title small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
@media (min-width: 1200px) {
.technical-project-panel > .project-technical-form > .string-configuration .string-configuration-heading h3 { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.technical-project-panel > .project-technical-form > .string-configuration .string-configuration-heading p { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-reference-note { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-reference-note i { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-fields-header { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-fields-header small { font-size: calc(.53rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title > span { font-size: calc(.8rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-row-title small { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-panel-count { font-size: calc(.54rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-panel-count input { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-input-shell input { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-input-shell b { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.technical-project-panel .string-field-row .remove-string-button { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
}
.pv-module-form h3 { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.pv-module-form-grid label { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.pv-module-form-grid input, .pv-module-form-grid select { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.pv-module-file-summary { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.pv-module-detail-dialog > header p { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.pv-module-detail-dialog h2 { font-size: calc(1.2rem * var(--ui-font-scale, 1)); }
.pv-module-detail-grid div { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.pv-ai-review-dialog > header p { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.pv-ai-review-dialog > header h2 { font-size: calc(1.2rem * var(--ui-font-scale, 1)); }
.pv-ai-review-dialog > header span { font-size: calc(.73rem * var(--ui-font-scale, 1)); }
.pv-ai-review-warnings { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.pv-ai-common summary { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.pv-ai-common-grid label { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.pv-ai-common-grid input,.pv-ai-common-grid select { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.pv-ai-models-heading h3 { font-size: calc(.92rem * var(--ui-font-scale, 1)); }
.pv-ai-models-heading p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.pv-ai-models-heading button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.pv-ai-table th { font-size: calc(.6rem * var(--ui-font-scale, 1)); }
.pv-ai-table input:not([type="checkbox"]) { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.pv-ai-confidence { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.pv-ai-table td:last-child small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
@media (max-width: 850px) {
.pv-module-row > span::before { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.pv-module-row .pv-module-name strong { font-size: calc(.88rem * var(--ui-font-scale, 1)); }
}
.file-library-tabs button { font-size: calc(12px * var(--ui-font-scale, 1)); }
.file-library-intro h2 { font-size: calc(18px * var(--ui-font-scale, 1)); }
.file-library-intro p { font-size: calc(12px * var(--ui-font-scale, 1)); }
.file-library-connected { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-section h3 { font-size: calc(13px * var(--ui-font-scale, 1)); }
.file-library-section p { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-upload { font-size: calc(11px * var(--ui-font-scale, 1)); }
.file-library-columns { font-size: calc(8px * var(--ui-font-scale, 1)); }
.file-library-type { font-size: calc(19px * var(--ui-font-scale, 1)); }
.file-library-row-main strong { font-size: calc(12px * var(--ui-font-scale, 1)); }
.file-library-row-main small { font-size: calc(10px * var(--ui-font-scale, 1)); }
.file-library-metadata strong { font-size: calc(10px * var(--ui-font-scale, 1)); }
.file-library-tree > summary { font-size: calc(13px * var(--ui-font-scale, 1)); }
.file-library-empty, .file-library-error { font-size: calc(12px * var(--ui-font-scale, 1)); }
@media (max-width: 700px) {
.file-library-mobile-meta strong { font-size: calc(9px * var(--ui-font-scale, 1)); }
}
.google-connection-dialog h2 { font-size: calc(1.1rem * var(--ui-font-scale, 1)); }
.google-connection-dialog p { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.calendar-new-event { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.calendar-account-status { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.catalog-existing-attachments button { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.calendar-mini-date strong { font-size: calc(2.2rem * var(--ui-font-scale, 1)); }
.calendar-mini-date span { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.calendar-main .fc { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calendar-main .fc .fc-toolbar-title { font-size: calc(1.35rem * var(--ui-font-scale, 1)); }
.calendar-main .fc .fc-button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.calendar-main .fc .fc-col-header-cell { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.calendar-main .fc .fc-event { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.calendar-dialog h2 { font-size: calc(1.2rem * var(--ui-font-scale, 1)); }
.calendar-dialog form > label { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.calendar-dialog legend { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
@media (max-width: 650px) {
.calendar-main .fc .fc-toolbar-title { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.calendar-main .fc .fc-button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
}
.topbar-brand .brand-mark { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.topbar-brand p { font-size: calc(.57rem * var(--ui-font-scale, 1)); }
.topbar-brand h1 { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.quick-create-menu > summary::before { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.quick-create-menu > summary::after { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.quick-create-popover > div strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.quick-create-popover > div small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.quick-create-popover button { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.header-current-date { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.notification-count { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.notification-popover > header strong { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.notification-popover > header small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.notification-item > span:first-child { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.notification-item strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.notification-item small { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.notification-item time { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.notification-empty { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.suggestion-modal label { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
.admin-tabs span { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.admin-row { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.admin-row.heading { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
.admin-suggestion-row { font-size: calc(.71rem * var(--ui-font-scale, 1)); }
.admin-suggestion-row.heading { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.admin-suggestion-row small { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.suggestion-status { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.view-suggestion-button { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.suggestion-detail-body h3 { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.suggestion-files button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.dashboard-topbar .profile-menu .avatar-placeholder { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.profile-summary-copy strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.profile-summary-copy small { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.dashboard-nav > .nav-home small, .dashboard-nav > .side-nav-button small, .nav-menu > summary small { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.side-nav-icon { font-size: calc(.76rem * var(--ui-font-scale, 1)); }
@media (min-width: 761px) {
.sidebar-expanded .dashboard-nav > .nav-home small, .sidebar-expanded .dashboard-nav > .side-nav-button small, .sidebar-expanded .nav-menu > summary small { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
}
.dashboard-shortcuts-heading h3 { font-size: calc(.84rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-heading p { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-list > button > span:first-child { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-list strong { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-list small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-list i { font-size: calc(1rem * var(--ui-font-scale, 1)); }
.dashboard-shortcuts-empty { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.dashboard-home-heading h2 { font-size: calc(1.65rem * var(--ui-font-scale, 1)); }
.dashboard-home-heading > div > p:last-child { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.dashboard-home-heading .dashboard-shortcuts-list strong { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.dashboard-home-heading #edit-dashboard-shortcuts { font-size: calc(.6rem * var(--ui-font-scale, 1)); }
.dashboard-kpi-card small { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.dashboard-kpi-card strong { font-size: calc(1.3rem * var(--ui-font-scale, 1)); }
.dashboard-kpi-card em { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-kpi-icon { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.dashboard-panel > header h3 { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.dashboard-panel > header p, .dashboard-panel > header > span { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.dashboard-panel-link, .dashboard-attention-item button, .dashboard-funnel-detail button { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.dashboard-attention-item strong { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.dashboard-attention-item small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-inactivity-item > div strong { font-size: calc(.66rem * var(--ui-font-scale, 1)); }
.dashboard-inactivity-item > div small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-inactivity-item > button { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.dashboard-agenda-list strong { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.dashboard-agenda-list small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-empty-state strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.dashboard-empty-state span { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.dashboard-funnel-summary small { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.dashboard-funnel-summary strong { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.dashboard-funnel-summary span { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.dashboard-funnel-detail strong { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.dashboard-funnel-detail span { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-finance-highlight small, .dashboard-finance-highlight span { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-finance-highlight strong { font-size: calc(1.12rem * var(--ui-font-scale, 1)); }
.dashboard-finance-bars p { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.dashboard-activity-list > article > span { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.dashboard-activity-list strong { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.dashboard-activity-list small, .dashboard-activity-list time { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.shortcuts-dialog h2 { font-size: calc(1.18rem * var(--ui-font-scale, 1)); }
.shortcuts-dialog header p:last-child { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.shortcuts-options label > span:nth-of-type(1) { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.shortcuts-options strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.shortcuts-options small { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.shortcuts-dialog footer > span { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
@media (max-width: 650px) {
.quick-create-menu > summary::before { font-size: calc(.9rem * var(--ui-font-scale, 1)); }
.quick-create-menu > summary::after { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.header-current-date { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
}
@media (max-width: 480px) {
input:not([type="checkbox"]):not([type="radio"]),select,textarea { font-size: calc(16px * var(--ui-font-scale, 1)) !important; }
.topbar-brand h1 { font-size: calc(.86rem * var(--ui-font-scale, 1)); }
.quick-create-menu > summary::after { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
.dashboard-nav > .nav-home small,.dashboard-nav > .side-nav-button small,.nav-menu > summary small { font-size: calc(.52rem * var(--ui-font-scale, 1)); }
.dashboard-welcome h2,.dashboard-home-heading h2 { font-size: calc(1.32rem * var(--ui-font-scale, 1)); }
.dashboard-welcome p,.dashboard-home-heading > div > p:last-child { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.dashboard-kpi-card strong { font-size: calc(1.05rem * var(--ui-font-scale, 1)); }
.modal-header h2,.catalog-drawer h2 { font-size: calc(1.08rem * var(--ui-font-scale, 1)); }
.modal-header p { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-dialog > .modal-header .eyebrow { font-size: calc(.56rem * var(--ui-font-scale, 1)); }
.image-report-dialog > .modal-header h2 { font-size: calc(1.28rem * var(--ui-font-scale, 1)); }
.image-report-mobile-template-heading strong { font-size: calc(.82rem * var(--ui-font-scale, 1)); }
.image-report-mobile-template-heading small { font-size: calc(.58rem * var(--ui-font-scale, 1)); }
.image-report-mobile-template-heading > span { font-size: calc(.59rem * var(--ui-font-scale, 1)); }
.image-report-template-card > span::after { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.image-report-project-summary small { font-size: calc(.52rem * var(--ui-font-scale, 1)); }
.image-report-project-summary strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-section > summary small { font-size: calc(.52rem * var(--ui-font-scale, 1)); }
.image-report-section > summary strong { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.image-report-section > summary em { font-size: calc(.54rem * var(--ui-font-scale, 1)); }
.image-report-section > summary::after { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.image-report-section-body > label { font-size: calc(.61rem * var(--ui-font-scale, 1)); }
.image-report-section-body textarea { font-size: calc(14px * var(--ui-font-scale, 1)) !important; }
.image-report-actions button { font-size: calc(.57rem * var(--ui-font-scale, 1)); }
}
.file-library-role { font-size: calc(0.62rem * var(--ui-font-scale, 1)); }
.project-modal-subtitle { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-doc-hero h3,.file-library-hero h2 { font-size: calc(1.15rem * var(--ui-font-scale, 1)); }
.te4-doc-hero p,.file-library-hero p { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.te4-doc-progress strong { font-size: calc(.78rem * var(--ui-font-scale, 1)); }
.te4-doc-progress b { font-size: calc(.75rem * var(--ui-font-scale, 1)); }
.te4-doc-card h3 { font-size: calc(.92rem * var(--ui-font-scale, 1)); }
.te4-doc-card p { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-doc-card > header > b { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.te4-doc-row { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-doc-status { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.te4-report-edit,.te4-report-view { font-size: calc(.69rem * var(--ui-font-scale, 1)); }
.te4-primary-slot > button,.te4-primary-slot > label { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.te4-document-icon { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.te4-doc-tip p { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.te4-doc-tip button { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.file-library-usage strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.file-library-usage small { font-size: calc(.67rem * var(--ui-font-scale, 1)); }
.file-library-search input { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.file-library-section.enhanced h3 { font-size: calc(.85rem * var(--ui-font-scale, 1)); }
.file-library-section-count { font-size: calc(.65rem * var(--ui-font-scale, 1)); }
.file-library-columns { font-size: calc(.52rem * var(--ui-font-scale, 1)); }
.file-kind-icon { font-size: calc(.42rem * var(--ui-font-scale, 1)); }
.file-library-row-main strong { font-size: calc(.7rem * var(--ui-font-scale, 1)); }
.file-library-cell,.file-library-origin { font-size: calc(.64rem * var(--ui-font-scale, 1)); }
.file-library-dropzone strong { font-size: calc(.72rem * var(--ui-font-scale, 1)); }
.file-library-info-card h3,.file-library-info-card h4 { font-size: calc(.74rem * var(--ui-font-scale, 1)); }
.file-library-info-card p { font-size: calc(.63rem * var(--ui-font-scale, 1)); }
@media (max-width: 900px) {
.te4-doc-file { font-size: calc(.62rem * var(--ui-font-scale, 1)); }
}
.gda-project-form label { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
.gda-project-form span { font-size: calc(.68rem * var(--ui-font-scale, 1)); }
#general-panel .general-toolbar p { font-size: calc(15px * var(--ui-font-scale, 1)); }
#edit-project { font-size: calc(14px * var(--ui-font-scale, 1)); }
#project-detail-form > label { font-size: calc(14px * var(--ui-font-scale, 1)); }
#project-detail-form input:not([type="hidden"]),#project-detail-form select { font-size: calc(15px * var(--ui-font-scale, 1)); }
.te4-general-card-heading h3,#general-panel .project-location-card h3 { font-size: calc(20px * var(--ui-font-scale, 1)); }
.te4-general-card-heading p { font-size: calc(14px * var(--ui-font-scale, 1)); }
#general-panel .project-location-card header p { font-size: calc(12px * var(--ui-font-scale, 1)); }
#locate-project-address { font-size: calc(13px * var(--ui-font-scale, 1)); }
#general-panel .project-location-coordinates small { font-size: calc(13px * var(--ui-font-scale, 1)); }
#general-panel .project-location-coordinates strong { font-size: calc(15px * var(--ui-font-scale, 1)); }
#general-panel .project-location-coordinates p { font-size: calc(12px * var(--ui-font-scale, 1)); }
@media (max-width: 600px) {
#general-panel .general-toolbar p { font-size: calc(13px * var(--ui-font-scale, 1)); }
.te4-general-card-heading h3,#general-panel .project-location-card h3 { font-size: calc(17px * var(--ui-font-scale, 1)); }
.te4-general-card-heading p { font-size: calc(12px * var(--ui-font-scale, 1)); }
}
.custom-mppt-card h4 { font-size: calc(14px * var(--ui-font-scale, 1)); }
.custom-mppt-card header span { font-size: calc(12px * var(--ui-font-scale, 1)); }
#technical-panel .custom-mppt-toggle strong { font-size: calc(14px * var(--ui-font-scale, 1)); }
#technical-panel .custom-mppt-chevron { font-size: calc(24px * var(--ui-font-scale, 1)); }
#technical-panel .custom-mppt-copy { font-size: calc(12px * var(--ui-font-scale, 1)); }
.custom-mppt-entry > strong { font-size: calc(13px * var(--ui-font-scale, 1)); }
.custom-mppt-entry small { font-size: calc(11px * var(--ui-font-scale, 1)); }
#technical-panel .custom-module-results button { font-size: calc(12px * var(--ui-font-scale, 1)); }
.custom-module-results button span { font-size: calc(11px * var(--ui-font-scale, 1)); }
.technical-hero h3 { font-size: calc(20px * var(--ui-font-scale, 1)); }
.technical-hero p { font-size: calc(12px * var(--ui-font-scale, 1)); }
#technical-edit-save { font-size: calc(13px * var(--ui-font-scale, 1)); }
.technical-summary-card small { font-size: calc(11px * var(--ui-font-scale, 1)); }
.technical-summary-card strong { font-size: calc(16px * var(--ui-font-scale, 1)); }
.technical-summary-card p { font-size: calc(11px * var(--ui-font-scale, 1)); }
#technical-panel .technical-card-heading h3 { font-size: calc(15px * var(--ui-font-scale, 1)); }
#technical-panel .technical-card-heading p { font-size: calc(11px * var(--ui-font-scale, 1)); }
#technical-panel .project-technical-form label { font-size: calc(12px * var(--ui-font-scale, 1)); }
#technical-panel .project-technical-form input,#technical-panel .project-technical-form select { font-size: calc(12px * var(--ui-font-scale, 1)); }
#technical-panel .project-technical-form label > small { font-size: calc(11px * var(--ui-font-scale, 1)); }
#technical-panel .technical-equipment-summary strong { font-size: calc(11px * var(--ui-font-scale, 1)); }
#technical-panel .technical-equipment-summary span { font-size: calc(10px * var(--ui-font-scale, 1)); }
@media (min-width:1200px) {
#technical-panel .string-fields-header { font-size: calc(10px * var(--ui-font-scale, 1)); }
#technical-panel .string-row-title strong { font-size: calc(11px * var(--ui-font-scale, 1)); }
}
@media (max-width:600px) {
.technical-hero h3 { font-size: calc(18px * var(--ui-font-scale, 1)); }
.technical-summary-card strong { font-size: calc(13px * var(--ui-font-scale, 1)); }
#technical-panel .project-technical-form input,#technical-panel .project-technical-form select { font-size: calc(16px * var(--ui-font-scale, 1)); }
}
.storage-heading h3 { font-size: calc(23px * var(--ui-font-scale, 1)); }
.storage-tag { font-size: calc(12px * var(--ui-font-scale, 1)); }
.storage-summary strong { font-size: calc(16px * var(--ui-font-scale, 1)); }
.storage-product-specs dt { font-size: calc(12px * var(--ui-font-scale, 1)); }
.storage-product-specs dd { font-size: calc(13px * var(--ui-font-scale, 1)); }
.storage-card h4 { font-size: calc(17px * var(--ui-font-scale, 1)); }
.storage-card p, .storage-note { font-size: calc(12px * var(--ui-font-scale, 1)); }
.storage-fields label { font-size: calc(13px * var(--ui-font-scale, 1)); }
#storage-message { font-size: calc(13px * var(--ui-font-scale, 1)); }

/* Document previews retain the actual PDF typography. */
.report-cover-preview,.image-report-preview,.memory-cover-preview { --ui-font-scale: 1; }
@media print { :root { --ui-font-scale: 1 !important; } }
