/* Phase 1 / Release 11 — final commercial polish and launch readiness */
:root {
    --s11-radius-control: 10px;
    --s11-radius-card: 16px;
    --s11-radius-hero: 20px;
    --s11-border: color-mix(in srgb, currentColor 13%, transparent);
    --s11-shadow-sm: 0 6px 18px rgba(15, 23, 42, .06);
    --s11-shadow-md: 0 14px 36px rgba(15, 23, 42, .1);
    --s11-focus: #f59e0b;
    --s11-duration: 160ms;
}

html {
    hanging-punctuation: first last;
    scrollbar-gutter: stable;
}

body {
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

::selection {
    background: color-mix(in srgb, #f59e0b 34%, transparent);
    color: inherit;
}

.skip-link {
    border-radius: 0 0 var(--s11-radius-control) var(--s11-radius-control);
    box-shadow: var(--s11-shadow-md);
    inset-block-start: max(0px, env(safe-area-inset-top));
    min-height: 44px;
    z-index: 12000 !important;
}

main:focus,
#main-content:focus {
    outline: none;
}

main:focus-visible,
#main-content:focus-visible {
    outline: 3px solid var(--s11-focus);
    outline-offset: -3px;
}

/* Final shared geometry for components that intentionally represent the same role. */
:is(.app-card, .workflow-card, .review-content-card, .property-section-card, .dashboard-chart-card, .metric-card, .admin-summary-card, .docs-card, .docs-info-card, .docs-category-card, .docs-article-row, .docs-video-card, .support-admin-panel, .support-report-card) {
    border-color: var(--s11-border);
    border-radius: var(--s11-radius-card) !important;
}

:where(.app-card, .workflow-card, .review-content-card, .property-section-card, .dashboard-chart-card, .metric-card, .admin-summary-card) {
    box-shadow: var(--s11-shadow-sm);
}

:where(.dashboard-hero, .workflow-hero, .review-hero, .property-details-hero, .property-search-topbar, .admin-hero-pro, .docs-hero) {
    border-radius: var(--s11-radius-hero);
}

:where(button, .btn, [role="button"], input, select, textarea, summary) {
    border-radius: var(--s11-radius-control);
}

:where(button, .btn, [role="button"], a, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--s11-focus) !important;
    outline-offset: 3px !important;
}

:where(.btn, button, [role="button"]):not(:disabled, [aria-disabled="true"]) {
    transition-duration: var(--s11-duration);
    transition-property: background-color, border-color, box-shadow, color, opacity, transform;
    transition-timing-function: ease;
}

:where(.btn, button, [role="button"]):disabled,
:where(.btn, button, [role="button"])[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .62;
}

/* Keep keyboard users oriented inside long commercial and administrative pages. */
.production-section-anchor {
    scroll-margin-block-start: calc(var(--s10-nav-height, 64px) + 16px);
}

.production-auto-render {
    content-visibility: auto;
    contain-intrinsic-block-size: auto 620px;
}

.production-image-pending {
    background: linear-gradient(105deg,
        color-mix(in srgb, currentColor 5%, transparent) 20%,
        color-mix(in srgb, currentColor 10%, transparent) 38%,
        color-mix(in srgb, currentColor 5%, transparent) 58%);
    background-size: 200% 100%;
}

.production-image-ready {
    background: transparent;
}

.production-offline-status {
    align-items: center;
    background: #172033;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    bottom: max(16px, env(safe-area-inset-bottom));
    box-shadow: var(--s11-shadow-md);
    color: #fff;
    display: flex;
    font-size: .82rem;
    font-weight: 750;
    gap: 8px;
    inset-inline-start: 50%;
    max-width: min(92vw, 460px);
    min-height: 44px;
    padding: 8px 16px;
    position: fixed;
    transform: translateX(-50%);
    z-index: 11000;
}

[dir="rtl"] .production-offline-status {
    transform: translateX(50%);
}

.production-offline-status::before {
    background: #fbbf24;
    border-radius: 50%;
    content: "";
    flex: 0 0 8px;
    height: 8px;
}

/* Loading and empty states retain a stable footprint and one animation language. */
:where(.loading-overlay, .s8-chart-loading, .s7-map-loading, .skeleton-card, [data-loading-state]) {
    animation-duration: 1.25s;
    animation-timing-function: linear;
}

:where(.empty-state, .docs-empty, .s8-empty-state, [data-empty-state]) {
    border-radius: var(--s11-radius-card);
    min-height: 120px;
}

/* Administrative support tables remain contained without changing their semantics. */
.support-checklist-table-wrap {
    border: 1px solid var(--s11-border);
    border-radius: var(--s11-radius-control);
    max-width: 100%;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
}

.support-checklist-table-wrap:focus-visible {
    outline: 3px solid var(--s11-focus);
    outline-offset: 3px;
}

.support-checklist-table th {
    background: var(--surface, var(--home-surface, #fff));
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (max-width: 760px) {
    html { scrollbar-gutter: auto; }

    :where(.app-card, .workflow-card, .review-content-card, .property-section-card, .dashboard-chart-card, .metric-card, .admin-summary-card) {
        box-shadow: 0 4px 14px rgba(15, 23, 42, .055);
    }

    .production-offline-status {
        inset-inline: var(--s10-mobile-gutter, 12px);
        justify-content: center;
        transform: none;
    }

    [dir="rtl"] .production-offline-status { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
    }

    .production-image-pending {
        animation: none !important;
        background-position: 0 0;
    }

    :where(.btn, button, [role="button"]) {
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    :where(.app-card, .workflow-card, .review-content-card, .property-section-card, .dashboard-chart-card, .metric-card, .admin-summary-card, .support-checklist-table-wrap) {
        border: 1px solid CanvasText;
        box-shadow: none;
    }

    .production-offline-status {
        background: Canvas;
        border-color: CanvasText;
        color: CanvasText;
    }
}

@media print {
    .production-auto-render {
        contain: none !important;
        content-visibility: visible !important;
    }

    .production-offline-status { display: none !important; }
}

/* Phase 1 / Revision 03 — production readiness polish */
:root {
    --r3-panel-height: 420px;
    --r3-gap: clamp(14px, 1.8vw, 24px);
}

/* Dashboard balance and internal activity scrolling */
.operations-control-grid,
.operations-user-grid,
.operations-support-grid {
    display: grid;
    gap: var(--r3-gap);
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.operations-control-grid > *,
.operations-user-grid > * { grid-column: span 4; }

.operations-support-grid > * { grid-column: span 3; }

.operations-control-card,
.operations-user-card,
.operations-support-card {
    align-content: start;
    background: var(--surface, var(--home-surface, #fff));
    border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
    border-radius: var(--s11-radius-card, 16px);
    box-shadow: var(--s11-shadow-sm, 0 6px 18px rgba(15, 23, 42, .06));
    color: inherit;
    display: grid;
    gap: 9px;
    min-height: 168px;
    padding: 18px;
    text-decoration: none;
}

.operations-support-card:is(:hover, :focus-visible),
.operations-user-card:is(:hover, :focus-visible) {
    border-color: color-mix(in srgb, #f59e0b 58%, currentColor 13%);
    color: inherit;
    transform: translateY(-2px);
}

.operations-card-icon {
    align-items: center;
    background: color-mix(in srgb, #f59e0b 15%, transparent);
    border-radius: 11px;
    color: #9a6100;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.operations-card-icon svg { height: 21px; width: 21px; }

.operations-control-card h2,
.operations-user-card h2,
.operations-support-card h2 {
    font-size: 1.04rem;
    margin: 0;
}

.operations-control-card p,
.operations-user-card p,
.operations-support-card p {
    color: var(--home-muted, #64748b);
    font-size: .88rem;
    line-height: 1.55;
    margin: 0;
}

.operations-control-card .status-pill { justify-self: start; margin-top: auto; }

.admin-table-card[data-admin-table="activity"] .admin-table-scroll,
.operations-fixed-feed,
.notification-list[data-operations-notification-list] {
    max-height: var(--r3-panel-height);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.admin-table-card[data-admin-table="activity"] .admin-table-scroll:focus-visible,
.operations-fixed-feed:focus-visible,
.notification-list[data-operations-notification-list]:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
}

.dashboard-grid,
.admin-analytics-grid {
    align-items: stretch;
}

.admin-chart-wrap,
.dashboard-chart-wrap,
.s5-chart-wrap,
.rent-chart-wrap {
    max-width: 100%;
    min-height: 280px;
    overflow: clip;
    position: relative;
}

.admin-chart-wrap canvas,
.dashboard-chart-wrap canvas,
.s5-chart-wrap canvas,
.rent-chart-wrap canvas {
    display: block;
    max-height: 390px !important;
    max-width: 100% !important;
}

/* Support and notifications */
.operations-support-intro {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.operations-ticket-note {
    background: color-mix(in srgb, #0f766e 8%, transparent);
    border: 1px solid color-mix(in srgb, #0f766e 26%, transparent);
    border-radius: 12px;
    color: inherit;
    padding: 12px 14px;
}

.operations-notification-tools,
.operations-ticket-tools {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .35fr) auto;
    margin-bottom: 14px;
}

.operations-notification-tools label,
.operations-ticket-tools label {
    display: grid;
    gap: 6px;
    font-weight: 750;
}

.operations-notification-tools input,
.operations-notification-tools select,
.operations-ticket-tools input,
.operations-ticket-tools select {
    min-height: 44px;
}

.notification-item[hidden] { display: none !important; }

.operations-result-status {
    color: var(--home-muted, #64748b);
    font-size: .84rem;
    min-height: 1.35em;
}

/* Tables retain their semantics while becoming bounded workspaces. */
.table-responsive,
.admin-table-scroll,
.support-checklist-table-wrap,
.presentation-table-wrap {
    max-height: min(62vh, 620px);
    overscroll-behavior: contain;
}

:is(.table, .admin-data-table, .support-checklist-table, .presentation-table-wrap table) thead th {
    background: var(--surface, var(--home-surface, #fff));
    position: sticky;
    top: 0;
    z-index: 2;
}

th[data-operations-resizable="true"] {
    min-width: 84px;
    overflow: hidden;
    resize: horizontal;
}

.operations-column-menu {
    border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
    border-radius: 12px;
    margin: 0 0 10px;
    padding: 8px 10px;
}

.operations-column-menu summary { cursor: pointer; font-weight: 800; }
.operations-column-options { display: flex; flex-wrap: wrap; gap: 8px 14px; padding-top: 10px; }
.operations-column-options label { align-items: center; display: inline-flex; gap: 7px; font-size: .84rem; }

/* Valuation and print containment */
.s5-chart-card,
.rent-result-card,
.valuation-result-band,
.s8-report-section {
    break-inside: avoid;
    min-width: 0;
}

[dir="rtl"] :is(.s5-chart-card, .rent-result-card, .valuation-result-band, .s8-report-section, .chart-legend, .heatmap-legend) {
    text-align: start;
}

[dir="rtl"] canvas { direction: ltr; }

.chart-legend,
.heatmap-legend,
.market-series-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Property actions remain balanced at all widths. */
.s4-header-actions,
.s4-contact-actions,
.s4-contact-presets,
.s4-action-bar {
    gap: 8px;
}

.s4-header-actions > *,
.s4-contact-actions > *,
.s4-contact-presets > * {
    min-height: 44px;
}

@media (max-width: 1100px) {
    .operations-control-grid > *,
    .operations-user-grid > * { grid-column: span 6; }
    .operations-support-grid > * { grid-column: span 6; }
}

@media (max-width: 760px) {
    :root { --r3-panel-height: 360px; }

    .operations-control-grid > *,
    .operations-user-grid > *,
    .operations-support-grid > * { grid-column: 1 / -1; }

    .operations-notification-tools,
    .operations-ticket-tools { grid-template-columns: 1fr; }

    .operations-support-intro { display: grid; }

    .admin-chart-wrap,
    .dashboard-chart-wrap,
    .s5-chart-wrap,
    .rent-chart-wrap { min-height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
    .operations-support-card,
    .operations-user-card { transition: none !important; }
}

@media (forced-colors: active) {
    .operations-control-card,
    .operations-user-card,
    .operations-support-card,
    .operations-ticket-note,
    .operations-column-menu { border: 1px solid CanvasText; }
}

@media print {
    .operations-notification-tools,
    .operations-ticket-tools,
    .operations-column-menu { display: none !important; }

    .admin-table-card[data-admin-table="activity"] .admin-table-scroll,
    .operations-fixed-feed,
    .notification-list[data-operations-notification-list],
    .table-responsive,
    .admin-table-scroll {
        max-height: none !important;
        overflow: visible !important;
    }

    .admin-chart-wrap canvas,
    .dashboard-chart-wrap canvas,
    .s5-chart-wrap canvas,
    .rent-chart-wrap canvas { max-height: 245mm !important; }
}


/* Keep the favorite action visually distinct from the property image link. */
.property-card__utility-row {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    min-height: 44px;
    margin: -4px 0 4px;
}
.property-card__utility-row .property-card__favorite {
    inset: auto !important;
    margin: 0;
    position: static !important;
}
[dir="rtl"] .property-card__utility-row { justify-content: flex-start; }

/* Phase 1 final production hardening */
:root {
    --predeploy-control-height: 44px;
}

:where(.btn, .home-btn, .search-utility-button, .search-view-toggle button, .s7-map-action) {
    min-height: var(--predeploy-control-height);
}

:where(input:not([type="checkbox"], [type="radio"], [type="hidden"]), select, textarea) {
    min-height: var(--predeploy-control-height);
}

.home-nav-link,
.home-nav-trigger {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
}

.leaflet-container {
    min-height: 320px;
    background: #e8edf3;
}

.leaflet-control-layers[data-production-basemaps],
.s7-layer-panel {
    max-width: min(330px, calc(100vw - 32px));
}


.production-heat-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.production-heat-export {
    min-height: 38px;
    padding-inline: 12px;
}

.about-platform-hero {
    position: relative;
    min-height: clamp(360px, 48vw, 560px);
    margin: 0 0 26px;
    overflow: hidden;
    border: 1px solid var(--app-border);
    border-radius: clamp(18px, 2.4vw, 30px);
    background: #0b1728;
    box-shadow: 0 24px 60px rgba(8, 18, 34, .2);
}

.about-platform-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-platform-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 15, 29, .94) 0%, rgba(4, 15, 29, .73) 38%, rgba(4, 15, 29, .12) 72%);
}

[dir="rtl"] .about-platform-hero::after {
    background: linear-gradient(270deg, rgba(4, 15, 29, .94) 0%, rgba(4, 15, 29, .73) 38%, rgba(4, 15, 29, .12) 72%);
}

.about-platform-hero__copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 14px;
    width: min(620px, 62%);
    min-height: inherit;
    padding: clamp(28px, 5vw, 72px);
    color: #fff;
}

.about-platform-hero__copy .home-eyebrow {
    color: #f8d56b;
}

.about-platform-hero__copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1.05;
}

.about-platform-hero__copy p {
    max-width: 58ch;
    margin: 0;
    color: #dce6f4;
    font-size: clamp(15px, 1.5vw, 19px);
    line-height: 1.75;
}

.about-platform-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.about-platform-hero__trust span {
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(8, 24, 43, .52);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.about-platform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-platform-grid .review-content-card {
    min-height: 180px;
}

.about-platform-grid .review-content-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.auth-public-main {
    min-height: calc(100svh - 82px);
    align-items: center;
    padding-block: clamp(28px, 6vh, 72px);
}

.auth-commercial-layout {
    width: min(1080px, calc(100% - 32px));
    margin-inline: auto;
}

.auth-commercial-panel,
.auth-commercial-aside {
    min-height: 100%;
}

.auth-provider-status {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 10px 0 0;
    padding: 12px 14px;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface-2);
    color: var(--app-muted);
    font-size: 13px;
    line-height: 1.55;
}

.auth-provider-status strong {
    color: var(--app-text);
}

.dashboard-main-wide,
.admin-page-shell {
    width: min(1500px, calc(100% - 32px));
    margin-inline: auto;
}

.dashboard-metrics,
.admin-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.dashboard-chart-card,
.admin-dashboard-card,
.operations-dashboard-module {
    min-width: 0;
}

.dashboard-activity-list,
.admin-activity-list,
.operations-scroll-region {
    max-height: 420px;
    overflow: auto;
    scrollbar-gutter: stable;
}

.search-results-layout {
    align-items: start;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
}

.search-map-pane {
    align-self: start;
}

.search-map {
    min-height: clamp(500px, 66vh, 760px);
}

@media (max-width: 1180px) {
    .home-nav-toplinks .home-nav-link:nth-of-type(8),
    .home-nav-toplinks .home-nav-link:nth-of-type(9) {
        display: none;
    }
}

@media (max-width: 980px) {
    .search-results-layout {
        grid-template-columns: 1fr;
    }

    .search-map {
        min-height: min(62vh, 560px);
    }

    .about-platform-hero__copy {
        width: min(720px, 82%);
    }
}

@media (max-width: 640px) {
    .about-platform-hero {
        min-height: 500px;
    }

    .about-platform-hero img {
        object-position: 62% center;
    }

    .about-platform-hero::after,
    [dir="rtl"] .about-platform-hero::after {
        background: linear-gradient(180deg, rgba(4, 15, 29, .45), rgba(4, 15, 29, .95) 72%);
    }

    .about-platform-hero__copy {
        align-content: end;
        width: 100%;
        padding: 28px 22px;
    }

    .about-platform-grid {
        grid-template-columns: 1fr;
    }

    .about-platform-grid .review-content-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .dashboard-main-wide,
    .admin-page-shell {
        width: min(100% - 20px, 1500px);
    }

    .auth-commercial-layout {
        width: min(100% - 20px, 1080px);
    }
}

@media print {
    .production-heat-export {
        display: none !important;
    }

    .about-platform-hero {
        min-height: 220px;
        box-shadow: none;
        break-inside: avoid;
    }
}

/*
 * Production Hardening 01
 * Final auth-only cascade layer. It overrides an older global 500px width rule.
 */
.auth-public-shell {
    min-width: 0;
    min-height: 100svh;
}
.auth-public-main {
    display: grid;
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100svh - 82px);
    margin: 0 !important;
    padding: clamp(24px, 5vh, 64px) clamp(16px, 3vw, 32px) !important;
    place-items: center;
}
.auth-commercial-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    width: min(1080px, 100%) !important;
    max-width: 1080px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--app-border);
    border-radius: 24px;
    background: var(--app-surface);
    box-shadow: 0 24px 65px rgba(15, 35, 64, .12);
}
.auth-commercial-aside,
.auth-panel.auth-commercial-panel {
    min-width: 0;
    min-height: 100%;
}
.auth-commercial-aside {
    padding: clamp(32px, 5vw, 64px);
}
.auth-panel.auth-commercial-panel {
    display: grid;
    align-content: center;
    gap: 14px !important;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(28px, 4vw, 48px) !important;
}
.auth-commercial-panel form {
    display: grid;
    gap: 12px !important;
    min-width: 0;
}
.auth-commercial-panel .form-label {
    margin: 4px 0 0;
}
.auth-commercial-panel .form-control,
.auth-commercial-panel .btn {
    min-height: 48px;
}
.auth-commercial-panel .form-control,
.auth-commercial-panel .password-field,
.auth-google-button,
.auth-provider-status {
    width: 100%;
    min-width: 0;
}
.auth-commercial-panel .alert,
.auth-provider-status,
.auth-google-note,
.auth-legal-note,
.auth-help,
.auth-password-status {
    overflow-wrap: anywhere;
}
.auth-provider-status {
    margin: 0;
}
.auth-row,
.auth-footer-link,
.auth-recovery-links {
    gap: 10px 16px;
}
[dir="rtl"] .auth-commercial-aside,
[dir="rtl"] .auth-commercial-panel {
    text-align: right;
}
[dir="rtl"] .auth-check,
[dir="rtl"] .auth-provider-status {
    flex-direction: row;
}
@media (max-width: 900px) {
    .auth-public-main {
        align-items: start;
        padding-block: 24px !important;
    }
    .auth-commercial-layout {
        grid-template-columns: 1fr;
        width: min(720px, 100%) !important;
    }
    .auth-commercial-aside {
        padding: 28px 32px;
    }
    .auth-commercial-aside h2 {
        max-width: 24ch;
        font-size: clamp(1.75rem, 5vw, 2.4rem);
    }
    .auth-trust-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 20px;
    }
}
@media (max-width: 640px) {
    .auth-public-main {
        min-height: 0;
        padding: 12px 10px 24px !important;
    }
    .auth-commercial-layout {
        border-radius: 18px;
    }
    .auth-commercial-aside {
        display: none;
    }
    .auth-panel.auth-commercial-panel {
        padding: 24px 18px !important;
    }
    .auth-commercial-panel h1 {
        font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
    }
    .auth-row,
    .auth-footer-link {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .auth-recovery-links {
        display: grid;
        justify-content: start;
    }
}
@media (max-width: 380px) {
    .auth-public-main {
        padding-inline: 8px !important;
    }
    .auth-panel.auth-commercial-panel {
        padding-inline: 15px !important;
    }
}
@media (forced-colors: active) {
    .auth-commercial-layout,
    .auth-provider-status,
    .auth-google-button {
        border: 1px solid CanvasText;
    }
}

/* Authentication layout hardening: 20260725 authentication */
.auth-public-shell {
    width: 100%;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed;
}
.auth-public-shell .home-navbar,
.auth-public-shell .home-navbar-inner {
    width: 100%;
    min-width: 0;
}
.auth-public-shell .home-logo,
.auth-public-shell .home-brand {
    min-width: 0;
    max-width: min(240px, 58vw);
}
.auth-public-shell .home-logo img,
.auth-public-shell .home-brand img {
    width: auto;
    max-width: 100%;
    height: clamp(34px, 4vw, 46px);
}
.auth-public-shell .auth-commercial-layout,
.auth-public-shell .auth-commercial-aside,
.auth-public-shell .auth-panel.auth-commercial-panel {
    min-width: 0;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed;
}
.auth-public-shell .auth-commercial-panel form {
    width: 100%;
    min-width: 0;
}
@media (min-width: 901px) and (max-width: 1180px) {
    .auth-public-shell .auth-commercial-layout {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr);
    }
    .auth-public-shell .auth-commercial-aside,
    .auth-public-shell .auth-panel.auth-commercial-panel {
        padding: clamp(28px, 3.5vw, 42px) !important;
    }
}

.s2-hero h1{max-width:980px;font-size:clamp(2.5rem,5.4vw,5rem);line-height:1.05}.s2-content-empty{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:36px;border:1px dashed var(--s2-line);border-radius:16px}.s2-map-legend{display:flex;gap:18px;padding:10px 16px}.s2-map-legend span{display:flex;align-items:center;gap:7px}.s2-map-legend i{width:11px;height:11px;border-radius:50%}.is-sale{background:#b4771f}.is-rent{background:#1677a6}.s2-map-empty{min-height:420px;display:grid;place-content:center;justify-items:center;gap:10px;padding:32px;text-align:center}.home-nav-link{padding-inline:7px;font-size:.77rem}.about-platform-hero{overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;border-radius:18px;background:#10382d;color:#fff}.about-platform-hero>img{width:100%;height:100%;object-fit:cover}.about-platform-hero__copy{align-self:center;padding:clamp(32px,5vw,64px)}.about-platform-hero__copy h1{color:#fff}.about-platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.about-platform-hero{grid-template-columns:1fr}.about-platform-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.s2-hero h1{font-size:clamp(2.2rem,11vw,3.25rem)}.s2-hero-actions,.s2-content-empty{grid-template-columns:1fr}.about-platform-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.s2-home *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1320px){.home-nav{grid-template-columns:auto auto;min-height:54px}.home-nav-groups{display:none}.home-menu-button{display:block}.home-mobile-panel{top:54px}}
/* Production Hardening 02: explicit Home contrast tokens for both theme attributes. */
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home {
    --s2-ink: #eef5f1;
    --s2-muted: #b8c8c0;
    --s2-surface: #15251f;
    --s2-line: #385047;
    background: #0d1814;
    color: var(--s2-ink);
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home :is(.s2-action-card, .s2-content-empty, .s2-map-frame, .s2-suggestions) {
    color: var(--s2-ink);
    border-color: var(--s2-line);
    background: var(--s2-surface);
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home :is(.s2-section-head > p, .s2-action-card small, .s2-content-empty p, .s2-benefit-grid p, .s2-map-copy > p:not(.s2-kicker), .s2-map-toolbar small, .s2-map-legend, .s2-map-fallback) {
    color: var(--s2-muted);
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home .s2-global-search {
    color: #17231e;
    background: #f7faf8;
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home .s2-global-search input {
    color: #17231e;
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home .s2-global-search input::placeholder {
    color: #53645c;
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home .s2-search-hints {
    color: #d7e4dd;
}
:is([data-theme="dark"], [data-bs-theme="dark"]) .s2-home .s2-live-dot {
    color: #8ed9b7;
}
