/**
 * AdSchool Premium UI — Typography System
 * FAANG-Level Professional Stack (Inter Variable)
 *
 * Features:
 * - Modular Scale (1.333 Perfect Fourth)
 * - Fluid Scaling (Contextual Sizing via clamp)
 * - Optical Positioning (Dynamic Tracking)
 * - Tabular Figures (Financial Alignment)
 */

:root {
    /* ── Typography Scale (Tokens) ── */
    --pu-font-size-xs:    0.6875rem; /* 11px */
    --pu-font-size-sm:    0.75rem;    /* 12px */
    --pu-font-size-base:  0.875rem;   /* 14px */
    --pu-font-size-lg:    1.125rem;   /* 18px */
    --pu-font-size-xl:    1.5rem;     /* 24px */
    --pu-font-size-2xl:   2rem;       /* 32px */
    --pu-font-size-3xl:   2.625rem;   /* 42px */
    --pu-font-size-4xl:   3.5rem;     /* 56px */

    /* ── Line Height ── */
    --pu-line-height-tight: 1.1;
    --pu-line-height-snug:  1.3;
    --pu-line-height-base:  1.55;
    --pu-line-height-relaxed: 1.625;

    /* ── Tracking (Letter Spacing) ── */
    --pu-tracking-extra-tight: -0.04em; /* Display elements */
    --pu-tracking-tight:       -0.021em; /* Headlines */
    --pu-tracking-base:        -0.011em; /* Body text (Inter works best with slight negative) */
    --pu-tracking-wide:        0.025em;  /* Accents */
    --pu-tracking-extra-wide:  0.06em;   /* All-caps labels */

    /* ── Weight (Variable Axis) ── */
    --pu-weight-light:    300;
    --pu-weight-normal:   400;
    --pu-weight-medium:   550; /* The FAANG "Sweet Spot" (Native look) */
    --pu-weight-semibold: 600;
    --pu-weight-bold:     700;
    --pu-weight-black:    800;

    /* ── Font Features ── */
    --pu-font-features: "cv05", "cv08", "ss01", "tnum", "case";
}

/* ── 1. Global Reset & Performance ── */
body,
.parent-portal-body,
.content-wrapper,
.main-sidebar,
.main-header {
    font-family: var(--pu-font, 'Inter', -apple-system, sans-serif);
    font-size: var(--pu-font-size-base);
    line-height: var(--pu-line-height-base);
    letter-spacing: var(--pu-tracking-base);
    color: var(--pu-text-primary, #111827);
    font-feature-settings: var(--pu-font-features);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ── 2. Specialized Utility Classes (FAANG Layouts) ── */

/* HERO DISPLAY (e.g. Dashboard Greeting) */
.pu-text-display {
    font-size: clamp(var(--pu-font-size-3xl), 6vw, var(--pu-font-size-4xl));
    line-height: var(--pu-line-height-tight);
    letter-spacing: var(--pu-tracking-extra-tight);
    font-weight: var(--pu-weight-black);
}

/* PAGE HEADING */
.pu-text-heading {
    font-size: clamp(var(--pu-font-size-xl), 4vw, var(--pu-font-size-2xl));
    line-height: var(--pu-line-height-snug);
    letter-spacing: var(--pu-tracking-tight);
    font-weight: var(--pu-weight-bold);
    color: var(--pu-text-primary);
}

/* PREMIUM LABEL (All-caps micro-text) */
.pu-text-label {
    font-size: var(--pu-font-size-xs);
    font-weight: var(--pu-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--pu-tracking-extra-wide);
    color: var(--pu-text-muted);
}

/* TABULAR NUMBERS (Fees, Results) */
.pu-text-tabular {
    font-variant-numeric: tabular-nums;
}

/* ── 3. Component Overrides (No-Break Compatibility) ── */

h1, .h1 {
    font-size: var(--pu-font-size-2xl);
    font-weight: var(--pu-weight-bold);
    letter-spacing: var(--pu-tracking-tight);
    line-height: var(--pu-line-height-snug);
}
h2, .h2 {
    font-size: var(--pu-font-size-xl);
    font-weight: var(--pu-weight-semibold);
    letter-spacing: var(--pu-tracking-tight);
}
h3, .h3 {
    font-size: var(--pu-font-size-lg);
    font-weight: var(--pu-weight-semibold);
}

/* Data Tables & Lists */
.table thead th {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pu-text-secondary);
}

/* Form Controls */
.form-control {
    font-size: var(--pu-font-size-base);
    font-weight: var(--pu-weight-normal);
}

/* Monospace for Amounts & IDs */
.text-mono, .text-amount, .text-id, code, .font-mono {
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 0.9em;
    letter-spacing: -0.01em;
}

/* Sidebar Navigation */
.sidebar-menu li a {
    font-weight: var(--pu-weight-medium);
    letter-spacing: -0.01em;
}
