/* Local variable fonts: no third-party request is needed at runtime. */
@font-face{font-family:"Inter Tight";src:url('/fonts/inter-tight.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url('/fonts/plus-jakarta-sans.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url('/fonts/jetbrains-mono.ttf') format('truetype');font-weight:100 800;font-style:normal;font-display:swap}
:root{--font-primary:"Inter Tight",system-ui,sans-serif;--font-heading:"Plus Jakarta Sans",system-ui,sans-serif;--font-numeric:"JetBrains Mono",monospace;font-family:var(--font-primary);font-size:15px;line-height:1.5}
h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.025em;overflow-wrap:anywhere}
h1,.page-heading h1{font-size:28px;font-weight:700;line-height:1.3}
h2,.panel-heading h2,.crm-profile h2,.dialog-heading h2{font-size:20px;font-weight:600;line-height:1.4}
h3,.module-card h3,.office-card h2,.crm-profile h3{font-size:16px;font-weight:600;line-height:1.4}
.auth-story-content h1,.online-hero h1{font-size:clamp(30px,3.6vw,48px)}
.auth-form-wrap h2{font-size:28px;line-height:1.35}
.nav-link{font-size:14px;min-height:43px}
.btn,label{font-size:14px}
.page-heading p,.panel-subtitle,.crm-intro,.crm-profile dd,.crm-note p,.empty-state p{font-size:14px;line-height:1.65}
.nav-label,.eyebrow,.badge,.role-pill,.tab,.workspace-selector div>span,.profile small,.version-card div>span,.text-btn,.text-link,.top-date,.main-footer{font-size:12px}
.workspace-selector strong,.profile strong,.version-card strong{font-size:13px}
.breadcrumb{font-size:13px}
th{font-size:13px;line-height:1.5;font-weight:600}
td{font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums}
label small,.muted,.subtle{line-height:1.6}
.task-code,.management-code,.office-code,.asset-code,.asset-place-code,.online-code,.ticket-number strong,.invoice-number,.numeric-value,.report-table-money,.report-money strong,.invoice-amount,.desk-row-next>b,.desk-currency-totals b,.purchase-line-amount,.quote-total strong,.quote-price-row strong,.fin-balance strong,.fin-totals strong,.balance-due,.agency-balance>strong,.voyage-price strong,.summary-total strong,.booking-price-list strong,.crm-totals strong,input[name*="amount"],input[name*="price"],input[name*="invoice_number"],input[name="code"],input[inputmode="decimal"]{font-family:var(--font-numeric);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"liga" 0;letter-spacing:0}
td.money-value,.report-table-money{text-align:right;white-space:nowrap}
@media(max-width:700px){h1,.page-heading h1{font-size:24px}h2,.panel-heading h2,.crm-profile h2,.dialog-heading h2{font-size:20px}.topbar{padding:0 12px;gap:8px}.breadcrumb{gap:5px}.topbar-actions{gap:1px}.breadcrumb strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-form-wrap h2{font-size:26px}.page-heading p{font-size:14px}}

/* Module-specific legacy rules must not shrink working text below the shared scale. */
#content :where(label,input,select,textarea,td){font-size:14px}
#content :where(th){font-size:13px}
#content :where(p){font-size:14px;line-height:1.65}
#content :where(small,.inline-note,.list-note,.badge,.eyebrow){font-size:12px;line-height:1.6}
#content h2{font-size:20px;font-weight:600;line-height:1.4}
#content h3{font-size:16px;font-weight:600;line-height:1.4}
