@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');

:root { --font-ui: "Inter", Arial, sans-serif; --font-heading: "Sora", Arial, sans-serif; --type-page-title: clamp(1.75rem, 3vw, 2rem); --type-section-title: 1.5rem; --type-subsection-title: 1.125rem; --type-body: .9375rem; --type-helper: .8125rem; --type-label: .75rem; --type-nav: .8125rem; --type-button: .875rem; --type-kpi: 1.75rem; }
html, body, button, input, select, textarea { font-family: var(--font-ui); }
h1, h2, h3, h4 { font-family: var(--font-heading); }
.app-header h1, .backlinks-header h1, .opp-page-header h1, .si-page-intro h1 { font-size: var(--type-page-title); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; }
.app-header h2, .section-heading h2, .backlinks-daily-heading h2, .opp-section-heading h2, .si-card-heading h2 { font-size: var(--type-section-title); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.backlinks-daily-section-heading h3, .opp-capabilities h2 { font-size: var(--type-subsection-title); font-weight: 700; line-height: 1.3; }
.backlinks-lede, .opp-intro, .si-page-intro > p:last-child, .backlinks-daily-heading p { font-family: var(--font-ui); font-size: var(--type-body); font-weight: 400; line-height: 1.6; }
.global-nav-link { font-family: var(--font-ui); font-size: var(--type-nav); font-weight: 600; line-height: 1.2; }
.global-brand { font-family: var(--font-ui); font-weight: 700; }
button, select, input, textarea { font-size: var(--type-button); line-height: 1.35; }
.top-nav a, .gsc-view-tab, .si-subnav a, .backlinks-mode-switch button { font-family: var(--font-ui); font-size: var(--type-button); font-weight: 600; line-height: 1.25; }
.eyebrow, .backlinks-eyebrow, .opp-eyebrow { font-family: var(--font-ui); font-size: var(--type-label); font-weight: 700; letter-spacing: .08em; }
.metric-card p, .summary-stat-copy h2, .strip-metric > span, .strip-detail > span, .gsc-primary span, .gsc-changes, .countries-title, .backlinks-kpi span, .backlinks-daily-kpis span, .opp-filters span, .si-kpi-card p { font-family: var(--font-ui); font-size: var(--type-label); font-weight: 600; line-height: 1.35; }
.metric-card strong, .summary-stat-copy strong, .strip-metric strong, .gsc-primary strong, .si-kpi-card strong, .backlinks-kpi strong, .backlinks-daily-kpis strong { font-family: var(--font-heading); font-size: var(--type-kpi); font-weight: 700; line-height: 1.1; letter-spacing: -.04em; }
.realtime-refresh, .updated-at, .site-count, .backlinks-daily-placeholder, .backlinks-recent-activity, .opp-status, .si-empty { font-family: var(--font-ui); font-size: var(--type-helper); line-height: 1.5; }
.backlinks-filter, .backlinks-daily-filter, .gsc-indexing-select > span, .si-site-select > span, .login-card label { font-family: var(--font-ui); font-size: var(--type-label); font-weight: 600; line-height: 1.35; }
.backlinks-filter select, .backlinks-daily-filter select, .gsc-indexing-select select, .si-site-select select, .login-card input { font-family: var(--font-ui); font-size: var(--type-button); font-weight: 500; }
.opp-table, .si-table, .gsc-query-table, .bing-table-wrap table { font-family: var(--font-ui); font-size: .8125rem; line-height: 1.45; }
.opp-table th, .si-table th, .gsc-query-table th, .bing-table-wrap th { font-family: var(--font-ui); font-size: .75rem; font-weight: 600; line-height: 1.3; }
.backlinks-empty, .gsc-no-queries, .no-country-data, .summary-no-data { font-family: var(--font-ui); font-size: .875rem; font-weight: 500; line-height: 1.5; }
@media (max-width: 600px) { .app-header h1, .backlinks-header h1, .opp-page-header h1, .si-page-intro h1 { font-size: 1.75rem; } .app-header h2, .section-heading h2, .backlinks-daily-heading h2 { font-size: 1.25rem; } .metric-card strong, .summary-stat-copy strong, .strip-metric strong, .gsc-primary strong, .si-kpi-card strong, .backlinks-kpi strong, .backlinks-daily-kpis strong { font-size: 1.5rem; } }
