html,
body {
    min-height: 100%;
}

body {
    font-family: 'Source Sans Pro', sans-serif;
}

/* Inset for the primary column (`main` / profile editor card) on dashboard + list-property pages */
:root {
    --rz-main-padding: 32px 43px 18px;
    --rz-main-padding-mobile: 16px 0 20px;
    --rz-btn-primary-bg: linear-gradient(90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100%);
    --rz-btn-primary-bg-hover: linear-gradient(90deg, #1d4ed8 0%, #4f46e5 52%, #6d28d9 100%);
    --rz-field-min-height: 50px;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

/* Text inputs and dropdowns — site-wide minimum height */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="color"]),
select,
.lyp-custom-select-trigger,
.rz-dd-trigger,
.my-status-dd-trigger {
    min-height: var(--rz-field-min-height);
    box-sizing: border-box;
}

/* iOS Safari zooms focused fields when font-size is below 16px. */
@media (max-width: 979px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="color"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

.card {
    background: #fff;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(0, 0, 0, .1);
    padding: 0;
}
.listing-card.is-share-open {
    position: relative;
    z-index: 50;
    overflow: visible;
}

/* shared listing card styles across home + browse */
.listing-card .thumb,
.listing-card .listing-card-gallery-wrap {
    position: relative;
    height: 185px;
    background: linear-gradient(135deg, #cbd5e1, #94a3b8);
}
.listing-card .listing-card-gallery-wrap {
    overflow: hidden;
    touch-action: manipulation;
}
.listing-card .listing-card-gallery__slider,
.listing-card .listing-card-gallery__viewport {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.listing-card .listing-card-gallery__slider {
    z-index: 2;
}
.listing-card .listing-card-gallery__viewport {
    overflow: hidden;
    border-radius: 0;
    touch-action: manipulation;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.35s ease;
    will-change: transform;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__slide {
    flex: 0 0 100%;
    min-width: 100%;
    height: 100%;
}
.listing-card .listing-card-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    padding: 0;
    font-size: 0.85rem;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__nav.prev { left: 8px; }
.listing-card .listing-card-gallery-wrap .gallery-slider__nav.next { right: 8px; }
.listing-card .listing-card-gallery-wrap .gallery-slider__nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__dots {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    z-index: 4;
    margin: 0;
    padding: 0;
    background: none;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
}
.listing-card .listing-card-gallery-wrap .gallery-slider__dot.is-active {
    background: #fff;
    transform: scale(1.15);
}
.listing-card .listing-card-gallery__actions {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.listing-card .listing-card-gallery__actions form {
    margin: 0;
}
.listing-card .listing-card-gallery-wrap .hero-fav,
.listing-card .listing-card-gallery-wrap .hero-share {
    position: static;
    width: 36px;
    height: 36px;
    border: 0;
    background: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    font-size: 1rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.listing-card .listing-card-gallery-wrap .hero-fav.saved {
    color: #dc2626;
    border-color: #fecaca;
    background: #fff5f5;
}
.listing-card .listing-card-gallery-wrap .hero-share.is-copied {
    color: #16a34a;
    border-color: #86efac;
}
.listing-card .listing-card-gallery-wrap .thumb-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.listing-card .listing-card-gallery__viewport {
    cursor: pointer;
}
.listing-card .listing-card-gallery__share-wrap {
    position: relative;
    z-index: 6;
}
.listing-card .listing-card-gallery__share-pop {
    position: absolute;
    top: 0;
    right: calc(100% + 8px);
    left: auto;
    bottom: auto;
    z-index: 41;
    min-width: 248px;
    max-width: min(248px, calc(100vw - 24px));
    padding: 10px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
    pointer-events: auto;
}
.listing-card .listing-card-gallery__share-pop.is-fixed,
.listing-card-gallery__share-pop.is-fixed {
    position: fixed;
    z-index: 10050;
    min-width: 248px;
    max-width: min(248px, calc(100vw - 24px));
    padding: 10px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
    pointer-events: auto;
}
@media (max-width: 420px) {
    .listing-card .listing-card-gallery__share-pop:not(.is-fixed) {
        top: calc(100% + 8px);
        right: 0;
        left: auto;
        bottom: auto;
    }
}
.listing-card .listing-card-gallery__share-pop[hidden],
.listing-card-gallery__share-pop[hidden] {
    display: none !important;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 72px;
    padding: 10px 6px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn:hover {
    border-color: #c7d2fe;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn-icon {
    font-size: 1.35rem;
    line-height: 1;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: #334155;
    text-align: center;
    line-height: 1.2;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn--whatsapp .sp-btn-icon { color: #22c55e; }
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn--facebook .sp-btn-icon { color: #2563eb; }
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn--instagram .sp-btn-icon { color: #e1306c; }
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn--copy .sp-btn-icon { color: #7c3aed; }
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn.copied {
    border-color: #86efac;
    background: #f0fdf4;
}
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn.copied .sp-btn-icon,
.listing-card-gallery__share-pop.is-fixed .listing-share-actions .sp-btn.copied .sp-btn-label {
    color: #16a34a;
}
.listing-card .listing-share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.listing-card .listing-share-actions .sp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 72px;
    padding: 10px 6px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.listing-card .listing-share-actions .sp-btn:hover {
    border-color: #c7d2fe;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.listing-card .listing-share-actions .sp-btn-icon {
    font-size: 1.35rem;
    line-height: 1;
}
.listing-card .listing-share-actions .sp-btn-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: #334155;
    text-align: center;
    line-height: 1.2;
}
.listing-card .listing-share-actions .sp-btn--whatsapp .sp-btn-icon { color: #22c55e; }
.listing-card .listing-share-actions .sp-btn--facebook .sp-btn-icon { color: #2563eb; }
.listing-card .listing-share-actions .sp-btn--instagram .sp-btn-icon {
    color: #e1306c;
}
.listing-card .listing-share-actions .sp-btn--copy .sp-btn-icon { color: #7c3aed; }
.listing-card .listing-share-actions .sp-btn.copied {
    border-color: #86efac;
    background: #f0fdf4;
}
.listing-card .listing-share-actions .sp-btn.copied .sp-btn-icon,
.listing-card .listing-share-actions .sp-btn.copied .sp-btn-label {
    color: #16a34a;
}
.welcome-page .listing-card-gallery-wrap .gallery-slider__nav,
.listings-home-page .listing-card .listing-card-gallery-wrap .gallery-slider__nav,
.listing-wishlist-page .listing-card .listing-card-gallery-wrap .gallery-slider__nav {
    display: none !important;
}
.listing-card-body {
    background: #fff;
    border: 0;
    border-radius: 10px;
    padding: 16px 18px 14px;
}
.listing-card .listing-card-price-block,
.listing-show-page .listing-show-summary .listing-card-price-block {
    margin: 0 0 12px;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail {
    margin: 0 0 14px;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail .listing-card-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2563eb;
    line-height: 1.2;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail .listing-card-price small {
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail .listing-card-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 12px;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail .listing-card-price-maintenance-row {
    margin-top: 0;
    font-size: 0.88rem;
    font-weight: 600;
    color: #475569;
}
.listing-show-page .listing-show-summary .listing-card-price-block--detail .listing-card-price-maintenance-plus {
    color: #64748b;
    font-weight: 600;
}
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: #94a3b8;
    cursor: help;
    line-height: 1;
    font-size: 0.85rem;
}
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info:hover,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info:focus-visible {
    color: #64748b;
}
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info:hover::after,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info:focus-visible::after,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-info.is-tooltip-open::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 10px;
    background: #1e293b;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    font-family: 'Source Sans Pro', sans-serif;
    white-space: nowrap;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
    pointer-events: none;
    z-index: 20;
}
.listing-card .listing-card-price-row,
.listing-show-page .listing-show-summary .listing-card-price-row {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0;
    margin: 0;
}
.listing-card .listing-card-price,
.listing-show-page .listing-show-summary .listing-card-price {
    margin: 0;
    min-width: 0;
    font-size: 22px;
    font-weight: 700;
    color: #0f2847;
    line-height: 1.2;
}
.listing-card .listing-card-price small,
.listing-card .listing-card-price .price-month,
.listing-show-page .listing-show-summary .listing-card-price small,
.listing-show-page .listing-show-summary .listing-card-price .price-month {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 500;
}
.listing-card .listing-card-price-maintenance-row,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-row {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #64748b;
}
.listing-card .listing-card-price-maintenance-row .bi-info-circle,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-row .bi-info-circle {
    font-size: 0.85rem;
    color: #94a3b8;
}
.listing-card .listing-card-price-maintenance-plus,
.listing-show-page .listing-show-summary .listing-card-price-maintenance-plus {
    font-weight: 600;
    color: #64748b;
}
.listing-card .listing-card-title,
.listing-show-page .listing-show-summary .listing-card-title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: #2563eb;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.listing-card .listing-card-title-link {
    color: inherit;
    text-decoration: none;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.listing-card .listing-card-title-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
}
.listing-show-page .listing-show-summary .listing-show-title {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: break-word;
    word-wrap: break-word;
    color: #0f172a;
}
@media (max-width: 979px) {
    .listing-card .listing-card-title,
    .listing-show-page .listing-show-summary .listing-card-title {
        margin: 0 0 11px 0;
    }
}
.listing-card .listing-card-meta,
.listing-show-page .listing-show-summary .listing-card-meta,
.listing-show-page .listing-show-summary .meta.listing-card-meta {
    color: #64748b;
    font-size: 12px;
    margin: 0 0 6px;
}
.listing-card .listing-card-meta a,
.listing-show-page .listing-show-summary .listing-card-meta a {
    color: #64748b;
    text-decoration: none;
}
.listing-card .listing-card-meta .bi,
.listing-show-page .listing-show-summary .listing-card-meta .bi {
    margin-right: 2px;
}
.listing-card .listing-card-highlights,
.listing-show-page .listing-show-summary .listing-card-highlights {
    margin-top: 12px;
    padding-top: 24px;
    border-top: 1px solid #e8edf3;
}
.listing-card .listing-card-specs,
.listing-show-page .listing-show-summary .listing-card-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    row-gap: 4px;
}
.listing-card .listing-card-spec-sep,
.listing-show-page .listing-show-summary .listing-card-spec-sep {
    margin: 0 10px;
    color: #94a3b8;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    user-select: none;
}
.listing-card .listing-card-spec-item,
.listing-show-page .listing-show-summary .listing-card-spec-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: #475569;
    white-space: nowrap;
}
.listing-card .listing-card-spec-icon,
.listing-show-page .listing-show-summary .listing-card-spec-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    color: #64748b;
}
.listing-card .listing-card-spec-icon svg,
.listing-show-page .listing-show-summary .listing-card-spec-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.listing-show-page .listing-show-summary .listing-card-highlights--detail-specs {
    margin-top: 14px;
    padding-top: 10px;
    border-top: none;
}
.listing-show-page .lyp-review-intro-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 12px;
    margin-top: 4px;
}
.listing-show-page .lyp-review-spec {
    min-width: 0;
}
.listing-show-page .lyp-review-spec-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 4px;
}
.listing-show-page .lyp-review-spec-value {
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
}
.listing-show-page .lyp-review-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 4px;
    align-items: center;
}
.listing-show-page .lyp-review-amenity-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.76rem;
    font-weight: 500;
    color: #334155;
}
.listing-show-page .lyp-review-amenity-chip i {
    color: #0b6bff;
    font-size: 0.9rem;
}
.listing-card .listing-card-pills,
.listing-show-page .listing-show-summary .listing-card-pills {
    margin-top: 10px;
    overflow: hidden;
}
.listing-card .listing-card-pills-slider,
.listing-show-page .listing-show-summary .listing-card-pills-slider {
    display: flex;
    align-items: center;
    gap: 4px;
}
.listing-card .listing-card-pills-track,
.listing-show-page .listing-show-summary .listing-card-pills-track {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    touch-action: pan-x;
    scrollbar-width: none;
    padding: 7px 0 0;
}
.listing-card .listing-card-pills-track::-webkit-scrollbar,
.listing-show-page .listing-show-summary .listing-card-pills-track::-webkit-scrollbar {
    display: none;
}
.listing-card .listing-card-pills-track:focus,
.listing-show-page .listing-show-summary .listing-card-pills-track:focus {
    outline: none;
}
.listing-card .listing-card-pill,
.listing-show-page .listing-show-summary .listing-card-pill {
    flex: 0 0 auto;
    scroll-snap-align: start;
}
.listing-card .listing-card-pills-nav,
.listing-show-page .listing-show-summary .listing-card-pills-nav {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-top: 7px;
    padding: 0;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}
.listing-card .listing-card-pills-nav[hidden],
.listing-show-page .listing-show-summary .listing-card-pills-nav[hidden] {
    display: none !important;
}
.listing-card .listing-card-pills-nav .bi,
.listing-show-page .listing-show-summary .listing-card-pills-nav .bi {
    font-size: 0.8rem;
    line-height: 1;
}
.listing-card .listing-card-pills-nav:hover:not(:disabled),
.listing-show-page .listing-show-summary .listing-card-pills-nav:hover:not(:disabled) {
    border-color: #c7d2fe;
    color: #2563eb;
    background: #f8fafc;
}
.listing-card .listing-card-pills-nav:disabled,
.listing-show-page .listing-show-summary .listing-card-pills-nav:disabled {
    opacity: 0.35;
    cursor: default;
}
@media (max-width: 979px) {
    .listing-card .listing-card-pills-track,
    .listing-show-page .listing-show-summary .listing-card-pills-track {
        padding-bottom: 2px;
    }

    .listing-card .listing-card-pills-nav,
    .listing-show-page .listing-show-summary .listing-card-pills-nav {
        width: 24px;
        height: 24px;
    }
}
.listing-card .listing-card-pill,
.listing-show-page .listing-show-summary .listing-card-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
.listing-card .listing-card-pill--furnishing,
.listing-show-page .listing-show-summary .listing-card-pill--furnishing {
    background: #e8f4fc;
    color: #0f2847;
}
.listing-card .listing-card-pill--furnishing .bi,
.listing-show-page .listing-show-summary .listing-card-pill--furnishing .bi {
    font-size: 0.85rem;
    line-height: 1;
    color: #0f2847;
}
.listing-card .listing-card-pill--preferred,
.listing-show-page .listing-show-summary .listing-card-pill--preferred {
    background: #f5f3ff;
    color: #5b21b6;
}
.listing-card .listing-card-pill--preferred .bi,
.listing-show-page .listing-show-summary .listing-card-pill--preferred .bi {
    font-size: 0.85rem;
    line-height: 1;
    color: #6d28d9;
}
.listing-card .listing-card-pill--new,
.listing-show-page .listing-show-summary .listing-card-pill--new {
    background: #ffedd5;
    color: #c2410c;
}
.listing-card .listing-card-pill--new .bi,
.listing-show-page .listing-show-summary .listing-card-pill--new .bi {
    font-size: 0.85rem;
    line-height: 1;
    color: #ea580c;
}
.listing-card .listing-card-pill--available,
.listing-show-page .listing-show-summary .listing-card-pill--available {
    background: #e8f5ee;
    color: #166534;
}
.listing-card .listing-card-pill--available .bi,
.listing-show-page .listing-show-summary .listing-card-pill--available .bi {
    font-size: 0.85rem;
    line-height: 1;
    color: #166534;
}
.listing-show-page .listing-show-summary.listing-card-body {
    padding: 16px 0 0;
    border: 0;
    background: transparent;
    border-radius: 0;
}
.listing-card .listing-card-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 20px 16px;
}
.listing-card .listing-card-actions--split {
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 520px) {
    .listing-card .listing-card-actions--split {
        grid-template-columns: 1fr;
    }
}
.listing-card .listing-card-action-form {
    display: contents;
}
.listing-card .listing-card-action {
    border: 1px solid #dbe3ef;
    background: #fff;
    color: #334155;
    border-radius: 8px;
    min-height: 42px;
    width: 100%;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.listing-card .listing-card-action--view {
    background: #fff;
    border-color: #2563eb;
    color: #2563eb;
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    gap: 8px;
    position: relative;
}
.listing-card .listing-card-action--view > span {
    flex: 1;
    text-align: center;
}
.listing-card .listing-card-action--view .bi-chevron-right {
    position: absolute;
    right: 16px;
    font-size: 1rem;
    line-height: 1;
    color: #2563eb;
}
.listing-card .listing-card-action--view:hover {
    background: #eff6ff;
    border-color: #2563eb;
    color: #2563eb;
}
.listing-card .listing-card-action--view:hover .bi-chevron-right {
    color: #2563eb;
}
.listing-card button.listing-card-action {
    font-family: inherit;
    cursor: pointer;
}

/* restored cards layouts */
.admin-mod-page .cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.admin-mod-page .cards.cards--single {
    grid-template-columns: minmax(0, 280px);
}
.admin-mod-page--pending-only .admin-mod-dashboard-panel--solo {
    margin-bottom: 0;
    min-height: 360px;
}

.listings-index-page .cards,
.welcome-page .cards,
.listing-wishlist-page .cards {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr;
}

@media (min-width: 660px) and (max-width: 768px) {
    .welcome-page .cards,
    .welcome-page .welcome-featured-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (min-width: 768px) {
    .welcome-page:not(.listings-index-page) .cards,
    .welcome-page .welcome-featured-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 820px) and (max-width: 1180px) {
    .listings-index-page .cards,
    .listing-wishlist-page .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px;
    }
}

@media (max-width: 819px) {
    .listings-index-page .cards,
    .listing-wishlist-page .cards {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1181px) {
    .listings-index-page .cards,
    .listing-wishlist-page .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 980px) {
    .listings-index-page .listing-card .thumb,
    .listings-index-page .listing-card .listing-card-gallery-wrap,
    .listing-wishlist-page .listing-card .thumb,
    .listing-wishlist-page .listing-card .listing-card-gallery-wrap { height: 165px; }
    .welcome-page .listing-card .thumb,
    .welcome-page .listing-card .listing-card-gallery-wrap { height: 182px; }
}

@media (min-width: 1080px) {
    .welcome-page:not(.listings-index-page) .cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

body .container {
    width: min(1540px, calc(100% - 24px)) !important;
    max-width: min(1540px, calc(100% - 24px)) !important;
    margin: 0 auto !important;
}

h2 {
    margin: 0 !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #111827 !important;
}












:root {
    --rz-lp-drawer-top: 96px;
    --rz-lp-drawer-bottom: 0px;
}

/* Admin shared layout — sidebar matches user lp-sidebar card */
.admin-body {
    margin: 0;
    background: #fff;
    color: #0f172a;
    --admin-shell-max-width: 1584px; /* 1440px + 10% */
    --admin-drawer-top: 64px;
}

.admin-header {
    position: sticky;
    top: 0;
    z-index: 2100;
    background: #f8fafc;
    border-bottom: 1px solid #e8edf5;
}

.admin-header-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 18px max(12px, env(safe-area-inset-right, 0px)) 16px max(12px, env(safe-area-inset-left, 0px));
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.admin-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.admin-nav-toggle:hover {
    background: #f8fafc;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.admin-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2050;
    border: 0;
    padding: 0;
    margin: 0;
    background: rgba(15, 23, 42, 0.4);
    cursor: pointer;
}

body.admin-nav-open .admin-nav-backdrop:not([hidden]) {
    display: block;
}

body.admin-nav-open {
    overflow: hidden;
}

.admin-header-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.admin-header-logo img {
    display: block;
    width: auto;
    max-width: min(235px, 100%);
    height: 36px;
    object-fit: contain;
    background: transparent;
    mix-blend-mode: multiply;
}

.admin-shell {
    --admin-bg: #ffffff;
    --admin-line: #e8edf5;
    --admin-text: #0f172a;
    --admin-muted: #64748b;
    --admin-blue: #2563eb;
    box-sizing: border-box;
    min-height: calc(100vh - 72px);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 24px max(12px, env(safe-area-inset-right, 0px)) 40px max(12px, env(safe-area-inset-left, 0px));
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    align-items: start;
}

.admin-shell * {
    box-sizing: border-box;
}

.admin-shell .admin-lp-sidebar {
    width: 280px;
    max-width: 100%;
    position: sticky;
    top: 32px;
}

.admin-shell .admin-lp-links > .lp-link {
    justify-content: space-between;
}

.admin-shell .admin-nav-submenu {
    margin: 0 0 6px 12px;
    padding: 8px 10px 10px 14px;
    border-left: 2px solid #e2e8f0;
}

.admin-shell .admin-nav-submenu .lp-sublink {
    padding: 9px 8px;
    font-size: 0.8rem;
    border-radius: 0;
}

.admin-shell .admin-nav-submenu .lp-sublink.active {
    border-radius: 0;
}

.admin-shell .admin-nav-badge {
    margin-left: 10px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.admin-shell .admin-nav-badge--sub {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: .65rem;
    background: #2563eb;
}

.admin-shell .lp-link.active .admin-nav-badge {
    background: #ef4444;
    color: #fff;
}

.admin-shell .lp-link.active .admin-nav-badge--sub {
    background: #2563eb;
    color: #fff;
}

.admin-shell .admin-main {
    width: 100%;
    min-width: 0;
    max-width: none;
    color: var(--admin-text);
    background: var(--admin-bg);
    border: 1px solid #e4e9f2;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    padding: 24px 22px 28px;
}

.admin-shell .admin-status-msg {
    margin: 0 0 16px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: .84rem;
}

@media (min-width: 980px) {
    .admin-shell {
        grid-template-columns: 280px minmax(0, 1fr);
        align-items: stretch;
    }

    .admin-shell .admin-main {
        min-height: calc(100vh - 120px);
    }
}

@media (max-width: 979px) {
    .admin-nav-toggle {
        display: inline-flex;
    }

    .admin-header-inner {
        width: calc(100% - 16px);
        padding: 12px 0 12px;
        padding-left: max(0px, env(safe-area-inset-left, 0px));
        padding-right: max(0px, env(safe-area-inset-right, 0px));
    }

    .admin-header-logo img {
        height: 32px;
    }

    .admin-shell {
        width: calc(100% - 16px);
        padding: 12px 0 24px;
        padding-left: max(8px, env(safe-area-inset-left, 0px));
        padding-right: max(8px, env(safe-area-inset-right, 0px));
        gap: 0;
        grid-template-columns: 1fr;
    }

    .admin-shell .admin-lp-sidebar {
        position: fixed;
        z-index: 2200;
        left: max(8px, env(safe-area-inset-left, 0px));
        top: var(--admin-drawer-top, 64px);
        bottom: 0;
        width: min(300px, 88vw);
        max-width: 100%;
        margin: 0;
        transform: translateX(-105%);
        transition: transform 0.28s ease, visibility 0.28s ease;
        visibility: hidden;
        pointer-events: none;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        border-radius: 0 14px 14px 0;
        box-shadow: 8px 0 32px rgba(15, 23, 42, 0.14);
    }

    body.admin-nav-open .admin-shell .admin-lp-sidebar {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .admin-nav-backdrop:not([hidden]) {
        top: var(--admin-drawer-top, 64px);
    }

    body.admin-nav-open .admin-header {
        z-index: 2300;
    }

    .admin-shell .admin-main {
        padding: 16px 14px 20px;
        border-radius: 12px;
    }

    .admin-mod-page .title,
    .admin-listings-all-page .title,
    .admin-users-page .title,
    .admin-users-all-page .title,
    .admin-contact-page .title,
    .admin-listing-show-page .title {
        font-size: 1.28rem;
        line-height: 1.3;
    }

    .admin-mod-page .sub,
    .admin-listings-all-page .sub,
    .admin-users-page .sub,
    .admin-contact-page .sub {
        font-size: .84rem;
    }

    .admin-mod-dashboard-top__actions {
        width: 100%;
    }

    .admin-mod-dashboard-date {
        flex: 1 1 auto;
    }

    .admin-mod-dashboard-date input {
        width: 100%;
    }

    .admin-mod-export-btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .admin-mod-page .section-h,
    .admin-listings-all-page .section-h,
    .admin-contact-page .section-h {
        flex-wrap: wrap;
        gap: 8px;
        align-items: flex-start;
    }

    .admin-listings-all-page .tabs,
    .admin-contact-page .tabs,
    .admin-users-page .tabs {
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px 12px;
    }

    .admin-listings-all-page .tab-link,
    .admin-contact-page .tab-link,
    .admin-users-page .tab {
        font-size: .74rem;
        padding: 6px 10px;
    }

    .admin-mod-page .section:has(.admin-data-table),
    .admin-listings-all-page .section:has(.admin-data-table),
    .admin-contact-page .section:has(.admin-data-table) {
        overflow: visible;
        background: #f8fafc;
    }

    .admin-users-page .table-wrap,
    .admin-users-all-page .table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .admin-data-table {
        width: 100%;
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0;
    }

    .admin-data-table thead {
        display: none;
    }

    .admin-data-table tbody {
        display: block;
        padding: 12px;
    }

    .admin-mod-page .section:has(.admin-data-table) .section-h,
    .admin-mod-page .section:has(.admin-data-table) .tabs,
    .admin-mod-page .section:has(.admin-data-table) .admin-contact-search,
    .admin-listings-all-page .section:has(.admin-data-table) .section-h,
    .admin-listings-all-page .section:has(.admin-data-table) .tabs,
    .admin-contact-page .section:has(.admin-data-table) .section-h,
    .admin-contact-page .section:has(.admin-data-table) .tabs,
    .admin-contact-page .section:has(.admin-data-table) .admin-contact-search {
        background: #fff;
    }

    .admin-data-table tr {
        display: block;
        margin-bottom: 12px;
        border: 1px solid #e8edf5;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        overflow: hidden;
    }

    .admin-data-table tr:last-child {
        margin-bottom: 0;
    }

    .admin-data-table td {
        display: block;
        padding: 11px 14px;
        border-bottom: 1px solid #f1f5f9;
        text-align: left;
        font-size: .84rem;
        /*vertical-align: top;*/
    }

    .admin-data-table td:last-child {
        border-bottom: 0;
    }

    .admin-data-table td::before {
        display: block;
        margin-bottom: 6px;
        font-size: .7rem;
        font-weight: 700;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: .04em;
        line-height: 1.3;
    }

    .admin-data-table td.admin-empty {
        padding: 22px 14px;
        text-align: center;
        color: #64748b;
    }

    .admin-data-table td.admin-empty::before {
        display: none;
    }

    /* Listings tables */
    .admin-table-listings td:nth-child(1)::before { content: "Property"; }
    .admin-table-listings td:nth-child(2)::before { content: "Owner"; }
    .admin-table-listings td:nth-child(3)::before { content: "Location"; }
    .admin-table-listings td:nth-child(4)::before { content: "Submitted"; }
    .admin-table-listings td:nth-child(5)::before { content: "Status"; }
    .admin-table-listings td:nth-child(6)::before { content: "Actions"; }

    .admin-table-listings .action-row {
        width: 100%;
        gap: 8px;
    }

    .admin-table-listings .action-row .btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 120px;
        justify-content: center;
    }

    .admin-table-listings .action-row .btn.icon {
        flex: 0 0 40px;
        min-width: 40px;
    }

    .admin-table-listings .location-cell {
        white-space: normal;
    }

    /* Users preview (dashboard) */
    .admin-table-users-short td:nth-child(1)::before { content: "User ID"; }
    .admin-table-users-short td:nth-child(2)::before { content: "User"; }
    .admin-table-users-short td:nth-child(3)::before { content: "Email"; }
    .admin-table-users-short td:nth-child(4)::before { content: "Joined"; }
    .admin-table-users-short td:nth-child(5)::before { content: "Listings"; }
    .admin-table-users-short td:nth-child(6)::before { content: "Actions"; }

    .admin-table-users-short .users-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 8px;
    }

    .admin-table-users-short .users-actions .btn {
        flex: 1 1 auto;
        min-width: 100px;
    }

    /* Users full list */
    .admin-table-users-full td:nth-child(1)::before { content: "User ID"; }
    .admin-table-users-full td:nth-child(2)::before { content: "Name"; }
    .admin-table-users-full td:nth-child(3)::before { content: "Email"; }
    .admin-table-users-full td:nth-child(4)::before { content: "Mobile"; }
    .admin-table-users-full td:nth-child(5)::before { content: "Joined"; }
    .admin-table-users-full td:nth-child(6)::before { content: "Active listings"; }
    .admin-table-users-full td:nth-child(7)::before { content: "Actions"; }

    .admin-table-users-full .actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .admin-table-users-full .actions .btn {
        width: 100%;
        justify-content: center;
    }

    .admin-table-users-full .user-cell {
        width: 100%;
    }

    /* Contact inbox */
    .admin-table-contact td:nth-child(1)::before { content: "From"; }
    .admin-table-contact td:nth-child(2)::before { content: "Subject"; }
    .admin-table-contact td:nth-child(3)::before { content: "Preview"; }
    .admin-table-contact td:nth-child(4)::before { content: "Received"; }
    .admin-table-contact td:nth-child(5)::before { content: "Status"; }
    .admin-table-contact td:nth-child(6)::before { content: "Actions"; }

    .admin-table-contact .admin-contact-preview {
        max-width: none;
        white-space: normal;
        line-height: 1.45;
    }

    .admin-table-contact .btn.details {
        width: 100%;
        justify-content: center;
    }

    /* Admin users tab */
    .admin-table-admins td:nth-child(1)::before { content: "Name"; }
    .admin-table-admins td:nth-child(2)::before { content: "Email"; }
    .admin-table-admins td:nth-child(3)::before { content: "Phone"; }
    .admin-table-admins td:nth-child(4)::before { content: "Action"; }

    .admin-table-admins .btn.remove {
        width: 100%;
    }

    .admin-contact-page .search-input {
        min-width: 0;
        width: 100%;
    }

    .admin-contact-page .admin-contact-search form {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-contact-page .search-btn {
        width: 100%;
    }

    .admin-contact-page .admin-contact-preview {
        max-width: none;
        min-width: 160px;
    }

    .admin-mod-page .location-cell {
        white-space: normal;
    }

    .admin-listings-all-page .location-cell {
        white-space: normal;
    }

    .admin-users-all-page .admin-users-search-row,
    .admin-listings-all-page .admin-users-search-row {
        flex-wrap: nowrap;
    }

    .admin-listing-show-page .admin-listing-show-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-listing-show-page .title {
        font-size: 1.22rem;
    }
}

@media (max-width: 480px) {
    .admin-shell .admin-main {
        padding: 14px 12px 18px;
    }

    .admin-mod-page .prop,
    .admin-listings-all-page .prop {
        grid-template-columns: 64px 1fr;
        gap: 8px;
    }

    .admin-mod-page .prop img,
    .admin-listings-all-page .prop img {
        width: 64px;
        height: 48px;
    }

    .admin-mod-page .pending-table .prop,
    .admin-mod-page .pending-table .prop img {
        width: 64px;
    }
}

/* Admin moderation page */
.admin-mod-page .title { margin: 0 0 4px; font-size: 1.5rem; font-weight: 800; color: #0f172a; }
.admin-mod-page .sub { margin: 0; font-size: .9rem; color: #64748b; }
.admin-mod-dashboard-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0 20px;
}
.admin-mod-dashboard-top__intro {
    min-width: 0;
    flex: 1 1 280px;
}
.admin-mod-dashboard-top__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.admin-mod-dashboard-date input {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 14px;
    font: inherit;
    font-size: .875rem;
    color: #334155;
    background: #fff;
    min-width: 160px;
}
.admin-mod-dashboard-date input:focus {
    outline: 2px solid #93c5fd;
    outline-offset: 1px;
    border-color: #93c5fd;
}
.admin-mod-export-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 10px;
    padding: 10px 18px;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    background: var(--rz-btn-primary-bg);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.22);
}
.admin-mod-export-btn:hover {
    background: var(--rz-btn-primary-bg-hover);
}
.admin-mod-dashboard-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
}
@media (min-width: 1100px) {
    .admin-mod-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.admin-mod-dashboard-grid > .section,
.admin-mod-dashboard-grid > .admin-mod-listings-panel {
    margin-bottom: 0;
    min-height: 300px;
    display: flex;
    flex-direction: column;
}
.admin-mod-dashboard-panel .admin-data-table,
.admin-mod-dashboard-panel table {
    flex: 1 1 auto;
}
.admin-mod-dashboard-panel .section-footer-link,
.admin-mod-listings-panel.admin-mod-dashboard-panel .admin-mod-listings-panel__footer {
    margin-top: auto;
}
.admin-mod-empty-row td {
    border-bottom: 0 !important;
    padding: 0 !important;
}
.admin-mod-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 200px;
    padding: 32px 20px;
    text-align: center;
}
.admin-mod-empty-state__icon {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    background: #f1f5f9;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}
.admin-mod-empty-state p {
    margin: 0;
    max-width: 16rem;
    font-size: .875rem;
    color: #94a3b8;
    line-height: 1.45;
}
.admin-mod-page .metric {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 14px 14px 12px;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 10px;
    align-items: start;
}
.admin-mod-page .metric__body {
    min-width: 0;
}
.admin-mod-page .metric__sparkline {
    height: 36px;
    margin-top: 10px;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
}
.admin-mod-page .metric__sparkline::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.55;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 100%;
}
.admin-mod-page .metric__sparkline--users::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 36' preserveAspectRatio='none'%3E%3Cpath fill='%236366f1' d='M0 28 L12 22 L24 26 L36 14 L48 18 L60 10 L72 16 L84 8 L96 12 L108 6 L120 4 L120 36 L0 36 Z'/%3E%3C/svg%3E");
}
.admin-mod-page .metric__sparkline--pending::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 36' preserveAspectRatio='none'%3E%3Cpath fill='%23f59e0b' d='M0 24 L15 20 L30 22 L45 16 L60 18 L75 12 L90 14 L105 8 L120 6 L120 36 L0 36 Z'/%3E%3C/svg%3E");
}
.admin-mod-page .metric__sparkline--approved::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 36' preserveAspectRatio='none'%3E%3Cpath fill='%2310b981' d='M0 30 L12 26 L24 28 L36 20 L48 22 L60 14 L72 16 L84 10 L96 12 L108 8 L120 4 L120 36 L0 36 Z'/%3E%3C/svg%3E");
}
.admin-mod-page .metric__sparkline--rejected::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 36' preserveAspectRatio='none'%3E%3Cpath fill='%23ef4444' d='M0 20 L15 24 L30 18 L45 22 L60 16 L75 20 L90 14 L105 18 L120 12 L120 36 L0 36 Z'/%3E%3C/svg%3E");
}
.admin-dashboard-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-top: 24px;
    padding: 20px 0 28px;
    font-size: .8125rem;
    color: #94a3b8;
    border-top: 1px solid #e8edf5;
}
.admin-dashboard-footer__tagline {
    color: #64748b;
}
.admin-mod-page .section-footer-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.admin-mod-page .metric .icon { width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center; color: #fff; font-size: 1rem; font-weight: 700; }
.admin-mod-page .icon-users { background:#6366f1; }
.admin-mod-page .icon-pending { background:#f59e0b; }
.admin-mod-page .icon-approved { background:#10b981; }
.admin-mod-page .icon-rejected { background:#ef4444; }
.admin-mod-page .metric .k { font-size: .73rem; color: #64748b; font-weight: 700; }
.admin-mod-page .metric .v { margin-top: 2px; font-size: 1.46rem; font-weight: 800; }
.admin-mod-page .metric .trend { margin-top: 1px; font-size: .72rem; color: #16a34a; }
.admin-mod-page .metric .trend.down { color: #dc2626; }
.admin-mod-page .section { background: #fff; border: 1px solid #e8edf5; border-radius: 12px; margin-bottom: 14px; overflow: hidden; }
.admin-mod-page .section-h { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; }
.admin-mod-page .section-h h3 { margin: 0; font-size: 1.02rem; }
.admin-mod-page .section-h a { color: #2563eb; text-decoration: none; font-size: .8rem; font-weight: 700; }
.admin-mod-page table { width: 100%; border-collapse: collapse; }
.admin-mod-page th, .admin-mod-page td { border-bottom: 1px solid #f1f5f9; padding: 10px 12px; text-align: left; font-size: .82rem; vertical-align: top; }
.admin-mod-page th { color: #64748b; font-size: .78rem; font-weight: 700; }
.admin-mod-page .status-pill { border-radius: 6px; padding: 4px 10px; font-size: .72rem; font-weight: 600; display: inline-flex; align-items: center; border: 1px solid transparent; }
.admin-mod-page .pending { background: #fff7e6; color: #b7791f; border-color: #fde68a; }
.admin-mod-page .approved { background: #dcfce7; color: #166534; }
.admin-mod-page .rejected { background: #fee2e2; color: #991b1b; }
.admin-mod-page .btn { border: 1px solid transparent; border-radius: 6px; padding: 6px 11px; font-size: .74rem; font-weight: 600; cursor: pointer; line-height: 1; }
.admin-mod-page .btn.approve { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.admin-mod-page .btn.reject { background: #fff1f2; color: #dc2626; border-color: #fecdd3; }
.admin-mod-page .btn.pending { background: #fef3c7; color: #92400e; }
.admin-mod-page .prop { display: grid; grid-template-columns: 80px 1fr; gap: 10px; }
.admin-mod-page .prop img { width: 80px; height: 56px; object-fit: cover; border-radius: 8px; background: #e2e8f0; }
.admin-mod-page .prop strong { display: block; font-size: .83rem; margin-bottom: 2px; }
.admin-mod-page .prop small { color: #64748b; font-size: .74rem; }
.admin-mod-page .pending-table th, .admin-mod-page .pending-table td { padding: 12px 10px; vertical-align: middle; }
.admin-mod-page .pending-table .prop { grid-template-columns: 86px 1fr; }
.admin-mod-page .pending-table .prop img { width: 86px; height: 56px; border-radius: 10px; }
.admin-mod-page .pending-table .prop small { display: block; margin-top: 3px; }
.admin-mod-page .owner-cell { display: inline-flex; align-items: center; gap: 8px; }
.admin-mod-page .owner-cell img { width: 30px; height: 30px; border-radius: 999px; border: 1px solid #e2e8f0; object-fit: cover; }
.admin-mod-page .owner-meta strong { display: block; font-size: .8rem; color: #0f172a; }
.admin-mod-page .owner-meta .admin-listing-owner-contact__email { display: block; font-size: .72rem; color: #64748b; }
.admin-mod-page .location-cell { color: #475569; font-size: .78rem; white-space: nowrap; }
.admin-mod-page .location-cell i { color: #64748b; margin-right: 4px; }
.admin-mod-page .submitted-cell .date { display: block; font-size: .78rem; color: #0f172a; }
.admin-mod-page .submitted-cell .time { display: block; margin-top: 3px; font-size: .72rem; color: #64748b; }
.admin-mod-page .action-row { display: flex; align-items: center; gap: 6px; }
.admin-mod-page .action-row form { margin: 0; }
.admin-mod-page .btn.icon { width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e2e8f0; background: #fff; color: #64748b; }
.admin-mod-page .section-footer-link { display: block; text-align: center; padding: 11px 0 12px; font-size: .78rem; font-weight: 700; text-decoration: none; color: #2563eb; border-top: 1px solid #f1f5f9; }
.admin-mod-page .users-table th, .admin-mod-page .users-table td { padding: 12px 10px; vertical-align: middle; }
.admin-mod-page .users-table .email-col { color: #64748b; font-size: .78rem; }
.admin-mod-page .users-actions { display: inline-flex; align-items: center; gap: 6px; }
.admin-mod-page .users-actions .btn { min-width: 84px; justify-content: center; border-radius: 6px; border: 1px solid #dbe6f2; background: #fff; color: #334155; padding: 6px 10px; font-size: .73rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.admin-mod-page .users-actions .btn i { margin-right: 0; color: #64748b; }
.admin-mod-page .users-actions .btn-danger { width: 30px; height: 30px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #fecdd3; background: #fff1f2; color: #e11d48; }
.admin-mod-page .users-actions .btn-danger i { color: #e11d48; }
.admin-mod-page .user-cell { display: inline-flex; align-items: center; gap: 10px; }
.admin-mod-page .user-link, .admin-users-all-page .user-link { text-decoration:none; color:#0f172a; font-weight:700; }
.admin-mod-page .avatar { width: 34px; height: 34px; border-radius: 999px; object-fit: cover; border: 1px solid #dbe5f2; background: #dbeafe; }
.admin-empty { color:#64748b; }

/* Admin listings all page */
.admin-listings-all-page .title { margin: 12px 0 2px; font-size: 1.4rem; font-weight: 800; }
.admin-listings-all-page .sub { margin: 0 0 14px; font-size: .88rem; color: #64748b; }
.admin-listings-all-page .section { background: #fff; border: 1px solid #e8edf5; border-radius: 12px; margin-bottom: 14px; overflow: hidden; }
.admin-listings-all-page .section-h { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; }
.admin-listings-all-page .section-h h3 { margin: 0; font-size: 1rem; }
.admin-listings-all-page .section-total { font-size:.8rem; color:#64748b; font-weight:700; }
.admin-listings-all-page .tabs { display: flex; gap: 8px; padding: 12px 14px; border-bottom: 1px solid #f1f5f9; }
.admin-listings-all-page .tab-link { text-decoration: none; border: 1px solid #dbe5f2; color: #334155; border-radius: 999px; padding: 7px 12px; font-size: .78rem; font-weight: 700; background: #fff; }
.admin-listings-all-page .tab-link.active { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.admin-listings-all-page table { width: 100%; border-collapse: collapse; }
.admin-listings-all-page th, .admin-listings-all-page td { border-bottom: 1px solid #f1f5f9; padding: 12px 10px; text-align: left; font-size: .82rem; vertical-align: middle; }
.admin-listings-all-page th { color: #64748b; font-size: .78rem; font-weight: 700; }
.admin-listings-all-page .prop { display: grid; grid-template-columns: 86px 1fr; gap: 10px; }
.admin-listings-all-page .prop img { width: 86px; height: 56px; object-fit: cover; border-radius: 10px; background: #e2e8f0; }
.admin-listings-all-page .prop small { display: block; margin-top: 3px; color: #64748b; }
.admin-listings-all-page .listing-link, .admin-mod-page .listing-link { text-decoration:none; color:#0f172a; }
.admin-listings-all-page .owner-cell { display: inline-flex; align-items: center; gap: 8px; }
.admin-listings-all-page .owner-cell img { width: 30px; height: 30px; border-radius: 999px; border: 1px solid #e2e8f0; object-fit: cover; }
.admin-listings-all-page .owner-meta strong { display: block; font-size: .8rem; color: #0f172a; }
.admin-listings-all-page .owner-meta .admin-listing-owner-contact__email { display: block; font-size: .72rem; color: #64748b; }
.admin-listings-all-page .location-cell { color: #475569; font-size: .78rem; white-space: nowrap; }
.admin-listings-all-page .location-cell i { color: #64748b; margin-right: 4px; }
.admin-listings-all-page .submitted-cell .date { display: block; font-size: .78rem; color: #0f172a; }
.admin-listings-all-page .submitted-cell .time { display: block; margin-top: 3px; font-size: .72rem; color: #64748b; }
.admin-listings-all-page .status-pill { border-radius: 6px; padding: 4px 10px; font-size: .72rem; font-weight: 600; display: inline-flex; align-items: center; border: 1px solid transparent; }
.admin-listings-all-page .status-pill.pending { background: #fff7e6; color: #b7791f; border-color: #fde68a; }
.admin-listings-all-page .status-pill.approved { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.admin-listings-all-page .status-pill.rejected { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

/* Admin contact messages */
.admin-contact-page .admin-contact-search {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-contact-page .admin-contact-search form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.admin-contact-page .search-input {
    flex: 1;
    min-width: 240px;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: .85rem;
}
.admin-contact-page .search-btn {
    border: 0;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 600;
}
.admin-contact-page .admin-contact-meta {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: .74rem;
}
.admin-contact-page .admin-contact-preview {
    color: #475569;
    max-width: 280px;
}
.admin-contact-page .admin-contact-row--unread td {
    background: #f8fbff;
}
.admin-contact-page .btn.details {
    border: 0;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    padding: 7px 12px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
}
.admin-contact-show-page .admin-contact-back {
    margin: 0 0 10px;
    font-size: .85rem;
}
.admin-contact-show-page .admin-contact-back a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}
.admin-contact-detail {
    padding: 16px 14px;
}
.admin-contact-detail-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 18px;
}
.admin-contact-label {
    display: block;
    margin-bottom: 4px;
    font-size: .72rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.admin-contact-detail p {
    margin: 0;
    font-size: .9rem;
    color: #0f172a;
}
.admin-contact-message-body {
    border-top: 1px solid #f1f5f9;
    padding-top: 16px;
}
.admin-contact-message-text {
    margin-top: 6px;
    padding: 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e8edf5;
    font-size: .9rem;
    line-height: 1.55;
    color: #334155;
    white-space: pre-wrap;
}
.admin-contact-actions {
    margin-top: 16px;
}
.admin-contact-actions .btn {
    border: 1px solid #dbe5f2;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    padding: 8px 14px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
}
.admin-listings-all-page .action-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.admin-listings-all-page .action-row form { margin: 0; }
.admin-listings-all-page .btn { border: 1px solid transparent; border-radius: 6px; padding: 6px 11px; font-size: .74rem; font-weight: 600; cursor: pointer; line-height: 1; }
.admin-listings-all-page .btn.approve { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.admin-listings-all-page .btn.reject { background: #fff1f2; color: #dc2626; border-color: #fecdd3; }
.admin-listings-all-page .btn.pending { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.admin-listings-all-page .btn.icon { width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e2e8f0; background: #fff; color: #64748b; text-decoration: none; }
.admin-listings-all-page .seed-label { font-size:.76rem; color:#64748b; }

/* Admin — All Listings page (panel layout) */
.admin-listings-all-page {
    width: 100%;
    max-width: none;
}
.admin-listings-all-page .admin-listings-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-listings-all-page .admin-listings-panel__head {
    padding: 20px 22px 16px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listings-all-page .admin-listings-panel__title {
    margin: 0 0 6px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.admin-listings-all-page .admin-listings-panel__title i {
    color: #2563eb;
    font-size: 1.2rem;
}
.admin-listings-all-page .admin-listings-panel__sub {
    margin: 0;
    font-size: .875rem;
    color: #64748b;
    line-height: 1.45;
    max-width: 52rem;
}
.admin-listings-all-page .admin-listings-panel__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 22px;
    border-bottom: 1px solid #f1f5f9;
    background: #fafbfc;
}
.admin-listings-all-page .admin-listings-panel__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.admin-listings-all-page .admin-listings-panel__tab {
    text-decoration: none;
    border: 1px solid #dbe5f2;
    color: #334155;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: .8125rem;
    font-weight: 700;
    background: #fff;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.admin-listings-all-page .admin-listings-panel__tab:hover {
    border-color: #bfdbfe;
    color: #1d4ed8;
}
.admin-listings-all-page .admin-listings-panel__tab.is-active {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}
.admin-listings-all-page .admin-listings-panel__count {
    font-size: .8125rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}
.admin-listings-all-page .admin-listings-panel__search-wrap {
    padding: 16px 22px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listings-all-page .admin-listings-panel__search-form {
    margin: 0;
}
.admin-listings-all-page .admin-listings-panel__search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    min-height: var(--rz-field-min-height);
    border: 1px solid #dbe5f2;
    border-radius: 12px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.admin-listings-all-page .admin-listings-panel__search:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.admin-listings-all-page .admin-listings-panel__search > i {
    color: #94a3b8;
    font-size: 1rem;
    flex-shrink: 0;
}
.admin-listings-all-page .admin-listings-panel__search > input {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    background: transparent;
    padding: 12px 0;
    font: inherit;
    font-size: .9rem;
    color: #0f172a;
    box-shadow: none;
}
.admin-listings-all-page .admin-listings-panel__search > input:focus {
    outline: none;
    box-shadow: none;
}
.admin-listings-all-page .admin-listings-panel__search-clear {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.admin-listings-all-page .admin-listings-panel__search-clear:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.admin-listings-all-page .admin-listings-panel__search-clear.is-hidden,
.admin-listings-all-page .admin-listings-panel__search-clear[hidden] {
    display: none !important;
}
.admin-listings-all-page .admin-listings-panel__search-hint {
    margin: 8px 0 0;
    font-size: .75rem;
    color: #94a3b8;
    line-height: 1.4;
}
.admin-listings-all-page .admin-listings-panel__search-status {
    margin: 6px 0 0;
    font-size: .75rem;
    color: #2563eb;
    font-weight: 600;
}
.admin-listings-all-page .admin-listings-panel__search-form.is-searching .admin-listings-panel__search {
    opacity: .85;
}
.admin-listings-all-page .admin-listings-panel__results.is-loading {
    opacity: .65;
    pointer-events: none;
}
.admin-listings-all-page .admin-listings-panel__table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.admin-listings-all-page .admin-listings-panel__table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}
.admin-listings-all-page .admin-listings-panel__table th,
.admin-listings-all-page .admin-listings-panel__table td {
    padding: 14px 16px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    font-size: .8125rem;
    vertical-align: middle;
}
.admin-listings-all-page .admin-listings-panel__table th {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #fafbfc;
}
.admin-listings-all-page .admin-listings-panel__summary-row td {
    padding: 10px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.admin-listings-all-page .admin-listings-panel__tab-summary {
    font-size: .8125rem;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__prop {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 12px;
    align-items: center;
}
.admin-listings-all-page .admin-listings-panel__prop img {
    width: 86px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
    background: #e2e8f0;
}
.admin-listings-all-page .admin-listings-panel__prop-title {
    display: block;
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
    line-height: 1.35;
}
.admin-listings-all-page .admin-listings-panel__prop-title:hover {
    color: #2563eb;
}
.admin-listings-all-page .admin-listings-panel__prop-id {
    display: block;
    margin-top: 4px;
    font-size: .75rem;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__owner {
    display: flex;
    align-items: center;
    gap: 10px;
}
.admin-listings-all-page .admin-listings-panel__owner img {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    object-fit: cover;
    flex-shrink: 0;
}
.admin-listings-all-page .admin-listings-panel__owner strong {
    display: block;
    font-size: .8125rem;
    color: #0f172a;
}
.admin-listings-all-page .admin-listings-panel__owner .admin-listing-owner-contact__email {
    display: block;
    margin-top: 2px;
    font-size: .75rem;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__location {
    color: #475569;
    font-size: .8125rem;
    white-space: nowrap;
}
.admin-listings-all-page .admin-listings-panel__location i {
    color: #64748b;
    margin-right: 4px;
}
.admin-listings-all-page .admin-listings-panel__date {
    display: block;
    font-size: .8125rem;
    color: #0f172a;
}
.admin-listings-all-page .admin-listings-panel__time {
    display: block;
    margin-top: 3px;
    font-size: .75rem;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .75rem;
    font-weight: 700;
    border: 1px solid transparent;
}
.admin-listings-all-page .admin-listings-panel__status.is-pending {
    background: #fff7e6;
    color: #b7791f;
    border-color: #fde68a;
}
.admin-listings-all-page .admin-listings-panel__status.is-approved {
    background: #dcfce7;
    color: #166534;
    border-color: #bbf7d0;
}
.admin-listings-all-page .admin-listings-panel__status.is-rejected {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}
.admin-listings-all-page .admin-listings-panel__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.admin-listings-all-page .admin-listings-panel__actions form {
    margin: 0;
}
.admin-listings-all-page .admin-listings-panel__btn {
    box-sizing: border-box;
    width: 92px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}
.admin-listings-all-page .admin-listings-panel__btn--approve {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}
.admin-listings-all-page .admin-listings-panel__btn--reject {
    background: #fff1f2;
    color: #dc2626;
    border-color: #fecdd3;
}
.admin-listings-all-page .admin-listings-panel__btn--pending {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.admin-listings-all-page .admin-listings-panel__btn--view {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__btn--live {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border: 1px solid #ddd6fe;
    background: #f5f3ff;
    color: #6d28d9;
}
.admin-listings-all-page .admin-listings-panel__btn--live:hover {
    background: #ede9fe;
    border-color: #c4b5fd;
    color: #5b21b6;
}
.admin-listings-all-page .admin-listings-panel__btn--delete {
    background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%);
    color: #fff;
    border-color: #dc2626;
}
.admin-listings-all-page .admin-listings-panel__btn--delete:hover {
    background: linear-gradient(135deg, #991b1b 0%, #b91c1c 100%);
    color: #fff;
    border-color: #b91c1c;
}
.admin-listings-all-page .admin-listings-panel__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 22px;
    border-top: 1px solid #f1f5f9;
    background: #fafbfc;
}
.admin-listings-all-page .admin-listings-panel__footer-text {
    margin: 0;
    font-size: .8125rem;
    color: #64748b;
}
.admin-listings-all-page .admin-listings-panel__pager {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.admin-listings-all-page .admin-listings-panel__page-btn {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .8125rem;
    font-weight: 600;
}
.admin-listings-all-page .admin-listings-panel__page-btn.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.admin-listings-all-page .admin-listings-panel__page-btn.is-disabled {
    opacity: .45;
    pointer-events: none;
}

@media (max-width: 979px) {
    .admin-listings-all-page .admin-listings-panel__head,
    .admin-listings-all-page .admin-listings-panel__toolbar,
    .admin-listings-all-page .admin-listings-panel__search-wrap,
    .admin-listings-all-page .admin-listings-panel__footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .admin-listings-all-page .admin-listings-panel__table {
        min-width: 0;
    }

    .admin-listings-all-page .admin-listings-panel__table-scroll {
        overflow: visible;
    }

    .admin-listings-all-page .admin-listings-panel__summary-row {
        display: none;
    }

    .admin-listings-all-page .admin-listings-panel__actions {
        width: 100%;
    }

    .admin-listings-all-page .admin-listings-panel__btn {
        flex: 1 1 calc(50% - 4px);
        width: auto;
        min-width: 92px;
    }

    .admin-listings-all-page .admin-listings-panel__btn--view,
    .admin-listings-all-page .admin-listings-panel__btn--live {
        flex: 0 0 40px;
        width: 40px;
        min-width: 40px;
    }

    .admin-listings-all-page .admin-listings-panel__location {
        white-space: normal;
    }
}

/* Admin — dashboard listings panels, users list, settings/admins */
.admin-mod-page .admin-mod-listings-panel {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    margin-bottom: 14px;
    overflow: hidden;
}
.admin-mod-page .admin-mod-listings-panel.admin-mod-dashboard-panel {
    margin-bottom: 0;
}
.admin-mod-listings-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-mod-listings-panel__intro {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.admin-mod-listings-panel__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.admin-mod-listings-panel__icon--approved { background: #dcfce7; color: #166534; }
.admin-mod-listings-panel__icon--pending { background: #fef3c7; color: #92400e; }
.admin-mod-listings-panel__icon--rejected { background: #fee2e2; color: #991b1b; }
.admin-mod-listings-panel__title { margin: 0 0 4px; font-size: 1.05rem; font-weight: 800; color: #0f172a; }
.admin-mod-listings-panel__sub { margin: 0; font-size: .8125rem; color: #64748b; line-height: 1.4; }
.admin-mod-listings-panel__count {
    font-size: .8125rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}
.admin-mod-listings-panel__table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-mod-listings-panel__table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}
.admin-mod-listings-panel__table th,
.admin-mod-listings-panel__table td {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    font-size: .8125rem;
    vertical-align: middle;
}
.admin-mod-listings-panel__table th {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #fafbfc;
}
.admin-mod-listings-panel__prop {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 10px;
    align-items: center;
}
.admin-mod-listings-panel__prop img {
    width: 86px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
    background: #e2e8f0;
}
.admin-mod-listings-panel__prop-title {
    display: block;
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
}
.admin-mod-listings-panel__prop-title:hover { color: #2563eb; }
.admin-mod-listings-panel__prop-id { display: block; margin-top: 3px; font-size: .75rem; color: #64748b; }
.admin-mod-listings-panel__owner { display: flex; align-items: center; gap: 10px; }
.admin-mod-listings-panel__owner img {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    object-fit: cover;
}
.admin-mod-listings-panel__owner strong { display: block; font-size: .8125rem; }
.admin-mod-listings-panel__owner .admin-listing-owner-contact__email { display: block; font-size: .75rem; color: #64748b; }
.admin-listing-owner-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 2px;
}
.admin-listings-all-page .admin-listings-panel__owner .admin-listing-email-status,
.admin-mod-listings-panel__owner .admin-listing-email-status,
.admin-mod-page .owner-meta .admin-listing-email-status,
.admin-listing-show-page .admin-listing-email-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.admin-listings-all-page .admin-listings-panel__owner .admin-listing-email-status--verified,
.admin-mod-listings-panel__owner .admin-listing-email-status--verified,
.admin-mod-page .owner-meta .admin-listing-email-status--verified,
.admin-listing-show-page .admin-listing-email-status--verified {
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
}
.admin-listings-all-page .admin-listings-panel__owner .admin-listing-email-status--verified .bi,
.admin-mod-listings-panel__owner .admin-listing-email-status--verified .bi,
.admin-mod-page .owner-meta .admin-listing-email-status--verified .bi,
.admin-listing-show-page .admin-listing-email-status--verified .bi {
    font-size: .72rem;
    line-height: 1;
}
.admin-listings-all-page .admin-listings-panel__owner .admin-listing-email-status--unverified,
.admin-mod-listings-panel__owner .admin-listing-email-status--unverified,
.admin-mod-page .owner-meta .admin-listing-email-status--unverified,
.admin-listing-show-page .admin-listing-email-status--unverified {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
.admin-listing-show-page .admin-detail-field-value--with-email-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.admin-mod-listings-panel__location { color: #475569; font-size: .8125rem; white-space: nowrap; }
.admin-mod-listings-panel__location i { color: #64748b; margin-right: 4px; }
.admin-mod-listings-panel__date { display: block; font-size: .8125rem; color: #0f172a; }
.admin-mod-listings-panel__time { display: block; margin-top: 3px; font-size: .75rem; color: #64748b; }
.admin-mod-listings-panel__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .75rem;
    font-weight: 700;
    border: 1px solid transparent;
}
.admin-mod-listings-panel__status.is-pending { background: #fff7e6; color: #b7791f; border-color: #fde68a; }
.admin-mod-listings-panel__status.is-approved { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.admin-mod-listings-panel__status.is-rejected { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.admin-mod-listings-panel__actions { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-mod-listings-panel__actions form { margin: 0; }
.admin-mod-listings-panel__btn {
    box-sizing: border-box;
    width: 92px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}
.admin-mod-listings-panel__btn--approve { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.admin-mod-listings-panel__btn--reject { background: #fff1f2; color: #dc2626; border-color: #fecdd3; }
.admin-mod-listings-panel__btn--pending { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.admin-mod-listings-panel__btn--delete {
    background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%);
    color: #fff;
    border-color: #dc2626;
}
.admin-mod-listings-panel__btn--delete:hover {
    background: linear-gradient(135deg, #991b1b 0%, #b91c1c 100%);
    color: #fff;
    border-color: #b91c1c;
}
.admin-mod-listings-panel__btn--view {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}
.admin-mod-listings-panel__btn--live {
    width: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border: 1px solid #ddd6fe;
    background: #f5f3ff;
    color: #6d28d9;
}
.admin-mod-listings-panel__btn--live:hover {
    background: #ede9fe;
    border-color: #c4b5fd;
    color: #5b21b6;
}
.admin-listings-actions-menu {
    position: relative;
}
.admin-listings-actions-menu[open] {
    z-index: 30;
}
.admin-listings-actions-menu summary {
    list-style: none;
    box-sizing: border-box;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.admin-listings-actions-menu summary::-webkit-details-marker {
    display: none;
}
.admin-listings-actions-menu summary:hover {
    background: #f8fafc;
    color: #334155;
}
.admin-listings-actions-menu__dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 20;
    min-width: 148px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
}
.admin-listings-actions-menu__dropdown form {
    margin: 0;
}
.admin-listings-actions-menu__item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    color: #334155;
    text-decoration: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    white-space: nowrap;
}
.admin-listings-actions-menu__item:hover {
    background: #f8fafc;
}
.admin-listings-actions-menu__item--pending {
    color: #92400e;
}
.admin-listings-actions-menu__item--reject {
    color: #dc2626;
}
.admin-listings-actions-menu__item--reject:hover {
    background: #fff1f2;
}
.admin-listings-actions-menu__item--delete {
    color: #b91c1c;
}
.admin-listings-actions-menu__item--delete:hover {
    background: #fef2f2;
}
.admin-listings-all-page .admin-listings-panel:has(.admin-listings-actions-menu[open]),
.admin-mod-page .admin-mod-listings-panel:has(.admin-listings-actions-menu[open]) {
    overflow: visible;
}
.admin-listings-all-page .admin-listings-panel__table-scroll:has(.admin-listings-actions-menu[open]),
.admin-mod-listings-panel__table-scroll:has(.admin-listings-actions-menu[open]) {
    overflow: visible;
}
.admin-mod-listings-panel__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid #f1f5f9;
    font-size: .8125rem;
    font-weight: 700;
    color: #2563eb;
    text-decoration: none;
}

.admin-users-all-page {
    width: 100%;
    display: grid;
    gap: 14px;
}
.admin-users-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-users-card__intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 22px;
}
.admin-users-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.admin-users-card__title { margin: 0 0 6px; font-size: 1.35rem; font-weight: 800; color: #0f172a; }
.admin-users-card__sub { margin: 0; font-size: .875rem; color: #64748b; line-height: 1.45; }
.admin-users-card__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 22px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-users-card__tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #dbe5f2;
    background: #fff;
    color: #334155;
    font-size: .8125rem;
    font-weight: 700;
    text-decoration: none;
}
.admin-users-card__tab.is-active {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}
.admin-users-card--search { padding: 18px 22px; }
.admin-users-card__search-label {
    display: block;
    margin-bottom: 8px;
    font-size: .8125rem;
    font-weight: 700;
    color: #374151;
}
.admin-users-card__search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    min-height: var(--rz-field-min-height);
    border: 1px solid #dbe5f2;
    border-radius: 12px;
    background: #fff;
}
.admin-users-card__search:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.admin-users-card__search > i { color: #94a3b8; flex-shrink: 0; }
.admin-users-card__search > input {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    background: transparent;
    padding: 12px 0;
    font: inherit;
    font-size: .9rem;
    box-shadow: none;
}
.admin-users-card__search > input:focus {
    outline: none;
    border: 0 !important;
    box-shadow: none;
}
.admin-users-card__search-clear {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.admin-users-card__search-clear.is-hidden,
.admin-users-card__search-clear[hidden] { display: none !important; }
.admin-users-card__search-hint { margin: 8px 0 0; font-size: .75rem; color: #94a3b8; }
.admin-users-card__search-status { margin: 6px 0 0; font-size: .75rem; color: #2563eb; font-weight: 600; }
.admin-users-card__search-form.is-searching .admin-users-card__search { opacity: .85; }
.admin-users-results.is-loading { opacity: .65; pointer-events: none; }
.admin-users-card--table { padding: 16px 22px 20px; }
.admin-users-card__count { margin: 0 0 12px; font-size: .875rem; color: #64748b; }
.admin-users-card__count-muted { color: #94a3b8; }
.admin-users-card__table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-users-card__table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}
.admin-users-card__table th,
.admin-users-card__table td {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    font-size: .8125rem;
    vertical-align: middle;
}
.admin-users-card__table th {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #fafbfc;
}
.admin-users-card__user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #0f172a;
    font-weight: 700;
}
.admin-users-card__avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid #e2e8f0;
}
.admin-users-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.admin-users-card__actions form { margin: 0; }
.admin-users-card__btn {
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 7px 11px;
    font: inherit;
    font-size: .75rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}
.admin-users-card__btn--profile { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.admin-users-card__btn--listings { background: #ecfeff; color: #0e7490; border-color: #a5f3fc; }
.admin-users-card__btn--delete { background: #fff1f2; color: #dc2626; border-color: #fecdd3; }

.admin-settings-page {
    width: 100%;
    display: grid;
    gap: 14px;
}
.admin-settings-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-settings-card__intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 22px;
}
.admin-settings-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.admin-settings-page--admins .admin-settings-card__icon {
    background: #f5f3ff;
    color: #6d28d9;
}
.admin-settings-card__title { margin: 0 0 6px; font-size: 1.35rem; font-weight: 800; color: #0f172a; }
.admin-settings-card__sub { margin: 0; font-size: .875rem; color: #64748b; }
.admin-settings-card__sub-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
}
.admin-settings-card__stat {
    font-size: .8125rem;
    font-weight: 700;
    color: #64748b;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f1f5f9;
}
.admin-settings-card--form { padding: 24px 22px 28px; max-width: 520px; }
.admin-settings-form { display: grid; gap: 20px; }
.admin-settings-avatar {
    position: relative;
    width: 112px;
    height: 112px;
    margin: 0 auto;
}
.admin-settings-avatar__img {
    width: 112px;
    height: 112px;
    border-radius: 999px;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.admin-settings-avatar__edit {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 3px solid #fff;
}
.admin-settings-field label,
.admin-settings-field__label {
    display: block;
    margin-bottom: 8px;
    font-size: .8125rem;
    font-weight: 700;
    color: #374151;
}
.admin-settings-field input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    padding: 12px 14px;
    font: inherit;
    font-size: .9rem;
}
.admin-settings-field input:focus {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.admin-settings-field__hint { margin: 8px 0 0; font-size: .75rem; color: #94a3b8; }
.admin-settings-field__error { margin-top: 6px; font-size: .8125rem; color: #dc2626; }
.admin-settings-upload { position: relative; }
.admin-settings-upload__input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}
.admin-settings-upload__zone {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
}
.admin-settings-upload__zone i { color: #2563eb; font-size: 1.1rem; }
.admin-settings-upload__choose { font-weight: 700; color: #2563eb; }
.admin-settings-upload__name { font-size: .8125rem; color: #64748b; }
.admin-settings-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 14px 18px;
    background: #2563eb;
    color: #fff;
    font: inherit;
    font-size: .9375rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-settings-save:hover { background: #1d4ed8; }
.admin-settings-card--admins-table { padding: 0; }
.admin-admins-table-toolbar {
    display: flex;
    justify-content: flex-end;
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-admins-table-hint {
    margin: 0;
    padding: 14px 18px;
    font-size: .8125rem;
    color: #64748b;
    border-bottom: 1px solid #fef3c7;
    background: #fffbeb;
}
.admin-settings-card__table-scroll { overflow-x: auto; }
.admin-settings-card__table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}
.admin-settings-card__table th,
.admin-settings-card__table td {
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    font-size: .8125rem;
    vertical-align: middle;
}
.admin-settings-card__table th {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
    background: #fafbfc;
}
.admin-settings-card__table th i { margin-right: 6px; }
.admin-admins-user { display: flex; align-items: center; gap: 12px; }
.admin-admins-user__avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid #e2e8f0;
}
.admin-admins-user__name { display: block; font-weight: 700; color: #0f172a; }
.admin-admins-user__badge {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .6875rem;
    font-weight: 700;
}
.admin-admins-user__badge--super {
    background: #fef3c7;
    color: #92400e;
}
.admin-admins-user__badge--admin {
    background: #eff6ff;
    color: #1d4ed8;
}
.admin-admins-protected {
    font-size: .8125rem;
    font-weight: 600;
    color: #94a3b8;
}
.admin-admins-table__email { color: #475569; }
.admin-admins-table__phone { color: #475569; white-space: nowrap; }
.admin-admins-delete {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    padding: 8px 12px;
    background: #fff1f2;
    color: #dc2626;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
}
.admin-admins-delete:disabled { opacity: .5; cursor: not-allowed; }
.admin-settings-page--admins .admin-settings-card__intro { flex-wrap: wrap; align-items: center; }
.admin-settings-page--admins .admin-settings-card__titles { flex: 1; min-width: 0; }
.admin-admins-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    border: 0;
    border-radius: 10px;
    padding: 10px 16px;
    background: var(--rz-btn-primary-bg, linear-gradient(90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100%));
    color: #fff;
    font: inherit;
    font-size: .8125rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.admin-admins-add-btn:hover { filter: brightness(1.05); }
body.admin-add-modal-open { overflow: hidden; }
.admin-add-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.admin-add-modal[hidden] { display: none !important; }
.admin-add-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}
.admin-add-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 440px;
    padding: 24px 22px 22px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}
.admin-add-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
}
.admin-add-modal__close:hover { background: #f1f5f9; color: #0f172a; }
.admin-add-modal__title {
    margin: 0 36px 18px 0;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-add-modal__form { display: grid; gap: 16px; }
.admin-add-modal__field label {
    display: block;
    margin-bottom: 6px;
    font-size: .8125rem;
    font-weight: 700;
    color: #334155;
}
.admin-add-modal__field input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    font-size: .875rem;
    color: #0f172a;
}
.admin-add-modal__field input:focus {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.admin-add-modal__field input.is-invalid {
    border-color: #fca5a5;
}
.admin-add-modal__field input.is-invalid:focus {
    border-color: #f87171;
    box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15);
}
.admin-add-modal__error { margin-top: 6px; font-size: .8125rem; color: #dc2626; }
.admin-add-modal__checking {
    margin: 4px 0 0;
    font-size: .75rem;
    color: #64748b;
    font-weight: 600;
}
.admin-add-modal__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}
.admin-add-modal__cancel {
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    padding: 10px 18px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-add-modal__cancel:hover { background: #f8fafc; }
.admin-add-modal__submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 10px;
    padding: 10px 18px;
    background: var(--rz-btn-primary-bg, linear-gradient(90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100%));
    color: #fff;
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-add-modal__submit:hover { filter: brightness(1.05); }
.admin-add-modal__submit:disabled { opacity: .6; cursor: not-allowed; filter: none; }
.admin-add-modal__lead {
    margin: 0 0 16px;
    font-size: .8125rem;
    line-height: 1.5;
    color: #64748b;
}
.admin-add-modal__status {
    margin: 0;
    font-size: .8125rem;
    font-weight: 600;
    color: #2563eb;
}
.admin-add-modal__status.is-error { color: #dc2626; }
.admin-add-modal__dev-otp {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    font-size: .8125rem;
    font-weight: 700;
    color: #047857;
}
.admin-add-modal__back {
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    padding: 10px 14px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: .875rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-add-modal__back:hover { background: #f8fafc; }
.admin-add-modal__link {
    border: 0;
    background: transparent;
    color: #2563eb;
    font: inherit;
    font-size: .8125rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
    padding: 10px 8px;
}

@media (max-width: 640px) {
    .admin-admins-add-btn {
        width: 100%;
        margin-left: 0;
        justify-content: center;
    }
}

@media (max-width: 979px) {
    .admin-mod-listings-panel__table,
    .admin-users-card__table,
    .admin-settings-card__table {
        min-width: 0;
    }

    .admin-mod-listings-panel__table-scroll,
    .admin-users-card__table-scroll {
        overflow: visible;
    }

    .admin-mod-listings-panel__actions,
    .admin-users-card__actions {
        width: 100%;
    }

    .admin-mod-listings-panel__btn,
    .admin-users-card__btn {
        flex: 1 1 calc(50% - 4px);
        width: auto;
        min-width: 92px;
    }

    .admin-mod-listings-panel__btn--view,
    .admin-mod-listings-panel__btn--live {
        flex: 0 0 40px;
        width: 40px;
        min-width: 40px;
    }

    .admin-mod-listings-panel__location {
        white-space: normal;
    }

    .admin-settings-card--form {
        max-width: none;
    }
}

/* Admin listing details page */
.admin-listing-show-page .title { margin: 12px 0 2px; font-size: 1.58rem; font-weight: 800; }
.admin-listing-show-page .sub { margin: 0; font-size: .9rem; color: #64748b; }
.admin-listing-show-page .admin-listing-show-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.admin-listing-show-page .admin-listing-show-head__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.admin-listing-show-page .admin-listing-show-view-page {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid #c4b5fd;
    border-radius: 999px;
    background: #f5f3ff;
    color: #6d28d9;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.admin-listing-show-page .admin-listing-show-view-page:hover {
    background: #ede9fe;
    border-color: #a78bfa;
    color: #5b21b6;
}
.admin-listing-show-page .admin-listing-show-view-page .bi {
    font-size: .9rem;
    line-height: 1;
}
.admin-listing-show-page .admin-listing-status-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}
.admin-listing-show-page .admin-listing-status-chip.status-approved { background: #dcfce7; color: #166534; }
.admin-listing-show-page .admin-listing-status-chip.status-pending { background: #fef3c7; color: #92400e; }
.admin-listing-show-page .admin-listing-status-chip.status-rejected { background: #fee2e2; color: #991b1b; }
.admin-listing-show-page .panel { background: #fff; border: 1px solid #e8edf5; border-radius: 14px; margin-bottom: 14px; overflow: hidden; }
.admin-listing-show-page .panel-h { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; font-size: .95rem; font-weight: 700; }
.admin-listing-show-page .panel-b { padding: 12px 14px; }

.admin-listing-show-page .admin-detail-panel {
    border-color: #e2e8f0;
    border-radius: 14px;
}
.admin-listing-show-page .admin-detail-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listing-show-page .admin-detail-section-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}
.admin-listing-show-page .admin-detail-panel--property .admin-detail-section-icon {
    background: #eff6ff;
    color: #2563eb;
}
.admin-listing-show-page .admin-detail-panel--owner .admin-detail-section-icon {
    background: #ecfdf5;
    color: #059669;
}
.admin-listing-show-page .admin-detail-section-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.admin-listing-show-page .admin-detail-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 16px 18px 18px;
}
.admin-listing-show-page .admin-detail-field {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    border: 1px solid #e8edf0;
    border-radius: 12px;
    padding: 14px 14px 13px;
    background: #fff;
}
.admin-listing-show-page .admin-detail-field--wide {
    grid-column: 1 / -1;
}
.admin-listing-show-page .admin-detail-field-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}
.admin-listing-show-page .admin-detail-panel--property .admin-detail-field-icon {
    background: #eff6ff;
    color: #2563eb;
}
.admin-listing-show-page .admin-detail-panel--owner .admin-detail-field-icon {
    background: #ecfdf5;
    color: #059669;
}
.admin-listing-show-page .admin-detail-field-icon--whatsapp {
    background: #dcfce7 !important;
    color: #16a34a !important;
}
.admin-listing-show-page .admin-detail-field-body {
    min-width: 0;
    flex: 1;
}
.admin-listing-show-page .admin-detail-field-label {
    font-size: .68rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.3;
}
.admin-listing-show-page .admin-detail-field-value {
    margin-top: 6px;
    font-size: .92rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
    word-break: break-word;
}
.admin-listing-show-page .admin-detail-field-value--description {
    font-weight: 500;
    line-height: 1.55;
    color: #334155;
    white-space: pre-wrap;
}
.admin-listing-show-page .admin-listing-muted { margin: 0; color: #64748b; font-size: .9rem; }
.admin-listing-show-page .admin-amenities-panel {
    border-radius: 14px;
    border-color: #e2e8f0;
}
.admin-listing-show-page .admin-amenities-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listing-show-page .admin-amenities-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1.05rem;
}
.admin-listing-show-page .admin-amenities-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.admin-listing-show-page .admin-amenities-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}
.admin-listing-show-page .admin-amenities-body {
    padding: 16px 18px 18px;
}
.admin-listing-show-page .admin-amenities-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.admin-listing-show-page .admin-amenity-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 12px 12px;
    border: 1px solid #e8edf0;
    border-radius: 12px;
    background: #fff;
}
.admin-listing-show-page .admin-amenity-card-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
    font-size: .95rem;
}
.admin-listing-show-page .admin-amenity-card-label {
    font-size: .8rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.35;
    min-width: 0;
}
.admin-listing-show-page .back { text-decoration: none; color: #2563eb; font-size: .82rem; font-weight: 700; display: inline-block; margin-bottom: 8px; }

.admin-listing-show-page .admin-uploaded-images-panel {
    border-radius: 14px;
    border-color: #e2e8f0;
}
.admin-listing-show-page .admin-uploaded-images-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listing-show-page .admin-uploaded-images-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1.35rem;
}
.admin-listing-show-page .admin-uploaded-images-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.admin-listing-show-page .admin-uploaded-images-body {
    padding: 18px 20px 20px;
}
.admin-listing-show-page .admin-uploaded-images-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.admin-listing-show-page .admin-uploaded-images-card {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #eef2f7;
    aspect-ratio: 4 / 3;
    padding: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
    text-align: left;
}
.admin-listing-show-page .admin-uploaded-images-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.admin-listing-show-page .admin-uploaded-images-num {
    position: absolute;
    top: 8px;
    left: 8px;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
    line-height: 26px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}
.admin-listing-show-page .admin-uploaded-images-type {
    position: absolute;
    left: 8px;
    bottom: 8px;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.72);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
}

body.admin-image-lightbox-open {
    overflow: hidden;
}

.admin-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.admin-image-lightbox[hidden] {
    display: none !important;
}

.admin-image-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
}

.admin-image-lightbox-dialog {
    position: relative;
    z-index: 1;
    width: min(960px, 100%);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}

.admin-image-lightbox-dialog > * {
    pointer-events: auto;
}

.admin-image-lightbox-stage {
    margin: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.admin-image-lightbox-stage img {
    display: block;
    max-width: 100%;
    max-height: min(72vh, 640px);
    width: auto;
    height: auto;
    border-radius: 12px;
    background: #0f172a;
    object-fit: contain;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.admin-image-lightbox-stage figcaption {
    color: #f8fafc;
    font-size: .88rem;
    font-weight: 600;
}

.admin-image-lightbox-close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.1rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-image-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.24);
}

.admin-image-lightbox-nav {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #0f172a;
    font-size: 1.25rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
}

.admin-image-lightbox-nav:hover:not(:disabled) {
    background: #fff;
}

.admin-image-lightbox-nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .admin-image-lightbox {
        padding: 12px;
    }

    .admin-image-lightbox-dialog {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto;
        gap: 10px;
        width: 100%;
    }

    .admin-image-lightbox-nav--prev,
    .admin-image-lightbox-nav--next {
        justify-self: center;
    }

    .admin-image-lightbox-nav--prev {
        order: 2;
    }

    .admin-image-lightbox-stage {
        order: 1;
    }

    .admin-image-lightbox-nav--next {
        order: 3;
    }

    .admin-image-lightbox-close {
        top: 8px;
        right: 8px;
        z-index: 2;
    }
}

.admin-listing-show-page .admin-mod-action-panel {
    border-radius: 14px;
    border-color: #e2e8f0;
}
.admin-listing-show-page .admin-mod-action-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-listing-show-page .admin-mod-action-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1.25rem;
}
.admin-listing-show-page .admin-mod-action-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.admin-listing-show-page .admin-mod-action-lead {
    margin: 4px 0 0;
    font-size: .88rem;
    color: #64748b;
    line-height: 1.45;
}
.admin-listing-show-page .admin-mod-action-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 18px 20px;
}
.admin-listing-show-page .admin-mod-action-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
}
.admin-listing-show-page .admin-mod-action-buttons form {
    margin: 0;
}
.admin-listing-show-page .admin-mod-btn {
    box-sizing: border-box;
    min-width: 148px;
    height: 40px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: .84rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.admin-listing-show-page .admin-mod-btn i {
    font-size: 1rem;
    line-height: 1;
}
.admin-listing-show-page .admin-mod-btn--approve {
    background: #f0fdf4;
    border-color: #86efac;
    color: #15803d;
}
.admin-listing-show-page .admin-mod-btn--approve:hover {
    background: #dcfce7;
    border-color: #4ade80;
}
.admin-listing-show-page .admin-mod-btn--pending {
    background: #fffbeb;
    border-color: #fcd34d;
    color: #b45309;
}
.admin-listing-show-page .admin-mod-btn--pending:hover {
    background: #fef3c7;
    border-color: #fbbf24;
}
.admin-listing-show-page .admin-mod-btn--reject {
    background: #fff1f2;
    border-color: #fda4af;
    color: #b91c1c;
}
.admin-listing-show-page .admin-mod-btn--reject:hover {
    background: #ffe4e6;
    border-color: #fb7185;
}
.admin-listing-show-page .admin-mod-btn--delete {
    background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%);
    color: #fff;
    border-color: #dc2626;
}
.admin-listing-show-page .admin-mod-btn--delete:hover {
    background: linear-gradient(135deg, #991b1b 0%, #b91c1c 100%);
    color: #fff;
    border-color: #b91c1c;
}
.admin-listing-show-page .admin-mod-action-divider {
    width: 1px;
    align-self: stretch;
    background: #e2e8f0;
    margin: 0 20px;
    flex-shrink: 0;
}
.admin-listing-show-page .admin-mod-action-divider--inline {
    align-self: center;
    height: 28px;
    margin: 0 4px;
}
.admin-listing-show-page .admin-mod-action-reason {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.admin-listing-show-page .admin-mod-action-reason-label {
    font-size: .82rem;
    font-weight: 600;
    color: #64748b;
}
.admin-listing-show-page .admin-mod-action-reason-input {
    width: 100%;
    min-height: 88px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #fff;
    padding: 11px 12px;
    font-size: .88rem;
    line-height: 1.45;
    color: #0f172a;
    box-sizing: border-box;
    resize: vertical;
    font-family: inherit;
}
.admin-listing-show-page .admin-mod-action-reason-input::placeholder {
    color: #94a3b8;
}
.admin-listing-show-page .admin-mod-action-reason-input:focus {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.admin-listing-show-page .admin-mod-action-foot {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 14px 20px 18px;
    border-top: 1px solid #f1f5f9;
    color: #64748b;
    font-size: .8rem;
    line-height: 1.45;
}
.admin-listing-show-page .admin-mod-action-foot i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: .95rem;
}
.admin-listing-show-page .admin-mod-action-foot p {
    margin: 0;
}

.admin-listing-show-page .admin-mod-action-tabs {
    display: flex;
    gap: 8px;
    padding: 14px 20px 14px;
    border-bottom: 1px solid #f1f5f9;
}

.admin-listing-show-page .admin-mod-action-tab {
    border: 0;
    background: transparent;
    padding: 8px 14px;
    border-radius: 999px;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.admin-listing-show-page .admin-mod-action-tab.is-active {
    background: #eff6ff;
    color: #2563eb;
}

.admin-listing-show-page .admin-mod-action-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
}

.admin-listing-show-page .admin-mod-action-tab-panel {
    display: none;
}

.admin-listing-show-page .admin-mod-action-tab-panel.is-active {
    display: block;
}

.admin-listing-show-page .admin-mod-notes-body {
    padding: 18px 20px 20px;
}

.admin-listing-show-page .admin-mod-notes-empty {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.5;
}

.admin-listing-show-page .admin-mod-notes-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.admin-listing-show-page .admin-mod-notes-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
}

.admin-listing-show-page .admin-mod-notes-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.admin-listing-show-page .admin-mod-notes-action {
    font-size: .88rem;
    font-weight: 800;
    color: #0f172a;
}

.admin-listing-show-page .admin-mod-notes-item--approved .admin-mod-notes-action { color: #15803d; }
.admin-listing-show-page .admin-mod-notes-item--rejected .admin-mod-notes-action { color: #b91c1c; }
.admin-listing-show-page .admin-mod-notes-item--pending .admin-mod-notes-action { color: #b45309; }

.admin-listing-show-page .admin-mod-notes-when {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
    text-align: right;
}

.admin-listing-show-page .admin-mod-notes-date,
.admin-listing-show-page .admin-mod-notes-time {
    font-size: .78rem;
    color: #64748b;
    line-height: 1.2;
}

.admin-listing-show-page .admin-mod-notes-reason {
    margin: 8px 0 0;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.admin-listing-show-page .admin-mod-notes-by {
    margin: 6px 0 0;
    color: #94a3b8;
    font-size: .76rem;
}

/* Admin users pages */
.admin-users-page { padding-bottom: 40px; }
.admin-users-page .title { margin: 18px 0 8px; font-size: 1.5rem; font-weight: 800; }
.admin-users-page .sub { margin: 0 0 18px; font-size: .9rem; color: #64748b; }
.admin-users-page .tabs { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.admin-users-page .tab { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; padding: 8px 12px; font-size: .82rem; font-weight: 700; color: #334155; text-decoration: none; }
.admin-users-page .tab.active { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.admin-users-page .settings-card { border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; padding: 16px; width: min(560px, 100%); }
.admin-users-page .settings-row { margin-bottom: 14px; }
.admin-users-page .settings-row label { display: block; margin-bottom: 7px; font-size: .82rem; color: #334155; font-weight: 700; }
.admin-users-page .input { width: 100%; border: 1px solid #dbe5f2; border-radius: 10px; padding: 10px 11px; font-size: .84rem; }
.admin-users-page .hint { margin-top: 6px; font-size: .75rem; color: #64748b; }
.admin-users-page .hint.error { color:#dc2626; }
.admin-users-page .avatar-preview { width: 72px; height: 72px; border-radius: 999px; object-fit: cover; border: 1px solid #dbe5f2; }
.admin-users-page .btn { border: 0; border-radius: 8px; padding: 9px 14px; font-size: .8rem; font-weight: 700; cursor: pointer; }
.admin-users-page .btn.primary { background: #2563eb; color: #fff; }
.admin-users-page .btn.remove { background: #dc2626; color: #fff; padding: 7px 10px; font-size: .78rem; }
.admin-users-page .table-wrap { border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; background: #fff; }
.admin-users-page table { width: 100%; border-collapse: collapse; }
.admin-users-page th, .admin-users-page td { padding: 11px 12px; border-bottom: 1px solid #f1f5f9; font-size: .84rem; text-align: left; }
.admin-users-page th { font-size: .8rem; color: #64748b; font-weight: 700; background: #f8fafc; }

.admin-users-all-page .admin-users-search-panel,
.admin-listings-all-page .admin-users-search-panel {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    background: #f8fafc;
}

.admin-users-all-page .admin-users-search-label,
.admin-listings-all-page .admin-users-search-label {
    display: block;
    margin-bottom: 8px;
    font-size: .8rem;
    font-weight: 700;
    color: #334155;
}

.admin-users-all-page .admin-users-search-row,
.admin-listings-all-page .admin-users-search-row {
    display: flex;
    align-items: stretch;
    gap: 0;
    flex-wrap: nowrap;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.admin-users-search-row input {
    border: 0 !important;
}

.admin-users-search-input {
    border: 0 !important;
}

.admin-users-all-page .admin-users-search-icon,
.admin-listings-all-page .admin-users-search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    flex-shrink: 0;
    color: #64748b;
    font-size: 1rem;
}

.admin-users-all-page .admin-users-search-input,
.admin-listings-all-page .admin-users-search-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0 !important;
    border-radius: 0;
    padding: 11px 8px 11px 0;
    font-size: .9rem;
    background: transparent;
    color: #0f172a;
}

.admin-users-all-page .admin-users-search-input:focus,
.admin-listings-all-page .admin-users-search-input:focus {
    outline: none;
    box-shadow: none;
}

.admin-users-all-page .admin-users-search-row:focus-within,
.admin-listings-all-page .admin-users-search-row:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.admin-users-all-page .admin-users-search-clear,
.admin-listings-all-page .admin-users-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    border: 0;
    border-left: 1px solid #e8edf5;
    border-radius: 0;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
}

.admin-users-all-page .admin-users-search-clear.is-hidden,
.admin-users-all-page .admin-users-search-clear[hidden],
.admin-listings-all-page .admin-users-search-clear.is-hidden,
.admin-listings-all-page .admin-users-search-clear[hidden] {
    display: none;
}

.admin-users-all-page .admin-users-search-clear:hover,
.admin-listings-all-page .admin-users-search-clear:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.admin-users-all-page .admin-users-search-status,
.admin-listings-all-page .admin-users-search-status {
    margin: 8px 0 0;
    font-size: .78rem;
    font-weight: 600;
    color: #2563eb;
}

.admin-users-all-page .admin-users-search-form.is-searching .admin-users-search-input,
.admin-listings-all-page .admin-users-search-form.is-searching .admin-users-search-input {
    opacity: 1;
}

.admin-users-all-page .admin-users-results.is-loading,
.admin-listings-all-page .admin-users-results.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.admin-users-all-page .admin-users-search-hint,
.admin-listings-all-page .admin-users-search-hint {
    margin: 10px 0 0;
    font-size: .78rem;
    color: #64748b;
    line-height: 1.4;
}

.admin-users-all-page .admin-users-search-meta,
.admin-listings-all-page .admin-users-search-meta {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e8edf5;
}

.admin-users-all-page .admin-users-search-results,
.admin-listings-all-page .admin-users-search-results {
    margin: 0;
    font-size: .86rem;
    color: #334155;
}

.admin-users-all-page .admin-users-search-meta-muted,
.admin-listings-all-page .admin-users-search-meta-muted {
    color: #64748b;
    font-weight: 500;
}
.admin-users-all-page .actions { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-users-all-page .btn { border: 0; border-radius: 8px; padding: 7px 10px; font-size: .78rem; font-weight: 700; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.admin-users-all-page .btn.details { background: #2563eb; color: #fff; }
.admin-users-all-page .btn.listings { background: #0ea5e9; color: #fff; }
.admin-users-all-page .btn.delete { background: #dc2626; color: #fff; }
.admin-users-all-page .user-cell { display: inline-flex; align-items: center; gap: 10px; }
.admin-users-all-page .avatar { width: 34px; height: 34px; border-radius: 999px; object-fit: cover; border: 1px solid #dbe5f2; background: #dbeafe; }

.admin-user-details-page {
    display: grid;
    gap: 16px;
    padding-bottom: 40px;
}
.admin-user-details-page .title,
.admin-user-details-page .sub {
    display: none;
}
.admin-user-details-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    padding: 22px 24px;
}
.admin-user-details-hero {
    padding-top: 18px;
}
.admin-user-details-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}
.admin-user-details-heading__copy {
    flex: 1;
    min-width: 0;
}
.admin-user-details-back {
    width: 38px;
    height: 38px;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex-shrink: 0;
}
.admin-user-details-back:hover {
    border-color: #bfdbfe;
    color: #2563eb;
    background: #f8fbff;
}
.admin-user-consents-page .admin-consents-head-card {
    padding-top: 0;
}
.admin-user-consents-page .admin-consents-head-nav {
    padding: 20px 22px;
    margin-bottom: 0;
}
.admin-user-details-title {
    margin: 0 0 4px;
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}
.admin-user-details-sub {
    margin: 0;
    font-size: .8125rem;
    color: #64748b;
    line-height: 1.4;
}
.admin-user-details-view-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    margin-left: auto;
    padding: 9px 16px;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: .8125rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-user-details-view-all:hover {
    border-color: #bfdbfe;
    color: #2563eb;
    background: #f8fbff;
}
.admin-user-details-profile {
    display: grid;
    gap: 20px;
}
.admin-user-details-profile__main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.admin-user-details-avatar {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    font-weight: 800;
    flex-shrink: 0;
}
.admin-user-details-avatar--photo {
    object-fit: cover;
    border: 1px solid #dbe5f2;
    background: #fff;
}
.admin-user-details-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.admin-user-details-name {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-user-details-id {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
}
.admin-user-details-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px;
    font-size: .875rem;
    color: #475569;
}
.admin-user-details-contact:last-child {
    margin-bottom: 0;
}
.admin-user-details-contact i {
    color: #94a3b8;
    font-size: .9rem;
    flex-shrink: 0;
}
.admin-user-details-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid #f1f5f9;
}
.admin-user-details-meta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #94a3b8;
}
.admin-user-details-role-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .8125rem;
    font-weight: 700;
}
.admin-user-details-member-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .875rem;
    color: #334155;
    font-weight: 600;
}
.admin-user-details-member-since i {
    color: #64748b;
}
.admin-user-details-section-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
}
.admin-user-details-section-head i {
    color: #64748b;
    font-size: 1rem;
}
.admin-user-details-section-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-user-details-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -4px;
    padding: 0 4px;
}
.admin-user-details-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.admin-user-details-table th {
    padding: 12px 14px 12px 0;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid #eef2f7;
    background: #f8fafc;
    white-space: nowrap;
}
.admin-user-details-table th:first-child {
    padding-left: 14px;
    border-top-left-radius: 10px;
}
.admin-user-details-table th:last-child {
    padding-right: 14px;
    border-top-right-radius: 10px;
}
.admin-user-details-table td {
    padding: 14px 14px 14px 0;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
    font-size: .84rem;
    color: #334155;
}
.admin-user-details-table td:first-child {
    padding-left: 14px;
}
.admin-user-details-table td:last-child {
    padding-right: 14px;
}
.admin-user-details-table tbody tr:last-child td {
    border-bottom: 0;
}
.admin-user-details-listing-card {
    margin-bottom: 10px;
}
.admin-user-details-listing-card:last-child {
    margin-bottom: 0;
}
.admin-user-details-listing-card--rejected .admin-user-details-listing-row {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-color: #fecaca;
}
.admin-user-details-listing-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 14px;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.admin-user-details-listing-row:hover,
.admin-user-details-listing-row:focus-visible {
    border-color: #bfdbfe;
    background: #f8fbff;
    box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08);
    outline: none;
}
.admin-user-details-listing-card--rejected .admin-user-details-listing-row:hover,
.admin-user-details-listing-card--rejected .admin-user-details-listing-row:focus-visible {
    border-bottom-color: #fecaca;
}
.admin-user-details-listing-row:hover .admin-user-details-listing-title,
.admin-user-details-listing-row:focus-visible .admin-user-details-listing-title {
    color: #2563eb;
}
.admin-user-details-listing-rejection {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px 12px;
    border: 1px solid #fecaca;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: #fef2f2;
}
.admin-user-details-listing-rejection__icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fee2e2;
    color: #b91c1c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: .95rem;
}
.admin-user-details-listing-rejection__copy strong {
    display: block;
    font-size: .78rem;
    font-weight: 800;
    color: #991b1b;
    margin-bottom: 4px;
}
.admin-user-details-listing-rejection__copy p {
    margin: 0;
    font-size: .82rem;
    line-height: 1.45;
    color: #7f1d1d;
}
.admin-user-details-listing-thumb {
    width: 120px;
    height: 82px;
    border-radius: 10px;
    object-fit: cover;
    background: #e2e8f0;
}
.admin-user-details-listing-title {
    font-weight: 700;
    font-size: .92rem;
    color: #0f172a;
}
.admin-user-details-listing-meta {
    font-size: .82rem;
    color: #64748b;
    margin-top: 4px;
}
.admin-user-details-listing-status {
    font-size: .76rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 5px 10px;
    white-space: nowrap;
}
.admin-user-details-listing-status.pending_approval { background: #fef3c7; color: #92400e; }
.admin-user-details-listing-status.approved { background: #dcfce7; color: #166534; }
.admin-user-details-listing-status.rejected { background: #fee2e2; color: #991b1b; }
.admin-user-details-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 36px 20px;
    text-align: center;
    color: #64748b;
}
.admin-user-details-empty--inline {
    padding: 20px;
    text-align: left;
}
.admin-user-details-empty--inline p {
    margin: 0;
    font-size: .88rem;
}
.admin-user-details-empty__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}
.admin-user-details-empty strong {
    display: block;
    margin-bottom: 6px;
    font-size: .95rem;
    color: #0f172a;
}
.admin-user-details-empty p {
    margin: 0;
    font-size: .875rem;
    color: #64748b;
}

@media (max-width: 768px) {
    .admin-user-details-card {
        padding: 18px 16px;
    }
    .admin-user-details-nav {
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .admin-user-details-view-all {
        margin-left: 50px;
        align-self: flex-start;
    }
    .admin-user-details-meta-grid {
        grid-template-columns: 1fr;
    }
    .admin-user-details-listing-row {
        grid-template-columns: 1fr;
    }
    .admin-user-details-listing-thumb {
        width: 100%;
        height: 170px;
    }
}

/* Login Consents admin page */
.admin-user-consents-page .admin-consents-head-card {
    overflow: visible;
}
.admin-user-consents-page .admin-consents-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 22px;
    padding: 0 22px;
    margin-top: 14px;
    border-bottom: 1px solid #e2e8f0;
}
.admin-user-consents-page .admin-consents-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 12px 2px 14px;
    margin-bottom: -1px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #64748b;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
}
.admin-user-consents-page .admin-consents-tab.is-active {
    color: #2563eb;
    border-bottom-color: #2563eb;
}
.admin-user-consents-page .admin-consents-tab:hover {
    color: #1d4ed8;
}
.admin-consents-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
    color: #334155;
    font-size: .875rem;
}
.admin-consents-filter-bar__left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.admin-consents-filter-bar__left i {
    color: #2563eb;
    font-size: .95rem;
    flex-shrink: 0;
}
.admin-consents-filter-bar__actions {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}
.admin-consents-filter-bar__actions a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2563eb;
    font-size: .8125rem;
    font-weight: 700;
    text-decoration: none;
}
.admin-consents-filter-bar__actions a:hover {
    text-decoration: underline;
}
.admin-user-consents-page .admin-consents-search-card {
    padding: 18px 22px;
}
.admin-consents-table-card {
    padding: 0 !important;
    overflow: hidden;
}
.admin-consents-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 22px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-consents-table-count {
    margin: 0;
    font-size: .9375rem;
    color: #334155;
}
.admin-consents-table-count strong {
    color: #0f172a;
}
.admin-consents-export-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    padding: 9px 16px;
    background: #fff;
    color: #334155;
    font-size: .8125rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-consents-export-btn:hover {
    border-color: #bfdbfe;
    color: #1d4ed8;
    background: #f8fbff;
}
.admin-user-consents-page .admin-users-card__table-scroll {
    padding: 0 22px;
}
.admin-user-consents-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.admin-user-consents-table th {
    padding: 14px 12px 12px 0;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid #eef2f7;
    white-space: nowrap;
}
.admin-user-consents-table th:last-child,
.admin-user-consents-table td:last-child {
    padding-right: 0;
}
.admin-user-consents-table td {
    padding: 16px 12px 16px 0;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
    font-size: .84rem;
    color: #334155;
}
.admin-user-consents-table tbody tr:last-child td {
    border-bottom: 0;
}
.admin-consents-th-icon {
    margin-right: 4px;
    font-size: .72rem;
}
.admin-consents-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    color: #475569;
}
.admin-consents-date i {
    color: #94a3b8;
    font-size: .82rem;
}
.admin-consents-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 220px;
}
.admin-consents-user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
    font-weight: 800;
    flex-shrink: 0;
}
.admin-consents-user-avatar--photo {
    object-fit: cover;
    border: 1px solid #dbe5f2;
    background: #fff;
}
.admin-consents-user-name {
    display: block;
    font-size: .875rem;
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
}
.admin-consents-user-name:hover {
    color: #2563eb;
}
.admin-consents-user-meta {
    margin-top: 2px;
    font-size: .76rem;
    color: #64748b;
}
.admin-consents-doc-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #7c3aed;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.admin-consents-doc-link:hover {
    text-decoration: underline;
}
.admin-consents-doc-link i {
    font-size: .72rem;
}
.admin-consents-version {
    font-size: .82rem;
    color: #64748b;
    font-weight: 600;
}
.admin-consents-method {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.admin-consents-method i {
    color: #64748b;
    font-size: .9rem;
}
.admin-consents-agent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    max-width: 260px;
    color: #64748b;
    font-size: .78rem;
    line-height: 1.4;
}
.admin-consents-agent i {
    color: #94a3b8;
    font-size: .88rem;
    margin-top: 1px;
    flex-shrink: 0;
}
.admin-consents-agent span {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.admin-consents-actions-cell {
    width: 42px;
    text-align: right;
}
.admin-consents-row-menu {
    position: relative;
    display: inline-block;
}
.admin-consents-row-menu summary {
    list-style: none;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
}
.admin-consents-row-menu summary::-webkit-details-marker {
    display: none;
}
.admin-consents-row-menu summary:hover {
    background: #f1f5f9;
    color: #334155;
}
.admin-consents-row-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 20;
    min-width: 160px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}
.admin-consents-row-menu-panel a {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    color: #334155;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
}
.admin-consents-row-menu-panel a:hover {
    background: #f8fafc;
    color: #1d4ed8;
}
.admin-consents-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 14px 22px 18px;
    border-top: 1px solid #f1f5f9;
}
.admin-consents-per-page {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}
.admin-consents-per-page label {
    font-size: .8125rem;
    color: #64748b;
    font-weight: 600;
}
.admin-consents-per-page select {
    min-height: 36px;
    border: 1px solid #dbe5f2;
    border-radius: 8px;
    padding: 0 28px 0 10px;
    font-size: .8125rem;
    color: #334155;
    background: #fff;
}
.admin-consents-pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.admin-consents-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #475569;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
}
.admin-consents-page-btn.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.admin-consents-page-btn.is-disabled {
    opacity: .45;
}
.admin-consents-pagination nav {
    display: flex;
    justify-content: flex-end;
}
.admin-consents-pagination .pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.admin-consents-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #475569;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
}
.admin-consents-pagination .page-item.active .page-link {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.admin-consents-pagination .page-item.disabled .page-link {
    opacity: .45;
    pointer-events: none;
}
.admin-user-consents-table--compact { margin-top: 4px; }
.admin-user-consents-table--compact td,
.admin-user-consents-table--compact th {
    padding-top: 10px;
    padding-bottom: 10px;
}
.admin-users-card__btn--consents { background: #6366f1; color: #fff; }
.admin-users-card__btn--listings { background: #0ea5e9; color: #fff; }

@media (max-width: 900px) {
    .admin-consents-filter-bar {
        align-items: flex-start;
        flex-direction: column;
    }
    .admin-consents-table-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .admin-consents-pagination nav {
        justify-content: center;
    }
}

@media (max-width: 1400px) { .admin-mod-page .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .admin-mod-page .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) {
    .admin-listing-show-page .admin-detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-listing-show-page .admin-uploaded-images-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-listing-show-page .admin-amenities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .admin-listing-show-page .admin-detail-fields { grid-template-columns: 1fr; }
    .admin-listing-show-page .admin-amenities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .admin-listing-show-page .admin-amenities-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .admin-listing-show-page .admin-uploaded-images-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .admin-listing-show-page .admin-mod-action-buttons {
        width: 100%;
    }
    .admin-listing-show-page .admin-mod-btn {
        flex: 1 1 auto;
        min-width: min(100%, 160px);
    }
}
@media (max-width: 900px) {
}
@media (max-width: 720px) { .admin-mod-page .cards { grid-template-columns: 1fr; } }

/* Auth/Login page */
.auth-login-page * { box-sizing: border-box; }
/* Shared: standalone login + register headings + primary action */
.auth-login-page h1,
.auth-register-page h1 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    color: #202124;
    line-height: 1.3;
    padding: 0 0 8px;
    text-align: center;
}
.auth-login-page .subtitle,
.auth-register-page .subtitle {
    margin: 8px 0 28px;
    color: #64748b;
    font-size: .95rem;
    line-height: 1.45;
    text-align: center;
}
.auth-login-page .submit-btn,
.auth-register-page .submit-btn {
    margin: 22px 0 24px;
    width: 100%;
    border: 0;
    background: #2563eb;
    color: #fff;
    border-radius: 9px;
    padding: 16px 14px;
    cursor: pointer;
    font-family: inherit;
}
.auth-login-page .submit-btn:hover,
.auth-register-page .submit-btn:hover {
    background: #1d4ed8;
}
.auth-login-page { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
.auth-login-page .topbar { height: 68px; background: #fff; border-bottom: 1px solid #e5eaf1; }
.auth-login-page .topbar-inner,
.auth-register-page .topbar-inner,
.auth-forgot-page .topbar-inner { width: 1440px; max-width: 96%; height: 68px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.auth-login-page .brand,
.auth-register-page .brand,
.auth-forgot-page .brand { text-decoration: none; line-height: 1; display: inline-flex; align-items: center; }
.auth-login-page .brand img,
.auth-register-page .brand img,
.auth-forgot-page .brand img { height: 42px; width: auto; display: block; background: transparent; mix-blend-mode: multiply; }
.auth-login-page .topbar-right,
.auth-register-page .topbar-right,
.auth-forgot-page .topbar-right { font-size: .92rem; color: #64748b; }
.auth-login-page .topbar-right a,
.auth-register-page .topbar-right a,
.auth-forgot-page .topbar-right a { color: #2563eb; text-decoration: none; font-weight: 700; margin-left: 8px; }
.auth-login-page .layout { width: 100%; max-width: 800px; margin: 20px auto 28px; display: block; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 0 16px #EEE; }
.auth-login-page .auth-wrap { background: transparent; padding: 80px; }
.auth-login-page .auth-card { width: 100%; background: #fff; border: 0; border-radius: 14px; box-shadow: 0 6px 24px rgba(0, 0, 0, .1); padding: 50px 60px; }
.auth-login-page label { display: block; margin-bottom: 0; font-size: .82rem; font-weight: 700; color: #334155; padding-left: 2px; padding-bottom: 10px; }
.auth-login-page .field { margin-bottom: 31px; }
.auth-login-page input[type="text"], .auth-login-page input[type="password"], .auth-login-page input[type="email"] { width: 100%; font-size: 15px; border: 1px solid #e5e7eb; border-radius: 10px; background-color: #ffffff; font-weight: 500; color: #6c757d; padding: 11px 12px; }
.auth-login-page .input-icon-wrap,
.auth-register-page .input-icon-wrap { position: relative; }
.auth-login-page .input-icon,
.auth-register-page .input-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; width: 16px; height: 16px; pointer-events: none; }
.auth-login-page .input-icon.hidden { display: none; }
.auth-login-page .input-icon-wrap input,
.auth-register-page .input-icon-wrap input { padding-left: 36px; }
.auth-login-page input::placeholder,
.auth-register-page input::placeholder { color: #94a3b8; }
.auth-login-page .row-between { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .8rem; color: #64748b; margin: 6px 0 2px; }
.auth-login-page .row-between a { color: #2563eb; text-decoration: none; font-weight: 700; }
.auth-login-page .label-margin-zero { margin:0; }
.auth-login-page .divider { margin: 14px 0; position: relative; text-align: center; color: #94a3b8; font-size: .78rem; }
.auth-login-page .divider::before, .auth-login-page .divider::after { content: ""; position: absolute; top: 50%; width: 40%; height: 1px; background: #e2e8f0; }
.auth-login-page .divider::before { left: 0; }
.auth-login-page .divider::after { right: 0; }
.auth-login-page .divider span { display: inline-block; background: #fff; padding: 0 15px; position: relative; z-index: 1; }
.auth-login-page .social-btn { width: 100%; border: 1px solid #d8e1ee; border-radius: 9px; background: #fff; padding: 10px 14px; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #334155; font-size: .92rem; font-weight: 600; cursor: pointer; position: relative; }
.auth-login-page .social-btn-google .social-google-icon { width: 18px; height: 18px; display: block; position: absolute; left: 14px; margin-right: 0; }
.auth-login-page .status,
.auth-register-page .status { margin-bottom: 12px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; padding: 9px 11px; border-radius: 9px; font-size: .85rem; }
.auth-login-page .error,
.auth-register-page .error { color: #dc2626; font-size: .8rem; margin-top: 4px; }
.auth-login-page .foot-note,
.auth-register-page .foot-note { margin-top: 20px; text-align: center; color: #64748b; font-size: .9rem; display: grid; gap: 6px; justify-items: center; }
.auth-login-page .foot-note small,
.auth-register-page .foot-note small { color: #94a3b8; font-size: .82rem; }
.auth-login-page .phone-auth-card .subtitle { margin-bottom: 28px; }
.auth-login-page .phone-auth-card .field { margin-bottom: 20px; }
.auth-login-page .simple-link { display: inline-flex; margin-top: 8px; color: #2563eb; text-decoration: none; font-size: .84rem; font-weight: 600; }
@media (max-width: 768px) { .auth-login-page .auth-wrap { padding: 24px; } .auth-login-page .auth-card { padding: 24px; } }

/* Auth/Register page */
.auth-register-page * { box-sizing: border-box; }
.auth-register-page { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
.auth-register-page .topbar { height: 68px; background: #fff; border-bottom: 1px solid #e5eaf1; }
.auth-register-page .layout { width: 100%; max-width: 800px; margin: 20px auto 28px; display: block; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 0 16px #EEE; }
.auth-register-page .auth-wrap { background: transparent; padding: 80px; }
.auth-register-page .auth-card { width: 100%; background: #fff; border: 0; border-radius: 14px; box-shadow: 0 6px 24px rgba(0, 0, 0, .1); padding: 50px 60px; }
.auth-register-page .signup-illustration { display: grid; place-items: center; margin-bottom: 14px; }
.auth-register-page .signup-illustration img { width: 120px; max-width: 100%; height: auto; display: block; }
.auth-register-page .grid-two { display: grid; gap: 10px; grid-template-columns: 1fr; }
.auth-register-page label { display: block; margin-bottom: 0; font-size: .82rem; font-weight: 700; color: #334155; padding-left: 2px; padding-bottom: 10px; }
.auth-register-page .field { margin-bottom: 22px; }
.auth-register-page input[type="text"], .auth-register-page input[type="email"], .auth-register-page input[type="password"] { width: 100%; font-size: 15px; border: 1px solid #e5e7eb; border-radius: 10px; background-color: #ffffff; font-weight: 500; color: #6c757d; padding: 11px 12px; }
.auth-register-page .phone-wrap { position: relative; }
.auth-register-page .phone-prefix { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 6px; color: #334155; font-size: .84rem; font-weight: 700; pointer-events: none; }
.auth-register-page .phone-flag { font-size: .95rem; line-height: 1; }
.auth-register-page .phone-caret { font-size: .72rem; color: #64748b; margin-left: 4px; }
.auth-register-page #phone { padding-left: 86px; }
.auth-register-page .verify-mobile-btn { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 1px solid #2563eb; background: #fff; color: #2563eb; border-radius: 7px; padding: 6px 10px; font-size: .75rem; font-weight: 700; cursor: pointer; }
.auth-register-page .verify-mobile-btn.verified { background: #dcfce7; border-color: #16a34a; color: #166534; }
.auth-register-page .phone-wrap input { padding-right: 86px; }
.auth-register-page .hint { margin-top: 4px; color: #64748b; font-size: .75rem; }
.auth-register-page .live-hint { margin-top: 6px; min-height: 16px; font-size: .76rem; }
.auth-register-page .live-hint.success { color: #15803d; }
.auth-register-page .live-hint.error { color: #dc2626; }
.auth-register-page .agree { margin: 10px 0 0; display: flex; gap: 7px; align-items: flex-start; color: #64748b; font-size: .8rem; }
.auth-register-page .agree input { margin-top: 2px; width: 16px; height: 16px; }
.auth-register-page .agree a { color: #2563eb; text-decoration: none; }
.auth-register-page .password-wrap input { padding-right: 42px; }
.auth-register-page .toggle-eye { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #94a3b8; font-size: .82rem; cursor: pointer; line-height: 1; padding: 0; }
.auth-register-page .divider { margin: 14px 0; position: relative; text-align: center; color: #94a3b8; font-size: .78rem; }
.auth-register-page .divider::before, .auth-register-page .divider::after { content: ""; position: absolute; top: 50%; width: 42%; height: 1px; background: #e2e8f0; }
.auth-register-page .divider::before { left: 0; }
.auth-register-page .divider::after { right: 0; }
.auth-register-page .divider span { display: inline-block; background: #fff; padding: 0 15px; position: relative; z-index: 1; }
.auth-register-page .social-btn { width: 100%; border: 1px solid #d8e1ee; border-radius: 9px; background: #fff; padding: 12px 12px; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #334155; font-size: .95rem; font-weight: 600; cursor: not-allowed; position: relative; }
.auth-register-page .social-icon { position: absolute; left: 14px; width: 18px; text-align: center; color: #0f172a; font-weight: 700; }
@media (max-width: 768px) { .auth-register-page .auth-wrap { padding: 24px; } .auth-register-page .auth-card { padding: 24px; } }

/* Listings/Wishlist page */
.listing-wishlist-page * { box-sizing: border-box; }
.listing-wishlist-page { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
.listing-wishlist-page .container { width: 1440px; max-width: 96%; margin: 0 auto; }
.listing-wishlist-page .layout { margin: 32px 0 40px; width: 100%; display: grid; gap: 32px; grid-template-columns: 1fr; }
.listing-wishlist-page .main {
    background: #fff;
    border: 1px solid #e4e9f2;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.listing-wishlist-page .btn { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; border-radius: 8px; padding: 8px 12px; text-decoration: none; cursor: pointer; }
.listing-wishlist-page .muted { color: #64748b; font-size: .9rem; }
.listing-wishlist-page .cards { margin-top: 0; }
.listing-wishlist-page .empty { margin-top: 32px; border: 1px solid #e9eef7; border-radius: 10px; padding: 22px; text-align: center; }
.listing-wishlist-page .empty-title { margin:0 0 6px; }
.listing-wishlist-page .empty-note { margin-bottom:12px; }
.listing-wishlist-page .listing-link { text-decoration:none; color:inherit; }
.listing-wishlist-page .content-tight { padding-top:0; }
.listing-wishlist-page .listing-card .listing-card-action-form .listing-card-action {
    white-space: nowrap;
    border-color: #dc2626;
    color: #dc2626;
    background: #fff;
}
.listing-wishlist-page .listing-card .listing-card-action-form .listing-card-action:hover {
    border-color: #dc2626;
    color: #b91c1c;
    background: #fef2f2;
}
@media (min-width: 980px) {
    .listing-wishlist-page .layout { grid-template-columns: 280px minmax(0, 1fr); }
}

/* Auth/Forgot password page */
.auth-forgot-page * { box-sizing: border-box; }
.auth-forgot-page { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
.auth-forgot-page .container { width: 1440px; max-width: 96%; margin: 0 auto; }
.auth-forgot-page .topbar { height: 68px; background: #fff; border-bottom: 1px solid #e5eaf1; }
.auth-forgot-page .layout { width: 100%; max-width: 800px; margin: 20px auto 28px; display: block; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 0 16px #EEE; }
.auth-forgot-page .auth-wrap { background: transparent; padding: 80px; }
.auth-forgot-page .auth-card { width: 100%; background: #fff; border: 0; border-radius: 14px; box-shadow: 0 6px 24px rgba(0, 0, 0, .1); padding: 36px 50px; }
.auth-forgot-page .illustration-wrap { display: grid; place-items: center; margin-bottom: 22px; }
.auth-forgot-page .illustration-wrap img { width: 210px; max-width: 100%; height: auto; display: block; }
.auth-forgot-page h1 { margin: 0; font-size: 2.3rem; line-height: 1.1; text-align: center; color: #0f172a; }
.auth-forgot-page .sub { margin: 10px auto 28px; max-width: 470px; text-align: center; color: #64748b; font-size: 1.02rem; line-height: 1.45; }
.auth-forgot-page .field { margin-bottom: 18px; }
.auth-forgot-page label { display: block; margin-bottom: 10px; font-size: .95rem; font-weight: 700; color: #334155; }
.auth-forgot-page .input-wrap { position: relative; }
.auth-forgot-page .icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; width: 16px; height: 16px; pointer-events: none; }
.auth-forgot-page input { width: 100%; font-size: 15px; border: 1px solid #e5e7eb; border-radius: 10px; background-color: #ffffff; font-weight: 500; color: #6c757d; padding: 11px 12px 11px 36px; }
.auth-forgot-page input::placeholder { color: #94a3b8; }
.auth-forgot-page .submit-btn { margin: 22px 0 18px; width: 100%; border: 0; background: #2563eb; color: #fff; border-radius: 9px; padding: 17px 14px; cursor: pointer; }
.auth-forgot-page .or { margin: 15px 0 22px; position: relative; text-align: center; color: #94a3b8; font-size: .9rem; font-weight: 600; }
.auth-forgot-page .or::before, .auth-forgot-page .or::after { content: ""; position: absolute; top: 50%; width: 40%; height: 1px; background: #e2e8f0; }
.auth-forgot-page .or::before { left: 0; }
.auth-forgot-page .or::after { right: 0; }
.auth-forgot-page .or span { display: inline-block; background: #fff; padding: 0 15px; position: relative; z-index: 1; }
.auth-forgot-page .back-link { margin: 0 0 18px; text-align: center; color: #64748b; font-size: .92rem; }
.auth-forgot-page .back-link a { color: #2563eb; text-decoration: none; font-weight: 700; margin-left: 6px; }
.auth-forgot-page .security { margin-top: 10px; text-align: center; color: #64748b; font-size: .9rem; display: grid; gap: 6px; justify-items: center; background: #f5f7ff; border-radius: 12px; padding: 16px; }
.auth-forgot-page .security small { color: #94a3b8; font-size: .82rem; }
.auth-forgot-page .security .safe-note-icon { width: 50px; height: 50px; display: block; object-fit: contain; }
.auth-forgot-page .error { color: #dc2626; font-size: .8rem; margin-top: 4px; }
.auth-forgot-page .status { margin-bottom: 12px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; padding: 9px 11px; border-radius: 9px; font-size: .85rem; }
@media (max-width: 768px) {
    .auth-forgot-page .auth-wrap { padding: 24px; }
    .auth-forgot-page .auth-card { padding: 24px; }
}

/* Email verified success page */
.email-verified-page * { box-sizing: border-box; }
.email-verified-page {
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif;
    background: #f8fafc;
    color: #0f172a;
}
.email-verified-page .container {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 16px 40px;
}
.email-verified-page .ev-topbar {
    height: 68px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e5eaf1;
    background: #fff;
    margin: 0 -16px 24px;
    padding: 0 16px;
}
.email-verified-page .ev-topbar-inner {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
}
.email-verified-page .ev-brand img {
    height: 34px;
    width: auto;
    display: block;
}
.email-verified-page .ev-layout {
    display: flex;
    justify-content: center;
}
.email-verified-page .ev-card {
    width: 100%;
    max-width: 760px;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    padding: 28px 28px 22px;
}
.email-verified-page .ev-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}
.email-verified-page .ev-hero-icon {
    position: relative;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
}
.email-verified-page .ev-hero-icon__glow {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.22) 0%, rgba(34, 197, 94, 0) 72%);
}
.email-verified-page .ev-hero-icon__circle {
    position: relative;
    z-index: 1;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(145deg, #22c55e 0%, #16a34a 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2rem;
    box-shadow: 0 8px 20px rgba(22, 163, 74, 0.28);
}
.email-verified-page .ev-hero-icon__dot {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    z-index: 2;
}
.email-verified-page .ev-hero-icon__dot--1 { top: 2px; right: 10px; background: #a78bfa; }
.email-verified-page .ev-hero-icon__dot--2 { top: 14px; left: 0; background: #34d399; }
.email-verified-page .ev-hero-icon__dot--3 { bottom: 8px; right: 2px; background: #60a5fa; }
.email-verified-page .ev-hero-icon__dot--4 { bottom: 2px; left: 18px; background: #f472b6; }
.email-verified-page .ev-hero-copy h1 {
    margin: 0 0 6px;
    font-size: 1.65rem;
    line-height: 1.2;
    color: #0f172a;
    font-weight: 700;
}
.email-verified-page .ev-hero-copy p {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.45;
}
.email-verified-page .ev-status-box {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e8ecf2;
}
.email-verified-page .ev-status-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #dcfce7;
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.email-verified-page .ev-status-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.email-verified-page .ev-status-copy strong {
    font-size: 0.95rem;
    color: #0f172a;
    line-height: 1.35;
}
.email-verified-page .ev-status-copy span {
    font-size: 0.86rem;
    color: #64748b;
    line-height: 1.4;
}
.email-verified-page .ev-status-art {
    width: 88px;
    height: auto;
    opacity: 0.55;
    flex-shrink: 0;
}
.email-verified-page .ev-next-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-top: 1px solid #eef2f7;
    border-bottom: 1px solid #eef2f7;
    margin-bottom: 14px;
}
.email-verified-page .ev-next-icon,
.email-verified-page .ev-help-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    flex-shrink: 0;
}
.email-verified-page .ev-next-icon {
    background: #f3e8ff;
    color: #7c3aed;
}
.email-verified-page .ev-next-copy,
.email-verified-page .ev-help-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.email-verified-page .ev-next-copy strong,
.email-verified-page .ev-help-copy strong {
    font-size: 0.94rem;
    color: #0f172a;
}
.email-verified-page .ev-next-copy span,
.email-verified-page .ev-help-copy span {
    font-size: 0.84rem;
    color: #64748b;
    line-height: 1.4;
}
.email-verified-page .ev-continue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 148px;
    padding: 12px 20px;
    border-radius: 10px;
    background: var(--rz-btn-primary-bg);
    color: #fff;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(79, 70, 229, 0.22);
    transition: background 0.15s ease, transform 0.15s ease;
    white-space: nowrap;
}
.email-verified-page .ev-continue-btn:hover {
    background: var(--rz-btn-primary-bg-hover);
    color: #fff;
    transform: translateY(-1px);
}
.email-verified-page .ev-help-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: start;
    padding-top: 4px;
}
.email-verified-page .ev-help-icon {
    background: #eff6ff;
    color: #2563eb;
}
.email-verified-page .ev-help-copy a {
    margin-top: 4px;
    font-size: 0.86rem;
    font-weight: 700;
    color: #2563eb;
    text-decoration: none;
}
.email-verified-page .ev-help-copy a:hover {
    text-decoration: underline;
}
@media (max-width: 720px) {
    .email-verified-page .ev-card {
        padding: 22px 18px 18px;
    }
    .email-verified-page .ev-hero {
        align-items: flex-start;
    }
    .email-verified-page .ev-status-box {
        grid-template-columns: auto 1fr;
    }
    .email-verified-page .ev-status-art {
        display: none;
    }
    .email-verified-page .ev-next-row {
        grid-template-columns: auto 1fr;
    }
    .email-verified-page .ev-continue-btn {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Auth/Profile page — Edit Profile (reference layout: white card, two columns, icon inputs) */
.auth-profile-page * { box-sizing: border-box; }
.auth-profile-page {
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif;
    /*background: #f1f5f9;*/
    color: #0f172a;
}
.auth-profile-page .container { width: 1440px; max-width: 96%; margin: 0 auto; }
.auth-profile-page .shell {
    margin: 32px 0 40px;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
    align-items: start;
}
.auth-profile-page .pf-editor-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: var(--rz-main-padding);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    min-width: 0;
}
.auth-profile-page .pf-page-head {
    margin-bottom: 24px;
    padding-bottom: 0;
    border-bottom: 0;
}
.auth-profile-page .pf-page-head h1 {
    margin: 0;
    font-size: 1.65rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.auth-profile-page .pf-page-head .subtitle {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.45;
}
.auth-profile-page .pf-page-head .success {
    margin-top: 14px;
}
.auth-profile-page .pf-editor-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr;
    align-items: stretch;
}
.auth-profile-page .pf-col-personal.main {
    padding: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.auth-profile-page .pf-col-personal.main > form:first-of-type {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.auth-profile-page .pf-personal-card.section {
    margin: 0;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    padding: 20px 22px 22px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    flex: 1;
}
.auth-profile-page .pf-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef2f7;
}
.auth-profile-page .pf-section-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.15rem;
}
.auth-profile-page .pf-section-head h3 {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: #0f172a;
}
.auth-profile-page .pf-profile-grid.grid.two {
    gap: 16px 20px;
}
.auth-profile-page .pf-field-span-full {
    grid-column: 1 / -1;
}
.auth-profile-page .pf-field label {
    margin-bottom: 6px;
}
/* Icon + field: flex row so text never sits under icons (beats autofill / global input padding) */
.auth-profile-page .pf-input-wrap {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    border: 1px solid #d6ddeb;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    min-height: var(--rz-field-min-height);
}
.auth-profile-page .pf-input-wrap:has(.pf-infield-wrap--unverified) {
    border-color: #ef4444;
}
.auth-profile-page .pf-input-wrap:has(.pf-infield-wrap--unverified) {
    border-color: #ef4444;
}
.auth-profile-page .pf-input-wrap .pf-input-leading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    flex-shrink: 0;
    background: #f8fafc;
    border-right: 1px solid #e8ecf2;
    color: #94a3b8;
    font-size: 1.05rem;
}
.auth-profile-page .pf-input-wrap > input {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 11px 12px !important;
    min-height: var(--rz-field-min-height);
    margin: 0;
    background: #fff;
}
.auth-profile-page .pf-input-wrap .pf-infield-wrap {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    display: flex;
    align-items: stretch;
}
.auth-profile-page .pf-input-wrap .pf-infield-wrap input {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 11px 12px !important;
    min-height: var(--rz-field-min-height);
    margin: 0;
    background: #fff;
}
.auth-profile-page .pf-email-field-wrap {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    border: 1px solid #d6ddeb;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    min-height: var(--rz-field-min-height);
}
.auth-profile-page .pf-email-field-wrap--unverified {
    border-color: #ef4444;
}
.auth-profile-page .pf-email-field-wrap .pf-input-leading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    flex-shrink: 0;
    background: #f8fafc;
    border-right: 1px solid #e8ecf2;
    color: #94a3b8;
    font-size: 1.05rem;
}
.auth-profile-page .pf-email-input-slot {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    display: flex;
    align-items: stretch;
}
.auth-profile-page .pf-email-input-slot > input {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 11px 12px !important;
    min-height: var(--rz-field-min-height);
    margin: 0;
    background: #fff;
}
.auth-profile-page .pf-email-field-wrap--unverified .pf-email-input-slot > input {
    padding-right: 44px !important;
}
.auth-profile-page .pf-email-field-wrap--verified .pf-email-input-slot > input {
    padding-right: 100px !important;
}
.auth-profile-page .section { border: 1px solid #e9eef7; border-radius: 10px; padding: 12px; margin-bottom: 12px; }
.auth-profile-page .pf-personal-card.section {
    margin-bottom: 0;
}
.auth-profile-page .section h3 { margin: 0 0 10px; font-size: .95rem; }
.auth-profile-page .pf-personal-card .pf-section-head ~ .grid {
    margin-top: 0;
}
.auth-profile-page .grid { display: grid; gap: 10px; grid-template-columns: 1fr; }
.auth-profile-page label { display: block; margin-bottom: 5px; font-size: .78rem; color: #64748b; font-weight: 600; }
.auth-profile-page input, .auth-profile-page select, .auth-profile-page textarea { width: 100%; border: 1px solid #d6ddeb; border-radius: 8px; padding: 9px 10px; font-size: .88rem; background: #fff; }
.auth-profile-page .pf-input-wrap .pf-infield-wrap--verified input {
    padding-right: 100px !important;
}
.auth-profile-page .pf-input-wrap .pf-infield-wrap--unverified input {
    padding-right: 108px !important;
}
.auth-profile-page .pf-input-wrap > input:-webkit-autofill,
.auth-profile-page .pf-input-wrap .pf-infield-wrap input:-webkit-autofill,
.auth-profile-page .pf-email-input-slot > input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
}
/* Strong gray “read-only” look; !important beats UA/autofill overrides on disabled fields */
.auth-profile-page input:disabled,
.auth-profile-page select:disabled,
.auth-profile-page textarea:disabled,
.auth-profile-page .pf-infield-wrap input:disabled,
.auth-profile-page .pf-email-input-slot input:disabled {
    background: #e2e8f0 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    border-color: transparent !important;
    cursor: not-allowed;
    opacity: 1;
}
.auth-profile-page .pf-input-wrap:has(input:disabled) {
    background: #e2e8f0;
    border-color: #cbd5e1;
}
.auth-profile-page .pf-input-wrap:has(input:disabled) .pf-input-leading {
    background: #e2e8f0;
    border-right-color: #cbd5e1;
}
.auth-profile-page textarea { min-height: 74px; resize: vertical; }
.auth-profile-page .error { color: #dc2626; font-size: .8rem; margin-top: 3px; }
.auth-profile-page .pf-infield-wrap { position: relative; }
.auth-profile-page .pf-verified-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.auth-profile-page .pf-verified-tag--infield {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    max-width: min(100px, calc(100% - 20px));
}
.auth-profile-page .pf-verified-tag .bi {
    font-size: .72rem;
    line-height: 1;
}
.auth-profile-page .pf-unverified-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.auth-profile-page .pf-unverified-tag--infield {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    max-width: min(108px, calc(100% - 20px));
}
.auth-profile-page .pf-email-unverified-icon-wrap {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    font-size: 1.12rem;
    line-height: 1;
    cursor: help;
    z-index: 2;
}
.auth-profile-page .pf-email-unverified-icon-wrap:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 10px;
    background: #1e293b;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
    font-family: 'Source Sans Pro', sans-serif;
    white-space: nowrap;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .2);
    pointer-events: none;
    z-index: 20;
}
.auth-profile-page .pf-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.auth-profile-page .pf-verify-email-action { margin-top: 8px; }
.auth-profile-page .pf-verify-email-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 600;
    font-family: inherit;
    color: #2563eb;
    text-decoration: underline;
    cursor: pointer;
    text-align: left;
    line-height: 1.45;
}
.auth-profile-page .pf-verify-email-link:hover {
    color: #1d4ed8;
}
.auth-profile-page .pf-verify-email-link .pf-verify-muted {
    color: #64748b;
    text-decoration: none;
}
.auth-profile-page .pf-verify-email-link .pf-verify-here {
    color: #2563eb;
    font-weight: 600;
    text-decoration: underline;
}
.auth-profile-page .pf-verify-email-link:hover .pf-verify-here {
    color: #1d4ed8;
}
.auth-profile-page .pf-verify-email-link:hover .pf-verify-muted {
    color: #475569;
}
.auth-profile-page .pf-phone-update-action { margin-top: 8px; }
.auth-profile-page .pf-phone-update-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    line-height: 1.45;
}
.auth-profile-page .pf-phone-update-muted {
    color: #64748b;
    text-decoration: none;
}
.auth-profile-page .pf-phone-update-cta {
    color: #2563eb;
    font-weight: 600;
    text-decoration: underline;
}
.auth-profile-page .pf-phone-update-link:hover .pf-phone-update-cta {
    color: #1d4ed8;
}
.auth-profile-page .pf-phone-update-link:hover .pf-phone-update-muted {
    color: #475569;
}
.auth-profile-page .pf-photo-remove-action { margin-top: 10px; text-align: center; }
.auth-profile-page .pf-photo-remove-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    text-align: center;
    line-height: 1.45;
}
.auth-profile-page .pf-photo-remove-muted {
    color: #64748b;
    text-decoration: none;
}
.auth-profile-page .pf-photo-remove-cta {
    color: #dc2626;
    font-weight: 600;
    text-decoration: underline;
}
.auth-profile-page .pf-photo-remove-link:hover .pf-photo-remove-cta {
    color: #b91c1c;
}
.auth-profile-page .pf-photo-remove-link:hover .pf-photo-remove-muted {
    color: #475569;
}
.pf-photo-remove-modal {
    position: fixed;
    inset: 0;
    z-index: 2250;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.pf-photo-remove-modal[hidden] {
    display: none !important;
}
body.pf-photo-remove-modal-open {
    overflow: hidden;
    overscroll-behavior: none;
}
.pf-photo-remove-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.pf-photo-remove-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(460px, 100%);
    max-height: calc(100dvh - 32px);
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    padding: 28px 24px 24px;
    box-sizing: border-box;
    text-align: center;
}
.pf-photo-remove-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}
.pf-photo-remove-modal__close:hover {
    background: #f8fafc;
    color: #0f172a;
}
.pf-photo-remove-modal__hero {
    padding: 8px 8px 20px;
}
.pf-photo-remove-modal__icon-wrap {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
}
.pf-photo-remove-modal__icon {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: #fce7f3;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
}
.pf-photo-remove-modal__badge {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    border: 2px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    line-height: 1;
}
.pf-photo-remove-modal__title {
    margin: 0 0 8px;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.pf-photo-remove-modal__lead {
    margin: 0;
    font-size: 0.92rem;
    color: #64748b;
    line-height: 1.45;
}
.pf-photo-remove-modal__notice {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    margin-bottom: 22px;
    border-radius: 12px;
    background: #fdf2f8;
    border: 1px solid #fbcfe8;
    text-align: left;
}
.pf-photo-remove-modal__notice-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #fce7f3;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}
.pf-photo-remove-modal__notice-copy {
    margin: 0;
    font-size: 0.84rem;
    color: #64748b;
    line-height: 1.45;
}
.pf-photo-remove-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.pf-photo-remove-modal__keep,
.pf-photo-remove-modal__confirm {
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 0.88rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
}
.pf-photo-remove-modal__keep {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
}
.pf-photo-remove-modal__keep:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}
.pf-photo-remove-modal__confirm {
    border: 1px solid #dc2626;
    background: #dc2626;
    color: #fff;
}
.pf-photo-remove-modal__confirm:hover:not(:disabled) {
    background: #b91c1c;
    border-color: #b91c1c;
}
.pf-photo-remove-modal__confirm:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
@media (max-width: 480px) {
    .pf-photo-remove-modal__actions {
        grid-template-columns: 1fr;
    }
}
.pf-phone-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overscroll-behavior: contain;
}
.pf-phone-modal[hidden] { display: none !important; }
.pf-phone-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .55);
}
.pf-phone-modal__dialog {
    position: relative;
    width: min(100%, 850px);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, .18);
    padding: 0;
    overflow: hidden;
    max-height: min(94dvh, 100%);
}
.pf-phone-modal__layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: stretch;
    min-height: 360px;
}
.pf-phone-modal__art {
    background: linear-gradient(160deg, #eef2ff 0%, #f5f3ff 48%, #ede9fe 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
}
.pf-phone-modal__art-inner {
    width: min(100%, 220px);
    line-height: 0;
}
.pf-phone-modal__art-inner img {
    width: 100%;
    height: auto;
    display: block;
}
.pf-phone-modal__main {
    min-width: 0;
    padding: 28px 32px 24px;
}
.pf-phone-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    z-index: 2;
}
.pf-phone-modal__close:hover {
    color: #0f172a;
    background: #e2e8f0;
}
.pf-phone-modal__head {
    display: block;
    margin-bottom: 22px;
    padding-right: 36px;
}
.pf-phone-modal__head-copy {
    min-width: 0;
}
.pf-phone-modal__title {
    margin: 0 0 8px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.pf-phone-modal__lead {
    margin: 0;
    padding: 8px 0 0;
    font-size: 0.88rem;
    line-height: 1.55;
    color: #64748b;
}
.pf-phone-modal__lead strong {
    color: #0f172a;
    font-weight: 700;
}
.pf-phone-modal__field { margin-bottom: 16px; }
.pf-phone-modal__field label {
    display: block;
    margin-bottom: 10px;
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
}
.pf-phone-modal__email-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d6ddeb;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 0.94rem;
    font-family: inherit;
    color: #0f172a;
    background: #fff;
}
.pf-phone-modal__email-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.pf-phone-modal__phone-input {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #d6ddeb;
    border-radius: 12px;
    padding: 0 14px 0 12px;
    background: #fff;
}
.pf-phone-modal__phone-prefix {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #475569;
    flex-shrink: 0;
    padding-right: 10px;
}
.pf-phone-modal__phone-prefix-caret {
    font-size: 0.62rem;
    color: #94a3b8;
}
.pf-phone-modal__phone-divider {
    width: 1px;
    align-self: stretch;
    margin: 10px 12px 10px 0;
    background: #e2e8f0;
    flex-shrink: 0;
}
.auth-profile-page .pf-phone-modal__phone-input input,
.pf-phone-modal__phone-input input,
.auth-profile-page #pf_phone_new,
#pf_phone_new {
    flex: 1;
    min-width: 0;
    width: auto;
    border: 0 !important;
    border-width: 0 !important;
    border-radius: 0;
    box-shadow: none;
    padding: 12px 8px 12px 0;
    font-size: 0.94rem;
    font-weight: 500;
    color: #0f172a;
    background: transparent;
    box-sizing: border-box;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}
.auth-profile-page .pf-phone-modal__phone-input input:focus,
.pf-phone-modal__phone-input input:focus,
.auth-profile-page #pf_phone_new:focus,
#pf_phone_new:focus,
.auth-profile-page #pf_phone_new:focus-visible,
#pf_phone_new:focus-visible {
    outline: none;
    border: 0 !important;
    border-width: 0 !important;
    box-shadow: none;
}
.pf-phone-modal__phone-field-icon {
    flex-shrink: 0;
    font-size: 0.95rem;
    color: #94a3b8;
}
.pf-phone-modal__phone-input:focus-within {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, .12);
}
.pf-phone-modal__current-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5f3ff;
    border: 1px solid #e9d5ff;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #64748b;
}
.pf-phone-modal__current-notice .bi {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 1rem;
    color: #7c3aed;
}
.pf-phone-modal__current-notice strong {
    color: #4338ca;
    font-weight: 700;
}
.pf-phone-modal__otp-boxes {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}
.pf-phone-modal__otp-box {
    width: 100%;
    min-width: 0;
    height: 48px;
    border: 0;
    border-bottom: 2px solid #cbd5e1;
    border-radius: 0;
    background: transparent;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
    padding: 0;
    box-sizing: border-box;
}
.pf-phone-modal__otp-box:focus {
    outline: none;
    border-bottom-color: #7c3aed;
    box-shadow: 0 2px 0 0 rgba(124, 58, 237, .25);
}
.pf-phone-modal__otp-hint {
    margin: 10px 0 0;
    font-size: 0.78rem;
    color: #94a3b8;
    line-height: 1.4;
}
.pf-phone-modal__error {
    margin: 8px 0 0;
    font-size: 0.8rem;
    color: #dc2626;
}
.pf-phone-modal__demo {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.pf-phone-modal__demo-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #dbeafe;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}
.pf-phone-modal__demo-copy strong {
    display: block;
    font-size: 0.88rem;
    color: #1d4ed8;
    margin-bottom: 2px;
}
.pf-phone-modal__demo-copy p {
    margin: 0;
    font-size: 0.76rem;
    color: #64748b;
    line-height: 1.4;
}
.pf-phone-modal__status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #16a34a;
    line-height: 1.4;
}
.pf-phone-modal__status .bi {
    font-size: 1rem;
    flex-shrink: 0;
}
.pf-phone-modal__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.pf-phone-modal__actions--phone {
    margin-top: 4px;
}
.pf-phone-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.pf-phone-modal__footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.pf-phone-modal__cancel,
.pf-phone-modal__text-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 0;
}
.pf-phone-modal__text-btn--resend {
    color: #7c3aed;
}
.pf-phone-modal__text-btn:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}
.pf-phone-modal__text-btn:not(:disabled):hover {
    color: #5b21b6;
}
.pf-phone-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 10px;
    padding: 11px 16px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.pf-phone-modal__submit--primary {
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 52%, #5d45d6 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(93, 69, 214, .28);
    padding: 12px 20px;
}
.pf-phone-modal__submit--primary:hover {
    background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 52%, #4f46e5 100%);
}
.pf-phone-modal__submit:disabled {
    opacity: .6;
    cursor: not-allowed;
}
@media (max-width: 680px) {
    .pf-phone-modal {
        align-items: center;
        justify-content: center;
        padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
    }
    .pf-phone-modal__dialog {
        width: min(100%, 480px);
        max-height: min(94dvh, 100%);
        border-radius: 16px;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .pf-phone-modal__layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .pf-phone-modal__art {
        display: none;
    }
    .pf-phone-modal__main {
        padding: 24px 20px max(24px, env(safe-area-inset-bottom, 0px));
    }
}
@media (max-width: 560px) {
    .pf-phone-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }
    .pf-phone-modal__submit--primary {
        width: 100%;
    }
}
.auth-profile-page .pf-email-verify-send-form {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.auth-profile-page .pf-email-demo {
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
}
.auth-profile-page .pf-email-demo-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}
.auth-profile-page .pf-email-demo-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.auth-profile-page .pf-email-demo-lead {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.45;
    color: #1e40af;
}
.auth-profile-page .pf-email-demo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.auth-profile-page .pf-email-demo-form {
    margin: 0;
}
.auth-profile-page .pf-email-demo-verify,
.auth-profile-page .pf-email-demo-link-btn {
    padding: 8px 14px;
    font-size: 0.82rem;
    min-height: 0;
}
.auth-profile-page .pf-email-demo-link-btn {
    border: 1px solid #93c5fd;
    background: #fff;
    color: #1d4ed8;
}
.auth-profile-page .pf-email-demo-link-btn:hover {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #1e3a8a;
}
.auth-profile-page .pf-email-demo-open-link {
    display: inline-block;
    margin-top: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #2563eb;
    text-decoration: underline;
    word-break: break-all;
}
.auth-profile-page .pf-email-demo-open-link:hover {
    color: #1d4ed8;
}
.auth-profile-page .pf-email-demo-otp-hint {
    margin: 0 0 12px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fff;
    border: 1px dashed #93c5fd;
    font-size: 0.84rem;
    color: #1e40af;
}
.auth-profile-page .pf-email-demo-otp-hint strong {
    font-size: 1rem;
    letter-spacing: 0.12em;
}
.auth-profile-page .pf-email-otp-boxes {
    margin-bottom: 10px;
}
.auth-profile-page .pf-email-otp-error {
    margin: 0 0 10px;
}
.auth-profile-page .pf-email-demo-form--hidden {
    display: none;
}
.auth-profile-page .success { background: #e8f5e9; border: 1px solid #c8e6c9; color: #1b5e20; padding: 9px 10px; border-radius: 8px; margin-bottom: 10px; font-size: .84rem; }
.auth-profile-page .pf-col-photo {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.pf-photo-panel {
    margin: 0;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 14px;
    padding: 20px 20px 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-sizing: border-box;
}
.auth-profile-page .pf-photo-panel {
    background: #fff !important;
    border: 1px solid #e8ecf2 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.pf-photo-panel-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}
.pf-photo-panel-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.pf-photo-panel-head-text {
    min-width: 0;
}
.pf-photo-panel-title {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.3;
}
.pf-photo-panel-lead {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #64748b;
}
.photo-wrap.pf-photo-wrap,
.auth-profile-page .photo-wrap.pf-photo-wrap {
    display: grid;
    justify-items: stretch;
    gap: 10px;
    width: 100%;
}
.pf-avatar-ring,
.auth-profile-page .pf-avatar-ring {
    position: relative;
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    margin: 0 auto 4px;
}
.pf-avatar-ring .avatar-preview,
.auth-profile-page .pf-avatar-ring .avatar-preview {
    width: 120px;
    height: 120px;
    border-radius: 999px;
    border: 3px solid #fff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);
    object-fit: cover;
    background: #e2e8f0;
    display: block;
}
.pf-avatar-camera,
.auth-profile-page .pf-avatar-camera {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #fff;
    border: 2px solid #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.pf-avatar-camera:hover,
.auth-profile-page .pf-avatar-camera:hover {
    color: #1d4ed8;
    box-shadow: 0 2px 12px rgba(37, 99, 235, 0.2);
}
.pf-avatar-camera:focus-visible,
.auth-profile-page .pf-avatar-camera:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 3px;
}
.pf-avatar-camera .bi,
.auth-profile-page .pf-avatar-camera .bi {
    font-size: 0.95rem;
    line-height: 1;
}
.pf-photo-hint {
    margin: 0;
    text-align: center;
    font-size: .8rem;
    color: #64748b;
    line-height: 1.35;
}
.pf-photo-dropzone {
    width: 100%;
    padding: 22px 18px 18px;
    border: 2px dashed #93c5fd;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f7ff 100%);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.pf-photo-dropzone:hover,
.pf-photo-dropzone:focus-visible {
    border-color: #93c5fd;
    background: #eff6ff;
    outline: none;
}
.pf-photo-dropzone.is-dragover {
    border-color: #2563eb;
    background: #dbeafe;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.2);
}
.pf-photo-dropzone-label {
    margin: 14px 0 0;
    text-align: center;
    font-size: 0.86rem;
    font-weight: 600;
    color: #2563eb;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.pf-photo-dropzone-label .bi {
    font-size: 1.05rem;
}
.pf-photo-or {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 260px;
    margin: 14px auto;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 500;
}
.pf-photo-or::before,
.pf-photo-or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #dbeafe;
}
.pf-photo-or span {
    flex-shrink: 0;
}
.pf-photo-specs {
    margin: 14px 0 0;
    text-align: center;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #94a3b8;
    max-width: 280px;
}
.pf-photo-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 4px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.78rem;
    line-height: 1.45;
    box-sizing: border-box;
}
.pf-photo-tip .bi {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 0.95rem;
    color: #2563eb;
}
.pf-photo-tip p {
    margin: 0;
}
.pf-photo-tip strong {
    font-weight: 700;
}
.pf-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.pf-crop-tool-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.pf-crop-tool-label {
    font-size: .76rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    min-width: 3.5rem;
    text-align: center;
}
.pf-crop-tool-btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pf-crop-tool-btn--icon {
    font-size: 1.05rem;
}
.pf-crop-tool-btn:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}
label.pf-photo-upload-btn,
.pf-photo-upload-btn {
    margin: 0;
    width: 100%;
    max-width: 260px;
    border: 1px solid #93c5fd;
    background: #fff;
    color: #2563eb;
    border-radius: 10px;
    padding: 11px 18px;
    font-size: 0.86rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    box-sizing: border-box;
}
.pf-photo-upload-btn--inzone {
    width: 100%;
    max-width: 260px;
}
label.pf-photo-upload-btn:hover,
.pf-photo-upload-btn:hover {
    background: #eff6ff;
    border-color: #60a5fa;
    color: #1d4ed8;
}
label.pf-photo-upload-btn:focus-visible,
.pf-photo-upload-btn:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.admin-settings-photo-form {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e8ecf2;
}
.admin-settings-photo-dropzone {
    max-width: 100%;
}
.admin-settings-photo-form .pf-photo-panel {
    max-width: 100%;
    border: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
}
.admin-settings-photo-success {
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #047857;
    font-size: 0.85rem;
    font-weight: 600;
}
@media (max-width: 679px) {
    .pf-crop-modal-body {
        gap: 16px;
    }
}
@media (max-width: 479px) {
    .pf-crop-modal-dialog {
        width: 100%;
        padding: 16px 14px 14px;
        border-radius: 14px;
    }
    .pf-crop-modal-title {
        font-size: 1.05rem;
    }
    .pf-crop-stage {
        min-height: 200px;
    }
    .pf-crop-control-btn {
        width: 42px;
        height: 42px;
    }
    .pf-crop-modal-actions {
        flex-direction: column-reverse;
    }
    .pf-crop-btn-cancel,
    .pf-crop-btn-apply {
        width: 100%;
        justify-content: center;
    }
    .pf-photo-dropzone {
        padding: 12px 10px 10px;
    }
}
/* Profile photo crop modal (Cropper.js) */
.pf-crop-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.pf-crop-modal[hidden] {
    display: none !important;
}
.pf-crop-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(3px);
}
.pf-crop-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(92vh, 720px);
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e8ecf2;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.18);
    padding: 22px 22px 18px;
    box-sizing: border-box;
}
.pf-crop-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.pf-crop-modal-header-text {
    min-width: 0;
}
.pf-crop-modal-title {
    margin: 0 0 4px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.pf-crop-modal-lead {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.45;
    color: #64748b;
}
.pf-crop-modal-close {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}
.pf-crop-modal-close:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.pf-crop-modal-body {
    display: block;
}
.pf-crop-editor {
    min-width: 0;
}
.pf-crop-stage-wrap {
    background: #111827;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 14px;
    padding: 0;
    box-sizing: border-box;
}
.pf-crop-stage {
    max-height: min(48vh, 360px);
    min-height: 240px;
}
.pf-crop-img-el {
    display: block;
    max-width: 100%;
    max-height: 48vh;
}
.pf-crop-stage .cropper-container {
    max-height: min(48vh, 360px) !important;
}
.pf-crop-stage .cropper-container.cropper-move,
.pf-crop-stage .cropper-container.cropper-crop {
    touch-action: none;
    -webkit-user-select: none;
    user-select: none;
}
.pf-crop-stage .cropper-container.cropper-move .cropper-wrap-box,
.pf-crop-stage .cropper-container.cropper-move .cropper-canvas {
    cursor: grab !important;
}
.pf-crop-stage .cropper-container.cropper-move:active .cropper-wrap-box,
.pf-crop-stage .cropper-container.cropper-move:active .cropper-canvas {
    cursor: grabbing !important;
}
.pf-crop-stage .cropper-view-box {
    outline: 0;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(124, 58, 237, 0.45);
}
.pf-crop-stage .cropper-point {
    width: 12px;
    height: 12px;
    opacity: 1;
    background: #fff;
    border: 0;
    border-radius: 999px;
}
.pf-crop-stage .cropper-line {
    background-color: rgba(255, 255, 255, 0.75);
}
.pf-crop-stage .cropper-dashed {
    border-color: rgba(255, 255, 255, 0.45);
}
.pf-crop-control {
    margin-bottom: 12px;
}
.pf-crop-control-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.76rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.pf-crop-control-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.pf-crop-control-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pf-crop-control-btn--compact {
    width: 34px;
    height: 34px;
    font-size: 1.25rem;
}
.pf-crop-control-btn:hover {
    background: #f5f3ff;
    border-color: #c4b5fd;
    color: #6d28d9;
}
.pf-crop-rotate-degree {
    min-width: 3.5rem;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.pf-crop-zoom-row {
    gap: 10px;
}
.pf-crop-zoom-slider {
    flex: 1;
    min-width: 0;
    height: 6px;
    margin: 0;
    accent-color: #7c3aed;
    cursor: pointer;
}
.pf-crop-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid #eef2f7;
}
.pf-crop-btn-cancel {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    border-radius: 10px;
    padding: 11px 20px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
}
.pf-crop-btn-cancel:hover {
    background: #f8fafc;
}
.pf-crop-btn-apply {
    border-radius: 10px;
    padding: 11px 20px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    border: 0;
    background: #7c3aed;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 14px rgba(124, 58, 237, 0.28);
}
.pf-crop-btn-apply:hover {
    background: #6d28d9;
}
.pf-crop-btn-apply .bi {
    font-size: 1.05rem;
}

.auth-profile-page .muted { color: #64748b; font-size: .78rem; }
.auth-profile-page .pf-personal-card .bottom-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid #eef2f7;
}
.auth-profile-page .bottom-actions .btn-primary {
    border: 0;
    background: #2563eb;
    color: #fff;
    border-radius: 10px;
    padding: 12px 22px;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    min-width: 0;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.auth-profile-page .bottom-actions .btn-primary .bi {
    font-size: 1rem;
}
.auth-profile-page .bottom-actions .btn-primary:hover {
    background: #1d4ed8;
    color: #fff;
}
.auth-profile-page .bottom-actions .btn:not(.btn-primary) {
    border: 2px solid #2563eb;
    background: #fff;
    color: #2563eb;
    border-radius: 8px;
    padding: 15px 22px;
    font-family: inherit;
    min-width: 160px;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: pointer;
}
.auth-profile-page .bottom-actions .btn:not(.btn-primary):hover {
    background: #eff6ff;
    border-color: #1d4ed8;
    color: #1d4ed8;
}
@media (min-width: 980px) {
    .auth-profile-page .shell {
        grid-template-columns: 280px minmax(0, 1fr);
    }

    .auth-profile-page #rzLpSidebar.lp-sidebar {
        display: block;
        position: static;
        transform: none;
        visibility: visible;
        pointer-events: auto;
        height: auto;
        margin: 0;
    }
    .auth-profile-page .pf-editor-grid {
        grid-template-columns: minmax(0, 1.75fr) minmax(260px, 1fr);
        gap: 36px;
        align-items: stretch;
    }
    .auth-profile-page .grid.two { grid-template-columns: 1fr 1fr; }
    .auth-profile-page .grid.three { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 979px) {
    body.auth-profile-page,
    .auth-profile-page {
        background: #fff;
    }

    body.auth-profile-page {
        overflow-x: clip;
    }

    .auth-profile-page .shell {
        margin: 32px 0 40px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        gap: 0;
    }

    .auth-profile-page .pf-editor-wrap {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 0 22px !important;
        min-width: 0;
        max-width: 100%;
        width: 100%;
    }

    .auth-profile-page .pf-page-head {
        margin-bottom: 20px;
    }

    .auth-profile-page .pf-editor-grid {
        gap: 20px;
        width: 100%;
        min-width: 0;
    }

    .auth-profile-page .pf-personal-card.section {
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .auth-profile-page .pf-photo-panel {
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .auth-profile-page .pf-profile-grid.grid.two {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .auth-profile-page .pf-personal-card .bottom-actions {
        flex-direction: column;
        align-items: stretch;
        padding-top: 16px;
    }

    .auth-profile-page .bottom-actions .btn-primary {
        width: 100%;
        justify-content: center;
    }

    .auth-profile-page .pf-phone-update-action {
        display: flex;
        justify-content: flex-end;
    }

    .auth-profile-page .pf-phone-update-link {
        text-align: right;
    }
}

/* Shared header partial */
/* First page container that holds the site header stacks above following sections so the
   profile dropdown is not covered by browse filters (.rz-dd-menu z-index), cards, or .shell. */
body > .container:first-of-type:has(> .uh-header) {
    position: relative;
    z-index: 1600;
}
.uh-header {
    margin-top: 0;
    background: transparent;
    border-radius: 0;
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    z-index: 10;
}
.uh-header-main {
    display: flex;
    align-items: center;
    gap: clamp(12px, 3vw, 32px);
    flex: 1;
    min-width: 0;
}
.uh-header::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06), 0 4px 12px rgba(15, 23, 42, 0.04);
}
@media (min-width: 980px) {
    .uh-header::before {
        left: 50%;
        right: auto;
        width: 100vw;
        transform: translateX(-50%);
    }
}
.uh-logo { text-decoration: none; display: inline-flex; align-items: center; white-space: nowrap; }
.uh-logo img { max-width: 235px; width: 100%; display: block; background: transparent; mix-blend-mode: multiply; }

.uh-center {
    display: none;
    align-items: center;
    gap: clamp(20px, 2.5vw, 36px);
    font-size: 0.9rem;
    font-weight: 600;
    flex-wrap: wrap;
}
.uh-center a,
.uh-nav-link {
    color: #475569;
    text-decoration: none;
}
.uh-center a:hover,
.uh-nav-link:hover {
    color: #2563eb;
}
.uh-center .uh-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0 0.55rem;
    border-bottom: 3px solid transparent;
    box-sizing: border-box;
    position: relative;
    line-height: 1.2;
}
.uh-center .uh-nav-link .bi {
    font-size: 1.05rem;
    line-height: 1;
    flex-shrink: 0;
}
.uh-center .uh-nav-link.is-active {
    color: #2563eb;
    border-bottom-color: #2563eb;
}
.uh-nav-link--help {
    padding-right: 0.15rem;
}
.uh-nav-help-badge {
    position: absolute;
    top: -2px;
    right: -8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.28rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    border: 2px solid #fff;
}
.uh-header-notifications-mobile {
    display: none;
}
.uh-right {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.5vw, 22px);
    flex-shrink: 0;
}
.uh-btn {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    border-radius: 10px;
    padding: 11px 18px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
}
.uh-btn.primary,
.uh-list-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border: none;
    border-radius: 999px;
    padding: 11px 20px;
    background: var(--rz-btn-primary-bg);
    color: #fff;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
}
.uh-btn.primary:hover,
.uh-list-cta:hover {
    background: var(--rz-btn-primary-bg-hover);
    color: #fff;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.32);
}
.uh-btn.primary:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.uh-notifications { position: relative; }
.uh-notifications summary { list-style: none; cursor: pointer; }
.uh-notifications summary::-webkit-details-marker { display: none; }
.uh-notifications-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    background: #fff;
    color: #64748b;
    font-size: 1.12rem;
    flex-shrink: 0;
    cursor: pointer;
    padding: 0;
}
.uh-notifications-btn:hover,
.uh-notifications[open] .uh-notifications-btn {
    border-color: #93c5fd;
    color: #1d4ed8;
    background: #eff6ff;
}
.uh-notifications-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
.uh-notifications-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: flex;
    flex-direction: column;
    width: min(380px, calc(100vw - 24px));
    max-height: min(480px, 70vh);
    overflow: hidden;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
    z-index: 1200;
}
.uh-notifications-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.uh-notifications-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.uh-notifications-back {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 1.1rem;
    cursor: pointer;
    flex-shrink: 0;
}
.uh-notifications-back:hover {
    border-color: #93c5fd;
    color: #1d4ed8;
    background: #eff6ff;
}
.uh-notifications-title {
    flex: 1;
    min-width: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
}
.uh-notifications-clear {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 0.76rem;
    font-weight: 600;
    color: #2563eb;
    cursor: pointer;
    line-height: 1.2;
}
.uh-notifications-clear:hover {
    color: #1d4ed8;
    text-decoration: underline;
}
.uh-notifications-clear:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
    border-radius: 4px;
}
.uh-notifications-clear[hidden] {
    display: none;
}
.uh-notifications-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.uh-notification-item {
    border-bottom: 1px solid #e8edf5;
}
.uh-notification-item:last-child {
    border-bottom: 0;
}
.uh-notification-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
}
a.uh-notification-row:hover .uh-notification-message {
    color: #1d4ed8;
}
.uh-notification-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}
.uh-notification-icon--green {
    background: #dcfce7;
    color: #16a34a;
}
.uh-notification-icon--blue {
    background: #dbeafe;
    color: #2563eb;
}
.uh-notification-icon--purple {
    background: #ede9fe;
    color: #7c3aed;
}
.uh-notification-icon--orange {
    background: #ffedd5;
    color: #ea580c;
}
.uh-notification-icon--rose {
    background: #ffe4e6;
    color: #e11d48;
}
.uh-notification-body {
    flex: 1;
    min-width: 0;
}
.uh-notification-message {
    display: block;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.45;
    color: #0f172a;
}
.uh-notification-item:not(.is-unread) .uh-notification-message {
    font-weight: 600;
    color: #334155;
}
.uh-notification-time {
    display: block;
    margin-top: 4px;
    font-size: 0.76rem;
    color: #94a3b8;
}
.uh-notification-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    margin-top: 7px;
    border-radius: 50%;
    background: #cbd5e1;
}
.uh-notification-item.is-unread .uh-notification-dot {
    background: #2563eb;
}
.uh-notifications-end {
    margin: 0;
    padding: 16px 16px 20px;
    text-align: center;
    font-size: 0.78rem;
    color: #94a3b8;
    border-top: 1px solid #e8edf5;
}
.uh-notification-empty {
    padding: 20px 16px;
    font-size: 0.84rem;
    color: #64748b;
}

.uh-profile { position: relative; }
.uh-profile-trigger {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 5px 14px 5px 5px;
    border-radius: 999px;
    border: 0;
    background: #fff;
    transition: background 0.15s ease;
}
.uh-profile-trigger:hover {
    background: #f8fafc;
}
.uh-profile[open] .uh-profile-trigger {
    background: #f8fafc;
}
.uh-profile-trigger::-webkit-details-marker { display: none; }
.uh-avatar {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    flex-shrink: 0;
}
.uh-avatar--sm {
    width: 36px;
    height: 36px;
}
.uh-avatar--md {
    width: 44px;
    height: 44px;
}
img.uh-avatar {
    object-fit: cover;
    border: 0;
    background: #dbeafe;
}
.uh-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}
.uh-avatar--md.uh-avatar--initials {
    font-size: 0.88rem;
}
.uh-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #0f172a;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.uh-arrow {
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1;
    margin-left: 2px;
}
@media (min-width: 980px) and (max-width: 1200px) {
    .uh-name {
        display: none !important;
    }
    .uh-profile-trigger {
        gap: 8px;
        padding-right: 10px;
    }
}
.uh-header-login-icon {
    display: none;
}
.uh-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: min(280px, calc(100vw - 24px));
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
    padding: 0;
    z-index: 50;
    overflow: hidden;
}
.uh-dropdown-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid #e2e8f0;
}
.uh-dropdown-identity {
    min-width: 0;
    flex: 1;
}
.uh-dropdown-user-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.uh-dropdown-user-email {
    margin-top: 3px;
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
}
.uh-dropdown-user-email a,
.uh-dropdown-user-email :any-link {
    color: inherit !important;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    border-bottom: 0 !important;
    pointer-events: none;
}
.uh-dropdown-user-email .rz-email-at {
    text-decoration: none !important;
}
.uh-dropdown-menu,
.uh-dropdown-foot {
    padding: 8px;
}
.uh-dropdown-foot {
    border-top: 1px solid #e2e8f0;
}
.uh-dropdown form {
    margin: 0;
    padding: 0;
    width: 100%;
    display: block;
}
.uh-item {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 0;
    background: #fff;
    text-align: left;
    border-radius: 8px;
    padding: 8px 10px;
    color: #334155;
    text-decoration: none;
    font-size: 0.875rem;
    font-family: inherit;
    cursor: pointer;
}
.uh-item--row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    color: #0f172a;
    font-weight: 500;
}
.uh-item--row > .bi {
    font-size: 1.05rem;
    color: #475569;
    flex-shrink: 0;
    width: 1.15rem;
    text-align: center;
}
.uh-item--row > span:not(.uh-item-badge) {
    flex: 1;
    min-width: 0;
}
.uh-item:hover,
.uh-item--row:hover {
    background: #f1f5f9;
}
.uh-item.logout,
.uh-item.logout > .bi,
.uh-item.logout > span {
    color: #dc2626;
}
.uh-item.logout {
    font-weight: 600;
}
.uh-item--messages {
    justify-content: flex-start;
}
.uh-item-badge {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: auto;
}

/* Account sidebar drawer (mobile): hamburger in header toggles fixed #rzLpSidebar */
.uh-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    line-height: 1;
}
.uh-nav-toggle .bi {
    font-size: 1.45rem;
    line-height: 1;
}
.uh-nav-toggle:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.rz-lp-drawer-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2240;
    background: rgba(15, 23, 42, 0.45);
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.rz-lp-drawer-backdrop:not([hidden]) {
    display: block;
}

.uh-status { margin-top: 10px; margin-bottom: 15px; border: 1px solid #bfdbfe; background: #eff6ff; color: #1e3a8a; border-radius: 10px; padding: 10px 12px; font-size: .84rem; }
.listings-add-property-page .lyp-step-success-banner {
    margin-bottom: 15px;
}
.listings-add-property-page .lyp-flash-success {
    margin: 0 0 16px;
    padding: 9px 10px;
    border-radius: 8px;
    background: #e8f5e9;
    border: 1px solid #c8e6c9;
    color: #1b5e20;
    font-size: 0.84rem;
    line-height: 1.45;
}
.listings-add-property-page .lyp-email-verify-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 12px;
    padding: 14px 16px;
    margin: 0 0 15px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
}
.listings-add-property-page .lyp-email-verify-banner__icon {
    color: #d97706;
    font-size: 1.2rem;
    flex-shrink: 0;
    line-height: 1.35;
}
.listings-add-property-page .lyp-email-verify-banner__text {
    display: grid;
    gap: 2px;
    flex: 1 1 220px;
    min-width: 0;
}
.listings-add-property-page .lyp-email-verify-banner__text strong {
    color: #92400e;
    font-size: 0.92rem;
}
.listings-add-property-page .lyp-email-verify-banner__text span {
    color: #b45309;
    font-size: 0.78rem;
    line-height: 1.35;
}
.listings-add-property-page .lyp-email-verify-banner__form {
    flex: 0 0 auto;
    margin: 0;
}
.listings-add-property-page .lyp-email-verify-banner__link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    color: #2563eb;
    text-decoration: underline;
    cursor: pointer;
    line-height: 1.35;
    white-space: nowrap;
}
.listings-add-property-page .lyp-email-verify-banner__link:hover {
    color: #1d4ed8;
}
.listings-add-property-page .lyp-email-verify-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 12px;
    padding: 14px 16px;
    margin: 0 0 15px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
}
.listings-add-property-page .lyp-email-verify-banner__icon {
    color: #d97706;
    font-size: 1.2rem;
    flex-shrink: 0;
    line-height: 1.35;
}
.listings-add-property-page .lyp-email-verify-banner__text {
    display: grid;
    gap: 2px;
    flex: 1 1 220px;
    min-width: 0;
}
.listings-add-property-page .lyp-email-verify-banner__text strong {
    color: #92400e;
    font-size: 0.92rem;
}
.listings-add-property-page .lyp-email-verify-banner__text span {
    color: #b45309;
    font-size: 0.78rem;
    line-height: 1.35;
}
.listings-add-property-page .lyp-email-verify-banner__form {
    flex: 0 0 auto;
    margin: 0;
}
.listings-add-property-page .lyp-email-verify-banner__link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    color: #2563eb;
    text-decoration: underline;
    cursor: pointer;
    line-height: 1.35;
    white-space: nowrap;
}
.listings-add-property-page .lyp-email-verify-banner__link:hover {
    color: #1d4ed8;
}
body.rz-modal-open .uh-status { display: none; }
[data-flash-auto-dismiss] {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
[data-flash-auto-dismiss].rz-flash-dismissing {
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
}
.rz-auth-modal { position: fixed; inset: 0; background: rgba(15, 23, 42, .55); display: none; align-items: center; justify-content: center; z-index: 2000; padding: 16px; overflow-y: auto; scrollbar-gutter: stable; }
.rz-auth-modal.open { display: flex; }
body.rz-modal-open { overflow: hidden; scrollbar-gutter: stable; }
.rz-auth-card {
    width: min(1050px, 96vw);
    max-width: min(1050px, 96vw);
    background: #fff;
    border-radius: 20px;
    padding: 0;
    position: relative;
    display: grid;
    grid-template-columns: 42% 58%;
    overflow: hidden;
    align-items: stretch;
    box-sizing: border-box;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .14);
    min-height: 520px;
}
.rz-auth-side {
    background: #f5f6ff;
    border-right: 0;
    padding: 65px 50px 35px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    align-self: stretch;
}
.rz-auth-side-body { flex: 1 1 auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.rz-auth-side-icon {
    display: grid;
    place-items: center;
    width: 86%;
    max-width: 240px;
    margin: 0 auto 20px;
    padding: 0 0 20px;
    line-height: 0;
}
.rz-auth-side-icon img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}
.rz-auth-side-title {
    margin: 0 0 40px;
    font-size: 1.5rem;
    line-height: 1.45;
    color: #1a1a1a;
    font-weight: 700;
    text-align: center;
}
.rz-auth-accent { color: #5d45d6; font-weight: 700; }
.rz-auth-features {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 16px;
    list-style: none;
}
.rz-auth-features li {
    list-style: none;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.4;
}
.rz-auth-features li::before { content: none !important; display: none !important; }
.rz-auth-feature-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.rz-auth-feature-copy strong {
    font-size: .86rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.35;
}
.rz-auth-feature-copy span {
    font-size: .78rem;
    color: #6b7280;
    line-height: 1.4;
}
.rz-auth-demo-otp {
    font-weight: 700;
    letter-spacing: 0.22em;
    color: #5d45d6;
    font-variant-numeric: tabular-nums;
}
.rz-auth-demo-otp--inline {
    display: inline;
    margin-left: 0.55em;
    font-size: 0.92rem;
    vertical-align: baseline;
    white-space: nowrap;
}
.rz-auth-demo-otp[hidden] { display: none !important; }
.rz-auth-demo-otp-card {
    margin-top: 1.25rem;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    text-align: center;
}
.rz-auth-demo-otp-label {
    margin: 0 0 6px;
    font-size: .72rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.rz-auth-demo-otp-card .rz-auth-demo-otp {
    margin: 0;
    font-size: 1.35rem;
}
.rz-auth-demo-otp-mobile {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    font-size: .84rem;
    color: #4b5563;
}
.rz-auth-demo-otp-mobile-label { font-weight: 600; }
.rz-auth-feature-icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #ebe8ff;
    color: #5d45d6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rz-auth-feature-icon svg { width: 20px; height: 20px; display: block; }
.rz-auth-privacy-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 27px 0 0;
    width: 100%;
}
.rz-auth-privacy {
    margin: 26px 0 0px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: .82rem;
    line-height: 1.5;
    color: #777;
}
.rz-auth-privacy-icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: #9ca3af;
    margin-top: 1px;
}
.rz-auth-privacy-icon svg { width: 15px; height: 15px; display: block; }
.rz-auth-left {
    padding: 36px 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    min-height: 0;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}
.rz-auth-panel { max-width: 420px; width: 100%; margin: 0 auto; display: none; box-sizing: border-box; min-width: 0; }
.rz-auth-panel[data-auth-panel="phone-auth"] { max-width: none; margin: 0; }
.rz-auth-panel.active { display: block; }
.rz-auth-panel[data-auth-panel="phone-auth"].active {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 100%;
}
.rz-auth-close {
    position: absolute;
    top: 18px;
    right: 18px;
    border: 0;
    background: #f3f4f6;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    z-index: 5;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 999px;
}
.rz-auth-close:hover { background: #e5e7eb; color: #111827; }
.rz-auth-panel h3 { margin: 0; font-size: 2rem; padding: 0 0 10px; color: #202124; }
.rz-auth-panel[data-auth-panel="phone-complete"] { max-width: none; margin: 0; }
.rz-auth-sub { margin: 8px 0 40px; color: #64748b; font-size: .95rem; line-height: 1.45; }
.rz-auth-panel[data-auth-panel="phone-complete"] .rz-auth-field label {
    margin: 0;
    font-size: .84rem;
    font-weight: 700;
    color: #1a1a1a;
    padding: 15px 0 9px 0;
}
.rz-auth-field { margin-bottom: 24px; }
.rz-auth-field.rz-phone-field { margin-bottom: 0; }
.rz-auth-field label { display: block; margin-bottom: 0; font-size: .82rem; font-weight: 700; color: #334155; padding-left: 2px; padding-bottom: 10px; }
.rz-auth-field input { width: 100%; font-size: 15px; border: 1px solid #e5e7eb; border-radius: 10px; background-color: #ffffff; font-weight: 500; color: #6c757d; padding: 11px 12px; }
.rz-phone-field .rz-phone-wrap input {
    width: auto;
    flex: 1 1 auto;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 14px !important;
    font-weight: 600;
    color: #111827;
}
.rz-auth-field input::placeholder { color: #94a3b8; }
.rz-auth-hint { margin-top: 4px; color: #64748b; font-size: .75rem; }
.rz-auth-inline-status { margin-top: 8px; font-size: .8rem; color: #0f766e; min-height: 0; }
.rz-phone-field .rz-auth-inline-status:not(:empty) { min-height: 18px; margin-top: 8px; }
.rz-auth-inline-status.error { color: #dc2626; }
.rz-dev-otp-banner {
    margin: 10px 0 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #93c5fd;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: center;
}
.rz-dev-otp-banner[hidden] { display: none !important; }
.rz-input-wrap { position: relative; }
.rz-input-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; width: 16px; height: 16px; pointer-events: none; }
.rz-input-icon.hidden { display: none; }
.rz-input-wrap input { padding-left: 42px; }
.rz-phone-wrap {
    position: relative;
    display: flex;
    align-items: stretch;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    min-height: 48px;
}
.rz-phone-prefix {
    position: static;
    transform: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #111827;
    font-size: .9rem;
    font-weight: 600;
    pointer-events: none;
    border-right: 1px solid #e5e7eb;
    padding: 0 12px;
    flex: 0 0 auto;
    min-height: 48px;
}
.rz-phone-caret {
    display: inline-flex;
    align-items: center;
    color: #9ca3af;
    line-height: 1;
    margin-left: 0;
}
.rz-phone-caret svg { width: 14px; height: 14px; display: block; }
.rz-phone-wrap input {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    padding: 0 14px;
    height: 48px;
    border: 0;
    border-radius: 0;
    font-size: .9rem;
    color: #111827;
    background: transparent;
    box-shadow: none;
}
.rz-phone-input {
    padding-left: 14px !important;
    border-radius: 10px !important;
    background: none !important;
    border: 0 !important;
}
.rz-phone-wrap input::placeholder { color: #9ca3af; font-weight: 400; }
.rz-phone-flag { font-size: .95rem; line-height: 1; }
.rz-phone-field { margin-bottom: 0; }
.rz-phone-field .rz-otp-label {
    margin: 0 0 0px;
    font-size: .84rem;
    font-weight: 700;
    color: #1a1a1a;
    padding: 15px 0 9px 0px;
}
.rz-phone-hint {
    margin: 14px 0 0;
    font-size: .76rem;
    color: #6b7280;
    line-height: 1.45;
    display: flex;
    align-items: center;
    gap: 6px;
}
.rz-phone-hint-icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: #5d45d6;
}
.rz-phone-hint-icon svg { width: 15px; height: 15px; display: block; }
.rz-phone-step-actions {
    margin-top: 35px;
    width: 100%;
}
.rz-phone-step-actions .rz-send-otp-btn {
    margin: 0;
}
.rz-send-otp-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 44px 12px 12px;
    background: #5d45d6 !important;
    box-shadow: 0 4px 14px rgba(93, 69, 214, .25);
    border-radius: 10px;
    font-size: .95rem;
}
.rz-phone-auth-action { margin: 0; }
.rz-phone-auth-actions .rz-otp-verify-submit {
    margin: 0;
}
.rz-otp-verify-submit svg { width: 18px; height: 18px; }
.rz-send-otp-btn svg {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
}
.rz-auth-error { color: #dc2626; font-size: .8rem; margin-top: 4px; }
.rz-complete-email-live { min-height: 0; font-size: .8rem; margin-top: 4px; }
.rz-complete-email-live-error { color: #dc2626; }
.rz-complete-email-invalid input { border-color: #ef4444 !important; }
.rz-input-wrap-error input { border-color: #ef4444 !important; padding-right: 34px; }
.rz-input-wrap-error .rz-input-icon { color: #ef4444; }
.rz-error-icon { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; border-radius: 999px; background: #ef4444; color: #fff; font-size: .7rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.rz-row-between { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 2px; }
.rz-row-between a { color: #2563eb; text-decoration: none; font-size: .8rem; font-weight: 700; }
.rz-label-reset { margin:0 !important; padding:0 !important; }
.rz-otp-inline-error { min-height: 18px; margin: 0 0 8px; }
.rz-auth-submit {
    width: 100%;
    border: 0;
    color: #fff;
    border-radius: 12px;
    padding: 15px 14px;
    cursor: pointer;
    margin: 8px 0 18px;
    font-size: .98rem;
    font-weight: 700;
}
.rz-auth-submit-gradient {
    background: #5d45d6;
    box-shadow: 0 4px 14px rgba(93, 69, 214, .25);
}
.rz-auth-submit-gradient:hover { background: #523cc4; filter: none; }
.rz-auth-panel[data-auth-panel="phone-auth"] .rz-phone-auth-flow {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
}
.rz-phone-auth-content {
    flex: 0 0 auto;
    width: 100%;
}
.rz-phone-auth-actions {
    flex: 0 0 auto;
    margin-top: 20px;
    margin-bottom: 0;
    padding-top: 0;
    width: 100%;
}
.rz-phone-auth-flow:has(#rzPhoneOtpBlock.active) .rz-phone-auth-actions {
    margin-top: auto;
    margin-bottom: 16px;
}
.rz-phone-auth-flow > .rz-auth-terms {
    flex: 0 0 auto;
    margin-top: auto;
    padding-top: 16px;
    padding-bottom: 0;
}
.rz-phone-step { width: 100%; min-width: 0; }
.rz-phone-step.is-hidden { display: none; }
.rz-phone-step-header {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    margin-bottom: 20px;
}
.rz-phone-step-heading {
    min-width: 0;
    flex: 1 1 auto;
}
.rz-welcome-badge {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    border: 0;
    background: #ebe8ff;
    color: #5d45d6;
    display: grid;
    place-items: center;
    margin-bottom: 0;
    flex: 0 0 auto;
}
.rz-welcome-badge svg { width: 22px; height: 22px; display: block; }
.rz-phone-step-header .rz-otp-verify-title {
    margin: 0 0 2px;
    padding: 2px 0 0;
    font-size: 1.65rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
}
.rz-phone-step-header .rz-otp-verify-sub {
    margin: 0;
    color: #6b7280;
    font-size: .9rem;
    line-height: 1.45;
}
.rz-otp-step-badge svg { width: 22px; height: 22px; display: block; }
.rz-otp-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 0 0 18px;
}
.rz-phone-otp-block { display: none; flex: 0 0 auto; }
.rz-phone-otp-block.active { display: block; }
.rz-otp-phone-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f9fafb;
    margin-bottom: 18px;
}
.rz-otp-phone-card-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    color: #6b7280;
}
.rz-otp-phone-card-icon svg { width: 18px; height: 18px; display: block; }
.rz-otp-phone-display {
    flex: 1 1 auto;
    font-size: .95rem;
    font-weight: 600;
    color: #111827;
    letter-spacing: 0.01em;
}
.rz-otp-change-btn {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #7c3aed;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
}
.rz-otp-change-btn svg { width: 14px; height: 14px; }
.rz-otp-field { margin-bottom: 0; }
.rz-otp-label {
    display: block;
    margin-bottom: 10px;
    font-size: .92rem;
    font-weight: 700;
    color: #111827;
}
.rz-otp-boxes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; width: 100%; min-width: 0; }
.rz-otp-box {
    width: 100%;
    min-width: 0;
    aspect-ratio: 1;
    max-height: 48px;
    text-align: center;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    background: #fff;
    font-size: 1.15rem !important;
    font-weight: 700;
    color: #111827 !important;
    padding: 0 !important;
    box-sizing: border-box;
}
.rz-otp-box:focus { border-color: #7c3aed !important; outline: none; box-shadow: 0 0 0 2px rgba(124, 58, 237, .15); }
.rz-otp-expiry {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0;
    font-size: .82rem;
    color: #6b7280;
    min-height: 20px;
}
.rz-otp-expiry[hidden] { display: none !important; }
.rz-otp-expiry-icon { width: 14px; height: 14px; flex: 0 0 auto; color: #9ca3af; }
.rz-otp-expiry strong { color: #16a34a; font-weight: 700; }
.rz-otp-resend-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f9fafb;
    margin: 25px 0 0;
}
.rz-otp-resend-card-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #ede9fe;
    color: #7c3aed;
    display: grid;
    place-items: center;
}
.rz-otp-resend-card-icon svg { width: 18px; height: 18px; display: block; }
.rz-otp-resend-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.rz-otp-resend-label {
    margin: 0;
    font-size: .84rem;
    color: #6b7280;
    line-height: 1.45;
}
.rz-otp-resend-btn {
    border: 0;
    background: transparent;
    color: #7c3aed;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    text-align: left;
    line-height: 1.45;
}
.rz-otp-resend-btn:hover:not(:disabled) { color: #6d28d9; }
.rz-otp-resend-btn:disabled { color: #7c3aed; cursor: default; opacity: 1; }
.rz-otp-verify-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    border-radius: 12px;
}
.rz-phone-auth-flow:has(#rzPhoneStepPhone:not(.is-hidden)) .rz-phone-auth-actions {
    display: none;
}
.rz-auth-terms {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    text-align: center;
    font-size: .72rem;
    color: #6b7280;
    margin-top: auto;
    padding-top: 16px;
    padding-bottom: 0;
    line-height: 1.5;
    flex: 0 0 auto;
    max-width: 100%;
}
.rz-auth-terms-icon {
    flex: 0 0 auto;
    align-self: flex-start;
    width: 14px;
    height: 14px;
    color: #5d45d6;
    margin-top: 2px;
}
.rz-auth-terms-icon svg { width: 14px; height: 14px; display: block; }
.rz-auth-terms a {
    color: #5d45d6;
    font-weight: 700;
    text-decoration: none;
}
.rz-auth-terms a:hover { text-decoration: underline; }
.rz-auth-terms--signup {
    justify-content: flex-start;
    text-align: left;
    margin: 14px 0 25px;
    padding-top: 0;
    cursor: pointer;
}
.rz-auth-terms--signup input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}
.rz-auth-terms--signup .rz-auth-terms-copy {
    flex: 1 1 auto;
}
.auth-login-page .agree {
    margin: 12px 0 0;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: #64748b;
    font-size: .82rem;
    line-height: 1.45;
}
.auth-login-page .agree input {
    margin-top: 2px;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}
.auth-login-page .agree a {
    color: #2563eb;
    text-decoration: none;
}
.rz-auth-mobile-top,
.rz-auth-mobile-hero,
.rz-auth-mobile-benefits,
.rz-otp-verify-sub-mobile { display: none; }
.rz-auth-mobile-hero--step { display: none; }
.rz-auth-mobile-top {
    align-items: center;
    padding: 0;
}
.rz-auth-mobile-logo {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none;
}
.rz-auth-mobile-logo img {
    height: 28px;
    width: auto;
    display: block;
}
.rz-auth-mobile-hero {
    text-align: center;
    line-height: 0;
}
.rz-auth-mobile-hero img {
    width: min(56%, 202px);
    max-width: 202px;
    height: auto;
    margin: 0 auto;
    display: block;
}
.rz-auth-mobile-benefits-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 16px;
}
.rz-auth-mobile-benefits-list li {
    list-style: none;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.4;
}
.rz-auth-mobile-benefits-list li + li {
    padding-top: 16px;
    border-top: 1px solid #e4e6f5;
}
.rz-auth-mobile-benefits-list li::before { content: none !important; display: none !important; }
.rz-auth-mobile-benefit-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #ebe8ff;
    color: #5d45d6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rz-auth-mobile-benefit-icon svg { width: 18px; height: 18px; display: block; }
.rz-auth-mobile-benefit-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.rz-auth-mobile-benefit-copy strong {
    font-size: .86rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.35;
}
.rz-auth-mobile-benefit-copy span {
    font-size: .78rem;
    color: #6b7280;
    line-height: 1.4;
}
.rz-auth-panel[data-auth-panel="phone-auth"] .rz-auth-submit,
.rz-auth-panel[data-auth-panel="phone-complete"] .rz-auth-submit {
    margin: 8px 0 12px;
    padding: 15px 14px;
    border-radius: 12px;
}
.rz-auth-submit.is-hidden { display: none; }
.rz-divider { margin: 15px 0 30px; position: relative; text-align: center; color: #94a3b8; font-size: .78rem; }
.rz-divider::before, .rz-divider::after { content: ""; position: absolute; top: 50%; width: 40%; height: 1px; background: #e2e8f0; }
.rz-divider::before { left: 0; }
.rz-divider::after { right: 0; }
.rz-divider span { display: inline-block; background: #fff; padding: 0 15px; position: relative; z-index: 1; }
.rz-social-btn { width: 100%; border: 1px solid #d8e1ee; border-radius: 9px; background: #fff; padding: 16px 14px; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #334155; font-size: 14px; font-weight: 600; cursor: pointer; position: relative; }
.rz-social-google .rz-social-google-icon { width: 18px; height: 18px; display: block; position: absolute; left: 14px; margin-right: 0; }
.rz-foot-note { margin-top: 14px; text-align: center; color: #64748b; font-size: .9rem; display: grid; gap: 6px; justify-items: center; }
.rz-foot-note small { color: #94a3b8; font-size: .82rem; }
.safe-note-icon { width: 50px; height: 50px; display: block; object-fit: contain; }
.rz-auth-switch { margin: 35px 0 20px; text-align: center; color: #64748b; font-size: .82rem; }
.rz-auth-switch a { color: #2563eb; text-decoration: none; font-weight: 700; margin-left: 6px; }
.rz-forgot-illustration { display: grid; place-items: center; margin-bottom: 16px; }
.rz-forgot-illustration img { width: 160px; max-width: 100%; height: auto; display: block; }
.rz-signup-illustration { display: grid; place-items: center; margin-bottom: 12px; }
.rz-signup-illustration img { width: 120px; max-width: 100%; height: auto; display: block; }
.rz-auth-panel[data-auth-panel="register"] h3 { text-align: center; }
.rz-auth-panel[data-auth-panel="register"] .rz-auth-sub { text-align: center; }
.rz-auth-panel[data-auth-panel="forgot-identify"] h3,
.rz-auth-panel[data-auth-panel="forgot-options"] h3 { text-align: center; font-size: 2rem; margin-bottom: 8px; }
.rz-auth-panel[data-auth-panel="forgot-identify"] .rz-auth-sub,
.rz-auth-panel[data-auth-panel="forgot-options"] .rz-auth-sub { text-align: center; margin: 0 0 24px; }
.rz-auth-panel[data-auth-panel="forgot-identify"] .rz-auth-submit,
.rz-auth-panel[data-auth-panel="forgot-options"] .rz-auth-submit { margin: 14px 0 10px; }
.rz-auth-panel[data-auth-panel="forgot-identify"] .rz-auth-switch { margin: 0; }
.rz-method-selector { border: 1px solid #d6ddeb; border-radius: 12px; overflow: hidden; margin-bottom: 18px; }
.rz-method-option { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; cursor: pointer; background: #fff; }
.rz-method-option + .rz-method-option { border-top: 1px solid #e2e8f0; }
.rz-method-title { font-size: 1rem; font-weight: 600; color: #0f172a; }
.rz-method-sub { margin-top: 2px; font-size: .9rem; color: #64748b; }
.rz-method-option input[type="radio"] { width: 20px; height: 20px; accent-color: #2563eb; }
.rz-forgot-help { display: block; text-align: center; color: #2563eb; text-decoration: none; font-size: .9rem; margin-bottom: 14px; }
.rz-secondary-btn { width: 100%; border: 1px solid #cbd5e1; background: #fff; color: #0f172a; border-radius: 999px; padding: 12px 14px; cursor: pointer; }
.rz-auth-panel[data-auth-panel="otp"] h3 { text-align: center; font-size: 1.85rem; margin-bottom: 8px; }
.rz-auth-panel[data-auth-panel="otp"] .rz-auth-sub { text-align: center; margin: 0 0 24px; }
.rz-auth-panel[data-auth-panel="otp"] .rz-auth-sub strong { color: #0f172a; font-weight: 700; }
.rz-otp-input { text-align: center; letter-spacing: .35em; font-weight: 700; font-size: 1.05rem !important; }
.rz-link-btn { border: 0; background: transparent; color: #0f766e; font-size: .84rem; font-weight: 700; cursor: pointer; padding: 0; }
.rz-link-btn:hover:not(:disabled) { color: #115e59; }
.rz-link-btn:disabled { color: #94a3b8; cursor: not-allowed; }
.rz-auth-panel[data-auth-panel="otp"] .rz-auth-submit { margin: 8px 0 16px; }
.rz-auth-panel[data-auth-panel="otp"] .rz-auth-switch { margin: 0; }
.rz-auth-panel[data-auth-panel="reset"] h3 { text-align: center; font-size: 2rem; margin-bottom: 8px; }
.rz-auth-panel[data-auth-panel="reset"] .rz-auth-sub { text-align: center; margin: 0 0 24px; }
.rz-reset-lock { margin: 0 auto 14px; display: grid; place-items: center; }
.rz-reset-lock img { width: 180px; max-width: 100%; height: auto; display: block; }
.rz-password-wrap input { padding-right: 40px; }
.rz-eye-btn { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #94a3b8; font-size: .85rem; cursor: pointer; line-height: 1; }
.rz-strength-meter { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 8px; }
.rz-strength-bar { height: 4px; background: #e5e7eb; border-radius: 999px; }
.rz-strength-bar.active { background: #2563eb; }
.rz-strength-text { margin-top: 6px; font-size: .8rem; color: #64748b; }
.rz-strength-text strong.weak { color: #ef4444; }
.rz-strength-text strong.medium { color: #f59e0b; }
.rz-strength-text strong.strong { color: #16a34a; }
.rz-reset-note { border-radius: 12px; background: #f5f7ff; padding: 14px; display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 10px; margin: 8px 0 16px; }
.rz-reset-note strong { display: block; color: #334155; font-size: .95rem; margin-bottom: 2px; }
.rz-reset-note small { color: #64748b; font-size: .82rem; }
@media (max-width: 900px) {
    body.rz-modal-open {
        overflow: hidden;
        position: fixed;
        inset: 0;
        width: 100%;
    }
    .rz-auth-modal {
        padding: 0;
        align-items: stretch;
        background: #fff;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        overflow-anchor: none;
    }
    .rz-auth-modal.open {
        display: block;
    }
    .rz-auth-modal.open .rz-auth-card {
        min-height: 100%;
        min-height: 100dvh;
    }
    .rz-auth-card {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        height: auto;
        grid-template-columns: 1fr;
        border-radius: 0;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        overflow: visible;
        overflow-anchor: none;
    }
    .rz-auth-side { display: none; }
    .rz-auth-demo-otp-mobile { display: flex; }
    .rz-auth-mobile-top { display: flex; }
    .rz-auth-mobile-hero:not(.rz-auth-mobile-hero--step) { display: block; }
    .rz-auth-mobile-hero--step { display: none !important; }
    .rz-auth-mobile-benefits { display: none !important; }
    .rz-auth-card:has([data-auth-panel="phone-complete"].active) > .rz-auth-mobile-hero:not(.rz-auth-mobile-hero--step) {
        display: none !important;
    }
    .rz-auth-card:has(#rzPhoneOtpBlock.active) > .rz-auth-mobile-hero:not(.rz-auth-mobile-hero--step) {
        display: none !important;
    }
    .rz-auth-card:has(#rzPhoneOtpBlock.active) .rz-auth-left {
        padding-top: 8px;
    }
    .rz-auth-mobile-top {
        display: flex;
        flex-shrink: 0;
        padding: max(14px, env(safe-area-inset-top, 0px)) max(15px, env(safe-area-inset-right, 0px)) 6px max(15px, env(safe-area-inset-left, 0px));
    }
    .rz-auth-mobile-hero:not(.rz-auth-mobile-hero--step) {
        flex-shrink: 0;
        padding: 50px 0 20px;
        text-align: center;
    }
    .rz-auth-mobile-hero:not(.rz-auth-mobile-hero--step) img {
        width: min(56%, 202px);
        max-width: 202px;
        display: block;
        margin: 0 auto;
    }
    .rz-auth-close {
        top: max(12px, env(safe-area-inset-top, 0px));
        right: max(14px, env(safe-area-inset-right, 0px));
        width: 34px;
        height: 34px;
        font-size: 1.05rem;
    }
    .rz-auth-left {
        flex: 1 0 auto;
        min-height: auto;
        padding: 0 35px max(28px, env(safe-area-inset-bottom, 0px));
        justify-content: flex-start;
        overflow: visible;
    }
    .rz-auth-panel { max-width: none; margin: 0; width: 100%; }
    .rz-auth-panel[data-auth-panel="phone-auth"].active {
        display: block;
        flex: none;
        min-height: auto;
    }
    .rz-auth-panel[data-auth-panel="phone-auth"] .rz-phone-auth-flow {
        flex: none;
        min-height: auto;
        display: block;
    }
    .rz-auth-panel[data-auth-panel="phone-complete"] .rz-phone-step-header {
        padding-top: 50px;
    }
    .rz-phone-auth-flow > .rz-auth-terms {
        margin-top: 0;
        padding-top: 24px;
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
    }
    .rz-welcome-badge,
    .rz-otp-step-badge { display: none; }
    .rz-phone-step-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0;
        margin-bottom: 14px;
    }
    .rz-phone-step-heading {
        text-align: center;
        width: 100%;
    }
    .rz-otp-verify-sub-desktop { display: none; }
    .rz-otp-verify-sub-mobile { display: inline; }
    .rz-phone-step-header .rz-otp-verify-title {
        font-size: 1.75rem;
        margin-bottom: 4px;
    }
    .rz-phone-step-header .rz-otp-verify-sub {
        font-size: .88rem;
    }
    .rz-auth-terms {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        justify-content: flex-start;
        gap: 7px;
        text-align: left;
    }
    .rz-auth-terms > span:not(.rz-auth-terms-icon) {
        text-align: left;
        flex: 0 1 auto;
    }
    .rz-auth-terms-icon {
        width: 22px;
        height: 22px;
        border-radius: 999px;
        background: #ebe8ff;
        display: grid;
        place-items: center;
        padding: 3px;
        box-sizing: border-box;
        align-self: flex-start;
        margin-top: 0;
        flex-shrink: 0;
    }
    .rz-auth-terms-icon svg { width: 12px; height: 12px; }
    .rz-phone-auth-flow:has(#rzPhoneOtpBlock.active) .rz-phone-auth-actions {
        margin-top: 0;
        margin-bottom: 0;
    }
    .rz-phone-auth-flow:has(#rzPhoneStepPhone:not(.is-hidden)) .rz-phone-auth-actions {
        display: none;
    }
    .rz-auth-panel[data-auth-panel="phone-auth"] .rz-phone-auth-actions .rz-otp-verify-submit {
        margin: 28px 0 12px;
    }
}
@media (max-width: 768px) { .rz-otp-boxes { gap: 8px; } }
@media (min-width: 980px) {
    .uh-header-notifications-mobile {
        display: none !important;
    }

    .uh-notifications > summary.uh-notifications-btn--desktop {
        display: inline-flex !important;
    }

    .uh-center { display: flex; margin: 3px 25px 0 0; }
}

/* Contact page */
.contact-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2.5rem 1.5rem 2rem;
    min-height: 22rem;
}
.contact-login-prompt__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.contact-login-prompt__title {
    margin: 0 0 0.5rem;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
}
.contact-login-prompt__lead {
    margin: 0 0 1.5rem;
    max-width: 26rem;
    color: #64748b;
    line-height: 1.55;
    font-size: 0.95rem;
}
.contact-login-prompt__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}
.contact-login-prompt__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8.5rem;
    padding: 0.65rem 1.25rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.contact-login-prompt__btn--primary {
    background: #2563eb;
    color: #fff;
}
.contact-login-prompt__btn--primary:hover {
    background: #1d4ed8;
    color: #fff;
}
.contact-login-prompt__btn--secondary {
    background: #f1f5f9;
    color: #0f172a;
}
.contact-login-prompt__btn--secondary:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.contact-status-banner,
.contact-error-banner {
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: .9rem;
    line-height: 1.45;
}
.contact-status-banner {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #166534;
}
.contact-error-banner {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}
.contact-error-banner ul {
    margin: 0;
    padding-left: 18px;
}
.contact-page {
    background: #f4f7fb;
}
.contact-page .contact-main {
    width: 100%;
    max-width: none;
    margin: 32px 0 40px;
    padding: 0 0 40px;
    box-sizing: border-box;
    align-self: stretch;
}
.contact-page .contact-hero,
.contact-page .contact-layout {
    width: 100%;
}
.contact-hero {
    margin-bottom: 28px;
}
.contact-hero-grid {
    display: grid;
    gap: 20px;
    align-items: center;
}
.contact-hero-title {
    margin: 0 0 10px;
    font-size: clamp(1.65rem, 4vw, 2.35rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.15;
}
.contact-hero-lead {
    margin: 0;
    max-width: 560px;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.55;
}
.contact-hero-title--mobile,
.contact-hero-lead--mobile,
.contact-form-title--mobile {
    display: none;
}
.contact-hero-art {
    display: flex;
    justify-content: center;
    align-items: center;
}
.contact-hero-art-img {
    width: min(100%, 320px);
    height: auto;
    object-fit: contain;
    display: block;
    background: transparent;
}
.contact-layout {
    display: grid;
    gap: 24px;
    align-items: start;
    width: 100%;
}
.contact-aside,
.contact-form-panel {
    min-width: 0;
    width: 100%;
}
.contact-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}
.contact-card-title {
    margin: 0 0 18px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #0f172a;
}
.contact-help-card {
    padding: 28px 26px 24px;
    background: linear-gradient(180deg, #f0f7ff 0%, #f8fbff 45%, #ffffff 100%);
    border-color: #dbeafe;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-help-title {
    margin: 0 0 10px;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.contact-help-lead {
    margin: 0 0 22px;
    font-size: .9375rem;
    line-height: 1.55;
    color: #64748b;
}
.contact-help-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
}
.contact-help-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.contact-help-list li > span:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.contact-help-list strong {
    font-size: .9375rem;
    font-weight: 700;
    color: #0f172a;
}
.contact-help-list li span span {
    font-size: .8125rem;
    line-height: 1.45;
    color: #64748b;
}
.contact-help-list a {
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
}
.contact-help-list a:hover {
    text-decoration: underline;
}
.contact-help-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.05rem;
}
.contact-help-icon--clock {
    background: #ede9fe;
    color: #7c3aed;
}
.contact-help-icon--shield {
    background: #dcfce7;
    color: #16a34a;
}
.contact-help-icon--chat {
    background: #dbeafe;
    color: #2563eb;
}
.contact-help-art {
    margin-top: auto;
    display: flex;
    justify-content: center;
    padding-top: 8px;
}
.contact-form-head {
    margin-bottom: 20px;
}
.contact-form-title {
    margin: 0 0 6px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.contact-form-sub {
    margin: 0;
    font-size: .875rem;
    line-height: 1.5;
    color: #64748b;
}
.contact-message-count {
    display: block;
    margin-top: 6px;
    font-size: .75rem;
    color: #94a3b8;
    text-align: right;
}
.contact-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 4px 0 0;
    font-size: .75rem;
    color: #94a3b8;
}
.contact-secure-note i {
    color: #64748b;
}
.contact-input-wrap input[readonly] {
    background: #f8fafc;
    color: #475569;
}
.contact-reach-card {
    padding: 30px;
}
.contact-reach-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.contact-reach-list li {
    border-top: 1px solid #eef2f7;
}
.contact-reach-list li:first-child { border-top: 0; }
.contact-reach-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    text-decoration: none;
    color: inherit;
    transition: background .15s ease;
}
a.contact-reach-item:hover .contact-reach-copy strong {
    color: #2563eb;
}
.contact-reach-item--static {
    cursor: default;
}
.contact-reach-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    font-size: 1.1rem;
}
.contact-reach-icon--call { background: #f3ecff; color: #7c3aed; }
.contact-reach-icon--email { background: #e8f1ff; color: #2563eb; }
.contact-reach-icon--address { background: #e8f8ef; color: #16a34a; }
.contact-reach-icon--hours { background: #fff3e6; color: #ea580c; }
.contact-reach-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.contact-reach-copy strong {
    font-size: .9375rem;
    font-weight: 700;
    color: #0f172a;
}
.contact-reach-copy span {
    font-size: .8125rem;
    color: #64748b;
    line-height: 1.35;
}
.contact-reach-chevron {
    color: #94a3b8;
    font-size: .9rem;
    flex: 0 0 auto;
}
.contact-trust-card {
    margin-top: 20px;
    padding: 18px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f5f3ff 0%, #eef2ff 100%);
    border: 1px solid #e0e7ff;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.contact-trust-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #e0e7ff;
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    font-size: 1.2rem;
}
.contact-trust-copy strong {
    display: block;
    margin-bottom: 6px;
    font-size: .9375rem;
    font-weight: 700;
    color: #4338ca;
}
.contact-trust-copy p {
    margin: 0;
    font-size: .8125rem;
    line-height: 1.45;
    color: #6366f1;
}
.contact-form-panel {
    padding: 28px 30px 30px;
}
.contact-form-panel .contact-field-label {
    display: block;
}
.contact-form {
    display: grid;
    gap: 16px;
}
.contact-field {
    display: grid;
    gap: 6px;
}
.contact-field-label {
    font-size: .8125rem;
    font-weight: 600;
    color: #334155;
}
.contact-optional {
    font-weight: 500;
    color: #94a3b8;
}
.contact-input-wrap {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    min-height: var(--rz-field-min-height);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.contact-input-wrap:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.contact-input-leading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    flex: 0 0 46px;
    color: #94a3b8;
    font-size: 1rem;
    background: #f8fafc;
    border-right: 1px solid #e8ecf2;
}
.contact-input-wrap--textarea .contact-input-leading {
    align-items: flex-start;
    padding-top: 13px;
}
.contact-input-wrap input,
.contact-input-wrap select,
.contact-input-wrap textarea {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 11px 12px !important;
    font: inherit;
    font-size: .9rem;
    color: #0f172a;
    background: #fff;
    margin: 0;
    min-height: var(--rz-field-min-height);
}
.contact-input-wrap textarea {
    min-height: 130px;
    resize: vertical;
    padding-top: 12px !important;
}
.contact-input-wrap input::placeholder,
.contact-input-wrap textarea::placeholder {
    color: #94a3b8;
}
.contact-input-wrap input:focus,
.contact-input-wrap select:focus,
.contact-input-wrap textarea:focus {
    outline: none;
}
.contact-upload {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 16px 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #fafafa;
}
.contact-upload-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.contact-upload-copy p {
    margin: 0 0 2px;
    font-size: .875rem;
    font-weight: 600;
    color: #334155;
}
.contact-upload-copy span {
    font-size: .75rem;
    color: #94a3b8;
}
.contact-upload-btn {
    position: relative;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
}
.contact-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}
.contact-upload-names {
    margin: 8px 0 0;
    font-size: .75rem;
    color: #64748b;
}
.messages-page .chat-compose-upload {
    margin-top: 4px;
}

/* Instagram-style inline chat reply */
.chat-reply-field {
    display: grid;
    gap: 6px;
}
.chat-reply-box {
    position: relative;
    display: block;
    min-height: var(--rz-field-min-height);
    border: 1px solid #dbdbdb;
    border-radius: 22px;
    background: #fff;
    overflow: hidden;
}
.chat-reply-box__input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: var(--rz-field-min-height);
    max-height: 120px;
    margin: 0;
    border: 0;
    background: transparent;
    padding: 12px 46px 12px 46px;
    font: inherit;
    font-size: .9375rem;
    line-height: 1.35;
    resize: none;
    overflow-y: auto;
}
.chat-reply-box--no-attach .chat-reply-box__input {
    padding-left: 16px;
}
.chat-reply-box__input:focus {
    outline: none;
}
.chat-reply-box__input::placeholder {
    color: #8e8e8e;
}
.chat-reply-box__attach {
    position: absolute;
    left: 5px;
    bottom: 5px;
    z-index: 2;
    width: 34px;
    height: 34px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #262626;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.125rem;
}
.chat-reply-box__attach:hover {
    color: #0095f6;
}
.chat-reply-box__file {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    cursor: pointer;
}
.chat-reply-box__send {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #0095f6;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .9375rem;
    cursor: pointer;
    transition: background .15s ease, transform .1s ease;
}
.chat-reply-box__send:hover {
    background: #0081d6;
}
.chat-reply-box__send:active {
    transform: scale(0.96);
}
.chat-reply-box__files {
    margin: 0;
    padding: 0 12px;
    font-size: .75rem;
    color: #64748b;
}
.contact-input-wrap--select {
    position: relative;
}
.contact-input-wrap--select select {
    appearance: none;
    padding-right: 40px !important;
    cursor: pointer;
}
.contact-select-caret {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}
.contact-page label.contact-checkbox {
    display: inline-flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 0 !important;
    padding: 0;
    font-size: .8125rem;
    font-weight: 400 !important;
    color: #64748b;
    line-height: 1.5;
    cursor: pointer;
}
.contact-page .contact-checkbox > span {
    flex: 1;
    min-width: 0;
    padding-top: 1px;
}
.contact-page .contact-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 18px;
    accent-color: #2563eb;
    cursor: pointer;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.contact-page .contact-checkbox a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}
.contact-page .contact-checkbox a:hover { text-decoration: underline; }
.contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 14px 20px;
    font: inherit;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: #2563eb;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}
.contact-submit:hover {
    background: #1d4ed8;
}
.contact-submit:active {
    transform: translateY(1px);
}
.contact-page .rz-newsletter-section {
    margin-top: 24px;
    width: 100%;
}
.contact-page .rz-newsletter-container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
}
@media (min-width: 900px) {
    .contact-hero-grid {
        grid-template-columns: 1fr minmax(220px, 340px);
    }
    .contact-hero-art {
        justify-content: flex-end;
    }
    .contact-hero-art-img {
        width: min(100%, 320px);
    }
    .contact-layout {
        grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
        gap: 28px;
        width: 100%;
    }
}
@media (max-width: 899px) {
    .contact-hero-title--desktop,
    .contact-hero-lead--desktop,
    .contact-form-title--desktop {
        display: none;
    }
    .contact-hero-title--mobile,
    .contact-hero-lead--mobile,
    .contact-form-title--mobile {
        display: block;
    }
    .contact-hero {
        margin-bottom: 20px;
        padding: 30px;
        border-radius: 16px;
        background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 55%, #f5f3ff 100%);
        border: 1px solid #e8edf5;
    }
    .contact-hero-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .contact-hero-art {
        order: 1;
        width: 100%;
        justify-content: center;
    }
    .contact-hero-copy {
        order: 2;
        width: 100%;
        text-align: center;
    }
    .contact-hero-lead--mobile {
        max-width: none;
    }
    .contact-hero-art-img {
        width: 100%;
        max-width: 100%;
        max-height: 240px;
        object-fit: contain;
    }
    .contact-layout {
        display: flex;
        flex-direction: column;
    }
    .contact-form-panel { order: 1; }
    .contact-aside { order: 2; }
    .contact-help-card {
        padding: 24px 20px;
    }
    .contact-help-title {
        font-size: 1.35rem;
    }
    .contact-upload {
        flex-direction: column;
        align-items: flex-start;
    }
    .contact-upload-btn {
        margin-left: 0;
    }
    .contact-reach-item--hours { display: none; }
    .contact-trust-card { margin-top: 16px; }
    .contact-submit {
        background: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
    }
    .contact-submit:hover {
        background: linear-gradient(90deg, #1d4ed8 0%, #6d28d9 100%);
    }
}

/* Shared footer partial */
html, body { min-height: 100%; overflow-x: hidden; }
body > .container { flex: 1 0 auto; display: flex; flex-direction: column; }
/* Welcome / home hero: hero is a direct body child after header .container — don't grow header */
body.welcome-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #fff;
}
body.welcome-page > .container {
    flex: 0 0 auto;
}
body.welcome-page > section.hero.hero--v2 {
    flex: 0 0 auto;
}
body.welcome-page > .home-mobile-search-container {
    flex: 0 0 auto;
}
body.welcome-page.listings-home-page--results > .container:last-of-type {
    flex: 0 0 auto;
    overflow: visible;
}
/* Browse (/browse + home ?browse=1): keep page body scrollable so footer is reachable */
body.listings-index-page > .container:last-of-type {
    flex: 0 0 auto;
    overflow: visible;
}
body.listings-index-page > .container:last-of-type > .layout {
    flex: 0 0 auto;
}
body.listings-index-page .site-footer,
body.listings-index-page .rz-bottom-nav-spacer {
    flex-shrink: 0;
}
.site-footer { margin-top: auto; padding: 24px 0 0; color: #64748b; border-top: 0; position: relative; z-index: 1; overflow: visible; }
.site-footer::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; background: #f8fafc; border-top: 0; }
.site-footer .footer-container { width: 1440px; max-width: calc(100% - 40px); margin: 0 auto; }
.site-footer .footer-grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
.site-footer .brand-block { min-width: 220px; }
.site-footer .footer-brand { display: inline-flex; align-items: center; text-decoration: none; line-height: 1; }
.site-footer .footer-brand img { height: 44px; width: auto; display: block; background: transparent; mix-blend-mode: multiply; }
.site-footer .brand-copy { margin: 10px 0 14px; font-size: .86rem; line-height: 1.6; max-width: 250px; }
.site-footer .socials { display: flex; gap: 10px; }
.site-footer .social { width: 28px; height: 28px; border-radius: 999px; border: 1px solid #e2e8f0; background: #fff; color: #334155; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: .86rem; }
.site-footer .social:hover { border-color: #cbd5e1; color: #1d4ed8; }
.site-footer .footer-links { display: grid; gap: 8px; font-size: .87rem; color: #334155; }
.site-footer .footer-links strong { color: #0f172a; font-size: 1rem; margin-bottom: 4px; }
.site-footer .footer-links a { color: #475569; text-decoration: none; }
.site-footer .footer-links a:hover { color: #1d4ed8; }
.site-footer .copyright { margin-top: 18px; border-top: 1px solid #e5e7eb; padding: 12px 0 14px; font-size: .8rem; text-align: center; }
@media (min-width: 769px) { .site-footer .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; align-items: start; } }

/* Mobile bottom tab bar (footer partial; shown through 979px) */
.rz-bottom-nav-spacer,
.rz-bottom-nav {
    display: none;
}

/* Home + Browse + Contact (+ listing detail for admins): left panel is mobile drawer only */
.welcome-page #rzLpSidebar.lp-sidebar,
.listings-index-page #rzLpSidebar.lp-sidebar,
.contact-page #rzLpSidebar.lp-sidebar,
.listing-show-page #rzLpSidebar.lp-sidebar {
    display: none;
}

.lp-admin-drawer-links {
    margin: 0;
    padding: 8px 10px 10px 12px;
}

.lp-admin-drawer-links .lp-sublink {
    padding: 9px 8px;
    font-size: 0.8rem;
    border-radius: 8px;
}

/* Shared left panel partial (profile card + nav + wizard substeps) */
.lp-sidebar {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    padding: 20px 14px 14px;
    width: 280px;
    max-width: 100%;
    align-self: start;
    flex-shrink: 0;
    line-height: 1.45;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
}
.lp-profile {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 0 6px 18px;
    margin: 0 0 4px;
    border-bottom: 1px solid #eef2f7;
}
.lp-profile-text { min-width: 0; flex: 1; }
.lp-avatar {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    object-fit: cover;
    background: #dbeafe;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #e2e8f0;
    flex-shrink: 0;
}
.lp-name {
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.3;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.lp-mail {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 3px;
    line-height: 1.4;
    word-break: break-word;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
}
.lp-mail a,
.lp-mail :any-link {
    color: inherit !important;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    border-bottom: 0 !important;
    pointer-events: none;
}
.lp-mail .rz-email-at,
.lp-mail .rz-phone-ui {
    text-decoration: none !important;
}
.lp-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
    font-size: 0.72rem;
    border-radius: 999px;
    padding: 4px 10px 4px 8px;
    font-weight: 600;
    line-height: 1.2;
}
.lp-verified i {
    font-size: 0.82rem;
    color: #2563eb;
    line-height: 1;
}
.lp-links {
    margin-top: 2px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.lp-links > .lp-link,
.lp-links > .lp-logout-form,
.lp-links > .lp-substeps-card {
    position: relative;
    border-top: 0;
    padding: 5px 0;
}
.lp-links > .lp-link::before,
.lp-links > .lp-logout-form::before,
.lp-links > .lp-substeps-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: #eef2f7;
}
.lp-links > :first-child::before {
    display: none;
}
.lp-links > :first-child {
    padding-top: 0;
}
.lp-link.lp-link--cta.active + .lp-substeps-card {
    margin-top: 4px;
}
.lp-link.lp-link--cta.active + .lp-substeps-card::before {
    display: none;
}
.lp-link {
    padding: 13px 14px !important;
    margin: 0;
    border-radius: 10px;
    text-decoration: none;
    color: #334155;
    font-size: 0.86rem;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: none;
    background: transparent;
    transition: background 0.15s ease, color 0.15s ease;
    box-sizing: border-box;
    width: 100%;
}
.lp-link-label,
.lp-link > span:not(.lp-badge) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: 1.4;
    min-width: 0;
    flex: 1 1 auto;
}
.lp-link-label i,
.lp-link > span:not(.lp-badge) > i {
    width: 18px;
    font-size: 1.05rem;
    color: #64748b;
    text-align: center;
    flex: 0 0 18px;
}
.lp-link-chevron {
    flex: 0 0 auto;
    font-size: 0.72rem;
    color: #cbd5e1;
    line-height: 1;
}
.lp-link:hover:not(.active):not(.lp-link--logout) {
    background: transparent;
    color: #334155;
}
.lp-link.active {
    background: #f0f7ff;
    color: #2563eb;
    font-weight: 600;
}
.lp-link.active .lp-link-label i,
.lp-link.active > span:not(.lp-badge) > i,
.lp-link.active .lp-link-chevron {
    color: #2563eb;
}
.lp-logout-form {
    margin: 0;
    padding: 0;
    width: 100%;
}
.lp-link--logout {
    width: 100%;
    background: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    color: #dc2626;
    font-weight: 600;
    justify-content: flex-start;
    border-radius: 10px;
}
.lp-link--logout:hover {
    background: transparent;
    color: #b91c1c;
}
.lp-link--logout .lp-link-label i,
.lp-link--logout > span:not(.lp-badge) > i {
    color: #dc2626;
}
.lp-link--logout:hover .lp-link-label i,
.lp-link--logout:hover > span:not(.lp-badge) > i {
    color: #b91c1c;
}
.lp-substeps-card {
    margin: 6px 8px 10px;
    padding: 14px 10px 14px 8px;
    background: #f1f5f9;
    border: 0;
    border-radius: 12px;
}
.lp-links > .lp-substeps-card {
    padding-left: 10px;
    padding-right: 10px;
}
.lp-links > .lp-substeps-card::before {
    left: 0;
    right: 0;
}
.lp-substeps {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.lp-substep {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 0 10px;
    align-items: center;
    position: relative;
    min-width: 0;
    padding-bottom: 4px;
}
.lp-substep:last-child {
    padding-bottom: 0;
}
.lp-substep-line {
    position: absolute;
    left: 13px;
    top: calc(50% + 14px);
    bottom: -2px;
    width: 2px;
    background: #e2e8f0;
    border-radius: 1px;
    z-index: 0;
    pointer-events: none;
}
.lp-substep-line.is-filled {
    background: #2563eb;
}
.lp-dot {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 2px solid #cbd5e1;
    background: #fff;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #64748b;
    line-height: 1;
}
.lp-dot.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.lp-dot.done {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.lp-dot.done i {
    font-size: 0.75rem;
    line-height: 1;
}
.lp-substep-content {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 6px 0;
    border-radius: 10px;
    background: transparent;
    box-sizing: border-box;
}
.lp-substep.is-active .lp-substep-content {
    background: #f0f7ff;
}
.lp-substep-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e2e8f0;
    color: #64748b;
    flex-shrink: 0;
    font-size: 1.05rem;
}
.lp-substep.is-active .lp-substep-icon {
    background: #dbeafe;
    color: #2563eb;
}
.lp-substep.is-done .lp-substep-icon {
    background: #dcfce7;
    color: #16a34a;
}
.lp-substep-body {
    min-width: 0;
    padding-top: 0;
    flex: 1;
}
.lp-substep-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}
.lp-substep-sub {
    font-size: 0.74rem;
    color: #64748b;
    margin-top: 3px;
    line-height: 1.4;
    font-weight: 400;
}
.lp-substep.is-active .lp-substep-title {
    color: #0f172a;
}
.lp-substep.is-active .lp-substep-sub {
    color: #64748b;
}
.lp-substep.is-done .lp-substep-title {
    color: #0f172a;
}
.lp-substep.is-pending .lp-substep-title {
    color: #334155;
}

/* Add-property wizard: slightly roomier panel */
.listings-add-property-page .lp-sidebar {
    line-height: 1.55;
}
.listings-add-property-page .lp-substep-title,
.listings-add-property-page .lp-substep-sub {
    line-height: 1.45;
}

/* migrated:resources/views/listings/index.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .container { width: min(1440px, calc(100% - 24px)); margin: 0 auto; }
        .search-bar {
            margin-top: 12px;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 10px;
            display: grid;
            gap: 8px;
            grid-template-columns: 1fr;
        }
        .field {
            border: 1px solid #e2e8f0;
            border-radius: 7px;
            padding: 10px 12px;
            background: #fff;
            width: 100%;
            font-size: .82rem;
            color: #334155;
        }
        .search-btn {
            border: 0;
            border-radius: 8px;
            background: #2563eb;
            color: #fff;
            font-size: .82rem;
            font-weight: 600;
            padding: 10px 14px;
            cursor: pointer;
        }
        .popular { margin-top: 8px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; grid-column: 1/-1; }
        .popular strong { font-size: .72rem; color: #475569; }
        .popular span {
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            border-radius: 6px;
            font-size: .68rem;
            color: #334155;
            padding: 3px 7px;
        }

        .layout { margin: 50px 0; display: grid; gap: 24px; grid-template-columns: 1fr; }
        .browse-head {
            margin: 29px 0;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 10px;
            flex-wrap: wrap;
        }
        .browse-head strong { font-size: 1rem; }
        .browse-head-left { display: grid; gap: 4px; }
        .sidebar {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 12px;
            height: fit-content;
        }
        .content {
            background: #fff;
    border: 0;
    border-radius: 10px;
    padding: 30px 30px;
        }
        .small { color: #64748b; font-size: .74rem; }
        .top-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
        .section-title { margin: 14px 0 8px; font-size: .8rem; font-weight: 700; }
        .check-list { display: grid; gap: 6px; }
        .check-list label { font-size: .75rem; color: #334155; display: flex; align-items: center; gap: 6px; }
        .clear-link { font-size: .72rem; color: #2563eb; text-decoration: none; }
        .chip-row { display: flex; gap: 6px; flex-wrap: wrap; }
        .chip { border: 1px solid #dbe3ef; border-radius: 6px; padding: 4px 7px; font-size: .68rem; color: #334155; background: #fff; }
        .chip-option { position: relative; }
        .chip-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        .chip-option span { cursor: pointer; }
        .chip-option input:checked + span {
            background: #2563eb;
            border-color: #2563eb;
            color: #fff;
        }
        .range-input { width: 100%; margin-top: 8px; accent-color: #2563eb; }
        .range-track {
            margin-top: 8px;
            height: 4px;
            border-radius: 999px;
            background: linear-gradient(90deg, #2563eb 0 72%, #dbe3ef 72% 100%);
        }
        .apply-btn {
            margin-top: 12px;
            width: 100%;
            border: 0;
            border-radius: 8px;
            background: #2563eb;
            color: #fff;
            padding: 10px 12px;
            font-size: .8rem;
            font-weight: 700;
        }

        .thumb {
            position: relative;
            height: 150px;
            background-size: cover;
            background-position: center;
        }
        .thumb-link {
            position: absolute;
            inset: 0;
            z-index: 1;
        }
        .fav {
            position: absolute;
            right: 8px;
            top: 8px;
            width: 24px;
            height: 24px;
            border-radius: 7px;
            border: 1px solid #d6dde8;
            background: #fff;
            display: grid;
            place-items: center;
            font-size: .72rem;
            cursor: pointer;
    color: #64748b;
            z-index: 3;
        }
        .fav.saved { color: #dc2626; border-color: #fecaca; background: #fff5f5; }
        .meta { color: #64748b; font-size: .71rem; margin-top: 4px; }
        .meta a { color: #64748b; text-decoration: none; }
        .price { margin-top: 6px; font-size: 1rem; font-weight: 700; }
        .price small { font-size: .72rem; color: #94a3b8; font-weight: 500; }
        .specs:not(.listing-card-specs) {
            margin-top: 7px;
            border-top: 1px solid #eef2f7;
            padding-top: 7px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            color: #64748b;
            font-size: .69rem;
        }
        .specs:not(.listing-card-specs) span { display: inline-flex; align-items: center; gap: 4px; }
        .pagination {
            margin-top: 12px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 6px;
        }
        .page-btn {
            width: 26px;
            height: 26px;
            border: 1px solid #dbe3ef;
            border-radius: 6px;
            background: #fff;
            font-size: .72rem;
            color: #334155;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
        }
        .page-btn.active { background: #2563eb; border-color: #2563eb; color: #fff; }
        .page-btn.disabled { opacity: .4; pointer-events: none; }

        .listings-index-page .bz-load-more-wrap {
            margin-top: 20px;
            display: flex;
            justify-content: center;
        }
        .listings-index-page .bz-load-more-btn {
            min-width: 200px;
            border: 1px solid #cbd5e1;
            border-radius: 10px;
            background: #fff;
            color: #0f172a;
            font-size: 0.88rem;
            font-weight: 600;
            padding: 12px 22px;
            cursor: pointer;
        }
        .listings-index-page .bz-load-more-btn:hover:not(:disabled) {
            border-color: #2563eb;
            color: #2563eb;
            background: #f8fafc;
        }
        .listings-index-page .bz-load-more-btn:disabled {
            opacity: 0.65;
            cursor: wait;
        }

        @media (min-width: 1024px) {
            .search-bar { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
            .layout { grid-template-columns: 258px 1fr; }
        }


/* migrated:resources/views/listings/show.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .container { width: min(1440px, calc(100% - 24px)); margin: 0 auto; }
        .layout { margin: 12px auto 28px; width: min(1440px, calc(100% - 24px)); display: grid; gap: 24px; grid-template-columns: 1fr; }
        .crumb { grid-column: 1/-1; color: #64748b; font-size: .72rem; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
        .crumb a { color: #475569; text-decoration: none; }
        .crumb a:hover { color: #0f4c81; text-decoration: underline; }
        .left-col, .right-col > * { background: transparent; border: 0; border-radius: 10px; }
        .right-panel {
            background: transparent;
            border: 0;
            border-radius: 12px;
            box-shadow: none;
            padding: 0 0 0 53px;
            margin-top: 11px;
        }
        .gallery-wrap { padding: 10px; }
        .hero-wrap { position: relative; }
        .hero-img { width: 100%; height: 320px; object-fit: cover; border-radius: 8px; display: block; }
        .hero-fav {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 25px;
            height: 25px;
            border: 1px solid #dbe3ef;
            background: #fff;
            border-radius: 7px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            cursor: pointer;
            z-index: 2;
        }
        .hero-fav.saved { color: #dc2626; border-color: #fecaca; background: #fff5f5; }
        .thumbs-wrap {
            margin-top: 16px;
            position: relative;
            padding: 0;
        }
        .thumbs {
            display: flex;
            gap: 12px;
            overflow-x: auto;
            scroll-behavior: smooth;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .thumbs::-webkit-scrollbar { display: none; }
        .thumb-btn {
            border: 1px solid #dbe2ec;
            border-radius: 9px;
            padding: 0;
            background: #fff;
            cursor: pointer;
            flex: 0 0 auto;
            width: 96px;
            height: 64px;
            overflow: hidden;
        }
        .thumb-btn.active { border-color: #2563eb; box-shadow: 0 0 0 1px #2563eb inset; }
        .thumb-small { width: 100%; height: 100%; object-fit: cover; display: block; }
        .thumb-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 28px;
            height: 28px;
            border: 1px solid #dbe3ef;
            border-radius: 999px;
            background: #fff;
            color: #334155;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 2;
        }
        .thumb-nav.prev { left: 0; }
        .thumb-nav.next { right: 0; }
        .thumb-nav.hidden { display: none; }
        .content-wrap { margin-top: 0; padding: 2px 2px 4px; }
        h1 { margin: 0; font-size: 1.55rem; }
        .verified { background: #dcfce7; color: #166534; font-size: .68rem; border-radius: 999px; padding: 3px 8px; margin-left: 8px; font-weight: 600; }
        .meta { color: #64748b; font-size: .78rem; margin-top: 14px; margin-bottom: 10px; }
        .price { margin-top: 10px; font-size: 1.25rem; font-weight: 700; color: #1d4ed8; }
        .price small { color: #94a3b8; font-size: .76rem; font-weight: 500; }
        .specs { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 12px; color: #64748b; font-size: .74rem; }
        .specs span { display: inline-flex; align-items: center; gap: 4px; }
        .specs-main {
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #e5e7eb;
        }
        .block-title { margin: 16px 0 7px; font-size: .85rem; font-weight: 700; }
        .desc { color: #475569; font-size: .78rem; line-height: 1.6; margin: 0; }
        .desc-block {
            margin-top: 15px;
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #e5e7eb;
        }
        .amenities-block {
            margin-top: 15px;
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #e5e7eb;
        }
        .location-box {
            margin-top: 14px;
            border: 0;
            border-radius: 10px;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(30%, 340px) 1fr;
            background: transparent;
            gap: 12px;
        }
        .location-map {
            background: transparent;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .location-map iframe {
            width: 100%;
            height: 180px;
            border: 0;
            display: block;
            border-radius: 10px;
        }
        .location-info { padding: 10px 12px; }
        .location-info strong { display: block; font-size: .82rem; margin-bottom: 6px; }
        .location-info p { margin: 4px 0; font-size: .74rem; color: #64748b; }
        .location-point {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .location-point i {
            color: #0f4c81;
    font-size: .8rem;
            width: 14px;
            text-align: center;
            flex-shrink: 0;
        }
        .cta-strip {
            margin-top: 12px;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            background: #f1f5ff;
            padding: 10px 12px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
        }
        .cta-strip p { margin: 0; font-size: .76rem; color: #475569; }

        .box {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
            padding: 25px;
        }
        .box + .box { margin-top: 10px; }
        .box h3 { margin: 0 0 10px; font-size: .88rem; }
        .highlights-box { margin-top: 15px; }
        .highlights-box,
        .share-box {
            padding: 40px;
            text-align: left;
        }
        .share-box {
            margin-top: 20px !important;
        }
        .login-card {
            text-align: left;
            padding: 40px;
        }
        .lock {
            width: 42px;
            height: 42px;
            border-radius: 999px;
            background: #eff6ff;
            color: #2563eb;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 8px;
        }
        .login-note { margin: 0 0 10px; color: #64748b; font-size: .76rem; line-height: 1.5; }
        .btn { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; border-radius: 8px; padding: 8px 10px; text-decoration: none; font-weight: 600; font-size: .78rem; }
        .btn-blue { background: #2563eb; border-color: #2563eb; color: #fff; width: 100%; display: inline-block; text-align: center; }
        .muted-link { margin-top: 8px; display: inline-block; font-size: .74rem; color: #334155; text-decoration: none; }
        .list-row { display: flex; justify-content: space-between; gap: 10px; margin: 7px 0; font-size: .75rem; color: #475569; }
        .trust p { margin: 7px 0; color: #166534; font-size: .75rem; }
        .share { display: flex; gap: 8px; }
        .share a { width: 28px; height: 28px; border-radius: 999px; border: 1px solid #dbe3ef; display: inline-flex; align-items: center; justify-content: center; color: #334155; text-decoration: none; }

        @media (min-width: 1100px) {
            .layout { grid-template-columns: 2.2fr 1fr; align-items: start; }
        }
        @media (max-width: 900px) {
            .location-box { grid-template-columns: 1fr; }
            .location-map { justify-content: flex-start; }
        }


/* migrated:resources/views/listings/my.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; }
        .container { width: 1440px; max-width: 96%; margin: 0 auto; flex: 1; display: flex; flex-direction: column; }
        .brand { color: #1d4ed8; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
        .menu a { color: #334155; text-decoration: none; }
        .btn { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; border-radius: 8px; padding: 8px 12px; text-decoration: none; font-size: .8rem; font-weight: 600; cursor: pointer; }
        .btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
        .layout { margin: 50px 0; display: grid; gap: 28px; grid-template-columns: 1fr; flex: 1; }
        .sidebar { padding: 14px; }
        .main { padding: 14px; }
        .avatar { width: 46px; height: 46px; border-radius: 999px; object-fit: cover; background: #dbeafe; border: 1px solid #d7e2f4; }
        .name { font-size: .9rem; font-weight: 700; }
        .mail { font-size: .76rem; color: #64748b; }
        .side-links { margin-top: 8px; display: grid; gap: 4px; }
        .side-link { padding: 9px 10px; border-radius: 8px; text-decoration: none; color: #334155; font-size: .82rem; }
        .side-link.active { background: #eef4ff; color: #1d4ed8; font-weight: 700; }
        .support { margin-top: 10px; padding: 10px; border: 1px solid #e9eef7; border-radius: 10px; background: #f8fbff; font-size: .8rem; color: #475569; }
        .title-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
        h1 { margin: 0; font-size: 1.45rem; }
        .subtitle { margin: 4px 0 0; color: #64748b; font-size: .86rem; }
        .section { margin-top: 12px; border: 1px solid #e9eef7; border-radius: 10px; }
        .draft-meta { margin-top: 6px; color: #64748b; font-size: .8rem; }
        .section-head { padding: 11px; border-bottom: 1px solid #edf1f7; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
        .section-head strong { font-size: .95rem; }
        .search { display: flex; gap: 6px; }
        .search input, .search select { border: 1px solid #d6ddeb; border-radius: 8px; padding: 7px 9px; font-size: .8rem; }
        .rows { display: grid; }
        .row { display: grid; grid-template-columns: 90px 1fr auto; gap: 10px; align-items: center; padding: 11px; border-bottom: 1px solid #f1f5fb; }
        .row:last-child { border-bottom: 0; }
        .thumb { width: 90px; height: 90px; border-radius: 8px; object-fit: cover; }
        .title { margin: 0; font-size: .9rem; font-weight: 700; }
        .meta { margin-top: 4px; color: #64748b; font-size: .76rem; }
        .price { margin-top: 5px; font-size: .95rem; font-weight: 700; }
        .stats { display: flex; gap: 14px; margin-top: 6px; color: #64748b; font-size: .74rem; flex-wrap: wrap; }
        .status-chip { margin-left: 8px; border-radius: 999px; font-size: .67rem; padding: 3px 8px; font-weight: 700; }
        .status-pending { background: #fef9c3; color: #854d0e; }
        .status-approved { background: #e8f8ee; color: #15803d; }
        .status-rejected { background: #fee2e2; color: #b91c1c; }
        .row-actions { display: flex; align-items: center; gap: 6px; }
        .small-btn { border: 1px solid #cbd5e1; background: #fff; color: #334155; border-radius: 8px; padding: 7px 10px; font-size: .76rem; text-decoration: none; font-weight: 600; cursor: pointer; }
        .danger { border-color: #fecaca; color: #b91c1c; background: #fff5f5; }
        .status {
            margin-top: 12px;
            background: #e8f5e9;
            border: 1px solid #c8e6c9;
            color: #1b5e20;
            padding: 10px 12px;
            border-radius: 10px;
            font-size: .88rem;
        }
        .empty { padding: 16px; color: #64748b; font-size: .85rem; }
        @media (min-width: 980px) {
            .menu { display: flex; }
            .layout { grid-template-columns: 250px 1fr; }
            .row { grid-template-columns: 140px 1fr 230px; }
            .thumb { width: 140px; height: 140px; }
        }

/* My Properties (/my-listings) — layout aligned to dashboard reference */
.listings-my-page {
    background: #fff;
}

/* Page shows its own green .status alert; hide duplicate blue header flash */
.listings-my-page .uh-status {
    display: none !important;
}
.listings-my-page .layout {
    margin: 32px 0 40px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
}
.listings-my-page .my_properties_1 {
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
.listings-my-page .my-main {
    min-width: 0;
    max-width: 100%;
}
.my_properties_1 .main.my-main, .saved_properties1 .main, .auth-profile-page .pf-editor-wrap {
    background: #fff;
    border: 1px solid #e4e9f2;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    padding:24px 22px 28px;
}
@media (min-width: 980px) {
    .listings-my-page .layout {
        grid-template-columns: 280px minmax(0, 1fr);
    }

    .listings-my-page #rzLpSidebar.lp-sidebar,
    .listing-wishlist-page #rzLpSidebar.lp-sidebar {
        display: block;
        position: static;
        transform: none;
        visibility: visible;
        pointer-events: auto;
        height: auto;
        margin: 0;
    }
}
.listings-my-page .my-hero-head,
.listing-wishlist-page .my-hero-head {
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
    padding-bottom: 18px;
    border-bottom: 1px solid #edf1f7;
}
.listings-my-page .my-hero-head h1,
.listing-wishlist-page .my-hero-head h1 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.listings-my-page .my-hero-head .subtitle,
.listing-wishlist-page .my-hero-head .subtitle {
    margin: 6px 0 0;
    font-size: 0.875rem;
    color: #64748b;
    max-width: none;
    line-height: 1.45;
}
.listings-create-page #new-property-form .lyp-page-head,
.listings-create-page #edit-property-form .lyp-page-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e8edf5;
}
.listings-create-page #new-property-form .lyp-page-head__icon,
.listings-create-page #edit-property-form .lyp-page-head__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f5f3ff;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}
.listings-create-page #new-property-form .lyp-page-head__text,
.listings-create-page #edit-property-form .lyp-page-head__text {
    flex: 1;
    min-width: 0;
}
.listing-wishlist-page .my-hero-head .my-hero-count {
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    flex-shrink: 0;
}
.listings-my-page .my-list-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 28px;
    font-size: 0.9rem;
    font-weight: 700;
    border-radius: 10px;
    border: 0;
    background: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
    color: #fff;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}
.listings-my-page .my-list-cta:hover {
    background: linear-gradient(90deg, #1d4ed8 0%, #6d28d9 100%);
    color: #fff;
    filter: brightness(1.02);
}
.listings-my-page .my-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}
.listings-my-page .my-stat-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    min-width: 0;
}
.listings-my-page .my-stat-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.listings-my-page .my-stat-card-icon--blue { background: #dbeafe; color: #2563eb; }
.listings-my-page .my-stat-card-icon--green { background: #dcfce7; color: #16a34a; }
.listings-my-page .my-stat-card-icon--orange { background: #ffedd5; color: #ea580c; }
.listings-my-page .my-stat-card-icon--purple { background: #ede9fe; color: #7c3aed; }
.listings-my-page .my-stat-card-label {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 600;
}
.listings-my-page .my-stat-card-value {
    margin-top: 4px;
    font-size: 1.55rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.listings-my-page .my-stat-card-foot {
    margin-top: 6px;
    font-size: 0.74rem;
    color: #64748b;
}
.listings-my-page .my-stat-card-foot--pct {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
}
.listings-my-page .my-stat-card-pct {
    font-size: 0.82rem;
    font-weight: 800;
    color: #16a34a;
    letter-spacing: -0.01em;
}
.listings-my-page .my-stat-card-pct-note {
    color: #64748b;
    font-weight: 500;
}
.listings-my-page .my-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 20px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e9eef7;
}
.listings-my-page .my-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.listings-my-page .my-tab {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.listings-my-page .my-tab:hover {
    border-color: #cbd5e1;
    color: #0f172a;
    background: #f8fafc;
}
.listings-my-page .my-tab.is-active {
    border-color: #2563eb;
    color: #2563eb;
    background: #eff6ff;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
}
.listings-my-page .my-sort-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.listings-my-page .my-sort-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
}
.listings-my-page .my-sort-wrap select.my-sort-select {
    min-width: 148px;
}
.listings-my-page .my-section--list {
    margin-top: 0;
}
.listings-my-page .my-section--list .my-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px;
}

/* Shared listings pager (My Properties, Wishlist, Browse) */
.listings-pager {
    width: 100%;
    margin-top: 20px;
    box-sizing: border-box;
}
.listings-pager-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    width: 100%;
}
.listings-pager-pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
}
.listings-pager-pages .page-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    background: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 1;
}
.listings-pager-pages .page-btn.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.listings-pager-pages .page-btn.disabled,
.listings-pager-pages .page-btn.page-ellipsis {
    opacity: 0.45;
    pointer-events: none;
    border-color: transparent;
    background: transparent;
}
.listings-pager-pages .page-btn.page-ellipsis {
    opacity: 1;
    min-width: 20px;
    padding: 0;
}
.listings-pager-pages .page-btn:not(.disabled):not(.active):not(.page-ellipsis):hover {
    border-color: #2563eb;
    color: #2563eb;
    background: #f8fafc;
}
.listings-pager-summary {
    margin: 0;
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 500;
    color: #64748b;
    text-align: right;
    white-space: nowrap;
}
.listings-my-page .my-section--list .listings-pager {
    margin-top: 18px;
    padding-top: 4px;
}
.listings-pager--mobile {
    display: none;
}
.listings-load-more-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}
.listings-load-more-btn {
    min-width: 200px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 12px 22px;
    cursor: pointer;
    font-family: inherit;
    line-height: 1.2;
}
.listings-load-more-btn:hover:not(:disabled) {
    border-color: #2563eb;
    color: #2563eb;
    background: #f8fafc;
}
.listings-load-more-btn:disabled,
.listings-load-more-btn.is-loading {
    opacity: 0.65;
    cursor: wait;
}
.listings-pager-summary--mobile {
    margin-top: 10px;
    text-align: center;
    width: 100%;
}
@media (max-width: 979px) {
    .listings-pager--desktop {
        display: none !important;
    }
    .listings-pager--mobile {
        display: block;
    }
}
@media (min-width: 980px) {
    .listings-pager--desktop {
        display: block;
    }
    .listings-pager--mobile {
        display: none !important;
    }
    .listings-my-page .listings-pager-bar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px 16px;
    }
    .listings-my-page .listings-pager-pages {
        flex: 1 1 auto;
        justify-content: center;
        width: auto;
    }
    .listings-my-page .listings-pager-summary {
        margin-left: auto;
        text-align: right;
        width: auto;
    }
}
@media (max-width: 1100px) and (min-width: 980px) {
    .listings-my-page .my-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.listings-my-page .my-toolbar-mobile {
    display: none;
}
.listings-my-page .my-stats-slider-wrap {
    width: 100%;
    min-width: 0;
}
@media (max-width: 979px) {
    body.listings-my-page {
        overflow-x: clip;
    }

    .listings-my-page .my_properties_1 .main.my-main {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 0 22px !important;
    }

    .listing-wishlist-page .saved_properties1 .main, .messages-page .messages-main {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .listings-my-page .my-stats-slider-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        margin-bottom: 20px;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .listings-my-page .my-stats-slider-wrap::-webkit-scrollbar {
        display: none;
    }
    .listings-my-page .my-stats-grid {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 10px;
        width: auto;
        max-width: none;
        margin-bottom: 0;
        grid-template-columns: unset;
    }
    .listings-my-page .my-stats-slider-wrap .my-stat-card {
        flex: 0 0 min(62.4vw, 240px);
        scroll-snap-align: start;
        min-width: 0;
    }
    .listings-my-page .my-toolbar-desktop,
    .listings-my-page .my-toolbar-desktop-sort {
        display: none !important;
    }
    .listings-my-page .my-toolbar-mobile {
        display: flex !important;
        align-items: stretch;
        gap: 8px;
        width: 100%;
        flex: 1 1 100%;
        min-width: 0;
    }
    .listings-my-page .my-toolbar {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 8px;
        padding-bottom: 14px;
        min-width: 0;
        max-width: 100%;
    }
    .listings-my-page .my-mbrowse-status-form,
    .listings-my-page .my-mbrowse-sort-form {
        flex: 1 1 0;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: stretch;
    }
    .listings-my-page .my-status-dd-m,
    .listings-my-page .my-sort-dd-m {
        flex: 1;
        min-width: 0;
        width: 100%;
        margin: 0 !important;
    }
    .listings-my-page .my-mbrowse-status-trigger,
    .listings-my-page .my-mbrowse-sort-trigger {
        margin: 0 !important;
        min-height: var(--rz-field-min-height);
        border-radius: 10px !important;
        border: 1px solid #e2e8f0 !important;
        background: #fff !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        color: #334155 !important;
        gap: 6px !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        position: relative;
        box-sizing: border-box;
    }
    .listings-my-page .my-mbrowse-status-trigger {
        padding: 0 28px !important;
        justify-content: center;
        text-align: center;
    }
    .listings-my-page .my-mbrowse-sort-trigger {
        padding: 0 28px 0 10px !important;
        justify-content: flex-start;
        text-align: left;
    }
    .listings-my-page .my-mbrowse-status-trigger .rz-dd-trigger-text {
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: center;
    }
    .listings-my-page .my-mbrowse-sort-trigger .rz-dd-trigger-text {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: center;
        padding-left: 4px;
        padding-right: 4px;
    }
    .listings-my-page .my-mbrowse-status-trigger .rz-dd-caret,
    .listings-my-page .my-mbrowse-sort-trigger .rz-dd-caret {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
    }
    .listings-my-page .my-mbrowse-sort-trigger .my-filter-icon {
        flex: 0 0 auto;
        order: -1;
        margin-right: 2px;
    }
    .listings-my-page .my-status-dd-m.open .my-mbrowse-status-trigger,
    .listings-my-page .my-sort-dd-m.open .my-mbrowse-sort-trigger {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-color: #93c5fd !important;
    }
    .listings-my-page #my-status-dd-m .rz-dd-menu,
    .listings-my-page #my-sort-dd-m .rz-dd-menu {
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin-top: 0 !important;
        z-index: 2410;
    }
    .listings-my-page #my-status-dd-m .rz-dd-item,
    .listings-my-page #my-sort-dd-m .rz-dd-item {
        font-size: 0.78rem;
        font-weight: 600;
    }

    .listings-my-page .my-row-aside {
        align-items: flex-start;
    }

    .listings-my-page .my-row-metrics {
        justify-content: flex-start;
        width: auto;
        max-width: 100%;
        padding: 11px 8px;
        gap: 0;
    }

    .listings-my-page .my-row-metric {
        flex: 0 0 auto;
        align-items: flex-start;
        text-align: left;
        padding: 0 8px;
        gap: 5px;
    }

    .listings-my-page .my-row-metric:first-child {
        padding-left: 0;
    }

    .listings-my-page .my-row-metric-top {
        justify-content: flex-start;
        gap: 5px;
    }

    .listings-my-page .my-row-metric-glyph {
        font-size: 0.76rem;
    }

    .listings-my-page .my-row-metric-value {
        font-size: 0.86rem;
    }

    .listings-my-page .my-row-metric-label {
        font-size: 0.59rem;
    }

    .listings-my-page .my-property-row--rejected {
        padding: 15px;
        gap: 12px;
    }

    .listings-my-page .my-property-row--rejected .my-property-row__grid {
        gap: 14px;
    }

    .listings-my-page .my-property-row--rejected .my-rejection-note {
        padding: 14px 15px;
    }
}
@media (min-width: 980px) {
    .listings-my-page .my-toolbar-mobile {
        display: none !important;
    }
}
.listings-my-page .my-list-cta--sm {
    padding: 8px 14px;
    font-size: 0.82rem;
}
.listings-my-page .my-section {
    margin-top: 0;
    border: 0;
    border-radius: 12px;
    background: #fff;
    overflow: visible;
    box-shadow: none;
}
.listings-my-page .my-draft-section {
    margin: 0 0 24px;
}
.listings-my-page .my-draft-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0 0 16px;
    margin: 0;
    border-bottom: 0;
    background: transparent;
}
.listings-my-page .my-draft-section-head__title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.listings-my-page .my-draft-section-head__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #ede9fe;
    color: #7c3aed;
    font-size: 1.05rem;
    flex-shrink: 0;
}
.listings-my-page .my-draft-section-head__title strong {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.listings-my-page .my-draft-continue-drafts-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid #c4b5fd;
    border-radius: 10px;
    background: #fff;
    color: #7c3aed;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    flex: 0 1 auto;
    max-width: 100%;
    box-sizing: border-box;
    box-shadow: none;
}
.listings-my-page .my-draft-continue-drafts-btn:hover {
    background: #f5f3ff;
    border-color: #a78bfa;
    color: #6d28d9;
}
.listings-my-page .my-draft-continue-drafts-btn .bi {
    color: #7c3aed;
    font-size: 0.88rem;
}
.listings-my-page .my-draft-rows {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
}
.listings-my-page .my-property-row--draft.row {
    display: block;
    grid-template-columns: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.listings-my-page .my-property-row--draft .my-property-row__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
    min-width: 0;
    max-width: 100%;
    padding: 16px;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 6px 18px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
    overflow: hidden;
}
.listings-my-page .my-property-row--draft .my-photo-badge--labeled {
    left: 10px;
    right: auto;
    bottom: 10px;
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 0.7rem;
    font-weight: 600;
}
.listings-my-page .my-property-row--draft .my-title-text {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.listings-my-page .my-property-row--draft .status-draft {
    background: #f3e8ff;
    color: #7c3aed;
    font-weight: 700;
    font-size: 12px;
    padding: 4px 12px;
}
.listings-my-page .my-draft-incomplete-banner {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #f0d4b8;
    border-radius: 10px;
    background: #fff8f1;
}
.listings-my-page .my-draft-incomplete-banner__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 1.5px solid #d97706;
    color: #d97706;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    margin-top: 1px;
}
.listings-my-page .my-draft-incomplete-banner__text {
    font-size: 0.8rem;
    font-weight: 600;
    color: #7c4a1e;
    line-height: 1.45;
}
.listings-my-page .my-draft-updated {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
}
.listings-my-page .my-draft-updated .bi {
    color: #64748b;
    font-size: 0.82rem;
}
.listings-my-page .my-row-actions.my-draft-row-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn.small-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    background: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-sizing: border-box;
    flex: 0 1 auto;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--continue {
    border: 1px solid #cbd5e1;
    color: #0f172a;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--continue .bi {
    color: #334155;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--continue:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--delete {
    border: 1px solid #fca5a5;
    background: #fff;
    color: #dc2626;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--delete .bi {
    color: #dc2626;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn--delete:hover {
    background: #fef2f2;
    border-color: #f87171;
    color: #b91c1c;
}
@media (min-width: 900px) {
    .listings-my-page .my-property-row--draft .my-property-row__grid {
        grid-template-columns: 200px minmax(0, 1fr) auto;
        gap: 20px 24px;
        align-items: center;
        padding: 18px 20px;
    }
    .listings-my-page .my-property-row--draft .my-thumb-wrap {
        width: 200px;
    }
    .listings-my-page .my-property-row--draft .my-thumb-wrap .thumb {
        width: 200px;
        height: 140px;
        max-height: 140px;
        min-height: 140px;
        aspect-ratio: auto;
    }
    .listings-my-page .my-row-actions.my-draft-row-actions {
        width: auto;
        max-width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-self: center;
    }
}
@media (max-width: 899px) {
    .listings-my-page .my-property-row--draft .my-property-row__grid {
        padding: 14px;
    }
    .listings-my-page .my-row-actions.my-draft-row-actions {
        justify-content: stretch;
    }
    .listings-my-page .my-row-actions.my-draft-row-actions .my-action-btn.small-btn {
        flex: 1 1 calc(50% - 4px);
    }
}
.listings-my-page .my-section-head {
    padding: 10px 0 18px;
    border-bottom: 0;
    background: #fff;
    overflow: visible;
}
.listings-my-page .my-section-head .my-section-title {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.listings-my-page .my-section-head .my-section-count {
    color: #2563eb;
    font-weight: 800;
}
.listings-my-page .my-section-head > strong:not(.my-section-title) {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.listings-my-page .my-status-filter,
.listings-index-page .my-status-filter {
    margin: 0;
}

.listings-my-page .my-section:has(.my-status-dd-m.open),
.listings-my-page .my-toolbar:has(.my-status-dd-m.open),
.listings-my-page .my-toolbar:has(.my-sort-dd-m.open) {
    overflow: visible;
}
.listings-my-page .my-status-form-mobile {
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
    display: inline-flex;
    max-width: 100%;
}
.listings-my-page .my-status-dd-m {
    position: relative;
    margin: 0;
    width: 100%;
}
.listings-my-page .my-status-dd-trigger:not(.my-mbrowse-status-trigger) {
    margin: 0 !important;
    padding: 15px 25px !important;
    min-height: 0;
    border-radius: 10px !important;
    border: 1px solid #d6ddeb !important;
    background: #fff !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    gap: 10px !important;
    width: 100%;
    justify-content: flex-start;
    box-sizing: border-box;
}
.listings-my-page .my-status-dd-trigger:not(.my-mbrowse-status-trigger) .rz-dd-trigger-text {
    white-space: nowrap;
}
.listings-my-page .my-status-dd-trigger .rz-dd-caret {
    margin-left: auto;
    font-size: 0.72rem;
    color: #64748b;
}
.listings-my-page .my-status-dd-m.open .my-status-dd-trigger:not(.my-mbrowse-status-trigger) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-color: #93c5fd !important;
}
.listings-my-page #my-status-dd-m .rz-dd-menu {
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100%;
    margin-top: 0 !important;
    z-index: 2410;
}
.listings-my-page #my-status-dd-m .rz-dd-item {
    font-size: 0.84rem;
    font-weight: 600;
    white-space: nowrap;
}
.listings-my-page .my-filter-wrap,
.listings-index-page .my-filter-wrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 12px 4px 14px;
    border: 1px solid #d6ddeb;
    border-radius: 10px;
    background: #fff;
    color: #475569;
}
.listings-my-page .my-filter-icon,
.listings-index-page .my-filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    flex-shrink: 0;
}
.listings-my-page .my-filter-icon svg,
.listings-index-page .my-filter-icon svg {
    display: block;
}
.listings-my-page .my-filter-wrap select,
.listings-index-page .my-filter-wrap select {
    border: 0;
    background: transparent;
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
    padding: 0;
    margin: 0;
    min-width: 140px;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 2px center;
    padding-right: 22px;
}
.listings-index-page .my-filter-wrap select {
    min-width: 200px;
}
.listings-my-page .my-rows {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 660px) and (max-width: 768px) {
    .listings-my-page .my-rows {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .listings-my-page .my-property-row.row {
        min-width: 0;
    }

    .listings-my-page .my-row-actions.row-actions {
        flex-wrap: wrap;
        gap: 8px;
    }

    .listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--view,
    .listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--edit {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
    }

    .listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--view {
        flex: 1 1 calc(40% - 4px);
    }

    .listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--resubmit {
        flex: 1.2 1 calc(60% - 4px);
    }

    .listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--more {
        flex: 0 0 42px;
    }
}

.listings-my-page .my-property-row.row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px;
    margin: 0;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 6px 18px rgba(15, 23, 42, 0.05);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.listings-my-page .my-title-text {
    font-weight: 800;
}
.listings-my-page .my-attr-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.listings-my-page .my-attr-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.2;
}
.listings-my-page .my-attr-pill--blue { background: #eff6ff; color: #1d4ed8; }
.listings-my-page .my-attr-pill--teal { background: #ecfeff; color: #0e7490; }
.listings-my-page .my-attr-pill--purple { background: #f5f3ff; color: #6d28d9; }
.listings-my-page .my-attr-pill .listing-card-spec-icon {
    width: 14px;
    height: 14px;
}
.listings-my-page .my-row-aside {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 14px;
    min-width: 0;
    width: 100%;
}
.listings-my-page .my-row-metrics {
    display: flex;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 14px 10px;
    background: #fff;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    box-sizing: border-box;
}
.listings-my-page .my-row-metric {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    padding: 0 6px;
    text-align: center;
    box-sizing: border-box;
}
.listings-my-page .my-row-metric:not(:last-child) {
    border-right: 1px solid #e8edf5;
}
.listings-my-page .my-row-metric-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
}
.listings-my-page .my-row-metric-glyph {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1;
    flex-shrink: 0;
}
.listings-my-page .my-row-metric-value {
    font-size: 1.08rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.listings-my-page .my-row-metric-label {
    font-size: 0.74rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.2;
}
.listings-my-page .status-approved,
.listings-my-page .status-active {
    background: #dcfce7;
    color: #15803d;
}
.listings-my-page .my-thumb-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: #f1f5f9;
    max-width: 100%;
}
.listings-my-page .my-thumb-wrap a {
    display: block;
    line-height: 0;
}
.listings-my-page .my-thumb-wrap .thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    max-height: 200px;
    border-radius: 10px;
    object-fit: cover;
    display: block;
}
.listings-my-page .my-thumb-wrap .my-thumb-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    aspect-ratio: 4 / 3;
    max-height: 200px;
    border-radius: 10px;
    background: #e2e8f0;
    color: #64748b;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}
.listings-my-page .my-thumb-wrap .my-thumb-empty i {
    font-size: 1.5rem;
    line-height: 1;
    color: #94a3b8;
}
.listings-my-page .my-photo-badge {
    position: absolute;
    right: 10px;
    bottom: 10px;
    background: rgba(15, 23, 42, 0.78);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    pointer-events: none;
}
.listings-my-page .my-row-body {
    min-width: 0;
}
.listings-my-page .my-title-row.title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}
.listings-my-page .my-title-row .status-chip {
    margin-left: 0;
}
.listings-my-page .status-chip {
    border-radius: 999px;
    font-size: 13px;
    padding: 5px 19px;
    font-weight: 700;
    vertical-align: middle;
}
.listings-my-page .status-pending {
    background: #ffedd5;
    color: #c2410c;
}
.listings-my-page .status-approved {
    background: #dcfce7;
    color: #15803d;
}
.listings-my-page .status-rejected {
    background: #fee2e2;
    color: #b91c1c;
}
.listings-my-page .status-paused {
    background: #f1f5f9;
    color: #475569;
}
.listings-my-page .status-draft {
    background: #e2e8f0;
    color: #475569;
}
.listings-my-page .my-loc.meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 0.82rem;
    color: #64748b;
}
.listings-my-page .my-loc .bi-geo-alt-fill {
    color: #ef4444;
    font-size: 0.95rem;
    flex-shrink: 0;
}
.listings-my-page .my-specs.meta {
    margin-top: 4px;
    font-size: 0.8rem;
    color: #64748b;
}
.listings-my-page .my-price.price {
    margin-top: 10px;
    font-size: 1.15rem;
    font-weight: 800;
    color: #2563eb;
    letter-spacing: -0.01em;
}
.listings-my-page .my-row-actions.row-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: stretch;
    gap: 8px;
    width: 100%;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 18px;
    font-size: 0.82rem;
    font-weight: 700;
    border-radius: 10px;
    border: 1px solid #d1d9e6;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.2;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn .bi {
    font-size: 1rem;
    color: #334155;
    flex-shrink: 0;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--view {
    flex: 1.35 1 0;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--edit {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--more {
    flex: 0 0 42px;
    width: 42px;
    min-width: 42px;
    padding: 0;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--view,
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--edit,
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--more {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #0f2847;
}
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--view:hover,
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--edit:hover,
.listings-my-page .my-row-actions .my-action-btn.small-btn.my-action-btn--more:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #0f2847;
}
.listings-my-page .my-row-actions .my-row-more {
    position: relative;
    flex-shrink: 0;
}
.listings-my-page .my-row-more summary {
    list-style: none;
    width: 100%;
    height: 100%;
    min-height: 40px;
}
.listings-my-page .my-row-more summary::-webkit-details-marker {
    display: none;
}
.listings-my-page .my-row-actions .my-action-btn--more .bi {
    font-size: 1.05rem;
    color: #475569;
}
.listings-my-page .my-row-actions .my-action-btn--more:hover,
.listings-my-page .my-row-actions .my-row-more[open] .my-action-btn--more {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #0f172a;
}
.listings-my-page .my-row-actions .my-row-more .my-row-more-pop {
    right: 0;
    top: calc(100% + 6px);
}
.listings-my-page .my-row-more-pop {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    min-width: 188px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
    padding: 6px;
    z-index: 12;
}
.listings-my-page .my-row-more-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 0;
    border-radius: 8px;
    background: #fff;
    padding: 10px 12px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f2847;
    cursor: pointer;
    text-align: left;
    text-decoration: none;
    font-family: inherit;
    box-sizing: border-box;
}
.listings-my-page .my-row-more-item:hover {
    background: #f8fafc;
}
.listings-my-page .my-row-more-item--danger {
    color: #dc2626;
}
.listings-my-page .my-row-more-item--danger .bi {
    color: #dc2626;
}
.listings-my-page .my-row-more-item--danger:hover {
    background: #fef2f2;
}
.listings-my-page .my-row-more-form {
    margin: 0;
}
.listings-my-page .my-row-more-item--resume {
    color: #15803d;
}
.listings-my-page .my-row-more-item--resume .bi {
    color: #16a34a;
}
.listings-my-page .my-row-more-item--resume:hover {
    background: #f0fdf4;
}
.listings-my-page .my-paused-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    box-sizing: border-box;
}
.listings-my-page .my-paused-note__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}
.listings-my-page .my-paused-note__text {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: 0.8rem;
    color: #64748b;
    line-height: 25px;
}

/* Rejected listing — mock-aligned card + rejection note */
.listings-my-page .my-property-row__grid {
    display: contents;
}
.listings-my-page .my-property-row--rejected {
    gap: 12px;
    padding: 16px;
    overflow: visible;
    border-color: #e8edf5;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 14px rgba(15, 23, 42, 0.06);
}
.listings-my-page .my-property-row--rejected .my-property-row__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}
.listings-my-page .my-property-row--rejected .status-rejected {
    background: #ffebee;
    color: #d32f2f;
    font-size: 12px;
    padding: 4px 14px;
    font-weight: 700;
}
.listings-my-page .my-property-row--rejected .my-title-text {
    font-size: 1.02rem;
    font-weight: 800;
    color: #111827;
}
.listings-my-page .my-property-row--rejected .my-price.price {
    margin-top: 8px;
    font-size: 1.22rem;
    font-weight: 800;
    color: #0056d2;
}
.listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--view {
    border-color: #d1d5db;
    color: #111827;
    font-weight: 600;
}
.listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--view:hover {
    border-color: #cbd5e1;
    background: #f9fafb;
    color: #111827;
}
.listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--resubmit {
    flex: 1.2 1 0;
    border-color: #d32f2f !important;
    color: #d32f2f !important;
    background: #fff !important;
    font-weight: 600 !important;
}
.listings-my-page .my-property-row--rejected .my-row-actions .my-action-btn.small-btn.my-action-btn--resubmit:hover {
    border-color: #c62828 !important;
    color: #c62828 !important;
    background: #ffebee !important;
}
/* Draft card actions — override generic .my-row-actions (keep inside card) */
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions.row-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    background: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-sizing: border-box;
    flex: 0 1 auto;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--continue {
    border: 1px solid #cbd5e1;
    color: #0f172a;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--continue .bi {
    color: #334155;
    font-size: 0.9rem;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--continue:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--delete {
    border: 1px solid #fca5a5;
    background: #fff;
    color: #dc2626;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--delete .bi {
    color: #dc2626;
    font-size: 0.9rem;
}
.listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn.my-action-btn--delete:hover {
    background: #fef2f2;
    border-color: #f87171;
    color: #b91c1c;
}
@media (min-width: 900px) {
    .listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions.row-actions {
        width: auto;
        max-width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-self: center;
    }
}
@media (max-width: 899px) {
    .listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions.row-actions {
        justify-content: stretch;
    }
    .listings-my-page .my-property-row--draft .my-row-actions.my-draft-row-actions .my-action-btn.small-btn {
        flex: 1 1 calc(50% - 4px);
    }
}
.listings-my-page .my-rejection-note {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #fae3e5;
    border-radius: 10px;
    background: #fef7f8;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}
.listings-my-page .my-rejection-note__main {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding-right: 20px;
}
.listings-my-page .my-rejection-note__icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #d32f2f;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}
.listings-my-page .my-rejection-note__copy {
    min-width: 0;
}
.listings-my-page .my-rejection-note__title {
    display: block;
    margin: 0 0 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #c62828;
    line-height: 1.25;
}
.listings-my-page .my-rejection-note__text {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #546e7a;
}
.listings-my-page .my-rejection-note__meta {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    padding: 2px 0 2px 20px;
    border-left: 1px solid #e2e8f0;
}
.listings-my-page .my-rejection-note__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.4;
    white-space: nowrap;
}
.listings-my-page .my-rejection-note__meta-item strong {
    font-weight: 700;
    color: #334155;
}
.listings-my-page .my-rejection-note__meta-item .bi {
    font-size: 0.95rem;
    color: #94a3b8;
    flex-shrink: 0;
}
@media (max-width: 899px) {
    .listings-my-page .my-rejection-note {
        flex-wrap: wrap;
        padding: 14px 16px;
    }
    .listings-my-page .my-rejection-note__main {
        flex: 1 1 100%;
        padding-right: 0;
        padding-bottom:15px;
    }
    .listings-my-page .my-rejection-note__meta {
        flex: 1 1 100%;
        padding: 14px 0 0;
        border-left: 0;
        border-top: 1px solid #e2e8f0;
    }
    .listings-my-page .my-rejection-note__meta-item {
        white-space: normal;
    }
}
@media (min-width: 900px) {
    .listings-my-page .my-property-row.row:not(.my-property-row--rejected):not(.my-property-row--draft) {
        grid-template-columns: minmax(168px, 200px) minmax(0, 1fr) minmax(220px, 280px);
        gap: 20px 22px;
        align-items: stretch;
    }
    .listings-my-page .my-property-row--rejected {
        padding: 18px 20px;
    }

    .listings-my-page .my-property-row--rejected .my-property-row__grid {
        grid-template-columns: minmax(168px, 200px) minmax(0, 1fr) minmax(240px, 300px);
        gap: 20px 24px;
        align-items: stretch;
    }

    .listings-my-page .my-rejection-note {
        padding: 16px 18px;
    }
    .listings-my-page .my-property-row--rejected .my-thumb-wrap .thumb {
        max-height: none;
        min-height: 140px;
    }
    .listings-my-page .my-row-aside {
        align-self: stretch;
        justify-content: center;
        min-height: 100%;
    }
    .listings-my-page .my-thumb-wrap .thumb {
        max-height: none;
        min-height: 140px;
    }
}
.listings-my-page .my-empty.empty {
    padding: 28px 16px;
    text-align: center;
    font-size: 0.9rem;
}
.listings-my-page .my-empty__title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
}
.listings-my-page .my-empty__text {
    margin: 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.5;
}


/* Admin delete user profile modal */
body.admin-delete-profile-modal-open {
    overflow: hidden;
}
.admin-delete-profile-modal {
    position: fixed;
    inset: 0;
    z-index: 2500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.admin-delete-profile-modal[hidden] {
    display: none !important;
}
.admin-delete-profile-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.admin-delete-profile-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 96vw);
    max-height: min(92vh, 900px);
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    padding: 28px 32px 24px;
    box-sizing: border-box;
}
.admin-delete-profile-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}
.admin-delete-profile-modal__close:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.admin-delete-profile-modal__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-right: 36px;
    margin-bottom: 20px;
}
.admin-delete-profile-modal__header-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #fce7f3;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}
.admin-delete-profile-modal__title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.admin-delete-profile-modal__subtitle {
    margin: 8px 0 0;
    font-size: 0.92rem;
    color: #64748b;
    line-height: 1.45;
}
.admin-delete-profile-modal__subtitle strong {
    color: #dc2626;
    font-weight: 700;
}
.admin-delete-profile-modal__user-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fafafa;
    margin-bottom: 18px;
}
.admin-delete-profile-modal__avatar {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    object-fit: cover;
    background: #e2e8f0;
}
.admin-delete-profile-modal__user-name {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 10px;
}
.admin-delete-profile-modal__user-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}
.admin-delete-profile-modal__user-meta li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.82rem;
    color: #64748b;
}
.admin-delete-profile-modal__user-meta i {
    color: #94a3b8;
    font-size: 0.9rem;
}
.admin-delete-profile-modal__user-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    padding-left: 18px;
    border-left: 1px solid #e2e8f0;
    text-align: center;
}
.admin-delete-profile-modal__user-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #dbeafe;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin-bottom: 6px;
}
.admin-delete-profile-modal__user-stat-value {
    font-size: 1.45rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}
.admin-delete-profile-modal__user-stat-label {
    margin-top: 4px;
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.3;
}
.admin-delete-profile-modal__impact {
    padding: 16px 18px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    background: #fef2f2;
    margin-bottom: 16px;
}
.admin-delete-profile-modal__impact-head {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #b91c1c;
    font-size: 0.95rem;
    margin-bottom: 8px;
}
.admin-delete-profile-modal__impact-head i {
    font-size: 1.05rem;
}
.admin-delete-profile-modal__impact-intro {
    margin: 0 0 14px;
    font-size: 0.84rem;
    color: #64748b;
    line-height: 1.45;
}
.admin-delete-profile-modal__impact-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px 10px;
}
.admin-delete-profile-modal__impact-grid li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    font-size: 0.72rem;
    color: #475569;
    line-height: 1.35;
}
.admin-delete-profile-modal__impact-grid i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #fee2e2;
    color: #dc2626;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}
.admin-delete-profile-modal__impact-foot {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid #fecaca;
    font-size: 0.82rem;
    color: #b91c1c;
}
.admin-delete-profile-modal__confirm {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #f8fbff;
    margin-bottom: 18px;
}
.admin-delete-profile-modal__confirm-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #dbeafe;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.admin-delete-profile-modal__confirm-copy {
    flex: 1;
    min-width: 0;
}
.admin-delete-profile-modal__confirm-label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.86rem;
    color: #334155;
}
.admin-delete-profile-modal__confirm-label strong {
    color: #dc2626;
    font-weight: 800;
}
.admin-delete-profile-modal__confirm-input {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 11px 12px;
    font-size: 0.9rem;
    color: #0f172a;
    background: #fff;
    box-sizing: border-box;
    font-family: inherit;
}
.admin-delete-profile-modal__confirm-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.admin-delete-profile-modal__form {
    margin: 0;
}
.admin-delete-profile-modal__actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}
.admin-delete-profile-modal__cancel {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    border-radius: 10px;
    padding: 10px 18px;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.admin-delete-profile-modal__cancel:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}
.admin-delete-profile-modal__submit {
    border: 1px solid #dc2626;
    background: #dc2626;
    color: #fff;
    border-radius: 10px;
    padding: 10px 18px;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.admin-delete-profile-modal__submit:hover:not(:disabled) {
    background: #b91c1c;
    border-color: #b91c1c;
}
.admin-delete-profile-modal__submit:disabled {
    background: #fca5a5;
    border-color: #fca5a5;
    color: #fff;
    cursor: not-allowed;
    opacity: 0.85;
}
@media (max-width: 768px) {
    .admin-delete-profile-modal__dialog {
        padding: 22px 18px 18px;
    }
    .admin-delete-profile-modal__user-card {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .admin-delete-profile-modal__user-stat {
        grid-column: 1 / -1;
        border-left: 0;
        border-top: 1px solid #e2e8f0;
        padding-left: 0;
        padding-top: 14px;
        flex-direction: row;
        gap: 10px;
        justify-content: flex-start;
    }
    .admin-delete-profile-modal__user-stat-icon {
        margin-bottom: 0;
    }
    .admin-delete-profile-modal__impact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-delete-profile-modal__actions {
        flex-direction: column-reverse;
    }
    .admin-delete-profile-modal__cancel,
    .admin-delete-profile-modal__submit {
        width: 100%;
        justify-content: center;
    }
}


/* Delete listing / draft confirmation modal */
body.pf-phone-modal-open,
body.my-delete-modal-open,
body.my-pause-modal-open,
body.connect-plan-change-modal-open,
body.connect-pricing-modal-open {
    overflow: hidden;
    overscroll-behavior: none;
}
body.my-delete-modal-open .listings-add-property-page .lyp-mobile-footer,
body.my-pause-modal-open .listings-add-property-page .lyp-mobile-footer,
body.connect-plan-change-modal-open .listings-add-property-page .lyp-mobile-footer,
body.connect-pricing-modal-open .listings-add-property-page .lyp-mobile-footer {
    visibility: hidden;
    pointer-events: none;
}
.my-delete-modal-root,
.my-pause-modal-root {
    position: fixed;
    inset: 0;
    z-index: 2700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.my-delete-modal-root[hidden],
.my-pause-modal-root[hidden] {
    display: none !important;
}
.my-delete-modal-backdrop,
.my-pause-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.my-delete-modal-dialog,
.my-pause-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(530px, 100%);
    max-width: min(530px, 100%);
    max-height: calc(100vh - 32px);
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    padding: 20px 20px max(24px, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
}
.my-delete-modal-sheet-handle {
    display: none;
}
.my-delete-modal-x,
.my-pause-modal-x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}
.my-delete-modal-x:hover,
.my-pause-modal-x:hover {
    background: #f8fafc;
    color: #0f172a;
}
.my-delete-modal-hero,
.my-pause-modal-hero {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 14px;
    row-gap: 6px;
    align-items: start;
    text-align: left;
    padding: 4px 0 18px;
}
.my-delete-modal-icon-badge {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 56px;
    height: 56px;
    margin: 0;
    border-radius: 999px;
    background: #fce7f3;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex-shrink: 0;
}
.my-pause-modal-hero .my-pause-modal-icon-badge {
    background: #eff6ff;
    color: #2563eb;
}
.my-delete-modal-title {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.my-delete-modal-sub {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 0.84rem;
    color: #64748b;
    line-height: 1.5;
    max-width: none;
}
.my-delete-modal-preview {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    margin: 15px 0;
}
.my-delete-modal-preview-media {
    flex-shrink: 0;
}
.my-delete-modal-doc-icon,
.my-delete-modal-listing-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}
.my-delete-modal-listing-thumb {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    object-fit: cover;
    display: block;
    background: #e2e8f0;
}
.my-delete-modal-listing-icon[hidden],
.my-delete-modal-doc-icon[hidden],
.my-delete-modal-listing-thumb[hidden] {
    display: none !important;
}
.my-delete-modal-preview-body {
    min-width: 0;
    flex: 1;
}
.my-delete-modal-preview-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    margin-bottom: 6px;
}
.my-delete-modal-preview-loc {
    font-size: 0.78rem;
    color: #64748b;
    display: flex;
    align-items: flex-start;
    gap: 5px;
    line-height: 1.4;
    margin-bottom: 6px;
}
.my-delete-modal-preview-loc i {
    color: #94a3b8;
    margin-top: 2px;
    flex-shrink: 0;
}
.my-delete-modal-preview-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 8px;
}
.my-delete-modal-spec-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.2;
}
.my-delete-modal-spec-item .listing-card-spec-icon {
    width: 0.95rem;
    height: 0.95rem;
    color: #94a3b8;
}
.my-delete-modal-spec-sep {
    margin: 0 8px;
    color: #cbd5e1;
    font-size: 0.9rem;
    line-height: 1;
    user-select: none;
}
.my-delete-modal-preview-price-divider {
    height: 1px;
    background: #e2e8f0;
    margin: 0 0 8px;
}
.my-delete-modal-preview-price {
    font-size: 0.95rem;
    font-weight: 700;
    color: #2563eb;
    line-height: 1.2;
}
.my-delete-modal-alert {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    margin-bottom: 33px;
}
.my-delete-modal-alert-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 800;
}
.my-delete-modal-alert-strong {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    color: #b91c1c;
    margin-bottom: 4px;
}
.my-delete-modal-alert-note {
    margin: 0;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.45;
}
.my-delete-modal-form,
.my-pause-modal-form {
    margin: 0;
    border-top: 1px solid #e2e8f0;
    padding: 29px 0 0;
}
.my-delete-modal-actions,
.my-pause-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.my-delete-modal-actions .btn,
.my-pause-modal-actions .btn,
.my-delete-modal-submit,
.my-delete-modal-cancel,
.my-pause-modal-submit,
.my-pause-modal-cancel {
    padding: 18px 23px;
    font-size: 0.9rem;
}
.my-delete-modal-submit {
    border: 1px solid #dc2626;
    background: #dc2626;
    color: #fff;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    line-height: 1.2;
}
.my-delete-modal-submit:hover {
    background: #b91c1c;
    border-color: #b91c1c;
}
.my-delete-modal-cancel {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    line-height: 1.2;
}
.my-delete-modal-cancel:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}
.my-pause-modal-alert {
    background: #fffbeb;
    border-color: #fde68a;
}
.my-pause-modal-alert .my-delete-modal-alert-icon {
    background: #d97706;
}
.my-pause-modal-alert .my-delete-modal-alert-strong {
    color: #b45309;
}
.my-pause-modal-submit {
    border: 1px solid transparent;
    background: var(--rz-btn-primary-bg);
    color: #fff;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    line-height: 1.2;
}
.my-pause-modal-submit:hover {
    background: var(--rz-btn-primary-bg-hover);
    border-color: transparent;
}
.my-pause-modal-submit .bi {
    color: #fff;
    font-size: 1rem;
    flex-shrink: 0;
}
@media (min-width: 769px) {
    .my-delete-modal-dialog,
    .my-pause-modal-dialog {
        padding: 35px;
    }
    .my-delete-modal-actions,
    .my-pause-modal-actions {
        flex-direction: row;
        justify-content: flex-end;
        gap: 12px;
        padding-left: 0;
        padding-right: 0;
    }
    .my-delete-modal-cancel,
    .my-pause-modal-cancel {
        order: 1;
        width: auto;
    }
    .my-delete-modal-submit,
    .my-pause-modal-submit {
        order: 2;
        width: auto;
    }
}


/* migrated:resources/views/listings/create.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #ffffff; color: #0f172a; }
        .layout { margin: 50px 0; display: grid; grid-template-columns: 1fr; gap: 24px; }
        .main {
            background: transparent;
            border: 0;
            border-radius: 0;
            padding: 0;
        }
        .crumbs {
            color: #64748b;
            font-size: .78rem;
            margin: 6px 0 12px;
        }
        .steps {
            border: 1px solid #ebf0f7;
            border-radius: 10px;
            padding: 16px;
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
            margin-bottom: 12px;
            background: #fff;
        }
        .step {
            display: flex;
            align-items: center;
            gap: 11px;
            padding: 5px 3px;
        }
        .dot {
            width: 32px;
            height: 32px;
            border-radius: 999px;
            background: #f1f5f9;
            color: #334155;
            font-weight: 700;
            font-size: .84rem;
            display: grid;
            place-items: center;
        }
        .step.active .dot {
            background: #0b6bff;
            color: #fff;
        }
        .step strong { display: block; font-size: .85rem; line-height: 1.2; }
        .step span { display: block; color: #64748b; font-size: .76rem; margin-top: 3px; line-height: 1.3; }
        .content-wrap { display: grid; grid-template-columns: 1fr; gap: 12px; }
        .subtitle {
            margin: 4px 0 18px;
            color: #64748b;
            font-size: .82rem;
        }
        .draft-alert {
            margin-bottom: 14px;
            border: 1px solid #bfdbfe;
            background: #eff6ff;
            color: #1e3a8a;
            border-radius: 10px;
            padding: 10px 12px;
            font-size: .82rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .grid { display: grid; gap: 10px; grid-template-columns: 1fr; }
        .field label {
            display: block;
            margin-bottom: 7px;
            font-size: .73rem;
            color: #334155;
            font-weight: 600;
        }
        .field .required { color: #ef4444; }
        input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea {
            width: 100%;
            border: 1px solid #d9e2ee;
            border-radius: 8px;
            padding: 10px 11px;
            min-height: var(--rz-field-min-height);
            font-size: .82rem;
            background: #fff;
            color: #0f172a;
        }
        textarea { min-height: 66px; resize: vertical; }
        .radio-row {
            display: flex;
            align-items: center;
            gap: 17px;
            flex-wrap: wrap;
            padding-top: 4px;
            color: #334155;
            font-size: .79rem;
        }
        .radio-row label {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            font-weight: 500;
            margin: 0;
        }
        .radio-row input[type="radio"] {
            width: 13px;
            height: 13px;
            margin: 0;
        }
        .error { color: #dc2626; font-size: .79rem; margin-top: 4px; }
        .actions {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 16px;
        }
        .btn {
            border: 1px solid #d5deea;
            background: #fff;
            color: #334155;
            border-radius: 8px;
            padding: 9px 18px;
            text-decoration: none;
            font-size: .8rem;
            font-weight: 600;
            cursor: pointer;
            min-width: 94px;
        }
        .btn-primary {
            background: #0b6bff;
            border-color: #0b6bff;
            color: #fff;
        }
        .tips-col { display: grid; gap: 10px; }
        .tips {
            border: 1px solid #e8edf5;
            border-radius: 10px;
            background: #fff;
            padding: 14px 16px 8px;
        }
        .tips h3 {
            margin: 0 0 8px;
            font-size: 1.26rem;
        }
        .tip-item {
            display: flex;
            gap: 10px;
            padding: 10px 0;
            border-bottom: 1px solid #eef2f7;
        }
        .tip-item:last-child { border-bottom: 0; }
        .tip-icon {
            width: 30px;
            height: 30px;
            border-radius: 999px;
            border: 1px solid #dbeafe;
            background: #eff6ff;
            color: #2563eb;
            display: grid;
            place-items: center;
            font-size: .82rem;
            flex: 0 0 30px;
        }
        .tip-item strong { display: block; font-size: .86rem; margin-bottom: 3px; }
        .tip-item span { font-size: .79rem; color: #64748b; line-height: 1.4; display: block; }
        .promo {
            border: 1px solid #e8edf5;
            border-radius: 10px;
            background: #f8fbff;
            text-align: center;
            padding: 12px 14px;
        }
        .promo-illus {
            height: 96px;
            border-radius: 10px;
            background: linear-gradient(180deg, #eff6ff, #dbeafe);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            margin-bottom: 10px;
        }
        .promo strong { display: block; font-size: 1.25rem; margin-bottom: 3px; }
        .promo p { margin: 0 0 12px; color: #64748b; font-size: .78rem; }
        .promo .btn { width: 100%; }

        @media (min-width: 1200px) {
            .layout {
                grid-template-columns: 250px 1fr;
                align-items: start;
                gap: 24px;
                padding: 0 4px 12px;
            }
            .content-wrap {
                grid-template-columns: minmax(910px, 1fr) 360px;
                align-items: start;
            }
            .steps {
                grid-template-columns: repeat(3, 1fr);
                gap: 16px;
                padding: 16px 18px;
            }
            .grid.two { grid-template-columns: 1fr 1fr; }
            .grid.three { grid-template-columns: 1fr 1fr 1fr; }
        }


/* migrated:resources/views/listings/edit.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .navbar { margin-top: 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; }
        .brand { color: #1d4ed8; font-size: 1.35rem; font-weight: 700; text-decoration: none; }
        .nav-link { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; padding: 9px 12px; border-radius: 10px; text-decoration: none; font-size: .85rem; font-weight: 600; }
        .panel { width: min(1100px, 92%); margin: 20px auto 24px; }
        h1 { margin: 0 0 6px; font-size: 1.5rem; }
        p { margin: 0 0 16px; color: #64748b; }
        .steps { margin: 0 0 14px; border: 1px solid #e9eef7; border-radius: 10px; padding: 10px; display: grid; gap: 8px; grid-template-columns: 1fr; }
        .step { display: flex; gap: 8px; align-items: center; border: 1px solid #e9eef7; border-radius: 9px; padding: 9px; }
        .dot { width: 28px; height: 28px; border-radius: 999px; display: grid; place-items: center; font-size: .8rem; font-weight: 700; }
        .dot.active { background: #eff6ff; color: #1d4ed8; }
        .dot.pending { background: #f1f5f9; color: #64748b; }
        .grid { display: grid; gap: 12px; grid-template-columns: 1fr; }
        label { display: block; margin-bottom: 6px; font-size: .86rem; font-weight: 600; }
        input, select { width: 100%; border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px 12px; }
        .error { color: #dc2626; font-size: .82rem; margin-top: 4px; }
        .actions { margin-top: 16px; display: flex; gap: 10px; }
        .btn { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; border-radius: 10px; padding: 10px 14px; text-decoration: none; font-weight: 600; }
        @media (min-width: 769px) {
            .grid { grid-template-columns: 1fr 1fr; }
            .steps { grid-template-columns: repeat(3, 1fr); }
        }

/* migrated inline-style utility classes */
.thumb-image-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.sort-field { width: auto; min-width: 190px; padding: 8px 10px; font-size: .74rem; }
.filter-title { font-size: .88rem; }
.price-range-labels { display: flex; justify-content: space-between; margin-top: 5px; }
.full-span { grid-column: 1 / -1; }
.owner-heading-wrap { margin-top: 6px; }
.owner-heading { margin: 0 0 8px; font-size: 1rem; }
.owner-heading-label { font-size: 1rem; margin-top: 8px; }
.step-note { font-size: .75rem; }
.step-note.in-progress { color: #2563eb; }
.step-note.pending { color: #64748b; }
.step-note.completed { color: #16a34a; }
.review-title { margin: 10px 0 0; font-size: 1.02rem; }
.details-margin-top { margin-top: 8px; }
.box-title { margin: 0 0 8px; font-size: .95rem; }
.tall-photo { height: 140px; }
.listing-name { margin-top: 8px; font-size: .88rem; font-weight: 700; }
.upload-label { display: block; margin-top: 12px; }
.upload-icon { font-size: 1.1rem; margin-bottom: 4px; }
.preview-title { margin-top: 8px; font-size: .85rem; font-weight: 700; }
.status-banner { background: #e8f5e9; border: 1px solid #c8e6c9; color: #1b5e20; padding: 10px 12px; border-radius: 10px; margin-bottom: 12px; }
.explore-title { margin: 0 0 20px!important; padding-top: 20px; }
.welcome-page .category-grid {
    padding-bottom: 20px;
}
.welcome-featured-load-more {
    display: none;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 18px;
    padding: 14px 18px;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.25;
    color: #2563eb;
    background: #fff;
    border: 1px solid #2563eb;
    border-radius: 10px;
    cursor: pointer;
}
.welcome-featured-load-more:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.welcome-page .small-card strong {
    font-size: 17px;
    line-height: 22px;
}
.welcome-page .small-card span {
    font-size: 13px;
}
.welcome-page .small-card .icon {
    width: 84px;
    height: 84px;
    font-size: 2.1rem;
    margin-bottom: 12px;
}
.listing-link { text-decoration: none; color: inherit; }
.btn-auto-width { width: auto; }

/* home page isolated banner styles */
.home-page .home-hero {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 34px 24px;
}
.home-page .home-hero h1 {
    margin: 0;
    font-size: clamp(1.7rem, 4.5vw, 2.7rem);
    line-height: 1.15;
}
.home-page .home-hero p {
    color: #64748b;
    max-width: 680px;
}
.home-page .home-actions {
    margin-top: 16px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.home-page .home-btn-lite {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
}

.listings-index-page .browse-head.bz-browse-head {
    justify-content: flex-end;
}

@media (min-width: 980px) {
    .listings-index-page .browse-head.bz-desktop-sort-head {
        display: flex !important;
    }
}

/* Browse: separate desktop vs mobile markup (.bz-browse-desktop-only / .bz-browse-mobile-only) */
@media (min-width: 980px) {
    .listings-index-page .bz-browse-mobile-only {
        display: none !important;
    }

    .listings-index-page .bz-mobile-sidebar-head {
        display: none !important;
    }

    .listings-index-page .bz-browse-drawer-backdrop {
        display: none !important;
        pointer-events: none !important;
    }
}

@media (max-width: 768px) {
    .listings-index-page .bz-browse-desktop-only {
        display: none !important;
    }
}

/* Browse search card sits inside main.my-main — no extra top offset */
.listings-index-page .main.my-main > .bz-search-card.search-card {
    margin-top: 0;
}

/* listing details page scoped overrides (prevent global collisions) */
.listing-show-page .layout { margin: 44px auto 28px; width: min(1440px, calc(100% - 24px)); display: grid; gap: 40px; grid-template-columns: 1fr; }
.listing-show-page .crumb {
    grid-column: 1 / -1;
    color: #64748b;
    font-size: .72rem;
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.listing-show-page .crumb a { color: #475569; text-decoration: none; }
.listing-show-mobile-top {
    display: none;
}
.listing-show-page .listing-show-back {
    display: inline-flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #0f172a;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
}
.listing-show-page .listing-show-back:hover {
    color: #2563eb;
}
.listing-show-page .listing-show-back i {
    font-size: 1.15rem;
    line-height: 1;
}
@media (min-width: 980px) {
    .listing-show-page .listing-show-back {
        display: none;
    }
}
@media (max-width: 979px) {
    /* Keep auth modal in DOM for guest login; hide only the desktop chrome. */
    body.listing-show-page > .container {
        display: contents;
    }
    body.listing-show-page > .container > .uh-header,
    body.listing-show-page > .container > .uh-status {
        display: none !important;
    }
    body.listing-show-page .listing-show-mobile-top {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1200;
        align-items: center;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding-top: calc(12px + env(safe-area-inset-top, 0px));
        padding-bottom: 12px;
        padding-left: max(var(--rz-screen-gutter-x, 16px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x, 16px), env(safe-area-inset-right, 0px));
        background: var(--rz-btn-primary-bg, linear-gradient(90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100%));
        border-bottom: 0;
        box-shadow: 0 2px 10px rgba(37, 99, 235, .18);
        box-sizing: border-box;
        color: #fff;
    }
    body.listing-show-page .listing-show-mobile-top__back {
        flex: 0 0 auto;
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        color: #fff;
        text-decoration: none;
        border-radius: 10px;
    }
    body.listing-show-page .listing-show-mobile-top__back:active {
        background: rgba(255, 255, 255, .16);
    }
    body.listing-show-page .listing-show-mobile-top__back .bi {
        font-size: 1.2rem;
        line-height: 1;
        color: #fff;
    }
    body.listing-show-page .listing-show-mobile-top__title {
        margin: 0;
        min-width: 0;
        flex: 1 1 auto;
        font-size: .95rem;
        font-weight: 800;
        color: #fff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        line-height: 1.3;
    }
    body.listing-show-page .listing-show-back {
        display: none !important;
    }
    body.listing-show-page .rz-bottom-nav,
    body.listing-show-page .rz-bottom-nav-spacer {
        display: none !important;
    }
    body.listing-show-page .layout {
        margin-top: 0;
        padding-top: calc(60px + env(safe-area-inset-top, 0px));
    }
    body.listing-show-page .gallery-slider__viewport {
        border-radius: 0;
    }
}
.listing-show-page .left-col,
.listing-show-page .right-col > * { background: transparent; border: 0; border-radius: 10px; }
.listing-show-page .left-col { padding: 0; }
.listing-show-page .right-panel { background: transparent; border: 0; border-radius: 12px; box-shadow: none; padding: 0; margin-top: 0; }
.listing-show-page .gallery-wrap { padding: 0; }
.listing-show-page .gallery-slider { width: 100%; }
.listing-show-page .gallery-slider__viewport {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    background: #e2e8f0;
}
.listing-show-page .hero-wrap { position: relative; }
.listing-show-page .gallery-slider__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.35s ease;
    will-change: transform;
}
.listing-show-page .gallery-slider__slide {
    flex: 0 0 100%;
    min-width: 100%;
    height: 100%;
}
.listing-show-page .gallery-slider__slide .hero-img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    display: block;
    border-radius: 0;
}
.listing-show-page .gallery-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    padding: 0;
    font-size: 1.05rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}
.listing-show-page .gallery-slider__nav.prev { left: 14px; }
.listing-show-page .gallery-slider__nav.next { right: 14px; }
.listing-show-page .gallery-slider__nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.listing-show-page .gallery-slider__nav:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.listing-show-page .hero-badge {
    position: absolute;
    left: 10px;
    top: 10px;
    background: #2563eb;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    border-radius: 8px;
    padding: 4px 8px;
    z-index: 2;
}
.listing-show-page .content-wrap {
    margin-top: 14px;
    padding: 2px 2px 4px;
    display: block !important;
    width: 100%;
}
.listing-show-page .content-wrap > * {
    width: 100%;
    clear: both;
}
.listing-show-page .hero-count {
    position: absolute;
    right: 14px;
    bottom: 14px;
    color: #fff;
    font-size: 0.94rem;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}
.listing-show-page .hero-img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; display: block; }
.listing-show-page .gallery-slider__dots {
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 4;
    margin: 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    list-style: none;
}
.listing-show-page .gallery-slider__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}
.listing-show-page .gallery-slider__dot.is-active {
    background: #fff;
    transform: scale(1.2);
}
.listing-show-page .gallery-slider__dot:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.listing-show-page .hero-actions {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.listing-show-page .hero-actions .listing-card-gallery__share-wrap {
    position: relative;
    z-index: 1;
}
.listing-show-page .hero-actions form {
    margin: 0;
}
.listing-show-page .gallery-slider__viewport .hero-fav,
.listing-show-page .gallery-slider__viewport .hero-share {
    position: static;
    top: auto;
    right: auto;
    width: 40px;
    height: 40px;
    border: 1px solid #dbe3ef;
    background: #fff;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    font-size: 1.1rem;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
}
.listing-show-page .gallery-slider__viewport .hero-fav.saved {
    color: #dc2626;
    border-color: #fecaca;
    background: #fff5f5;
}
.listing-show-page .gallery-slider__viewport .hero-share:hover,
.listing-show-page .gallery-slider__viewport .hero-fav:hover {
    border-color: #2563eb;
    color: #2563eb;
}
.listing-show-page .gallery-slider__viewport .hero-share.is-copied {
    color: #16a34a;
    border-color: #86efac;
}
.listing-show-page .thumbs-wrap {
    display: none !important;
}
.listing-show-page .thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    flex: 1;
    min-width: 0;
    -ms-overflow-style: none;
}
.listing-show-page .thumbs::-webkit-scrollbar { display: none; }
.listing-show-page .thumb-btn {
    border: 1px solid #dbe2ec;
    border-radius: 10px;
    padding: 0;
    background: #fff;
    cursor: pointer;
    flex: 0 0 auto;
    width: 88px;
    height: 58px;
    overflow: hidden;
}
.listing-show-page .thumb-btn.active { border-color: #2563eb; box-shadow: 0 0 0 1px #2563eb inset; }
.listing-show-page .thumb-small { width: 100%; height: 100%; object-fit: cover; display: block; }
.listing-show-page .thumb-nav {
    position: static;
    transform: none;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}
.listing-show-page .thumb-nav:hover:not(:disabled) {
    border-color: #2563eb;
    color: #2563eb;
}
.listing-show-page .thumb-nav:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.listing-show-page .thumb-nav.hidden { display: none; }
.listing-show-page .listing-title { margin: 0; font-size: 1.55rem; color: #0f172a; }
.listing-show-page .verified { background: #dcfce7; color: #166534; font-size: .68rem; border-radius: 999px; padding: 3px 8px; margin-left: 8px; font-weight: 600; }
.listing-show-page .meta { color: #64748b; font-size: .78rem; margin-top: 14px; margin-bottom: 10px; }
.listing-show-page .price { margin-top: 10px; font-size: 1.25rem; font-weight: 700; color: #1d4ed8; }
.listing-show-page .price small { color: #94a3b8; font-size: .76rem; font-weight: 500; }
.listing-show-page .specs { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 12px; color: #64748b; font-size: .74rem; }
.listing-show-page .specs span { display: inline-flex; align-items: center; gap: 4px; }
.listing-show-page .specs-main { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #e5e7eb; }
.listing-show-page .block-title { margin: 16px 0 15px; font-size: 16px; font-weight: 700; color: #0f172a; }
.listing-show-page .desc { color: #475569; font-size: 15px; line-height: 24px; margin: 0; }
.listing-show-page .desc-block,
.listing-show-page .amenities-block {
    margin-top: 18px;
    margin-bottom: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-top: 1px solid #e5e7eb;
    border-bottom: 0 solid #e5e7eb;
}
.listing-show-page .amenities-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}
.listing-show-page .amenities-grid {
    display: flex;
    gap: 16px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
    width: 100%;
}
.listing-show-page .amenities-grid::-webkit-scrollbar { display: none; }
.listing-show-page .amenity-item { display: grid; justify-items: center; gap: 8px; min-width: 74px; flex: 0 0 auto; }
.listing-show-page .amenity-item span:last-child { font-size: .74rem; color: #334155; text-align: center; }
.listing-show-page .amenity-icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid #dbe6ff;
    background: #f3f7ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.listing-show-page .amenities-nav {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid #dbe3ef;
    background: #fff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}
.listing-show-page .amenities-nav:hover:not(:disabled) {
    border-color: #2563eb;
    color: #2563eb;
}
.listing-show-page .amenities-nav:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.listing-show-page .amenities-nav.hidden { display: none; }
.listing-show-page .location-box { margin-top: 14px; border: 0; border-radius: 10px; overflow: hidden; display: grid; grid-template-columns: minmax(30%, 340px) 1fr; background: transparent; gap: 12px; }
.listing-show-page .location-map iframe { width: 100%; height: 180px; border: 0; display: block; border-radius: 10px; }
.listing-show-page .location-info { padding: 10px 12px; }
.listing-show-page .location-info strong { display: block; font-size: 15px; margin-bottom: 6px; }
.listing-show-page .location-info p { margin: 4px 0; font-size: 14px; color: #64748b; }
.listing-show-page .view-map-btn {
    display: inline-block;
    margin-top: 10px;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    background: #f8fbff;
    color: #2563eb;
    font-size: .74rem;
    text-decoration: none;
    font-weight: 600;
    padding: 6px 10px;
}
.listing-show-page .cta-strip { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.listing-show-page .cta-strip p { margin: 0; color: #475569; font-size: .78rem; }
.listing-show-page .box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: none;
    padding: 24px;
}
.listing-show-page .right-panel .box { margin-top: 0; }
.listing-show-page .box + .box { margin-top: 14px; }
.listing-show-page .login-card h3:not(.ph-title),
.listing-show-page .trust-box h3 { font-size: 1.05rem; font-weight: 700; color: #111827; }
.listing-show-page .lock {
    width: 74px;
    height: 74px;
    border-radius: 999px;
    background: #eef2ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 4px 0 12px;
    font-size: 1.65rem;
}
.listing-show-page .login-card { text-align: left; }
.listing-show-page .login-card h3 { text-align: left; }
.listing-show-page .login-note { margin: 0 0 14px; color: #64748b; font-size: .85rem; line-height: 1.5; }
.listing-show-page .login-card .btn-blue {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
    font-weight: 700;
}
.listing-show-page .login-card .btn-blue:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

/* Contact Owner card (matches Property Highlights layout) */
.listing-show-page .co-owner-card {
    position: relative;
}
.listing-show-page .co-verified {
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px 5px 9px;
    border-radius: 999px;
    background: #e8f5ee;
    border: none;
    color: #1a6b42;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
.listing-show-page .co-verified i {
    font-size: 0.95rem;
    color: #1a6b42;
    line-height: 1;
}
.listing-show-page .ph-icon--name {
    background: #dbeafe;
    color: #2563eb;
}
.listing-show-page .ph-icon--email {
    background: #ede9fe;
    color: #7c3aed;
}
.listing-show-page .ph-icon--phone {
    background: #dcfce7;
    color: #16a34a;
}
.listing-show-page .ph-icon--posted {
    background: #e0f2fe;
    color: #0284c7;
}
.listing-show-page .ph-icon--whatsapp {
    background: #ecfdf5;
    color: #22c55e;
}
.listing-show-page .ph-value-link {
    text-decoration: none;
    color: #0f172a;
    font-weight: 700;
    white-space: normal;
    word-break: break-word;
}
.listing-show-page .ph-value-link:hover {
    color: #2563eb;
    text-decoration: underline;
}
.listing-show-page .co-guest {
    text-align: center;
}
.listing-show-page .co-guest .lock {
    margin-left: auto;
    margin-right: auto;
}

/* Sidebar cards: Contact Owner, Property Highlights, Share Property */
.listing-show-page .right-panel .ph-card {
    padding: 28px 28px 24px !important;
    text-align: left;
}
.listing-show-page .ph-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.listing-show-page .ph-title {
    margin: 0;
    font-size: 1.20rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.listing-show-page .ph-rows {
    display: grid;
    gap: 0;
}
.listing-show-page .ph-row {
    display: grid;
    grid-template-columns: 40px minmax(0, max-content) 1fr auto;
    align-items: center;
    gap: 10px 8px;
    padding: 13px 0;
    border-bottom: 1px solid #f1f5f9;
}
.listing-show-page .ph-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.listing-show-page .ph-row:first-child {
    padding-top: 0;
}
.listing-show-page .ph-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.listing-show-page .ph-icon--id {
    background: #ede9fe;
    color: #7c3aed;
}
.listing-show-page .ph-icon--type {
    background: #eff6ff;
    color: #2563eb;
}
.listing-show-page .ph-icon--parking {
    background: #f0fdf4;
    color: #16a34a;
}
.listing-show-page .ph-icon--furnishing {
    background: #e8f4fc;
    color: #0f2847;
}
.listing-show-page .ph-icon--availability {
    background: #e8f5ee;
    color: #166534;
}
.listing-show-page .ph-icon--tenants {
    background: #f5f3ff;
    color: #6d28d9;
}
.listing-show-page .ph-icon--posted,
.listing-show-page .ph-icon--facing {
    background: #dbeafe;
    color: #2563eb;
}
.listing-show-page .ph-icon--available,
.listing-show-page .ph-icon--age {
    background: #dcfce7;
    color: #16a34a;
}
.listing-show-page .ph-icon--stay {
    background: #ffedd5;
    color: #ea580c;
}
.listing-show-page .ph-icon--floor {
    background: #ede9fe;
    color: #7c3aed;
}
.listing-show-page .ph-icon--security {
    background: #fef3c7;
    color: #b45309;
}
.listing-show-page .ph-icon--maintenance {
    background: #e0f2fe;
    color: #0369a1;
}
.listing-show-page .ph-icon--brokerage {
    background: #fce7f3;
    color: #be185d;
}
.listing-show-page .ph-icon--balcony {
    background: #f0f9ff;
    color: #0284c7;
}
.listing-show-page .ph-icon--pet {
    background: #fdf2f8;
    color: #db2777;
}
.listing-show-page .ph-icon--nonveg {
    background: #fff7ed;
    color: #ea580c;
}
.listing-show-page .ph-label {
    font-size: 0.88rem;
    font-weight: 500;
    color: #64748b;
    white-space: nowrap;
}
.listing-show-page .ph-leader {
    border-bottom: 2px dotted #d1d5db;
    min-width: 16px;
    align-self: center;
    margin: 0 2px;
}
.listing-show-page .ph-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
    white-space: nowrap;
}
.listing-show-page .ph-value--id {
    color: #7c3aed;
    letter-spacing: 0.02em;
}
.listing-show-page .sp-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.listing-show-page .sp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 96px;
    padding: 14px 8px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.listing-show-page .sp-btn:hover {
    border-color: #c7d2fe;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.listing-show-page .sp-btn-icon {
    font-size: 1.55rem;
    line-height: 1;
}
.listing-show-page .sp-btn-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #334155;
    text-align: center;
    line-height: 1.2;
}
.listing-show-page .sp-btn--whatsapp .sp-btn-icon {
    color: #22c55e;
}
.listing-show-page .sp-btn--facebook .sp-btn-icon {
    color: #2563eb;
}
.listing-show-page .sp-btn--instagram .sp-btn-icon {
    color: #e1306c;
}
.listing-show-page .sp-btn--copy .sp-btn-icon {
    color: #7c3aed;
}
.listing-show-page .sp-btn.share-copy-btn.copied,
.listing-show-page .sp-btn[data-share-instagram].copied {
    border-color: #86efac;
    background: #f0fdf4;
}
.listing-show-page .sp-btn.share-copy-btn.copied .sp-btn-icon,
.listing-show-page .sp-btn.share-copy-btn.copied .sp-btn-label,
.listing-show-page .sp-btn[data-share-instagram].copied .sp-btn-icon,
.listing-show-page .sp-btn[data-share-instagram].copied .sp-btn-label {
    color: #16a34a;
}
.listing-show-page [data-share-property-actions] .listing-share-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
@media (max-width: 900px) {
    .listing-show-page [data-share-property-actions] .listing-share-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .listing-show-page .sp-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .listing-show-page .ph-row {
        grid-template-columns: 40px 1fr;
        grid-template-rows: auto auto;
        gap: 6px 10px;
    }
    .listing-show-page .ph-icon {
        grid-row: 1 / span 2;
    }
    .listing-show-page .ph-label {
        align-self: end;
    }
    .listing-show-page .ph-leader {
        display: none;
    }
    .listing-show-page .ph-value {
        grid-column: 2;
        text-align: left;
    }
}

.listing-show-page .btn {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    border-radius: 8px;
    padding: 11px 14px;
    text-decoration: none;
    display: inline-block;
    width: 100%;
}
.listing-show-page .btn-blue { background: #2563eb; border-color: #2563eb; color: #fff; }
.listing-show-page .btn-lite { margin-top: 10px; }
.listing-show-page .list-row { display: flex; justify-content: space-between; gap: 10px; margin: 9px 0; font-size: .87rem; color: #475569; }
.listing-show-page .list-row strong { color: #0f172a; font-weight: 600; }
.listing-show-page .trust-list p { margin: 8px 0; color: #166534; font-size: .84rem; display: inline-flex; gap: 8px; align-items: center; }
.listing-show-page .trust-list i { color: #16a34a; }
.listing-show-page .share { display: flex; gap: 10px; }
.listing-show-page .share a,
.listing-show-page .share .share-copy-btn { width: 36px; height: 36px; border-radius: 10px; border: 1px solid #dbe3ef; display: inline-flex; align-items: center; justify-content: center; color: #334155; text-decoration: none; background: #fff; cursor: pointer; }
.listing-show-page .share .share-copy-btn.copied { border-color: #16a34a; color: #16a34a; }
@media (min-width: 1100px) {
    .listing-show-page .layout {
        grid-template-columns: minmax(0, 70%) minmax(0, 30%) !important;
        align-items: start;
        gap: 40px;
    }
    .listing-show-page .left-col { min-width: 0; }
    .listing-show-page .right-col { min-width: 0; width: 100%; }
}
@media (max-width: 900px) {
    .listing-show-page .location-box { grid-template-columns: 1fr; }
    .listing-show-page .right-panel { padding-left: 0; }
}
.listings-index-page .layout:not(.bz-layout) {
    margin: 32px 0 40px;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
.listings-index-page .main.my-main {
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-width: 0;
}
.listings-index-page .layout.bz-layout {
    margin: 0;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
.listings-index-page .sidebar,
.listings-index-page .bz-sidebar {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px;
    height: fit-content;
    display: flex;
    flex-direction: column;
}
.listings-index-page .content {
    background: #fff;
    padding: 0;
    min-width: 0;
    width: 100%;
}
.listings-index-page .bz-top-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.listings-index-page .bz-filter-title { font-size: 1.08rem; font-weight: 700; color: #111827; }
.listings-index-page .bz-clear-link { font-size: .76rem; color: #2563eb; text-decoration: none; font-weight: 600; }
.listings-index-page .bz-section-title { margin: 18px 0 10px; font-size: 1rem; font-weight: 700; color: #111827; }
.listings-index-page .bz-location-input {
    width: 100%;
    border: 1px solid #d7dee8;
    border-radius: 8px;
    height: 38px;
    padding: 0 12px;
    font-size: .86rem;
    color: #334155;
}
.listings-index-page .bz-filter-hint {
    margin: 4px 0 0;
    font-size: 0.76rem;
    color: #64748b;
    line-height: 1.3;
}
.listings-index-page .rz-dd-menu-multi {
    padding: 0;
    min-width: 220px;
}
.listings-index-page .rz-dd-menu-multi:not(.rz-dd-menu-multi--society-groups) {
    padding: 8px 0;
}
.listings-index-page .rz-dd-multi-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 0.86rem;
    color: #374151;
    cursor: pointer;
    line-height: 1.3;
}
.listings-index-page .rz-dd-multi-item:hover {
    background: #f8fafc;
}
.listings-index-page .rz-dd-multi-item input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: #2563eb;
    flex-shrink: 0;
}
.rz-dd-menu-multi--society-groups {
    padding: 0;
}
.rz-dd-society-group {
    border-bottom: 1px solid #e8edf3;
}
.rz-dd-society-group:last-of-type {
    border-bottom: 0;
}
.rz-dd-society-group__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border: 0;
    background: #fff;
    color: #111827;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.rz-dd-society-group__toggle:hover {
    background: #f8fafc;
}
.rz-dd-society-group__pin {
    flex: 0 0 auto;
    color: #7c3aed;
    font-size: 0.95rem;
    line-height: 1;
}
.rz-dd-society-group__label {
    flex: 1 1 auto;
    min-width: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}
.rz-dd-society-group__name {
    font-size: 0.92rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
}
.rz-dd-society-group__count {
    font-size: 0.86rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.3;
}
.rz-dd-society-group__chevron {
    flex: 0 0 auto;
    color: #94a3b8;
    font-size: 0.82rem;
    line-height: 1;
    transition: transform 0.15s ease;
}
.rz-dd-society-group.is-open .rz-dd-society-group__chevron {
    transform: rotate(0deg);
}
.rz-dd-society-group:not(.is-open) .rz-dd-society-group__chevron {
    transform: rotate(180deg);
}
.rz-dd-society-group__body {
    display: none;
    padding: 0 0 4px;
}
.rz-dd-society-group.is-open .rz-dd-society-group__body {
    display: block;
}
.rz-dd-multi-item--grouped {
    padding: 10px 14px 10px 38px;
    margin: 0;
}
.listings-index-page .rz-dd-multi-actions {
    display: flex;
    justify-content: flex-end;
    padding: 6px 10px 4px;
    border-top: 1px solid #e2e8f0;
    margin-top: 4px;
}
.rz-dd-multi-actions--top {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    padding: 8px 10px 6px;
    margin-top: 0;
    margin-bottom: 4px;
    border-top: 0;
    border-bottom: 1px solid #e2e8f0;
}
.listings-index-page .rz-dd-multi-clear {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 6px;
}
.listings-index-page .rz-dd-multi-clear i {
    font-size: 0.82rem;
    line-height: 1;
}
.listings-index-page .rz-dd-multi-done {
    border: 0;
    background: #2563eb;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    padding: 8px 18px;
    border-radius: 8px;
}
.listings-index-page #bz-society-dd-m .rz-dd-multi-actions {
    justify-content: center;
    padding: 10px 12px 8px;
}
.listings-index-page .bz-area-hidden-inputs {
    display: none;
}
.listings-index-page .bz-check-list { display: grid; gap: 8px; margin-top: 10px; }
.listings-index-page .bz-check-list label { font-size: .86rem; color: #374151; display: flex; align-items: center; gap: 8px; line-height: 1.3; }
.listings-index-page .bz-check-list input[type="checkbox"] { width: 14px; height: 14px; accent-color: #2563eb; }
.listings-index-page .bz-show-more {
    margin-top: 8px;
    border: 0;
    background: transparent;
    color: #2563eb;
    padding: 0;
    font-size: .83rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}
.listings-index-page .bz-hidden { display: none !important; }
.listings-index-page .chip-row.bz-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 8px;
}
.listings-index-page .bz-section-title:has(+ .bz-chip-row) {
    margin-bottom: 14px;
}
.listings-index-page .bz-chip-option .chip {
    border: 1px solid #d4dae3;
    background: #f8fafc;
    color: #374151;
    border-radius: 8px;
    padding: 7px 11px;
    font-size: .78rem;
    font-weight: 600;
}
.listings-index-page .bz-chip-option input:checked + .chip {
    background: #eff6ff;
    border-color: #2563eb;
    color: #1d4ed8;
}
.listings-index-page .bz-price-range-summary {
    margin: 4px 0 14px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #1e40af;
    line-height: 1.35;
}
.listings-index-page .bz-price-range-slider {
    position: relative;
    height: var(--bz-price-thumb-size);
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
    --bz-price-thumb-size: 20px;
    --bz-price-rail-h: 3px;
    --bz-price-fill-h: 8px;
    --bz-price-track-h: 8px;
    box-sizing: border-box;
    isolation: isolate;
}
.listings-index-page .bz-price-range-slider__track {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: var(--bz-price-fill-h);
    pointer-events: none;
    z-index: 1;
}
.listings-index-page .bz-price-range-slider__rail {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: var(--bz-price-rail-h);
    border-radius: 999px;
    background: #e5e7eb;
}
.listings-index-page .bz-price-range-slider__fill {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: var(--bz-price-fill-h);
    border-radius: 999px;
    background: #2563eb !important;
    min-width: 0;
    box-shadow: none;
    z-index: 2;
    opacity: 1;
}
.listings-index-page .bz-price-range-slider__fill.is-empty {
    opacity: 0;
    visibility: hidden;
}
.listings-index-page .bz-price-range-slider__rail.is-covered {
    opacity: 0;
}
.listings-index-page .bz-price-range-slider__input {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: var(--bz-price-thumb-size);
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    top: 0;
    accent-color: transparent;
}
.listings-index-page .bz-price-range-slider__input--min {
    z-index: 4;
    margin: -17px 0 0 0;
    padding-left: 0 !important;
}
.listings-index-page .bz-price-range-slider__input--max {
    z-index: 5;
    margin: -17px 0 0 0;
    padding-right: 0 !important;
}
.listings-index-page .bz-price-range-slider__input::-webkit-slider-runnable-track {
    height: var(--bz-price-track-h);
    margin-top: calc((var(--bz-price-thumb-size) - var(--bz-price-track-h)) / 2);
    background: transparent;
    border: 0;
    border-radius: 999px;
}
.listings-index-page .bz-price-range-slider__input::-moz-range-track {
    height: var(--bz-price-track-h);
    background: transparent;
    border: 0;
    border-radius: 999px;
}
.listings-index-page .bz-price-range-slider__input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    pointer-events: auto;
    width: var(--bz-price-thumb-size);
    height: var(--bz-price-thumb-size);
    margin-top: calc((var(--bz-price-track-h) - var(--bz-price-thumb-size)) / 2);
    border-radius: 50%;
    border: 0;
    background: #2563eb !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.28);
    cursor: grab;
}
.listings-index-page .bz-price-range-slider__input::-moz-range-thumb {
    pointer-events: auto;
    width: var(--bz-price-thumb-size);
    height: var(--bz-price-thumb-size);
    border-radius: 50%;
    border: 0;
    background: #2563eb !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.28);
    cursor: grab;
    transform: translateY(calc((var(--bz-price-track-h) - var(--bz-price-thumb-size)) / 2));
}
.listings-index-page .bz-price-range-slider__input::-moz-focus-outer {
    border: 0;
}
.listings-index-page .bz-price-range-slider__input:active::-webkit-slider-thumb { cursor: grabbing; }
.listings-index-page .bz-price-range-slider__input:active::-moz-range-thumb { cursor: grabbing; }
.listings-index-page .bz-price-range-scale {
    --bz-price-thumb-size: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 8px 0 0;
    padding: 0;
    font-size: 0.7rem;
    font-weight: 500;
    color: #9ca3af;
    line-height: 1.2;
    letter-spacing: 0;
}
.listings-index-page .bz-price-range-scale > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
}
.listings-index-page .bz-price-range-scale > span::before {
    content: '';
    display: block;
    width: 1px;
    height: 4px;
    background: #d1d5db;
    flex-shrink: 0;
}
.listings-index-page .bz-price-range-scale > span:first-child {
    align-items: flex-start;
    text-align: left;
}
.listings-index-page .bz-price-range-scale > span:last-child {
    align-items: flex-end;
    text-align: right;
    font-size: 0.66rem;
}
.listings-index-page .bz-filters-form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
.listings-index-page .bz-filters-panels-slot {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}
.listings-index-page .bz-filters-tabs {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #e5e7eb;
    margin: 0 0 0;
}
.listings-index-page .bz-filters-tab {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 14px 8px;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    background: transparent;
    font-family: inherit;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    cursor: pointer;
    white-space: nowrap;
}
.listings-index-page .bz-filters-tab .bi:first-child {
    font-size: 0.95rem;
    flex-shrink: 0;
}
.listings-index-page .bz-premium-crown-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    color: inherit;
}
.listings-index-page .bz-premium-crown-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.listings-index-page .bz-premium-crown-icon--btn {
    width: 1rem;
    height: 1rem;
}
.listings-index-page .bz-filters-tab.is-active {
    color: #2563eb;
    border-bottom-color: #2563eb;
}
.listings-index-page #bz-filters-tab-premium.is-active {
    color: #7c3aed;
    border-bottom-color: #7c3aed;
}
.listings-index-page #bz-filters-tab-premium.is-active .bz-premium-crown-icon {
    color: #7c3aed;
}
.listings-index-page .bz-filters-tab.is-locked {
    color: #94a3b8;
}
.listings-index-page .bz-filters-tab__lock {
    font-size: 0.72rem;
    color: #94a3b8;
    flex-shrink: 0;
}
.listings-index-page .bz-filters-applied-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin: 12px 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.listings-index-page .bz-filters-applied-bar__count {
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
}
.listings-index-page .bz-filters-applied-bar__clear {
    flex-shrink: 0;
}
.listings-index-page .bz-filters-panel {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
}
.listings-index-page .bz-filters-panel.is-active {
    visibility: visible;
    pointer-events: auto;
}
.listings-index-page .bz-filters-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-top: 15px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.listings-index-page .bz-filters-scroll::-webkit-scrollbar {
    display: none;
}
.listings-index-page .bz-sidebar-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.listings-index-page .bz-sidebar-scroll::-webkit-scrollbar {
    display: none;
}
.listings-index-page .bz-filters-panel--premium {
    padding: 0;
}
.listings-index-page .bz-premium-filters {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    gap: 0;
}
.listings-index-page .bz-premium-filters > .bz-filters-scroll {
    flex: 1 1 auto;
    min-height: 0;
}
.listings-index-page .bz-premium-filters-promo {
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
    margin: 12px 0 14px;
    padding: 16px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
    border: 1px solid #e9d5ff;
}
.listings-index-page #bz-sidebar-filter-form:has(#bz-filters-tab-premium.is-active) .bz-premium-filters-promo {
    display: flex;
}
.listings-index-page .bz-premium-filters-promo__title {
    display: block;
    margin-bottom: 4px;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
    color: #6d28d9;
}
.listings-index-page .bz-premium-filters-promo__text {
    margin: 0 0 12px;
    font-size: 0.76rem;
    line-height: 1.45;
    color: #7c3aed;
}
.listings-index-page .bz-premium-filters-promo__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1.5px solid #7c3aed;
    background: #fff;
    color: #6d28d9;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.listings-index-page .bz-premium-filters-promo__btn:hover {
    background: #faf5ff;
    border-color: #6d28d9;
    color: #5b21b6;
}
.listings-index-page .bz-premium-filters-promo__btn .bi {
    font-size: 0.9rem;
}
.listings-index-page .bz-filter-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 36px;
}
.listings-index-page .bz-filter-toggle-row__label {
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.35;
    color: #374151;
}
.listings-index-page .bz-filter-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    cursor: pointer;
}
.listings-index-page .bz-filter-toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.listings-index-page .bz-filter-toggle__track {
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #e2e8f0;
    position: relative;
    transition: background 0.2s ease;
}
.listings-index-page .bz-filter-toggle__track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.15);
    transition: transform 0.2s ease;
}
.listings-index-page .bz-filter-toggle input:checked + .bz-filter-toggle__track {
    background: #2563eb;
}
.listings-index-page .bz-filter-toggle input:checked + .bz-filter-toggle__track::after {
    transform: translateX(18px);
}
.listings-index-page .bz-filter-toggle input:focus-visible + .bz-filter-toggle__track {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25);
}
.listings-index-page .bz-filter-section__lock {
    flex-shrink: 0;
    margin-left: auto;
    margin-right: 4px;
    font-size: 0.82rem;
    color: #7c3aed;
}
.listings-index-page .bz-price-input-field__wrap--select {
    padding: 0;
}
.listings-index-page .bz-filter-select {
    width: 100%;
    height: 38px;
    border: 0;
    outline: none;
    background: transparent;
    padding: 0 28px 0 10px;
    font-family: inherit;
    font-size: 0.86rem;
    font-weight: 600;
    color: #111827;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
}
.listings-index-page .bz-filter-select:disabled {
    cursor: not-allowed;
    color: #94a3b8;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-tile,
.listings-index-page .bz-premium-filters--locked .bz-filter-check,
.listings-index-page .bz-premium-filters--locked .bz-price-input-field__wrap > input,
.listings-index-page .bz-premium-filters--locked .bz-price-range-slider__input,
.listings-index-page .bz-premium-filters--locked .bz-filter-select,
.listings-index-page .bz-premium-filters--locked .bz-filter-toggle {
    cursor: not-allowed;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-toggle__track {
    opacity: 0.65;
}
.listings-index-page .bz-premium-filters--locked .bz-price-input-field__wrap,
.listings-index-page .bz-premium-filters--locked .bz-filter-tile__ui {
    background: #f8fafc;
    border-color: #dbe5f2;
    color: #94a3b8;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-check__text {
    color: #94a3b8;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-check input:checked + .bz-filter-check__box {
    background: #f1f5f9;
    border-color: #cbd5e1;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-more-link {
    color: #94a3b8;
    cursor: not-allowed;
    pointer-events: none;
}
.listings-index-page .bz-premium-filters--locked .bz-filter-tile input:checked + .bz-filter-tile__ui {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #94a3b8;
    box-shadow: none;
}
.listings-index-page .bz-filters-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.listings-index-page .bz-clear-link--icon,
.listings-index-page .bz-drawer-clear-link--icon {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.listings-index-page .bz-clear-link--icon i,
.listings-index-page .bz-drawer-clear-link--icon i {
    font-size: 0.95rem;
}
.listings-index-page .bz-filters-applied-badge {
    margin: 0 0 14px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
}
.listings-index-page .bz-filter-section {
    border-bottom: 1px solid #e8edf3;
    padding-bottom: 4px;
    margin-bottom: 4px;
}
.listings-index-page .bz-filter-section:last-of-type {
    border-bottom: 0;
}
.listings-index-page .bz-filter-section__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: #111827;
}
.listings-index-page .bz-filter-section__lead {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.95rem;
}
.listings-index-page .bz-filter-section__title {
    flex: 1;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.3;
}
.listings-index-page .bz-filter-section__title small {
    font-weight: 500;
    color: #64748b;
    font-size: 0.78rem;
}
.listings-index-page .bz-filter-section__chev {
    color: #94a3b8;
    font-size: 0.85rem;
    transition: transform 0.2s ease;
}
.listings-index-page .bz-filter-section:not(.is-open) .bz-filter-section__body {
    display: none;
}
.listings-index-page .bz-filter-section:not(.is-open) .bz-filter-section__chev {
    transform: rotate(-90deg);
}
.listings-index-page .bz-filter-section__body {
    padding: 0 0 14px;
}
.listings-index-page .bz-filter-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #d7dee8;
    border-radius: 8px;
    background: #fff;
    padding: 0 10px;
    height: 38px;
    margin-bottom: 10px;
}
.listings-index-page .bz-filter-search i {
    color: #94a3b8;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.listings-index-page .bz-filter-search input {
    border: 0;
    outline: none;
    width: 100%;
    font-size: 0.84rem;
    color: #334155;
    background: transparent;
}
.listings-index-page .bz-filter-check-list {
    display: grid;
    gap: 8px;
}
.listings-index-page .bz-filter-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.86rem;
    color: #374151;
    cursor: pointer;
    line-height: 1.3;
}
.listings-index-page .bz-filter-check input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.listings-index-page .bz-filter-check__box {
    width: 18px;
    height: 18px;
    border: 1.5px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    flex-shrink: 0;
    position: relative;
}
.listings-index-page .bz-filter-check input:checked + .bz-filter-check__box {
    background: #2563eb;
    border-color: #2563eb;
}
.listings-index-page .bz-filter-check input:checked + .bz-filter-check__box::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.listings-index-page .bz-filter-show-more {
    margin-top: 8px;
    border: 0;
    background: transparent;
    color: #2563eb;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.listings-index-page .bz-filter-more-link {
    margin-top: 10px;
    border: 0;
    background: transparent;
    color: #2563eb;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.listings-index-page .bz-filter-tiles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.listings-index-page .bz-filter-tiles--type .bz-filter-tile {
    flex: 1 1 calc(33.333% - 6px);
    min-width: 0;
}
.listings-index-page .bz-filter-tile {
    cursor: pointer;
}
.listings-index-page .bz-filter-tile input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.listings-index-page .bz-filter-tile__ui {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 64px;
    padding: 8px 6px;
    border: 1.5px solid #d4dae3;
    border-radius: 10px;
    background: #fff;
    color: #374151;
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.25;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.listings-index-page .bz-filter-tiles--type .bz-filter-tile__ui i {
    font-size: 1.1rem;
    color: #64748b;
}
.listings-index-page .bz-filter-tile input:checked + .bz-filter-tile__ui {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px #2563eb;
}
.listings-index-page .bz-filter-tile input:checked + .bz-filter-tile__ui i {
    color: #2563eb;
}
.listings-index-page .bz-filter-tiles--bhk .bz-filter-tile__ui {
    min-height: auto;
    padding: 8px 10px;
    flex-direction: row;
}
.listings-index-page .bz-filter-tiles--bhk .bz-filter-tile {
    flex: 0 1 auto;
}
.listings-index-page .bz-price-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}
.listings-index-page .bz-price-input-field__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 4px;
}
.listings-index-page .bz-price-input-field__wrap {
    display: flex;
    align-items: center;
    border: 1px solid #d7dee8;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    height: 38px;
}
.listings-index-page .bz-price-input-field__prefix {
    padding: 0 0 0 10px;
    color: #64748b;
    font-size: 0.84rem;
    font-weight: 600;
}
.listings-index-page .bz-price-input-field__wrap > input {
    min-height: 0 !important;
    height: 100%;
    border: 0 !important;
    outline: none;
    width: 100%;
    padding: 0 10px 0 4px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #111827;
    background: transparent;
}
.listings-index-page .bz-price-hint {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
}
.listings-index-page .bz-price-hint i {
    flex-shrink: 0;
    margin-top: 1px;
}
.listings-index-page .bz-furnish-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.listings-index-page .bz-furnish-option {
    flex: 1 1 30%;
    min-width: 0;
    cursor: pointer;
}
.listings-index-page .bz-furnish-option input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.listings-index-page .bz-furnish-option__ui {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 2px;
    border: 1.5px solid #d4dae3;
    border-radius: 8px;
    background: #fff;
    font-size: 0.74rem;
    font-weight: 600;
    color: #374151;
    text-align: center;
    line-height: 1.25;
}
.listings-index-page .bz-furnish-option input:checked + .bz-furnish-option__ui {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
}
.listings-index-page .bz-amenity-group + .bz-amenity-group {
    margin-top: 14px;
}
.listings-index-page .bz-amenity-group__title {
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #64748b;
}
.listings-index-page .bz-amenity-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
}
.listings-index-page .bz-apply-btn--gradient {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #6366f1 0%, #2563eb 55%, #1d4ed8 100%);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}
.listings-index-page .bz-apply-btn--gradient:hover {
    filter: brightness(1.05);
}
.listings-index-page .bz-sidebar {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px 14px 14px;
    display: flex;
    flex-direction: column;
}
.listings-index-page .bz-range-input {
    width: 100%;
    accent-color: #2563eb;
    margin-top: 4px;
}
.listings-index-page .bz-apply-btn {
    margin-top: 16px;
    width: 100%;
    border: 0;
    border-radius: 9px;
    background: #1d4ed8;
    color: #fff;
    padding: 11px 12px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
}
.listings-index-page .top-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.listings-index-page .check-list { display: grid; gap: 6px; }
.listings-index-page .check-list label { font-size: .75rem; color: #334155; display: flex; align-items: center; gap: 6px; }
.listings-index-page .section-title { margin: 14px 0 8px; font-size: .8rem; font-weight: 700; }
.listings-index-page .chip { border: 1px solid #dbe3ef; border-radius: 6px; padding: 4px 7px; font-size: .68rem; color: #334155; background: #fff; }
.listings-index-page .apply-btn {
    margin-top: 12px;
    width: 100%;
    border: 0;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    padding: 10px 12px;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
}
@media (max-width: 979px) {
    .listings-index-page .bz-sidebar {
        display: flex !important;
        flex-direction: column;
        overflow: hidden;
        height: 100dvh;
        max-height: 100dvh;
    }

    .listings-index-page .bz-mobile-sidebar-head {
        flex-shrink: 0;
        padding-left: 16px;
        padding-right: 16px;
    }

    .listings-index-page .bz-sidebar #bz-sidebar-filter-form {
        flex: 1 1 0;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding: 0 16px 0;
        box-sizing: border-box;
    }

    .listings-index-page .bz-filters-drawer-close {
        position: fixed;
        top: max(10px, env(safe-area-inset-top, 0px));
        right: max(10px, env(safe-area-inset-right, 0px));
        z-index: 2310;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #334155;
        display: none;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
        box-shadow: none;
    }

    .listings-index-page .bz-filters-drawer-close .bi {
        font-size: 1.15rem;
        line-height: 1;
    }

    .listings-index-page .bz-filters-drawer-close:hover,
    .listings-index-page .bz-filters-drawer-close:focus-visible {
        color: #111827;
        background: transparent;
    }

    .listings-index-page.bz-drawer-open .bz-filters-drawer-close {
        display: inline-flex;
    }

    .listings-index-page .bz-filters-tabs {
        padding-right: 44px;
    }

    .listings-index-page .bz-sidebar-scroll {
        overflow-y: auto;
        min-height: 0;
        flex: 1 1 auto;
    }

    .listings-index-page .bz-sidebar-scroll,
    .listings-index-page .bz-filters-scroll {
        padding-bottom: max(14px, env(safe-area-inset-bottom, 0px));
    }

    .listings-index-page .bz-apply-btn--scroll {
        display: none !important;
    }

    body.listings-index-page.bz-drawer-open > .container {
        z-index: 2400;
    }

    body.listings-index-page.bz-drawer-open .rz-bottom-nav {
        display: none !important;
    }
}
@media (min-width: 980px) {
    .listings-index-page .layout.bz-layout {
        grid-template-columns: min(350px, 30vw) minmax(0, 1fr);
        align-items: start;
    }

    .listings-index-page .layout.bz-layout > .bz-sidebar {
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        min-width: 0;
    }

    .listings-index-page .layout.bz-layout > .bz-content {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    /* Let the filter column grow with content and scroll with the page (no nested trap). */
    .listings-index-page .bz-sidebar {
        max-height: none;
        overflow: visible;
    }

    .listings-index-page .bz-sidebar #bz-sidebar-filter-form {
        max-height: none;
        overflow: visible;
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .listings-index-page .bz-filters-panels-slot {
        flex: 0 0 auto;
        min-height: auto;
        grid-template-rows: auto;
    }

    .listings-index-page .bz-filters-panel {
        overflow: visible;
    }

    .listings-index-page .bz-sidebar-scroll,
    .listings-index-page .bz-filters-scroll {
        overflow-y: visible;
        overscroll-behavior: auto;
        min-height: auto;
        flex: 0 0 auto;
    }

    .listings-index-page .bz-premium-filters {
        height: auto;
        min-height: auto;
    }

    .listings-index-page .bz-premium-filters > .bz-filters-scroll {
        flex: 0 0 auto;
        min-height: auto;
    }
}


/* migrated:resources/views/listings/create-photos.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .brand { color: #1d4ed8; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
        .menu a { color: #334155; text-decoration: none; }
        .sidebar, .main, .tips { background: #fff; border: 1px solid #e4e9f2; border-radius: 12px; }
        .sidebar { padding: 14px; }
        .main { padding: 14px; }
        .avatar { width: 46px; height: 46px; border-radius: 999px; object-fit: cover; background: #dbeafe; border: 1px solid #d7e2f4; }
        .name { font-size: .9rem; font-weight: 700; }
        .mail { font-size: .76rem; color: #64748b; }
        .side-links { margin-top: 8px; display: grid; gap: 4px; }
        .side-link { padding: 9px 10px; border-radius: 8px; text-decoration: none; color: #334155; font-size: .82rem; }
        .side-link.active { background: #eef4ff; color: #1d4ed8; font-weight: 700; }
        .sub-steps { margin: 2px 0 8px 12px; padding-left: 8px; border-left: 1px solid #e5eaf3; display: grid; gap: 8px; }
        .sub-step { display: flex; align-items: center; gap: 7px; font-size: .76rem; color: #64748b; }
        .sub-step-dot { width: 9px; height: 9px; border-radius: 999px; border: 1px solid #cbd5e1; background: #fff; }
        .sub-step-dot.active { background: #2563eb; border-color: #2563eb; }
        .sub-step-dot.done { background: #16a34a; border-color: #16a34a; }
        .crumbs { margin-top: 8px; color: #64748b; font-size: .78rem; }
        .dot.done { background: #e8f8ee; color: #16a34a; }
        .dot.active { background: #eff6ff; color: #1d4ed8; }
        .dot.pending { background: #f1f5f9; color: #64748b; }
        .step strong { display: block; font-size: .84rem; }
        .step span { display: block; font-size: .75rem; color: #64748b; }
        .muted { color: #64748b; font-size: .78rem; }
        .photo-grid { margin-top: 10px; display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }
        .upload-tile {
            border: 1px dashed #cbd5e1;
            border-radius: 10px;
            height: 118px;
            background: #f8fafc;
            display: grid;
            place-items: center;
            text-align: center;
            color: #64748b;
            font-size: .74rem;
            cursor: pointer;
            padding: 8px;
        }
        .preview-card {
            position: relative;
            border-radius: 10px;
            overflow: hidden;
            height: 118px;
            background: #eef2f7;
            border: 1px solid #dbe3ef;
        }
        .preview-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .cover-badge {
            position: absolute;
            left: 6px;
            top: 6px;
            background: #2563eb;
            color: #fff;
            font-size: .67rem;
            border-radius: 999px;
            padding: 3px 7px;
    font-weight: 700;
}
        .remove-btn {
            position: absolute;
            right: 6px;
            top: 6px;
            width: 20px;
            height: 20px;
            border: 0;
            border-radius: 999px;
            background: rgba(255,255,255,.95);
            color: #334155;
            cursor: pointer;
            font-weight: 700;
            line-height: 20px;
            padding: 0;
        }
        .amenities { margin-top: 12px; border: 1px solid #e9eef7; border-radius: 10px; padding: 12px; }
        .amenities h3 { margin: 0 0 8px; font-size: .9rem; }
        .group { margin-top: 8px; }
        .group-title { font-size: .78rem; color: #64748b; margin-bottom: 5px; font-weight: 700; }
        .checks { display: grid; gap: 7px; grid-template-columns: repeat(2, 1fr); font-size: .82rem; color: #334155; }
        .checks label { display: flex; align-items: center; gap: 6px; }
        input[type=file] { width: 100%; border: 1px solid #d6ddeb; border-radius: 8px; padding: 9px; background: #fff; margin-top: 8px; }
        .hidden-input { display: none; }
        .tips { margin-top: 12px; padding: 12px; }
        .tips h3 { margin: 0 0 10px; font-size: .95rem; }
        .tip-item { font-size: .8rem; color: #475569; padding: 8px 0; border-bottom: 1px solid #edf1f7; }
        .tip-item:last-child { border-bottom: 0; }
        .preview-card { margin-top: 12px; border: 1px solid #e9eef7; border-radius: 10px; padding: 10px; }
        .preview-img { width: 100%; height: 160px; border-radius: 10px; object-fit: cover; }
        @media (min-width: 980px) {
            .layout { grid-template-columns: 250px 1fr; }
            .steps { grid-template-columns: repeat(3, 1fr); }
            .content-wrap { display: grid; grid-template-columns: 1fr 290px; gap: 12px; align-items: start; }
            .photo-grid { grid-template-columns: repeat(4, 1fr); }
        }


/* migrated:resources/views/listings/edit-photos.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .main { background: #fff; border: 1px solid #e4e9f2; border-radius: 12px; padding: 14px; }
        .dot.done { background: #e8f8ee; color: #16a34a; }
        .dot.active { background: #eff6ff; color: #1d4ed8; }
        .dot.pending { background: #f1f5f9; color: #64748b; }
        .grid { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); margin-top: 8px; }
        .photo { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid #dbe3ef; }
        .muted { color: #64748b; font-size: .8rem; }
        input[type=file] { width: 100%; border: 1px solid #d6ddeb; border-radius: 8px; padding: 9px; background: #fff; margin-top: 10px; }
        .amenities { margin-top: 12px; border: 1px solid #e9eef7; border-radius: 10px; padding: 12px; }
        .amenities h3 { margin: 0 0 8px; font-size: .9rem; }
        .group { margin-top: 8px; }
        .group-title { font-size: .78rem; color: #64748b; margin-bottom: 5px; font-weight: 700; }
        .checks { display: grid; gap: 7px; grid-template-columns: repeat(2, 1fr); font-size: .82rem; color: #334155; }
        .checks label { display: flex; align-items: center; gap: 6px; }
        @media (min-width: 980px) {
            .layout { grid-template-columns: 250px 1fr; }
            .steps { grid-template-columns: repeat(3, 1fr); }
        }


/* migrated:resources/views/listings/create-review.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .brand { color: #1d4ed8; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
        .menu a { color: #334155; text-decoration: none; }
        .sidebar { padding: 14px; }
        .main { padding: 14px; }
        .avatar { width: 46px; height: 46px; border-radius: 999px; object-fit: cover; background: #dbeafe; border: 1px solid #d7e2f4; }
        .name { font-size: .9rem; font-weight: 700; }
        .mail { font-size: .76rem; color: #64748b; }
        .side-links { margin-top: 8px; display: grid; gap: 4px; }
        .side-link { padding: 9px 10px; border-radius: 8px; text-decoration: none; color: #334155; font-size: .82rem; }
        .side-link.active { background: #eef4ff; color: #1d4ed8; font-weight: 700; }
        .sub-steps { margin: 2px 0 8px 12px; padding-left: 8px; border-left: 1px solid #e5eaf3; display: grid; gap: 8px; }
        .sub-step { display: flex; align-items: center; gap: 7px; font-size: .76rem; color: #64748b; }
        .sub-step-dot { width: 9px; height: 9px; border-radius: 999px; border: 1px solid #cbd5e1; background: #fff; }
        .sub-step-dot.done { background: #16a34a; border-color: #16a34a; }
        .sub-step-dot.active { background: #2563eb; border-color: #2563eb; }
        .listings-create-page h1 { margin: 0; font-size: 1.4rem; }
        .crumbs { margin-top: 8px; color: #64748b; font-size: .78rem; }
        .summary { display: grid; gap: 8px; grid-template-columns: 1fr; }
        .thumb { width: 100%; border-radius: 10px; object-fit: cover; }
        .details-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); font-size: .82rem; color: #334155; }
        .photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
        .photo { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid #e2e8f0; }
        .amenity-tags { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
        .amenity-tag { border: 1px solid #dbe3ef; background: #f8fafc; color: #334155; border-radius: 999px; font-size: .74rem; padding: 4px 8px; }
        .right-panel .box { border: 1px solid #e9eef7; border-radius: 10px; padding: 10px; margin-top: 12px; background: #fff; }
        @media (min-width: 980px) {
            .layout { grid-template-columns: 250px 1fr; }
            .steps { grid-template-columns: repeat(3, 1fr); }
            .summary { grid-template-columns: 1fr 290px; }
        }


/* migrated:resources/views/listings/edit-review.blade.php */
        * { box-sizing: border-box; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: #0f172a; }
        .main { background: #fff; border: 0 solid #e4e9f2; border-radius: 12px; padding: 14px; }
        h1 { margin: 0; font-size: 1.4rem; }
        .done { background: #e8f8ee; color: #16a34a; }
        .active { background: transparent; color: #1d4ed8; }
        .thumb { width: 100%; border-radius: 10px; object-fit: cover; }
        .details-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); font-size: .82rem; color: #334155; margin-top: 8px; }
        .photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
        .photo { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid #e2e8f0; }
        .amenity-tags { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
        .amenity-tag { border: 1px solid #dbe3ef; background: #f8fafc; color: #334155; border-radius: 999px; font-size: .74rem; padding: 4px 8px; }
        @media (min-width: 980px) {
            .layout { grid-template-columns: 250px 1fr; }
            .steps { grid-template-columns: repeat(3, 1fr); }
        }


/* migrated:resources/views/welcome.blade.php */
        :root {
            --bg: #f7f9fc;
            --card: #fff;
            --text: #0f172a;
            --muted: #64748b;
            --blue: #2563eb;
            --line: #e2e8f0;
        }
        * { box-sizing: border-box; }
        .inputbox-tyle { border:1px solid #CCC; height:34px; border-radius:5px; padding:0 15px; }
        body { margin: 0; font-family: 'Source Sans Pro', sans-serif; background: #fff; color: var(--text); }
        .container { width: min(1440px, calc(100% - 24px)) !important; max-width: min(1440px, calc(100% - 24px)) !important; margin: 0 auto !important; }
        .navbar { margin-top: 16px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px 18px; display: flex; gap: 16px; align-items: center; justify-content: space-between; }
        .brand { font-size: 1.45rem; font-weight: 700; color: #1d4ed8; }
        .links { display: none; gap: 18px; font-size: .92rem; color: #334155; }
        .links a { color: #334155; text-decoration: none; }
        .links a:first-child { color: #0f172a; font-weight: 700; }
        .nav-cta { display: flex; gap: 8px; }
        .btn { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; padding: 10px 12px; border-radius: 10px; font-size: .85rem; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
        .btn-blue { background: var(--blue); border-color: var(--blue); color: #fff; }

        .hero {
            margin-top: 0;
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            border-radius: 0;
            padding: 42px 24px;
            min-height: 360px;
            background:
                linear-gradient(100deg, rgba(243, 245, 249, 0.93) 20%, rgba(219, 228, 243, 0.78) 65%, rgba(199, 212, 234, 0.76) 100%),
                url('https://images.unsplash.com/photo-1560185007-cde436f6a4d0?auto=format&fit=crop&w=1600&q=80') center/cover;
            border: 0;
        }
        .hero-inner {
            width: 100%;
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 276px;
        }
        .hero h1 { margin: 0; font-size: clamp(1.55rem, 4vw, 2.45rem); line-height: 1.15; }
        .hero h1 .blue { color: #2563eb; display: block; }
        .hero p {
            margin: 10px 0 0;
            color: #475569;
            max-width: 560px;
            font-size: .98rem;
            padding-bottom: 19px;
        }
        .search-card {
            margin-top: 24px;
            background: rgba(255, 255, 255, 1);
            border: 1px solid rgba(219, 227, 239, 0.9);
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 4px 18px rgba(15, 23, 42, .06);
            max-width: 100%;
        }
        .search-grid { display: grid; gap: 8px; grid-template-columns: 1fr; }
        .rz-dd {
            position: relative;
        }
        .rz-dd-trigger {
            width: 100%;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 15px 12px;
            font-size: .9rem;
            color: #475569;
            background: #fff;
            display: flex;
            align-items: center;
            justify-content: space-between;
            text-align: left;
            cursor: pointer;
        }
        .rz-dd.open .rz-dd-trigger {
            border-color: #93c5fd;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }
        .rz-dd-menu {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            max-height: 220px;
            overflow: auto;
            border: 1px solid #93c5fd;
            border-top: 0;
            border-radius: 10px;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
            background: #fff;
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
            z-index: 50;
            padding: 0;
        }
        .rz-dd.open .rz-dd-menu {
            display: block;
        }
        .rz-dd-item {
            border: 0;
            background: #fff;
            text-align: left;
            padding: 9px 12px;
            border-radius: 0;
            font-size: .86rem;
            color: #334155;
            cursor: pointer;
            width: 100%;
        }
        .rz-dd-item:hover {
            background: #f1f5f9;
        }
        .rz-dd.is-invalid .rz-dd-trigger {
            border-color: #ef4444;
        }
        .field { border: 1px solid #e2e8f0; border-radius: 10px; padding: 11px 12px; font-size: .9rem; color: #475569; background: #fff; width: 100%; }
        .search-btn {
            border: 0;
            border-radius: 10px;
            background: var(--blue);
            color: #fff;
            font-weight: 400;
            padding: 16px 50px;
            font-size: 15px;
        }
        .search-btn .bi-search { padding-right: 10px; }
        .popular-searches {
            margin-top: 14px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }
        .popular-search-label {
            font-size: .84rem;
            font-weight: 600;
            color: #0f172a;
            margin-right: 2px;
        }
        .popular-search-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            border: 1px solid #dbe5f2;
            background: #fff;
            color: #1e293b;
            border-radius: 999px;
            padding: 7px 12px;
    font-size: .8rem;
            font-weight: 600;
            text-decoration: none;
            line-height: 1;
        }
        .popular-search-link:hover {
            border-color: #bfdbfe;
            color: #1d4ed8;
            background: #eff6ff;
        }
        .recent-searches {
            margin-top: 14px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }
        .recent-searches[hidden] {
            display: none !important;
        }
        .recent-searches__label {
            font-size: .84rem;
            font-weight: 600;
            color: #64748b;
            margin-right: 2px;
        }
        .recent-searches__chips {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }
        .recent-searches__chip {
            display: inline-flex;
            align-items: center;
            border: 1px solid #dbe5f2;
            background: #fff;
            color: #1e293b;
            border-radius: 999px;
            padding: 7px 12px;
            font-size: .8rem;
            font-weight: 600;
            text-decoration: none;
            line-height: 1;
        }
        .recent-searches__chip:hover {
            border-color: #c4b5fd;
            color: #6d28d9;
            background: #f5f3ff;
        }
        .recent-searches__clear {
            border: 0;
            background: transparent;
            color: #7c3aed;
            font-size: .8rem;
            font-weight: 600;
            padding: 0;
            cursor: pointer;
        }
        .recent-searches__clear:hover {
            text-decoration: underline;
        }
        /* Home hero v2 — mock-style unified search */
        .welcome-page section.hero.hero--v2 {
            --hero-purple: #5a20e3;
            --hero-purple-hover: #4c1ac4;
            position: relative;
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            background: #fff !important;
            background-image: none !important;
            min-height: auto !important;
            padding: 64px 0 52px;
            overflow: hidden;
            font-family: 'Inter', 'Source Sans Pro', sans-serif;
            z-index: 1;
        }
        .welcome-page .hero--v2 .hero-inner {
            min-height: 0 !important;
        }
        .welcome-page .hero--v2 .hero-v2-title {
            margin: 0 !important;
            font-size: clamp(2.35rem, 5.5vw, 3.5rem) !important;
            font-weight: 800 !important;
            line-height: 1.05 !important;
            letter-spacing: -0.04em !important;
            color: #111827 !important;
        }
        .welcome-page .hero--v2 .hero-v2-lead {
            margin: 16px auto 0 !important;
            max-width: 620px;
            font-size: clamp(1rem, 2.2vw, 1.125rem) !important;
            font-weight: 500 !important;
            line-height: 1.55 !important;
            color: #6b7280 !important;
            padding-bottom: 0 !important;
        }
        .welcome-page .hero-v2-skyline-art {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            line-height: 0;
            pointer-events: none;
            z-index: 0;
            overflow: hidden;
        }
        .welcome-page .hero-v2-skyline-art__img {
            display: block;
            width: 100%;
            height: auto;
            max-width: none;
            margin: 0 auto;
            object-fit: initial;
            object-position: center top;
            opacity: 0.3;
            transform: translateY(-100px);
            image-rendering: auto;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }
        .welcome-page section.hero.hero--v2 > .container {
            position: relative;
            z-index: 1;
        }
        .welcome-page .hero-inner--v2 {
            position: relative;
            z-index: 1;
            max-width: 1200px;
            margin: 0 auto;
            align-items: center;
            text-align: center;
            justify-content: flex-start;
        }
        .welcome-page .hero-v2-copy {
            width: 100%;
            margin-bottom: 34px;
        }
        .welcome-page .hero-v2-badges {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 14px;
            margin-top: 22px;
        }
        .welcome-page .hero-v2-badge {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 10px 18px;
            border-radius: 999px;
            border: 1px solid #e8eaef;
            background: #fff;
            color: #374151;
            font-size: .875rem;
            font-weight: 600;
            line-height: 1;
            box-shadow: 0 4px 18px rgba(17, 24, 39, .06);
        }
        .welcome-page .hero-v2-badge .bi {
            color: var(--hero-purple);
            font-size: 1.05rem;
        }
        .welcome-page .hero-v2-search-wrap {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
        }
        .welcome-page .hero-search-unified {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            width: 100%;
            min-height: 58px;
            padding: 5px;
            border-radius: 16px;
            border: 1px solid #eceef2;
            background: #fff;
            box-shadow: 0 12px 40px rgba(17, 24, 39, .08);
        }
        .welcome-page .hero-search-unified.is-invalid {
            border-color: #fca5a5;
            box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
        }
        .welcome-page .hero-search-unified__city {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 0 20px 0 10px;
            color: #111827;
            font-size: 1rem;
            font-weight: 600;
            white-space: nowrap;
        }
        .welcome-page .hero-search-unified__field {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
            min-width: 0;
            text-align: left;
        }
        .welcome-page .hero-search-unified__field-label {
            font-size: 0.72rem;
            font-weight: 500;
            color: #9ca3af;
            line-height: 1.2;
        }
        .welcome-page .hero-search-unified__field-value,
        .welcome-page .hero-search-unified__society-label {
            font-size: 0.95rem;
            font-weight: 700;
            color: #111827;
            line-height: 1.25;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 100%;
        }
        .welcome-page .hero-search-unified__society--desktop:not(.has-value) .hero-search-unified__society-label {
            color: #9ca3af;
            font-weight: 500;
        }
        .welcome-page .hero-search-unified__city .bi-geo-alt-fill {
            color: var(--hero-purple);
            font-size: 1.1rem;
        }
        .welcome-page .hero-search-unified__city-caret {
            color: #9ca3af;
            font-size: .75rem;
            margin-left: 20px;
        }
        .welcome-page .hero-search-unified__divider {
            display: none;
        }
        .welcome-page .hero-search-unified__query {
            display: flex;
            align-items: center;
            gap: 12px;
            flex: 1 1 auto;
            min-width: 0;
            padding: 0;
            margin: 0 0 0 18px;
            cursor: text;
        }
        .welcome-page .hero-search-unified__society--desktop {
            display: none;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-trigger {
            width: 100%;
            min-width: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            padding: 14px 24px 14px 0;
            margin: 0 12px 0 0;
            display: flex;
            align-items: center;
            gap: 12px;
            font: inherit;
            font-size: 1rem;
            font-weight: 400;
            color: #111827;
            text-align: left;
            cursor: pointer;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-trigger > .bi-building {
            color: var(--hero-purple);
            font-size: 1.1rem;
            flex: 0 0 auto;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-trigger > .bi-search {
            color: var(--hero-purple);
            font-size: 1.1rem;
            flex: 0 0 auto;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__field {
            flex: 1 1 auto;
            min-width: 0;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-label {
            flex: 0 0 auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 100%;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-label--chips {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            gap: 6px;
            width: 100%;
            max-width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
            text-overflow: unset;
            white-space: nowrap;
            font-weight: 500;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-label--chips::-webkit-scrollbar {
            display: none;
        }
        .welcome-page .hero-search-unified__society--desktop.has-society-chips .hero-search-unified__field {
            overflow: hidden;
        }
        .welcome-page .hero-search-unified__society--desktop.has-society-chips .hero-search-unified__society-trigger {
            align-items: center;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-society-chip {
            position: relative;
            display: inline-flex;
            align-items: center;
            flex: 0 0 auto;
            padding: 4px 20px 4px 8px;
            border-radius: 6px;
            background: #f3f4f6;
            color: #374151;
            font-size: 0.76rem;
            font-weight: 600;
            line-height: 1.25;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-society-chip__text {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 140px;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-society-chip__remove {
            position: absolute;
            top: 1px;
            right: 1px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 14px;
            height: 14px;
            padding: 0;
            border: 0;
            border-radius: 4px;
            background: transparent;
            color: #9ca3af;
            font-size: 0.72rem;
            line-height: 1;
            cursor: pointer;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-society-chip__remove:hover {
            color: #6b7280;
            background: rgba(17, 24, 39, 0.06);
        }
        .welcome-page .hero-search-unified__society--desktop .hero-society-chip__remove .bi {
            pointer-events: none;
        }
        .welcome-page .hero-search-unified__society--desktop .hero-search-unified__society-caret {
            color: #9ca3af;
            font-size: .75rem;
            flex: 0 0 auto;
        }
        .welcome-page .hero-search-unified__society--desktop.open .hero-search-unified__society-trigger {
            border: 0;
            border-radius: 0;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-menu {
            left: -18px;
            width: calc(100% + 36px);
            max-height: 322px;
            margin: 16px 0 0;
            padding: 14px 12px;
            border: 0 !important;
            border-radius: 0 0 8px 8px;
            box-shadow: 0 16px 40px rgba(17, 24, 39, .12);
            z-index: 1502;
            overflow-y: auto;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-menu.rz-dd-menu-multi--society-groups {
            padding: 0;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-menu-multi {
            padding: 0;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px 14px;
            font-size: 0.86rem;
            color: #374151;
            cursor: pointer;
            line-height: 1.3;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-item--grouped {
            padding: 10px 14px 10px 38px;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-item:hover {
            background: #f8fafc;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-item input[type="checkbox"] {
            width: 14px;
            height: 14px;
            accent-color: #5a20e3;
            flex-shrink: 0;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-actions {
            display: flex;
            justify-content: flex-end;
            gap: 8px;
            padding: 6px 10px 10px;
            border-top: 0;
            margin-top: 4px;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-actions--top {
            justify-content: flex-end;
            padding: 8px 10px 6px;
            margin-top: 0;
            margin-bottom: 4px;
            border-bottom: 1px solid #eef2f7;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-clear {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            border: 0;
            background: transparent;
            color: #5a20e3;
            font-size: 0.78rem;
            font-weight: 600;
            cursor: pointer;
            padding: 4px 6px;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-clear i {
            font-size: 0.82rem;
            line-height: 1;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-multi-done {
            border: 0;
            background: #5a20e3;
            color: #fff;
            font-size: 0.82rem;
            font-weight: 700;
            cursor: pointer;
            padding: 8px 18px;
            border-radius: 8px;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-item.is-selected {
            background: #f3f0ff;
            color: #5a20e3;
            font-weight: 600;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-item--clear {
            color: #64748b;
            font-weight: 600;
            border-bottom: 1px solid #eef2f7;
        }
        .welcome-page .hero-search-unified__society--desktop .rz-dd-item--clear:hover {
            color: #5a20e3;
            background: #f8fafc;
        }
        .welcome-page .hero-search-unified__society--desktop.open .rz-dd-menu {
            border-top: 0;
        }
        .welcome-page .hero-search-unified__society--desktop.is-invalid .hero-search-unified__society-trigger {
            box-shadow: inset 0 0 0 1px #fca5a5;
            border-radius: 8px;
        }
        .welcome-page .hero-search-unified__query > .bi-search {
            color: #9ca3af;
            font-size: 1.05rem;
            flex: 0 0 auto;
        }
        .welcome-page .hero-search-unified__query-input {
            flex: 1 1 auto;
            min-width: 0;
            border: 0 !important;
            background: transparent;
            padding: 29px 11px !important;
            margin: 0 20px 0 0;
            font: inherit;
            font-size: 1rem;
            font-weight: 400;
            color: #111827;
            outline: none;
        }
        .welcome-page .hero-search-unified__query-input::placeholder {
            color: #9ca3af;
            font-weight: 400;
        }
        .welcome-page .hero-search-unified__submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 20px !important;
            margin: 0;
            padding: 0 64px;
            min-height: 64px;
            border: 0;
            border-radius: 15px;
            background: var(--rz-btn-primary-bg);
            color: #fff;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            box-shadow: none;
            white-space: nowrap;
        }
        .welcome-page .hero-search-unified__submit:hover {
            background: var(--rz-btn-primary-bg-hover);
        }
        .welcome-page .hero-popular-searches {
            justify-content: center;
            margin-top: 14px;
            gap: 8px;
        }
        .welcome-page .hero-popular-searches .popular-search-label {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #0f172a;
            font-size: .84rem;
            font-weight: 600;
            margin-right: 2px;
        }
        .welcome-page .hero-popular-searches .popular-search-label-icon {
            color: #7c3aed;
            font-size: 0.95rem;
        }
        .welcome-page .hero-popular-searches .popular-search-link {
            border: 1px solid #dbe5f2;
            background: #fff;
            color: #1e293b;
            border-radius: 999px;
            padding: 7px 12px;
            font-size: .8rem;
            font-weight: 600;
            box-shadow: none;
        }
        .welcome-page .hero-popular-searches .popular-search-link:hover {
            border-color: #bfdbfe;
            color: #1d4ed8;
            background: #eff6ff;
        }

        @media (max-width: 899px) {
            .welcome-page section.hero.hero--v2 {
                background: #fff !important;
                background-image: none !important;
                padding: 28px 0 32px;
            }
            .welcome-page .hero--v2 .hero-v2-title {
                font-size: clamp(1.7rem, 7.2vw, 2.15rem) !important;
                letter-spacing: -0.03em !important;
            }
            .welcome-page .hero--v2 .hero-v2-lead {
                margin-top: 12px !important;
                font-size: 0.88rem !important;
                line-height: 1.5 !important;
                padding: 0 6px;
            }
            .welcome-page .hero-v2-copy {
                margin-bottom: 22px;
            }
            .welcome-page .hero-v2-badges {
                gap: 8px;
                margin-top: 16px;
            }
            .welcome-page .hero-v2-badge {
                font-size: 0.76rem;
                padding: 8px 12px;
            }
            .welcome-page .hero-v2-search-wrap {
                padding: 0 2px;
            }
            .welcome-page .hero-search-unified {
                flex-direction: column;
                align-items: stretch;
                border-radius: 16px;
                padding: 0;
                overflow: hidden;
                box-shadow: 0 10px 36px rgba(17, 24, 39, .1);
            }
            .welcome-page .hero-search-unified__city {
                width: 100%;
                box-sizing: border-box;
                justify-content: flex-start;
                padding: 15px 16px;
                border-bottom: 0;
                border-radius: 0;
            }
            .welcome-page .hero-search-unified__city .hero-search-unified__field {
                flex: 1 1 auto;
            }
            .welcome-page .hero-search-unified__field-label {
                display: none;
            }
            .welcome-page .hero-search-unified__city .hero-search-unified__field-value {
                flex: 1 1 auto;
                text-align: left;
                font-size: 1rem;
            }
            .welcome-page .hero-search-unified__city-caret {
                margin-left: auto;
                font-size: 0.8rem;
            }
            .welcome-page .hero-search-unified__divider {
                display: block;
                flex: 0 0 auto;
                align-self: center;
                width: calc(100% - 32px);
                height: 1px;
                min-height: 0;
                margin: 0;
                background: #e8eaef;
            }
            .welcome-page .hero-search-unified__query {
                width: 100%;
                box-sizing: border-box;
                margin: 0;
                padding: 14px 16px;
                border-bottom: 0;
            }
            .welcome-page .hero-search-unified__query-input {
                padding: 0 !important;
                margin: 0 !important;
                font-size: 0.94rem;
            }
            .welcome-page .hero-search-unified__submit {
                width: calc(100% - 24px);
                margin: 12px;
                min-height: 52px;
                padding: 0 20px;
                border-radius: 12px;
                gap: 10px !important;
                font-size: 1rem;
                font-weight: 700;
            }
            .welcome-page .hero-popular-searches {
                display: none;
            }
            .welcome-page .hero-v2-skyline-art__img {
                opacity: 0.3;
            }
        }

        @media (min-width: 900px) {
            .welcome-page .hero-v2-skyline-art {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                height: 100%;
                z-index: 0;
                align-items: stretch;
                justify-content: stretch;
            }
            .welcome-page .hero-v2-skyline-art__img {
                width: 100%;
                height: 100%;
                max-width: none;
                margin: 0;
                object-fit: cover;
                object-position: center top;
                opacity: 0.3;
                transform: none;
            }
            body.welcome-page:not(.listings-home-page--results) > section.hero.hero--v2 {
                flex: 0 0 auto;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                padding: 48px 0 56px !important;
                background: transparent !important;
                background-image: none !important;
            }

            body.welcome-page:not(.listings-home-page--results) > section.hero.hero--v2 > .container {
                flex: 0 0 auto;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
            }

            body.listings-home-page--results > section.hero.hero--v2-browse-results {
                background: transparent !important;
                background-image: none !important;
            }

            body.welcome-page.listings-home-page--results > .container:last-of-type {
                position: relative;
                z-index: 1;
            }

            .welcome-page .hero--v2 .hero-inner {
                justify-content: flex-start;
            }

            body.listings-home-page--results .hero-v2-skyline-art__img {
                opacity: 0.3;
            }

            .welcome-page .hero-search-unified {
                flex-direction: row;
                align-items: center;
                padding: 6px 15px 6px 12px;
            }
            .welcome-page .hero-search-unified__city {
                flex: 0 0 auto;
                padding: 0 20px 0 20px;
            }
            .welcome-page .hero-search-unified__divider {
                display: block;
                flex: 0 0 1px;
                align-self: stretch;
                width: 1px;
                min-height: 32px;
                margin: 25px 0;
                background: #e5e7eb;
            }
            .welcome-page .hero-search-unified__query--mobile {
                display: none;
            }
            .welcome-page .hero-search-unified__society--desktop {
                display: block;
                position: relative;
                flex: 1 1 auto;
                min-width: 0;
                margin: 0 0 0 18px;
            }
            .welcome-page section.hero.hero--v2:has(#hero-society-dd.open) {
                overflow: visible;
                z-index: 1500;
            }
            .welcome-page .hero-v2-search-wrap:has(#hero-society-dd.open) {
                z-index: 1501;
            }
            .welcome-page .hero-search-unified:has(#hero-society-dd.open) {
                overflow: visible;
            }
            .welcome-page .hero-search-unified__society--desktop.open {
                z-index: 1502;
            }
            .welcome-page .hero-search-unified__society--desktop .rz-dd-menu {
                display: block;
                max-height: 0;
                opacity: 0;
                overflow: hidden;
                margin-top: 0;
                padding-top: 0;
                padding-bottom: 0;
                pointer-events: none;
                visibility: hidden;
                transform: translateY(-6px);
                transition:
                    max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.22s ease,
                    margin-top 0.32s ease,
                    padding 0.32s ease,
                    transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                    visibility 0s linear 0.32s;
            }
            .welcome-page .hero-search-unified__society--desktop .rz-dd-menu.rz-dd-menu-multi--society-groups,
            .welcome-page .hero-search-unified__society--desktop .rz-dd-menu-multi {
                padding-top: 0;
                padding-bottom: 0;
            }
            .welcome-page .hero-search-unified__society--desktop.open .rz-dd-menu {
                max-height: 322px;
                opacity: 1;
                margin-top: 16px;
                padding: 14px 12px;
                pointer-events: auto;
                overflow-y: auto;
                visibility: visible;
                transform: translateY(0);
                transition:
                    max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.22s ease,
                    margin-top 0.32s ease,
                    padding 0.32s ease,
                    transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                    visibility 0s;
            }
            .welcome-page .hero-search-unified__society--desktop.open .rz-dd-menu.rz-dd-menu-multi--society-groups,
            .welcome-page .hero-search-unified__society--desktop.open .rz-dd-menu-multi {
                padding: 0;
            }
            .welcome-page .hero-search-unified__submit {
                flex: 0 0 auto;
                padding: 0 50px;
                min-height: 75px;
                border-radius: 15px;
                gap: 20px !important;
            }
        }

        @media (min-width: 980px) {
            body.welcome-page:not(.listings-home-page--results) > section.hero.hero--v2 {
                padding: 100px 0 64px !important;
            }
        }

        .listings-home-page--results .main.my-main > .layout.bz-layout {
            margin-top: 8px;
        }

        @media (min-width: 980px) {
            body.listings-home-page--results > section.hero.hero--v2-browse-results {
                flex: 0 0 auto;
                padding: 32px 0 18px !important;
                background: transparent !important;
                background-image: none !important;
                overflow: visible;
            }

            body.listings-home-page--results .hero-v2-search-wrap,
            body.listings-home-page--results .hero-search-unified {
                overflow: visible;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-menu-multi {
                padding: 0;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-item {
                display: flex;
                align-items: center;
                gap: 8px;
                padding: 8px 14px;
                font-size: 0.86rem;
                color: #374151;
                cursor: pointer;
                line-height: 1.3;
            }
            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-item--grouped {
                padding: 10px 14px 10px 38px;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-item input[type="checkbox"] {
                width: 14px;
                height: 14px;
                accent-color: #5a20e3;
                flex-shrink: 0;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-actions {
                display: flex;
                justify-content: flex-end;
                gap: 8px;
                padding: 6px 10px 4px;
                border-top: 1px solid #e2e8f0;
                margin-top: 4px;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-actions--top {
                justify-content: flex-end;
                padding: 8px 10px 6px;
                margin-top: 0;
                margin-bottom: 4px;
                border-top: 0;
                border-bottom: 1px solid #e2e8f0;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-clear {
                display: inline-flex;
                align-items: center;
                gap: 5px;
                border: 0;
                background: transparent;
                color: #5a20e3;
                font-size: 0.78rem;
                font-weight: 600;
                cursor: pointer;
                padding: 4px 6px;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-clear i {
                font-size: 0.82rem;
                line-height: 1;
            }

            body.listings-home-page--results .hero-search-unified__society--desktop .rz-dd-multi-done {
                border: 0;
                background: #5a20e3;
                color: #fff;
                font-size: 0.82rem;
                font-weight: 700;
                cursor: pointer;
                padding: 8px 18px;
                border-radius: 8px;
            }

            body.listings-home-page--results > section.hero.hero--v2-browse-results > .container {
                flex: 0 0 auto;
                display: block;
            }

            body.listings-home-page--results .hero--v2-browse-results .hero-v2-copy {
                margin-bottom: 22px;
            }

            body.listings-home-page--results .hero--v2-browse-results .hero-v2-title {
                font-size: 40px !important;
            }

            body.listings-home-page--results .hero--v2-browse-results .hero-v2-search-wrap {
                margin: 0 auto;
            }

            body.listings-home-page--results .main.my-main > .browse-head.bz-desktop-sort-head {
                display: flex !important;
                margin-top: 4px;
            }
        }

        /* Home results: mobile keeps browse-style search card (not hero v2) */
        @media (max-width: 979px) {
            body.welcome-page section.hero.hero--v2 {
                display: none !important;
            }

            body.welcome-page .home-mobile-search-container {
                display: block;
                flex: 1 0 auto;
                padding: 12px var(--rz-screen-gutter-x, 15px) 0;
            }

            body.listings-home-page--results .bz-search-card--home-mobile {
                display: block !important;
            }

            body.listings-home-page--results .bz-search-card--home-mobile .bz-browse-desktop-only {
                display: none !important;
            }

            body.listings-home-page--results .bz-search-card--home-mobile .bz-browse-search-mobile-form {
                display: flex !important;
            }
        }

        @media (min-width: 980px) {
            body.welcome-page .home-mobile-search-container {
                display: none !important;
            }

            body.listings-home-page--results .bz-search-card--home-mobile {
                display: none !important;
            }
        }

        .listings-home-page--results .bz-search-card--home-mobile .bz-browse-desktop-only {
            display: none !important;
        }

        @media (min-width: 980px) {
            .listings-home-page--results .layout.bz-layout {
                grid-template-columns: min(350px, 30vw) minmax(0, 1fr);
            }

            .listings-home-page--results .bz-sidebar {
                transform: none;
                visibility: visible;
                pointer-events: auto;
                width: auto;
                height: auto;
                overflow: visible;
                border-radius: 12px;
            }

            .listings-home-page--results .bz-sidebar .bz-top-row,
            .listings-home-page--results .bz-sidebar .bz-filters-head--desktop {
                display: flex !important;
            }

            .listings-home-page--results .bz-mobile-sidebar-head {
                display: none !important;
            }
        }

        .feature-strip {
            margin: 0 0 36px;
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            background: #fff;
            border: 0;
            border-radius: 0;
            box-shadow: 0 6px 24px rgba(15, 23, 42, 0.08);
            padding: 0;
            position: relative;
            z-index: 1;
        }
        .feature-strip-inner {
            width: 100%;
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 0;
            padding: 24px;
            box-sizing: border-box;
        }
        .feature {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 14px 0;
            border: 0;
            border-bottom: 1px solid #f1f5f9;
            min-width: 0;
        }
        .feature:last-child { border-bottom: 0; }
        .feature-icon {
            width: 56px;
            height: 56px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 56px;
        }
        .feature-icon i {
            font-size: 1.5rem;
            line-height: 1;
            display: block;
        }
        .feature-icon--verified { background: #e8f1ff; color: #2563eb; }
        .feature-icon--verified i { font-size: 1.55rem; }
        .feature-icon--support { background: #e8f8ef; color: #16a34a; }
        .feature-icon--support i { font-size: 1.4rem; }
        .feature-icon--secure { background: #f3ecff; color: #7c3aed; }
        .feature-icon--secure i { font-size: 1.35rem; }
        .feature-icon--customers { background: #fff3e6; color: #ea580c; }
        .feature-icon--customers i { font-size: 1.55rem; }
        .feature-copy {
            flex: 1;
            min-width: 0;
        }
        .feature-copy strong {
            display: block;
            font-size: .9375rem;
            font-weight: 700;
            color: #111827;
            margin-bottom: 6px;
            line-height: 1.2;
        }
        .feature-copy p {
            margin: 0;
            color: #64748b;
            font-size: .8125rem;
            line-height: 1.35;
        }

        .section { margin: 25px 0; border: 0; }
        .title-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
        .title-row h2 { margin: 0; font-size: 1.7rem; font-weight: 600; color: #111827; }
        .title-row a {
            color: #0b5fff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 400;
            background: #fff;
            padding: 16px 22px;
            line-height: 1;
            border-radius: 10px;
            border: 1px solid #0b5fff;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }
        .title-row a:hover {
            color: #fff;
            text-decoration: none;
            background: #0b5fff;
            border: 1px solid #0b5fff;
        }

        .thumb {
            position: relative;
            height: 168px;
            background: linear-gradient(135deg, #cbd5e1, #94a3b8);
        }
        .thumb-link {
            position: absolute;
            inset: 0;
            z-index: 1;
        }
        .fav { position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; border-radius: 8px; background: #fff; border: 1px solid #dbe1ea; display: grid; place-items: center; color: #64748b; font-size: .75rem; cursor: pointer; z-index: 3; }
        .fav.saved { color: #dc2626; border-color: #fecaca; background: #fff5f5; }
    
        .content h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 700;
            padding-bottom: 4px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .meta { color: #64748b; font-size: 12px; margin-top: 16px; }
        .meta a {
            color: #555;
            text-decoration: inherit;
            margin-left: -2px;
        }
        .meta a:hover { text-decoration: inherit; }
        .price {
            margin: 20px 0;
    font-size: 19px;
    font-weight: 700;
        }
        .price-month { font-size: .72rem; color: #94a3b8; font-weight: 500; }
        .specs:not(.listing-card-specs) {
    margin-top: 7px;
    color: #64748b;
            font-size: 13px;
    display: flex;
            gap: 10px;
    flex-wrap: wrap;
            border-top: 1px solid #eef2f7;
            padding-top: 15px;
        }
        .spec-item { display: inline-flex; align-items: center; gap: 4px; }

        .category-grid, .city-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
        .category-grid { padding-bottom: 50px; }
        .small-card {
            background: #fff;
            border: 0;
            border-radius: 10px;
            padding: 30px;
            text-align: center;
            box-shadow: 0 0px 30px rgba(0, 0, 0, .1);
        }
        .category-link {
            display: block;
            text-decoration: none;
            color: inherit;
        }
        .small-card .icon {
            width: 42px;
            height: 42px;
            border-radius: 999px;
            margin: 0 auto 9px;
            background: #f5f8ff;
            color: #2563eb;
            border: 1px solid #dbe7ff;
            display: grid;
            place-items: center;
            font-size: 1.05rem;
        }
        .small-card strong { display: block; font-size: .82rem; color: #0f172a; }
        .small-card span { color: #64748b; font-size: .7rem; margin-top: 2px; display: block; }

        .city-card { padding: 0; overflow: hidden; }
        .city-card .city-image { height: 86px; background: linear-gradient(135deg, #93c5fd, #64748b); }
        .city-card .city-body { padding: 8px; text-align: center; }
        .city-card strong { font-size: .86rem; }
        .city-card span { color: #64748b; font-size: .72rem; }

        .rz-newsletter-section {
            padding: 0;
            background: #edf1f7;
            margin-top: 24px;
            border: 0;
            border-radius: 8px;
            width: 100%;
            margin-left: 0;
            margin-right: 0;
        }
        .rz-newsletter-container {
            max-width: 1440px;
            margin: auto;
            padding: 0 24px;
        }
        .rz-newsletter-box {
            background: transparent;
            border-radius: 8px;
            padding: 18px 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 18px;
        }
        .rz-newsletter-left {
    display: inline-flex;
    align-items: center;
            gap: 14px;
            min-width: 0;
        }
        .rz-newsletter-image {
            width: 180px;
            height: auto;
            display: block;
            flex: 0 0 auto;
            background: transparent;
        }
        .rz-newsletter-content h2 {
            font-size: 1.9rem;
            font-weight: 700;
            margin: 0 0 6px;
            line-height: 1.2;
        }
        .rz-newsletter-content p {
            color: #6b7280;
            font-size: .95rem;
            max-width: 360px;
            margin: 0;
        }
        .rz-newsletter-form {
            display: flex;
            align-items: center;
            background: transparent;
            border: 0;
            border-radius: 0;
            padding: 0;
            min-width: 430px;
            gap: 12px;
        }
        .rz-newsletter-form input {
            border: 1px solid #d6dbe5;
            outline: none;
            padding: 14px 16px;
            font-size: 16px;
            background: #fff;
            width: 100%;
            min-width: 320px;
            border-radius: 10px;
        }
        .rz-newsletter-form button {
            background: #2563eb;
            color: #fff;
            border: none;
            padding: 14px 38px;
            border-radius: 10px;
            font-weight: 600;
            transition: 0.3s;
            cursor: pointer;
            font-size: 16px;
        }
        .rz-newsletter-form button:hover {
            background: #1e4fd8;
        }
        .profile-menu { position: relative; }
        .profile-menu summary { list-style: none; }
        .profile-menu summary::-webkit-details-marker { display: none; }
        .avatar-btn {
            width: 38px;
            height: 38px;
            border-radius: 999px;
            border: 1px solid #bfdbfe;
            background: #dbeafe;
            color: #1d4ed8;
            font-weight: 700;
            display: grid;
            place-items: center;
            cursor: pointer;
        }
        .avatar-btn img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 999px;
            display: block;
        }
        .profile-dropdown {
            position: absolute;
            right: 0;
            top: calc(100% + 8px);
            width: 170px;
            background: #fff;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            box-shadow: 0 12px 22px rgba(15, 23, 42, .12);
            padding: 6px;
            z-index: 20;
            display: grid;
            gap: 3px;
        }
        .profile-item {
            width: 100%;
            border: 0;
            background: #fff;
            text-align: left;
            border-radius: 8px;
            padding: 8px 10px;
            color: #334155;
            text-decoration: none;
            font-size: .84rem;
            cursor: pointer;
        }
        .profile-item:hover { background: #f1f5f9; }
        .profile-item.logout {
            color: #b91c1c;
            font-weight: 600;
        }

        footer { margin-top: 26px; background: #fff; border-top: 1px solid var(--line); padding: 20px 0 30px; color: #64748b; }
        .footer-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
        .footer-brand { color: #1d4ed8; font-size: 1.2rem; font-weight: 700; }
        .footer-links { display: grid; gap: 7px; font-size: .85rem; color: #475569; }
        .copyright { margin-top: 18px; border-top: 1px solid #e2e8f0; padding-top: 12px; font-size: .78rem; }

        @media (min-width: 769px) {
            .links { display: flex; }
            .search-grid { grid-template-columns: repeat(3, 1fr) auto; }
            .feature-strip-inner {
                flex-direction: row;
                align-items: center;
                gap: 32px;
                padding: 28px 40px;
            }
            .feature {
                flex: 1 1 0;
                border-bottom: 0;
                padding: 0;
                gap: 16px;
            }
            .category-grid { grid-template-columns: repeat(3, 1fr); }
            .city-grid { grid-template-columns: repeat(3, 1fr); }
            .footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
        }
        @media (max-width: 768px) {
            .hero:not(.hero--v2) {
                min-height: 0;
                padding: 28px 30px 32px;
            }
            .rz-newsletter-box {
                flex-direction: column;
                align-items: flex-start;
                padding: 18px 14px;
            }
            .rz-newsletter-left { width: 100%; }
            .rz-newsletter-form {
                width: 100%;
                margin-top: 15px;
                min-width: 0;
                flex-direction: column;
                align-items: stretch;
            }
            .rz-newsletter-form input {
                width: 100%;
                min-width: 0;
            }
            .rz-newsletter-form button { width: 100%; }
            .rz-newsletter-image { width: 120px; }
            .rz-newsletter-content h2 { font-size: 1.35rem; }
        }
        @media (min-width: 980px) {
            .hero:not(.hero--v2) {
                padding: 78px 56px;
            }
        }
        @media (min-width: 1080px) {
            .category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
            .city-grid { grid-template-columns: repeat(6, 1fr); }
        }

/* —— List your property – Step 1 (create) high-fidelity layout —— */
body.listings-create-page {
    background: #fff;
    min-height: 100vh;
}
.listings-create-page .lyp-layout {
    margin: 32px 0 40px;
    width: 100%;
    gap: 32px;
    align-items: start;
}
@media (min-width: 980px) {
    .listings-create-page .lyp-layout {
        grid-template-columns: 280px minmax(0, 1fr);
    }
}
.listings-create-page .lyp-main {
    min-width: 0;
}

/* Same inset as Saved / Your Properties / profile editor. */
.listing-wishlist-page .layout > .main,
.listings-my-page .layout > .main.my-main,
.listings-index-page .layout > .main.my-main,
.listings-create-page .layout > .main.lyp-main {
    padding: 0;
}
/* List-property flow: same outer card chrome as Your Properties (`main.my-main`). */
.listings-create-page .layout > .main.lyp-main {
    background: #fff;
    border: 0px solid #e4e9f2;
    border-radius: 0px;
    box-shadow: none;
}
@media (max-width: 979px) {
    .listings-create-page .layout > .main.lyp-main {
        padding: var(--rz-main-padding-mobile);
    }
    .listings-create-page .lyp-layout {
        margin: 24px 0 32px;
    }
}
/* Stepper hidden for now — styles kept below for when re-enabled */
.listings-create-page .lyp-stepper {
    display: none !important;
}
.listings-create-page .lyp-stepper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0 0 20px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.listings-create-page .lyp-step {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
}
.listings-create-page .lyp-step:last-child {
    border-bottom: 0;
}
.listings-create-page .lyp-step-num {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}
.listings-create-page .lyp-step.is-active .lyp-step-num {
    background: #0b6bff;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(11, 107, 255, 0.15);
}
.listings-create-page .lyp-step-text strong {
    display: block;
    font-size: 0.88rem;
    color: #334155;
    font-weight: 700;
}
.listings-create-page .lyp-step:not(.is-active) .lyp-step-text strong {
    color: #64748b;
    font-weight: 600;
}
.listings-create-page .lyp-step-text span {
    display: block;
    margin-top: 4px;
    font-size: 0.76rem;
    color: #94a3b8;
    line-height: 1.35;
}
.listings-create-page .lyp-step.is-active .lyp-step-text span {
    color: #64748b;
}
@media (min-width: 900px) {
    .listings-create-page .lyp-stepper {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 20px;
        align-items: stretch;
        padding: 22px 28px;
    }
    .listings-create-page .lyp-step {
        padding: 8px 16px 8px 0;
        border-bottom: 0;
        position: relative;
    }
    .listings-create-page .lyp-step::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 1px;
        height: 40px;
        background: #e2e8f0;
    }
    .listings-create-page .lyp-step:last-child::after {
        display: none;
    }
    .listings-create-page .lyp-step.is-active .lyp-step-num {
        box-shadow: 0 0 0 4px rgba(11, 107, 255, 0.15);
    }
}
.listings-create-page .lyp-content-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
}
@media (min-width: 1100px) {
    .listings-create-page .lyp-content-wrap {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 24px;
    }

    .listings-create-page .lyp-sidebar.tips-col {
        position: sticky;
        top: 88px;
        align-self: start;
    }
}
.listings-create-page .lyp-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 28px 28px 32px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
/* Step headings & descriptions — shared across steps 1–3 */
.listings-create-page .lyp-card-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.listings-create-page .lyp-card-lead,
.listings-create-page .lyp-card-head .subtitle {
    margin: 6px 0 0;
    font-size: 0.875rem;
    color: #64748b;
    max-width: none;
    line-height: 1.45;
}
.listings-create-page .lyp-card-head:not(.lyp-page-head):not(.lyp-review-page-head) {
    margin-bottom: 18px;
}
.listings-create-page .lyp-card-head.lyp-page-head {
    margin-bottom: 28px;
}
.listings-create-page .lyp-section-head,
.listings-create-page .lyp-subsection {
    margin: 0 0 4px;
    padding: 0;
}
.listings-create-page .lyp-section-head-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.listings-create-page .lyp-section-head__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.listings-create-page .lyp-section-head__icon--property,
.listings-create-page .lyp-section-head__icon--default {
    background: #f5f3ff;
    color: #7c3aed;
}
.listings-create-page .lyp-section-head__icon--location {
    background: #eff6ff;
    color: #0b6bff;
}
.listings-create-page .lyp-section-head__icon--owner {
    background: #ecfdf5;
    color: #059669;
}
.listings-create-page .lyp-section-title,
.listings-create-page .lyp-subsection-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.listings-create-page .lyp-form-grid {
    display: grid;
    gap: 14px 18px;
    grid-template-columns: 1fr;
}
@media (min-width: 769px) {
    .listings-create-page .lyp-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .listings-create-page .lyp-form-grid .lyp-span-full {
        grid-column: 1 / -1;
    }
    .listings-create-page .lyp-three-cols {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px 18px;
    }
}
.listings-create-page .lyp-three-cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
/* Full-width rows: property type, BHK+baths, rent+deposit */
.listings-create-page .lyp-form-grid > .lyp-two-cols {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}
.listings-create-page .lyp-two-cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    align-items: start;
}
.listings-create-page .lyp-two-cols > .field {
    min-width: 0;
}
.listings-create-page .field {
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: inherit;
    color: inherit;
    background: transparent;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}
.listings-create-page .lyp-form .field label {
    display: block;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.3;
}
.listings-create-page .lyp-form .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="date"]),
.listings-create-page .lyp-form .field .lyp-date-display,
.listings-create-page .lyp-form .field select,
.listings-create-page .lyp-form .field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #d9e2ee;
    border-radius: 8px;
    padding: 10px 12px;
    min-height: var(--rz-field-min-height);
    font-size: 0.9rem;
    line-height: 1.25;
    font-weight: 500;
    color: #0f172a;
    background-color: #fff;
    -webkit-appearance: none;
    appearance: none;
}
.listings-create-page .lyp-form .field input[readonly] {
    background-color: #f8fafc;
    color: #475569;
    cursor: default;
}
.listings-create-page .lyp-form .lyp-field-hint {
    margin: 6px 0 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #64748b;
}
.listings-create-page .lyp-form .lyp-field-hint--align-right {
    text-align: right;
}
.listings-create-page .lyp-form .lyp-field-hint--clickable {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    text-align: right;
    transition: color 0.15s ease;
}
.listings-create-page .lyp-form .lyp-field-hint--clickable:hover {
    color: #2563eb;
    text-decoration: underline;
}
.listings-create-page .lyp-form .lyp-verify-email-action {
    margin-top: 0;
    text-align: right;
}
.listings-create-page .lyp-form .lyp-verify-email-action form {
    margin: 0;
}
.listings-create-page .lyp-form .lyp-verify-email-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 600;
    font-family: inherit;
    color: #2563eb;
    text-decoration: underline;
    cursor: pointer;
    text-align: right;
    line-height: 1.45;
}
.listings-create-page .lyp-form .lyp-verify-email-link:hover {
    color: #1d4ed8;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap {
    position: relative;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap > input {
    padding-right: 108px !important;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap--verified > input {
    padding-right: 100px !important;
}
.listings-create-page .lyp-form .lyp-phone-update-action {
    margin-top: 0;
    text-align: right;
}
.listings-create-page .lyp-form .lyp-phone-update-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    text-align: right;
    line-height: 1.45;
}
.listings-create-page .lyp-form .lyp-phone-update-muted {
    color: #64748b;
    text-decoration: none;
}
.listings-create-page .lyp-form .lyp-phone-update-cta {
    color: #2563eb;
    font-weight: 600;
    text-decoration: underline;
}
.listings-create-page .lyp-form .lyp-phone-update-link:hover .lyp-phone-update-cta {
    color: #1d4ed8;
}
.listings-create-page .lyp-form .lyp-phone-update-link:hover .lyp-phone-update-muted {
    color: #475569;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap {
    position: relative;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap > input {
    padding-right: 108px !important;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap--verified > input {
    padding-right: 100px !important;
}
.listings-create-page .lyp-form .lyp-email-status-tag {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
    pointer-events: none;
}
.listings-create-page .lyp-form .lyp-email-status-tag--unverified {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
.listings-create-page .lyp-form .lyp-email-status-tag--verified {
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
}
.listings-create-page .lyp-form .lyp-email-status-tag--verified .bi {
    font-size: 0.72rem;
    line-height: 1;
}
.listings-create-page .lyp-form .lyp-verify-email-action {
    margin-top: 0;
    text-align: right;
}
.listings-create-page .lyp-form .lyp-verify-email-action form {
    margin: 0;
}
.listings-create-page .lyp-form .lyp-verify-email-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 600;
    font-family: inherit;
    color: #2563eb;
    text-decoration: underline;
    cursor: pointer;
    text-align: right;
    line-height: 1.45;
}
.listings-create-page .lyp-form .lyp-verify-email-link:hover {
    color: #1d4ed8;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap {
    position: relative;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap > input {
    padding-right: 108px !important;
}
.listings-create-page .lyp-form .lyp-phone-infield-wrap--verified > input {
    padding-right: 100px !important;
}
.listings-create-page .lyp-form .lyp-phone-update-action {
    margin-top: 0;
    text-align: right;
}
.listings-create-page .lyp-form .lyp-phone-update-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.86rem;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    text-align: right;
    line-height: 1.45;
}
.listings-create-page .lyp-form .lyp-phone-update-muted {
    color: #64748b;
    text-decoration: none;
}
.listings-create-page .lyp-form .lyp-phone-update-cta {
    color: #2563eb;
    font-weight: 600;
    text-decoration: underline;
}
.listings-create-page .lyp-form .lyp-phone-update-link:hover .lyp-phone-update-cta {
    color: #1d4ed8;
}
.listings-create-page .lyp-form .lyp-phone-update-link:hover .lyp-phone-update-muted {
    color: #475569;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap {
    position: relative;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap > input {
    padding-right: 108px !important;
}
.listings-create-page .lyp-form .lyp-email-infield-wrap--verified > input {
    padding-right: 100px !important;
}
.listings-create-page .lyp-form .lyp-email-status-tag {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
    pointer-events: none;
}
.listings-create-page .lyp-form .lyp-email-status-tag--unverified {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
.listings-create-page .lyp-form .lyp-email-status-tag--verified {
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
}
.listings-create-page .lyp-form .lyp-email-status-tag--verified .bi {
    font-size: 0.72rem;
    line-height: 1;
}
.listings-create-page .lyp-form .field select {
    padding-right: 36px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6L8 9.5 11.5 6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
    text-align: left;
    text-align-last: left;
}
.listings-create-page .lyp-form .field select:disabled {
    cursor: not-allowed;
    opacity: 0.72;
    background-color: #f8fafc;
}
.lyp-available-rooms-field[hidden] {
    display: none !important;
}
.listings-create-page .lyp-available-rooms-field.is-visible,
.listings-add-property-page .lyp-available-rooms-field.is-visible {
    display: flex;
}
.listings-create-page .lyp-field-locality select:disabled {
    opacity: 1;
    color: #94a3b8;
    -webkit-text-fill-color: #94a3b8;
    background-color: #f1f5f9;
    border-color: #e2e8f0;
    cursor: not-allowed;
    font-weight: 400;
}
.listings-create-page .lyp-field-locality input:disabled {
    opacity: 1;
    color: #94a3b8;
    -webkit-text-fill-color: #94a3b8;
    background-color: #f1f5f9;
    border-color: #e2e8f0;
    cursor: not-allowed;
    font-weight: 400;
}
.listings-create-page .lyp-field-locality .lyp-custom-select-trigger:disabled {
    opacity: 1;
    color: #94a3b8;
    background-color: #f1f5f9;
    border-color: #e2e8f0;
    cursor: not-allowed;
}
.listings-create-page .lyp-field-locality .lyp-custom-select-value.is-placeholder {
    color: #94a3b8;
}
.listings-create-page .lyp-form .field select option {
    padding: 8px 12px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
    background: #fff;
}
.listings-create-page .lyp-form .field textarea {
    min-height: 120px;
    resize: vertical;
}
.listings-create-page .lyp-label-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.listings-create-page .lyp-info-trigger {
    border: 0;
    background: transparent;
    padding: 0;
    color: #94a3b8;
    cursor: help;
    line-height: 1;
    vertical-align: middle;
}
.listings-create-page .lyp-info-trigger:hover {
    color: #0b6bff;
}
.listings-create-page .lyp-currency {
    display: flex;
    align-items: stretch;
    min-height: var(--rz-field-min-height);
    border: 1px solid #d9e2ee;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.listings-create-page .lyp-currency-prefix {
    display: flex;
    align-items: center;
    padding: 0 10px;
    background: #f8fafc;
    color: #475569;
    font-weight: 600;
    font-size: 0.9rem;
    border-right: 1px solid #e2e8f0;
}
.listings-create-page .lyp-currency input {
    border: 0 !important;
    border-radius: 0 !important;
    min-height: var(--rz-field-min-height);
    flex: 1;
}
.listings-create-page .lyp-form .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="date"])::placeholder,
.listings-create-page .lyp-form .field textarea::placeholder,
.listings-create-page .lyp-form .lyp-date-wrap .lyp-date-display::placeholder {
    color: #94a3b8;
    opacity: 1;
}
.listings-create-page .lyp-form .field select:required:invalid {
    color: #94a3b8;
    -webkit-text-fill-color: #94a3b8;
    font-weight: 400;
}
.listings-create-page .lyp-field-date,
.listings-create-page .lyp-field-date .lyp-date-wrap {
    min-width: 0;
    max-width: 100%;
}
.listings-create-page .lyp-date-wrap {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}
.listings-create-page .lyp-date-wrap .lyp-date-display {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-right: 44px !important;
    cursor: pointer;
    box-sizing: border-box;
}
.listings-create-page .lyp-date-wrap .lyp-date-display.is-empty {
    color: #94a3b8;
    font-weight: 400;
}
.listings-create-page .lyp-date-wrap .lyp-date-native {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    pointer-events: none;
}
.listings-create-page .lyp-date-wrap .lyp-date-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.05rem;
    color: #64748b;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
}
.listings-add-property-page .lyp-date-wrap .lyp-date-display {
    padding-right: 44px !important;
}
body.lyp-date-calendar-open {
    overflow: hidden;
}
body.lyp-date-calendar-open .listings-add-property-page .lyp-mobile-footer {
    visibility: hidden;
    pointer-events: none;
}
.listings-create-page .lyp-date-calendar {
    position: fixed;
    inset: 0;
    z-index: 2600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.listings-create-page .lyp-date-calendar[hidden] {
    display: none !important;
}
.listings-create-page .lyp-date-calendar-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.listings-create-page .lyp-date-calendar-sheet {
    position: relative;
    z-index: 1;
    width: min(400px, 100%);
    max-width: 100%;
    max-height: min(90dvh, calc(100dvh - 32px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    padding: 16px 16px max(20px, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
}
.listings-create-page .lyp-date-calendar-handle {
    display: none;
}
.listings-create-page .lyp-date-calendar-head {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}
.listings-create-page .lyp-date-calendar-month {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}
.listings-create-page .lyp-date-calendar-nav {
    width: 40px;
    height: 40px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
}
.listings-create-page .lyp-date-calendar-nav:hover:not(:disabled) {
    background: #f8fafc;
    border-color: #cbd5e1;
}
.listings-create-page .lyp-date-calendar-nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.listings-create-page .lyp-date-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 8px;
    text-align: center;
    font-size: 0.72rem;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.02em;
}
.listings-create-page .lyp-date-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}
.listings-create-page .lyp-date-calendar-cell {
    min-height: 42px;
}
.listings-create-page .lyp-date-calendar-cell--empty {
    min-height: 42px;
}
.listings-create-page .lyp-date-calendar-day {
    width: 100%;
    min-height: 42px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
}
.listings-create-page .lyp-date-calendar-day:hover:not(.is-disabled):not(.is-selected) {
    background: #f1f5f9;
}
.listings-create-page .lyp-date-calendar-day.is-disabled {
    color: #cbd5e1;
    cursor: not-allowed;
    pointer-events: none;
    font-weight: 500;
}
.listings-create-page .lyp-date-calendar-day.is-today:not(.is-disabled):not(.is-selected) {
    box-shadow: inset 0 0 0 1.5px #2563eb;
    color: #2563eb;
}
.listings-create-page .lyp-date-calendar-day.is-selected {
    background: #2563eb;
    color: #fff;
}
@media (min-width: 980px) {
    .listings-create-page .lyp-date-calendar {
        display: none !important;
    }
}
.listings-create-page .lyp-custom-select {
    position: relative;
    width: 100%;
    z-index: 1;
}
.listings-create-page .lyp-custom-select.is-open {
    z-index: 120;
}
.listings-create-page .lyp-custom-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: var(--rz-field-min-height);
    padding: 10px 12px;
    border: 1px solid #d9e2ee;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
}
.listings-create-page .lyp-custom-select-trigger:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
.listings-create-page .lyp-custom-select-value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.listings-create-page .lyp-custom-select-trigger .bi {
    color: #64748b;
    font-size: 0.85rem;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}
.listings-create-page .lyp-custom-select.is-open .lyp-custom-select-trigger .bi {
    transform: rotate(180deg);
}
.listings-create-page .lyp-custom-select-value.is-placeholder {
    color: #94a3b8;
    font-weight: 400;
}
.listings-create-page .lyp-custom-select-menu {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    border: 1px solid #d9e2ee;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    max-height: min(240px, 50vh);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 121;
}
.listings-create-page .lyp-custom-select-menu[hidden] {
    display: none !important;
}
.listings-create-page .lyp-custom-select-option {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    background: #fff;
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
}
.listings-create-page .lyp-custom-select-option[aria-selected="true"],
.listings-create-page .lyp-custom-select-option:hover {
    background: #f0f6ff;
    color: #1a56db;
}
.listings-create-page .lyp-bhk-field {
    padding-top: 4px;
}
.listings-create-page .lyp-bhk-label {
    display: block;
    margin-bottom: 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
}
.listings-create-page .lyp-bhk-chips {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}
.listings-create-page .lyp-bhk-chip {
    position: relative;
    margin: 0;
    min-width: 0;
    cursor: pointer;
}
.listings-create-page .lyp-bhk-chip input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}
.listings-create-page .lyp-bhk-chip-ui {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--rz-field-min-height);
    padding: 10px 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.listings-create-page .lyp-bhk-chip input:checked + .lyp-bhk-chip-ui {
    background: #f0f6ff;
    border-color: #1a56db;
    color: #1a56db;
}
.listings-create-page .lyp-bhk-chip input:focus-visible + .lyp-bhk-chip-ui {
    outline: 2px solid #1a56db;
    outline-offset: 2px;
}
.listings-create-page .lyp-radio-segmented {
    padding: 10px 12px;
    border: 0;
    border-radius: inherit;
    background: none;
    gap: 27px;
}
.listings-create-page .lyp-radio-inline {
    gap: 24px;
}
.listings-create-page .lyp-subsection {
    margin-top: 12px;
    padding-top: 4px;
}
.listings-create-page textarea#description {
    min-height: 120px;
    resize: vertical;
    line-height: 1.45;
}
.listings-create-page .lyp-char-count {
    text-align: right;
    font-size: 0.74rem;
    color: #94a3b8;
    margin-top: 4px;
}
.listings-create-page .lyp-actions {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #e8edf5;
    justify-content: flex-end;
    gap: 12px;
}
.listings-create-page .lyp-btn-cancel {
    border: 1px solid #d6ddeb;
    background: #fff;
    color: #475569;
    min-width: 100px;
    border-radius: 10px;
    font-weight: 600;
    padding: 12px 24px;
}
.listings-create-page .lyp-btn-primary {
    min-width: 148px;
    border: 0;
    background: var(--rz-btn-primary-bg);
    border-color: transparent;
    color: #fff;
    border-radius: 10px;
    padding: 12px 28px;
    font-weight: 700;
}
.listings-create-page .lyp-btn-primary:hover {
    background: var(--rz-btn-primary-bg-hover);
    border-color: transparent;
    color: #fff;
}
.listings-create-page .lyp-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.listings-create-page .lyp-tips-card {
    margin-top: 0;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 22px 20px 16px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.listings-create-page .lyp-tips-card h3 {
    margin: 0 0 16px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-tips-card .tip-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
}
.listings-create-page .lyp-tips-card .tip-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.listings-create-page .lyp-tips-card .tip-item > div:last-child {
    flex: 1;
    min-width: 0;
}
.listings-create-page .lyp-tips-card .tip-item strong {
    display: block;
    margin-bottom: 4px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}
.listings-create-page .lyp-tips-card .tip-item span {
    display: block;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}
.listings-create-page .lyp-tips-card .tip-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 0;
    background: #f5f3ff;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    line-height: 1;
}
.listings-create-page .lyp-tips-card .tip-icon i {
    display: block;
    line-height: 1;
}
.listings-create-page .lyp-tips-card .tip-icon .bi-camera {
    font-size: 1.05rem;
}
.listings-create-page .lyp-tips-card .tip-item:nth-child(2) .tip-icon {
    background: #eff6ff;
    color: #2563eb;
}
.listings-create-page .lyp-tips-card .tip-item:nth-child(3) .tip-icon {
    background: #ecfdf5;
    color: #16a34a;
}
.listings-create-page .lyp-tips-card .tip-item:nth-child(4) .tip-icon {
    background: #fff7ed;
    color: #ea580c;
}
.listings-create-page .lyp-tips-card .tip-item:nth-child(5) .tip-icon {
    background: #fce7f3;
    color: #db2777;
}
@media (min-width: 980px) {
    .listings-create-page .lyp-live-preview-stat .bi-camera {
        padding-right: 7px;
    }
}
.listings-create-page .lyp-draft-saved-banner {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0 0 20px;
    padding: 0;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #f0f7ff;
    overflow: hidden;
}
.listings-create-page .lyp-draft-saved-banner__main {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 14px;
    padding: 23px 25px;
}
.listings-create-page .lyp-draft-saved-banner__icon {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #dbeafe;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}
.listings-create-page .lyp-draft-saved-banner__body {
    min-width: 0;
    flex: 1;
}
.listings-create-page .lyp-draft-saved-banner__icon-check {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #fff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
    box-shadow: 0 0 0 2px #f0f7ff;
}
.listings-create-page .lyp-draft-saved-banner__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 6px;
}
.listings-create-page .lyp-draft-saved-banner__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e3a8a;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-saved-banner__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid #86efac;
    background: #ecfdf5;
    color: #15803d;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-saved-banner__badge .bi {
    font-size: 0.72rem;
}
.listings-create-page .lyp-draft-saved-banner__text {
    margin: 0 0 8px;
    font-size: 0.8rem;
    color: #475569;
    line-height: 1.45;
}
.listings-create-page .lyp-draft-saved-banner__time {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.3;
}
.listings-create-page .lyp-draft-saved-banner__time .bi {
    font-size: 0.78rem;
}
.listings-create-page .lyp-draft-saved-banner__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    margin: 23px 0;
    padding: 14px 16px 16px;
    border-top: 1px solid #dbeafe;
    background: none;
}
.listings-create-page .lyp-draft-saved-banner__btn {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    align-items: center;
    column-gap: 8px;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #2b64f1 0%, #6366f1 52%, #8e2de2 100%);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(43, 100, 241, 0.28);
    box-sizing: border-box;
}
.listings-create-page .lyp-draft-saved-banner__btn:hover {
    background: linear-gradient(90deg, #2457d9 0%, #5558e3 52%, #7c28c9 100%);
    color: #fff;
}
.listings-create-page .lyp-draft-saved-banner__btn-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}
.listings-create-page .lyp-draft-saved-banner__btn-chevron--right {
    grid-column: 3;
    justify-self: end;
}
.listings-create-page .lyp-draft-saved-banner__btn-chevron .bi {
    font-size: 1rem;
    line-height: 1;
}
.listings-create-page .lyp-draft-saved-banner__btn-label {
    grid-column: 2;
    justify-self: center;
    text-align: center;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-saved-banner__delete-form {
    margin: 0;
    display: flex;
    justify-content: center;
    width: 100%;
}
.listings-create-page .lyp-draft-saved-banner__delete {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #fecaca;
    border-radius: 999px;
    background: transparent;
    color: #dc2626;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    font-family: inherit;
    box-shadow: none;
    box-sizing: border-box;
}
.listings-create-page .lyp-draft-saved-banner__delete:hover {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #b91c1c;
}
.listings-create-page .lyp-draft-saved-banner__delete-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-saved-banner__delete-inner .bi {
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
    color: currentColor;
}
.listings-create-page .lyp-draft-saved-banner__delete-label {
    text-decoration: none;
}
@media (min-width: 721px) {
    .listings-create-page .lyp-draft-saved-banner {
        flex-direction: row;
        align-items: stretch;
    }
    .listings-create-page .lyp-draft-saved-banner__main {
        padding: 23px 25px;
    }
    .listings-create-page .lyp-draft-saved-banner__actions {
        flex-shrink: 0;
        width: auto;
        min-width: 200px;
        margin: 0;
        padding: 18px 20px;
        border-top: 0;
        border-left: 1px solid #dbeafe;
        align-items: center;
    }
    .listings-create-page .lyp-draft-saved-banner__btn {
        width: auto;
        min-width: 188px;
    }
    .listings-create-page .lyp-draft-saved-banner__delete {
        width: auto;
        min-width: 188px;
    }
}
/* Delete draft confirmation modal (List Your Property) */
body.lyp-draft-delete-modal-open {
    overflow: hidden;
}
.listings-create-page .lyp-draft-delete-modal-root {
    position: fixed;
    inset: 0;
    z-index: 2400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.listings-create-page .lyp-draft-delete-modal-root[hidden] {
    display: none !important;
}
.listings-create-page .lyp-draft-delete-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.listings-create-page .lyp-draft-delete-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(440px, 100%);
    max-width: 100%;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    padding: 28px 28px 24px;
    box-sizing: border-box;
    text-align: center;
}
.listings-create-page .lyp-draft-delete-modal-x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
}
.listings-create-page .lyp-draft-delete-modal-x:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.listings-create-page .lyp-draft-delete-modal-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 16px;
    border-radius: 999px;
    background: #fce7f3;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}
.listings-create-page .lyp-draft-delete-modal-title {
    margin: 0 0 10px;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.listings-create-page .lyp-draft-delete-modal-text {
    margin: 0 0 22px;
    font-size: 0.88rem;
    color: #64748b;
    line-height: 1.5;
    max-width: 32em;
    margin-left: auto;
    margin-right: auto;
}
.listings-create-page .lyp-draft-delete-modal-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.listings-create-page .lyp-draft-delete-modal-form {
    margin: 0;
    display: inline-flex;
}
.listings-create-page .lyp-draft-delete-modal-cancel {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-delete-modal-cancel:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}
.listings-create-page .lyp-draft-delete-modal-submit {
    border: 1px solid #dc2626;
    background: #dc2626;
    color: #fff;
    border-radius: 10px;
    padding: 10px 18px;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
}
.listings-create-page .lyp-draft-delete-modal-submit:hover {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}
@media (max-width: 480px) {
    .listings-create-page .lyp-draft-delete-modal-dialog {
        padding: 24px 20px 20px;
    }
    .listings-create-page .lyp-draft-delete-modal-actions {
        flex-direction: column;
        width: 100%;
    }
    .listings-create-page .lyp-draft-delete-modal-form,
    .listings-create-page .lyp-draft-delete-modal-cancel,
    .listings-create-page .lyp-draft-delete-modal-submit {
        width: 100%;
    }
}
.listings-create-review-page .review-desc {
    margin: 12px 0 0;
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.5;
}

/* Add Property – mobile hub UI (matches list-property mock) */
.listings-add-property-page .lyp-mobile-chrome {
    display: none;
}
.listings-add-property-page .lyp-step-icon {
    display: none;
}
.listings-add-property-page .lyp-step-trail {
    display: none;
}

@media (min-width: 980px) {
    .listings-add-property-page .lyp-stepper.lyp-desktop-only {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin: 0 0 24px;
        padding: 28px 16px;
        background: #fff;
        border: 1px solid #e8edf5;
        border-radius: 12px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .listings-add-property-page .lyp-stepper .lyp-step {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        padding: 4px 20px;
        margin: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        text-align: center;
        position: relative;
    }

    .listings-add-property-page .lyp-stepper .lyp-step::after {
        content: "";
        position: absolute;
        top: 8px;
        bottom: 8px;
        right: 0;
        width: 0;
        border-right: 1px dashed #d5dde8;
        background: none;
        transform: none;
        height: auto;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:last-child::after {
        display: none;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border-radius: 999px;
        font-size: 1.35rem;
        flex-shrink: 0;
        order: 1;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-trail {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        order: 2;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-trail .bi-chevron-right {
        display: none;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-trail .lyp-step-num {
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 999px;
        font-size: 0.88rem;
        font-weight: 700;
        border: 0;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-text {
        order: 3;
        flex: 0 0 auto;
        min-width: 0;
        max-width: 220px;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-text strong {
        font-size: 0.95rem;
        font-weight: 800;
        color: #0f172a;
    }

    .listings-add-property-page .lyp-stepper .lyp-step-text span {
        margin-top: 4px;
        font-size: 0.8rem;
        color: #64748b;
        line-height: 1.4;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(1) .lyp-step-icon {
        background: #eff6ff;
        color: #2563eb;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(1) .lyp-step-trail .lyp-step-num {
        background: #2563eb;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(2) .lyp-step-icon {
        background: #ecfdf5;
        color: #059669;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(2) .lyp-step-trail .lyp-step-num {
        background: #10b981;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(3) .lyp-step-icon {
        background: #f5f3ff;
        color: #7c3aed;
    }

    .listings-add-property-page .lyp-stepper .lyp-step:nth-child(3) .lyp-step-trail .lyp-step-num {
        background: #7c3aed;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-done .lyp-step-trail .lyp-step-num {
        background: #10b981;
        color: #fff;
        font-size: 0;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-done .lyp-step-trail .lyp-step-num i {
        font-size: 0.95rem;
        line-height: 1;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-done:nth-child(1) .lyp-step-icon {
        background: #eff6ff;
        color: #2563eb;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-active .lyp-step-trail .lyp-step-num {
        box-shadow: none;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-active:nth-child(1) .lyp-step-trail .lyp-step-num {
        background: #2563eb;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-active:nth-child(2) .lyp-step-trail .lyp-step-num {
        background: #10b981;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper .lyp-step.is-active:nth-child(3) .lyp-step-trail .lyp-step-num {
        background: #7c3aed;
        color: #fff;
    }

    .listings-add-property-page .lyp-stepper a.lyp-step--link {
        color: inherit;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 0.15s ease, box-shadow 0.15s ease;
    }

    .listings-add-property-page .lyp-stepper a.lyp-step--link:hover {
        background: #f8fafc;
        border-radius: 10px;
    }

    .listings-add-property-page .lyp-stepper a.lyp-step--link:focus-visible {
        outline: 2px solid #1a56db;
        outline-offset: 2px;
        border-radius: 10px;
    }

    .listings-add-property-page .lyp-summary-edit-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-decoration: none;
    }
}

@media (max-width: 979px) {
    .listings-add-property-page .uh-header {
        display: none !important;
    }

    .listings-add-property-page .rz-bottom-nav,
    .listings-add-property-page .rz-bottom-nav-spacer {
        display: none !important;
    }

    .listings-add-property-page .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x, 15px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--rz-screen-gutter-x, 15px), env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
    }

    .listings-add-property-page .lyp-mobile-chrome {
        display: block;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
    }

    .listings-add-property-page .lyp-mobile-topbar {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 14px 0 10px;
    }

    .listings-add-property-page .lyp-mobile-back {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        flex-shrink: 0;
        color: #0f172a;
        text-decoration: none;
        font-size: 1.2rem;
    }

    .listings-add-property-page .lyp-mobile-title {
        margin: 0;
        flex: 1 1 auto;
        min-width: 0;
        font-size: 1.05rem;
        font-weight: 700;
        color: #0f172a;
        text-align: left;
    }

    .listings-add-property-page .lyp-mobile-save-exit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        flex-shrink: 0;
        min-height: 34px;
        padding: 7px 13px;
        border: 0;
        border-radius: 999px;
        background: var(--rz-btn-primary-bg);
        color: #fff;
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none;
        white-space: nowrap;
        box-shadow: 0 2px 10px rgba(37, 99, 235, 0.28);
        box-sizing: border-box;
        transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    }

    .listings-add-property-page .lyp-mobile-save-exit:hover {
        background: var(--rz-btn-primary-bg-hover);
        color: #fff;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.34);
        transform: translateY(-1px);
    }

    .listings-add-property-page .lyp-mobile-save-exit:active {
        transform: translateY(0);
        box-shadow: 0 2px 8px rgba(37, 99, 235, 0.24);
    }

    .listings-add-property-page .lyp-mobile-save-exit .bi {
        font-size: 0.88rem;
        line-height: 1;
        opacity: 0.95;
    }

    .listings-add-property-page .lyp-mobile-progress {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
        padding: 20px 0 27px;
    }

    .listings-add-property-page .lyp-mp-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        flex: 0 0 auto;
        min-width: 0;
        max-width: 30%;
        text-align: center;
    }

    .listings-add-property-page .lyp-mp-dot {
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        border: 1px solid #cbd5e1;
        background: #fff;
        color: #64748b;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .listings-add-property-page .lyp-mp-item.is-active .lyp-mp-dot {
        background: #1a56db;
        border-color: #1a56db;
        color: #fff;
    }

    .listings-add-property-page .lyp-mp-item.is-done .lyp-mp-dot {
        background: #10b981;
        border-color: #10b981;
        color: #fff;
    }

    .listings-add-property-page .lyp-mp-item.is-done .lyp-mp-dot i {
        font-size: 0.85rem;
        line-height: 1;
    }

    .listings-add-property-page .lyp-mp-label {
        font-size: 0.62rem;
        line-height: 1.25;
        color: #94a3b8;
        font-weight: 600;
        max-width: 92px;
    }

    .listings-add-property-page .lyp-mp-item.is-active .lyp-mp-label {
        color: #1a56db;
    }

    .listings-add-property-page .lyp-mp-connector {
        flex: 1 1 auto;
        height: 2px;
        background: #e2e8f0;
        margin-top: 14px;
        min-width: 12px;
    }

    .listings-add-property-page .lyp-mp-connector.is-done {
        background: #10b981;
    }

    .listings-add-property-page .lyp-mp-item.is-active + .lyp-mp-connector {
        background: #1a56db;
    }

    .listings-add-property-page .lyp-layout {
        margin: 0;
        gap: 0;
    }

    .listings-add-property-page .lp-sidebar {
        display: none !important;
    }

    body.listings-add-property-page {
        background: #fff;
    }

    .listings-add-property-page .container,
    .listings-add-property-page .lyp-layout {
        background: #fff;
    }

    .listings-add-property-page .layout > .main.lyp-main {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 16px 0 0 !important;
        background: #fff;
    }

    .listings-add-property-page .lyp-stepper {
        margin: 0 0 16px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        display: grid;
        gap: 12px;
    }

    .listings-add-property-page .lyp-step {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 16px;
        margin: 0;
        border: 1px solid #e8edf4;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .listings-add-property-page .lyp-step.is-active {
        background: #f0f6ff;
        border-color: #bfd4ff;
    }

    .listings-add-property-page .lyp-step.is-done {
        background: #fff;
        border-color: #e8edf4;
    }

    .listings-add-property-page .lyp-step-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 999px;
        background: #eff6ff;
        color: #1a56db;
        font-size: 1.15rem;
        flex-shrink: 0;
    }

    .listings-add-property-page .lyp-step:not(.is-active) .lyp-step-icon {
        background: #f1f5f9;
        color: #64748b;
    }

    .listings-add-property-page .lyp-step-text {
        flex: 1;
        min-width: 0;
    }

    .listings-add-property-page .lyp-step-text strong {
        font-size: 0.95rem;
        color: #0f172a;
    }

    .listings-add-property-page .lyp-step.is-active .lyp-step-text strong {
        color: #0f172a;
    }

    .listings-add-property-page .lyp-step:not(.is-active) .lyp-step-text strong {
        color: #334155;
    }

    .listings-add-property-page .lyp-step-text span {
        font-size: 0.78rem;
        color: #64748b;
        margin-top: 4px;
    }

    .listings-add-property-page .lyp-step-trail {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
        margin-left: auto;
    }

    .listings-add-property-page .lyp-step-trail .lyp-step-num {
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        background: #1a56db;
        color: #fff;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .listings-add-property-page .lyp-step:not(.is-active) .lyp-step-trail .lyp-step-num {
        background: #f1f5f9;
        color: #64748b;
        border: 1px solid #e2e8f0;
    }

    .listings-add-property-page .lyp-step.is-done .lyp-step-trail .lyp-step-num {
        background: #10b981;
        color: #fff;
        border: 0;
        font-size: 0;
    }

    .listings-add-property-page .lyp-step.is-done .lyp-step-trail .lyp-step-num i {
        font-size: 0.9rem;
        line-height: 1;
    }

    .listings-add-property-page .lyp-step-trail .bi-chevron-right {
        color: #94a3b8;
        font-size: 1rem;
    }

    .listings-add-property-page .lyp-step.is-active .lyp-step-trail .bi-chevron-right {
        color: #1a56db;
    }

    .listings-add-property-page .lyp-content-wrap {
        gap: 0;
    }

    .listings-add-property-page .lyp-sidebar.tips-col,
    .listings-add-property-page aside.lyp-sidebar {
        display: none !important;
    }

    .listings-add-property-page .lyp-card,
    .listings-add-property-page .lyp-step2-layout {
        border: 1px solid #e8edf4;
        border-radius: 14px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        padding: 18px 16px 20px;
        background: #fff;
    }

    .listings-add-property-page .lyp-step2-main > .lyp-card.lyp-upload-photos,
    .listings-add-property-page .lyp-step2-main > .lyp-card.lyp-amenities-wrap {
        border: 0;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-step3-main {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        background: transparent;
        gap: 16px;
    }

    .listings-add-property-page .lyp-step3-main .lyp-review-card {
        border: 0;
        box-shadow: none;
        padding: 18px 16px 20px;
        background: #fff;
    }


    /* Accordion trigger already shows step title — hide duplicate in-panel page head */
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-page-head.lyp-card-head {
        display: none !important;
    }

    .listings-add-property-page .lyp-page-head__icon {
        width: 42px;
        height: 42px;
        font-size: 1.15rem;
    }

    .listings-add-property-page .lyp-card-title {
        font-size: 1.15rem;
    }

    .listings-add-property-page .lyp-card-lead,
    .listings-add-property-page .lyp-card-head .subtitle {
        font-size: 0.8125rem;
    }

    .listings-add-property-page .lyp-section-title,
    .listings-add-property-page .lyp-subsection-title {
        font-size: 1rem;
    }

    .listings-add-property-page .lyp-section-head__icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .listings-add-property-page .lyp-desktop-only {
        display: none !important;
    }

    .listings-add-property-page .lyp-mobile-accordion,
    .listings-add-property-page .lyp-mobile-accordion-nav {
        display: grid;
        gap: 12px;
        margin: 0 0 16px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item {
        border: 1px solid #e8edf4;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        overflow: hidden;
    }

    /* Open step: don't clip native <select> menus (global .card uses overflow:hidden) */
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-open {
        overflow: visible;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-open .lyp-accordion-panel,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-card,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-mobile-panel {
        overflow: visible;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active {
        background: #f0f6ff;
        border-color: #bfd4ff;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active.is-open {
        padding-bottom: 6px;
        background: none;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active.is-open .lyp-accordion-trigger {
        background: none;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done {
        background: #fff;
        border-color: #e8edf4;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked {
        background: #fff;
        border-color: #e8edf4;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-trigger.lyp-step {
        display: flex;
        align-items: center;
        gap: 14px;
        width: 100%;
        padding: 16px;
        margin: 0;
        border: 0;
        border-radius: 15px 15px 0 0;
        box-shadow: none;
        background: transparent;
        text-align: left;
        cursor: pointer;
        font: inherit;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active .lyp-accordion-trigger {
        background: #f0f6ff;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-accordion-trigger,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked .lyp-accordion-trigger {
        background: #fff;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active .lyp-step-icon {
        background: #e3edfd;
        color: #2563eb;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-step-icon {
        background: #ecfdf3;
        color: #16a34a;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked .lyp-step-icon {
        background: #f1f5f9;
        color: #64748b;
        box-shadow: none;
    }

    /* Accordion icons: +50% vs base mobile step icons */
    .listings-add-property-page .lyp-mobile-accordion .lyp-step-icon {
        width: 66px;
        height: 66px;
        font-size: 1.725rem;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-step-trail .lyp-step-num {
        width: 28px;
        height: 28px;
        font-size: 0.72rem;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-step-trail .lyp-step-num i {
        font-size: 0.85rem;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-step-trail .lyp-accordion-chevron,
    .listings-add-property-page .lyp-mobile-accordion .lyp-step-trail .bi-chevron-right {
        font-size: 1.5rem;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active .lyp-step-text strong {
        color: #0f172a;
        font-weight: 700;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item .lyp-step-text span {
        display: block;
        font-size: 0.78rem;
        line-height: 1.4;
        color: #64748b;
        margin-top: 4px;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active .lyp-step-trail .lyp-step-num {
        background: #1a56db;
        color: #fff;
        border: 0;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active .lyp-accordion-chevron {
        color: #1a56db;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-step-trail .lyp-step-num,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked .lyp-step-trail .lyp-step-num {
        background: #fff;
        color: #64748b;
        border: 1px solid #e2e8f0;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-step-trail .lyp-step-num {
        background: #10b981;
        color: #fff;
        border: 0;
        font-size: 0;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done .lyp-accordion-chevron,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked .lyp-accordion-chevron {
        color: #94a3b8;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-open .lyp-accordion-chevron {
        transform: rotate(90deg);
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-locked .lyp-accordion-trigger {
        cursor: not-allowed;
        opacity: 0.85;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item:not(.is-open) .lyp-accordion-trigger.lyp-step {
        border-radius: 15px;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item:not(.is-open) .lyp-accordion-panel {
        display: none !important;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-open .lyp-accordion-panel {
        display: block;
        background: #fff;
        border-top: 1px solid #dbeafe;
        border-radius: 0 0 15px 15px;
        padding: 0 0 4px;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-done.is-open .lyp-accordion-panel,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item.is-active.is-open .lyp-accordion-panel {
        border-top-color: #dbeafe;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-mobile-panel,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-card,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-step2-main,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-step3-main {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        margin: 0;
        background: #fff;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-card {
        padding: 16px 16px 0;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-step-summary-wrap {
        padding: 0 16px 16px;
        display: flow-root;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-step-summary-wrap > .lyp-step-success-banner {
        margin: 20px 0 15px;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-item:not(.is-open) .lyp-step-success-banner {
        display: none !important;
    }

    .listings-add-property-page .lyp-content-wrap.lyp-content-wrap--mobile-empty {
        display: none !important;
    }

    .listings-add-property-page .lyp-content-wrap > .lyp-mobile-panel[hidden] {
        display: none !important;
    }

    .listings-add-property-page .lyp-content-wrap.lyp-mobile-panels-mounted > .lyp-mobile-panel,
    .listings-add-property-page .lyp-content-wrap.lyp-mobile-panels-mounted > .lyp-step2-main,
    .listings-add-property-page .lyp-content-wrap.lyp-mobile-panels-mounted > .lyp-step3-main {
        display: none !important;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-mobile-panel,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-step2-main,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel > .lyp-step3-main {
        display: block !important;
    }

    .listings-add-property-page .lyp-review-details-grid {
        grid-template-columns: 1fr;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile {
        margin: 18px 0 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-intro-specs {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 0;
        width: 100%;
        max-width: 100%;
        border: 0;
        border-radius: 12px;
        box-shadow: none;
        background: #fff;
        grid-template-columns: none;
        overflow: hidden;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
        padding: 16px 0;
        margin: 0;
        border: 0;
        border-bottom: 1px solid #e8edf4;
        background: #fff;
        box-sizing: border-box;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row:last-child {
        border-bottom: 0;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        border-radius: 12px;
        flex-shrink: 0;
        font-size: 1.15rem;
        position: relative;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--deposit .lyp-review-spec-row__icon-mark {
        position: absolute;
        right: 7px;
        bottom: 6px;
        font-size: 0.62rem;
        line-height: 1;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--rent .lyp-review-spec-row__icon {
        background: #dcfce7;
        color: #16a34a;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--furnishing .lyp-review-spec-row__icon {
        background: #ede9fe;
        color: #7c3aed;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--property-type .lyp-review-spec-row__icon {
        background: #dbeafe;
        color: #2563eb;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--available .lyp-review-spec-row__icon {
        background: #dcfce7;
        color: #16a34a;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--deposit .lyp-review-spec-row__icon {
        background: #ffedd5;
        color: #ea580c;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row--maintenance .lyp-review-spec-row__icon {
        background: #dbeafe;
        color: #0284c7;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row__body {
        min-width: 0;
        flex: 1;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row .lyp-review-spec-label {
        display: block;
        margin-bottom: 4px;
        font-size: 0.76rem;
        font-weight: 500;
        color: #64748b;
        line-height: 1.3;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row .lyp-review-spec-value {
        display: block;
        font-size: 0.94rem;
        font-weight: 700;
        color: #0f172a;
        line-height: 1.35;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-row .lyp-review-spec-suffix {
        font-size: 0.82rem;
        font-weight: 500;
        color: #64748b;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-notice {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 16px 0 0;
        padding: 12px 14px;
        border-radius: 12px;
        background: #eff6ff;
        font-size: 0.8rem;
        line-height: 1.45;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-notice i {
        flex-shrink: 0;
        margin-top: 1px;
        font-size: 1rem;
        color: #3b82f6;
    }

    .listings-add-property-page .lyp-review-spec-sheet--mobile .lyp-review-spec-notice span {
        color: #2563eb;
    }

    .listings-add-property-page .lyp-review-form {
        margin-top: 0;
    }


    .listings-add-property-page .lyp-step-success-banner {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
        margin: 20px 0 15px;
        border-radius: 12px;
        background: #ecfdf3;
        border: 1px solid #bbf7d0;
    }

    .listings-add-property-page .lyp-step-success-icon {
        color: #16a34a;
        font-size: 1.35rem;
        flex-shrink: 0;
    }

    .listings-add-property-page .lyp-step-success-text {
        display: grid;
        gap: 2px;
        flex: 1;
        min-width: 0;
    }

    .listings-add-property-page .lyp-step-success-text strong {
        color: #14532d;
        font-size: 0.92rem;
    }

    .listings-add-property-page .lyp-step-success-text span {
        color: #166534;
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .listings-add-property-page .lyp-step-success-art {
        font-size: 1.5rem;
        flex-shrink: 0;
    }

    .listings-add-property-page .lyp-summary-heading {
        margin: 0 0 12px;
        font-size: 1rem;
        font-weight: 700;
        color: #0f172a;
    }

    .listings-add-property-page .lyp-summary-card {
        border: 1px solid #e8edf4;
        border-radius: 14px;
        background: #fff;
        overflow: hidden;
        margin-bottom: 14px;
    }

    .listings-add-property-page .lyp-summary-row {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 16px;
        border-bottom: 1px solid #f1f5f9;
    }

    .listings-add-property-page .lyp-summary-row:last-child {
        border-bottom: 0;
    }

    .listings-add-property-page .lyp-summary-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 999px;
        background: #f1f5f9;
        color: #64748b;
        flex-shrink: 0;
    }

    .listings-add-property-page .lyp-summary-copy {
        min-width: 0;
        flex: 1;
    }

    .listings-add-property-page .lyp-summary-label {
        display: block;
        font-size: 0.72rem;
        color: #64748b;
        margin-bottom: 2px;
    }

    .listings-add-property-page .lyp-summary-value {
        display: block;
        font-size: 0.88rem;
        color: #0f172a;
        line-height: 1.35;
    }

    .listings-add-property-page .lyp-summary-desc {
        margin: 4px 0 0;
        font-size: 0.82rem;
        color: #334155;
        line-height: 1.45;
    }

    .listings-add-property-page .lyp-summary-photo-cover {
        position: relative;
        aspect-ratio: 16 / 9;
        background: #e2e8f0;
    }

    .listings-add-property-page .lyp-summary-photo-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .listings-add-property-page .lyp-summary-photo-badge {
        position: absolute;
        right: 10px;
        bottom: 10px;
        background: rgba(15, 23, 42, 0.72);
        color: #fff;
        font-size: 0.72rem;
        font-weight: 600;
        padding: 4px 8px;
        border-radius: 999px;
    }

    .listings-add-property-page .lyp-summary-amenity-list {
        margin: 0;
        padding: 0 16px 14px;
        font-size: 0.78rem;
        color: #64748b;
        line-height: 1.4;
    }

    .listings-add-property-page .lyp-summary-edit-btn {
        width: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-bottom: 14px;
        padding: 12px 16px;
        border-radius: 12px;
        border: 1px solid #1a56db;
        background: #fff;
        color: #1a56db;
        font-weight: 600;
        font-size: 0.9rem;
    }

    .listings-add-property-page .lyp-whats-next {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        padding: 14px 16px;
        border-radius: 12px;
        background: #eff6ff;
        border: 1px solid #dbeafe;
        margin-bottom: 8px;
    }

    .listings-add-property-page .lyp-whats-next-icon {
        color: #1a56db;
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .listings-add-property-page .lyp-whats-next strong {
        display: block;
        color: #0f172a;
        font-size: 0.88rem;
        margin-bottom: 4px;
    }

    .listings-add-property-page .lyp-whats-next p {
        margin: 0;
        font-size: 0.78rem;
        color: #475569;
        line-height: 1.4;
    }

    .listings-add-property-page {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    body.listings-add-property-page[data-lyp-page="create"] {
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    }

    .listings-add-property-page .lyp-mobile-only.lyp-mobile-footer,
    .listings-add-property-page .lyp-mobile-footer.lyp-mobile-only {
        display: block !important;
    }

    .listings-add-property-page .lyp-mobile-footer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2500;
        padding: 12px max(var(--rz-screen-gutter-x, 15px), env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(var(--rz-screen-gutter-x, 15px), env(safe-area-inset-left, 0px));
        background: #fff;
        border-top: 1px solid #e8edf4;
        box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .listings-add-property-page .lyp-mobile-footer[hidden] {
        display: none !important;
    }

    .listings-add-property-page .lyp-mobile-footer-btn,
    .listings-add-property-page .lyp-mobile-continue-btn,
    .listings-add-property-page .lyp-summary-continue-btn {
        width: 100%;
        min-width: 0;
        margin: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .listings-add-property-page .lyp-mobile-footer-btn::after {
        content: none !important;
    }

    .listings-add-property-page .lyp-mobile-inline-actions {
        display: block;
        margin: 20px 0 8px;
        padding: 0 0 4px;
    }

    .listings-add-property-page .lyp-summary-continue-btn {
        margin-top: 16px;
    }

    .listings-add-property-page .lyp-step3-main .lyp-step-success-banner--step3 {
        margin: 20px 0 15px;
    }

    .listings-add-property-page .lyp-step3-main .lyp-mobile-inline-actions {
        margin-top: 20px;
        margin-bottom: 4px;
    }

    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel .lyp-step3-main .lyp-mobile-inline-actions {
        padding: 0 16px 8px;
        margin-left: -16px;
        margin-right: -16px;
        width: calc(100% + 32px);
        max-width: none;
        box-sizing: border-box;
    }

    .listings-add-property-page .lyp-step2-main .lyp-step2-mobile-actions {
        margin: 8px 0 12px;
        padding: 0 16px 0;
        box-sizing: border-box;
    }

    .listings-add-property-page .lyp-step2-mobile-actions .lyp-mobile-continue-btn {
        display: flex;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }

    .listings-add-property-page .lyp-step3-main .lyp-review-next-card--mobile {
        margin: 25px 15px 14px;
    }

    .listings-add-property-page .lyp-review-card--publish {
        border: 0;
        box-shadow: none;
        padding: 0;
        background: transparent;
    }

    .listings-add-property-page .lyp-review-card--publish .lyp-step3-mobile-publish {
        margin: 0;
        padding: 0;
    }

    .listings-add-property-page .lyp-step3-mobile-publish .lyp-mobile-continue-btn {
        display: flex;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }

    /* One field per row on mobile */
    .listings-add-property-page .lyp-form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .listings-add-property-page .lyp-form-grid > .field,
    .listings-add-property-page .lyp-form-grid > .lyp-two-cols,
    .listings-add-property-page .lyp-form-grid > .lyp-three-cols,
    .listings-add-property-page .lyp-form-grid .lyp-span-full {
        grid-column: 1;
    }

    .listings-add-property-page .lyp-two-cols,
    .listings-add-property-page .lyp-three-cols {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .listings-add-property-page .lyp-form .field {
        overflow: visible;
        max-width: 100%;
    }

    .listings-add-property-page .lyp-form-grid {
        overflow: visible;
    }

    .listings-add-property-page .lyp-form .field select.lyp-desktop-only {
        display: none !important;
    }

    .listings-add-property-page .lyp-custom-select {
        display: block;
    }

    .listings-add-property-page .lyp-card.lyp-mobile-panel,
    .listings-add-property-page .lyp-mobile-accordion .lyp-accordion-panel,
    .listings-add-property-page .lyp-form-grid,
    .listings-add-property-page .lyp-two-cols {
        overflow: visible;
    }

    .listings-add-property-page .lyp-step3-main > .lyp-review-page-head {
        padding: 16px 16px 0;
        margin: 0;
    }

    .listings-add-property-page .lyp-review-page-head .lyp-card-title {
        font-size: 1.15rem;
    }

    .listings-add-property-page .lyp-review-page-head .lyp-card-lead {
        margin-top: 6px;
    }

    .listings-add-property-page .lyp-review-page-head .lyp-review-edit-primary {
        display: none;
    }

    /* Simple unified fields on mobile — native selects, flat borders */
    .listings-add-property-page .lyp-form .field label {
        font-size: 0.8125rem;
        font-weight: 600;
        color: #475569;
    }

    .listings-add-property-page .lyp-form .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="date"]),
    .listings-add-property-page .lyp-form .field select,
    .listings-add-property-page .lyp-form .field textarea,
    .listings-add-property-page .lyp-form .lyp-date-wrap .lyp-date-display,
    .listings-add-property-page .lyp-form .lyp-custom-select-trigger,
    .listings-add-property-page .lyp-currency {
        min-height: 48px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        font-size: 16px;
        font-weight: 400;
        color: #0f172a;
        background-color: #fff;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-form .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="date"]),
    .listings-add-property-page .lyp-form .field textarea,
    .listings-add-property-page .lyp-form .lyp-date-wrap .lyp-date-display,
    .listings-add-property-page .lyp-currency input {
        padding: 12px 14px;
    }

    .listings-add-property-page .lyp-form .field select {
        -webkit-appearance: none;
        appearance: none;
        padding: 12px 40px 12px 14px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6L8 9.5 11.5 6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 14px center;
        background-size: 12px;
        cursor: pointer;
    }

    .listings-add-property-page .lyp-form .field select:disabled {
        background-color: #f8fafc;
        color: #94a3b8;
        -webkit-text-fill-color: #94a3b8;
        opacity: 1;
        font-weight: 400;
    }

    .listings-add-property-page .lyp-form .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="date"])::placeholder,
    .listings-add-property-page .lyp-form .field textarea::placeholder,
    .listings-add-property-page .lyp-form .lyp-date-wrap .lyp-date-display::placeholder {
        color: #94a3b8;
        opacity: 1;
    }

    .listings-add-property-page .lyp-form .field select:required:invalid {
        color: #94a3b8;
        -webkit-text-fill-color: #94a3b8;
        font-weight: 400;
    }

    .listings-add-property-page .lyp-form .lyp-date-wrap .lyp-date-display.is-empty {
        color: #94a3b8;
        font-weight: 400;
    }

    .listings-add-property-page .lyp-form .lyp-date-wrap .lyp-date-display {
        padding: 12px 44px 12px 14px !important;
    }

    .listings-add-property-page .lyp-form .field textarea {
        min-height: 128px;
        padding: 12px 14px;
        line-height: 1.45;
    }

    .listings-add-property-page .lyp-currency-prefix {
        font-size: 16px;
        font-weight: 500;
        padding: 0 12px;
    }

    .listings-add-property-page .lyp-currency input {
        border: 0 !important;
        min-height: 0;
        box-shadow: none;
    }

    .listings-add-property-page .lyp-bhk-chips {
        gap: 6px;
    }

    .listings-add-property-page .lyp-bhk-chip-ui {
        min-height: var(--rz-field-min-height);
        font-size: 0.76rem;
        padding: 8px 4px;
    }

    .listings-add-property-page .lyp-radio-segmented {
        min-height: var(--rz-field-min-height);
        padding: 11px 13px;
    }

    .listings-add-property-page .site-footer {
        display: none;
    }
}

@media (min-width: 980px) {
    .listings-add-property-page .lyp-mobile-only {
        display: none !important;
    }
}

/* —— List your property – Step 2 (photos & amenities) —— */
body.listings-create-page.lyp-step-2,
body.listings-create-page.lyp-step-3 {
    background: #fff;
}
.listings-create-page .lyp-step.is-done .lyp-step-num {
    background: #10b981;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
    font-size: 0;
}
.listings-create-page .lyp-step.is-done .lyp-step-num i {
    font-size: 0.95rem;
    line-height: 1;
    display: block;
}
.listings-create-page .lyp-form--step2 {
    display: block;
}
.listings-create-page .lyp-step2-main,
.listings-create-page .lyp-step3-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.listings-create-page .lyp-step2-main {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}
.listings-create-page .lyp-step3-main {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}
.listings-create-page .lyp-step2-main > .lyp-card.lyp-upload-photos,
.listings-create-page .lyp-step2-main > .lyp-card.lyp-amenities-wrap {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 28px 28px 32px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.listings-create-page .lyp-card--flat {
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.listings-create-page .lyp-upload-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 168px;
    margin: 20px 0 10px;
    padding: 28px 20px;
    border: 2px dashed #93c5fd;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f7ff 100%);
    color: #64748b;
    text-align: center;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}
.listings-create-page .lyp-upload-zone:hover,
.listings-create-page .lyp-upload-zone.is-drag,
.listings-create-page .lyp-upload-zone:focus-visible {
    border-color: #0b6bff;
    background: #eff6ff;
    box-shadow: 0 0 0 3px rgba(11, 107, 255, 0.12);
    outline: none;
}
.listings-create-page .lyp-upload-zone.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}
.listings-create-page .lyp-upload-zone .lyp-upload-cloud,
.listings-create-page .lyp-upload-zone .lyp-upload-or,
.listings-create-page .lyp-upload-zone .lyp-upload-select-btn {
    pointer-events: none;
}
.listings-create-page .lyp-upload-or {
    font-size: 0.84rem;
    color: #475569;
    font-weight: 500;
}
.listings-create-page .lyp-upload-select-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    padding: 9px 22px;
    border-radius: 8px;
    background: #0b6bff;
    color: #fff;
    font-size: 0.84rem;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(11, 107, 255, 0.28);
}
.listings-create-page .lyp-upload-zone .lyp-upload-specs {
    display: block;
    margin: 10px 0 0;
    padding-top: 12px;
    border-top: 1px solid #dbeafe;
    width: 100%;
    max-width: 420px;
    font-size: 0.74rem;
    font-weight: 500;
    color: #94a3b8;
    text-align: center;
    line-height: 1.45;
    pointer-events: none;
}
.listings-create-page .lyp-uploaded-block {
    padding-top: 30px;
}
.listings-create-page .lyp-uploaded-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.listings-create-page .lyp-uploaded-title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-uploaded-hint {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.76rem;
    font-weight: 600;
    color: #0b6bff;
    white-space: nowrap;
}
.listings-create-page .lyp-uploaded-hint .bi {
    font-size: 0.9rem;
    line-height: 1;
}
.listings-create-page .lyp-card.lyp-upload-photos .lyp-card-head {
    margin-bottom: 0;
}
.listings-create-page .lyp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.listings-create-page .lyp-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 0;
}
@media (min-width: 600px) {
    .listings-create-page .lyp-photo-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.listings-create-page .lyp-upload-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 16px 12px;
    border: 2px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.35;
}
.listings-create-page .lyp-upload-tile:hover,
.listings-create-page .lyp-upload-tile.is-drag {
    border-color: #0b6bff;
    background: #eff6ff;
    color: #1d4ed8;
}
.listings-create-page .lyp-upload-tile.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}
@media (max-width: 979px) {
    .listings-create-page .lyp-photo-grid .lyp-upload-tile {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 100%;
        min-height: 140px;
        box-sizing: border-box;
    }
}
.listings-create-page .lyp-upload-cloud {
    font-size: 1.75rem;
    color: #0b6bff;
    margin-bottom: 8px;
}
.listings-create-page .lyp-upload-title {
    font-weight: 600;
    color: #334155;
    font-size: 0.82rem;
}
.listings-create-page .lyp-photo-thumb {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #e2e8f0;
}
.listings-create-page .lyp-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.listings-create-page .lyp-cover-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    background: #0b6bff;
    border-radius: 6px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(11, 107, 255, 0.35);
}
.listings-create-page .lyp-cover-badge i {
    font-size: 0.58rem;
}
.listings-create-page .lyp-photo-remove {
    position: absolute;
    bottom: 8px;
    right: 8px;
    top: auto;
    z-index: 4;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.75);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 0;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.35);
}
.listings-create-page .lyp-photo-remove i {
    font-size: 0.78rem;
    line-height: 1;
}
.listings-create-page .lyp-photo-remove-icon {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
}
.listings-create-page .lyp-photo-remove:hover {
    background: #dc2626;
}
.listings-create-page .lyp-set-cover-btn {
    position: absolute;
    bottom: 8px;
    left: 8px;
    z-index: 4;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    color: #0b6bff;
    font-size: 0.95rem;
    line-height: 1;
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 0;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
    touch-action: manipulation;
}
.listings-create-page .lyp-set-cover-btn:hover,
.listings-create-page .lyp-set-cover-btn:focus-visible {
    background: #eff6ff;
    color: #1d4ed8;
    outline: 2px solid #93c5fd;
    outline-offset: 1px;
}
.listings-create-page .lyp-photo-more {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    border-radius: 10px;
    background: linear-gradient(135deg, #e0e7ff 0%, #dbeafe 100%);
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-weight: 700;
    font-size: 0.85rem;
    text-align: center;
    padding: 8px;
}
.listings-create-page .lyp-inline-tip {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 0;
    padding: 10px 12px;
    background: #eff6ff;
    border-radius: 8px;
    font-size: 0.78rem;
    color: #1e40af;
    line-height: 1.45;
}
.listings-create-page .lyp-inline-tip i {
    flex-shrink: 0;
    margin-top: 1px;
}
.listings-create-page .lyp-photo-req {
    margin: 8px 0 0;
    font-size: 0.76rem;
    color: #94a3b8;
}
.listings-create-page .lyp-step2-main > .lyp-card.lyp-amenities-wrap {
    padding-top: 28px;
}
.listings-create-page .lyp-amenity-group {
    margin-bottom: 22px;
}
.listings-create-page .lyp-amenity-group:last-of-type {
    margin-bottom: 0;
}
.listings-create-page .lyp-amenity-group-title {
    margin: 0 0 12px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-amenity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}
@media (min-width: 1400px) {
    .listings-create-page .lyp-amenity-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1680px) {
    .listings-create-page .lyp-amenity-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.listings-create-page .lyp-amenity-item {
    position: relative;
    margin: 0;
    cursor: pointer;
}
.listings-create-page .lyp-amenity-item input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.listings-create-page .lyp-amenity-ui {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    font-size: 0.78rem;
    color: #334155;
    transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
    min-width: 0;
    min-height: 0;
}
.listings-create-page .lyp-amenity-item:hover .lyp-amenity-ui {
    border-color: #cbd5e1;
    color: #0f172a;
}
.listings-create-page .lyp-amenity-item input:focus-visible + .lyp-amenity-ui {
    outline: 2px solid #0b6bff;
    outline-offset: 2px;
}
.listings-create-page .lyp-amenity-item input:checked + .lyp-amenity-ui {
    border-color: #0b6bff;
    background: #f8fbff;
    color: #1d4ed8;
    box-shadow: 0 0 0 1px rgba(11, 107, 255, 0.08);
}
.listings-create-page .lyp-amenity-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569;
    font-size: 1rem;
    flex-shrink: 0;
}
.listings-create-page .lyp-amenity-item input:checked + .lyp-amenity-ui .lyp-amenity-icon {
    background: #dbeafe;
    color: #1d4ed8;
}
.listings-create-page .lyp-amenity-label {
    flex: 1 1 0;
    min-width: 0;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.listings-create-page .lyp-amenity-check {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: transparent;
    font-size: 0.85rem;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.listings-create-page .lyp-amenity-item input:checked + .lyp-amenity-ui .lyp-amenity-check {
    border-color: #0b6bff;
    background: #0b6bff;
    color: #fff;
}
.listings-create-page .lyp-live-preview-heading {
    margin: 0 0 14px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-live-preview-card .lyp-live-preview-image {
    border-radius: 10px;
}
.listings-create-page .lyp-live-preview-price {
    margin: 0 0 10px;
    font-size: 1.05rem;
    color: #0f172a;
    line-height: 1.2;
}
.listings-create-page .lyp-live-preview-price strong {
    font-weight: 800;
}
.listings-create-page .lyp-live-preview-price small {
    font-size: 0.78rem;
    font-weight: 500;
    color: #64748b;
}
.listings-create-page .lyp-live-preview-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
.listings-create-page .lyp-live-preview-stat {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #334155;
    background: #f1f5f9;
    border-radius: 8px;
}
.listings-create-page .lyp-tips-card--photos .tip-item--line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.8rem;
    color: #475569;
    line-height: 1.4;
}
.listings-create-page .lyp-tips-card--photos .tip-item--line:last-child {
    border-bottom: 0;
}
.listings-create-page .lyp-tips-card--photos .tip-item--line .tip-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    flex-shrink: 0;
}
.listings-create-page .lyp-live-preview-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    padding: 20px 30px;
}
.listings-create-page .lyp-live-preview-image {
    aspect-ratio: 16 / 10;
    background: #e2e8f0;
    overflow: hidden;
}
.listings-create-page .lyp-live-preview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.listings-create-page .lyp-live-preview-body {
    padding: 14px 0 12px;
}
.listings-create-page .lyp-live-preview-title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
}
.listings-create-page .lyp-live-preview-loc {
    margin: 0 0 10px;
    font-size: 0.78rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 4px;
}
.listings-create-page .lyp-live-preview-loc i {
    color: #0b6bff;
    font-size: 0.85rem;
}
.listings-create-page .lyp-live-preview-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    font-size: 0.76rem;
    color: #475569;
    font-weight: 500;
}
.listings-create-page .lyp-live-preview-specs span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.listings-create-page .lyp-live-preview-specs i {
    color: #94a3b8;
    font-size: 0.85rem;
}
.listings-create-page .lyp-live-preview-callout {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    background: #ecfdf5;
    border: 1px solid #d1fae5;
    border-radius: 10px;
    font-size: 0.76rem;
    color: #047857;
    line-height: 1.45;
}
.listings-create-page .lyp-live-preview-callout i {
    flex-shrink: 0;
    font-size: 1rem;
    margin-top: 1px;
}
.listings-create-page .lyp-step2-aside {
    position: sticky;
    top: 88px;
}
.listings-create-page .lyp-current-photos-label {
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
}
.listings-create-page .lyp-current-photo-thumb {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}
.listings-create-page .lyp-current-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.listings-create-page .lyp-current-photo-thumb.is-hidden {
    display: none;
}
.listings-create-page .lyp-sortable-photo img {
    -webkit-user-drag: none;
    user-select: none;
    -webkit-touch-callout: none;
}
.listings-create-page .lyp-photo-duplicate-preview {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid #dc2626;
    background: #fef2f2;
    box-shadow: 0 0 0 1px #dc2626;
    opacity: 0.92;
}
.listings-create-page .lyp-photo-duplicate-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-user-drag: none;
    user-select: none;
}
.listings-create-page .lyp-photo-duplicate-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    background: #dc2626;
    border-radius: 6px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.35);
}
.listings-create-page .lyp-photo-duplicate-preview .lyp-photo-remove {
    z-index: 4;
}
.listings-create-page .lyp-photo-dedupe-msg {
    color: #dc2626;
    font-weight: 600;
}
.listings-create-page .lyp-photo-upload-error {
    margin: 8px 0 0;
    font-size: 0.82rem;
    color: #dc2626;
    font-weight: 600;
}
.listings-create-page .lyp-edit-upload-note {
    margin: 0 0 12px;
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.45;
}

/* —— List your property – Step 3 (review & publish) —— */
.listings-create-page .lyp-review-page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 4px;
}
.listings-create-page .lyp-review-page-head .lyp-page-head__text {
    flex: 1;
    min-width: 0;
}
.listings-create-page .lyp-review-edit-primary {
    border: 1px solid #0b6bff;
    background: #fff;
    color: #0b6bff;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(11, 107, 255, 0.08);
}
.listings-create-page .lyp-review-edit-primary:hover {
    border-color: #0956d6;
    color: #0956d6;
    background: #f8fbff;
}
.listings-create-page .lyp-review-card {
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 24px 24px 26px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.listings-create-page .lyp-review-property-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 20px;
}
@media (min-width: 900px) {
    .listings-create-page .lyp-review-property-top {
        grid-template-columns: minmax(0, 0.79fr) minmax(0, 1.21fr);
        gap: 20px;
        align-items: start;
    }
}
.listings-create-page .lyp-review-cover-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    background: #0b6bff;
    border-radius: 6px;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(11, 107, 255, 0.35);
}
.listings-create-page .lyp-review-cover-badge i {
    font-size: 0.58rem;
}
.listings-create-page .lyp-review-property-intro {
    min-width: 0;
}
.listings-create-page .lyp-review-highlight-chips,
.listing-show-page .lyp-review-highlight-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.listings-create-page .lyp-review-highlight-chip,
.listing-show-page .lyp-review-highlight-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 7px;
    border-radius: 8px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    font-size: 0.66rem;
    font-weight: 600;
    color: #334155;
}
.listings-create-page .lyp-review-highlight-chip i,
.listing-show-page .lyp-review-highlight-chip i {
    color: #64748b;
    font-size: 0.72rem;
}
.listings-create-page .lyp-review-spec-row {
    min-width: 0;
}
@media (min-width: 980px) {
    .listings-create-page .lyp-review-intro-specs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 12px;
        margin-top: 25px;
    }

    .listings-add-property-page .lyp-review-spec-sheet--desktop {
        margin-top: 25px;
    }

    .listings-add-property-page .lyp-review-spec-sheet--desktop .lyp-review-intro-specs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 12px;
        margin: 0;
        width: auto;
        max-width: none;
        background: transparent;
    }

    .listings-add-property-page .lyp-review-spec-sheet--desktop .lyp-review-spec-row {
        display: block;
        padding: 0;
        border-bottom: 0;
        background: transparent;
    }

    .listings-add-property-page .lyp-review-spec-sheet--desktop .lyp-review-spec-row__icon,
    .listings-add-property-page .lyp-review-spec-sheet--desktop .lyp-review-spec-notice {
        display: none;
    }
}
.listings-create-page .lyp-review-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    padding-top: 18px;
    border-top: 1px solid #f1f5f9;
}
@media (min-width: 769px) {
    .listings-create-page .lyp-review-details-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.listings-create-page .lyp-review-amenities-heading {
    margin: 18px 0 12px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
}
.listings-create-page .lyp-review-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
}
.listings-create-page .lyp-review-section-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-review-section-edit {
    font-size: 0.8rem;
    font-weight: 600;
    color: #0b6bff;
    text-decoration: none;
}
.listings-create-page .lyp-review-section-edit:hover {
    text-decoration: underline;
}
.listings-create-page .lyp-review-hero-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    margin: 0;
    aspect-ratio: 4 / 3;
    background: #e2e8f0;
}
.listings-create-page .lyp-review-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.listings-create-page .lyp-review-listing-title {
    margin: 0 0 6px;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}
.listings-create-page .lyp-review-location-line {
    margin: 0 0 16px;
    font-size: 0.82rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px;
}
.listings-create-page .lyp-review-location-line i {
    color: #0b6bff;
}
.listings-create-page .lyp-review-location-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 769px) {
    .listings-create-page .lyp-review-location-layout {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
        gap: 20px;
        align-items: start;
    }
}
.listings-create-page .lyp-review-location-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
.listings-create-page .lyp-review-directions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #0b6bff;
    text-decoration: none;
}
.listings-create-page .lyp-review-directions:hover {
    text-decoration: underline;
}
.listings-create-page .lyp-review-spec {
    min-width: 0;
}
.listings-create-page .lyp-review-spec-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 4px;
}
.listings-create-page .lyp-review-spec-value {
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
}
.listings-create-page .lyp-review-spec-suffix {
    font-size: 0.72rem;
    font-weight: 500;
    color: #64748b;
}
.listings-create-page .lyp-review-description-block {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #f1f5f9;
}
.listings-create-page .lyp-review-description-heading {
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
}
.listings-create-page .lyp-review-description {
    margin: 0;
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.55;
}
.listings-create-page .lyp-review-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
@media (min-width: 600px) {
    .listings-create-page .lyp-review-photo-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 900px) {
    .listings-create-page .lyp-review-photo-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
.listings-create-page .lyp-review-photo-more-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 0;
    padding: 10px 8px;
    border: 2px dashed #93c5fd;
    background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    color: #1d4ed8;
    font-weight: 700;
    font-size: 0.78rem;
    text-align: center;
    cursor: pointer;
    aspect-ratio: 1;
}
.listings-create-page .lyp-review-photo-more-cell i {
    font-size: 1.25rem;
    color: #0b6bff;
}
.listings-create-page .lyp-review-photo-more-cell small {
    font-size: 0.68rem;
    font-weight: 600;
    color: #3b82f6;
}
.listings-create-page .lyp-review-photo-more-cell:hover {
    border-color: #0b6bff;
    background: #eff6ff;
}
.listings-create-page .lyp-review-amenity-more-chip {
    cursor: pointer;
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
}
.listings-create-page .lyp-review-amenity-more-chip:hover {
    border-color: #0b6bff;
}
.listings-create-page .lyp-review-photo-cell {
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #f1f5f9;
}
.listings-create-page .lyp-review-photo-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.listings-create-page .lyp-review-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 16px;
    align-items: center;
}
.listings-create-page .lyp-review-amenity-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.76rem;
    font-weight: 500;
    color: #334155;
}
.listings-create-page .lyp-review-amenity-chip i {
    color: #0b6bff;
    font-size: 0.9rem;
}
.listings-create-page .lyp-review-photo-cell.is-hidden,
.listings-create-page .lyp-review-amenity-chip.is-hidden,
.listings-create-page .lyp-review-photo-more-cell.is-hidden {
    display: none;
}
.listings-create-page .lyp-review-map-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.listings-create-page .lyp-review-map-frame {
    width: 100%;
    height: 220px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: block;
}
.listings-create-page .lyp-review-address {
    margin: 12px 0 0;
    font-size: 0.82rem;
    color: #475569;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.45;
}
.listings-create-page .lyp-review-address i {
    color: #0b6bff;
    margin-top: 2px;
}
.listings-create-page .lyp-review-form {
    margin-top: 4px;
}
.listings-create-page .lyp-step2-actions,
.listings-create-page .lyp-step3-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid #e8edf5;
}
.listings-create-page .lyp-step2-actions .lyp-btn-primary,
.listings-create-page .lyp-step3-actions .lyp-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.listings-create-page .lyp-actions .btn-primary.lyp-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.listings-create-page .lyp-step3-aside {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.listings-create-page .lyp-review-summary-card {
    padding: 20px 18px 18px;
}
.listings-create-page .lyp-review-summary-meta {
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.listings-create-page .lyp-review-summary-meta-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.78rem;
}
.listings-create-page .lyp-review-summary-meta-row dt {
    margin: 0;
    font-weight: 600;
    color: #64748b;
}
.listings-create-page .lyp-review-summary-meta-row dd {
    margin: 0;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
}
.listings-create-page .lyp-review-aside-title {
    margin: 0 0 12px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}
.listings-create-page .lyp-live-preview-card .lyp-review-aside-title {
    padding-top: 2px;
}
.listings-create-page .lyp-review-summary-price {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    margin: 8px 0 10px;
}
.listings-create-page .lyp-review-summary-price span {
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
}
.listings-create-page .lyp-review-next-card--mobile {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 18px 16px 16px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.listings-create-page .lyp-review-next-mobile-head {
    margin-bottom: 14px;
}
.listings-create-page .lyp-review-next-mobile-title {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.listings-create-page .lyp-review-next-mobile-lead {
    margin: 0;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.45;
}
.listings-create-page .lyp-review-next-mobile-steps {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}
.listings-create-page .lyp-review-next-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 12px 12px 10px;
    border: 1px solid #e8edf4;
    border-radius: 12px;
    background: #fff;
}
.listings-create-page .lyp-review-next-step-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    flex-shrink: 0;
}
.listings-create-page .lyp-review-next-step-body {
    min-width: 0;
}
.listings-create-page .lyp-review-next-step-title {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 3px;
}
.listings-create-page .lyp-review-next-step-text {
    margin: 0;
    font-size: 0.76rem;
    color: #64748b;
    line-height: 1.4;
}
.listings-create-page .lyp-review-next-step-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}
.listings-create-page .lyp-review-next-step--purple .lyp-review-next-step-icon {
    background: #f3e8ff;
    color: #9333ea;
}
.listings-create-page .lyp-review-next-step--purple .lyp-review-next-step-chevron {
    color: #a855f7;
}
.listings-create-page .lyp-review-next-step--blue .lyp-review-next-step-icon {
    background: #eff6ff;
    color: #2563eb;
}
.listings-create-page .lyp-review-next-step--blue .lyp-review-next-step-chevron {
    color: #3b82f6;
}
.listings-create-page .lyp-review-next-step--green .lyp-review-next-step-icon {
    background: #ecfdf5;
    color: #16a34a;
}
.listings-create-page .lyp-review-next-step--green .lyp-review-next-step-chevron {
    color: #22c55e;
}
.listings-create-page .lyp-review-next-mobile-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 12px 12px 12px 10px;
    border-radius: 12px;
    background: #faf5ff;
    border: 1px solid #f3e8ff;
    font-size: 0.76rem;
    color: #64748b;
    line-height: 1.45;
}
.listings-create-page .lyp-review-next-mobile-tip strong {
    color: #7c3aed;
    font-weight: 700;
}
.listings-create-page .lyp-review-next-mobile-tip-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #ede9fe;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-top: 1px;
}
.listings-create-page .lyp-review-tips-card {
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 16px;
    background: #f0fdf4;
}
.listings-create-page .lyp-review-tips-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.listings-create-page .lyp-review-tips-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 0;
    font-size: 0.8rem;
    color: #166534;
    line-height: 1.4;
}
.listings-create-page .lyp-review-tips-list li i {
    color: #22c55e;
    margin-top: 2px;
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    .rz-newsletter-form {
        min-width: 0;
        width: 100%;
    }
    .rz-newsletter-form input {
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .uh-right {
        gap: 10px;
    }
    .uh-btn {
        padding: 10px 12px;
        font-size: 0.75rem;
    }
    .listing-show-page .layout {
        width: 100%;
        max-width: 100%;
        margin: 0 0 24px;
        gap: 24px;
    }

    .listing-show-page .hero-img {
        height: clamp(240px, 52vw, 320px);
    }

    .listing-show-page .location-box {
        grid-template-columns: 1fr !important;
    }

    .listing-show-page .right-panel {
        padding: 0 !important;
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .listings-create-page .lyp-upload-zone {
        min-height: 148px;
        padding: 22px 16px;
    }
    .listings-create-page .lyp-step2-layout,
    .listings-create-page .lyp-step3-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .listings-create-page .lyp-step2-main {
        padding: 0;
        gap: 16px;
    }
    .listings-create-page .lyp-step2-main > .lyp-card.lyp-upload-photos,
    .listings-create-page .lyp-step2-main > .lyp-card.lyp-amenities-wrap {
        border: 0;
        box-shadow: none;
        padding: 20px 16px 24px;
    }
    .listings-create-page .lyp-step3-main {
        padding: 0;
        gap: 16px;
    }
    .listings-create-page .lyp-step3-main .lyp-review-card {
        padding: 20px 16px 0px;
    }
    .listings-create-page .lyp-step2-aside,
    .listings-create-page .lyp-step3-aside {
        position: static;
        top: auto;
    }
}

@media (min-width: 768px) and (max-width: 980px) {
    .listings-create-page .lyp-step2-main > .lyp-card.lyp-upload-photos,
    .listings-create-page .lyp-step2-main > .lyp-card.lyp-amenities-wrap {
        border: 0;
        box-shadow: inherit;
    }
}

@media (max-width: 480px) {
    .rz-otp-boxes {
        gap: 6px;
    }
    .rz-otp-box {
        height: 42px;
    }
    .uh-logo img {
        max-width: 170px;
    }
}

/* Mobile (≤899px): 15px horizontal screen gutter on all pages (+ safe-area) */
@media (max-width: 899px) {
    :root {
        --rz-main-padding-mobile: 16px 0 20px;
        --rz-screen-gutter-x: 15px;
    }

    body .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
    }

    .site-footer .footer-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
        box-sizing: border-box;
    }

    .listing-show-page .layout {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
    }

    .contact-page .contact-main {
        padding-top: 30px;
        padding-left: 0;
        padding-right: 0;
    }

    .admin-shell {
        width: calc(100% - 16px) !important;
        max-width: 100% !important;
    }

    .admin-header-inner {
        width: calc(100% - 16px) !important;
        max-width: 100% !important;
    }

    .admin-shell .admin-main {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .rz-auth-modal {
        padding: 0;
    }

    .welcome-page .hero {
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
    }

    .welcome-page .feature-strip-inner {
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
    }

    .welcome-page .rz-newsletter-container,
    .contact-page .rz-newsletter-container {
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
        box-sizing: border-box;
    }

    .welcome-page .rz-newsletter-box,
    .contact-page .rz-newsletter-box {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Mobile UI (≤979px): same layout as phone; full desktop layout from 980px. */
@media (max-width: 979px) {
    :root {
        --rz-main-padding-mobile: 18px 0 22px;
        --rz-screen-gutter-x: 15px;
        --rz-bn-post-size: 45px;
        --rz-bn-post-overhang: calc(var(--rz-bn-post-size) * 0.35);
        --rz-lp-drawer-bottom: calc(54px + var(--rz-bn-post-overhang) + env(safe-area-inset-bottom, 0px));
    }

    body .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
        overflow-x: clip;
    }

    body.listings-index-page > .container:last-of-type {
        overflow: visible;
    }

    /* Header-only top container: full-bleed bar without negative margins (avoids horizontal overflow on zoom) */
    body > .container:first-of-type:has(> .uh-header):not(:has(> main)):not(:has(> .layout)):not(:has(> .messages-layout)):not(:has(> .shell)):not(:has(> .my_properties_1)):not(:has(> .pf-editor-wrap)) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-footer .footer-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
        box-sizing: border-box;
    }

    .site-footer .copyright {
        padding: 12px 0 40px;
    }

    body.listing-show-page {
        overflow-x: clip;
    }

    .listing-show-page .layout {
        margin: 12px 0 28px !important;
        gap: 20px !important;
    }

    .listing-show-page .left-col,
    .listing-show-page .right-col,
    .listing-show-page .gallery-wrap,
    .listing-show-page .content-wrap,
    .listing-show-page .hero-wrap {
        min-width: 0;
        max-width: 100%;
    }

    .listing-show-page .gallery-slider__viewport {
        border-radius: 10px;
        aspect-ratio: 4 / 3;
        min-height: 0;
        max-height: none;
    }

    .listing-show-page .hero-img,
    .listing-show-page .gallery-slider__slide .hero-img {
        min-height: 0;
        height: 100%;
        border-radius: 0;
    }

    .listing-show-page .hero-actions {
        top: 10px;
        right: 10px;
        gap: 6px;
    }
    .listing-show-page .gallery-slider__viewport .hero-fav,
    .listing-show-page .gallery-slider__viewport .hero-share {
        width: 36px;
        height: 36px;
        border-radius: 8px;
        font-size: 1rem;
    }
    .listing-show-page .gallery-slider__dots {
        bottom: 12px;
        padding: 6px 10px;
        gap: 6px;
    }
    .listing-show-page .gallery-slider__dot {
        width: 7px;
        height: 7px;
    }
    .listing-show-page .gallery-slider__nav {
        display: none !important;
    }

    .listing-show-page .thumbs-wrap {
        margin-top: 10px;
    }

    .listing-show-page .thumb-btn {
        width: 72px;
        height: 48px;
    }

    .listing-show-page .content-wrap {
        margin-top: 12px;
        padding: 0;
    }

    .listing-show-page .listing-title {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        font-size: clamp(1.15rem, 5.2vw, 1.4rem);
        line-height: 1.35;
    }

    .listing-show-page .verified {
        margin-left: 0;
    }

    .listing-show-page .meta {
        font-size: 0.8rem;
        word-break: break-word;
    }

    .listing-show-page .price {
        font-size: 1.15rem;
    }

    .listing-show-page .specs {
        gap: 8px 12px;
        font-size: 0.72rem;
    }

    .listing-show-page .desc {
        font-size: 15px;
        line-height: 24px;
    }

    .listing-show-page .location-box {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .listing-show-page .location-info {
        padding: 0;
    }

    .listing-show-page .location-map iframe {
        height: min(220px, 50vw);
        min-height: 180px;
    }

    .listing-show-page .location-point span {
        word-break: break-word;
    }

    .listing-show-page .right-panel {
        padding: 0 !important;
        width: 100%;
    }

    .listing-show-page .box {
        padding: 20px;
    }

    .listing-show-page .right-panel .ph-card {
        padding: 20px !important;
    }

    .listing-show-page .list-row {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 4px;
        font-size: 0.82rem;
    }

    .listing-show-page .list-row strong {
        text-align: left;
        word-break: break-word;
    }

    .listing-show-page .lock {
        width: 56px;
        height: 56px;
        font-size: 1.35rem;
    }

    .listing-show-page .cta-strip {
        flex-direction: column;
        align-items: flex-start;
    }

    .rz-auth-card {
        width: 100%;
        max-width: 100%;
    }

    .uh-header {
        margin-left: calc(-1 * max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px)));
        margin-right: calc(-1 * max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px)));
        padding-top: 26px;
        padding-bottom: 26px;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
        gap: 10px;
    }

    body > .container:first-of-type:has(> .uh-header):not(:has(> main)):not(:has(> .layout)):not(:has(> .messages-layout)):not(:has(> .shell)):not(:has(> .my_properties_1)):not(:has(> .pf-editor-wrap)) .uh-header {
        margin-left: 0;
        margin-right: 0;
    }

    .uh-header::before {
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        transform: none;
    }

    .uh-header-main {
        flex: 0 1 auto;
        min-width: 0;
    }

    .uh-center {
        display: none !important;
    }

    .uh-right {
        gap: 10px;
        flex-shrink: 0;
        margin-left: auto;
    }

    .uh-list-cta {
        display: none !important;
    }

    .uh-header-login-btn {
        display: none !important;
    }

    /* Header profile: regular users see Logout only in dropdown (xs) */
    .uh-dropdown-head,
    .uh-dropdown-menu {
        display: none !important;
    }
    .uh-dropdown-foot {
        display: block !important;
        border-top: 0;
        padding: 0;
    }
    .uh-dropdown form {
        display: block !important;
        margin: 0;
        padding: 0;
    }
    .uh-dropdown .uh-item.logout {
        width: 100%;
        padding: 12px 12px;
        font-size: 0.9rem;
    }

    /* Admins on public site: full profile menu + avatar tap target */
    body.rz-admin-user .uh-profile {
        display: block !important;
    }
    body.rz-admin-user .uh-dropdown-head,
    body.rz-admin-user .uh-dropdown-menu {
        display: block !important;
    }
    body.rz-admin-user .uh-dropdown-head {
        display: flex !important;
    }
    body.rz-admin-user .uh-dropdown-menu a.uh-item--row {
        display: flex !important;
    }
    body.rz-admin-user .uh-dropdown {
        width: min(280px, calc(100vw - 24px));
        right: 0;
        z-index: 2400;
    }
    body.rz-admin-user .uh-profile-trigger {
        gap: 8px;
    }

    /* Home + Browse + Contact + Messages + listing detail (admin): enable drawer sidebar on mobile */
    .welcome-page #rzLpSidebar.lp-sidebar,
    .listings-index-page #rzLpSidebar.lp-sidebar,
    .contact-page #rzLpSidebar.lp-sidebar,
    .messages-page #rzLpSidebar.lp-sidebar,
    .listing-show-page #rzLpSidebar.lp-sidebar,
    .listings-my-page #rzLpSidebar.lp-sidebar,
    .listing-wishlist-page #rzLpSidebar.lp-sidebar,
    .auth-profile-page #rzLpSidebar.lp-sidebar,
    body.my-plan-page-body #rzLpSidebar.lp-sidebar {
        display: block;
    }

    /* Left panel → slide-over drawer */
    body.rz-has-lp-sidebar .uh-nav-toggle {
        display: inline-flex;
    }
    aside#rzLpSidebar.lp-sidebar {
        position: fixed;
        top: var(--rz-lp-drawer-top, 96px);
        height: calc(100% - var(--rz-lp-drawer-top, 96px) - var(--rz-lp-drawer-bottom, 0px));
        left: 0;
        width: min(300px, 90vw);
        max-width: 100%;
        margin: 0;
        z-index: 2300;
        transform: translateX(-100%);
        transition: transform 0.28s ease, visibility 0.28s ease;
        border-radius: 0 14px 14px 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        visibility: hidden;
        pointer-events: none;
        align-self: stretch;
        box-shadow: 8px 0 32px rgba(15, 23, 42, 0.12);
        padding-top: 12px;
        padding-bottom: 12px;
    }
    body.rz-lp-drawer-open aside#rzLpSidebar.lp-sidebar {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }
    body.rz-lp-drawer-open .rz-lp-drawer-backdrop:not([hidden]) {
        top: var(--rz-lp-drawer-top, 96px);
        bottom: var(--rz-lp-drawer-bottom, 0px);
    }
    body.rz-lp-drawer-open {
        overflow: hidden;
    }
    body.rz-lp-drawer-open .uh-header {
        position: relative;
        z-index: 2320;
    }

    .uh-name,
    .uh-arrow {
        display: none !important;
    }

    .uh-notifications > summary.uh-notifications-btn--desktop {
        display: none !important;
    }

    .uh-header-notifications-mobile {
        display: inline-flex !important;
        flex-shrink: 0;
    }

    .uh-notifications {
        position: fixed;
        left: 0;
        top: 0;
        width: 0;
        height: 0;
        overflow: visible;
        z-index: 1900;
        pointer-events: none;
    }

    .uh-notifications-panel {
        display: none !important;
        pointer-events: auto;
    }

    body.rz-bn-notifications-open .uh-notifications-panel {
        display: flex !important;
        flex-direction: column !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        overflow: hidden;
        -webkit-overflow-scrolling: touch;
        border-radius: 0 !important;
        border: 0 !important;
        z-index: 2600;
        box-shadow: none !important;
        background: #fff !important;
    }

    body.rz-bn-notifications-open .bz-mbrowse-area-wrap.is-society-open,
    body.rz-bn-notifications-open .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) {
        z-index: auto;
    }

    body.rz-bn-notifications-open .welcome-page section.hero.hero--v2:has(#hero-society-dd.open),
    body.rz-bn-notifications-open .welcome-page .hero-v2-search-wrap:has(#hero-society-dd.open),
    body.rz-bn-notifications-open .welcome-page .hero-search-unified__society--desktop.open {
        z-index: auto;
    }

    body.rz-bn-notifications-open .welcome-page section.hero.hero--v2:has(#hero-society-dd.open),
    body.rz-bn-notifications-open .welcome-page .hero-v2-search-wrap:has(#hero-society-dd.open),
    body.rz-bn-notifications-open .welcome-page .hero-search-unified__society--desktop.open {
        z-index: auto;
    }

    body.rz-bn-notifications-open .uh-notifications-head {
        padding: max(12px, env(safe-area-inset-top, 0px)) max(15px, env(safe-area-inset-right, 0px)) 12px max(15px, env(safe-area-inset-left, 0px));
        border-bottom: 1px solid #e8edf5;
    }

    body.rz-bn-notifications-open .uh-notifications-title {
        font-size: 1.05rem;
        font-weight: 700;
        color: #0f172a;
    }

    body.rz-bn-notifications-open .uh-notifications-back {
        display: inline-flex;
    }

    body.rz-bn-notifications-open .uh-notifications-clear {
        display: none !important;
    }

    body.rz-bn-notifications-open .uh-notifications-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
    }

    body.rz-bn-notifications-open .uh-notification-row {
        padding-left: max(15px, env(safe-area-inset-left, 0px));
        padding-right: max(15px, env(safe-area-inset-right, 0px));
    }

    body.rz-bn-notifications-open .uh-notifications-end {
        padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    }

    .uh-notifications-backdrop {
        display: none !important;
    }

    .uh-notifications-backdrop:not([hidden]) {
        display: none !important;
    }

    body.rz-bn-notifications-open {
        overflow: hidden;
    }

    .uh-profile {
        display: none !important;
    }

    .uh-btn {
        padding: 9px 10px;
    }

    /* Mobile header (all pages): logo left */
    .uh-header-main .uh-logo {
        display: inline-flex !important;
    }

    .listing-card-body {
        padding: 25px;
    }

    .listing-card .listing-card-actions {
        padding: 0 25px 25px;
    }

    .auth-profile-page .pf-personal-card.section {
        padding: 0;
        border: 0;
        box-shadow: none;
    }

    .auth-profile-page .pf-photo-panel {
        padding: 0;
    }

    .welcome-page .search-card .popular-searches,
    .listings-index-page .search-card .popular-searches {
        display: none;
    }

    .welcome-page .search-card-head,
    .listings-index-page .search-card-head {
        display: none;
    }

    .welcome-page .search-card {
        margin-top: 0;
    }

    /* Featured Properties mobile layout (unchanged); heading spacing matches .explore-title */
    .welcome-page .welcome-featured-section {
        display: flex;
        flex-direction: column;
    }

    .welcome-page .welcome-featured-head {
        display: contents;
    }

    .welcome-page .welcome-featured-head h2 {
        order: 1;
        margin: 0 0 20px !important;
        padding-top: 20px;
    }

    .welcome-page .welcome-featured-cards {
        order: 2;
    }

    .welcome-featured-load-more {
        display: inline-flex;
        order: 3;
        margin-top: 16px;
    }

    .welcome-page .welcome-featured-view-all {
        order: 4;
        margin-top: 4px;
        align-self: flex-start;
        display: none !important;
    }

    body.rz-modal-open .rz-bottom-nav,
    body.rz-modal-open .rz-bottom-nav-spacer {
        display: none !important;
    }

    .rz-bottom-nav-spacer {
        display: block;
        height: calc(54px + var(--rz-bn-post-overhang) + env(safe-area-inset-bottom, 0px));
        flex-shrink: 0;
    }

    .rz-bottom-nav {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1800;
        background: #fff;
        border-top: 1px solid #e8edf5;
        padding: 0 2px calc(8px + env(safe-area-inset-bottom, 0px));
        justify-content: space-around;
        align-items: flex-end;
        overflow: visible;
        box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
    }

    /* Browse (/browse): mobile listing UX aligned with property-app mock */
    .listings-index-page .browse-head.bz-desktop-sort-head {
        display: none !important;
    }

    .listings-index-page .bz-browse-search-mobile-form,
    .welcome-page .home-mobile-search-card .bz-browse-search-mobile-form {
        display: flex !important;
        flex-direction: column;
        gap: 0;
    }

    .listings-index-page .bz-browse-search-mobile-form .bz-browse-search-submit,
    .welcome-page .home-mobile-search-card .bz-browse-search-mobile-form .bz-browse-search-submit {
        display: none !important;
    }

    .listings-index-page .bz-mbrowse-search-footer,
    .welcome-page .home-mobile-search-card .bz-mbrowse-search-footer {
        display: none;
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-search-footer,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-search-footer,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-search-footer,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-search-footer {
        display: block;
        flex: 0 0 auto;
        margin-top: 8px;
        border-top: 1px solid #eceef2;
        padding: 10px;
        background: #fff;
        position: sticky;
        bottom: 0;
        z-index: 2412;
        box-sizing: border-box;
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-search-footer .bz-browse-search-submit,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-search-footer .bz-browse-search-submit,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-search-footer .bz-browse-search-submit,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-search-footer .bz-browse-search-submit {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        margin: 0 !important;
        border: 0;
        border-radius: 7px;
        padding: 14px 16px;
        position: static;
        text-align: center;
        box-sizing: border-box;
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open .bz-browse-search-submit .bi-search,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open .bz-browse-search-submit .bi-search,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-browse-search-submit .bi-search,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-browse-search-submit .bi-search {
        padding: 0;
        margin: 0;
        line-height: 1;
    }

    .listings-index-page .bz-search-card.search-card,
    .welcome-page .home-mobile-search-card.search-card {
        padding: 12px 14px !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
    }

    .listings-index-page .bz-mbrowse-area-wrap,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        border: 0;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        position: relative;
    }

    .listings-index-page .bz-mbrowse-area-field,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-field {
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        background: #fff;
        overflow: hidden;
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open),
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) {
        gap: 0;
        border: 1px solid #c4b5fd;
        border-radius: 12px;
        background: #fff;
        overflow: hidden;
        z-index: 2405;
        max-height: min(360px, 58vh);
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-area-field,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-area-field,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-area-field,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-area-field {
        border: 0;
        border-radius: 0;
        overflow: visible;
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .listings-index-page .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-society-dd,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap.is-society-open .bz-mbrowse-society-dd,
    .listings-index-page .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-society-dd,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap:has(.bz-mbrowse-society-dd.open) .bz-mbrowse-society-dd {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
    }

    .listings-index-page .bz-mbrowse-society-dd.open .rz-dd-trigger,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd.open .rz-dd-trigger {
        border: 0;
        box-shadow: none;
    }

    .listings-index-page .bz-mbrowse-society-dd.open .rz-dd-caret,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd.open .rz-dd-caret {
        transform: rotate(180deg);
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-caret,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-caret {
        color: #9ca3af;
        font-size: 0.75rem;
        transition: transform 0.15s ease;
        flex-shrink: 0;
    }

    .listings-index-page .bz-mbrowse-area-wrap #bz-society-dd-m,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap #home-society-dd-m {
        flex: 1;
        min-width: 0;
    }

    .listings-index-page .bz-mbrowse-area-wrap #bz-society-dd-m .rz-dd-trigger,
    .welcome-page .home-mobile-search-card .bz-mbrowse-area-wrap #home-society-dd-m .rz-dd-trigger {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 12px 12px 12px 10px;
        min-height: var(--rz-field-min-height);
        gap: 12px;
        align-items: center;
        background:none;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-lead,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-lead {
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        color: #5a20e3;
        font-size: 1.1rem;
        line-height: 1;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-trigger-text,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-trigger-text {
        flex: 1;
        min-width: 0;
        padding-left: 0 !important;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2px;
        text-align: left;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-field-label,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-field-label {
        font-size: 0.72rem;
        font-weight: 500;
        color: #9ca3af;
        line-height: 1.2;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-field-value,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-field-value {
        font-size: 0.95rem;
        font-weight: 500;
        color: #9ca3af;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .listings-index-page .bz-mbrowse-society-dd.has-value .rz-dd-field-value,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd.has-value .rz-dd-field-value {
        font-weight: 700;
        color: #111827;
    }

    .listings-index-page #bz-society-dd-m.rz-dd.open .rz-dd-menu,
    .welcome-page #home-society-dd-m.rz-dd.open .rz-dd-menu,
    .listings-index-page .bz-mbrowse-society-dd.open .rz-dd-menu,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd.open .rz-dd-menu {
        display: block;
        position: relative !important;
        top: auto !important;
        left: 0 !important;
        width: 100% !important;
        margin-top: 0;
        padding: 0;
        border: 0;
        border-top: 1px solid #eceef2;
        border-radius: 0;
        box-shadow: none;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 2410;
        background: #fff;
        box-sizing: border-box;
    }

    .listings-index-page #bz-society-dd-m.rz-dd.open .rz-dd-menu.rz-dd-menu-multi--society-groups,
    .welcome-page #home-society-dd-m.rz-dd.open .rz-dd-menu.rz-dd-menu-multi--society-groups,
    .listings-index-page .bz-mbrowse-society-dd.open .rz-dd-menu.rz-dd-menu-multi--society-groups,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd.open .rz-dd-menu.rz-dd-menu-multi--society-groups {
        margin-top: 8px !important;
        padding: 0;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-item,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-item {
        padding: 14px 16px;
        font-size: 0.94rem;
        font-weight: 500;
        color: #111827;
        line-height: 1.35;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-item.is-selected,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-item.is-selected {
        background: #f5f3ff;
        color: #5a20e3;
        font-weight: 600;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-item:active,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-item:active {
        background: #ede9fe;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-menu-multi,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-menu-multi {
        padding: 0;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-item,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-item {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        font-size: 0.9rem;
        color: #374151;
        cursor: pointer;
        line-height: 1.3;
    }
    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-item--grouped,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-item--grouped {
        padding: 10px 14px 10px 38px;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-item input[type="checkbox"],
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-item input[type="checkbox"] {
        width: 14px;
        height: 14px;
        accent-color: #2563eb;
        flex-shrink: 0;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-actions:not(.rz-dd-multi-actions--top),
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-actions:not(.rz-dd-multi-actions--top) {
        display: none !important;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-actions--top,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-actions--top {
        display: flex !important;
        justify-content: flex-end;
        padding: 8px 12px 6px;
        margin-bottom: 4px;
        border-bottom: 1px solid #e2e8f0;
    }

    .listings-index-page .bz-mbrowse-society-dd .rz-dd-multi-done,
    .welcome-page .home-mobile-search-card .bz-mbrowse-society-dd .rz-dd-multi-done {
        display: none !important;
    }

    .listings-index-page .bz-mbrowse-actions {
        display: flex;
        align-items: stretch;
        gap: 8px;
        margin-top: 14px;
        margin-bottom: 10px;
    }

    .listings-index-page .bz-mbrowse-actions .bz-mbrowse-pill-filters {
        flex: 1 1 0;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .listings-index-page .bz-mbrowse-pill {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0 12px;
        min-height: var(--rz-field-min-height);
        border-radius: 10px;
        border: 1px solid #e2e8f0;
        background: #fff;
        font-family: inherit;
        font-size: 0.78rem;
        font-weight: 600;
        color: #334155;
        text-decoration: none;
        cursor: pointer;
        white-space: nowrap;
    }

    .listings-index-page .bz-mbrowse-sort-form {
        flex: 1 1 0;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: stretch;
    }

    .listings-index-page .bz-sort-dd-m {
        flex: 1;
        min-width: 0;
        margin: 0 !important;
        width: 100%;
    }

    .listings-index-page .bz-mbrowse-sort-trigger {
        margin: 0 !important;
        padding: 0 10px !important;
        min-height: var(--rz-field-min-height);
        border-radius: 10px !important;
        border: 1px solid #e2e8f0 !important;
        background: #fff !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        color: #334155 !important;
        gap: 6px !important;
        width: 100%;
    }

    .listings-index-page .bz-sort-dd-m.open .bz-mbrowse-sort-trigger {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-color: #93c5fd;
    }

    .listings-index-page #bz-sort-dd-m .rz-dd-menu {
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin-top: 0 !important;
        z-index: 2410;
    }

    .listings-index-page #bz-sort-dd-m .rz-dd-item {
        font-size: 0.78rem;
        font-weight: 600;
    }

    .listings-index-page .bz-mbrowse-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #2563eb;
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
    }

    .listings-index-page .bz-mbrowse-results {
        margin: 0 0 6px;
        font-size: 0.92rem;
        font-weight: 700;
        color: #111827;
    }

    .listings-index-page .layout.bz-layout {
        margin-top: 16px;
    }

    .listings-index-page .bz-mobile-sidebar-head {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding-bottom: 14px;
        margin-bottom: 14px;
        border-bottom: 1px solid #e5e7eb;
    }

    .listings-index-page .bz-mobile-sidebar-head-title {
        font-size: 1.05rem;
        font-weight: 700;
        color: #111827;
    }

    .listings-index-page .bz-drawer-clear-link {
        margin-left: auto;
        font-size: 0.8rem;
        font-weight: 600;
        color: #2563eb;
        text-decoration: none;
    }

    .listings-index-page .bz-sidebar .bz-top-row,
    .listings-index-page .bz-sidebar .bz-filters-head--desktop {
        display: none !important;
    }

    .listings-index-page .bz-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        max-height: 100dvh;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        overscroll-behavior: contain;
        margin: 0 !important;
        z-index: 2300;
        transform: translateX(-105%);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.28s ease, visibility 0.28s ease;
        border-radius: 0;
        padding-top: max(16px, env(safe-area-inset-top, 0px));
        padding-bottom: 0;
        box-shadow: none;
        border: 0 !important;
    }

    .listings-index-page.bz-drawer-open .bz-sidebar {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .listings-index-page .bz-drawer-close {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #334155;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
    }

    .listings-index-page .bz-browse-drawer-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 2240;
        border: 0;
        padding: 0;
        margin: 0;
        background: rgba(15, 23, 42, 0.48);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .listings-index-page.bz-drawer-open .bz-browse-drawer-backdrop {
        display: block;
    }

    body.listings-index-page.bz-drawer-open {
        overflow: hidden;
    }

    .listings-index-page .listing-card.card {
        border-radius: 14px !important;
        box-shadow: 0 6px 22px rgba(15, 23, 42, 0.07) !important;
        border-color: #eef2f7 !important;
    }

    .rz-bn-item,
    .rz-bn-item--btn {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 14px 1px 11px;
        text-decoration: none;
        color: #2563eb;
        font-size: 0.62rem;
        font-weight: 600;
        background: none;
        border: 0;
        cursor: pointer;
        font-family: inherit;
        line-height: 1.2;
        box-sizing: border-box;
        position: relative;
    }

    .rz-bn-item--btn {
        color: #2563eb;
    }

    .rz-bn-icon {
        font-size: 1.28rem;
        line-height: 1;
        color: #2563eb;
    }

    .rz-bn-avatar {
        width: 1.28rem;
        height: 1.28rem;
        border-radius: 999px;
        object-fit: cover;
        border: 1px solid #dbe5f2;
        background: #dbeafe;
        display: block;
        flex-shrink: 0;
        box-sizing: border-box;
    }

    .rz-bn-item.is-active .rz-bn-avatar {
        border-color: #2563eb;
        box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
    }

    .rz-bn-icon-wrap {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .rz-bn-badge {
        position: absolute;
        top: -5px;
        right: -9px;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: #dc2626;
        color: #fff;
        font-size: 0.58rem;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
        pointer-events: none;
    }

    .rz-bn-item.is-active::before,
    .rz-bn-item--btn.is-active::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: calc(1.28rem + 10px);
        height: 3px;
        background: #2563eb;
        border-radius: 0 0 1px 1px;
    }

    .rz-bn-item.is-active,
    .rz-bn-item.is-active .rz-bn-icon,
    .rz-bn-item--btn.is-active,
    .rz-bn-item--btn.is-active .rz-bn-icon {
        color: #2563eb;
    }

    .rz-bn-item:focus-visible,
    .rz-bn-item--btn:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
        border-radius: 10px;
    }

    .rz-bn-item--post {
        flex: 1;
        min-width: 0;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        padding: 0 2px 11px;
        text-decoration: none;
        background: none;
        border: 0;
        cursor: pointer;
        font-family: inherit;
        line-height: 1.2;
        box-sizing: border-box;
        position: relative;
        color: #2563eb;
    }

    .rz-bn-post-fab {
        position: absolute;
        top: calc(var(--rz-bn-post-size) * -0.35);
        left: 50%;
        transform: translateX(-50%);
        width: var(--rz-bn-post-size);
        height: var(--rz-bn-post-size);
        border-radius: 999px;
        background: #2563eb;
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        box-shadow: 0 6px 18px rgba(37, 99, 235, 0.38);
        font-size: 1.24rem;
        line-height: 1;
    }

    .rz-bn-item--post.is-active .rz-bn-post-fab {
        background: #1d4ed8;
        box-shadow: 0 8px 22px rgba(29, 78, 216, 0.42);
    }

    .rz-bn-post-label {
        font-size: 0.62rem;
        font-weight: 600;
        color: #2563eb;
        text-align: center;
        line-height: 1.15;
    }

    .rz-bn-item > span:last-child {
        text-align: center;
        line-height: 1.15;
        max-width: 100%;
    }

    .rz-bn-item--post.is-active::before {
        display: none;
    }

    .rz-bn-item--post:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
        border-radius: 10px;
    }
}

/* Solid blue CTAs — unified 14px / normal (400) */
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
.btn-blue,
a.btn-blue,
.uh-btn.primary,
.auth-profile-page .bottom-actions .btn-primary,
.listings-create-page .lyp-btn-primary,
.listings-create-page .btn-primary.lyp-btn-primary,
.listings-add-property-page .lyp-mobile-footer-btn,
.listings-add-property-page .lyp-mobile-continue-btn,
.listings-add-property-page .lyp-summary-continue-btn,
.listing-show-page .login-card .btn-blue,
.listing-show-page .btn-blue,
.rz-auth-submit,
.auth-forgot-page .submit-btn,
.admin-users-page .btn.primary,
.admin-users-all-page .search-btn,
.admin-users-all-page .btn.details,
.listings-index-page .bz-apply-btn,
.listings-index-page .apply-btn,
.auth-login-page .submit-btn,
.auth-register-page .submit-btn {
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Outline / secondary CTAs — unified 14px / normal (400) */
.uh-btn:not(.primary),
.listing-card .listing-card-action--view,
.listing-card .listing-card-action:not(.listing-card-action--view),
.listing-card button.listing-card-action:not(.listing-card-action--view),
.listing-card a.listing-card-action:not(.listing-card-action--view),
.home-page .home-actions .btn,
.listing-show-page .btn:not(.btn-blue),
.pf-crop-btn-cancel,
.auth-profile-page .bottom-actions .btn:not(.btn-primary),
.listings-create-page .lyp-btn-cancel,
.listing-wishlist-page .btn,
.rz-secondary-btn {
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Search card mock UI (home + browse) */
.search-card-head {
    margin-bottom: 18px;
}
.search-card-title {
    margin: 0 0 6px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.search-card-subtitle {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.45;
}

.welcome-page .search-card .popular-search-label,
.listings-index-page .search-card .popular-search-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0f172a;
    font-weight: 600;
}
.welcome-page .search-card .popular-search-label-icon,
.listings-index-page .search-card .popular-search-label-icon {
    color: #7c3aed;
    font-size: 0.95rem;
}

/* Hero search (home + browse): leading icon in each locality / society / type dropdown */
.welcome-page .search-card .rz-dd-trigger,
.listings-index-page .search-card .rz-dd-trigger {
    gap: 10px;
    align-items: center;
}

.welcome-page .search-card .rz-dd-trigger .rz-dd-trigger-text,
.listings-index-page .search-card .rz-dd-trigger .rz-dd-trigger-text {
    flex: 1;
    min-width: 0;
    text-align: left;
    padding-left: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.welcome-page .search-card .rz-dd-field-label,
.listings-index-page .search-card .rz-dd-field-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.2;
}

.welcome-page .search-card .rz-dd-field-value,
.listings-index-page .search-card .rz-dd-field-value {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: #9ca3af;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.welcome-page .search-card .rz-dd.has-value .rz-dd-field-value,
.listings-index-page .search-card .rz-dd.has-value .rz-dd-field-value {
    font-weight: 600;
    color: #334155;
}

.welcome-page .search-card .rz-dd-lead,
.listings-index-page .search-card .rz-dd-lead {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f5f3ff;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.05rem;
}

.welcome-page .search-card .rz-dd-caret,
.listings-index-page .search-card .rz-dd-caret {
    flex-shrink: 0;
    color: #94a3b8;
    font-size: 0.95rem;
}

@media (min-width: 980px) {
    .welcome-page .hero-inner > h1,
    .welcome-page .hero-inner > p {
        display: none;
    }

    .welcome-page .search-card,
    .listings-index-page .bz-search-card.search-card {
        padding: 24px 26px;
        border-radius: 14px;
    }

    .welcome-page .search-card .search-grid,
    .listings-index-page .search-card .search-grid.bz-browse-search-form,
    .listings-index-page .search-card .search-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
        align-items: stretch;
    }

    .welcome-page .search-card .search-grid > .rz-dd,
    .listings-index-page .search-card .search-grid > .rz-dd {
        width: 100%;
        min-width: 0;
    }

    .welcome-page .search-card .search-btn,
    .listings-index-page .search-card .search-btn {
        grid-column: auto;
        width: 100%;
        min-width: 0;
        align-self: stretch;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        padding: 0 16px;
        margin-top: 0;
        box-sizing: border-box;
    }

    .listings-index-page .browse-head.bz-desktop-sort-head {
        margin: 10px 0 24px;
    }
}

/* Tablet (769px–979px): browse/header tweaks on top of mobile shell (≤979px). */
@media (min-width: 769px) and (max-width: 979px) {
    .uh-right {
        gap: 14px;
    }

    .uh-logo img {
        max-width: 190px;
    }

    .uh-btn {
        padding: 10px 14px;
        font-size: 0.82rem;
    }

    .uh-center {
        display: none !important;
    }

    .welcome-page section.hero.hero--v2 {
        padding-top: 24px;
        padding-bottom: 28px;
    }

    .listings-home-page--results.welcome-page section.hero.hero--v2 {
        padding-bottom: 20px;
    }

    .listings-home-page--results .hero-v2-copy {
        margin-bottom: 18px;
    }

    .listings-index-page .search-card .search-grid {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .listings-index-page .search-card .search-btn {
        grid-column: 1 / -1;
        width: 100%;
        justify-self: stretch;
    }

    .welcome-page .search-card-head {
        margin-bottom: 16px;
    }

    /* Browse: filter button + drawer; 2 listings per row */
    .listings-index-page .bz-browse-search-mobile-form {
        display: none !important;
    }

    .listings-index-page .bz-browse-head.bz-desktop-sort-head {
        display: none !important;
    }

    .listings-index-page .bz-mbrowse-actions {
        display: flex;
        align-items: stretch;
        gap: 8px;
        margin-top: 14px;
        margin-bottom: 10px;
    }

    .listings-index-page .bz-mbrowse-actions .bz-mbrowse-pill-filters {
        flex: 1 1 0;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .listings-index-page .bz-mbrowse-pill {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0 12px;
        min-height: var(--rz-field-min-height);
        border-radius: 10px;
        border: 1px solid #e2e8f0;
        background: #fff;
        font-family: inherit;
        font-size: 0.78rem;
        font-weight: 600;
        color: #334155;
        cursor: pointer;
        white-space: nowrap;
    }

    .listings-index-page .bz-mbrowse-sort-form {
        flex: 1 1 0;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: stretch;
    }

    .listings-index-page .bz-sort-dd-m {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
    }

    .listings-index-page .bz-mbrowse-sort-trigger {
        width: 100%;
        min-height: var(--rz-field-min-height);
        border-radius: 10px !important;
        border: 1px solid #e2e8f0 !important;
        padding: 0 12px !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        color: #334155 !important;
        background: #fff !important;
        gap: 6px !important;
    }

    .listings-index-page .bz-sort-dd-m.open .bz-mbrowse-sort-trigger {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-color: #93c5fd;
    }

    .listings-index-page #bz-sort-dd-m .rz-dd-menu {
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin-top: 0 !important;
        z-index: 2410;
    }

    .listings-index-page #bz-sort-dd-m .rz-dd-item {
        font-size: 0.78rem;
        font-weight: 600;
    }

    .listings-index-page .bz-mbrowse-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #2563eb;
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
    }

    .listings-index-page .bz-mbrowse-results {
        display: block;
        margin: 0 0 6px;
        font-size: 0.92rem;
        font-weight: 700;
        color: #111827;
    }

    .listings-index-page .layout:not(.bz-layout),
    .listings-index-page .layout.bz-layout {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 0;
        align-items: start;
    }

    .listings-index-page .layout:not(.bz-layout) {
        margin: 32px 0 40px;
    }

    .listings-index-page .bz-mobile-sidebar-head {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding-bottom: 14px;
        margin-bottom: 14px;
        border-bottom: 1px solid #e5e7eb;
    }

    .listings-index-page .bz-mobile-sidebar-head-title {
        font-size: 1.05rem;
        font-weight: 700;
        color: #111827;
    }

    .listings-index-page .bz-drawer-clear-link {
        margin-left: auto;
        font-size: 0.8rem;
        font-weight: 600;
        color: #2563eb;
        text-decoration: none;
    }

    .listings-index-page .bz-sidebar .bz-top-row,
    .listings-index-page .bz-sidebar .bz-filters-head--desktop {
        display: none !important;
    }

    .listings-index-page .bz-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        max-height: 100dvh;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        overscroll-behavior: contain;
        margin: 0 !important;
        z-index: 2300;
        transform: translateX(-105%);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.28s ease, visibility 0.28s ease;
        border-radius: 0;
        padding: max(16px, env(safe-area-inset-top, 0px)) 0 0;
        box-shadow: none;
        border: 0 !important;
    }

    .listings-index-page.bz-drawer-open .bz-sidebar {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .listings-index-page .bz-drawer-close {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #334155;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
    }

    .listings-index-page .bz-browse-drawer-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 2290;
        background: rgba(15, 23, 42, 0.45);
        border: 0;
        padding: 0;
        margin: 0;
        cursor: pointer;
    }

    .listings-index-page.bz-drawer-open .bz-browse-drawer-backdrop {
        display: block;
    }

    body.listings-index-page.bz-drawer-open {
        overflow: hidden;
    }

    .listings-index-page .bz-content {
        min-width: 0;
    }

    .listings-index-page .listing-card .thumb,
    .listings-index-page .listing-card .listing-card-gallery-wrap,
    .listing-wishlist-page .listing-card .thumb,
    .listing-wishlist-page .listing-card .listing-card-gallery-wrap {
        height: 154px;
    }

    /* Other listing grids: one card per row (not browse results) */
    .welcome-page:not(.listings-index-page) .cards,
    .welcome-page .welcome-featured-cards {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    @media (min-width: 820px) {
        body.listings-index-page .bz-content > .cards {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 16px;
        }
    }

    .welcome-page .listing-card .thumb,
    .welcome-page .listing-card .listing-card-gallery-wrap {
        height: 198px;
    }

    /* Account pages: no inline sidebar — hamburger drawer only */
    .listings-my-page .layout,
    .listing-wishlist-page .layout,
    .listings-index-page .layout:not(.bz-layout),
    .listings-create-page .lyp-layout,
    .auth-profile-page .shell,
    .messages-page .messages-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0;
        width: 100%;
        max-width: 100%;
    }

    .listings-my-page .layout,
    .listing-wishlist-page .layout,
    .listings-index-page .layout:not(.bz-layout),
    .messages-page .messages-layout,
    .auth-profile-page .shell {
        margin: 32px 0 40px;
    }

    .messages-page .messages-main {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: var(--rz-main-padding-mobile);
    }

    .listings-create-page .lyp-layout {
        margin: 32px 0 40px;
    }

    /*.listings-my-page .main.my-main,
    .listings-my-page .layout > .main.my-main {
        border: 0 !important;
        border-radius: 0;
        box-shadow: none !important;
        padding: 0 !important;
    }*/

    /*.listing-wishlist-page .layout > .main,
    .listings-create-page .layout > .main.lyp-main {
        border: 1px solid #e4e9f2;
        border-radius: 14px;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
        padding: var(--rz-main-padding) !important;
    }*/

    .listings-my-page .my-hero-head .my-list-cta,
    .listing-wishlist-page .my-hero-head .my-hero-count {
        width: auto;
        margin-left: auto;
    }

    .listing-show-page .layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Hamburger + slide-over account drawer */
    body.rz-has-lp-sidebar .uh-nav-toggle {
        display: inline-flex;
    }

    .welcome-page #rzLpSidebar.lp-sidebar,
    .listings-index-page #rzLpSidebar.lp-sidebar,
    .contact-page #rzLpSidebar.lp-sidebar,
    .messages-page #rzLpSidebar.lp-sidebar,
    .listings-my-page #rzLpSidebar.lp-sidebar,
    .listing-wishlist-page #rzLpSidebar.lp-sidebar,
    .auth-profile-page #rzLpSidebar.lp-sidebar,
    body.my-plan-page-body #rzLpSidebar.lp-sidebar {
        display: block;
    }

    aside#rzLpSidebar.lp-sidebar {
        position: fixed;
        top: var(--rz-lp-drawer-top, 96px);
        height: calc(100% - var(--rz-lp-drawer-top, 96px) - var(--rz-lp-drawer-bottom, 0px));
        left: 0;
        width: min(300px, 90vw);
        max-width: 100%;
        margin: 0;
        z-index: 2300;
        transform: translateX(-100%);
        transition: transform 0.28s ease, visibility 0.28s ease;
        border-radius: 0 14px 14px 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        visibility: hidden;
        pointer-events: none;
        align-self: stretch;
        box-shadow: 8px 0 32px rgba(15, 23, 42, 0.12);
        padding-top: 12px;
        padding-bottom: 12px;
    }

    body.rz-lp-drawer-open aside#rzLpSidebar.lp-sidebar {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    body.rz-lp-drawer-open .rz-lp-drawer-backdrop:not([hidden]) {
        top: var(--rz-lp-drawer-top, 96px);
        bottom: var(--rz-lp-drawer-bottom, 0px);
    }

    body.rz-lp-drawer-open {
        overflow: hidden;
    }

    body.rz-lp-drawer-open .uh-header {
        position: relative;
        z-index: 2320;
    }

    main.main {
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
    




}



/* Admin Messages inbox (3-column) */
html:has(body.admin-body.admin-msg-inbox-active) {
    height: 100%;
    overflow: hidden;
}

body.admin-body.admin-msg-inbox-active {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    box-sizing: border-box;
    --admin-bottom-inset: max(388px, env(safe-area-inset-bottom, 0px) + 372px);
    padding-bottom: var(--admin-bottom-inset);
}

body.admin-body.admin-msg-inbox-active .admin-header {
    flex-shrink: 0;
}

body.admin-body.admin-msg-inbox-active .admin-shell {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 12px max(12px, env(safe-area-inset-right, 0px)) 8px max(12px, env(safe-area-inset-left, 0px));
    gap: 12px;
    overflow: hidden;
    align-items: stretch;
    display: grid;
}

body.admin-body.admin-msg-inbox-active .admin-shell .admin-lp-sidebar {
    position: relative;
    top: auto;
    align-self: stretch;
    max-height: 100%;
    overflow-y: auto;
}

body.admin-body.admin-msg-inbox-active .admin-shell .admin-main {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    min-width: 0;
    padding: 8px 10px 10px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    overflow: hidden;
}

.admin-msg-inbox-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    gap: 8px;
}

.admin-msg-inbox-page .admin-status-msg {
    flex-shrink: 0;
    margin: 0;
}
.admin-msg-inbox__flash {
    flex-shrink: 0;
    margin: 0;
    padding: 10px 14px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .875rem;
    font-weight: 600;
}
.admin-msg-inbox {
    display: grid;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr) minmax(260px, 300px);
    width: 100%;
    flex: 1;
    min-height: 0;
    height: auto;
    max-height: none;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
}

.admin-msg-inbox > * {
    min-height: 0;
}
.admin-msg-inbox__list {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-right: 1px solid #e5e7eb;
    background: #fff;
}
.admin-msg-inbox__list-head { padding: 20px 18px 12px; border-bottom: 1px solid #f3f4f6; }
.admin-msg-inbox__list-head h1 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 700; color: #111827; }
.admin-msg-inbox__list-head p { margin: 0; font-size: .8125rem; color: #6b7280; }
.admin-msg-inbox__search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 14px 12px;
    padding: 0 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f9fafb;
}
.admin-msg-inbox__search i { color: #9ca3af; }
.admin-msg-inbox__search input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 10px 0;
    font: inherit;
    font-size: .8125rem;
}
.admin-msg-inbox__filter-btn { border: 0; background: transparent; color: #6b7280; padding: 4px; cursor: pointer; }
.admin-msg-inbox__tabs { display: flex; gap: 6px; padding: 0 14px 12px; border-bottom: 1px solid #f3f4f6; }
.admin-msg-inbox__tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: .8125rem;
    font-weight: 600;
    color: #6b7280;
    text-decoration: none;
}
.admin-msg-inbox__tab.is-active { background: #eff6ff; color: #2563eb; }
.admin-msg-inbox__tab-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    flex-shrink: 0;
}
.admin-msg-inbox__tab-dot--all { background: #94a3b8; }
.admin-msg-inbox__tab-dot--open { background: #22c55e; }
.admin-msg-inbox__tab-dot--closed { background: #9ca3af; }
.admin-msg-inbox__tab-dot--unread { background: #2563eb; }
.admin-msg-inbox__cards { flex: 1; overflow-y: auto; padding: 8px 10px; }
.admin-msg-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 12px;
    margin-bottom: 6px;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    border: 1px solid transparent;
}
.admin-msg-card:hover { background: #f9fafb; }
.admin-msg-card.is-active { background: #eff6ff; border-color: #bfdbfe; }
.admin-msg-card.is-unread .admin-msg-card__top strong { font-weight: 700; color: #0f172a; }
.admin-msg-card:not(.is-unread) .admin-msg-card__top strong { font-weight: 500; color: #4b5563; }
.admin-msg-card__avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 700;
}
.admin-msg-card__body { min-width: 0; display: grid; gap: 2px; }
.admin-msg-card__top { display: flex; justify-content: space-between; gap: 8px; }
.admin-msg-card__top time { font-size: .6875rem; color: #9ca3af; }
.admin-msg-card__preview { font-size: .75rem; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-msg-card__badge {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: .6875rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.admin-msg-card__dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex-shrink: 0;
    align-self: center;
}
.admin-msg-card__dot--unread { background: #2563eb; box-shadow: 0 0 0 2px #dbeafe; }
.admin-msg-card__dot--open { background: #22c55e; box-shadow: 0 0 0 2px #dcfce7; }
.admin-msg-card__dot--closed { background: #9ca3af; box-shadow: 0 0 0 2px #f3f4f6; }
.admin-msg-card.is-unread { background: #f8fbff; }
.admin-msg-card.is-open { background: #fff; }
.admin-msg-card.is-closed { background: #fafafa; }
.admin-msg-card.is-closed .admin-msg-card__preview {
    color: #6b7280;
}
.admin-msg-inbox__pager { padding: 12px 14px; border-top: 1px solid #f3f4f6; }
.admin-msg-inbox__pager p { margin: 0 0 8px; font-size: .75rem; color: #6b7280; }
.admin-msg-inbox__page-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #374151;
}
.admin-msg-inbox__page-btn.is-active { background: #2563eb; border-color: #2563eb; color: #fff; }
.admin-msg-inbox__chat {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: #f8fafc;
    border-right: 1px solid #e5e7eb;
}
.admin-msg-inbox__chat-head {
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
}
.admin-msg-inbox__chat-head h2 { margin: 0 0 4px; font-size: 1.125rem; font-weight: 700; }
.admin-msg-inbox__thread {
    min-height: 0;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-anchor: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f1f5f9;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.admin-msg-inbox__thread::-webkit-scrollbar {
    width: 8px;
}
.admin-msg-inbox__thread::-webkit-scrollbar-track {
    background: transparent;
}
.admin-msg-inbox__thread::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}
.admin-msg-inbox__thread::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.admin-msg-inbox__day {
    align-self: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #64748b;
    font-size: .6875rem;
    font-weight: 600;
}
.admin-msg-bubble { display: flex; align-items: flex-end; gap: 10px; max-width: min(85%, 520px); }
.admin-msg-bubble.is-user { align-self: flex-start; flex-direction: row; }
.admin-msg-bubble.is-admin { align-self: flex-end; flex-direction: row-reverse; }
.admin-msg-bubble__avatar {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .6875rem;
    font-weight: 700;
}
.admin-msg-bubble__avatar.is-user { background: #e5e7eb; color: #475569; }
.admin-msg-bubble__avatar.is-admin { background: #dbeafe; color: #1d4ed8; }
.admin-msg-bubble.is-user .admin-msg-bubble__content {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 14px 14px 14px 4px;
    padding: 10px 14px;
}
.admin-msg-bubble.is-admin .admin-msg-bubble__content {
    background: #dbeafe;
    border: 1px solid #bfdbfe;
    border-radius: 14px 14px 4px 14px;
    padding: 10px 14px;
}
.admin-msg-bubble__body { font-size: .875rem; line-height: 1.5; white-space: pre-wrap; }
.admin-msg-compose {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
}
.admin-msg-compose__tabs {
    display: flex;
    flex-shrink: 0;
    padding: 0 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
}
.admin-msg-compose__view {
    display: none;
    flex: 1;
    min-height: 0;
    flex-direction: column;
}
.admin-msg-compose__view.is-active {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.admin-msg-compose__view.is-active .admin-msg-inbox__thread {
    min-height: 0;
    height: 100%;
    max-height: 100%;
}
.admin-msg-compose__notes-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 16px 8px;
}
.admin-msg-compose__footer {
    flex-shrink: 0;
    border-top: 1px solid #e5e7eb;
    background: #fff;
    position: relative;
    z-index: 3;
    box-shadow: 0 -6px 16px rgba(15, 23, 42, 0.06);
}
.admin-msg-inbox__chat.is-notes-mode {
    background: #fffbeb;
}
.admin-msg-compose__tab {
    border: 0;
    background: transparent;
    padding: 12px 14px;
    font-size: .8125rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.admin-msg-compose__tab.is-active { color: #2563eb; border-bottom-color: #2563eb; }
.admin-msg-compose__hint {
    margin: 0;
    padding: 10px 16px 0;
    font-size: .75rem;
    color: #6b7280;
    line-height: 1.4;
}
.admin-msg-compose__form { padding: 10px 14px 12px; display: grid; gap: 6px; }
.admin-msg-compose__form .chat-reply-box {
    min-height: 75px;
    max-height: 108px;
}
.admin-msg-compose__form .chat-reply-box__input {
    min-height: 75px;
    max-height: 108px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.admin-msg-compose__error {
    margin: 0;
    font-size: .8125rem;
    color: #dc2626;
}
.admin-msg-notes-panel {
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #fde68a;
}
.admin-msg-notes-panel--expanded {
    min-height: 100%;
    background: transparent;
    border: 0;
    padding: 0;
}
.admin-msg-notes-panel--expanded .admin-msg-notes__item {
    background: #fff;
}
.admin-msg-notes-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
.admin-msg-notes-panel__head h3 {
    margin: 0;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #92400e;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.admin-msg-notes-panel__count {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #fcd34d;
    color: #78350f;
    font-size: .6875rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.admin-msg-notes {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.admin-msg-notes__item {
    padding: 10px 12px;
    border-radius: 10px;
    background: #fffbeb;
    border: 1px solid #fde68a;
}
.admin-msg-notes__body {
    margin: 0 0 6px;
    font-size: .8125rem;
    line-height: 1.45;
    color: #374151;
    white-space: pre-wrap;
    word-break: break-word;
}
.admin-msg-notes__meta {
    margin: 0;
    font-size: .6875rem;
    color: #92400e;
}
.admin-msg-notes__empty {
    margin: 0;
    font-size: .8125rem;
    color: #9ca3af;
}
.admin-msg-inbox__detail { display: flex; flex-direction: column; gap: 14px; padding: 18px 16px; overflow-y: auto; }
.admin-msg-detail-card h3 {
    margin: 0 0 12px;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #9ca3af;
}
.admin-msg-detail-profile { display: flex; gap: 12px; }
.admin-msg-detail-profile__avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.admin-msg-detail-meta, .admin-msg-detail-stats { display: grid; gap: 10px; margin: 0; }
.admin-msg-detail-meta dt, .admin-msg-detail-stats dt { font-size: .75rem; color: #9ca3af; }
.admin-msg-detail-meta dd, .admin-msg-detail-stats dd { margin: 0; font-size: .8125rem; font-weight: 600; color: #111827; }
.admin-msg-detail-status.is-open { background: #dcfce7; color: #166534; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.admin-msg-detail-status.is-handled { background: #f3f4f6; color: #4b5563; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.admin-msg-detail-close button {
    width: 100%;
    padding: 12px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    font-weight: 600;
    cursor: pointer;
}
.admin-msg-inbox__placeholder {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    text-align: center;
    padding: 40px;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.thread-attachments { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.thread-attachments__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    text-decoration: none;
    font-size: .8125rem;
    font-weight: 600;
    color: #111827;
}
.thread-attachments__thumb {
    display: block;
    max-width: 180px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
}
.thread-attachments__thumb img { display: block; width: 100%; max-height: 140px; object-fit: cover; }
.thread-attachments__thumb:hover img { opacity: 0.92; }

body.thread-image-lightbox-open {
    overflow: hidden;
}

.thread-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.thread-image-lightbox[hidden] {
    display: none !important;
}

.thread-image-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
}

.thread-image-lightbox-dialog {
    position: relative;
    z-index: 1;
    width: min(960px, 100%);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}

.thread-image-lightbox-dialog > * {
    pointer-events: auto;
}

.thread-image-lightbox-stage {
    margin: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.thread-image-lightbox-stage img {
    display: block;
    max-width: 100%;
    max-height: min(72vh, 640px);
    width: auto;
    height: auto;
    border-radius: 12px;
    background: #0f172a;
    object-fit: contain;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.thread-image-lightbox-stage figcaption {
    color: #f8fafc;
    font-size: .88rem;
    font-weight: 600;
}

.thread-image-lightbox-close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.1rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.thread-image-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.24);
}

.thread-image-lightbox-nav {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #0f172a;
    font-size: 1.25rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);
}

.thread-image-lightbox-nav:hover:not(:disabled) {
    background: #fff;
}

.thread-image-lightbox-nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .thread-image-lightbox {
        padding: 12px;
    }

    .thread-image-lightbox-dialog {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto;
        gap: 10px;
        width: 100%;
    }

    .thread-image-lightbox-nav--prev,
    .thread-image-lightbox-nav--next {
        justify-self: center;
    }

    .thread-image-lightbox-nav--prev {
        order: 2;
    }

    .thread-image-lightbox-stage {
        order: 1;
    }

    .thread-image-lightbox-nav--next {
        order: 3;
    }

    .thread-image-lightbox-close {
        top: 8px;
        right: 8px;
        z-index: 2;
    }
}
/* User Messages */
.lp-link .lp-badge {
    margin-left: auto;
    margin-right: 4px;
    min-width: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    flex-shrink: 0;
}
.lp-link--help:has(.lp-badge) .lp-link-chevron {
    margin-left: 0;
}
.messages-page .messages-layout {
    margin: 32px 0 40px;
    width: 100%;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
    align-items: start;
}
@media (min-width: 980px) {
    .messages-page .messages-layout {
        grid-template-columns: 280px minmax(0, 1fr);
    }
    .messages-page #rzLpSidebar.lp-sidebar {
        display: block;
        position: static;
        transform: none;
        visibility: visible;
        pointer-events: auto;
        width: 280px;
        height: auto;
        box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    }
}
.messages-page .messages-main {
    flex: 1;
    min-width: 0;
    padding: 24px 22px 28px;
    background: #fff;
    border: 1px solid #e4e9f2;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
}
.messages-page .messages-banner {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .875rem;
    font-weight: 600;
}
.messages-page .messages-banner--info {
    font-weight: 500;
    line-height: 1.45;
}
.messages-page .messages-banner--info strong {
    font-weight: 700;
}
.messages-page .messages-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.messages-page .messages-head h1 {
    margin: 0 0 4px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
}
.messages-page .messages-sub {
    margin: 0;
    font-size: .875rem;
    color: #6b7280;
}
.messages-page .messages-new-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 10px;
    background: var(--rz-btn-primary-bg);
    color: #fff;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    border: 0;
}
.messages-page .messages-new-btn:hover {
    background: var(--rz-btn-primary-bg-hover);
    color: #fff;
}
.messages-page .messages-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}
.messages-page .messages-panel--form {
    padding: 20px 22px;
    border: 0;
    box-shadow: none;
}
.messages-page .messages-thread {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #f3f4f6;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}
.messages-page .messages-thread:last-child {
    border-bottom: 0;
}
.messages-page .messages-thread:hover {
    background: #f9fafb;
}
.messages-page .messages-thread.is-unread {
    background: #f8fbff;
}
.messages-page .messages-thread.is-unread .messages-thread__title {
    font-weight: 700;
    color: #0f172a;
}
.messages-page .messages-thread__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    flex-shrink: 0;
}
.messages-page .messages-thread__body {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 2px;
}
.messages-page .messages-thread__top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}
.messages-page .messages-thread__top time {
    font-size: .6875rem;
    color: #9ca3af;
    flex-shrink: 0;
}
.messages-page .messages-thread__title {
    font-size: .9375rem;
    font-weight: 600;
    color: #111827;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.messages-page .messages-thread__preview {
    font-size: .8125rem;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.messages-page .messages-thread__badge {
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.messages-page .messages-thread__badge--active {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}
.messages-page .messages-thread__badge--resolved {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
}
.messages-page .messages-thread__badge--pending {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}
.messages-page .messages-thread.is-open .messages-thread__icon {
    background: #ecfdf5;
    color: #16a34a;
}
.messages-page .messages-thread__chev {
    color: #9ca3af;
    flex-shrink: 0;
}
.messages-page .messages-empty {
    padding: 48px 24px;
    text-align: center;
    color: #6b7280;
}
.messages-page .messages-empty i {
    font-size: 2rem;
    color: #93c5fd;
    display: block;
    margin-bottom: 12px;
}
.messages-page .messages-back a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2563eb;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 14px;
}
.messages-page .messages-thread-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.messages-page .messages-thread-head__main {
    min-width: 0;
    flex: 1;
}
.messages-page .messages-thread-head h1 {
    margin: 0 0 4px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
}
.messages-page .messages-thread-head p {
    margin: 0;
    font-size: .8125rem;
    color: #6b7280;
}
.messages-end-form {
    margin: 0;
    flex-shrink: 0;
}
.messages-end-btn {
    border: 0;
    background: transparent;
    color: #b91c1c;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.25rem 0;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.15s ease;
}
.messages-end-btn:hover {
    color: #991b1b;
}
.messages-show-page .messages-main .messages-mobile-head .messages-end-form {
    flex-shrink: 0;
    align-self: center;
}
.messages-show-page .messages-main .messages-mobile-head .messages-end-btn {
    font-size: 0.8125rem;
    padding: 0.35rem 0.5rem;
}
.messages-page .messages-chat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    max-height: min(56vh, 520px);
    overflow-y: auto;
    overflow-anchor: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
}
.messages-page .messages-chat__day {
    align-self: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #64748b;
    font-size: .6875rem;
    font-weight: 600;
}
.messages-page .messages-bubble {
    max-width: min(100%, 640px);
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
}
.messages-page .messages-bubble.is-user {
    align-self: flex-end;
    background: #dbeafe;
    border-color: #bfdbfe;
    border-radius: 12px 12px 4px 12px;
}
.messages-page .messages-bubble.is-admin {
    align-self: flex-start;
    background: #f3f4f6;
    border-color: #e5e7eb;
    border-radius: 12px 12px 12px 4px;
}
.messages-page .messages-bubble__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: .75rem;
    color: #6b7280;
}
.messages-page .messages-bubble__head strong {
    color: #111827;
    font-size: .8125rem;
}
.messages-page .messages-bubble__card {
    display: contents;
}
.messages-page .messages-bubble__meta-time {
    display: none;
}
.messages-show-page .uh-status,
.messages-show-page .messages-banner {
    display: none !important;
}

.messages-show-page .messages-main .messages-flash {
    flex-shrink: 0;
    margin: 8px 12px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .8125rem;
    line-height: 1.45;
}
.messages-show-page .messages-mobile-head {
    display: none;
}
.messages-show-page .messages-bubble__foot {
    display: none;
}
.messages-show-page .messages-bubble__read {
    display: none;
}
.messages-show-page .messages-bubble__avatar-icon {
    display: none;
}
.chat-reply-compose {
    display: contents;
}
.chat-reply-compose__send {
    display: none;
}
.chat-reply-box__send--inline-desktop {
    display: none;
}

/* Thread show — chat panel (mobile mockup inside .messages-main) */
.messages-show-page .messages-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}
.messages-show-page .messages-main .messages-back,
.messages-show-page .messages-main .messages-thread-head {
    display: none !important;
}
    .messages-show-page .messages-main .messages-mobile-head {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
        padding: 10px 12px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }

    .messages-show-page .messages-main .messages-mobile-head__back {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0;
        color: #2563eb;
        text-decoration: none;
        font-size: 1.375rem;
        flex-shrink: 0;
    }

    .messages-show-page .messages-main .messages-mobile-head__info {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1 1 auto;
        min-width: 0;
    }

    .messages-show-page .messages-main .messages-mobile-head__avatar {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #2563eb;
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
    }

    .messages-show-page .messages-main .messages-mobile-head__titles {
        min-width: 0;
    }

    .messages-show-page .messages-main .messages-mobile-head__titles strong {
        display: block;
        font-size: .9375rem;
        font-weight: 700;
        line-height: 1.25;
        color: #111827;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .messages-show-page .messages-main .messages-mobile-head__titles span {
        display: block;
        margin-top: 1px;
        font-size: .75rem;
        line-height: 1.3;
        color: #6b7280;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .messages-show-page .messages-main .messages-chat .messages-closed-notice-wrap {
        margin-top: 30px;
    }

    .messages-show-page .messages-main .messages-chat .messages-closed-notice {
        font-size: 0.875rem;
        color: #6b7280;
    }

    .messages-show-page .messages-main .messages-chat {
        display: flex;
        flex-direction: column;
        flex: 1 1 0;
        min-height: 0;
        max-height: none;
        margin: 0;
        margin-bottom: 0;
        padding: 10px 0 14px;
        gap: 20px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: #fff;
    }

    .messages-show-page .messages-main .messages-chat__started {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 2px 0 8px;
        flex-shrink: 0;
    }

    .messages-show-page .messages-main .messages-chat__started-line {
        flex: 1 1 auto;
        height: 1px;
        background: #d1d5db;
    }

    .messages-show-page .messages-main .messages-chat__started-text {
        flex: 0 0 auto;
        font-size: .75rem;
        font-weight: 500;
        line-height: 1.2;
        color: #9ca3af;
        white-space: nowrap;
    }

    .messages-show-page .messages-main .messages-chat__day {
        display: none;
    }

    .messages-show-page .messages-main .messages-bubble {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .messages-show-page .messages-main .messages-bubble.is-user {
        align-self: flex-end;
        justify-content: flex-end;
        max-width: 82%;
    }

    .messages-show-page .messages-main .messages-bubble.is-admin {
        align-self: flex-start;
        align-items: flex-start;
        max-width: 88%;
    }

    .messages-show-page .messages-main .messages-bubble__avatar.is-admin {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        margin: 11px 0 0;
        border-radius: 50%;
        background: #2563eb;
        color: #fff;
        border: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .messages-show-page .messages-main .messages-bubble__avatar-icon {
        display: block !important;
        font-size: .9375rem;
        line-height: 1;
    }

    .messages-show-page .messages-main .messages-bubble__avatar-img {
        display: none !important;
    }

    .messages-show-page .messages-main .messages-bubble__main {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        display: flex;
        flex-direction: column;
    }
    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__main { margin-left:10%; }

    .messages-show-page .messages-main .messages-bubble.is-admin .messages-bubble__main { margin-right:10%; }

    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__main {
        flex: 0 1 auto;
        max-width: 100%;
    }

    .messages-show-page .messages-main .messages-bubble__card {
        display: block !important;
        position: relative;
        box-sizing: border-box;
        padding: 10px 12px 8px;
        border: 0;
        box-shadow: none;
    }

    .messages-show-page .messages-main .messages-bubble.is-admin .messages-bubble__card {
        background: #e8eaed;
        border-radius: 2px 18px 18px 18px;
    }

    .messages-show-page .messages-main .messages-bubble.is-admin .messages-bubble__card::before {
        content: "";
        position: absolute;
        left: -5px;
        top: 12px;
        width: 10px;
        height: 10px;
        background: #e8eaed;
        transform: rotate(45deg);
        border-radius: 1px;
    }

    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__card {
        background: #2b7fff;
        border-radius: 18px 18px 2px 18px;
    }

    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__card::before {
        content: "";
        position: absolute;
        right: -5px;
        bottom: 12px;
        width: 10px;
        height: 10px;
        background: #2b7fff;
        transform: rotate(45deg);
        border-radius: 1px;
    }

    .messages-show-page .messages-main .messages-bubble__head {
        display: block !important;
        margin: 0 0 3px;
        padding: 0;
    }

    .messages-show-page .messages-main .messages-bubble__head strong {
        font-size: .8125rem;
        font-weight: 700;
        line-height: 1.25;
        color: #111827;
    }

    .messages-show-page .messages-main .messages-bubble__body {
        font-size: .9375rem;
        line-height: 1.4;
        color: #111827;
    }

    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__body {
        color: #fff;
    }

    .messages-show-page .messages-main .messages-bubble .thread-attachments {
        margin-top: 8px;
    }

    .messages-show-page .messages-main .messages-bubble.is-user .thread-attachments__link {
        background: rgba(255, 255, 255, 0.14);
        border-color: rgba(255, 255, 255, 0.28);
        color: #fff;
    }

    .messages-show-page .messages-main .messages-bubble__foot {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 3px;
        margin-top: 4px;
        padding: 0;
    }

    .messages-show-page .messages-main .messages-bubble__foot {
        text-align: right !important;
        border-top: 0 !important;
        background: none !important;
    }

    .messages-show-page .messages-main .messages-bubble__foot-time {
        font-size: .6875rem;
        line-height: 1;
        color: #9ca3af;
    }

    .messages-show-page .messages-main .messages-bubble.is-user .messages-bubble__foot-time {
        color: rgba(255, 255, 255, 0.88);
    }

    .messages-show-page .messages-main .messages-bubble__read {
        display: inline-flex !important;
        align-items: center;
        color: rgba(255, 255, 255, 0.95);
        font-size: .75rem;
        line-height: 1;
    }

    .messages-show-page .messages-main .messages-bubble__meta-time {
        display: none !important;
    }

    .messages-show-page .messages-main .messages-compose {
        flex: 0 0 auto;
        margin: 0;
        padding: 10px 12px 12px;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        min-height: 64px;
        box-sizing: border-box;
        position: relative;
        z-index: 2;
    }

    .messages-show-page .messages-main .messages-compose__form--reply {
        position: relative;
        margin: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .messages-show-page .messages-main .chat-reply-compose {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .messages-show-page .messages-main .chat-reply-field--grow {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        overflow: visible;
    }

    .messages-show-page .messages-main .chat-reply-box--send-outside {
        width: 100%;
        min-height: var(--rz-field-min-height);
        max-height: 96px;
        border: 1px solid #d1d5db;
        border-radius: 999px;
        background: #fff;
        overflow: hidden;
        box-sizing: border-box;
    }

    .messages-show-page .messages-main .chat-reply-box--send-outside .chat-reply-box__input {
        min-height: var(--rz-field-min-height);
        max-height: 96px;
        padding: 11px 14px 11px 42px;
        overflow-y: auto;
    }

    .messages-show-page .messages-main .chat-reply-box--send-outside .chat-reply-box__attach {
        left: 8px;
        bottom: 7px;
        color: #6b7280;
    }

    .messages-show-page .messages-main .chat-reply-box__send--inline-desktop {
        display: none !important;
    }

    .messages-show-page .messages-main .chat-reply-compose__send {
        display: inline-flex;
        flex: 0 0 42px;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin: 0 0 1px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #2b7fff;
        color: #fff;
        font-size: 1.125rem;
        cursor: pointer;
        transition: background .15s ease, transform .1s ease;
    }

    .messages-show-page .messages-main .chat-reply-compose__send:hover {
        background: #1a6fe8;
    }

    .messages-show-page .messages-main .chat-reply-compose__send:active {
        transform: scale(0.96);
    }

    .messages-show-page .messages-main .messages-compose__error {
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: calc(100% + 2px);
        margin: 0;
        padding: 6px 10px;
        border-radius: 8px;
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
        font-size: .75rem;
        line-height: 1.3;
        z-index: 2;
        pointer-events: none;
    }
@media (min-width: 980px) {
    .messages-show-page .messages-layout {
        align-items: stretch;
    }
    .messages-show-page .messages-main {
        min-height: min(62vh, 600px);
        max-height: min(calc(100vh - 200px), 720px);
        padding: 0;
        border: 1px solid #e4e9f2;
        border-radius: 14px;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
        background: #f0f2f5;
    }
    body.messages-show-page.messages-page .messages-main {
        padding: 0 !important;
        border: 1px solid #e4e9f2 !important;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    }
    .messages-show-page .messages-main .messages-back,
    .messages-show-page .messages-main .messages-thread-head {
        display: none !important;
    }

    .messages-page .messages-chat {
        padding-left: 30px;
        padding-right: 30px;
    }

    .messages-show-page .messages-main .messages-chat {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.messages-page .messages-bubble__body {
    font-size: .9rem;
    line-height: 1.55;
    color: #374151;
    white-space: pre-wrap;
    word-break: break-word;
}
.messages-page .messages-compose {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 12px 0 0;
}
.messages-page .messages-compose__form--reply {
    margin: 0;
}
.messages-page .messages-compose__title {
    margin: 0 0 12px;
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}
.messages-page .messages-compose__form--new textarea,
.messages-page .messages-field select,
.messages-page .messages-field input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: .875rem;
    font-family: inherit;
    min-height: var(--rz-field-min-height);
}
.messages-page .messages-field select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 40px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='%2394a3b8'%3E%3Cpath d='M4.646 6.646a.5.5 0 0 1 .708 0L8 9.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 12px;
}
.messages-page .messages-compose__form--new textarea:focus,
.messages-page .messages-field select:focus {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.messages-page .messages-field {
    display: block;
    margin-bottom: 14px;
}
.messages-page .messages-field span {
    display: block;
    margin-bottom: 6px;
    font-size: .8125rem;
    font-weight: 700;
    color: #374151;
}
@media (max-width: 1024px) {
    .messages-page .messages-field select {
        height: var(--rz-field-min-height);
        min-height: var(--rz-field-min-height);
        padding-top: 0;
        padding-bottom: 0;
        line-height: var(--rz-field-min-height);
    }
}
.messages-page .messages-compose__error {
    margin: 8px 0 0;
    font-size: .8125rem;
    color: #dc2626;
}
.messages-page .messages-compose__submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    background: var(--rz-btn-primary-bg);
    color: #fff;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
}
.messages-page .messages-compose__submit:hover {
    background: var(--rz-btn-primary-bg-hover);
}
.messages-chat .messages-closed-notice-wrap,
.admin-msg-inbox__thread .messages-closed-notice-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    flex-shrink: 0;
}
.admin-msg-compose.is-thread-closed [data-compose-view="reply"] .admin-msg-compose__footer {
    display: none !important;
}
.messages-closed-notice {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.01em;
    text-align: center;
}
.messages-chat .messages-awaiting-notice-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    flex-shrink: 0;
}
.messages-awaiting-notice {
    margin: 0;
    max-width: 28rem;
    padding: 12px 16px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.45;
    color: #92400e;
    text-align: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
}
.messages-awaiting-notice .bi {
    margin-right: 6px;
    vertical-align: -0.1em;
}
body.messages-thread-awaiting .messages-compose,
body.messages-thread-awaiting [data-messages-compose] {
    display: none !important;
}
body.messages-thread-closed .messages-compose,
body.messages-thread-closed .messages-end-form {
    display: none !important;
}
.admin-msg-card__badge {
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.admin-msg-card__badge--active {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}
.admin-msg-card__badge--resolved {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
}
.admin-msg-inbox__tab.is-active:has(.admin-msg-inbox__tab-dot--open) {
    background: #ecfdf5;
    color: #15803d;
}
.admin-msg-inbox__tab.is-active:has(.admin-msg-inbox__tab-dot--closed) {
    background: #f3f4f6;
    color: #6b7280;
}
.messages-page .messages-thread.is-closed .messages-thread__preview {
    color: #6b7280;
}
.admin-msg-detail-status.is-closed {
    background: #f3f4f6;
    color: #6b7280;
}
.admin-msg-detail-closed {
    margin: 0;
    padding: 12px;
    border-radius: 10px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #047857;
    font-size: .8125rem;
    line-height: 1.45;
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
@media (max-width: 1200px) {
    .admin-msg-inbox { grid-template-columns: minmax(260px, 300px) minmax(0, 1fr); }
    .admin-msg-inbox__detail { display: none; }
}
@media (max-width: 900px) {
    body.admin-body.admin-msg-inbox-active {
        --admin-bottom-inset: max(376px, env(safe-area-inset-bottom, 0px) + 356px);
    }
    .admin-msg-inbox {
        grid-template-columns: 1fr;
    }
    .admin-msg-inbox__list {
        flex-shrink: 0;
        max-height: min(36vh, 280px);
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
    }
    .admin-msg-inbox__chat {
        min-height: 0;
        height: auto;
        max-height: none;
        flex: 1;
    }
}

/* Mobile-only: chat-style message thread */
@media (max-width: 979px) {
    html:has(body.messages-show-page) {
        height: 100%;
        overflow: hidden;
    }

    body.messages-show-page {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        height: 100dvh;
        max-height: 100dvh;
        box-sizing: border-box;
        padding-bottom: 0;
    }

    body.messages-show-page .container {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.messages-show-page.messages-page .messages-layout {
        margin: 0 !important;
    }

    body.messages-show-page.messages-page .messages-main {
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.messages-show-page.messages-page .messages-chat {
        display: flex !important;
        flex-direction: column !important;
        max-height: none !important;
        margin-bottom: 0 !important;
        padding-right: 0 !important;
    }

    body.messages-show-page.messages-page .messages-bubble {
        max-width: none !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .messages-show-page .uh-header,
    .messages-show-page .site-footer,
    .messages-show-page .rz-newsletter-section,
    .messages-show-page .rz-bottom-nav,
    .messages-show-page .rz-bottom-nav-spacer,
    .messages-show-page #rzLpSidebar,
    .messages-show-page .rz-lp-drawer-backdrop,
    .messages-show-page .uh-notifications-backdrop,
    .messages-show-page .messages-banner,
    .messages-show-page .messages-back,
    .messages-show-page .messages-thread-head {
        display: none !important;
    }

    .messages-show-page .container {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .messages-show-page .messages-layout {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        width: 100%;
    }

    .messages-show-page .messages-main {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
        max-height: 100%;
        margin: 0;
        padding: 0;
        padding-top: env(safe-area-inset-top, 0px);
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #f0f2f5;
        overflow: hidden;
        position: relative;
    }

    .messages-show-page .messages-main .messages-mobile-head {
        flex-shrink: 0;
    }

    .messages-show-page .messages-main .messages-chat {
        flex: 1 1 auto;
        min-height: 0;
        --messages-compose-offset: calc(170px + env(safe-area-inset-bottom, 0px));
        padding-bottom: calc(var(--messages-compose-offset) + 54px);
        scroll-padding-bottom: calc(var(--messages-compose-offset) + 54px);
    }

    .messages-show-page .messages-main .messages-compose {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        flex: 0 0 auto;
        margin: 0;
        padding: 10px 12px max(12px, env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.08);
    }

    body.messages-thread-closed.messages-show-page .messages-main .messages-chat {
        padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
        scroll-padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
    }

}

/* Primary blue CTAs — brand gradient (overrides page-scoped solid blues) */
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
.btn-blue,
a.btn-blue,
.btn.primary,
.uh-btn.primary,
.uh-list-cta,
.auth-profile-page .bottom-actions .btn-primary,
.listings-create-page .lyp-btn-primary,
.listings-create-page .btn-primary.lyp-btn-primary,
.listings-add-property-page .lyp-mobile-footer-btn,
.listings-add-property-page .lyp-mobile-continue-btn,
.listings-add-property-page .lyp-summary-continue-btn,
.listing-show-page .login-card .btn-blue,
.listing-show-page .btn-blue,
.rz-auth-submit,
.auth-forgot-page .submit-btn,
.auth-login-page .submit-btn,
.auth-register-page .submit-btn,
.admin-users-page .btn.primary,
.admin-users-all-page .search-btn,
.admin-users-all-page .btn.details,
.admin-contact-page .search-btn,
.admin-contact-page .btn.details,
.listings-index-page .bz-apply-btn,
.listings-index-page .apply-btn,
.welcome-page .search-card .search-btn,
.listings-index-page .search-card .search-btn,
.messages-page .messages-new-btn,
.messages-page .messages-compose__submit,
.contact-page .contact-submit,
.admin-settings-save,
.admin-mod-export-btn,
.rz-bn-post-fab,
.chat-reply-box__send,
.messages-show-page .messages-main .chat-reply-compose__send,
.messages-show-page .messages-main .chat-reply-box__send--inline-desktop {
    background: var(--rz-btn-primary-bg) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.btn.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover,
.btn-blue:hover,
a.btn-blue:hover,
.btn.primary:hover,
.uh-btn.primary:hover,
.uh-list-cta:hover,
.auth-profile-page .bottom-actions .btn-primary:hover,
.listings-create-page .lyp-btn-primary:hover,
.listings-create-page .btn-primary.lyp-btn-primary:hover,
.listings-add-property-page .lyp-mobile-footer-btn:hover,
.listings-add-property-page .lyp-mobile-continue-btn:hover,
.listings-add-property-page .lyp-summary-continue-btn:hover,
.listing-show-page .login-card .btn-blue:hover,
.listing-show-page .btn-blue:hover,
.rz-auth-submit:hover,
.auth-forgot-page .submit-btn:hover,
.auth-login-page .submit-btn:hover,
.auth-register-page .submit-btn:hover,
.admin-users-page .btn.primary:hover,
.admin-users-all-page .search-btn:hover,
.admin-users-all-page .btn.details:hover,
.admin-contact-page .search-btn:hover,
.admin-contact-page .btn.details:hover,
.listings-index-page .bz-apply-btn:hover,
.listings-index-page .apply-btn:hover,
.welcome-page .search-card .search-btn:hover,
.listings-index-page .search-card .search-btn:hover,
.messages-page .messages-new-btn:hover,
.messages-page .messages-compose__submit:hover,
.contact-page .contact-submit:hover,
.admin-settings-save:hover,
.admin-mod-export-btn:hover,
.rz-bn-post-fab:hover,
.chat-reply-box__send:hover,
.messages-show-page .messages-main .chat-reply-compose__send:hover,
.messages-show-page .messages-main .chat-reply-box__send--inline-desktop:hover {
    background: var(--rz-btn-primary-bg-hover) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* Delete-draft / delete-listing modal submit — must beat migrated global .btn */
.btn.lyp-draft-delete-modal-submit,
.listings-create-page .btn.lyp-draft-delete-modal-submit,
.btn.my-delete-modal-submit {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
}
.btn.lyp-draft-delete-modal-submit:hover,
.listings-create-page .btn.lyp-draft-delete-modal-submit:hover,
.btn.my-delete-modal-submit:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}
.btn.lyp-draft-delete-modal-submit .bi,
.listings-create-page .btn.lyp-draft-delete-modal-submit .bi,
.btn.my-delete-modal-submit .bi {
    color: #fff !important;
}

/* Pause listing modal submit — primary CTA, not delete red */
.btn.my-pause-modal-submit,
button.my-pause-modal-submit {
    background: var(--rz-btn-primary-bg) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}
.btn.my-pause-modal-submit:hover,
button.my-pause-modal-submit:hover {
    background: var(--rz-btn-primary-bg-hover) !important;
    border-color: transparent !important;
    color: #fff !important;
}
.btn.my-pause-modal-submit .bi {
    color: #fff !important;
}

.legal-page .legal-main {
    max-width: 760px;
    margin: 0 auto;
    padding: 28px 0 48px;
}

.legal-page .legal-doc {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 32px 28px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .04);
}

.legal-page .legal-doc-head h1 {
    margin: 0 0 8px;
    font-size: clamp(1.6rem, 3vw, 2rem);
    color: #0f172a;
    line-height: 1.2;
}

.legal-page .legal-doc-meta {
    margin: 0 0 20px;
    color: #64748b;
    font-size: .92rem;
}

.legal-page .legal-doc-intro {
    margin: 0 0 24px;
    color: #334155;
    line-height: 1.65;
    font-size: .98rem;
}

.legal-page .legal-doc-section {
    margin-bottom: 24px;
}

.legal-page .legal-doc-section:last-child {
    margin-bottom: 0;
}

.legal-page .legal-doc-section h2 {
    margin: 0 0 10px;
    font-size: 1.12rem;
    color: #0f172a;
}

.legal-page .legal-doc-section p {
    margin: 0 0 10px;
    color: #334155;
    line-height: 1.65;
    font-size: .95rem;
}

.legal-page .legal-doc-section ul {
    margin: 0;
    padding-left: 1.25rem;
    color: #334155;
    line-height: 1.65;
    font-size: .95rem;
}

.legal-page .legal-doc-section li + li {
    margin-top: 6px;
}

.legal-page .legal-doc-contact {
    margin: 0;
}

.legal-page .legal-doc-contact a {
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 600;
}

.legal-page .legal-doc-contact a:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .legal-page .legal-main {
        padding: 18px 0 36px;
    }

    .legal-page .legal-doc {
        padding: 22px 18px;
        border-radius: 12px;
    }
}

/* Admin monitoring dashboard */
.admin-mon-page {
    --mon-purple: #6366f1;
    --mon-purple-soft: #eef2ff;
    --mon-border: #e8edf5;
    --mon-bg: #f8fafc;
}

.admin-mon-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.admin-mon-header__main {
    flex: 1 1 520px;
    min-width: 0;
}

.admin-mon-header__titles {
    margin-bottom: 0;
}

.admin-mon-header__title {
    margin: 0 0 4px;
    font-size: 1.55rem;
    font-weight: 800;
    color: #0f172a;
}

.admin-mon-header__sub {
    margin: 0;
    font-size: .9rem;
    color: #64748b;
}

.admin-mon-header__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.admin-mon-tabs-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 16px;
    padding: 0;
    border-bottom: 1px solid var(--mon-border);
    overflow: visible;
}

.admin-mon-tabs-bar__tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 12px 16px;
    margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    text-decoration: none;
    font-size: .84rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease;
}

.admin-mon-tabs-bar__tab:hover {
    color: var(--mon-purple);
}

.admin-mon-tabs-bar__tab.is-active {
    color: var(--mon-purple);
    border-bottom-color: var(--mon-purple);
}

.admin-mon-tabs-bar__badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #fee2e2;
    color: #b91c1c;
    font-size: .7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-mon-range {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    height: 42px;
    border: 1px solid var(--mon-border);
    border-radius: 10px;
    background: #fff;
    color: #64748b;
}

.admin-mon-range select {
    border: 0;
    background: transparent;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    color: #334155;
    min-width: 130px;
    cursor: pointer;
}

.admin-mon-range select:focus {
    outline: none;
}

.admin-mon-refresh-btn {
    width: 42px;
    height: 42px;
    border: 1px solid var(--mon-border);
    border-radius: 10px;
    background: #fff;
    color: var(--mon-purple);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-mon-updated {
    font-size: .8rem;
    color: #64748b;
}

.admin-mon-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-size: .82rem;
    font-weight: 700;
    color: var(--mon-purple);
    text-decoration: none;
}

.admin-mon-detail-head {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-mon-detail-head__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--mon-purple-soft);
    color: var(--mon-purple);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.admin-mon-metric-description {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    max-width: 720px;
}

.admin-mon-metric-description .bi-info-circle {
    flex-shrink: 0;
    margin-top: 2px;
    color: #6366f1;
    font-size: 1rem;
}

.admin-mon-metric-description p {
    margin: 0;
    font-size: .92rem;
    line-height: 1.55;
    color: #475569;
}

.admin-mon-pane {
    display: none;
}

.admin-mon-pane.is-active {
    display: block;
}

.admin-mon-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.admin-mon-kpi {
    background: #fff;
    border: 1px solid var(--mon-border);
    border-radius: 14px;
    padding: 16px 18px;
    min-height: 92px;
}

.admin-mon-kpi__label {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 6px;
}

.admin-mon-kpi__value {
    display: block;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
}

.admin-mon-kpi--alerts .admin-mon-kpi__value { color: var(--mon-purple); }
.admin-mon-kpi--critical .admin-mon-kpi__value { color: #dc2626; }
.admin-mon-kpi--warning .admin-mon-kpi__value { color: #d97706; }
.admin-mon-kpi--healthy .admin-mon-kpi__value { color: #16a34a; }

.admin-mon-kpi__link {
    display: inline-block;
    margin-top: 8px;
    font-size: .75rem;
    font-weight: 700;
    color: var(--mon-purple);
    text-decoration: none;
}

.admin-mon-group-block {
    margin-bottom: 28px;
}

.admin-mon-group-title {
    margin: 0;
    padding: 15px 0 10px;
    font-size: 20px !important;
    font-weight: 800;
    color: #0f172a;
}

.admin-mon-metric-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px;
}

.admin-mon-metric-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--mon-border);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .15s ease, transform .15s ease;
}

.admin-mon-metric-card:hover {
    box-shadow: 0 10px 30px rgba(99, 102, 241, 0.12);
    transform: translateY(-2px);
}

.admin-mon-metric-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-mon-metric-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--mon-purple-soft);
    color: var(--mon-purple);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    flex-shrink: 0;
}

.admin-mon-metric-card--listings .admin-mon-metric-card__icon { background: #fff7ed; color: #d97706; }
.admin-mon-metric-card--support .admin-mon-metric-card__icon { background: #ecfdf5; color: #059669; }
.admin-mon-metric-card--integrations .admin-mon-metric-card__icon,
.admin-mon-metric-card--system .admin-mon-metric-card__icon { background: #fef2f2; color: #dc2626; }
.admin-mon-metric-card--compliance .admin-mon-metric-card__icon { background: #f5f3ff; color: #7c3aed; }

.admin-mon-metric-card__label {
    font-size: .82rem;
    font-weight: 700;
    color: #64748b;
}

.admin-mon-metric-card__main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.admin-mon-metric-card__value-wrap {
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
}

.admin-mon-metric-card__caption {
    font-size: .68rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.admin-mon-metric-card__value {
    font-size: 1.65rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.admin-mon-metric-card__trend {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: .78rem;
    font-weight: 700;
}

.admin-mon-metric-card__trend.is-up { color: #16a34a; }
.admin-mon-metric-card__trend.is-down { color: #dc2626; }

.admin-mon-metric-card__sparkline {
    height: 44px;
    margin-top: auto;
    overflow: hidden;
}

.admin-mon-metric-card__sparkline svg {
    display: block;
    width: 100%;
    height: 100%;
}

.admin-mon-line-chart {
    padding: 8px 12px 16px;
    min-height: 300px;
    background: linear-gradient(180deg, #fafbff 0%, #fff 100%);
}

.admin-mon-line-chart svg {
    display: block;
    width: 100%;
    height: 240px;
}

.admin-mon-line-chart svg.admin-mon-series-svg--chart {
    height: 300px;
    max-width: 100%;
}

.admin-mon-chart-axis-y,
.admin-mon-chart-axis-x,
.admin-mon-chart-axis-caption {
    font: 11px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    fill: #64748b;
}

.admin-mon-chart-axis-unit {
    font: 600 11px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    fill: #475569;
}

.admin-mon-chart-axis-caption {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    fill: #94a3b8;
}

.admin-mon-th-unit,
.admin-mon-td-unit {
    font-size: .78rem;
    font-weight: 500;
    color: #94a3b8;
}

.admin-mon-td-unit {
    margin-left: 4px;
}

.admin-mon-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-mon-panel-card {
    background: #fff;
    border: 1px solid var(--mon-border);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 16px;
}

.admin-mon-panel-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
}

.admin-mon-panel-card__head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.admin-mon-panel-card__hint {
    font-size: .75rem;
    color: #94a3b8;
}

.admin-mon-subtitle {
    margin: 18px 18px 10px;
    font-size: .88rem;
    font-weight: 800;
    color: #334155;
}

.admin-mon-alert-form {
    padding: 16px 18px 0;
}

.admin-mon-alert-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.admin-mon-alert-form label span {
    display: block;
    margin-bottom: 6px;
    font-size: .75rem;
    font-weight: 700;
    color: #64748b;
}

.admin-mon-alert-form input,
.admin-mon-alert-form select,
.admin-mon-alert-form textarea {
    width: 100%;
    border: 1px solid var(--mon-border);
    border-radius: 8px;
    padding: 9px 10px;
    font: inherit;
    font-size: .82rem;
    background: #fff;
}

.admin-mon-alert-form__message {
    display: block;
    padding: 0 18px 14px;
}

.admin-mon-alert-form__message span {
    display: block;
    margin-bottom: 6px;
    font-size: .75rem;
    font-weight: 700;
    color: #64748b;
}

.admin-mon-alert-form .is-hidden {
    display: none;
}

.admin-mon-inline-form {
    display: inline;
    margin: 0;
}

.admin-mon-switch {
    border: 0;
    padding: 0;
    cursor: pointer;
}

.admin-mon-icon-btn--danger {
    color: #dc2626;
    border-color: #fecaca;
}

.admin-mon-icon-btn--danger:hover {
    background: #fef2f2;
}

.admin-mon-alert-form__channels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
    font-size: .8rem;
    color: #64748b;
}

.admin-mon-alert-form__channels label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #334155;
}

.admin-mon-alert-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 0;
}

.admin-mon-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    padding: 10px 16px;
    font: inherit;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
}

.admin-mon-btn--primary {
    background: var(--mon-purple);
    color: #fff;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.28);
}

.admin-mon-btn--ghost {
    background: #fff;
    border-color: var(--mon-border);
    color: #334155;
}

.admin-mon-btn--sm {
    padding: 7px 12px;
    font-size: .78rem;
}

.admin-mon-table-wrap {
    overflow-x: auto;
}

.admin-mon-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-mon-table th,
.admin-mon-table td {
    padding: 12px 18px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    font-size: .82rem;
    vertical-align: middle;
}

.admin-mon-table th {
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
    background: #fafbfd;
}

.admin-mon-inner-tabs {
    display: flex;
    gap: 8px;
}

.admin-mon-inner-tab {
    border: 0;
    background: transparent;
    padding: 8px 12px;
    border-radius: 8px;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
}

.admin-mon-inner-tab.is-active {
    background: var(--mon-purple-soft);
    color: var(--mon-purple);
}

.admin-mon-tab-panel {
    display: none;
}

.admin-mon-tab-panel.is-active {
    display: block;
}

.admin-mon-panel-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    border-top: 1px solid #f1f5f9;
    font-size: .8rem;
    font-weight: 700;
    color: var(--mon-purple);
    text-decoration: none;
}

.admin-mon-switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 22px;
    border-radius: 999px;
    background: #cbd5e1;
}

.admin-mon-switch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #fff;
    transition: transform .15s ease;
}

.admin-mon-switch.is-on {
    background: var(--mon-purple);
}

.admin-mon-switch.is-on::after {
    transform: translateX(16px);
}

.admin-mon-pill {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.admin-mon-pill--warning { background: #fef3c7; color: #b45309; }
.admin-mon-pill--critical { background: #fee2e2; color: #b91c1c; }

.admin-mon-status {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}

.admin-mon-status--active { background: #fee2e2; color: #b91c1c; }
.admin-mon-status--ok { background: #dcfce7; color: #15803d; }

.admin-mon-row-actions {
    display: flex;
    gap: 6px;
}

.admin-mon-icon-btn {
    width: 32px;
    height: 32px;
    border: 1px solid var(--mon-border);
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.admin-mon-detail-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.admin-mon-stat-pill {
    background: #fff;
    border: 1px solid var(--mon-border);
    border-radius: 14px;
    padding: 14px 16px;
}

.admin-mon-stat-pill__label {
    display: block;
    font-size: .76rem;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 6px;
}

.admin-mon-stat-pill__value {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
}

.admin-mon-stat-pill__value.is-up { color: #16a34a; }
.admin-mon-stat-pill__value.is-down { color: #dc2626; }

.admin-mon-stat-pill__meta {
    display: block;
    margin-top: 4px;
    font-size: .72rem;
    color: #94a3b8;
}

.admin-mon-chart-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-mon-chart-type {
    font-size: .78rem;
    font-weight: 700;
    color: #64748b;
}

.admin-mon-change.is-up { color: #16a34a; font-weight: 700; }
.admin-mon-change.is-down { color: #dc2626; font-weight: 700; }

.admin-mon-disabled {
    padding: 18px 20px;
    border-radius: 12px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
}

@media (max-width: 1280px) {
    .admin-mon-kpis,
    .admin-mon-detail-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-mon-metric-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .admin-mon-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 979px) {
    .admin-mon-kpis,
    .admin-mon-detail-stats,
    .admin-mon-alert-form__grid {
        grid-template-columns: 1fr;
    }

    .admin-mon-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-connect-page { display: grid; gap: 18px; }
.admin-connect-hero-card,
.admin-connect-settings-card,
.admin-connect-plans-card,
.admin-connect-plans-table-card,
.admin-connect-history-card { padding: 22px 24px; }
.admin-connect-hero {
    display: flex;
    align-items: center;
    gap: 16px;
}
.admin-connect-hero__icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 1.35rem;
    line-height: 1;
}
.admin-connect-hero__icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-hero__title {
    margin: 0 0 6px;
    font-size: 1.45rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-connect-hero__sub {
    margin: 0;
    font-size: .9rem;
    color: #64748b;
    line-height: 1.5;
}
.admin-connect-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.admin-connect-status-tile {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    min-height: 88px;
}
.admin-connect-status-tile--billing {
    flex-wrap: wrap;
}
.admin-connect-status-tile__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    line-height: 1;
}
.admin-connect-status-tile__icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-status-tile__icon--globe { background: #dcfce7; color: #15803d; }
.admin-connect-status-tile__icon--billing { background: #ede9fe; color: #6d28d9; }
.admin-connect-status-tile__body { flex: 1 1 auto; min-width: 0; }
.admin-connect-status-tile__label {
    display: block;
    font-size: .78rem;
    color: #64748b;
    margin-bottom: 4px;
}
.admin-connect-status-tile__value {
    display: block;
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}
.admin-connect-status-tile__value.is-live { color: #15803d; }
.admin-connect-status-tile__value.is-hidden { color: #1d4ed8; }
.admin-connect-status-tile__value.is-neutral { color: #334155; font-weight: 700; }
.admin-connect-status-tile__action { margin-left: auto; flex: 0 0 auto; }
.admin-connect-status-tile__hint { margin: 0; width: 100%; }
.admin-connect-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.admin-connect-toggle-btn .bi {
    display: grid;
    place-items: center;
    line-height: 1;
    font-size: .95rem;
}
.admin-connect-toggle-btn:hover { background: #f8fafc; border-color: #cbd5e1; }
.admin-connect-toggle-btn.is-disable { color: #6d28d9; border-color: #ddd6fe; background: #faf5ff; }
.admin-connect-panel-head { margin-bottom: 20px; }
.admin-connect-panel-head--with-icon {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.admin-connect-panel-head__icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 1rem;
    line-height: 1;
}
.admin-connect-panel-head__icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-panel-head__icon--add { background: #ede9fe; color: #6d28d9; }
.admin-connect-panel-head__icon--list { background: #dbeafe; color: #2563eb; }
.admin-connect-panel-head__icon--billing { background: #ede9fe; color: #6d28d9; }
.admin-connect-panel-head__title {
    margin: 0 0 4px;
    font-size: 1.08rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-connect-panel-head__sub {
    margin: 0;
    font-size: .84rem;
    color: #64748b;
    line-height: 1.45;
}
.admin-connect-settings-form { display: grid; gap: 20px; }
.admin-connect-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}
.admin-connect-field { display: grid; gap: 8px; min-width: 0; }
.admin-connect-field--full { grid-column: 1 / -1; }
.admin-connect-field__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    font-weight: 700;
    color: #334155;
}
.admin-connect-field__info {
    display: inline-grid;
    place-items: center;
    color: #94a3b8;
    font-size: .82rem;
    line-height: 1;
    cursor: help;
}
.admin-connect-field__info .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-field__hint {
    margin: 0;
    font-size: .76rem;
    color: #94a3b8;
    line-height: 1.4;
}
.admin-connect-field input[type="text"],
.admin-connect-field input[type="number"],
.admin-connect-field textarea,
.admin-connect-field select,
.admin-connect-select-wrap select {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: .9rem;
    color: #0f172a;
    background: #fff;
}
.admin-connect-field textarea { resize: vertical; min-height: 88px; }
.admin-connect-field input:focus,
.admin-connect-field textarea:focus,
.admin-connect-select-wrap select:focus {
    outline: none;
    border-color: #a78bfa;
    box-shadow: 0 0 0 3px rgba(167, 139, 250, .15);
}
.admin-connect-select-wrap {
    position: relative;
}
.admin-connect-select-wrap select {
    appearance: none;
    padding-right: 38px;
}
.admin-connect-select-wrap .bi {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
    font-size: .85rem;
    line-height: 1;
}
.admin-connect-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.admin-connect-input-wrap > .bi,
.admin-connect-input-wrap__prefix {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: .9rem;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
}
.admin-connect-input-wrap > .bi {
    display: grid;
    place-items: center;
}
.admin-connect-input-wrap input { padding-left: 36px; }
.admin-connect-field .admin-connect-input-wrap input[type="text"],
.admin-connect-field .admin-connect-input-wrap input[type="number"] {
    padding-left: 36px;
}
.admin-connect-field .admin-connect-input-wrap:not(:has(> .bi)):not(:has(.admin-connect-input-wrap__prefix)) input[type="text"],
.admin-connect-field .admin-connect-input-wrap:not(:has(> .bi)):not(:has(.admin-connect-input-wrap__prefix)) input[type="number"] {
    padding-left: 14px;
}
.admin-connect-input-wrap__prefix { font-weight: 700; }
.admin-connect-input-wrap--suffix input,
.admin-connect-field .admin-connect-input-wrap--suffix input[type="number"] {
    padding-right: 40px;
    padding-left: 14px;
}
.admin-connect-input-wrap--suffix .bi {
    left: auto;
    right: 14px;
}
.admin-connect-save-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 18px;
    border-radius: 14px;
    background: linear-gradient(90deg, #faf5ff 0%, #f5f3ff 100%);
    border: 1px solid #ede9fe;
}
.admin-connect-save-bar__note {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.admin-connect-save-bar__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 1rem;
    line-height: 1;
}
.admin-connect-save-bar__icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-save-bar__note strong {
    display: block;
    font-size: .9rem;
    color: #0f172a;
    margin-bottom: 2px;
}
.admin-connect-save-bar__note p {
    margin: 0;
    font-size: .8rem;
    color: #64748b;
}
.admin-connect-save-bar__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}
.admin-connect-save-bar__btn .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-save-bar__btn:hover { background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%); }
.admin-connect-plans-card { margin-bottom: 0; }
.admin-connect-plans-table-card { margin-top: 0; }
.admin-connect-plan-form { display: grid; gap: 18px; }
.admin-connect-plan-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: start;
}
.admin-connect-plan-form-grid .admin-connect-field {
    grid-template-rows: minmax(24px, auto) auto minmax(17px, auto);
}
.admin-connect-plan-form-grid .admin-connect-field__label {
    min-height: 24px;
}
.admin-connect-plan-form-grid .admin-connect-field > input,
.admin-connect-plan-form-grid .admin-connect-field > .admin-connect-input-wrap,
.admin-connect-plan-form-grid .admin-connect-field > .admin-connect-select-wrap {
    grid-row: 2;
}
.admin-connect-plan-form-grid .admin-connect-field__hint {
    grid-row: 3;
    margin: 0;
}
.admin-connect-plan-form-grid .admin-connect-field:not(:has(> .admin-connect-field__hint))::after {
    content: "";
    display: block;
    grid-row: 3;
    min-height: 17px;
}
.admin-connect-required { color: #dc2626; }
.admin-connect-option-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.admin-connect-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
}
.admin-connect-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.admin-connect-option__box {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 2px solid #cbd5e1;
    border-radius: 5px;
    background: #fff;
    position: relative;
}
.admin-connect-option:has(input:checked) {
    border-color: #8b5cf6;
    background: #faf5ff;
}
.admin-connect-option:has(input:checked) .admin-connect-option__box {
    border-color: #7c3aed;
    background: #7c3aed;
}
.admin-connect-option:has(input:checked) .admin-connect-option__box::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.admin-connect-option__text {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.admin-connect-option__text strong {
    font-size: .84rem;
    color: #0f172a;
}
.admin-connect-option__text span {
    font-size: .74rem;
    color: #64748b;
    line-height: 1.35;
}
.admin-connect-plan-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #7c3aed 0%, #6366f1 100%);
    color: #fff;
    font-size: .95rem;
    font-weight: 800;
    cursor: pointer;
}
.admin-connect-plan-submit .bi {
    display: grid;
    place-items: center;
    line-height: 1;
    font-size: 1rem;
}
.admin-connect-plan-submit:hover { background: linear-gradient(135deg, #6d28d9 0%, #4f46e5 100%); }
.admin-connect-plans-table__name {
    display: grid;
    gap: 6px;
}
.admin-connect-plans-table__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.admin-connect-plans-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
}
.admin-connect-plans-badge--free { background: #dcfce7; color: #15803d; }
.admin-connect-plans-badge--featured { background: #dbeafe; color: #1d4ed8; }
.admin-connect-plans-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .82rem;
    font-weight: 700;
    color: #15803d;
}
.admin-connect-plans-status.is-inactive { color: #64748b; }
.admin-connect-plans-status__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #22c55e;
}
.admin-connect-plans-status.is-inactive .admin-connect-plans-status__dot { background: #94a3b8; }
.admin-connect-plans-table__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.admin-connect-plans-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 8px;
    background: #ede9fe;
    color: #6d28d9;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.admin-connect-plans-edit .bi {
    display: grid;
    place-items: center;
    line-height: 1;
    font-size: .82rem;
}
.admin-connect-plans-edit:hover { background: #ddd6fe; color: #5b21b6; }
.admin-connect-plans-menu { position: relative; }
.admin-connect-plans-menu summary {
    list-style: none;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #64748b;
    cursor: pointer;
    border: 1px solid #e2e8f0;
    background: #fff;
}
.admin-connect-plans-menu summary::-webkit-details-marker { display: none; }
.admin-connect-plans-menu summary .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-connect-plans-menu summary:hover { background: #f8fafc; }
.admin-connect-plans-menu__dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 5;
    min-width: 170px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .1);
}
.admin-connect-plans-menu__dropdown a {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: .82rem;
    color: #334155;
    text-decoration: none;
}
.admin-connect-plans-menu__dropdown a:hover { background: #f8fafc; color: #6d28d9; }
.admin-connect-section-title { margin: 0; padding-bottom: 15px; font-size: 1.05rem; font-weight: 800; color: #0f172a; }
.admin-connect-tabs-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.admin-connect-tabs-bar__tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: #475569;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 10px 14px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.admin-connect-tabs-bar__tab:hover {
    background: #fff;
    color: #334155;
}
.admin-connect-tabs-bar__tab.is-active {
    background: #fff;
    color: #6d28d9;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.admin-connect-tab-panel {
    display: none;
}
.admin-connect-tab-panel.is-active {
    display: block;
}
.admin-connect-tab-panel[data-connect-section="plans"].is-active {
    display: grid;
    gap: 18px;
}
.admin-connect-tab-panel[data-connect-section="plans"] .admin-connect-plans-table-card {
    margin-top: 0;
}
.admin-connect-cancel {
    margin-left: auto;
    color: #6d28d9;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.admin-connect-cancel:hover { color: #5b21b6; }
.admin-connect-hint { margin: 12px 0 0; font-size: .875rem; color: #64748b; }

.admin-connect-earnings { padding: 22px; }
.admin-connect-earnings__title { margin: 0; padding-bottom: 0; }
.admin-connect-panel-head--with-icon .admin-connect-earnings__title + .admin-connect-panel-head__sub {
    margin-top: 4px;
}
.admin-connect-earnings__periods {
    display: inline-flex;
    gap: 6px;
    margin-left: auto;
    flex-wrap: wrap;
}
.admin-connect-earnings__period {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 6px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.admin-connect-earnings__period:hover {
    border-color: #c4b5fd;
    color: #6d28d9;
}
.admin-connect-earnings__period.is-active {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #6d28d9;
}
.admin-connect-earnings__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 20px;
}
.admin-connect-earnings__summary-card {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, #fafbff 100%);
}
.admin-connect-earnings__summary-card.is-total {
    border-color: #ddd6fe;
    background: linear-gradient(180deg, #faf5ff 0%, #f5f3ff 100%);
}
.admin-connect-earnings__summary-label {
    font-size: .78rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.admin-connect-earnings__summary-value {
    font-size: 1.35rem;
    line-height: 1.1;
    color: #0f172a;
}
.admin-connect-earnings__summary-value.is-gst { color: #7c3aed; }
.admin-connect-earnings__summary-card.is-total .admin-connect-earnings__summary-value { color: #6d28d9; }
.admin-connect-earnings__summary-meta {
    font-size: .78rem;
    color: #94a3b8;
}
.admin-connect-earnings__chart-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fafbff 0%, #fff 100%);
    padding: 14px 14px 8px;
    margin-bottom: 20px;
}
.admin-connect-earnings__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 8px;
    padding: 0 4px;
}
.admin-connect-earnings__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    color: #475569;
    font-weight: 600;
}
.admin-connect-earnings__legend-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
}
.admin-connect-earnings__legend-swatch.is-subtotal { background: #7c3aed; }
.admin-connect-earnings__legend-swatch.is-gst { background: #c4b5fd; }
.admin-connect-earnings__legend-swatch.is-total {
    background: linear-gradient(180deg, #c4b5fd 0%, #7c3aed 100%);
}
.admin-connect-earnings__chart {
    min-height: 280px;
    overflow-x: auto;
}
.admin-connect-earnings__chart svg {
    display: block;
    width: 100%;
    min-width: 640px;
    height: 300px;
}
.admin-connect-earnings-chart__axis-y,
.admin-connect-earnings-chart__axis-x,
.admin-connect-earnings-chart__axis-caption,
.admin-connect-earnings-chart__axis-unit {
    font: 11px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    fill: #64748b;
}
.admin-connect-earnings-chart__axis-unit {
    font-weight: 600;
    fill: #475569;
}
.admin-connect-earnings-chart__axis-caption {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    fill: #94a3b8;
}
.admin-connect-earnings__empty {
    margin: 0 0 8px;
    padding: 0 4px;
    font-size: .84rem;
    color: #64748b;
}
.admin-connect-earnings__plans-title {
    margin: 0 0 12px;
    font-size: .95rem;
    color: #0f172a;
}
.admin-connect-earnings__plan-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}
.admin-connect-earnings__plan-pill-icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: .72rem;
}
.admin-connect-earnings__plan-pill--free .admin-connect-earnings__plan-pill-icon { background: #ecfdf5; color: #059669; }
.admin-connect-earnings__plan-pill--plus .admin-connect-earnings__plan-pill-icon { background: #ede9fe; color: #6d28d9; }
.admin-connect-earnings__plan-pill--premium .admin-connect-earnings__plan-pill-icon { background: #fef3c7; color: #b45309; }
.admin-connect-earnings__plan-pill--elite .admin-connect-earnings__plan-pill-icon { background: #fce7f3; color: #be185d; }

@media (max-width: 900px) {
    .admin-connect-status-grid,
    .admin-connect-settings-grid,
    .admin-connect-plan-form-grid,
    .admin-connect-option-grid {
        grid-template-columns: 1fr;
    }
    .admin-connect-tabs-bar {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .admin-connect-tabs-bar__tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .admin-connect-earnings__summary {
        grid-template-columns: 1fr;
    }
    .admin-connect-earnings__periods {
        width: 100%;
        margin-left: 0;
        margin-top: 12px;
    }
    .admin-connect-status-tile--billing .admin-connect-status-tile__action {
        margin-left: 58px;
        width: calc(100% - 58px);
    }
    .admin-connect-toggle-btn {
        width: 100%;
    }
}

.admin-manage-user-plan__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.admin-manage-user-plan { padding: 24px; }
.admin-manage-user-plan__search {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 20px;
}
.admin-manage-user-plan__search-field {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0 10px 0 14px;
    border: 0;
    border-radius: 12px;
    background: #f8fafc;
}
.admin-manage-user-plan__search-clear {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
}
.admin-manage-user-plan__search-clear.is-hidden { display: none; }
.admin-manage-user-plan__search-clear .bi {
    display: grid;
    place-items: center;
    line-height: 1;
    font-size: .75rem;
}
.admin-manage-user-plan__search-hint {
    margin: -8px 0 14px;
    font-size: .8rem;
    color: #94a3b8;
}
.admin-manage-user-plan__search-status {
    margin: 0 0 12px;
    font-size: .84rem;
    color: #6d28d9;
    font-weight: 600;
}
.admin-manage-user-plan__toast {
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #dcfce7;
    color: #15803d;
    font-size: .86rem;
    font-weight: 600;
}
.admin-manage-user-plan__toast.is-error {
    background: #fee2e2;
    color: #b91c1c;
}
.admin-manage-user-plan__empty {
    margin: 8px 0 18px;
    padding: 28px 20px;
    border: 1px dashed #e2e8f0;
    border-radius: 14px;
    text-align: center;
    color: #64748b;
}
.admin-manage-user-plan__empty-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #f5f3ff;
    color: #7c3aed;
    font-size: 1.2rem;
}
.admin-manage-user-plan__empty-icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-manage-user-plan__empty p { margin: 0; font-size: .9rem; }
.admin-manage-user-plan__message { margin: 8px 0 18px; }
.admin-manage-user-plan__search-results { margin-top: 8px; }
.admin-manage-user-plan__search-results-meta {
    margin: 0 0 10px;
    font-size: .88rem;
    color: #475569;
}
.admin-manage-user-plan__search-results-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
.admin-manage-user-plan__search-result {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.admin-manage-user-plan__search-result:hover,
.admin-manage-user-plan__search-result:focus-visible {
    border-color: #c4b5fd;
    background: #faf5ff;
    box-shadow: 0 0 0 3px rgba(109, 40, 217, .08);
    outline: none;
}
.admin-manage-user-plan__search-result-avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #ede9fe;
    color: #6d28d9;
    font-size: .82rem;
    font-weight: 700;
    flex-shrink: 0;
}
.admin-manage-user-plan__search-result-avatar--photo {
    object-fit: cover;
}
.admin-manage-user-plan__search-result-body {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.admin-manage-user-plan__search-result-name {
    font-size: .92rem;
    font-weight: 600;
    color: #0f172a;
}
.admin-manage-user-plan__search-result-meta {
    font-size: .8rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-manage-user-plan__search-result-id {
    font-size: .78rem;
    font-weight: 600;
    color: #94a3b8;
}
.admin-manage-user-plan__search-result-chevron {
    color: #94a3b8;
    font-size: .9rem;
}
.admin-manage-user-plan__preview-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fef3c7;
    color: #b45309;
    font-size: .72rem;
    font-weight: 700;
}
.admin-manage-user-plan__form-hint {
    margin: 0;
    font-size: .8rem;
    color: #64748b;
}
.admin-manage-user-plan__submit:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.admin-manage-user-plan__search-field:focus-within {
    background: #f1f5f9;
    box-shadow: none;
}
.admin-manage-user-plan__search-field .bi {
    color: #94a3b8;
    font-size: 1rem;
    flex: 0 0 auto;
}
.admin-manage-user-plan__search-field input {
    width: 100%;
    border: 0 !important;
    box-shadow: none !important;
    background: none !important;
    padding: 12px 0;
    font-size: .92rem;
    color: #0f172a;
    outline: none;
}
.admin-manage-user-plan__search-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 22px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-manage-user-plan__search-btn:hover { background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%); }
.admin-manage-user-plan__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
    gap: 18px;
    align-items: start;
}
.admin-manage-user-plan__main { display: grid; gap: 16px; min-width: 0; }
.admin-manage-user-plan__aside { display: grid; gap: 16px; min-width: 0; }
.admin-manage-user-plan__user-card,
.admin-manage-user-plan__change-card,
.admin-manage-user-plan__current-card,
.admin-manage-user-plan__details-card {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
}
.admin-manage-user-plan__user-card,
.admin-manage-user-plan__change-card { padding: 18px 20px; }
.admin-manage-user-plan__user-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.admin-manage-user-plan__user-identity {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.admin-manage-user-plan__avatar {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 1rem;
    font-weight: 800;
}
.admin-manage-user-plan__avatar--photo {
    object-fit: cover;
    display: block;
}
.admin-manage-user-plan__name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.admin-manage-user-plan__name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-manage-user-plan__verified {
    display: inline-grid;
    place-items: center;
    color: #16a34a;
    font-size: 1rem;
    line-height: 1;
}
.admin-manage-user-plan__meta {
    margin: 2px 0 0;
    font-size: .84rem;
    color: #64748b;
    line-height: 1.45;
}
.admin-manage-user-plan__profile-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .84rem;
    font-weight: 700;
    color: #6d28d9;
    text-decoration: none;
    white-space: nowrap;
}
.admin-manage-user-plan__profile-link:hover { color: #5b21b6; }
.admin-manage-user-plan__change-form { display: grid; gap: 18px; }
.admin-manage-user-plan__field { display: grid; gap: 10px; }
.admin-manage-user-plan__label {
    font-size: .82rem;
    font-weight: 700;
    color: #334155;
}
.admin-manage-user-plan__field textarea,
.admin-manage-user-plan__field input[type="text"] {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: .9rem;
    color: #0f172a;
    background: #fff;
    resize: vertical;
}
.admin-manage-user-plan__field textarea:focus {
    outline: none;
    border-color: #a78bfa;
    box-shadow: 0 0 0 3px rgba(167, 139, 250, .18);
}
.admin-manage-user-plan__plan-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.admin-manage-user-plan__plan-option {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 2px 10px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.admin-manage-user-plan__plan-option input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}
.admin-manage-user-plan__plan-option-icon {
    grid-row: 1 / span 2;
}
.admin-manage-user-plan__plan-option-name {
    font-size: .88rem;
    font-weight: 800;
    color: #0f172a;
}
.admin-manage-user-plan__plan-option-meta {
    font-size: .74rem;
    color: #64748b;
    line-height: 1.35;
}
.admin-manage-user-plan__plan-option-badge {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.3;
}
.admin-manage-user-plan__plan-option-badge.is-current {
    background: #dcfce7;
    color: #166534;
}
.admin-manage-user-plan__scheduled-card {
    margin-bottom: 14px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.admin-manage-user-plan__scheduled-notice {
    margin-bottom: 12px;
}
.admin-manage-user-plan__cancel-scheduled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: .86rem;
    font-weight: 700;
    cursor: pointer;
}
.admin-manage-user-plan__cancel-scheduled:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}
.admin-manage-user-plan__plan-option:hover {
    border-color: #c4b5fd;
    background: #fff;
}
.admin-manage-user-plan__plan-option.is-selected,
.admin-manage-user-plan__plan-option:has(input:checked) {
    border-color: #8b5cf6;
    background: #faf5ff;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .12);
}
.admin-manage-user-plan__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    color: #fff;
    font-size: .95rem;
    font-weight: 800;
    cursor: pointer;
}
.admin-manage-user-plan__submit .bi {
    display: inline-grid;
    place-items: center;
    font-size: 1rem;
    line-height: 1;
}
.admin-manage-user-plan__submit:hover { background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%); }
.admin-manage-user-plan__current-card { padding: 18px; }
.admin-manage-user-plan__current-top {
    display: flex;
    align-items: center;
    gap: 12px;
}
.admin-manage-user-plan__current-label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 4px;
}
.admin-manage-user-plan__current-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.admin-manage-user-plan__current-name-row strong {
    font-size: 1.15rem;
    color: #0f172a;
}
.admin-manage-user-plan__status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: .72rem;
    font-weight: 700;
}
.admin-manage-user-plan__current-meta {
    margin: 12px 0 0;
    font-size: .82rem;
    color: #64748b;
    line-height: 1.5;
}
.admin-manage-user-plan__current-meta span { display: block; }
.admin-manage-user-plan__details-card { padding: 16px 18px 18px; }
.admin-manage-user-plan__details-title {
    margin: 0 0 12px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #64748b;
}
.admin-manage-user-plan__details-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.admin-manage-user-plan__details-list li {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 8px 10px;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}
.admin-manage-user-plan__details-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.admin-manage-user-plan__details-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #475569;
    font-size: .82rem;
    line-height: 1;
}
.admin-manage-user-plan__details-icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-manage-user-plan__details-label {
    font-size: .8rem;
    color: #64748b;
}
.admin-manage-user-plan__details-list strong {
    font-size: .82rem;
    color: #0f172a;
    text-align: right;
}
.admin-manage-user-plan__status-text { color: #15803d !important; }
.admin-plan-tier-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.05rem;
    line-height: 1;
}
.admin-plan-tier-icon .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.admin-plan-tier-icon--free { background: #f1f5f9; color: #475569; }
.admin-plan-tier-icon--plus { background: #dcfce7; color: #15803d; }
.admin-plan-tier-icon--premium { background: #ede9fe; color: #6d28d9; }
.admin-plan-tier-icon--elite { background: #ffedd5; color: #c2410c; }
.admin-manage-user-plan__current-card--free { background: linear-gradient(180deg, #fff 0%, #f8fafc 100%); }
.admin-manage-user-plan__current-card--plus { background: linear-gradient(180deg, #fff 0%, #f0fdf4 100%); }
.admin-manage-user-plan__current-card--premium { background: linear-gradient(180deg, #fff 0%, #faf5ff 100%); }
.admin-manage-user-plan__current-card--elite { background: linear-gradient(180deg, #fff 0%, #fff7ed 100%); }
.admin-manage-user-plan__history { padding: 22px; margin-top: 20px; }
.admin-manage-user-plan__plan-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 10px 5px 5px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}
.admin-manage-user-plan__plan-pill-icon {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    font-size: .72rem;
}
.admin-manage-user-plan__plan-pill--free { background: #f1f5f9; color: #475569; }
.admin-manage-user-plan__plan-pill--plus { background: #dcfce7; color: #15803d; }
.admin-manage-user-plan__plan-pill--premium { background: #ede9fe; color: #6d28d9; }
.admin-manage-user-plan__plan-pill--elite { background: #ffedd5; color: #c2410c; }
.admin-manage-user-plan__source-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: .74rem;
    font-weight: 700;
    text-transform: lowercase;
}
.admin-manage-user-plan__source-pill.is-admin_grant { background: #dbeafe; color: #1d4ed8; }
.admin-manage-user-plan__source-pill.is-simulate,
.admin-manage-user-plan__source-pill.is-razorpay { background: #ede9fe; color: #6d28d9; }
.admin-manage-user-plan__status-pill {
    display: inline-flex;
    margin-left: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fee2e2;
    color: #b91c1c;
    font-size: .7rem;
    font-weight: 700;
}
.admin-manage-user-plan__actions { position: relative; }
.admin-manage-user-plan__actions summary {
    list-style: none;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #64748b;
    cursor: pointer;
}
.admin-manage-user-plan__actions summary::-webkit-details-marker { display: none; }
.admin-manage-user-plan__actions summary:hover { background: #f1f5f9; color: #334155; }
.admin-manage-user-plan__actions-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 5;
    min-width: 150px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .1);
}
.admin-manage-user-plan__actions-menu a,
.admin-manage-user-plan__actions-menu button {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    font-size: .82rem;
    color: #334155;
    text-decoration: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.admin-manage-user-plan__actions-menu a:hover,
.admin-manage-user-plan__actions-menu button:hover { background: #f8fafc; color: #6d28d9; }

@media (max-width: 980px) {
    .admin-manage-user-plan__layout {
        grid-template-columns: 1fr;
    }
    .admin-manage-user-plan__search {
        flex-direction: column;
    }
    .admin-manage-user-plan__search-btn {
        width: 100%;
        padding: 12px 18px;
    }
}
@media (max-width: 640px) {
    .admin-manage-user-plan__plan-grid {
        grid-template-columns: 1fr;
    }
}

.co-connect-locked { text-align: center; padding: 8px 0 4px; }
.co-connect-locked .lock { font-size: 1.5rem; color: #64748b; margin-bottom: 8px; }
.co-connect-meta { margin: 0 0 14px; font-size: .9rem; color: #475569; }
.co-connect-locked .btn { margin: 6px 4px 0; }

.connect-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 32px 0 56px;
}
.connect-page__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: #0f172a;
    text-decoration: none;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.3;
}
.connect-page__back:hover {
    color: #6d28d9;
}
.connect-page__back .bi {
    font-size: 1.1rem;
    line-height: 1;
}
.connect-page__head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 28px;
}
.connect-page__eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 14px;
    padding: 6px 14px;
    border-radius: 999px;
    background: #ede9fe;
    color: #6d28d9;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.connect-page__title {
    margin: 0 0 10px;
    font-size: clamp(1.85rem, 3.4vw, 2.45rem);
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}
.connect-page__sub {
    margin: 0;
    padding: 0 0 17px;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.55;
}
.connect-page__notice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 18px 0 0;
    padding: 10px 16px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .86rem;
    font-weight: 600;
}
.connect-page__notice--secure {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}
.connect-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 8px;
}
.connect-plans--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}
.connect-checkout-card {
    max-width: 480px;
    padding: 24px;
    display: grid;
    gap: 14px;
}
.connect-dummy-checkout {
    max-width: 520px;
    padding: 24px;
    display: grid;
    gap: 16px;
}
.connect-dummy-checkout__flash {
    max-width: 520px;
    margin: 0 0 12px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fef3c7;
    color: #92400e;
    font-size: .9rem;
}
.connect-dummy-checkout__banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
}
.connect-dummy-checkout__banner .bi {
    font-size: 1.4rem;
    line-height: 1;
    margin-top: 2px;
}
.connect-dummy-checkout__banner strong {
    display: block;
    font-size: .95rem;
}
.connect-dummy-checkout__banner span {
    display: block;
    margin-top: 4px;
    font-size: .82rem;
    color: #1d4ed8;
}
.connect-dummy-checkout__summary {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.connect-dummy-checkout__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: .88rem;
    color: #64748b;
}
.connect-dummy-checkout__row strong {
    color: #0f172a;
    text-align: right;
}
.connect-dummy-checkout__row--total {
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
    font-size: .95rem;
    font-weight: 700;
    color: #0f172a;
}
.connect-dummy-checkout__row--total strong {
    font-size: 1.1rem;
    color: #1d4ed8;
}
.connect-dummy-checkout__note {
    margin: 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    color: #5b21b6;
    font-size: .86rem;
    line-height: 1.45;
}
.connect-dummy-checkout__hint {
    margin: 0;
    font-size: .8rem;
    color: #64748b;
    line-height: 1.45;
}
.connect-dummy-checkout__actions {
    display: grid;
    gap: 10px;
}
.connect-dummy-checkout__pay,
.connect-dummy-checkout__fail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: .95rem;
    font-weight: 800;
    cursor: pointer;
    border: 0;
}
.connect-dummy-checkout__pay {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #fff;
}
.connect-dummy-checkout__pay:hover {
    background: linear-gradient(135deg, #15803d 0%, #166534 100%);
}
.connect-dummy-checkout__fail {
    background: #fff;
    border: 1px solid #fecaca;
    color: #b91c1c;
}
.connect-dummy-checkout__fail:hover {
    background: #fef2f2;
}
.connect-dummy-checkout__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .88rem;
    font-weight: 700;
    color: #475569;
}
.connect-dummy-checkout__back:hover {
    color: #1d4ed8;
}
.connect-plan-card {
    --plan-accent: #2563eb;
    --plan-accent-soft: #dbeafe;
    --plan-accent-text: #1d4ed8;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 22px 18px 18px;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.connect-plan-card--free {
    --plan-accent: #64748b;
    --plan-accent-soft: #f1f5f9;
    --plan-accent-text: #475569;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.connect-plan-card--plus {
    --plan-accent: #16a34a;
    --plan-accent-soft: #dcfce7;
    --plan-accent-text: #15803d;
}
.connect-plan-card--premium {
    --plan-accent: #7c3aed;
    --plan-accent-soft: #ede9fe;
    --plan-accent-text: #6d28d9;
}
.connect-plan-card--elite {
    --plan-accent: #ea580c;
    --plan-accent-soft: #ffedd5;
    --plan-accent-text: #c2410c;
}
.connect-plan-card.is-featured {
    border-color: #c4b5fd;
    box-shadow: 0 16px 36px rgba(124, 58, 237, .14);
    transform: translateY(-2px);
}
.connect-plan-card__ribbon {
    position: absolute;
    top: 0;
    right: 16px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(109, 40, 217, .28);
}
.connect-plan-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--plan-accent-soft);
    color: var(--plan-accent);
    margin-bottom: 14px;
}
.connect-plan-card__icon svg {
    width: 22px;
    height: 22px;
    display: block;
}
.connect-plan-card__name {
    margin: 0 0 10px;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}
.connect-plan-card__pricing {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.connect-plan-card__price {
    margin: 0;
    font-size: 1.55rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}
.connect-plan-card__price span {
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
}
.connect-plan-card__pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--plan-accent-soft);
    color: var(--plan-accent-text);
    font-size: .72rem;
    font-weight: 700;
}
.connect-plan-card__pill--muted {
    background: #e2e8f0;
    color: #475569;
}
.connect-plan-card__desc {
    margin: 0 0 16px;
    color: #64748b;
    font-size: .86rem;
    line-height: 1.5;
    min-height: 2.8em;
}
.connect-plan-card__features {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 9px;
    color: #334155;
    font-size: .86rem;
    flex: 1 1 auto;
}
.connect-plan-card__features li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.45;
}
.connect-plan-card__features i {
    color: var(--plan-accent);
    margin-top: 2px;
    flex: 0 0 auto;
}
.connect-plan-card__features li.is-muted {
    color: #64748b;
}
.connect-plan-card__features li.is-muted i {
    color: #94a3b8;
}
.connect-plan-card__action {
    margin-top: auto;
}
.connect-plan-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 46px;
    padding: 0 16px;
    border: none;
    border-radius: 12px;
    background: var(--plan-accent);
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    box-shadow: 0 10px 20px color-mix(in srgb, var(--plan-accent) 28%, transparent);
}
.connect-plan-card__cta:hover {
    filter: brightness(1.03);
    transform: translateY(-1px);
    color: #fff;
}
.connect-plan-card__cta--secondary {
    background: #fff;
    color: #334155;
    border: 1.5px solid #cbd5e1;
    box-shadow: none;
}
.connect-plan-card__cta--secondary:hover {
    background: #f8fafc;
    color: #0f172a;
    filter: none;
    transform: none;
}
.connect-plan-card__current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border-radius: 12px;
    border: 2px solid #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
    font-size: .92rem;
}
.connect-plan-card.is-current:not(.connect-plan-card--free) .connect-plan-card__current {
    border-color: color-mix(in srgb, var(--plan-accent) 35%, #fff);
    background: var(--plan-accent-soft);
    color: var(--plan-accent-text);
}
.connect-plan-card__included {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .86rem;
    font-weight: 600;
}
.connect-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 20px;
    margin-top: 28px;
    padding: 20px 22px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}
.connect-trust__item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.connect-trust__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #475569;
    font-size: 1.2rem;
    line-height: 1;
}
.connect-trust__icon .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    line-height: 1;
    width: 1em;
    height: 1em;
    margin: 0;
}
.connect-trust__icon .bi::before {
    display: block;
    line-height: 1;
    vertical-align: 0;
}
.connect-trust__item > div {
    min-width: 0;
    flex: 1 1 auto;
}
.connect-trust__item strong {
    display: block;
    font-size: .84rem;
    color: #0f172a;
    margin: 0 0 3px;
    line-height: 1.3;
}
.connect-trust__item > div span {
    display: block;
    font-size: .76rem;
    color: #64748b;
    line-height: 1.4;
}
.connect-account-summary { padding: 20px; margin-top: 20px; display: grid; gap: 10px; }
.connect-account-history { margin-top: 24px; }

@media (max-width: 1100px) {
    .connect-plans--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .connect-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .connect-plans,
    .connect-plans--four,
    .admin-connect-plan-grid {
        grid-template-columns: 1fr;
    }
    .connect-plan-card.is-featured {
        transform: none;
    }
    .connect-trust {
        grid-template-columns: 1fr;
    }
}

/* My Plan dashboard */
@media (min-width: 980px) {
    body.my-plan-page-body #rzLpSidebar.lp-sidebar {
        display: none;
    }
}
body.my-plan-page-body {
    overflow-x: clip;
}
html:has(body.my-plan-page-body) {
    overflow-x: clip;
}
body.my-plan-page-body > .container,
body.my-plan-page-body > .my-plan-shell {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
}
body.my-plan-page-body .site-footer {
    max-width: 100%;
    overflow-x: clip;
}
.my-plan-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 28px 0 56px;
    box-sizing: border-box;
}
.my-plan-tab-panels,
.my-plan-tab-panel {
    min-width: 0;
    max-width: 100%;
}
.my-plan-page__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}
.my-plan-page__title {
    margin: 0 0 6px;
    font-size: clamp(1.7rem, 3vw, 2.1rem);
    font-weight: 800;
    color: #0f172a;
}
.my-plan-page__sub {
    margin: 0;
    color: #64748b;
    font-size: .95rem;
}
.my-plan-page__help-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    font-size: .86rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.my-plan-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 2px;
    border-bottom: 1px solid #e2e8f0;
    min-width: 0;
    max-width: 100%;
}
.my-plan-tabs__btn {
    padding: 10px 16px;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    background: transparent;
    color: #64748b;
    font-size: .88rem;
    font-weight: 700;
    cursor: pointer;
}
.my-plan-tabs__btn:hover { color: #334155; }
.my-plan-tabs__btn.is-active {
    color: #7c3aed;
    border-bottom-color: #7c3aed;
}
.my-plan-tab-panel[hidden] { display: none !important; }
.my-plan-overview-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 16px;
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
}
.my-plan-overview-top > .my-plan-current-card {
    grid-column: 1 / -1;
}
.my-plan-overview-top > .my-plan-metrics,
.my-plan-overview-top > .my-plan-manage-card {
    min-width: 0;
    max-width: 100%;
}
.my-plan-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    align-content: stretch;
}
.my-plan-metric {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 18px 16px;
    border-radius: 14px;
    border: 1px solid #e8edf3;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.my-plan-metric__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    font-size: 1.12rem;
    line-height: 1;
}
.my-plan-metric__icon .bi {
    display: block;
    line-height: 1;
}
.my-plan-metric--purple .my-plan-metric__icon { background: #f3e8ff; color: #9333ea; }
.my-plan-metric--green .my-plan-metric__icon { background: #dcfce7; color: #16a34a; }
.my-plan-metric--orange .my-plan-metric__icon { background: #ffedd5; color: #ea580c; }
.my-plan-metric--blue .my-plan-metric__icon { background: #dbeafe; color: #2563eb; }
.my-plan-metric__copy {
    min-width: 0;
}
.my-plan-metric__label {
    display: block;
    margin-bottom: 4px;
    font-size: .8rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.2;
}
.my-plan-metric__value {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.05;
    letter-spacing: -.02em;
}
.my-plan-metric__value--date {
    font-size: 1.15rem;
    letter-spacing: -.01em;
}
.my-plan-metric__sub {
    display: block;
    margin-top: 2px;
    font-size: .8rem;
    font-weight: 500;
    color: #94a3b8;
    line-height: 1.2;
}
.my-plan-stats--wide {
    margin-bottom: 16px;
}
.my-plan-available {
    width: 100%;
    margin-bottom: 16px;
    padding: 20px 20px 18px;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.my-plan-current-card {
    --plan-accent: #7c3aed;
    --plan-accent-soft: #ede9fe;
    --plan-card-bg: linear-gradient(145deg, #faf5ff 0%, #f5f3ff 48%, #fff 100%);
    --plan-card-border: #e9d5ff;
    padding: 22px 22px 20px;
    border-radius: 18px;
    border: 1px solid var(--plan-card-border);
    background: var(--plan-card-bg);
    box-shadow: 0 8px 24px rgba(124, 58, 237, .08);
    margin-bottom: 0;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.my-plan-current-card--free {
    --plan-accent: #64748b;
    --plan-accent-soft: #f1f5f9;
    --plan-card-bg: linear-gradient(145deg, #f8fafc 0%, #fff 100%);
    --plan-card-border: #e2e8f0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
}
.my-plan-current-card--plus {
    --plan-accent: #16a34a;
    --plan-accent-soft: #dcfce7;
    --plan-card-bg: linear-gradient(145deg, #f0fdf4 0%, #fff 100%);
    --plan-card-border: #bbf7d0;
    box-shadow: 0 8px 24px rgba(22, 163, 74, .08);
}
.my-plan-current-card--premium { --plan-accent: #7c3aed; --plan-accent-soft: #ede9fe; }
.my-plan-current-card--elite {
    --plan-accent: #ea580c;
    --plan-accent-soft: #ffedd5;
    --plan-card-bg: linear-gradient(145deg, #fff7ed 0%, #fff 100%);
    --plan-card-border: #fed7aa;
    box-shadow: 0 8px 24px rgba(234, 88, 12, .08);
}
.my-plan-current-card__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.my-plan-current-card__identity {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    flex: 1 1 auto;
}
.my-plan-current-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    background: var(--plan-accent);
    color: #fff;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--plan-accent) 32%, transparent);
}
.my-plan-current-card__icon-ring {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .18);
    border: 1.5px solid rgba(255, 255, 255, .45);
    line-height: 1;
}
.my-plan-current-card__icon-ring .bi {
    display: block;
    font-size: 1.05rem;
    line-height: 1;
}
.my-plan-current-card__info {
    min-width: 0;
    padding-top: 2px;
}
.my-plan-current-card__eyebrow-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}
.my-plan-current-card__eyebrow {
    display: block;
    margin-bottom: 0;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--plan-accent);
}
.my-plan-current-card__name {
    margin: 0;
    font-size: clamp(1.4rem, 2.2vw, 1.7rem);
    font-weight: 800;
    color: #0f172a;
    line-height: 1.12;
}
.my-plan-current-card__validity {
    margin: 6px 0 0;
    color: #475569;
    font-size: .86rem;
    font-weight: 600;
}
.my-plan-current-card__days {
    color: #16a34a;
    font-weight: 700;
}
.my-plan-current-card__badge {
    display: inline-flex;
    margin-top: 0;
    flex: 0 0 auto;
    padding: 4px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: .72rem;
    font-weight: 700;
}
.my-plan-current-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    flex-wrap: wrap;
}
.my-plan-current-card__renew-form {
    margin: 0;
}
.my-plan-current-card__renew {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    border: 0;
    background: var(--plan-accent);
    color: #fff;
    font-size: .86rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}
.my-plan-current-card__upgrade {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1.5px solid var(--plan-accent);
    background: #fff;
    color: var(--plan-accent);
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    flex: 0 0 auto;
}
.my-plan-current-card__upgrade .bi {
    font-size: .76rem;
    line-height: 1;
}
.my-plan-current-card__top-plan {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1.5px solid rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .88);
    color: var(--plan-accent);
    font-size: .84rem;
    font-weight: 700;
    white-space: nowrap;
    flex: 0 0 auto;
}
.my-plan-current-card__top-plan .bi {
    font-size: .95rem;
    line-height: 1;
}
.my-plan-current-card__free-note {
    margin: 18px 0 0;
    padding: 16px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .82);
    color: #64748b;
    font-size: .9rem;
}
.my-plan-usage-v2 {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 14px;
    border: 1px solid #eef2f7;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.my-plan-usage-v2__label {
    margin-bottom: 10px;
    font-size: .82rem;
    font-weight: 700;
    color: #334155;
}
.my-plan-usage-v2__main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.my-plan-usage-v2__count {
    font-size: clamp(1.55rem, 2.5vw, 1.9rem);
    font-weight: 800;
    color: var(--plan-accent);
    line-height: 1;
}
.my-plan-usage-v2__count span {
    font-size: .78em;
    font-weight: 800;
    color: color-mix(in srgb, var(--plan-accent) 72%, #64748b);
}
.my-plan-usage-v2__remaining {
    color: #16a34a;
    font-size: .88rem;
    font-weight: 700;
}
.my-plan-usage-v2__bar {
    height: 14px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.my-plan-usage-v2__bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--plan-accent), color-mix(in srgb, var(--plan-accent) 72%, #fff));
}
.my-plan-usage-v2__foot {
    margin-top: 10px;
    font-size: .78rem;
    color: #64748b;
}
.my-plan-usage-v2__carried {
    color: #475569;
}
.my-plan-current-card__next-period {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--plan-card-border);
    color: #475569;
    font-size: .82rem;
    line-height: 1.45;
}
.my-plan-current-card__next-period strong {
    display: block;
    margin-bottom: 2px;
    color: #0f172a;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.my-plan-current-card__exhausted {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}
.my-plan-current-card__exhausted p {
    margin: 0;
    color: #9a3412;
    font-size: .84rem;
    line-height: 1.45;
}
.my-plan-current-card__exhausted p + p {
    margin-top: 4px;
}
.my-plan-current-card__pending {
    margin: 8px 0 0;
    font-size: .82rem;
    color: #7c3aed;
    font-weight: 500;
}
.my-plan-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.my-plan-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    min-width: 0;
}
.my-plan-stat--purple .my-plan-stat__icon { background: #ede9fe; color: #7c3aed; }
.my-plan-stat--green .my-plan-stat__icon { background: #dcfce7; color: #16a34a; }
.my-plan-stat--orange .my-plan-stat__icon { background: #ffedd5; color: #ea580c; }
.my-plan-stat--blue .my-plan-stat__icon { background: #dbeafe; color: #2563eb; }
.my-plan-stat__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    color: #475569;
    flex: 0 0 auto;
    line-height: 0;
}
.my-plan-stat__icon .bi {
    display: block;
    font-size: 1.1rem;
    line-height: 1;
}
.my-plan-stat__body {
    min-width: 0;
}
.my-plan-stat__label {
    display: block;
    font-size: .78rem;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 6px;
}
.my-plan-stat__value {
    display: block;
    font-size: clamp(1.35rem, 2vw, 1.55rem);
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}
.my-plan-stat__value--date {
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    letter-spacing: -.01em;
}
.my-plan-stat__sub {
    display: block;
    margin-top: 3px;
    font-size: .8rem;
    color: #94a3b8;
    font-weight: 500;
}
.my-plan-stat strong {
    display: block;
    font-size: .88rem;
    color: #0f172a;
    line-height: 1.35;
}
.my-plan-panels {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 16px;
    margin-bottom: 22px;
    min-width: 0;
    max-width: 100%;
}
.my-plan-panel {
    display: flex;
    flex-direction: column;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    overflow-x: clip;
}
@media (min-width: 980px) {
    .my-plan-panel__body {
        max-height: 280px;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
    }
    .my-plan-panel__body--table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
}
.my-plan-panel__body {
    min-width: 0;
    max-width: 100%;
}
.my-plan-panel__body--table {
    max-width: 100%;
    min-width: 0;
}
.my-plan-panel__body--table .my-plan-history-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
    box-shadow: 0 1px 0 #f1f5f9;
}
.my-plan-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex: 0 0 auto;
}
.my-plan-panel__head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.my-plan-panel__head a,
.my-plan-panel__link {
    font-size: .82rem;
    font-weight: 600;
    color: #7c3aed;
    text-decoration: none;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.my-plan-panel__empty {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.5;
}
.my-plan-load-more-wrap {
    display: none;
    justify-content: center;
    width: 100%;
    padding-top: 8px;
}
.my-plan-load-more-btn {
    min-width: 160px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 600;
    padding: 10px 18px;
    cursor: pointer;
    font-family: inherit;
    line-height: 1.2;
}
.my-plan-load-more-btn:hover {
    border-color: #7c3aed;
    color: #7c3aed;
    background: #faf5ff;
}
.my-plan-unlock {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid #f1f5f9;
    color: inherit;
}
.my-plan-unlock--static {
    cursor: default;
}
.my-plan-unlock__main {
    display: contents;
    color: inherit;
    text-decoration: none;
}
.my-plan-unlock__main--static {
    display: contents;
    cursor: default;
}
.my-plan-unlock--static .my-plan-unlock__thumb img {
    opacity: .72;
    filter: grayscale(.25);
}
.my-plan-unlock:first-of-type { border-top: none; padding-top: 0; }
.my-plan-unlock__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 2px;
}
.my-plan-unlock__title-row strong {
    font-size: .88rem;
    color: #0f172a;
}
.my-plan-unlock__status {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.3;
}
.my-plan-unlock__status.is-active { background: #dcfce7; color: #15803d; }
.my-plan-unlock__status.is-deleted { background: #fee2e2; color: #b91c1c; }
.my-plan-unlock__status.is-paused { background: #ffedd5; color: #c2410c; }
.my-plan-unlock__status.is-pending { background: #fef3c7; color: #b45309; }
.my-plan-unlock__status.is-removed,
.my-plan-unlock__status.is-unavailable { background: #f1f5f9; color: #64748b; }
.my-plan-unlock__thumb {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
    background: #f1f5f9;
}
.my-plan-unlock__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.my-plan-unlock__copy {
    min-width: 0;
    overflow-wrap: anywhere;
}
.my-plan-unlock__copy > span:last-child {
    display: block;
    font-size: .78rem;
    color: #64748b;
    margin-top: 2px;
}
.my-plan-unlock__meta {
    display: grid;
    justify-items: end;
    gap: 6px;
    font-size: .74rem;
    color: #94a3b8;
}
.my-plan-unlock__date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.my-plan-unlock__date .bi {
    font-size: .82rem;
    color: #94a3b8;
    line-height: 1;
}
.my-plan-unlock__phone {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #dcfce7;
    color: #16a34a;
    line-height: 1;
    text-decoration: none;
}
.my-plan-unlock__phone--disabled {
    opacity: .45;
    cursor: default;
}
.my-plan-unlock__phone .bi {
    display: grid;
    place-items: center;
    font-size: .82rem;
    line-height: 1;
}
.my-plan-history-table-wrap {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
@media (min-width: 980px) {
    .my-plan-history-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
}
.my-plan-history-table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    font-size: .82rem;
}
@media (min-width: 980px) {
    .my-plan-history-table {
        min-width: 520px;
    }
}
.my-plan-history-table th,
.my-plan-history-table td {
    padding: 10px 8px;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
}
.my-plan-history-table th {
    color: #64748b;
    font-weight: 600;
    font-size: .76rem;
}
.my-plan-history-status {
    display: inline-flex;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}
.my-plan-history-status.is-active { background: #dcfce7; color: #15803d; }
.my-plan-history-status.is-expired { background: #f1f5f9; color: #64748b; }
.my-plan-history-status.is-ended { background: #fef3c7; color: #92400e; }
.my-plan-history-cards {
    display: none;
}
.my-plan-history-card {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
    background: #fff;
}
.my-plan-history-card + .my-plan-history-card {
    margin-top: 12px;
}
.my-plan-history-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding-bottom: 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid #f1f5f9;
}
.my-plan-history-card__plan-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: .95rem;
    line-height: 1;
    flex: 0 0 auto;
}
.my-plan-history-card__plan-icon .bi {
    display: block;
    line-height: 1;
}
.my-plan-history-card__plan-icon .my-plan-history-card__crown-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: inherit;
}
.my-plan-history-card__plan-icon .my-plan-history-card__crown-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.my-plan-history-card__plan-icon--free { background: #f1f5f9; color: #475569; }
.my-plan-history-card__plan-icon--plus { background: #dcfce7; color: #15803d; }
.my-plan-history-card__plan-icon--premium { background: #ede9fe; color: #6d28d9; }
.my-plan-history-card__plan-icon--elite { background: #ede9fe; color: #6d28d9; }
.my-plan-history-card__plan-name {
    min-width: 0;
    font-size: .92rem;
    font-weight: 800;
    color: #0f172a;
    overflow-wrap: anywhere;
}
.my-plan-history-card__rows {
    margin: 0;
}
.my-plan-history-card__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
}
.my-plan-history-card__row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.my-plan-history-card__row dt {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    min-width: 0;
    font-size: .8rem;
    font-weight: 600;
    color: #64748b;
}
.my-plan-history-card__row dd {
    margin: 0;
    text-align: right;
    font-size: .8rem;
    color: #0f172a;
    overflow-wrap: anywhere;
}
.my-plan-history-card__row-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #94a3b8;
    font-size: .82rem;
    line-height: 1;
}
.my-plan-history-card__row-icon .bi {
    display: block;
    line-height: 1;
}
.my-plan-history-card__row--invoice dd {
    display: flex;
    justify-content: flex-end;
}
.my-plan-available__head {
    margin-bottom: 16px;
}
.my-plan-available__head h3 {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 800;
}
.my-plan-available__head p {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
}
.my-plan-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.my-plan-plans--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.my-plan-plan-card {
    --plan-accent: #2563eb;
    position: relative;
    padding: 18px 16px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    display: flex;
    flex-direction: column;
}
.my-plan-plan-card--free {
    --plan-accent: #64748b;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.my-plan-plan-card--plus { --plan-accent: #16a34a; }
.my-plan-plan-card--premium { --plan-accent: #7c3aed; border-color: #ddd6fe; }
.my-plan-plan-card--elite { --plan-accent: #ea580c; }
.my-plan-plan-card li.is-muted {
    color: #94a3b8;
}
.my-plan-plan-card li.is-muted .bi-lock {
    color: #94a3b8;
}
.my-plan-plan-card > form,
.my-plan-plan-card > .my-plan-plan-card__cta,
.my-plan-plan-card > .my-plan-plan-card__current,
.my-plan-plan-card > a.my-plan-plan-card__cta {
    margin-top: auto;
}
.my-plan-plan-card.is-featured {
    border: 2px solid #a78bfa;
    box-shadow: 0 8px 24px rgba(124, 58, 237, .12);
    padding-top: 24px;
}
.my-plan-plan-card__ribbon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 5px 12px;
    border-radius: 999px;
    background: #7c3aed;
    color: #fff;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.my-plan-plan-card h4 {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 800;
}
.my-plan-plan-card__price {
    margin: 0 0 12px;
    font-size: 1.2rem;
    font-weight: 800;
}
.my-plan-plan-card__price span {
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
}
.my-plan-plan-card ul {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: grid;
    gap: 7px;
    font-size: .82rem;
    color: #334155;
}
.my-plan-plan-card li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.my-plan-plan-card .bi-check2 {
    color: var(--plan-accent);
    margin-top: 2px;
}
.my-plan-plan-card__cta,
.my-plan-plan-card__current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    border-radius: 11px;
    font-size: .88rem;
    font-weight: 700;
}
.my-plan-plan-card__cta {
    border: none;
    background: var(--plan-accent);
    color: #fff;
    cursor: pointer;
}
.my-plan-plan-card__current {
    border: 2px solid #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}
.my-plan-available__more {
    margin: 14px 0 0;
    font-size: .84rem;
}
.my-plan-available__more a { color: #7c3aed; font-weight: 600; }
.my-plan-manage-card {
    padding: 18px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
}
.my-plan-manage-card--full { max-width: 520px; }
.my-plan-billing-card { max-width: 640px; margin-bottom: 16px; }
.my-plan-setting-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}
.my-plan-setting-row--form {
    margin: 0;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
}
.my-plan-setting-row__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f3e8ff;
    color: #9333ea;
    display: grid;
    place-items: center;
    font-size: 1rem;
    line-height: 1;
    flex: 0 0 auto;
}
.my-plan-setting-row__icon .bi {
    display: block;
    line-height: 1;
}
.my-plan-setting-row--form .my-plan-setting-row__icon {
    grid-row: 1 / span 2;
    align-self: start;
}
.my-plan-setting-row--form .my-plan-setting-row__copy {
    grid-column: 2;
    grid-row: 1;
}
.my-plan-setting-row--form .my-plan-toggle-wrap {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    margin-top: 2px;
}
.my-plan-setting-row__copy {
    min-width: 0;
}
.my-plan-setting-row strong {
    display: block;
    font-size: .88rem;
    color: #0f172a;
    margin-bottom: 2px;
    overflow-wrap: anywhere;
}
.my-plan-setting-row__copy > span {
    display: block;
    font-size: .78rem;
    color: #64748b;
    overflow-wrap: anywhere;
}
.my-plan-setting-row--link {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: not-allowed;
    font: inherit;
    box-sizing: border-box;
}
.my-plan-setting-row--link .bi-chevron-right {
    color: #94a3b8;
    font-size: .9rem;
    flex: 0 0 auto;
}
.my-plan-toggle-wrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    justify-self: end;
}
.my-plan-toggle {
    display: inline-flex;
    align-items: center;
    cursor: not-allowed;
}
.my-plan-toggle__badge {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}
.my-plan-toggle__badge.is-off {
    background: #fee2e2;
    color: #dc2626;
}
.my-plan-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.my-plan-toggle__track {
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #e2e8f0;
    position: relative;
}
.my-plan-toggle__track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .15);
}
.my-plan-btn--block {
    width: 100%;
    max-width: 100%;
    margin-top: 14px;
    gap: 8px;
    box-sizing: border-box;
    white-space: normal;
    text-align: center;
}
.my-plan-invoice-btn {
    width: 32px;
    height: 32px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    display: grid;
    place-items: center;
    cursor: not-allowed;
}
.my-plan-invoice-btn .bi {
    display: grid;
    place-items: center;
    line-height: 1;
}
.my-plan-manage-card h3 {
    margin: 0 0 8px;
    font-size: .98rem;
    font-weight: 800;
}
.my-plan-manage-card p {
    margin: 0 0 14px;
    color: #64748b;
    font-size: .86rem;
    line-height: 1.45;
}
.my-plan-manage-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.my-plan-manage-card__hint {
    margin: 12px 0 0 !important;
    font-size: .78rem !important;
    line-height: 1.45;
    overflow-wrap: anywhere;
    color: #64748b;
}
.my-plan-manage-card__hint--info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}
.my-plan-manage-card__hint--info .bi {
    flex: 0 0 auto;
    margin-top: 1px;
    font-size: .95rem;
    color: #2563eb;
}
.my-plan-manage-card__hint--info > span {
    min-width: 0;
}
.my-plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: .84rem;
    font-weight: 600;
    cursor: pointer;
}
.my-plan-btn--outline {
    border: 1px solid #c4b5fd;
    background: #fff;
    color: #6d28d9;
}
.my-plan-btn--danger {
    border: 1.5px solid #f87171;
    background: #fff;
    color: #dc2626;
    font-weight: 700;
}
.my-plan-switch-free-form {
    margin-top: 4px;
}
.my-plan-free-scheduled {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 8px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    min-width: 0;
    max-width: 100%;
}
.my-plan-free-scheduled > div {
    min-width: 0;
}
.my-plan-free-scheduled > .bi {
    color: #7c3aed;
    font-size: 1.1rem;
    margin-top: 2px;
}
.my-plan-free-scheduled strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}
.my-plan-free-scheduled span {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: .82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.my-plan-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.my-plan-support {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    min-width: 0;
    max-width: 100%;
}
.my-plan-support p {
    margin: 0;
    color: #475569;
    font-size: .88rem;
}
.my-plan-support__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 1280px) {
    .my-plan-overview-top {
        grid-template-columns: 1fr;
    }
    .my-plan-overview-top > .my-plan-current-card {
        grid-column: auto;
    }
    .my-plan-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .my-plan-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .my-plan-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .my-plan-plans--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .my-plan-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 979px) {
    body.my-plan-page-body .my-plan-shell {
        overflow-x: clip;
    }
    body.my-plan-page-body .uh-header {
        margin-left: calc(-1 * max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px)));
        margin-right: calc(-1 * max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px)));
        padding-top: 26px;
        padding-bottom: 26px;
        padding-left: max(var(--rz-screen-gutter-x), env(safe-area-inset-left, 0px));
        padding-right: max(var(--rz-screen-gutter-x), env(safe-area-inset-right, 0px));
    }
    body.my-plan-page-body .uh-header::before {
        left: 0;
        right: 0;
        width: 100%;
        transform: none;
    }
    body.my-plan-page-body .my-plan-page,
    body.my-plan-page-body .my-plan-overview-top,
    body.my-plan-page-body .my-plan-panels,
    body.my-plan-page-body .my-plan-manage-card,
    body.my-plan-page-body .my-plan-current-card,
    body.my-plan-page-body .my-plan-metrics {
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
    }
    body.my-plan-page-body .my-plan-panel {
        overflow-x: clip;
        overflow-y: visible;
    }
    .my-plan-page {
        padding-bottom: calc(54px + var(--rz-bn-post-overhang, 16px) + env(safe-area-inset-bottom, 0px));
    }
    .my-plan-page__head {
        flex-direction: column;
        align-items: stretch;
        min-width: 0;
    }
    .my-plan-page__help-link {
        align-self: flex-start;
        white-space: normal;
    }
    .my-plan-overview-top > * {
        min-width: 0;
        max-width: 100%;
    }
    .my-plan-current-card__row {
        flex-direction: column;
        align-items: stretch;
        min-width: 0;
    }
    .my-plan-current-card__identity,
    .my-plan-current-card__actions {
        min-width: 0;
        width: 100%;
    }
    .my-plan-current-card__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .my-plan-current-card__upgrade,
    .my-plan-current-card__renew {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
    .my-plan-current-card__pending,
    .my-plan-current-card__next-period,
    .my-plan-current-card__exhausted {
        overflow-wrap: anywhere;
    }
    .my-plan-manage-card {
        padding: 16px;
    }
    body.my-plan-page-body .my-plan-panel__body,
    body.my-plan-page-body .my-plan-panel__body--table {
        max-height: none;
        overflow: visible;
        overscroll-behavior: auto;
    }
    .my-plan-unlock {
        grid-template-columns: 48px minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        gap: 6px 12px;
        align-items: start;
    }
    .my-plan-unlock__thumb {
        grid-row: 1 / span 2;
        align-self: center;
    }
    .my-plan-unlock__meta {
        display: contents;
    }
    .my-plan-unlock__date {
        grid-column: 2;
        grid-row: 2;
    }
    .my-plan-unlock__phone {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
    }
    .my-plan-history-table-wrap {
        display: none;
    }
    .my-plan-history-cards {
        display: block;
    }
    .my-plan-history-table {
        min-width: 0;
    }
    .my-plan-load-more-wrap {
        display: flex;
    }
    .my-plan-load-more-wrap[hidden] {
        display: none !important;
    }
    .my-plan-load-more__item.is-load-more-hidden {
        display: none !important;
    }
    .my-plan-support {
        flex-direction: column;
        align-items: stretch;
    }
    .my-plan-support__cta {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .my-plan-stats { grid-template-columns: 1fr; }
    .my-plan-metrics { grid-template-columns: 1fr; }
    .my-plan-plans--four,
    .my-plan-plans { grid-template-columns: 1fr; }
    .my-plan-current-card {
        padding: 18px 16px 16px;
    }
    .my-plan-usage-v2__foot {
        overflow-wrap: anywhere;
    }
}

/* Connect plan change modal */
.connect-plan-change-modal-root {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.connect-plan-change-modal-root[hidden] {
    display: none !important;
}
.connect-plan-change-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .55);
}
.connect-plan-change-modal__dialog {
    position: relative;
    width: min(100%, 900px);
    max-height: min(92vh, 780px);
    overflow: auto;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .24);
}
.connect-plan-change-modal__sheet {
    padding: 34px 36px 30px;
}
.connect-plan-change-modal__close {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: .95rem;
}
.connect-plan-change-modal__close:hover {
    color: #475569;
}
.connect-plan-change-modal__head {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding-right: 40px;
    margin-bottom: 30px;
}
.connect-plan-change-modal__head-icon {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: #ffe4e8;
    color: #f43f5e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex: 0 0 auto;
}
.connect-plan-change-modal__title {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.125rem);
    line-height: 1.12;
    color: #0f172a;
    font-weight: 800;
    letter-spacing: -.02em;
}
.connect-plan-change-modal__subtitle {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.5;
    max-width: 36rem;
}
.connect-plan-change-modal__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 28px 32px;
    align-items: stretch;
}
.connect-plan-change-modal__benefits {
    display: grid;
    gap: 24px;
    align-content: start;
    padding-top: 4px;
}
.connect-plan-change-modal__benefit {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.connect-plan-change-modal__benefit[hidden],
.connect-plan-change-modal__benefit.is-hidden,
.connect-plan-change-modal__validity-row[hidden],
.connect-plan-change-modal__validity-row.is-hidden,
.connect-plan-change-modal__validity-banner[hidden],
.connect-plan-change-modal__validity-banner.is-hidden {
    display: none !important;
}
.connect-plan-change-modal__benefit-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #f5f3ff;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex: 0 0 auto;
}
.connect-plan-change-modal__benefit-icon .bi {
    color: #7c3aed;
    -webkit-text-fill-color: #7c3aed;
}
.connect-plan-change-modal__benefit-title {
    display: block;
    color: #0f172a;
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.25;
}
.connect-plan-change-modal__benefit-note {
    margin: 6px 0 0;
    color: #64748b;
    font-size: .9375rem;
    line-height: 1.45;
}
.connect-plan-change-modal__validity {
    border: 1px solid #e9d5ff;
    border-radius: 18px;
    background: #fcfbff;
    padding: 20px 20px 18px;
    display: flex;
    flex-direction: column;
}
.connect-plan-change-modal__validity-head {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #7c3aed;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 18px;
}
.connect-plan-change-modal__validity-list {
    display: grid;
    gap: 16px;
    flex: 1 1 auto;
}
.connect-plan-change-modal__validity-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.connect-plan-change-modal__validity-icon {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #ede9fe;
    color: #7c3aed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    flex: 0 0 auto;
}
.connect-plan-change-modal__validity-row strong {
    display: block;
    color: #0f172a;
    font-size: .9375rem;
    font-weight: 800;
    line-height: 1.25;
}
.connect-plan-change-modal__validity-row p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: .875rem;
    line-height: 1.35;
}
.connect-plan-change-modal__validity-banner {
    margin: 18px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: #ede9fe;
    color: #5b21b6;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.45;
}
.connect-plan-change-modal__simple-message {
    margin: 0 0 20px;
    color: #475569;
    font-size: .95rem;
    line-height: 1.5;
}
.connect-plan-change-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 30px;
}
.connect-plan-change-modal__policy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    color: #64748b;
    font-size: .875rem;
    line-height: 1.45;
    flex: 1 1 auto;
    max-width: 22rem;
}
.connect-plan-change-modal__policy-icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #16a34a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    flex: 0 0 auto;
    margin-top: 1px;
}
.connect-plan-change-modal__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex: 0 0 auto;
}
.connect-plan-change-modal__cancel,
.connect-plan-change-modal__confirm {
    min-height: 46px;
    padding: 0 22px;
    border-radius: 12px;
    font-size: .9375rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1;
    white-space: nowrap;
}
.connect-plan-change-modal__cancel {
    border: 1.5px solid #0f172a;
    background: #fff;
    color: #0f172a;
}
.connect-plan-change-modal__cancel:hover {
    background: #f8fafc;
}
.connect-plan-change-modal__confirm {
    border: 0;
    background: #7c3aed;
    color: #fff;
    min-width: 148px;
    box-shadow: 0 12px 28px rgba(124, 58, 237, .32);
}
.connect-plan-change-modal__confirm:hover:not(:disabled) {
    background: #6d28d9;
}
.connect-plan-change-modal__confirm:disabled,
.connect-plan-change-modal__confirm.is-loading {
    opacity: .72;
    cursor: wait;
}
@media (max-width: 820px) {
    .connect-plan-change-modal__sheet {
        padding: 24px 20px 22px;
    }
    .connect-plan-change-modal__main {
        grid-template-columns: 1fr;
    }
    .connect-plan-change-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }
    .connect-plan-change-modal__policy {
        max-width: none;
    }
    .connect-plan-change-modal__actions {
        width: 100%;
    }
    .connect-plan-change-modal__cancel,
    .connect-plan-change-modal__confirm {
        flex: 1 1 0;
    }
}

.connect-pricing-modal-root {
    position: fixed;
    inset: 0;
    z-index: 2550;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.connect-pricing-modal-root[hidden] {
    display: none !important;
}
.connect-pricing-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.connect-pricing-modal__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(1250px, 100%);
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.22);
    padding: 0;
    box-sizing: border-box;
}
.connect-pricing-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;
    width: 40px;
    height: 40px;
    margin: 0;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}
.connect-pricing-modal__close:hover {
    background: #f8fafc;
    color: #0f172a;
}
.connect-pricing-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 56px 22px max(24px, env(safe-area-inset-bottom, 0px));
}
.connect-pricing-modal__loading,
.connect-pricing-modal__error {
    margin: 48px 0;
    text-align: center;
    color: #64748b;
    font-size: .95rem;
}
.connect-pricing-modal__dialog .connect-page--modal {
    padding: 8px 0 12px;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}
.connect-pricing-modal__dialog .connect-page__head {
    margin-bottom: 22px;
}
.connect-pricing-modal__dialog .connect-trust {
    margin-top: 22px;
}

@media (max-width: 768px) {
    .connect-pricing-modal-root {
        align-items: flex-end;
        padding: 0;
    }
    .connect-pricing-modal__dialog {
        width: 100%;
        max-height: 94dvh;
        border-radius: 20px 20px 0 0;
    }
    .connect-pricing-modal__close {
        top: max(10px, env(safe-area-inset-top, 0px));
        right: 10px;
    }
    .connect-pricing-modal__body {
        padding: 52px 14px max(20px, env(safe-area-inset-bottom, 0px));
    }
}

/* Browse + My Listings: 2 cards per row on tablet / small desktop (820px–1180px) */
@media (min-width: 820px) and (max-width: 1180px) {
    body.listings-index-page .bz-content > .cards,
    body.listings-my-page .my-section--list > .my-rows {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px;
    }

    body.listings-my-page .my-section--list > .my-rows {
        gap: 16px;
    }

    body.listings-my-page .my-property-row.row {
        min-width: 0;
    }

    body.listings-my-page .my-property-row.row:not(.my-property-row--rejected):not(.my-property-row--draft),
    body.listings-my-page .my-property-row--rejected .my-property-row__grid {
        grid-template-columns: 1fr;
    }

    body.listings-my-page .my-row-actions.row-actions {
        flex-wrap: nowrap;
    }
}

@media (max-width: 819px) {
    body.listings-index-page .bz-content > .cards {
        grid-template-columns: 1fr !important;
    }

    body.listings-my-page .my-section--list > .my-rows {
        display: flex !important;
        flex-direction: column !important;
    }
}
