/*
 * Openship-aligned shell / auth / product chrome overrides.
 * Loaded after app.css so tokens + density win without rewriting legacy app.css.
 */

/* Brand name uses heading ink + documented body-lead size */
.brand-name {
    font-size: var(--type-body-lead);
    color: var(--color-text-heading);
}

/* Capsule topbar: lighter glass on pure white/black */
.topbar {
    background: color-mix(in srgb, var(--surface-page) 72%, var(--surface-glass));
    box-shadow:
        0 0 0 1px var(--color-line-strong),
        0 10px 28px color-mix(in srgb, var(--color-text-heading) 5%, transparent);
}

@media (max-width: 960px) {
    .topbar {
        background: var(--surface-page);
        box-shadow: 0 10px 24px color-mix(in srgb, var(--color-text-heading) 12%, transparent);
    }
}

/* Auth: sparse Openship calm */
.auth-centered {
    padding-top: var(--space-8);
    gap: var(--space-7);
}

.auth-centered .section-title,
.auth-centered .hero--editorial .section-title {
    font-size: var(--type-headline);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--color-text-heading);
    text-wrap: balance;
}

.auth-centered .section-body,
.auth-centered .hero--editorial .section-body {
    max-width: 28rem;
    color: var(--color-text-base);
    font-size: var(--type-body);
}

.auth-centered .form-card,
.auth-centered .form-card--auth {
    width: min(100%, 420px);
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.auth-centered .button-block {
    width: 100%;
}

.auth-centered .link-row {
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.auth-centered .auth-legal,
.auth-centered .meta {
    color: var(--color-text-muted);
    font-size: var(--type-body-sm);
}

/* Settings: OpenShip denser page header */
.settings-page__header .section-title,
.settings-page .page-title,
.shell .section-title {
    color: var(--color-text-heading);
}

.settings-page .section-body,
.shell .section-body {
    color: var(--color-text-base);
}

/* Primary CTA already inverted via tokens; ensure inverse text on white/black */
.button-primary,
.button.button-primary {
    background: var(--color-accent);
    color: var(--surface-page);
}

.button-primary:hover,
.button.button-primary:hover {
    background: var(--color-accent-strong);
}

/* Surface titles: heading ink (sky demoted) */
.surface-title,
.panel-title,
.settings-nav__link.is-active {
    color: var(--color-text-heading);
}

/* Hairline inputs on pure canvas */
.field input,
.field select,
.field textarea,
.shell input:not([type="checkbox"]):not([type="radio"]),
.shell select,
.shell textarea {
    background: transparent;
    border-color: var(--color-line-strong);
    color: var(--color-text-strong);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--color-text-muted);
    box-shadow: 0 0 0 3px var(--color-accent-soft);
}

/* Onboarding wizard denser chrome */
.onboarding-wizard .section-title,
.onboarding-page .section-title {
    font-size: var(--type-page-title);
    color: var(--color-text-heading);
}

/* Pricing / billing: flat bands */
.pricing-page .section-title,
.billing-page .section-title {
    color: var(--color-text-heading);
}

/* Analytics / ops dashboards inherit tokens; tighten title color */
.dashboard-page .section-title,
.ops-page .section-title,
.workspace-page .section-title {
    color: var(--color-text-heading);
}

/* Guest portal inherits tokens when fonts.css loaded */
.guest-portal-body {
    font-family: var(--font-ui);
    background: var(--surface-page);
    color: var(--color-text-base);
}

.guest-brand {
    font-family: var(--font-display);
    color: var(--color-text-heading);
}

/* Product pages: suppress default eyebrow clutter (reserved for rare kickers) */
.shell .section-eyebrow {
    display: none;
}

/* Status-first metrics: label + value only (drop essay subtitles) */
.shell .stat-card__detail {
    display: none;
}

/* Flat authenticated panels already handled by flat-content; reinforce hairlines */
.shell .surface-panel {
    background: transparent;
    border-color: var(--color-line);
    box-shadow: none;
}

/* Wizard step rail numbers stay visible — real sequence */
.wizard-layout .step-rail__index {
    font-family: var(--font-ui);
    font-weight: 600;
    color: var(--color-text-strong);
}

/* Onboarding selection: flatten card walls to hairline rows */
.wizard-layout .wizard-property-card,
.wizard-layout .wizard-property-type-card,
.wizard-layout .pricing-card {
    background: transparent;
    border: 1px solid var(--color-line-strong);
    border-radius: var(--radius-sm, 10px);
    box-shadow: none;
}

.wizard-layout .pricing-card.is-selected,
.wizard-layout .wizard-property-type-card.is-selected,
.wizard-layout .wizard-property-card.is-selected {
    border-color: var(--color-text-heading);
    background: var(--surface-elevated);
}
