/* _content/SplatImmo.Web/Components/Auth/UserMenu.razor.rz.scp.css */
.user-menu[b-5xyqg0l9kq] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.user-menu__trigger[b-5xyqg0l9kq] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xxs) var(--spacing-sm) var(--spacing-xxs) var(--spacing-xxs);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-ink);
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard),
                border-color var(--motion-fast) var(--easing-standard);
}
.user-menu__trigger:hover[b-5xyqg0l9kq] {
    background: var(--color-background);
    border-color: var(--color-border-strong);
}

.user-menu__avatar[b-5xyqg0l9kq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-pill);
    background: var(--color-accent);
    color: var(--color-on-ink);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.user-menu__name[b-5xyqg0l9kq] {
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    color: var(--color-ink);
    max-width: 14ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu__dropdown[b-5xyqg0l9kq] {
    position: absolute;
    top: calc(100% + var(--spacing-xs));
    right: 0;
    min-width: 220px;
    padding: var(--spacing-xs);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-pop);
    display: flex;
    flex-direction: column;
    gap: 2px;
    z-index: var(--z-overlay);
    animation: dropdown-in-b-5xyqg0l9kq var(--motion-fast) var(--easing-standard);
}

.user-menu__item[b-5xyqg0l9kq] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    font-size: var(--text-body-md-size);
    font-weight: var(--text-body-md-weight);
    cursor: pointer;
    text-decoration: none;
    text-align: left;
    transition: background var(--motion-fast) var(--easing-standard);
}
.user-menu__item:hover[b-5xyqg0l9kq] {
    background: var(--color-background);
    text-decoration: none;
}

.user-menu__item--danger[b-5xyqg0l9kq] {
    color: var(--color-danger);
}

.user-menu__sep[b-5xyqg0l9kq] {
    height: 1px;
    background: var(--color-border);
    margin: var(--spacing-xxs) var(--spacing-xs);
}

.user-menu--anonymous[b-5xyqg0l9kq] {
    gap: var(--spacing-md);
}

.user-menu__signin[b-5xyqg0l9kq] {
    color: var(--color-ink);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
}

.user-menu__signup[b-5xyqg0l9kq] {
    background: var(--color-ink);
    color: var(--color-on-ink);
    padding: var(--spacing-sm) var(--spacing-xl);
    border-radius: var(--radius-pill);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    transition: background var(--motion-fast) var(--easing-standard);
}
.user-menu__signup:hover[b-5xyqg0l9kq] {
    background: var(--color-ink-2);
    text-decoration: none;
    color: var(--color-on-ink);
}

@keyframes dropdown-in-b-5xyqg0l9kq {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 639px) {
    .user-menu__name[b-5xyqg0l9kq] {
        display: none;
    }
}
/* _content/SplatImmo.Web/Components/Jobs/JobProgress.razor.rz.scp.css */
.job-progress[b-qxg6z2wumf] {
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.job-progress__header[b-qxg6z2wumf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.job-progress__status[b-qxg6z2wumf] {
    font-family: var(--font-sans);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    color: var(--text-label-md-color);
}

.job-progress__stage[b-qxg6z2wumf] {
    font-family: var(--font-mono);
    font-size: var(--text-mono-size);
    color: var(--color-muted);
}

.job-progress__bar[b-qxg6z2wumf] {
    width: 100%;
    height: 6px;
    background: var(--color-border);
    border-radius: var(--radius-pill);
    overflow: hidden;
}

.job-progress__fill[b-qxg6z2wumf] {
    height: 100%;
    background: var(--color-ink);
    transition: width 200ms ease-out;
    border-radius: var(--radius-pill);
}

.job-progress__footer[b-qxg6z2wumf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: var(--font-mono);
    font-size: var(--text-mono-size);
    color: var(--color-muted);
}

.job-progress--completed .job-progress__fill[b-qxg6z2wumf] {
    background: var(--color-ok);
}

.job-progress--failed .job-progress__fill[b-qxg6z2wumf],
.job-progress--crashed .job-progress__fill[b-qxg6z2wumf] {
    background: var(--color-danger);
}

.job-progress__failure[b-qxg6z2wumf] {
    margin: 0;
    color: var(--color-danger);
    font-size: var(--text-body-sm-size);
}

.job-progress__tour[b-qxg6z2wumf] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
    color: var(--color-accent-ink);
    font-size: var(--text-body-md-size);
    font-weight: 600;
    text-decoration: none;
}

.job-progress__tour:hover[b-qxg6z2wumf] {
    text-decoration: underline;
}
/* _content/SplatImmo.Web/Components/Layout/AdminLayout.razor.rz.scp.css */
.admin-shell[b-qukyaec2dw] {
    display: grid;
    grid-template-columns: 240px 1fr;
    min-height: 100vh;
    background: var(--color-background);
}

.admin-sidebar[b-qukyaec2dw] {
    background: var(--color-surface);
    border-right: var(--border-width) solid var(--color-border);
    padding: var(--spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
    position: sticky;
    top: 0;
    height: 100vh;
}

.admin-sidebar__brand[b-qukyaec2dw] {
    font-family: var(--font-sans);
    font-size: var(--text-h4-size);
    font-weight: var(--text-h4-weight);
    color: var(--text-h4-color);
    text-decoration: none;
    padding: var(--spacing-sm) 0;
    border-bottom: var(--border-width) solid var(--color-border);
}

.admin-sidebar__nav[b-qukyaec2dw] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxs);
}

.admin-sidebar__nav a[b-qukyaec2dw] {
    display: block;
    padding: var(--spacing-md) var(--spacing-xl);
    border-radius: var(--radius-lg);
    color: var(--color-ink-2);
    font-family: var(--font-sans);
    font-size: var(--text-body-md-size);
    font-weight: 500;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
}

.admin-sidebar__nav a:hover[b-qukyaec2dw] {
    background: var(--color-background);
    color: var(--color-ink);
}

.admin-sidebar__nav a[aria-current="page"][b-qukyaec2dw],
.admin-sidebar__nav a.active[b-qukyaec2dw] {
    background: var(--color-ink);
    color: var(--color-on-ink);
}

.admin-sidebar__footer[b-qukyaec2dw] {
    margin-top: auto;
    padding-top: var(--spacing-md);
    border-top: var(--border-width) solid var(--color-border);
}

.admin-sidebar__exit[b-qukyaec2dw] {
    color: var(--color-muted);
    font-size: var(--text-body-sm-size);
    text-decoration: none;
}

.admin-sidebar__exit:hover[b-qukyaec2dw] {
    color: var(--color-ink);
}

.admin-main[b-qukyaec2dw] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-topbar[b-qukyaec2dw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-xl) var(--spacing-xxl);
    background: var(--color-surface);
    border-bottom: var(--border-width) solid var(--color-border);
}

.admin-topbar__title[b-qukyaec2dw] {
    font-family: var(--font-sans);
    font-size: var(--text-h4-size);
    font-weight: var(--text-h4-weight);
    color: var(--text-h4-color);
}

.admin-content[b-qukyaec2dw] {
    padding: var(--spacing-xxl);
    flex: 1;
    overflow-x: hidden;
}

@media (max-width: 768px) {
    .admin-shell[b-qukyaec2dw] {
        grid-template-columns: 1fr;
    }
    .admin-sidebar[b-qukyaec2dw] {
        position: static;
        height: auto;
        border-right: none;
        border-bottom: var(--border-width) solid var(--color-border);
    }
}
/* _content/SplatImmo.Web/Components/Listings/FloorPlanViewer.razor.rz.scp.css */
.floor-plan-viewer[b-rnooro7nz0] {
    display: block;
    width: 100%;
    background: var(--floor-plan-bg);
    border: 1px solid var(--floor-plan-border);
    border-radius: 8px;
    overflow: hidden;
}

.floor-plan-svg[b-rnooro7nz0] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 480px;
    aspect-ratio: 16 / 10;
}

.floor-plan-message[b-rnooro7nz0] {
    margin: 0;
    padding: 1.5rem 1rem;
    text-align: center;
    color: var(--floor-plan-message-fg);
    font-size: 0.95rem;
}

.floor-plan-message--error[b-rnooro7nz0] {
    color: var(--floor-plan-message-error-fg);
    background: var(--floor-plan-message-error-bg);
}

.floor-plan-message--empty[b-rnooro7nz0] {
    color: var(--floor-plan-message-empty-fg);
    font-style: italic;
}

.room-polygon[b-rnooro7nz0] {
    cursor: pointer;
    transition: opacity 120ms ease, stroke-width 120ms ease;
    opacity: 0.85;
    stroke: var(--floor-plan-room-stroke);
}

.room-polygon:hover[b-rnooro7nz0],
.room-polygon:focus-visible[b-rnooro7nz0] {
    opacity: 1;
}

.room-polygon:focus-visible[b-rnooro7nz0] {
    outline: none;
    stroke: var(--floor-plan-room-focus-stroke);
}

.room-polygon--fill-1[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-1); }
.room-polygon--fill-2[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-2); }
.room-polygon--fill-3[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-3); }
.room-polygon--fill-4[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-4); }
.room-polygon--fill-5[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-5); }
.room-polygon--fill-6[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-6); }
.room-polygon--fill-7[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-7); }
.room-polygon--fill-8[b-rnooro7nz0] { fill: var(--floor-plan-room-fill-8); }

.room-label[b-rnooro7nz0] {
    pointer-events: none;
    fill: var(--floor-plan-room-stroke);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.floor-plan-levels[b-rnooro7nz0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: var(--border-width-strong) solid var(--floor-plan-border);
    background: var(--color-surface);
}

.floor-plan-level-button[b-rnooro7nz0] {
    appearance: none;
    border: var(--border-width-strong) solid var(--floor-plan-border);
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-ink-2);
    padding: var(--spacing-xxs) var(--spacing-md);
    font-family: var(--font-sans);
    font-size: var(--text-label-sm-size);
    font-weight: var(--text-label-md-weight);
    line-height: 1.2;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.floor-plan-level-button:hover[b-rnooro7nz0] {
    border-color: var(--floor-plan-room-focus-stroke);
    color: var(--color-ink);
}

.floor-plan-level-button:focus-visible[b-rnooro7nz0] {
    outline: none;
    border-color: var(--floor-plan-room-focus-stroke);
    box-shadow: 0 0 0 2px var(--color-accent-soft);
}

.floor-plan-level-button--active[b-rnooro7nz0] {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-on-ink);
}

.floor-plan-level-button--active:hover[b-rnooro7nz0] {
    color: var(--color-on-ink);
    border-color: var(--color-accent);
}
/* _content/SplatImmo.Web/Components/Listings/ListingCard.razor.rz.scp.css */
.listing-card[b-1p6rqef4co] {
    display: flex;
    flex-direction: column;
    background: var(--color-surface);
    border-radius: var(--radius-xl);
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--motion-base) var(--easing-standard),
                transform var(--motion-base) var(--easing-standard);
}

.listing-card:hover[b-1p6rqef4co] {
    box-shadow: var(--shadow-card-hover);
    text-decoration: none;
    transform: translateY(-2px);
}

.listing-card:focus-visible[b-1p6rqef4co] {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.listing-card__media[b-1p6rqef4co] {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--color-background);
    overflow: hidden;
}

.listing-card__media img[b-1p6rqef4co],
.listing-card__media-placeholder[b-1p6rqef4co] {
    display: block;
    width: 100%;
    height: 100%;
}

.listing-card__media img[b-1p6rqef4co] {
    object-fit: cover;
    transition: transform var(--motion-slow) var(--easing-standard);
}

.listing-card:hover .listing-card__media img[b-1p6rqef4co] {
    transform: scale(1.04);
}

.listing-card__media-placeholder[b-1p6rqef4co] {
    background:
        linear-gradient(135deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)),
        var(--color-accent-soft);
}

.listing-card__status[b-1p6rqef4co] {
    position: absolute;
    top: var(--spacing-md);
    left: var(--spacing-md);
    z-index: 1;
}

.listing-card__badge[b-1p6rqef4co] {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: var(--spacing-xxs) var(--spacing-sm);
    background: var(--scrim-dark);
    color: var(--color-on-ink);
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    z-index: 1;
}

.listing-card__favorite[b-1p6rqef4co] {
    position: absolute;
    bottom: var(--spacing-md);
    right: var(--spacing-md);
    width: 36px;
    height: 36px;
    border-radius: var(--radius-pill);
    background: var(--scrim-light);
    border: 0;
    color: var(--color-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1;
    box-shadow: var(--shadow-card);
    transition: transform var(--motion-fast) var(--easing-standard),
                color var(--motion-fast) var(--easing-standard);
}

.listing-card__favorite:hover[b-1p6rqef4co] {
    transform: scale(1.06);
}

.listing-card__favorite.is-active[b-1p6rqef4co] {
    color: var(--color-danger);
}

.listing-card__body[b-1p6rqef4co] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
}

.listing-card__row[b-1p6rqef4co] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.listing-card__title[b-1p6rqef4co] {
    font-family: var(--font-sans);
    font-size: var(--text-h4-size);
    font-weight: var(--text-h4-weight);
    letter-spacing: var(--text-h4-tracking);
    color: var(--text-h4-color);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.listing-card__price[b-1p6rqef4co] {
    font-family: var(--font-sans);
    font-size: var(--text-body-lg-size);
    font-weight: 700;
    letter-spacing: var(--text-body-lg-tracking);
    color: var(--color-accent-ink);
    white-space: nowrap;
}

.listing-card__address[b-1p6rqef4co] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
    margin: 0;
}

.listing-card__specs[b-1p6rqef4co] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    list-style: none;
    padding: 0;
    margin: var(--spacing-xxs) 0 0;
    font-size: var(--text-label-sm-size);
    color: var(--color-ink-2);
}

.listing-card__specs li[b-1p6rqef4co] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.listing-status[b-1p6rqef4co] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    font-size: 11px;
    font-weight: 700;
    color: var(--color-ink-2);
    line-height: 1;
    white-space: nowrap;
    box-shadow: var(--shadow-card);
}

.listing-status--published[b-1p6rqef4co] {
    background: var(--color-ok);
    color: var(--color-on-ink);
}

.listing-status--draft[b-1p6rqef4co] {
    background: var(--color-warn);
    color: var(--color-on-ink);
}

.listing-status--archived[b-1p6rqef4co] {
    background: var(--color-muted);
    color: var(--color-on-ink);
}
/* _content/SplatImmo.Web/Components/Listings/ListingSkeleton.razor.rz.scp.css */
.listing-skeleton[b-qwvw046eps] {
    display: flex;
    flex-direction: column;
    background: var(--color-surface);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.listing-skeleton__media[b-qwvw046eps] {
    aspect-ratio: 4 / 3;
    background: var(--color-background);
}

.listing-skeleton__body[b-qwvw046eps] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
}

.listing-skeleton__row[b-qwvw046eps] {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.listing-skeleton__title[b-qwvw046eps] {
    width: 60%;
    height: 18px;
    border-radius: var(--radius-xs);
}

.listing-skeleton__price[b-qwvw046eps] {
    width: 25%;
    height: 18px;
    border-radius: var(--radius-xs);
}

.listing-skeleton__line[b-qwvw046eps] {
    width: 70%;
    height: 12px;
    border-radius: var(--radius-xs);
}

.listing-skeleton__chips[b-qwvw046eps] {
    display: flex;
    gap: var(--spacing-md);
    margin-top: var(--spacing-xxs);
}

.listing-skeleton__chip[b-qwvw046eps] {
    width: 36px;
    height: 14px;
    border-radius: var(--radius-xs);
}

[b-qwvw046eps] .skel-shimmer {
    background: linear-gradient(
        90deg,
        var(--color-background) 0%,
        var(--color-border) 50%,
        var(--color-background) 100%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer-b-qwvw046eps 1.4s linear infinite;
}

@keyframes skeleton-shimmer-b-qwvw046eps {
    from {
        background-position: 200% 0;
    }
    to {
        background-position: -200% 0;
    }
}
/* _content/SplatImmo.Web/Components/Pages/Agent/AgentListingDetail.razor.rz.scp.css */
.agent-listing-detail[b-j6autqqemm] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    max-width: 720px;
}

.agent-listing-detail h1[b-j6autqqemm] {
    font-family: var(--font-sans);
    font-size: var(--text-h1-size);
    font-weight: var(--text-h1-weight);
    letter-spacing: var(--text-h1-tracking);
    color: var(--text-h1-color);
    margin: 0;
}

.agent-listing-detail h2[b-j6autqqemm] {
    font-family: var(--font-sans);
    font-size: var(--text-h3-size);
    font-weight: var(--text-h3-weight);
    letter-spacing: var(--text-h3-tracking);
    color: var(--text-h3-color);
    margin: var(--spacing-md) 0 0;
}

.agent-listing-detail p[b-j6autqqemm] {
    font-size: var(--text-body-md-size);
    color: var(--color-ink-2);
    margin: 0;
}

.btn-publish[b-j6autqqemm] {
    align-self: flex-start;
    background: var(--color-ink);
    color: var(--color-on-ink);
    font-family: var(--font-sans);
    font-size: var(--text-body-lg-size);
    font-weight: 600;
    padding: var(--spacing-lg) var(--spacing-xxl);
    border: none;
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: opacity 120ms ease;
}

.btn-publish:hover:not(:disabled)[b-j6autqqemm] {
    opacity: 0.9;
}

.btn-publish:disabled[b-j6autqqemm] {
    opacity: 0.5;
    cursor: not-allowed;
}

.error[b-j6autqqemm] {
    color: var(--color-danger);
    font-size: var(--text-body-md-size);
}
/* _content/SplatImmo.Web/Components/Pages/Agent/CreateListing.razor.rz.scp.css */
form[data-test-form="create-listing"][b-m221a62rp7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
    max-width: 720px;
}

form[data-test-form="create-listing"] fieldset[b-m221a62rp7] {
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    background: var(--color-surface);
}

form[data-test-form="create-listing"] legend[b-m221a62rp7] {
    font-family: var(--font-sans);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    color: var(--color-ink);
    padding: 0 var(--spacing-sm);
}

form[data-test-form="create-listing"] label[b-m221a62rp7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    font-family: var(--font-sans);
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    color: var(--text-overline-color);
    text-transform: uppercase;
}

form[data-test-form="create-listing"] input[b-m221a62rp7],
form[data-test-form="create-listing"] textarea[b-m221a62rp7] {
    font-family: var(--font-sans);
    font-size: var(--text-body-md-size);
    font-weight: var(--text-body-md-weight);
    color: var(--color-ink);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--spacing-md) var(--spacing-xl);
    text-transform: none;
    letter-spacing: normal;
}

form[data-test-form="create-listing"] textarea[b-m221a62rp7] {
    resize: vertical;
    min-height: 80px;
}

form[data-test-form="create-listing"] input:focus[b-m221a62rp7],
form[data-test-form="create-listing"] textarea:focus[b-m221a62rp7] {
    outline: none;
    border-color: var(--color-ink);
    border-width: var(--border-width-strong);
}

form[data-test-form="create-listing"] .address-suggestions[b-m221a62rp7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    width: 100%;
    margin-top: calc(-1 * var(--spacing-xs));
}

form[data-test-form="create-listing"] .address-suggestion[b-m221a62rp7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    min-height: 56px;
    padding: var(--spacing-sm) var(--spacing-md);
    color: var(--color-ink);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

form[data-test-form="create-listing"] .address-suggestion:hover[b-m221a62rp7],
form[data-test-form="create-listing"] .address-suggestion:focus-visible[b-m221a62rp7] {
    border-color: var(--color-ink);
    background: var(--color-background);
}

form[data-test-form="create-listing"] .address-suggestion:focus-visible[b-m221a62rp7] {
    outline: var(--border-width-strong) solid var(--color-ink);
    outline-offset: 2px;
}

form[data-test-form="create-listing"] .address-suggestion strong[b-m221a62rp7],
form[data-test-form="create-listing"] .address-suggestion span[b-m221a62rp7] {
    max-width: 100%;
    overflow-wrap: anywhere;
    text-transform: none;
    letter-spacing: normal;
}

form[data-test-form="create-listing"] .address-suggestion strong[b-m221a62rp7] {
    font-size: var(--text-body-md-size);
    font-weight: 600;
    color: var(--color-ink);
}

form[data-test-form="create-listing"] .address-suggestion span[b-m221a62rp7] {
    font-size: var(--text-caption-size);
    color: var(--color-muted);
}

form[data-test-form="create-listing"] .hint[b-m221a62rp7] {
    font-size: var(--text-caption-size);
    color: var(--color-muted);
    text-transform: none;
    letter-spacing: normal;
    margin: 0;
}

form[data-test-form="create-listing"] .selected-video[b-m221a62rp7] {
    font-size: var(--text-body-sm-size);
    color: var(--color-ink-2);
    margin: 0;
}

form[data-test-form="create-listing"] .error[b-m221a62rp7] {
    color: var(--color-danger);
    font-size: var(--text-body-md-size);
}

form[data-test-form="create-listing"] button[type="submit"][b-m221a62rp7] {
    align-self: flex-start;
    background: var(--color-ink);
    color: var(--color-on-ink);
    font-family: var(--font-sans);
    font-size: var(--text-body-lg-size);
    font-weight: 600;
    padding: var(--spacing-lg) var(--spacing-xxl);
    border: none;
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: opacity 120ms ease;
}

form[data-test-form="create-listing"] button[type="submit"]:hover:not(:disabled)[b-m221a62rp7] {
    opacity: 0.9;
}

form[data-test-form="create-listing"] button[type="submit"]:disabled[b-m221a62rp7] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* _content/SplatImmo.Web/Components/Pages/Agent/MyListings.razor.rz.scp.css */
.agent-header[b-qjkvyhd2s5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
    flex-wrap: wrap;
}

.agent-header h1[b-qjkvyhd2s5] {
    font-family: var(--font-sans);
    font-size: var(--text-h1-size);
    font-weight: var(--text-h1-weight);
    letter-spacing: var(--text-h1-tracking);
    color: var(--text-h1-color);
    margin: 0;
}

.btn-create-listing[b-qjkvyhd2s5] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    background: var(--color-ink);
    color: var(--color-on-ink);
    font-family: var(--font-sans);
    font-size: var(--text-body-md-size);
    font-weight: 600;
    padding: var(--spacing-md) var(--spacing-xl);
    border-radius: var(--radius-lg);
    text-decoration: none;
    transition: opacity 120ms ease;
}

.btn-create-listing:hover[b-qjkvyhd2s5] {
    opacity: 0.9;
    text-decoration: none;
}

.error[b-qjkvyhd2s5] {
    color: var(--color-danger);
}
/* _content/SplatImmo.Web/Components/Pages/EmbedTour.razor.rz.scp.css */
/* Full-viewport host for the embedded viewer. The default
   .splat-viewer style caps at calc(100vh - 12rem) to leave room for the
   page header strip + footer in MainLayout — irrelevant here, where the
   layout has neither. ::deep punches through the scoped CSS hash so we
   can override the descendant component's height. */

.embed-tour[b-5qdfiayyu9] {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    overflow: hidden;
    background: var(--color-viewer-bg);
    touch-action: none;
}

.embed-tour[b-5qdfiayyu9]  .splat-viewer {
    width: 100vw;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100svh;
    max-height: 100dvh;
    max-width: 100vw;
    border-radius: 0;
}

.embed-tour[b-5qdfiayyu9]  .splat-viewer canvas {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}

.embed-tour__loading[b-5qdfiayyu9] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    color: var(--color-on-ink);
    background: var(--color-viewer-bg);
    font-family: var(--font-sans);
    font-size: var(--text-body-md-size);
}
/* _content/SplatImmo.Web/Components/Pages/Home.razor.rz.scp.css */
/* ───────── Hero ───────── */

.home-hero[b-dd26ayrz79] {
    position: relative;
    margin: calc(var(--spacing-xxl) * -1) calc(var(--spacing-xxl) * -1) var(--spacing-xxl);
    padding: calc(var(--spacing-xxl) * 2) var(--spacing-xxl) calc(var(--spacing-xxl) * 2);
    background:
        radial-gradient(circle at 80% 0%, var(--color-accent-soft), transparent 50%),
        var(--color-background);
    border-bottom: var(--border-width) solid var(--color-border);
}

.home-hero__inner[b-dd26ayrz79] {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.home-hero__eyebrow[b-dd26ayrz79] {
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    text-transform: uppercase;
    color: var(--color-accent-ink);
    margin: 0;
}

.home-hero__title[b-dd26ayrz79] {
    font-family: var(--font-sans);
    font-size: clamp(28px, 5vw, var(--text-display-xl-size));
    font-weight: var(--text-display-xl-weight);
    letter-spacing: var(--text-display-xl-tracking);
    line-height: var(--text-display-xl-leading);
    color: var(--color-ink);
    margin: 0;
    max-width: 18ch;
}

.home-hero__title-accent[b-dd26ayrz79] {
    color: var(--color-accent);
}

.home-hero__lede[b-dd26ayrz79] {
    font-size: var(--text-body-lg-size);
    font-weight: var(--text-body-lg-weight);
    color: var(--color-ink-2);
    margin: 0;
    max-width: 56ch;
}

/* ───────── Search bar ───────── */

.home-search[b-dd26ayrz79] {
    display: flex;
    gap: var(--spacing-sm);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-pill);
    padding: var(--spacing-xxs);
    box-shadow: var(--shadow-card);
    max-width: 580px;
    width: 100%;
}

.home-search__field[b-dd26ayrz79] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: 0 var(--spacing-md);
    color: var(--color-muted);
}

.home-search__input[b-dd26ayrz79] {
    flex: 1;
    width: 100%;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--color-ink);
    font-size: var(--text-body-md-size);
    font-family: var(--font-sans);
    padding: var(--spacing-sm) 0;
}

.home-search__input[b-dd26ayrz79]::placeholder {
    color: var(--color-muted);
}

.home-search__button[b-dd26ayrz79] {
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xxl);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard);
}

.home-search__button:hover[b-dd26ayrz79] {
    background: var(--color-ink-2);
}

/* ───────── Filter chips ───────── */

.home-filters[b-dd26ayrz79] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.home-filter[b-dd26ayrz79] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: var(--spacing-xs) var(--spacing-md);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-ink-2);
    font-size: var(--text-label-sm-size);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard),
                border-color var(--motion-fast) var(--easing-standard),
                color var(--motion-fast) var(--easing-standard);
}

.home-filter:hover[b-dd26ayrz79] {
    border-color: var(--color-border-strong);
    color: var(--color-ink);
}

.home-filter.is-active[b-dd26ayrz79] {
    background: var(--color-ink);
    border-color: var(--color-ink);
    color: var(--color-on-ink);
}

/* ───────── Listings section ───────── */

.listings-section[b-dd26ayrz79] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.listings-section__header[b-dd26ayrz79] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.listings-section__title[b-dd26ayrz79] {
    font-family: var(--font-sans);
    font-size: var(--text-h2-size);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-tracking);
    color: var(--text-h2-color);
    margin: 0;
}

.listings-section__count[b-dd26ayrz79] {
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
}

.listings-section__error[b-dd26ayrz79] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    background: var(--color-accent-soft);
    border-radius: var(--radius-md);
    color: var(--color-accent-ink);
}

.listings-section__error-title[b-dd26ayrz79] {
    font-weight: 700;
    margin: 0;
}

.listings-section__error-message[b-dd26ayrz79] {
    font-size: var(--text-body-sm-size);
    color: var(--color-ink-2);
    margin: 0;
}

.btn-retry[b-dd26ayrz79] {
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xl);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
}

.btn-retry:hover[b-dd26ayrz79] {
    background: var(--color-ink-2);
}

/* ───────── Grid ───────── */

.listing-grid[b-dd26ayrz79] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
}

@media (min-width: 640px) {
    .listing-grid[b-dd26ayrz79] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .listing-grid[b-dd26ayrz79] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 639px) {
    .home-hero[b-dd26ayrz79] {
        padding: var(--spacing-xxl) var(--spacing-md);
        margin: calc(var(--spacing-md) * -1) calc(var(--spacing-md) * -1) var(--spacing-xl);
    }
    .home-search[b-dd26ayrz79] {
        flex-direction: column;
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
    }
    .home-search__field[b-dd26ayrz79] {
        background: var(--color-surface);
        border: var(--border-width) solid var(--color-border);
        border-radius: var(--radius-pill);
        padding: var(--spacing-xs) var(--spacing-md);
    }
    .home-search__button[b-dd26ayrz79] {
        width: 100%;
    }
}
/* _content/SplatImmo.Web/Components/Pages/ListingDetail.razor.rz.scp.css */
.listing-detail[b-u3zdraeev7] {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.listing-detail__back[b-u3zdraeev7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    color: var(--color-muted);
    width: max-content;
}

.listing-detail__back:hover[b-u3zdraeev7] {
    color: var(--color-ink);
    text-decoration: none;
}

/* ───────── Gallery ───────── */

.listing-detail__hero[b-u3zdraeev7] {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--color-background);
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.listing-detail__hero img[b-u3zdraeev7] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.listing-detail__hero--placeholder[b-u3zdraeev7] {
    background:
        linear-gradient(135deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)),
        var(--color-accent-soft);
}

.listing-detail__nav[b-u3zdraeev7] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: var(--radius-pill);
    background: var(--scrim-light);
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-ink);
    cursor: pointer;
    box-shadow: var(--shadow-card);
    transition: transform var(--motion-fast) var(--easing-standard);
}

.listing-detail__nav:hover[b-u3zdraeev7] {
    transform: translateY(-50%) scale(1.06);
}

.listing-detail__nav--prev[b-u3zdraeev7] {
    left: var(--spacing-md);
}

.listing-detail__nav--next[b-u3zdraeev7] {
    right: var(--spacing-md);
}

.listing-detail__counter[b-u3zdraeev7] {
    position: absolute;
    bottom: var(--spacing-md);
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 12px;
    background: var(--scrim-dark);
    color: var(--color-on-ink);
    border-radius: var(--radius-pill);
    font-size: var(--text-label-sm-size);
    font-weight: 600;
}

.listing-detail__tour-cta[b-u3zdraeev7] {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--color-accent);
    color: var(--color-on-ink);
    border-radius: var(--radius-pill);
    font-size: var(--text-label-md-size);
    font-weight: 700;
    box-shadow: var(--shadow-card);
}

.listing-detail__tour-cta:hover[b-u3zdraeev7] {
    text-decoration: none;
    background: var(--color-accent-ink);
}

.listing-detail__thumbs[b-u3zdraeev7] {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
    overflow-x: auto;
    padding-bottom: var(--spacing-xxs);
}

.listing-detail__thumb[b-u3zdraeev7] {
    flex: 0 0 96px;
    aspect-ratio: 4 / 3;
    border: 2px solid transparent;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-background);
    padding: 0;
    cursor: pointer;
    transition: border-color var(--motion-fast) var(--easing-standard);
}

.listing-detail__thumb img[b-u3zdraeev7] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.listing-detail__thumb.is-active[b-u3zdraeev7] {
    border-color: var(--color-accent);
}

/* ───────── Layout ───────── */

.listing-detail__layout[b-u3zdraeev7] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-xxl);
}

@media (min-width: 1024px) {
    .listing-detail__layout[b-u3zdraeev7] {
        grid-template-columns: minmax(0, 1fr) 360px;
    }
}

.listing-detail__main[b-u3zdraeev7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    min-width: 0;
}

.listing-detail__header[b-u3zdraeev7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-md);
}

.listing-detail__title[b-u3zdraeev7] {
    font-family: var(--font-sans);
    font-size: clamp(22px, 3vw, var(--text-display-lg-size));
    font-weight: var(--text-display-lg-weight);
    letter-spacing: var(--text-display-lg-tracking);
    line-height: var(--text-display-lg-leading);
    color: var(--color-ink);
    margin: var(--spacing-sm) 0 var(--spacing-xs);
}

.listing-detail__address[b-u3zdraeev7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--text-body-md-size);
    color: var(--color-muted);
    margin: 0;
}

.listing-detail__favorite[b-u3zdraeev7] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    color: var(--color-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform var(--motion-fast) var(--easing-standard),
                color var(--motion-fast) var(--easing-standard);
}

.listing-detail__favorite:hover[b-u3zdraeev7] {
    transform: scale(1.04);
}

.listing-detail__favorite.is-active[b-u3zdraeev7] {
    color: var(--color-danger);
    border-color: var(--color-danger);
}

/* ───────── Specs ───────── */

.listing-detail__specs[b-u3zdraeev7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--spacing-md);
    list-style: none;
    padding: var(--spacing-lg);
    margin: 0;
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
}

.listing-detail__specs li[b-u3zdraeev7] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.listing-detail__specs li > svg[b-u3zdraeev7] {
    color: var(--color-accent);
    flex-shrink: 0;
}

.listing-detail__spec-label[b-u3zdraeev7] {
    display: block;
    font-size: 11px;
    color: var(--color-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.listing-detail__spec-value[b-u3zdraeev7] {
    display: block;
    font-size: var(--text-body-md-size);
    font-weight: 700;
    color: var(--color-ink);
}

/* ───────── Sections ───────── */

.listing-detail__section[b-u3zdraeev7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.listing-detail__section-title[b-u3zdraeev7] {
    font-family: var(--font-sans);
    font-size: var(--text-h3-size);
    font-weight: var(--text-h3-weight);
    letter-spacing: var(--text-h3-tracking);
    color: var(--text-h3-color);
    margin: 0;
}

.listing-detail__description[b-u3zdraeev7] {
    font-size: var(--text-body-lg-size);
    color: var(--color-ink);
    line-height: 1.6;
    margin: 0;
    white-space: pre-line;
}

.listing-detail__features[b-u3zdraeev7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--spacing-sm);
    list-style: none;
    padding: 0;
    margin: 0;
}

.listing-detail__features li[b-u3zdraeev7] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--text-body-md-size);
    color: var(--color-ink-2);
}

.listing-detail__features li > svg[b-u3zdraeev7] {
    color: var(--color-ok);
}

/* ───────── Aside (price + agent card) ───────── */

.listing-detail__aside[b-u3zdraeev7] {
    position: relative;
}

.listing-detail__price-card[b-u3zdraeev7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding: var(--spacing-xxl);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
}

@media (min-width: 1024px) {
    .listing-detail__price-card[b-u3zdraeev7] {
        position: sticky;
        top: 84px;
    }
}

.listing-detail__price[b-u3zdraeev7] {
    font-family: var(--font-sans);
    font-size: var(--text-price-xl-size);
    font-weight: var(--text-price-xl-weight);
    letter-spacing: var(--text-price-xl-tracking);
    color: var(--color-ink);
    margin: 0;
}

.listing-detail__price-meta[b-u3zdraeev7] {
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
    margin: 0;
}

.listing-detail__cta[b-u3zdraeev7] {
    margin-top: var(--spacing-xs);
}

.listing-detail__agent[b-u3zdraeev7] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: var(--border-width) solid var(--color-border);
}

.listing-detail__agent-avatar[b-u3zdraeev7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
    font-weight: 700;
}

.listing-detail__agent-info[b-u3zdraeev7] {
    display: flex;
    flex-direction: column;
}

.listing-detail__agent-name[b-u3zdraeev7] {
    font-size: var(--text-body-md-size);
    font-weight: 700;
    color: var(--color-ink);
}

.listing-detail__agent-agency[b-u3zdraeev7] {
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
}

.listing-detail__contact[b-u3zdraeev7] {
    margin-top: var(--spacing-xs);
}

/* ───────── Buttons (page-scoped) ───────── */

[b-u3zdraeev7] .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    background: var(--color-accent);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-md) var(--spacing-xl);
    font-size: var(--text-body-md-size);
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--motion-fast) var(--easing-standard);
}

[b-u3zdraeev7] .btn-primary:hover {
    background: var(--color-accent-ink);
    text-decoration: none;
    color: var(--color-on-ink);
}

[b-u3zdraeev7] .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    background: var(--color-surface);
    color: var(--color-ink);
    border: var(--border-width) solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xl);
    font-size: var(--text-body-md-size);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--motion-fast) var(--easing-standard);
}

[b-u3zdraeev7] .btn-secondary:hover {
    background: var(--color-background);
    text-decoration: none;
}

/* ───────── Sticky bottom CTA (mobile only) ───────── */

.listing-detail__sticky-cta[b-u3zdraeev7] {
    display: none;
}

@media (max-width: 639px) {
    .listing-detail__sticky-cta[b-u3zdraeev7] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--spacing-md);
        position: fixed;
        bottom: 64px;
        left: 0;
        right: 0;
        padding: var(--spacing-md) var(--spacing-xl);
        background: var(--color-surface);
        border-top: var(--border-width) solid var(--color-border);
        box-shadow: var(--shadow-overlay);
        z-index: var(--z-sticky);
    }

    .listing-detail__sticky-price[b-u3zdraeev7] {
        display: block;
        font-size: var(--text-h4-size);
        font-weight: 700;
        color: var(--color-ink);
    }

    .listing-detail__sticky-area[b-u3zdraeev7] {
        display: block;
        font-size: var(--text-body-sm-size);
        color: var(--color-muted);
    }
}

/* ───────── Loading skeleton ───────── */

.listing-detail-skeleton[b-u3zdraeev7] {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.listing-detail-skeleton__hero[b-u3zdraeev7] {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-xl);
}

.listing-detail-skeleton__line[b-u3zdraeev7] {
    height: 16px;
    width: 60%;
    border-radius: var(--radius-xs);
}

[b-u3zdraeev7] .skel-shimmer {
    background: linear-gradient(
        90deg,
        var(--color-background) 0%,
        var(--color-border) 50%,
        var(--color-background) 100%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer-b-u3zdraeev7 1.4s linear infinite;
}

@keyframes skeleton-shimmer-b-u3zdraeev7 {
    from {
        background-position: 200% 0;
    }
    to {
        background-position: -200% 0;
    }
}

.listing-detail-error[b-u3zdraeev7] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    background: var(--color-accent-soft);
    border-radius: var(--radius-md);
    color: var(--color-accent-ink);
    max-width: 720px;
    margin: 0 auto;
}

.listing-detail-error__title[b-u3zdraeev7] {
    font-weight: 700;
    margin: 0;
}

.listing-detail-error__message[b-u3zdraeev7] {
    font-size: var(--text-body-sm-size);
    color: var(--color-ink-2);
    margin: 0;
}

[b-u3zdraeev7] .btn-retry {
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xl);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
}

[b-u3zdraeev7] .btn-retry:hover {
    background: var(--color-ink-2);
}

/* listing-status pill (re-used from ListingCard.razor.css scope, but
   the detail page lives outside that scope so we re-declare it here). */
.listing-detail__header .listing-status[b-u3zdraeev7] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: var(--shadow-card);
}

.listing-detail__header .listing-status--published[b-u3zdraeev7] {
    background: var(--color-ok);
    color: var(--color-on-ink);
}

.listing-detail__header .listing-status--draft[b-u3zdraeev7] {
    background: var(--color-warn);
    color: var(--color-on-ink);
}

.listing-detail__header .listing-status--archived[b-u3zdraeev7] {
    background: var(--color-muted);
    color: var(--color-on-ink);
}
/* _content/SplatImmo.Web/Components/Pages/Profile.razor.rz.scp.css */
.profile-page[b-ojcmoa6y74] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    max-width: 720px;
    margin: 0 auto;
}

.profile-page__header[b-ojcmoa6y74] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
}

.profile-page__avatar[b-ojcmoa6y74] {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    border-radius: var(--radius-pill);
    background: var(--color-accent);
    color: var(--color-on-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-h3-size);
    font-weight: 700;
    letter-spacing: 0.5px;
}

.profile-page__name[b-ojcmoa6y74] {
    font-family: var(--font-sans);
    font-size: var(--text-h2-size);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-tracking);
    color: var(--text-h2-color);
    margin: 0;
}

.profile-page__email[b-ojcmoa6y74] {
    font-size: var(--text-body-md-size);
    color: var(--color-muted);
    margin: var(--spacing-xxs) 0 0;
}

.profile-page__role-pill[b-ojcmoa6y74] {
    display: inline-flex;
    align-items: center;
    margin-top: var(--spacing-sm);
    padding: 2px var(--spacing-sm);
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
    border-radius: var(--radius-pill);
    font-size: var(--text-label-sm-size);
    font-weight: 600;
}

.profile-page__stats[b-ojcmoa6y74] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

.stat-card[b-ojcmoa6y74] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-accent-ink);
}

.stat-card__value[b-ojcmoa6y74] {
    font-family: var(--font-sans);
    font-size: var(--text-h3-size);
    font-weight: var(--text-h3-weight);
    color: var(--color-ink);
    margin: 0;
}

.stat-card__label[b-ojcmoa6y74] {
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
    margin: var(--spacing-xxs) 0 0;
}

.profile-page__sections[b-ojcmoa6y74] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.profile-section[b-ojcmoa6y74] {
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.profile-section__title[b-ojcmoa6y74] {
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    text-transform: uppercase;
    color: var(--color-muted);
    margin: 0;
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-xs);
}

.profile-section__list[b-ojcmoa6y74] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.profile-section__list li + li[b-ojcmoa6y74] {
    border-top: var(--border-width) solid var(--color-border);
}

.profile-link[b-ojcmoa6y74] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-lg);
    color: var(--color-ink);
    text-decoration: none;
    transition: background var(--motion-fast) var(--easing-standard);
}

.profile-link:hover[b-ojcmoa6y74] {
    background: var(--color-accent-soft);
    text-decoration: none;
}

.profile-link__label[b-ojcmoa6y74] {
    flex: 1;
    font-size: var(--text-body-md-size);
    font-weight: 500;
}

.profile-link__value[b-ojcmoa6y74] {
    color: var(--color-muted);
    font-size: var(--text-body-sm-size);
}

[b-ojcmoa6y74] .profile-link__chev {
    color: var(--color-muted);
}

.profile-link--static[b-ojcmoa6y74] {
    cursor: default;
}

.profile-link--static:hover[b-ojcmoa6y74] {
    background: transparent;
}

.profile-page__signout[b-ojcmoa6y74] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-xl);
    background: var(--color-surface);
    color: var(--color-danger);
    border: var(--border-width) solid var(--color-danger);
    border-radius: var(--radius-pill);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard),
                color var(--motion-fast) var(--easing-standard);
}

.profile-page__signout:hover:not(:disabled)[b-ojcmoa6y74] {
    background: var(--color-danger);
    color: var(--color-on-ink);
}

.profile-page__signout:disabled[b-ojcmoa6y74] {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 639px) {
    .profile-page__header[b-ojcmoa6y74] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
    .profile-page__avatar[b-ojcmoa6y74] {
        width: 56px;
        height: 56px;
        font-size: var(--text-h4-size);
    }
}
/* _content/SplatImmo.Web/Components/Pages/Saved.razor.rz.scp.css */
.saved-page[b-n0elbdbf0z] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.saved-page__header[b-n0elbdbf0z] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.saved-page__eyebrow[b-n0elbdbf0z] {
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    text-transform: uppercase;
    color: var(--color-accent-ink);
    margin: 0 0 var(--spacing-xs);
}

.saved-page__title[b-n0elbdbf0z] {
    font-family: var(--font-sans);
    font-size: var(--text-h1-size);
    font-weight: var(--text-h1-weight);
    letter-spacing: var(--text-h1-tracking);
    color: var(--text-h1-color);
    margin: 0;
}

.saved-page__lede[b-n0elbdbf0z] {
    font-size: var(--text-body-md-size);
    color: var(--color-muted);
    margin: var(--spacing-xs) 0 0;
}

.saved-page__count[b-n0elbdbf0z] {
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
}

.saved-page__error[b-n0elbdbf0z] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    background: var(--color-accent-soft);
    border-radius: var(--radius-md);
    color: var(--color-accent-ink);
}

.saved-page__error-title[b-n0elbdbf0z] {
    font-weight: 700;
    margin: 0;
}

.saved-page__error-message[b-n0elbdbf0z] {
    font-size: var(--text-body-sm-size);
    color: var(--color-ink-2);
    margin: 0;
}

.btn-retry[b-n0elbdbf0z] {
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xl);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
}

.btn-retry:hover[b-n0elbdbf0z] {
    background: var(--color-ink-2);
}

.listing-grid[b-n0elbdbf0z] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
}

@media (min-width: 640px) {
    .listing-grid[b-n0elbdbf0z] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .listing-grid[b-n0elbdbf0z] {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* _content/SplatImmo.Web/Components/Pages/TourPage.razor.rz.scp.css */
.tour-page[b-sbdvj9w1qp] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin: calc(var(--spacing-xxl) * -1) calc(var(--spacing-xxl) * -1);
    padding: var(--spacing-xl) var(--spacing-xxl);
    min-height: calc(100vh - 80px);
    background: var(--color-background);
}

.tour-page__loading[b-sbdvj9w1qp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xxl);
    color: var(--color-muted);
    min-height: 60vh;
}

.tour-page__bar[b-sbdvj9w1qp] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
    flex-wrap: wrap;
}

.tour-page__bar--top[b-sbdvj9w1qp] {
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    box-shadow: var(--shadow-card);
}

.tour-page__bar--bottom[b-sbdvj9w1qp] {
    justify-content: center;
}

.tour-page__back[b-sbdvj9w1qp] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xxs);
    padding: var(--spacing-xs) var(--spacing-sm);
    color: var(--color-muted);
    text-decoration: none;
    border-radius: var(--radius-pill);
    transition: background var(--motion-fast) var(--easing-standard),
                color var(--motion-fast) var(--easing-standard);
}

.tour-page__back:hover[b-sbdvj9w1qp] {
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
    text-decoration: none;
}

.tour-page__back-label[b-sbdvj9w1qp] {
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
}

.tour-page__title-block[b-sbdvj9w1qp] {
    flex: 1;
    min-width: 0;
}

.tour-page__eyebrow[b-sbdvj9w1qp] {
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    text-transform: uppercase;
    color: var(--color-accent-ink);
    margin: 0 0 2px;
}

.tour-page__title[b-sbdvj9w1qp] {
    font-family: var(--font-sans);
    font-size: var(--text-h3-size);
    font-weight: var(--text-h3-weight);
    color: var(--color-ink);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tour-page__actions[b-sbdvj9w1qp] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.tour-page__mode[b-sbdvj9w1qp] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    padding: var(--spacing-sm) var(--spacing-xl);
    font-family: var(--font-sans);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard);
}

.tour-page__mode:hover[b-sbdvj9w1qp] {
    background: var(--color-ink-2);
}

.tour-page__mode:disabled[b-sbdvj9w1qp] {
    cursor: not-allowed;
    opacity: 0.45;
}

.tour-page__mode--secondary[b-sbdvj9w1qp] {
    background: var(--color-surface);
    color: var(--color-ink);
    border: var(--border-width) solid var(--color-border);
}

.tour-page__mode--secondary:hover[b-sbdvj9w1qp] {
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
}

.tour-page__stage[b-sbdvj9w1qp] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.tour-page__canvas[b-sbdvj9w1qp] {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-ink);
    min-height: 480px;
    box-shadow: var(--shadow-card);
}

.tour-page__hint[b-sbdvj9w1qp] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    margin: 0;
    padding: var(--spacing-xs) var(--spacing-md);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-pill);
    font-size: var(--text-body-sm-size);
    color: var(--color-muted);
    font-family: var(--font-mono);
}

@media (max-width: 1023px) {
    .tour-page[b-sbdvj9w1qp] {
        margin: calc(var(--spacing-xl) * -1) calc(var(--spacing-xl) * -1);
        padding: var(--spacing-md) var(--spacing-xl);
    }
}

@media (max-width: 639px) {
    .tour-page[b-sbdvj9w1qp] {
        position: relative;
        gap: 0;
        margin: 0;
        padding: 0;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
        background: var(--color-viewer-bg);
    }
    .tour-page__bar[b-sbdvj9w1qp] {
        flex-wrap: nowrap;
    }
    .tour-page__bar--top[b-sbdvj9w1qp] {
        position: absolute;
        z-index: 3;
        top: calc(env(safe-area-inset-top, 0px) + var(--spacing-sm));
        left: var(--spacing-sm);
        right: var(--spacing-sm);
        gap: var(--spacing-xs);
        padding: var(--spacing-xs);
        border-radius: var(--radius-md);
        background: color-mix(in srgb, var(--color-surface) 88%, transparent);
        backdrop-filter: saturate(160%) blur(12px);
    }
    .tour-page__back[b-sbdvj9w1qp] {
        justify-content: center;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        padding: 0;
    }
    .tour-page__back-label[b-sbdvj9w1qp] {
        display: none;
    }
    .tour-page__title-block[b-sbdvj9w1qp] {
        min-width: 0;
    }
    .tour-page__eyebrow[b-sbdvj9w1qp] {
        display: none;
    }
    .tour-page__title[b-sbdvj9w1qp] {
        font-size: var(--text-label-md-size);
        line-height: 1.2;
    }
    .tour-page__actions[b-sbdvj9w1qp] {
        flex: 0 0 auto;
        flex-wrap: nowrap;
        gap: var(--spacing-xs);
    }
    .tour-page__mode[b-sbdvj9w1qp] {
        justify-content: center;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        padding: 0;
    }
    .tour-page__mode span[b-sbdvj9w1qp] {
        display: none;
    }
    .tour-page__stage[b-sbdvj9w1qp] {
        gap: 0;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
    }
    .tour-page__stage[b-sbdvj9w1qp]  .floor-plan-viewer {
        display: none;
    }
    .tour-page__canvas[b-sbdvj9w1qp] {
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
        height: 100vh;
        height: 100svh;
        height: 100dvh;
        border-radius: 0;
        box-shadow: none;
    }
    .tour-page__canvas[b-sbdvj9w1qp]  .splat-viewer {
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
        height: 100vh;
        height: 100svh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100svh;
        max-height: 100dvh;
        border-radius: 0;
    }
    .tour-page__bar--bottom[b-sbdvj9w1qp] {
        display: none;
    }
    .tour-page__hint[b-sbdvj9w1qp] {
        font-size: 11px;
        text-align: center;
    }
}
/* _content/SplatImmo.Web/Components/Tour/SplatViewerCanvas.razor.rz.scp.css */
/* Scoped styles for SplatViewerCanvas. The PlayCanvas viewer creates its own
   <canvas> inside the host <div> and sizes it from
   the host's clientWidth / clientHeight. Without an explicit height
   cap the host grows to accommodate the document body, which itself
   grows from the auto-sized canvas — feedback loop, infinite scroll.
   Pin the host to the viewport (minus the page header strip) so the
   layout stays bounded regardless of what the inner viewer does. */

.splat-viewer[b-1v3mvc5tbp] {
    position: relative;
    width: 100%;
    height: calc(100vh - 12rem);
    max-height: calc(100vh - 12rem);
    min-height: 320px;
    overflow: hidden;
    background: var(--palette-night-1);
    border-radius: var(--radius-xs);
}

.splat-viewer canvas[b-1v3mvc5tbp] {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.splat-viewer__fallback[b-1v3mvc5tbp] {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--color-on-ink);
    text-align: center;
    background: linear-gradient(180deg, rgba(9, 13, 18, 0.96), rgba(9, 13, 18, 0.9));
}

.splat-viewer__fallback h3[b-1v3mvc5tbp],
.splat-viewer__fallback p[b-1v3mvc5tbp] {
    max-width: 42rem;
    margin: 0 auto;
}

.splat-viewer__fallback h3[b-1v3mvc5tbp] {
    font-size: 1.25rem;
}

.splat-viewer__error-detail[b-1v3mvc5tbp] {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.64);
    word-break: break-word;
}

.splat-viewer__gs3d[b-1v3mvc5tbp] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--palette-night-1);
    touch-action: none;
}

.splat-viewer__walk-hud[b-1v3mvc5tbp] {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.6);
    color: var(--color-on-ink);
    border-radius: 4px;
    font-size: 0.875rem;
    pointer-events: none;
}

.splat-viewer__hud-key[b-1v3mvc5tbp] {
    display: inline-block;
    padding: 0.05em 0.4em;
    margin: 0 0.15em;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 3px;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}
/* _content/SplatImmo.Web/Components/Ui/EmptyState.razor.rz.scp.css */
.empty-state[b-fm8cbuazw1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xxl) var(--spacing-xl);
    background: var(--color-surface);
    border: var(--border-width) dashed var(--color-border);
    border-radius: var(--radius-xl);
    color: var(--color-ink);
}

.empty-state__icon[b-fm8cbuazw1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-pill);
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
    margin-bottom: var(--spacing-xs);
}

.empty-state__title[b-fm8cbuazw1] {
    font-size: var(--text-h4-size);
    font-weight: var(--text-h4-weight);
    letter-spacing: var(--text-h4-tracking);
    margin: 0;
}

.empty-state__message[b-fm8cbuazw1] {
    font-size: var(--text-body-md-size);
    color: var(--color-muted);
    margin: 0;
    max-width: 40ch;
}

.empty-state__action[b-fm8cbuazw1] {
    margin-top: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-xl);
    background: var(--color-ink);
    color: var(--color-on-ink);
    border: 0;
    border-radius: var(--radius-pill);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    cursor: pointer;
    transition: background var(--motion-fast) var(--easing-standard);
}

.empty-state__action:hover[b-fm8cbuazw1] {
    background: var(--color-ink-2);
}
/* _content/SplatImmo.Web/Components/Ui/Icon.razor.rz.scp.css */
.icon[b-yek65i6o6c] {
    display: inline-block;
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: middle;
}

.icon--filled[b-yek65i6o6c] {
    fill: currentColor;
    stroke: none;
}
/* _content/SplatImmo.Web/Components/Ui/SplatButton.razor.rz.scp.css */
.splat-button[b-visandkk5v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    border-radius: var(--radius-lg);
    font-family: var(--font-sans);
    font-weight: var(--text-body-lg-weight);
    letter-spacing: var(--text-body-lg-tracking);
    cursor: pointer;
    text-decoration: none;
    transition: opacity 120ms ease, transform 120ms ease;
    border: var(--border-width) solid transparent;
}

.splat-button:disabled[b-visandkk5v],
.splat-button[disabled][b-visandkk5v],
.splat-button.splat-button--loading[b-visandkk5v] {
    opacity: 0.5;
    cursor: not-allowed;
}

.splat-button:not(:disabled):active[b-visandkk5v] {
    transform: translateY(1px);
}

/* Sizes — derived from Flutter button padding (filled 22/14, outlined 18/14). */
.splat-button--md[b-visandkk5v] {
    padding: var(--spacing-lg) var(--spacing-xxl);
    font-size: var(--text-body-lg-size);
    min-height: 44px;
}

.splat-button--sm[b-visandkk5v] {
    padding: var(--spacing-sm) var(--spacing-xl);
    font-size: var(--text-body-md-size);
    min-height: 36px;
}

/* Variants */
.splat-button--filled[b-visandkk5v] {
    background: var(--color-ink);
    color: var(--color-on-ink);
    font-weight: 600;
}

.splat-button--outlined[b-visandkk5v] {
    background: var(--color-surface);
    color: var(--color-ink);
    border-color: var(--color-border);
    font-weight: 600;
}

.splat-button--outlined:hover:not(:disabled)[b-visandkk5v] {
    border-color: var(--color-border-strong);
}

.splat-button__label[b-visandkk5v] {
    display: inline-flex;
    align-items: center;
}

.splat-button__icon[b-visandkk5v] {
    display: inline-flex;
    align-items: center;
}

.splat-button__spinner[b-visandkk5v] {
    width: 1em;
    height: 1em;
    border-radius: var(--radius-pill);
    border: 2px solid currentColor;
    border-top-color: transparent;
    animation: splat-button-spin-b-visandkk5v 700ms linear infinite;
}

@keyframes splat-button-spin-b-visandkk5v {
    to { transform: rotate(360deg); }
}
/* _content/SplatImmo.Web/Components/Ui/SplatCard.razor.rz.scp.css */
.splat-card[b-cdcmpv1dv8] {
    display: block;
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-xl);
    color: inherit;
    text-decoration: none;
    transition: border-color 120ms ease;
}

.splat-card--pad-comfortable[b-cdcmpv1dv8] {
    padding: var(--spacing-xl);
}

.splat-card--pad-dense[b-cdcmpv1dv8] {
    padding: var(--spacing-md);
}

.splat-card--pad-none[b-cdcmpv1dv8] {
    padding: 0;
}

.splat-card--link[b-cdcmpv1dv8] {
    cursor: pointer;
}

.splat-card--link:hover[b-cdcmpv1dv8] {
    border-color: var(--color-border-strong);
}

.splat-card--link:focus-visible[b-cdcmpv1dv8] {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}
/* _content/SplatImmo.Web/Components/Ui/SplatChip.razor.rz.scp.css */
.splat-chip[b-3hk5thvogk] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xxs);
    padding: var(--spacing-xxs) var(--spacing-md);
    border-radius: var(--radius-pill);
    border: var(--border-width) solid var(--color-border);
    background: var(--color-surface);
    font-family: var(--font-sans);
    font-size: var(--text-label-sm-size);
    font-weight: var(--text-label-sm-weight);
    color: var(--text-label-sm-color);
    line-height: 1;
    white-space: nowrap;
}

.splat-chip--neutral[b-3hk5thvogk] {
    background: var(--color-surface);
    color: var(--color-ink-2);
}

.splat-chip--muted[b-3hk5thvogk] {
    background: var(--color-background);
    color: var(--color-muted);
}

.splat-chip--accent[b-3hk5thvogk] {
    background: var(--color-accent-soft);
    color: var(--color-accent-ink);
    border-color: var(--color-accent-soft);
}

.splat-chip--ok[b-3hk5thvogk] {
    background: var(--color-accent-soft);
    color: var(--color-ok);
    border-color: transparent;
}

.splat-chip--warn[b-3hk5thvogk] {
    background: var(--color-accent-soft);
    color: var(--color-warn);
    border-color: transparent;
}

.splat-chip--danger[b-3hk5thvogk] {
    background: var(--color-accent-soft);
    color: var(--color-danger);
    border-color: transparent;
}
/* _content/SplatImmo.Web/Components/Ui/SplatInput.razor.rz.scp.css */
.splat-input[b-disnhgm1cs] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.splat-input__label[b-disnhgm1cs] {
    font-family: var(--font-sans);
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-tracking);
    color: var(--text-overline-color);
    text-transform: uppercase;
}

.splat-input__control[b-disnhgm1cs] {
    font-family: var(--font-sans);
    font-size: var(--text-body-md-size);
    font-weight: var(--text-body-md-weight);
    color: var(--color-ink);
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    width: 100%;
    transition: border-color 120ms ease;
}

.splat-input__control[b-disnhgm1cs]::placeholder {
    color: var(--color-muted);
}

.splat-input__control:focus[b-disnhgm1cs] {
    outline: none;
    border-color: var(--color-ink);
    border-width: var(--border-width-strong);
}

.splat-input--error .splat-input__control[b-disnhgm1cs] {
    border-color: var(--color-danger);
    border-width: var(--border-width-strong);
}

.splat-input__error[b-disnhgm1cs] {
    font-family: var(--font-sans);
    font-size: var(--text-caption-size);
    font-weight: var(--text-caption-weight);
    color: var(--color-danger);
    margin: 0;
}

.splat-input__hint[b-disnhgm1cs] {
    font-family: var(--font-sans);
    font-size: var(--text-caption-size);
    font-weight: var(--text-caption-weight);
    color: var(--color-muted);
    margin: 0;
}
/* _content/SplatImmo.Web/Components/Ui/SplatProgress.razor.rz.scp.css */
.splat-progress[b-u689n5bku7] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    width: 100%;
}

.splat-progress__row[b-u689n5bku7] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.splat-progress__label[b-u689n5bku7] {
    font-family: var(--font-sans);
    font-size: var(--text-label-md-size);
    font-weight: var(--text-label-md-weight);
    letter-spacing: var(--text-label-md-tracking);
    color: var(--text-label-md-color);
}

.splat-progress__value[b-u689n5bku7] {
    font-family: var(--font-mono);
    font-size: var(--text-mono-size);
    font-weight: var(--text-mono-weight);
    color: var(--color-muted);
}

.splat-progress__track[b-u689n5bku7] {
    width: 100%;
    height: 6px;
    border-radius: var(--radius-pill);
    background: var(--color-border);
    overflow: hidden;
}

.splat-progress__fill[b-u689n5bku7] {
    height: 100%;
    background: var(--color-ink);
    transition: width 200ms ease-out;
    border-radius: var(--radius-pill);
}
/* _content/SplatImmo.Web/Components/Ui/ToastHost.razor.rz.scp.css */
.toast-host[b-xgla2zm1om] {
    position: fixed;
    bottom: var(--spacing-xxl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    pointer-events: none;
    z-index: var(--z-toast);
    width: min(100%, 360px);
    padding: 0 var(--spacing-md);
}

.toast[b-xgla2zm1om] {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-xl);
    background: var(--color-ink);
    color: var(--color-on-ink);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-overlay);
    font-size: var(--text-body-md-size);
    font-weight: var(--text-body-md-weight);
    animation: toast-in-b-xgla2zm1om var(--motion-base) var(--easing-standard);
}

.toast--ok[b-xgla2zm1om] {
    background: var(--color-ok);
}

.toast--warn[b-xgla2zm1om] {
    background: var(--color-warn);
}

.toast--danger[b-xgla2zm1om] {
    background: var(--color-danger);
}

.toast__message[b-xgla2zm1om] {
    flex: 1;
    min-width: 0;
}

.toast__dismiss[b-xgla2zm1om] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    color: inherit;
    opacity: 0.7;
    padding: var(--spacing-xxs);
    border-radius: var(--radius-xs);
    cursor: pointer;
    transition: opacity var(--motion-fast) var(--easing-standard);
}

.toast__dismiss:hover[b-xgla2zm1om] {
    opacity: 1;
}

@keyframes toast-in-b-xgla2zm1om {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 639px) {
    .toast-host[b-xgla2zm1om] {
        bottom: calc(64px + var(--spacing-md));
    }
}
