/*
 * Stage 333 — final interface consistency layer.
 *
 * This file is intentionally loaded after the legacy bundles and the compact
 * density layer. It repairs the double-compacted type scale without applying
 * zoom/transform scaling and gives every portal surface one readable rhythm.
 */
:root {
    --font-family-ui: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-size-xs: .6875rem;
    --font-size-sm: .75rem;
    --font-size-md: .8125rem;
    --font-size-lg: .875rem;
    --font-size-xl: 1rem;
    --font-size-2xl: 1.375rem;
    --font-size-3xl: clamp(1.75rem, 2.5vw, 2.25rem);
    --line-height-tight: 1.22;
    --line-height-ui: 1.42;
    --line-height-body: 1.55;
    --control-height: 2.375rem;
    --control-height-compact: 2.125rem;
    --touch-target: 2.5rem;
}

.chtio_portal,
.chtio_portal button,
.chtio_portal input,
.chtio_portal select,
.chtio_portal textarea,
.chtio_portal optgroup {
    font-family: var(--font-family-ui) !important;
}

.chtio_portal {
    font-size: var(--font-size-md) !important;
    line-height: var(--line-height-body) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.chtio_portal h1,
.chtio_portal h2,
.chtio_portal h3,
.chtio_portal h4,
.chtio_portal p {
    overflow-wrap: break-word;
}

.chtio_portal h1 {
    font-size: var(--font-size-3xl) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
}

.chtio_portal h2 {
    font-size: var(--font-size-2xl) !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

.chtio_portal h3 {
    font-size: var(--font-size-xl) !important;
    line-height: 1.3 !important;
}

.chtio_portal :is(label, .label, .form-label, .ai-token-amount-label) {
    font-size: var(--font-size-sm) !important;
    line-height: var(--line-height-ui) !important;
    font-weight: 600;
}

.chtio_portal :is(
    .page-note,
    .field-help,
    .muted,
    .small-text,
    .form-help,
    .form-hint,
    .settings-help,
    .widget-setting-hint
) {
    font-size: var(--font-size-sm) !important;
    line-height: var(--line-height-body) !important;
}

.chtio_portal :is(
    .ui-kicker,
    .ui-eyebrow,
    .eyebrow,
    .chtio_pricing_kicker,
    .chtio_nav_label,
    th
) {
    font-size: .65625rem !important;
    line-height: 1.35 !important;
    letter-spacing: .055em !important;
}

.chtio_portal :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea,
    .input
) {
    min-height: var(--control-height) !important;
    font-size: var(--font-size-md) !important;
    line-height: var(--line-height-ui) !important;
}

.chtio_portal textarea,
.chtio_portal textarea.input {
    min-height: 5.75rem !important;
}

.chtio_portal :is(.button, button.button, .chtio_top_action, .chtio_guide_start) {
    min-height: 2.25rem;
    font-size: var(--font-size-sm) !important;
    line-height: 1.25 !important;
}

.chtio_portal :is(
    .status,
    .status-pill,
    .status-chip,
    .status-approved,
    .ticket-chip,
    .feature-chip,
    .badge,
    .ai-public-tier-badge
) {
    min-height: 1.375rem;
    font-size: .65625rem !important;
    line-height: 1.2 !important;
}

.chtio_portal table {
    font-size: var(--font-size-sm) !important;
}

.chtio_portal td {
    line-height: 1.45 !important;
}

.chtio_portal .chtio_brand {
    font-size: .9375rem !important;
}

.chtio_portal .chtio_top_status,
.chtio_portal .chtio_top_time {
    font-size: .65625rem !important;
}

.chtio_portal .chtio_nav_link {
    font-size: .75rem !important;
    line-height: 1.3 !important;
}

.chtio_portal .chtio_nav_badge {
    font-size: .625rem !important;
}

.chtio_portal .chtio_profile_name {
    font-size: .8125rem !important;
}

.chtio_portal .chtio_profile_role,
.chtio_portal .chtio_profile_line,
.chtio_portal .chtio_balance_label {
    font-size: .6875rem !important;
}

.chtio_portal .page-head > div > p,
.chtio_portal .ui-page-hero > div > p {
    max-width: 62rem;
}

/* Project settings: one clear form rhythm and readable secondary copy. */
.chtio_portal_dashboard .chtio_project_settings_page .settings-panel {
    font-size: var(--font-size-md) !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .settings-panel :is(label, .check) {
    font-size: .78125rem !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .settings-panel .check {
    min-height: 2.875rem !important;
    line-height: 1.35 !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .settings-panel .check input {
    width: 1rem !important;
    height: 1rem !important;
}

.chtio_portal_dashboard .chtio_project_settings_page :is(
    .widget-customization-card,
    .feature-gate
) {
    font-size: var(--font-size-md) !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .feature-gate {
    align-items: center !important;
    gap: .75rem !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .feature-gate strong {
    font-size: .78125rem !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .feature-gate span {
    font-size: .71875rem !important;
    line-height: 1.45 !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .widget-upload-drop {
    min-height: 4.75rem !important;
    font-size: .75rem !important;
    line-height: 1.45 !important;
}

.chtio_portal_dashboard .chtio_project_settings_page .widget-upload-drop span {
    font-size: .6875rem !important;
}

.chtio_portal_dashboard .chtio-project-logo-copy > strong {
    font-size: .875rem !important;
}

.chtio_portal_dashboard .chtio-project-logo-copy > span,
.chtio_portal_dashboard [data-project-logo-status] {
    font-size: .75rem !important;
    line-height: 1.5 !important;
}

.chtio_portal_dashboard .chtio-project-logo-preview {
    width: 5.25rem !important;
    height: 5.25rem !important;
    font-size: 1.375rem !important;
}

/* Project statistics. */
.chtio_stage277_dashboard .chtio_stage277_stats_metrics article {
    min-height: 5.75rem !important;
    padding: .9375rem 1rem !important;
}

.chtio_stage277_dashboard .chtio_stage277_stats_metrics article strong {
    font-size: clamp(1.5rem, 2.2vw, 1.875rem) !important;
}

.chtio_stage277_dashboard .chtio_stage277_stats_metrics article small,
.chtio_stage277_dashboard .chtio_stage277_stats_secondary article > span {
    font-size: .65625rem !important;
    line-height: 1.3 !important;
}

.chtio_stage277_dashboard .chtio_stage277_stats_secondary article {
    min-height: 4.75rem !important;
    padding: .8125rem .9375rem !important;
}

.chtio_stage277_dashboard .chtio_stage277_stats_secondary article > strong {
    font-size: 1.25rem !important;
}

.chtio_stage277_dashboard .chtio_stage277_stats_secondary article > small {
    font-size: .6875rem !important;
}

.chtio_stage277_dashboard .chtio_stage277_section_head p,
.chtio_stage277_dashboard .chtio_stage277_chart_legend,
.chtio_stage277_dashboard .chtio_stage277_rank_list,
.chtio_stage277_dashboard .chtio_stage277_ai_share {
    font-size: .71875rem !important;
    line-height: 1.45 !important;
}

.chtio_stage277_dashboard .chtio_stage277_ai_summary_grid span {
    font-size: .65625rem !important;
}

.chtio_stage277_dashboard .chtio_stage277_ai_summary_grid strong {
    font-size: 1.375rem !important;
}

/* AI-token wallet and charging cards. */
.chtio_portal_dashboard .chtio_stage271_ai_tokens .ai-token-hero strong {
    font: 600 clamp(2rem, 3.6vw, 2.625rem)/1 var(--font-family-ui) !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .ai-token-hero p,
.chtio_portal_dashboard .chtio_stage271_ai_tokens .ui-card-head p,
.chtio_portal_dashboard .chtio_stage271_ai_tokens .ai-token-calculator-head p {
    font-size: .75rem !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_card {
    min-height: 9.5rem !important;
    padding: 1rem !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_card_head h3 {
    font-size: 1rem !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_card_head p {
    font-size: .75rem !important;
    line-height: 1.48 !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_balance {
    min-width: 6.25rem !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_balance strong {
    font: 600 1.25rem/1 var(--font-family-ui) !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_balance span {
    font-size: .625rem !important;
    line-height: 1.3 !important;
}

.chtio_portal_dashboard .chtio_stage271_ai_tokens :is(
    .ai-token-summary-row,
    .ai-token-range-meta,
    .ai-token-summary-note,
    .ai-token-balance-chip
) {
    font-size: .75rem !important;
}

/* Tariffs: readable cards without the legacy empty vertical stretches. */
.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_grid {
    gap: .875rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card {
    min-height: 0 !important;
    height: auto !important;
    padding: 1.125rem !important;
    gap: .875rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_popular,
.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_bonus_strip span,
.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_top em {
    font-size: .625rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_top {
    font-size: .65625rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_title {
    gap: .5rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_title h3 {
    font: 600 1.375rem/1.15 var(--font-family-ui) !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_title > strong {
    font-size: .8125rem !important;
    line-height: 1.4 !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_title p {
    font-size: .75rem !important;
    line-height: 1.48 !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_price strong {
    font: 600 1.75rem/1 var(--font-family-ui) !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_price :is(span, p) {
    font-size: .6875rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_limits > div {
    min-height: 3.625rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_limits span {
    font-size: .625rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_limits strong {
    font-size: .875rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_features {
    min-height: 0 !important;
    gap: .5rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_features li {
    grid-template-columns: 1.125rem minmax(0, 1fr) !important;
    gap: .5rem !important;
    font-size: .71875rem !important;
    line-height: 1.45 !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_features li i {
    width: 1rem !important;
    height: 1rem !important;
    font-size: .625rem !important;
}

.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_card_action small,
.chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_free_action {
    font-size: .6875rem !important;
}

/* Admin, authentication and public pages also use the same base hierarchy. */
.chtio_portal_admin :is(.card, .ui-section-card, .ui-table-card, .ui-form-card) p,
.chtio_portal_auth p,
.chtio_portal_public p {
    font-size: var(--font-size-md);
    line-height: var(--line-height-body);
}

.chtio_portal_admin :is(.metric-label, article > small, .page-note),
.chtio_portal_auth small,
.chtio_portal_public small {
    font-size: var(--font-size-sm) !important;
}

@media (max-width: 1180px) {
    .chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    :root {
        --font-size-3xl: clamp(1.5rem, 7vw, 1.875rem);
    }

    .chtio_portal .chtio_top_status,
    .chtio_portal .chtio_top_time {
        display: none;
    }

    .chtio_portal_dashboard .chtio_stage271_pricing_page .chtio_pricing_grid,
    .chtio_stage277_dashboard .chtio_stage277_stats_metrics,
    .chtio_stage277_dashboard .chtio_stage277_stats_secondary {
        grid-template-columns: 1fr !important;
    }

    .chtio_portal_dashboard .chtio_stage271_ai_tokens .ai-token-hero,
    .chtio_portal_dashboard .chtio_stage271_ai_tokens .ai-token-calculator-grid {
        grid-template-columns: 1fr !important;
    }

    .chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_card {
        grid-template-columns: 1fr !important;
    }

    .chtio_portal_dashboard .chtio_stage271_ai_tokens .chtio_ai_provider_balance {
        width: 100% !important;
        justify-items: start !important;
    }
}

@media (max-width: 420px) {
    .chtio_portal :is(
        input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
        select,
        textarea,
        .input
    ) {
        font-size: 1rem !important;
    }

    .chtio_portal_dashboard .chtio-project-logo-editor {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chtio_portal *,
    .chtio_portal *::before,
    .chtio_portal *::after {
        scroll-behavior: auto !important;
    }
}
