:root {
    --ink: #1c1914;
    --muted: #6b6358;
    --paper: #f7f1e6;
    --card: #fffdf8;
    --accent: #0f5c57;
    --accent-dark: #0a3f3b;
    --gold: #c4a35a;
    --line: #e4d9c5;
}

html, body {
    min-height: 100%;
}

body {
    font-family: "Manrope", system-ui, sans-serif;
    background: radial-gradient(1200px 500px at 10% -10%, #efe4cc, transparent),
                linear-gradient(180deg, #fbf7ef 0%, var(--paper) 100%);
    color: var(--ink);
}

h1, h2, .brand-serif {
    font-family: "Source Serif 4", Georgia, serif;
}

.site-header {
    background: rgba(255, 253, 248, 0.9);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(8px);
    position: sticky;
    top: 0;
    z-index: 20;
}

.navbar-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-weight: 700;
    color: var(--ink) !important;
}

.brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: var(--accent);
    color: #fff;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
}

.nav-link {
    color: var(--muted) !important;
    font-weight: 600;
}

.nav-link:hover {
    color: var(--accent) !important;
}

.hero {
    padding: 4.5rem 0 3rem;
}

.hero h1 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.15;
    max-width: 22ch;
}

.kind-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    background: var(--card);
}

.kind-chip:hover,
.kind-chip.is-active {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.booking-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.2rem;
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--muted);
    font-weight: 600;
    font-size: 0.92rem;
}

.booking-steps li.is-current {
    color: var(--accent);
}

.search-card, .room-card, .panel {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(40, 28, 10, 0.06);
}

.btn-accent {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.6rem 1.3rem;
}

.btn-accent:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #fff;
}

.btn-gold {
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--ink);
    border-radius: 999px;
    font-weight: 600;
}

.price {
    color: var(--accent);
    font-weight: 700;
}

.room-photo {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid var(--line);
}

.listing-hero {
    height: 280px;
}

.badge-soft {
    background: #e7f2f0;
    color: var(--accent);
    font-weight: 600;
}

.badge-pending { background: #fff3d6; color: #8a6400; }
.badge-confirmed { background: #dff5e5; color: #1d6b35; }
.badge-cancelled { background: #f6e1e1; color: #8a2a2a; }

.site-footer {
    margin-top: 4rem;
    padding: 2rem 0 2.4rem;
    color: var(--muted);
    border-top: 1px solid var(--line);
    font-size: 0.9rem;
}

.footer-social a {
    display: inline-flex;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.help-ai {
    position: fixed;
    right: 1.1rem;
    bottom: 1.1rem;
    z-index: 40;
}

.help-ai-toggle {
    border: 0;
    background: var(--accent);
    color: #fff;
    font-weight: 700;
    border-radius: 999px;
    padding: 0.7rem 1.15rem;
    box-shadow: 0 10px 24px rgba(15, 92, 87, 0.28);
}

.help-ai-panel {
    position: absolute;
    right: 0;
    bottom: 3.2rem;
    width: min(360px, calc(100vw - 2rem));
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(40, 28, 10, 0.14);
    overflow: hidden;
}

.help-ai-head {
    background: var(--accent);
    color: #fff;
    font-weight: 700;
    padding: 0.7rem 1rem;
}

.help-ai-log {
    height: 220px;
    overflow: auto;
    padding: 0.85rem 1rem;
    font-size: 0.92rem;
}

.help-ai-log p {
    margin-bottom: 0.65rem;
}

.help-ai-log .is-user {
    color: var(--accent);
    font-weight: 600;
}

.help-ai-form {
    display: flex;
    gap: 0.45rem;
    padding: 0.75rem;
    border-top: 1px solid var(--line);
}

.form-control, .form-select {
    border-radius: 12px;
    border-color: var(--line);
    padding: 0.7rem 0.9rem;
}

.alert-hotel {
    background: #fff7e8;
    border: 1px solid #ead8ad;
    color: #5c4a1f;
    border-radius: 14px;
}

.share-link {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.share-link .form-control {
    min-width: 12rem;
    flex: 1 1 12rem;
}

@media (max-width: 576px) {
    .hero {
        padding: 2rem 0 1.5rem;
    }

    .search-card, .room-card, .panel {
        border-radius: 14px;
    }

    .search-card .form-control,
    .search-card .form-select,
    .search-card .btn,
    .rooms-filter .form-control,
    .rooms-filter .btn {
        width: 100%;
        min-height: 48px;
    }

    .rooms-filter {
        width: 100%;
    }

    .share-link .form-control {
        min-width: 0;
    }
}

/* Bo‘limlar plitkalari (bosh sahifa) */
.section-tile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 6.5rem;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--ink);
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease;
}

.section-tile:hover {
    border-color: var(--accent);
    color: var(--ink);
    transform: translateY(-2px);
}

.section-tile-title {
    font-weight: 700;
    line-height: 1.25;
}

.section-tile-sub {
    font-size: .85rem;
    color: var(--accent);
    font-weight: 600;
}

/* ===== Katta qidiruv paneli ===== */
.search-band {
    background: transparent;
    padding: 3.5rem 0;
}

.search-bar {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
    overflow: hidden;
    min-height: 72px;
}

.search-field {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 0 1.4rem;
    margin: 0;
    cursor: text;
}

.search-field-main {
    flex: 1 1 auto;
}

.search-field-place {
    flex: 0 0 30%;
    border-left: 1px solid #e5e8ea;
}

.search-field input {
    border: 0;
    outline: 0;
    background: transparent;
    width: 100%;
    font-size: 1.15rem;
    color: var(--ink);
}

.search-field input::placeholder {
    color: #6f7a7d;
}

.search-ico {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    color: var(--ink);
}

.search-submit {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    border: 0;
    padding: 0 2.2rem;
    background: var(--accent-dark);
    color: #fff;
    font-weight: 800;
    font-size: 1.15rem;
}

.search-submit svg {
    width: 26px;
    height: 26px;
}

.search-submit:hover {
    background: var(--accent);
}

@media (max-width: 767.98px) {
    .search-band {
        padding: 1.5rem 0;
    }

    .search-bar {
        flex-direction: column;
    }

    .search-field {
        min-height: 56px;
    }

    .search-field-place {
        flex-basis: auto;
        border-left: 0;
        border-top: 1px solid #e5e8ea;
    }

    .search-submit {
        justify-content: center;
        min-height: 56px;
    }
}

/* ===== Saytdagi bo‘limlar (doiralar) ===== */
.sections-block {
    background: #fff;
    padding: 3.5rem 0 3rem;
    border-bottom: 1px solid var(--line);
}

.sections-title {
    text-align: center;
    font-weight: 800;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    margin-bottom: 2.5rem;
}

.section-circles {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 1.5rem 1rem;
}

.section-circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .8rem;
    text-decoration: none;
    color: var(--ink);
    text-align: center;
}

.section-circle-ico {
    width: 132px;
    height: 132px;
    max-width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 3.6rem;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease;
}

.section-circle:hover .section-circle-ico {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
}

.section-circle-label {
    font-weight: 700;
    line-height: 1.25;
}

.section-circle:hover {
    color: var(--accent);
}

@media (max-width: 1199.98px) {
    .section-circles {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .section-circles {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.2rem .4rem;
    }

    .section-circle-ico {
        width: 68px;
        height: 68px;
        font-size: 2rem;
    }

    .section-circle-label {
        font-size: .78rem;
    }
}

/* ===== Ma’lumot sahifalaridagi emoji qatorlari ===== */
.info-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.info-list li {
    display: flex;
    gap: .6rem;
    align-items: baseline;
    padding: .35rem 0;
    border-bottom: 1px dashed var(--line);
}

.info-list li:last-child {
    border-bottom: 0;
}

.info-emoji {
    font-size: 1.15rem;
    width: 1.6rem;
    flex: 0 0 1.6rem;
    text-align: center;
}

.info-label {
    color: var(--muted);
    min-width: 7rem;
}

.section-circle-mini {
    width: 46px;
    height: 46px;
    font-size: 1.4rem;
}

.section-edit-table .form-control-color {
    width: 3rem;
    height: 2.1rem;
    padding: .2rem;
}

/* ===== Yordam paneli: tablar va operator suhbati ===== */
.help-ai-toggle {
    position: relative;
}

.help-ai-dot {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #e5383b;
    border: 2px solid #fff;
}

.help-ai-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.help-ai-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
}

.help-ai-tabs {
    display: flex;
    border-bottom: 1px solid var(--line);
}

.help-ai-tab {
    flex: 1;
    border: 0;
    background: transparent;
    padding: .55rem .5rem;
    font-weight: 700;
    color: var(--muted);
    border-bottom: 3px solid transparent;
}

.help-ai-tab.is-active {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.help-op-start {
    padding: .85rem 1rem;
}

.support-msg {
    display: flex;
    flex-direction: column;
    margin-bottom: .6rem;
}

.support-msg.is-guest {
    align-items: flex-end;
}

.support-msg.is-operator {
    align-items: flex-start;
}

.support-bubble {
    max-width: 85%;
    padding: .5rem .75rem;
    border-radius: 14px;
    white-space: pre-wrap;
    word-break: break-word;
}

.support-msg.is-guest .support-bubble {
    background: var(--accent);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.support-msg.is-operator .support-bubble {
    background: #eef1f3;
    color: var(--ink);
    border-bottom-left-radius: 4px;
}

.support-meta {
    font-size: .72rem;
    color: var(--muted);
    margin-top: .15rem;
}

.support-note {
    font-size: .8rem;
    color: var(--muted);
    text-align: center;
}

/* Super Admin: xabarlar sahifasi */
.support-threads {
    max-height: 70vh;
    overflow: auto;
}

.support-thread-row {
    display: block;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
}

.support-thread-row:hover,
.support-thread-row.is-active {
    background: #f3f7f6;
    color: var(--ink);
}

.support-thread-row.is-unread {
    background: #fff6f0;
}

.support-log {
    height: 55vh;
    overflow: auto;
    padding: 1rem;
}

.support-badge {
    font-size: .7rem;
    vertical-align: top;
}

.support-toast {
    position: fixed;
    right: 1.1rem;
    bottom: 1.1rem;
    z-index: 60;
    max-width: 320px;
    background: var(--card);
    border: 1px solid var(--line);
    border-left: 5px solid #e5383b;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(40, 28, 10, .18);
    padding: .75rem 1rem;
}

.support-toast a {
    color: var(--ink);
    text-decoration: none;
}

/* ===== Xona raqamlari: yashil — bo‘sh, qizil — band ===== */
.room-legend {
    display: flex;
    gap: 1rem;
    font-weight: 600;
}

.legend-box {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    vertical-align: -2px;
    margin-right: .25rem;
}

.legend-box.is-free { background: #1f9d55; }
.legend-box.is-busy { background: #d64545; }

.room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: .85rem;
}

.room-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    min-height: 128px;
    padding: .8rem .5rem;
    border-radius: 16px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 2px solid transparent;
    transition: transform .15s ease, box-shadow .15s ease;
}

.room-tile.is-free {
    background: linear-gradient(160deg, #27b062, #1b8a4a);
}

.room-tile.is-free:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(27, 138, 74, .35);
}

.room-tile.is-busy {
    background: linear-gradient(160deg, #e05858, #b93434);
    cursor: not-allowed;
    opacity: .92;
}

.room-tile-number {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.room-tile-state {
    font-weight: 700;
    font-size: .9rem;
}

.room-tile-meta,
.room-tile-price {
    font-size: .75rem;
    opacity: .92;
}

/* Bo‘lim sahifasidagi obyekt nomlari */
.house-name-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--ink);
    text-decoration: none;
    height: 100%;
    transition: border-color .15s ease, transform .15s ease;
}

.house-name-card:hover {
    border-color: var(--accent);
    color: var(--ink);
    transform: translateY(-2px);
}

.house-name-ico {
    font-size: 2rem;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff3cf;
    flex: 0 0 3.2rem;
}

.house-name-title {
    font-weight: 800;
    font-size: 1.1rem;
    line-height: 1.25;
}

.house-name-sub {
    font-size: .85rem;
    color: var(--muted);
}

.house-count-free { color: #1b8a4a; font-weight: 700; }
.house-count-busy { color: #b93434; font-weight: 700; }

/* Til tanlash */
.lang-switch .dropdown-item.active {
    background: var(--accent);
}

.help-ai-action {
    margin-top: .45rem;
    border-radius: 999px;
}

/* ===== Statistika ===== */
.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: .85rem;
}

.stat-tile {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: var(--card);
}

.stat-label {
    font-size: .82rem;
    color: var(--muted);
    font-weight: 600;
}

.stat-value {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--ink);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.stat-value-sm {
    font-size: 1.25rem;
}

.stat-sub {
    font-size: .8rem;
    color: var(--muted);
}

.stat-chart-wrap {
    overflow-x: auto;
}

.stat-chart {
    width: 100%;
    min-width: 480px;
    height: auto;
    display: block;
}

.stat-bar:hover path {
    fill: var(--accent-dark);
}

.stat-hbars {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.stat-hbar {
    display: grid;
    grid-template-columns: minmax(90px, 40%) 1fr auto;
    align-items: center;
    gap: .6rem;
    font-size: .9rem;
}

.stat-hbar-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stat-hbar-track {
    height: 12px;
    background: #f1ece2;
    border-radius: 6px;
    overflow: hidden;
}

.stat-hbar-fill {
    display: block;
    height: 100%;
    background: var(--accent);
    border-radius: 0 6px 6px 0;
}

.stat-hbar-value {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Kod kiritish maydoni */
.otp-input {
    font-size: 1.8rem;
    letter-spacing: .6rem;
    text-align: center;
    font-weight: 700;
}

/* ===== Bitta oynada operator bilan yozishuv ===== */
.help-ai-mode {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    padding: .45rem 1rem;
    background: #fff6e8;
    border-bottom: 1px solid var(--line);
    font-size: .85rem;
    font-weight: 700;
    color: var(--ink);
}

.help-ai-log .is-operator {
    background: #eef1f3;
    border-radius: 14px;
    border-bottom-left-radius: 4px;
    padding: .5rem .75rem;
    max-width: 90%;
}

.help-ai-who {
    font-size: .75rem;
    font-weight: 700;
    color: var(--accent);
}

.help-ai-log {
    height: 300px;
}

/* ---------- Xaritalar va joylashuv ---------- */
.map-box {
    height: 280px;
    border-radius: 14px;
    border: 1px solid #e3dccd;
    overflow: hidden;
    background: #eef1ec;
    z-index: 0;
}
.map-box-wide { height: 380px; }
.map-picker { margin-bottom: 1rem; }
.dist-badge {
    display: inline-block;
    padding: .15rem .55rem;
    border-radius: 999px;
    background: #e7f2f1;
    color: var(--accent);
    font-size: .8rem;
    font-weight: 600;
}
.search-extra { margin-top: .75rem; text-align: center; }
.near-me-btn {
    border: 1px solid rgba(255, 255, 255, .6);
    background: #fff;
    color: var(--accent);
    border-radius: 999px;
    padding: .45rem 1.1rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.near-me-btn:hover { background: #f4faf9; }
.near-me-btn:disabled { opacity: .7; }
.nearby-box .near-me-btn { border-color: var(--accent); }
.geo-error { color: #b3261e; }
.nearby-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: .75rem;
    margin-bottom: .75rem;
}
.nearby-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem .75rem;
    border: 1px solid #e3dccd;
    border-radius: 12px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}
.nearby-card:hover { border-color: var(--accent); }
.nearby-card img, .nearby-ico {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    object-fit: cover;
    flex: 0 0 52px;
}
.nearby-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3efe6;
    font-size: 1.5rem;
}
.nearby-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nearby-title, .nearby-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nearby-title { font-weight: 600; }
.nearby-sub { font-size: .82rem; color: #6b6358; }
.nearby-dist { font-size: .8rem; color: var(--accent); font-weight: 600; white-space: nowrap; }

/* =========================================================
   Animatsiyalar va effektlar (fdu.uz uslubida)
   ========================================================= */

/* ---------- Hero: yumshoq rangli "bulutlar" ---------- */
.search-band {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .55;
    z-index: -1;
    pointer-events: none;
    animation: blob-float 14s ease-in-out infinite alternate;
}
.hero-blob-1 { width: 380px; height: 380px; background: #9ee6cf; left: -120px; bottom: -160px; }
.hero-blob-2 { width: 320px; height: 320px; background: #a9c8ff; right: -80px; top: -140px; animation-delay: -5s; }
.hero-blob-3 { width: 220px; height: 220px; background: #f3d9a4; left: 45%; top: 30%; opacity: .35; animation-delay: -9s; }
@keyframes blob-float {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(30px, -20px) scale(1.08); }
    100% { transform: translate(-20px, 15px) scale(.95); }
}
.search-band-hero { padding: 4.5rem 0 3.5rem; }
.hero-text { text-align: center; max-width: 760px; margin: 0 auto 2rem; }
.hero-kicker {
    display: inline-block;
    padding: .3rem .9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .75);
    color: var(--accent);
    font-weight: 600;
    font-size: .85rem;
    margin-bottom: .9rem;
}
.hero-title {
    font-size: clamp(1.8rem, 4.5vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: .8rem;
    background: linear-gradient(90deg, var(--accent-dark), var(--accent) 45%, #2f6fed);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hero-sub { color: var(--muted); font-size: 1.05rem; margin: 0; }
.search-band-hero .hero-text > * { animation: rise-in .8s cubic-bezier(.2, .7, .2, 1) both; }
.search-band-hero .hero-text > :nth-child(2) { animation-delay: .1s; }
.search-band-hero .hero-text > :nth-child(3) { animation-delay: .2s; }
.search-band-hero .search-bar { animation: rise-in .8s .3s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes rise-in {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: none; }
}

/* Qidirish tugmasi: to‘lqinli "puls" halqa */
.search-band-hero .search-submit { animation: pulse-outline 2.4s 1.2s infinite; }
@keyframes pulse-outline {
    0% { box-shadow: 0 0 0 0 rgba(15, 92, 87, .45); }
    70% { box-shadow: 0 0 0 16px rgba(15, 92, 87, 0); }
    100% { box-shadow: 0 0 0 0 rgba(15, 92, 87, 0); }
}

/* ---------- Scroll reveal ---------- */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1);
}
.reveal.is-visible { opacity: 1; transform: none; }

/* ---------- Kartalarga hover ---------- */
.room-card, .nearby-card, .stat-card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.room-card:hover, .nearby-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(40, 28, 10, .12);
}
.room-card img, .room-photo { transition: transform .5s ease; }
.room-card:hover img { transform: scale(1.03); }

/* ---------- Statistika ---------- */
.stats-wrap {
    background: linear-gradient(135deg, var(--accent-dark), var(--accent) 60%, #1b7a72);
    color: #fff;
    border-radius: 20px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
}
.stats-wrap::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -90px;
    top: -120px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
.stats-head { margin-bottom: 1.5rem; position: relative; z-index: 1; }
.stats-head h2 { color: #fff; }
.stats-head p { color: rgba(255, 255, 255, .75); }
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    position: relative;
    z-index: 1;
}
.stat-card {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    padding: 1.1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.stat-card:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .16); }
.stat-ico { font-size: 1.5rem; }
.stat-num {
    font-size: 2.1rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
.stat-label { color: rgba(255, 255, 255, .8); font-size: .9rem; }

/* ---------- Sarlavha: pastga tushganda soya ---------- */
.site-header { transition: box-shadow .25s ease, background-color .25s ease; }
.site-header.is-scrolled {
    background: rgba(255, 253, 248, .97);
    box-shadow: 0 6px 20px rgba(40, 28, 10, .08);
}

/* Ochiluvchi menyular: yumshoq "prujina" bilan */
.dropdown-menu.show { animation: spring-in .28s cubic-bezier(.2, .9, .3, 1.2); transform-origin: top right; }
@keyframes spring-in {
    0% { opacity: 0; transform: scale(.92) translateY(-6px); }
    60% { opacity: 1; transform: scale(1.02); }
    100% { opacity: 1; transform: none; }
}

/* ---------- "Yuqoriga" tugmasi ---------- */
.to-top {
    position: fixed;
    left: 1.1rem;
    bottom: 1.1rem;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: var(--card);
    box-shadow: 0 8px 22px rgba(40, 28, 10, .16);
    color: var(--accent);
    font-weight: 800;
    font-size: 1.15rem;
    z-index: 35;
    display: grid;
    place-items: center;
    animation: rise-in .35s ease both;
}
.to-top[hidden] { display: none; }
.to-top svg { position: absolute; inset: 2px; width: 44px; height: 44px; transform: rotate(-90deg); }
.to-top circle { fill: none; stroke-width: 3; }
.to-top-track { stroke: var(--line); }
.to-top-ring { stroke: var(--accent); stroke-linecap: round; transition: stroke-dashoffset .1s linear; }
.to-top span { position: relative; }
.to-top:hover { transform: translateY(-2px); }

/* ---------- Bildirishnomalar (toast) ---------- */
.toast-stack {
    position: fixed;
    top: 5rem;
    right: 1rem;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    width: min(360px, calc(100vw - 2rem));
}
.site-toast {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    background: var(--card);
    border: 1px solid var(--line);
    border-left: 4px solid var(--accent);
    border-radius: 12px;
    padding: .8rem 2rem .9rem .9rem;
    box-shadow: 0 14px 32px rgba(40, 28, 10, .16);
    overflow: hidden;
    animation: toast-in .55s cubic-bezier(.215, .61, .355, 1) both;
}
.site-toast-error { border-left-color: #c0392b; }
.site-toast-info { border-left-color: #2f6fed; }
.site-toast.is-leaving { animation: toast-out .35s ease forwards; }
.site-toast-text { flex: 1; font-weight: 500; }
.site-toast-close {
    position: absolute;
    top: .35rem;
    right: .5rem;
    border: 0;
    background: none;
    color: var(--muted);
    font-size: 1.2rem;
    line-height: 1;
}
.site-toast-bar {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: var(--accent);
    transform-origin: left;
    animation: toast-progress 5s linear forwards;
}
.site-toast-error .site-toast-bar { background: #c0392b; }
.site-toast.is-paused .site-toast-bar { animation-play-state: paused; }
@keyframes toast-in {
    0% { opacity: 0; transform: translateX(110%); }
    60% { opacity: 1; transform: translateX(-12px); }
    80% { transform: translateX(4px); }
    100% { transform: none; }
}
@keyframes toast-out {
    20% { opacity: 1; transform: translateX(-16px); }
    100% { opacity: 0; transform: translateX(120%); }
}
@keyframes toast-progress { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* ---------- Muvaffaqiyat belgisi (bron qabul qilindi) ---------- */
.success-check { width: 76px; height: 76px; margin: 0 0 1rem; }
.success-check svg {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    stroke: #fff;
    stroke-width: 3;
    stroke-miterlimit: 10;
    box-shadow: inset 0 0 0 #2e9e5b;
    animation: check-fill .4s ease-in-out .45s forwards, check-scale .3s ease-in-out .9s both;
}
.success-check circle {
    stroke: #2e9e5b;
    stroke-width: 2;
    stroke-dasharray: 151;
    stroke-dashoffset: 151;
    animation: check-stroke .6s cubic-bezier(.65, 0, .45, 1) forwards;
}
.success-check path {
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: check-stroke .35s cubic-bezier(.65, 0, .45, 1) .8s forwards;
}
@keyframes check-stroke { to { stroke-dashoffset: 0; } }
@keyframes check-scale { 0%, 100% { transform: none; } 50% { transform: scale3d(1.1, 1.1, 1); } }
@keyframes check-fill { to { box-shadow: inset 0 0 0 40px #2e9e5b; } }

/* ---------- Yordamchi: suzuvchi tugma, ochilish, "yozmoqda…" ---------- */
.help-ai-toggle { animation: chatbot-float 3s ease-in-out infinite; transition: transform .2s ease; }
.help-ai-toggle:hover { animation-play-state: paused; transform: scale(1.05); }
@keyframes chatbot-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}
.help-ai-panel:not([hidden]) {
    animation: spring-in .32s cubic-bezier(.2, .9, .3, 1.2);
    transform-origin: bottom right;
}
.help-ai-log p { animation: msg-in .25s ease both; }
@keyframes msg-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.help-ai-typing { display: inline-flex !important; gap: 4px; align-items: center; }
.help-ai-typing span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--muted);
    animation: typing-dot 1.1s infinite ease-in-out;
}
.help-ai-typing span:nth-child(2) { animation-delay: .15s; }
.help-ai-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes typing-dot {
    0%, 60%, 100% { opacity: .3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-4px); }
}

/* ---------- Bo‘lim doirachalari ---------- */
.section-circle-ico { transition: transform .3s cubic-bezier(.2, .9, .3, 1.3); }
.section-circle:hover .section-circle-ico { transform: translateY(-4px) scale(1.08); }

/* ---------- Maxsus imkoniyatlar ---------- */
.a11y-panel { min-width: 270px; }
.a11y-panel .btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
html { --a11y-g: 0; --a11y-c: 1; }
html.a11y-gray { --a11y-g: 1; }
html.a11y-contrast { --a11y-c: 1.4; }
html.a11y-gray, html.a11y-contrast { filter: grayscale(var(--a11y-g)) contrast(var(--a11y-c)); }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}
html.a11y-still .reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}
@media (max-width: 576px) {
    .search-band-hero { padding: 2.5rem 0 2.5rem; }
    .stats-wrap { padding: 1.4rem; }
    .stat-num { font-size: 1.7rem; }
    .to-top { left: .8rem; bottom: .8rem; }
}
html.a11y-still .success-check circle, html.a11y-still .success-check path { stroke-dashoffset: 0; }
html.a11y-still .success-check svg { box-shadow: inset 0 0 0 40px #2e9e5b; }

/* ---------- Menyu yozuvchalari (tooltip) ---------- */
@media (min-width: 992px) and (hover: hover) {
    .site-header .nav-link[data-tip] { position: relative; }
    .site-header .nav-link[data-tip]::before {
        content: attr(data-tip);
        position: absolute;
        top: calc(100% + 10px);
        left: 50%;
        width: max-content;
        max-width: 240px;
        padding: .5rem .75rem;
        border-radius: 10px;
        background: var(--ink);
        color: #fff;
        font-size: .8rem;
        font-weight: 500;
        line-height: 1.35;
        white-space: normal;
        text-align: left;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
        opacity: 0;
        visibility: hidden;
        transform: translate(-50%, -4px);
        transition: opacity .18s ease .25s, transform .18s ease .25s, visibility 0s linear .43s;
        pointer-events: none;
        z-index: 1100;
    }
    .site-header .nav-link[data-tip]:hover::before {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, 0);
        transition-delay: .35s, .35s, 0s;
    }
    .site-header .navbar-nav > .nav-item:last-child .nav-link[data-tip]::before,
    .site-header .lang-switch .nav-link[data-tip]::before,
    .site-header .a11y-menu .nav-link[data-tip]::before { left: auto; right: 0; transform: translateY(-4px); }
    .site-header .a11y-menu .nav-link[data-tip]:hover::before { transform: none; }
    .site-header .nav-link.show[data-tip]::before { display: none; }
}

/* ---------- Sahifa tepasidagi izoh ---------- */
.page-intro {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .8rem 1rem;
    border-radius: 14px;
    background: linear-gradient(90deg, #e7f2f1, #f4f8ff);
    border: 1px solid #cfe3e1;
    color: var(--accent-dark);
    font-weight: 500;
    animation: rise-in .5s ease both;
}
.page-intro-text { flex: 1; }
.page-intro-close {
    border: 0;
    background: none;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1;
    padding: .2rem;
}
[data-page-intro].is-closing { transition: opacity .25s ease, transform .25s ease; opacity: 0; transform: translateY(-6px); }

/* ---------- Yordamchidagi tayyor savollar ---------- */
.help-ai-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.help-ai-chip {
    border: 1px solid #cfe3e1;
    background: #fff;
    color: var(--accent);
    border-radius: 999px;
    padding: .25rem .65rem;
    font-size: .8rem;
    font-weight: 600;
    transition: background .2s ease, transform .2s ease;
}
.help-ai-chip:hover { background: #e7f2f1; transform: translateY(-1px); }

/* ---------- Super Admin: "✏️ Matnlar" tugmasi va tahrirlash sahifasi ---------- */
.edit-texts-fab {
    position: fixed;
    left: 1.1rem;
    bottom: 4.6rem;
    z-index: 36;
    padding: .5rem .9rem;
    border-radius: 999px;
    background: var(--gold);
    color: #1c1914;
    font-weight: 700;
    font-size: .85rem;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(40, 28, 10, .2);
}
.edit-texts-fab:hover { color: #1c1914; transform: translateY(-2px); }
.text-row.is-changed { border-left: 4px solid var(--gold); }
.text-key { font-family: ui-monospace, Consolas, monospace; color: var(--ink); white-space: pre-wrap; word-break: break-word; }

/* ---------- Obyekt statistikasi ---------- */
.house-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
}
.house-stat {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: .9rem 1rem;
}
.house-stat-num { display: block; font-size: 1.6rem; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1.15; }
.house-stat-label { color: var(--muted); font-size: .85rem; }
.occupancy-bar { height: 8px; border-radius: 999px; background: #e9e2d3; overflow: hidden; margin-top: .45rem; }
.occupancy-bar span { display: block; height: 100%; background: linear-gradient(90deg, #2e9e5b, #e0a526, #c0392b); background-size: 300px 100%; border-radius: inherit; }
.house-chart { overflow-x: auto; }
.house-chart svg { width: 100%; min-width: 420px; height: auto; }

/* ---------- Admin parollari ---------- */
.pw-cell { display: inline-flex; align-items: center; gap: .35rem; }
.pw-value { font-family: ui-monospace, Consolas, monospace; min-width: 6.5rem; }

/* =========================================================
   Obyektning ijtimoiy tarmoqlari
   ========================================================= */
.house-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.social-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .9rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--ink);
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.social-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(40, 28, 10, .12); color: #fff; }
.social-btn.is-phone:hover { background: var(--accent); border-color: var(--accent); }
.social-btn.is-telegram:hover { background: #229ed9; border-color: #229ed9; }
.social-btn.is-instagram:hover { background: linear-gradient(45deg, #f09433, #dc2743 50%, #bc1888); border-color: #dc2743; }
.social-btn.is-facebook:hover { background: #1877f2; border-color: #1877f2; }
.social-btn.is-youtube:hover { background: #e62117; border-color: #e62117; }
.social-btn.is-whatsapp:hover { background: #25d366; border-color: #25d366; }
.social-btn.is-web:hover { background: #4b5563; border-color: #4b5563; }
.house-social.is-compact { gap: .35rem; }
.house-social.is-compact .social-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    justify-content: center;
    font-size: 1rem;
}
.house-card-social { padding: .5rem .25rem 0; }

/* =========================================================
   Baholash: yulduzlar, xulosa, sharhlar
   ========================================================= */
.stars {
    --rating: 0;
    --star-size: 1rem;
    display: inline-block;
    font-size: var(--star-size);
    line-height: 1;
    letter-spacing: 2px;
    vertical-align: -1px;
}
.stars::before {
    content: "★★★★★";
    background: linear-gradient(90deg, #f5a623 calc(var(--rating) / 5 * 100%), #d9d2c3 calc(var(--rating) / 5 * 100%));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.stars-lg { --star-size: 1.6rem; }
.rating-inline { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink); }
.rating-count { color: var(--muted); font-weight: 400; font-size: .85em; }

.rating-summary { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
.rating-big { display: flex; flex-direction: column; align-items: center; gap: .25rem; min-width: 130px; }
.rating-big-num { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--ink); }
.rating-bars { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: .35rem; }
.rating-bar-row { display: grid; grid-template-columns: 2.6rem 1fr 2rem; align-items: center; gap: .5rem; font-size: .9rem; }
.rating-bar { height: 8px; border-radius: 999px; background: #eee7da; overflow: hidden; }
.rating-bar i { display: block; height: 100%; background: #f5a623; border-radius: inherit; transition: width .8s ease; }
.rating-bar-count { color: var(--muted); text-align: right; }

/* Yulduz tanlash (5 → 1 teskari tartibda, :checked ~ label bilan bo‘yaladi) */
.star-input { border: 0; padding: 0; margin: 0; }
.star-input-row { display: inline-flex; flex-direction: row-reverse; gap: .15rem; }
.star-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.star-input label {
    font-size: 2.2rem;
    line-height: 1;
    color: #d9d2c3;
    cursor: pointer;
    transition: color .15s ease, transform .15s ease;
}
.star-input label:hover,
.star-input label:hover ~ label,
.star-input input:checked ~ label { color: #f5a623; }
.star-input label:hover { transform: scale(1.15); }
.star-input input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

.review-list { display: flex; flex-direction: column; gap: .85rem; }
.review-card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 1rem 1.1rem;
}
.review-card.is-hidden { opacity: .65; border-style: dashed; }
.review-head { display: flex; align-items: center; gap: .75rem; }
.review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--accent);
    color: #fff;
    font-weight: 700;
    flex: 0 0 40px;
}
.review-verified {
    display: inline-block;
    margin-left: .35rem;
    padding: .05rem .5rem;
    border-radius: 999px;
    background: #e5f4ea;
    color: #2e7d4f;
    font-size: .75rem;
    font-weight: 600;
}
.review-text { margin: .7rem 0 0; white-space: pre-line; }
.review-reply {
    margin-top: .7rem;
    padding: .6rem .8rem;
    border-left: 3px solid var(--gold);
    background: #faf5ea;
    border-radius: 0 10px 10px 0;
    font-size: .92rem;
    white-space: pre-line;
}

/* Mehmonxona sahifasidagi xona katakchasi + baho havolasi */
.room-cell { display: flex; flex-direction: column; gap: .3rem; }
.room-cell > .room-tile { flex: 1; }
.room-cell-reviews {
    text-align: center;
    font-size: .82rem;
    font-weight: 600;
    color: #b7791f;
    text-decoration: none;
    padding: .15rem 0;
    border-radius: 8px;
}
.room-cell-reviews:hover { background: #fbf1dc; }

/* ---------- Menyu: so‘zlar ikki qatorga bo‘linmasin + profil menyusi ---------- */
/* Sahifa hech qachon yonga surilmasin (sticky sarlavhani buzmaydigan "clip") */
html, body { overflow-x: clip; }

@media (min-width: 1200px) {
    .site-header .container { max-width: min(1480px, 100%); }
    .site-header .navbar-nav .nav-link {
        white-space: nowrap;
        padding-left: .55rem;
        padding-right: .55rem;
        font-size: .95rem;
    }
    .site-header .navbar-brand { margin-right: .75rem; }
}
/* O‘rta ekranlarda (1200–1399px) profil — faqat dumaloq belgi, menyu zichroq */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .site-header .navbar-nav .nav-link { padding-left: .4rem; padding-right: .4rem; font-size: .9rem; }
    .profile-name { display: none; }
}
/* Kichik ekranda ochiladigan menyu: elementlar bir-biridan ajralib tursin */
@media (max-width: 1199.98px) {
    .site-header .navbar-collapse { padding: .5rem 0 1rem; }
    .site-header .navbar-nav .nav-link { padding: .55rem .25rem; }
}
.profile-toggle { display: inline-flex !important; align-items: center; gap: .45rem; }
.profile-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--accent);
    color: #fff;
    font-weight: 700;
    font-size: .9rem;
    flex: 0 0 32px;
}
.profile-name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--ink);
}
.profile-dropdown { min-width: 240px; padding: .4rem; border-radius: 14px; }
.profile-dropdown .dropdown-header { padding: .5rem .75rem; color: var(--muted); max-width: 260px; }
.profile-dropdown .dropdown-header .fw-semibold { color: var(--ink); font-size: .95rem; }
.profile-dropdown .dropdown-item { border-radius: 8px; padding: .5rem .75rem; font-weight: 500; }
.profile-dropdown .dropdown-item:active { background: var(--accent); }
.profile-logout { color: #b3261e; }
.profile-logout:hover { background: #fdecea; color: #b3261e; }
@media (max-width: 1199.98px) {
    .profile-name { max-width: none; }
}

/* Hero "bulutlari" pastda keskin kesilmasin — yon tomondan kesiladi, pastga yumshoq tarqaladi */
.search-band { overflow: visible; overflow-x: clip; }

/* =========================================================
   TUNGI OSMON — TO‘LIQ QORONG‘I MAVZU (barcha sahifalarda)
   • Oq fon qolmadi: kartalar, formalar, menyular, jadvallar — "tungi shisha".
   • Bootstrap'ning o‘z qorong‘i rejimi (_Layout: data-bs-theme="dark") bilan birga ishlaydi.
   • Yulduzlar sekin miltillaydi, ba’zan "uchar yulduz" o‘tadi.
   ========================================================= */
:root {
    --ink: #eef2ff;
    --muted: #b9c3df;
    --line: rgba(255, 255, 255, .12);
    --card: rgba(17, 23, 58, .74);
    --card-solid: #121840;
    --paper: #0b1033;
    --accent-text: #7fe0cf;
    --sky-ink: #eef2ff;
    --sky-muted: #b9c3df;
}
[data-bs-theme="dark"] {
    --bs-body-color: #eef2ff;
    --bs-body-bg: #10163a;
    --bs-secondary-color: #b9c3df;
    --bs-tertiary-bg: #161d4a;
    --bs-secondary-bg: #1a2152;
    --bs-border-color: rgba(255, 255, 255, .14);
    --bs-link-color-rgb: 127, 224, 207;
    --bs-link-hover-color-rgb: 175, 240, 228;
    --bs-emphasis-color: #ffffff;
    --bs-heading-color: inherit;
}
body {
    color: var(--ink);
    background: #070b1f;
}
[style*="color:#6b6358"], [style*="color: #6b6358"] { color: var(--muted) !important; }

/* --- Fon: shimoliy yog‘du (aurora) + yulduzlar --- */
body::before,
body::after,
html::before {
    content: "";
    position: fixed;
    pointer-events: none;
}
/* 1-qatlam: chuqur tun osmoni va jim yulduzlar */
body::before {
    inset: 0;
    z-index: -3;
    background:
        radial-gradient(1px 1px at 20px 30px, #fff, transparent),
        radial-gradient(1px 1px at 140px 90px, rgba(255, 255, 255, .8), transparent),
        radial-gradient(1.5px 1.5px at 90px 160px, #fff, transparent),
        radial-gradient(1px 1px at 200px 220px, rgba(255, 255, 255, .7), transparent),
        radial-gradient(1px 1px at 260px 40px, rgba(255, 255, 255, .9), transparent),
        radial-gradient(1px 1px at 300px 180px, rgba(200, 220, 255, .8), transparent),
        radial-gradient(1.2px 1.2px at 60px 260px, rgba(255, 245, 220, .8), transparent),
        radial-gradient(1200px 520px at 50% 115%, rgba(0, 210, 190, .18), transparent 70%),
        linear-gradient(180deg, #03041a 0%, #070b2c 40%, #0d1240 70%, #120f3d 100%);
    background-size:
        320px 300px, 320px 300px, 320px 300px, 320px 300px, 320px 300px, 320px 300px, 320px 300px,
        auto, auto;
}
/* 2-qatlam: miltillovchi yorqin yulduzlar */
html::before {
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(2px 2px at 50px 80px, #fff, transparent),
        radial-gradient(1.6px 1.6px at 230px 30px, rgba(210, 225, 255, .95), transparent),
        radial-gradient(2.2px 2.2px at 380px 210px, #fff, transparent),
        radial-gradient(1.4px 1.4px at 120px 330px, rgba(255, 240, 210, .95), transparent),
        radial-gradient(1.8px 1.8px at 470px 380px, #fff, transparent);
    background-size: 530px 470px;
    animation: stars-twinkle 6s ease-in-out infinite alternate;
}
/* 3-qatlam: suzib yuruvchi rangli yog‘du — firuza, binafsha, pushti */
body::after {
    inset: -30%;
    z-index: -1;
    background:
        radial-gradient(60% 9% at 45% 30%, rgba(0, 255, 204, .28), transparent 75%),
        radial-gradient(50% 7% at 60% 36%, rgba(120, 255, 170, .16), transparent 75%),
        radial-gradient(38% 26% at 22% 32%, rgba(0, 255, 204, .40), transparent 70%),
        radial-gradient(34% 30% at 74% 22%, rgba(150, 90, 255, .46), transparent 70%),
        radial-gradient(30% 22% at 64% 70%, rgba(255, 64, 170, .30), transparent 70%),
        radial-gradient(36% 26% at 26% 78%, rgba(40, 130, 255, .34), transparent 70%);
    mix-blend-mode: screen;
    will-change: transform;
    animation: aurora-drift 26s ease-in-out infinite alternate;
}
@keyframes aurora-drift {
    0%   { transform: translate3d(-4%, -2%, 0) rotate(0deg) scale(1); }
    33%  { transform: translate3d(3%, 2%, 0) rotate(8deg) scale(1.08); }
    66%  { transform: translate3d(-2%, 4%, 0) rotate(-6deg) scale(1.04); }
    100% { transform: translate3d(4%, -3%, 0) rotate(5deg) scale(1.1); }
}
@keyframes stars-twinkle {
    0% { opacity: .35; }
    50% { opacity: 1; }
    100% { opacity: .55; }
}
/* ===== Boshqa fonlar (Super Admin tanlaydi: <html data-bg="...">) ===== */

/* 🌆 Neon — binafsha-pushti-to‘q sariq oqshom + pastda harakatlanuvchi neon to‘r */
html[data-bg="neon"] body::before {
    background:
        radial-gradient(70% 45% at 50% 62%, rgba(255, 120, 60, .55), transparent 70%),
        radial-gradient(55% 40% at 50% 58%, rgba(255, 60, 160, .45), transparent 72%),
        radial-gradient(1px 1px at 40px 60px, rgba(255, 255, 255, .8), transparent),
        radial-gradient(1px 1px at 190px 120px, rgba(255, 255, 255, .6), transparent),
        radial-gradient(1.4px 1.4px at 300px 30px, #fff, transparent),
        linear-gradient(180deg, #0b0322 0%, #2a0a4a 38%, #5b0f5e 58%, #1a0630 59%, #0a0318 100%);
    background-size: auto, auto, 340px 220px, 340px 220px, 340px 220px, auto;
    background-repeat: no-repeat, no-repeat, repeat, repeat, repeat, no-repeat;
}
html[data-bg="neon"]::before {
    inset: auto -60% 0 -60%;
    height: 90vh;
    background:
        linear-gradient(rgba(255, 70, 200, .9) 3px, transparent 3px) 0 0 / 100% 60px,
        linear-gradient(90deg, rgba(0, 240, 255, .8) 3px, transparent 3px) 0 0 / 90px 100%;
    -webkit-mask-image: linear-gradient(to top, #000 10%, transparent 95%);
    mask-image: linear-gradient(to top, #000 10%, transparent 95%);
    transform: perspective(500px) rotateX(72deg);
    transform-origin: 50% 100%;
    animation: neon-grid 2.6s linear infinite;
}
@keyframes neon-grid { to { background-position: 0 60px, 0 0; } }
html[data-bg="neon"] body::after {
    background:
        radial-gradient(28% 22% at 50% 58%, rgba(255, 200, 80, .55), transparent 70%),
        radial-gradient(34% 26% at 18% 28%, rgba(180, 60, 255, .40), transparent 70%),
        radial-gradient(30% 24% at 82% 30%, rgba(0, 220, 255, .30), transparent 70%);
    animation-duration: 18s;
}

/* 🪐 Kosmos — tumanlik (nebula), sayyora va ko‘p yulduz */
html[data-bg="cosmos"] body::before {
    background:
        radial-gradient(circle at 82% 22%, #ffd9a8 0, #ff9a62 3.5%, #b4486b 6.5%, rgba(80, 30, 90, .0) 7.2%),
        radial-gradient(circle at 82% 22%, rgba(255, 170, 120, .35), transparent 14%),
        radial-gradient(1px 1px at 20px 30px, #fff, transparent),
        radial-gradient(1px 1px at 140px 90px, rgba(255, 255, 255, .8), transparent),
        radial-gradient(1.5px 1.5px at 90px 160px, #fff, transparent),
        radial-gradient(1px 1px at 200px 220px, rgba(255, 255, 255, .7), transparent),
        radial-gradient(1px 1px at 60px 260px, rgba(255, 245, 220, .8), transparent),
        linear-gradient(160deg, #02010a 0%, #0a0624 50%, #04030f 100%);
    background-size: auto, auto, 240px 260px, 240px 260px, 240px 260px, 240px 260px, 240px 260px, auto;
    background-repeat: no-repeat, no-repeat, repeat, repeat, repeat, repeat, repeat, no-repeat;
}
html[data-bg="cosmos"] body::after {
    background:
        radial-gradient(45% 30% at 30% 40%, rgba(255, 60, 160, .38), transparent 70%),
        radial-gradient(40% 28% at 45% 55%, rgba(90, 80, 255, .40), transparent 70%),
        radial-gradient(30% 20% at 20% 60%, rgba(0, 200, 255, .30), transparent 70%),
        radial-gradient(22% 14% at 40% 48%, rgba(255, 220, 255, .22), transparent 70%);
    animation-duration: 40s;
}

/* 🌊 Okean — chuqur firuza suv, yorug‘ nurlar va pastda to‘lqinlar */
html[data-bg="ocean"] body::before {
    background:
        repeating-linear-gradient(100deg, transparent 0 60px, rgba(160, 255, 240, .035) 60px 90px, transparent 90px 170px),
        radial-gradient(80% 50% at 50% -5%, rgba(120, 255, 230, .35), transparent 70%),
        linear-gradient(180deg, #03304a 0%, #022a44 35%, #031a33 70%, #020d1f 100%);
}
html[data-bg="ocean"]::before {
    inset: auto 0 0 0;
    height: 34vh;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 120 Q150 60 300 120 T600 120 T900 120 T1200 120 V200 H0Z' fill='%2300e0c8' fill-opacity='.22'/%3E%3C/svg%3E") 0 100% / 1200px 70% repeat-x,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 140 Q150 90 300 140 T600 140 T900 140 T1200 140 V200 H0Z' fill='%230090ff' fill-opacity='.25'/%3E%3C/svg%3E") 0 100% / 900px 55% repeat-x;
    animation: ocean-waves 14s linear infinite;
}
@keyframes ocean-waves { to { background-position: 1200px 100%, -900px 100%; } }
html[data-bg="ocean"] body::after {
    background:
        radial-gradient(36% 24% at 25% 25%, rgba(0, 255, 210, .30), transparent 70%),
        radial-gradient(34% 26% at 75% 40%, rgba(0, 140, 255, .30), transparent 70%),
        radial-gradient(30% 22% at 50% 80%, rgba(80, 255, 200, .18), transparent 70%);
}

/* 🌅 Quyosh botishi — iliq oltin-pushti osmon */
html[data-bg="sunset"] body::before {
    background:
        radial-gradient(circle at 50% 70%, #fff3c4 0, #ffc96b 4%, rgba(255, 140, 80, .0) 14%),
        radial-gradient(90% 60% at 50% 75%, rgba(255, 120, 70, .65), transparent 70%),
        linear-gradient(180deg, #1b0b3a 0%, #5a1a5e 35%, #b53a63 60%, #f07b4f 80%, #2b0d2e 100%);
}
html[data-bg="sunset"]::before { display: none; }
html[data-bg="sunset"] body::after {
    background:
        radial-gradient(40% 12% at 30% 30%, rgba(255, 200, 150, .30), transparent 75%),
        radial-gradient(36% 10% at 70% 22%, rgba(255, 150, 200, .28), transparent 75%),
        radial-gradient(50% 12% at 55% 45%, rgba(255, 220, 180, .22), transparent 75%);
    animation-duration: 30s;
}

/* 🌃 Tungi shahar — ko‘chmas mulk mavzusi: osmono‘par binolar, uylar, yoniq derazalar */
html[data-bg="shahar"] body::before {
    inset: 0;
    background:
        radial-gradient(1px 1px at 30px 40px, rgba(255, 255, 255, .85), transparent),
        radial-gradient(1px 1px at 160px 110px, rgba(255, 255, 255, .6), transparent),
        radial-gradient(1.4px 1.4px at 260px 60px, #fff, transparent),
        radial-gradient(1px 1px at 90px 180px, rgba(255, 240, 210, .7), transparent),
        radial-gradient(circle at 82% 16%, #fff6da 0, #ffe7a8 1.6%, rgba(255, 220, 140, .25) 3.2%, transparent 9%),
        radial-gradient(120% 55% at 50% 100%, rgba(255, 140, 70, .55), transparent 60%),
        radial-gradient(90% 45% at 30% 100%, rgba(255, 70, 160, .30), transparent 70%),
        linear-gradient(180deg, #050a24 0%, #121a4a 40%, #3a2470 68%, #7a3a78 84%, #c46a5c 100%);
    background-size: 320px 240px, 320px 240px, 320px 240px, 320px 240px, auto, auto, auto, auto;
    background-repeat: repeat, repeat, repeat, repeat, no-repeat, no-repeat, no-repeat, no-repeat;
}
html[data-bg="shahar"]::before {
    inset: auto 0 0 0;
    height: 46vh;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="1600" height="320" viewBox="0 0 1600 320"%3E%3Cg fill="%232a2068"%3E%3Crect x="0" y="162" width="60" height="158"/%3E%3Crect x="60" y="63" width="44" height="257"/%3E%3Crect x="80" y="37" width="4" height="26"/%3E%3Crect x="104" y="146" width="72" height="174"/%3E%3Crect x="138" y="120" width="4" height="26"/%3E%3Crect x="182" y="183" width="66" height="137"/%3E%3Crect x="213" y="157" width="4" height="26"/%3E%3Crect x="256" y="185" width="67" height="135"/%3E%3Crect x="324" y="185" width="54" height="135"/%3E%3Crect x="384" y="144" width="43" height="176"/%3E%3Crect x="403" y="118" width="4" height="26"/%3E%3Crect x="429" y="93" width="58" height="227"/%3E%3Crect x="456" y="67" width="4" height="26"/%3E%3Crect x="488" y="122" width="76" height="198"/%3E%3Crect x="566" y="152" width="46" height="168"/%3E%3Crect x="620" y="184" width="85" height="136"/%3E%3Crect x="708" y="64" width="71" height="256"/%3E%3Crect x="784" y="84" width="69" height="236"/%3E%3Crect x="856" y="154" width="90" height="166"/%3E%3Crect x="949" y="124" width="45" height="196"/%3E%3Crect x="999" y="86" width="86" height="234"/%3E%3Crect x="1086" y="69" width="47" height="251"/%3E%3Crect x="1138" y="75" width="49" height="245"/%3E%3Crect x="1188" y="120" width="88" height="200"/%3E%3Crect x="1281" y="73" width="78" height="247"/%3E%3Crect x="1366" y="177" width="44" height="143"/%3E%3Crect x="1417" y="184" width="84" height="136"/%3E%3Crect x="1457" y="158" width="4" height="26"/%3E%3Crect x="1505" y="86" width="81" height="234"/%3E%3Crect x="1592" y="112" width="82" height="208"/%3E%3Crect x="1631" y="86" width="4" height="26"/%3E%3C/g%3E%3C/svg%3E') 0 100% / auto 100% repeat-x;
    opacity: .85;
    animation: city-pan 240s linear infinite;
}
html[data-bg="shahar"] body::after {
    inset: auto 0 0 0;
    height: 38vh;
    mix-blend-mode: normal;
    background:
        linear-gradient(180deg, transparent 0%, rgba(5, 4, 20, .35) 100%),
        url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="1600" height="320" viewBox="0 0 1600 320"%3E%3Cg fill="%230c0a24"%3E%3Crect x="0" y="176" width="99" height="144"/%3E%3Crect x="105" y="112" width="83" height="208"/%3E%3Crect x="193" y="129" width="89" height="191"/%3E%3Crect x="293" y="249" width="128" height="71"/%3E%3Cpolygon points="285,249 357.0,211 429,249"/%3E%3Crect x="430" y="253" width="96" height="67"/%3E%3Cpolygon points="422,253 478.0,215 534,253"/%3E%3Crect x="544" y="129" width="60" height="191"/%3E%3Crect x="620" y="114" width="99" height="206"/%3E%3Crect x="735" y="183" width="95" height="137"/%3E%3Crect x="836" y="134" width="85" height="186"/%3E%3Crect x="929" y="104" width="87" height="216"/%3E%3Crect x="1023" y="133" width="75" height="187"/%3E%3Crect x="1107" y="149" width="95" height="171"/%3E%3Crect x="1216" y="161" width="101" height="159"/%3E%3Crect x="1330" y="181" width="72" height="139"/%3E%3Crect x="1407" y="156" width="88" height="164"/%3E%3Crect x="1500" y="181" width="97" height="139"/%3E%3C/g%3E%3Cg opacity=".9"%3E%3Crect x="26" y="188" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="44" y="188" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="44" y="210" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="62" y="232" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="62" y="254" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="8" y="276" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="44" y="276" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="62" y="276" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="113" y="168" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="149" y="190" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="131" y="212" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="149" y="212" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="113" y="256" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="149" y="256" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="219" y="141" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="255" y="163" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="201" y="185" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="237" y="185" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="201" y="207" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="237" y="207" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="219" y="229" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="219" y="251" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="201" y="273" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="219" y="273" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="307" y="265" width="16" height="18" rx="2" fill="%23ffe9b0"/%3E%3Crect x="348.0" y="290" width="18" height="30" fill="%233a2a1a"/%3E%3Crect x="444" y="269" width="16" height="18" rx="2" fill="%23ffc04d"/%3E%3Crect x="496" y="269" width="16" height="18" rx="2" fill="%23ffe9b0"/%3E%3Crect x="469.0" y="290" width="18" height="30" fill="%233a2a1a"/%3E%3Crect x="570" y="141" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="570" y="163" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="570" y="207" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="552" y="229" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="570" y="251" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="552" y="273" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="570" y="273" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="664" y="126" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="682" y="126" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="646" y="170" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="664" y="170" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="628" y="192" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="664" y="192" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="646" y="236" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="682" y="236" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="682" y="258" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="682" y="280" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="743" y="195" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="761" y="195" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="779" y="283" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="844" y="146" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="880" y="146" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="862" y="168" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="880" y="168" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="844" y="190" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="862" y="212" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="862" y="234" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="898" y="234" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="862" y="256" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="898" y="256" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="844" y="278" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="880" y="278" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="898" y="278" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="955" y="116" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="955" y="138" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="973" y="138" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="937" y="160" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="991" y="160" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="937" y="182" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="973" y="182" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="937" y="204" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="955" y="204" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="937" y="226" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="955" y="226" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="937" y="248" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="973" y="248" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="955" y="270" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1031" y="145" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1067" y="167" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1049" y="189" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1031" y="211" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1067" y="211" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1049" y="233" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1049" y="255" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1031" y="277" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1049" y="277" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1067" y="277" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1115" y="161" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1133" y="161" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1151" y="161" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1169" y="161" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1133" y="183" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1151" y="183" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1169" y="183" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1133" y="205" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1151" y="205" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1169" y="227" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1115" y="249" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1133" y="249" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1115" y="271" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1224" y="173" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1242" y="173" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1278" y="173" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1242" y="217" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1260" y="239" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1278" y="239" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1242" y="261" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1260" y="261" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1356" y="193" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1338" y="215" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1356" y="215" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1338" y="237" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1374" y="237" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1374" y="259" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1338" y="281" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1374" y="281" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1469" y="168" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1415" y="190" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1451" y="190" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1433" y="212" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1469" y="212" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1415" y="256" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1451" y="256" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1415" y="278" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1469" y="278" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1508" y="193" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1562" y="193" width="10" height="12" fill="%23ffd27a"/%3E%3Crect x="1526" y="215" width="10" height="12" fill="%23ffc04d"/%3E%3Crect x="1544" y="215" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1508" y="237" width="10" height="12" fill="%23ffe9b0"/%3E%3Crect x="1562" y="237" width="10" height="12" fill="%239fdcff"/%3E%3Crect x="1508" y="281" width="10" height="12" fill="%239fdcff"/%3E%3C/g%3E%3C/svg%3E') 0 100% / auto 100% repeat-x;
    animation: city-pan 150s linear infinite reverse, city-lights 5s ease-in-out infinite alternate;
    will-change: background-position;
}
@keyframes city-pan { to { background-position: -1600px 100%; } }
@keyframes city-lights { from { filter: brightness(.9); } to { filter: brightness(1.12); } }

html[data-bg="neon"]::after, html[data-bg="ocean"]::after, html[data-bg="sunset"]::after { display: none; }

html::after {
    content: "";
    position: fixed;
    top: 12%;
    left: 70%;
    width: 140px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0));
    transform: rotate(-25deg) translateX(0);
    opacity: 0;
    pointer-events: none;
    z-index: 0;
    animation: shooting-star 14s linear 3s infinite;
}
@keyframes shooting-star {
    0%, 90% { opacity: 0; transform: rotate(-25deg) translateX(0); }
    91% { opacity: 1; }
    97% { opacity: 0; transform: rotate(-25deg) translateX(-520px); }
    100% { opacity: 0; transform: rotate(-25deg) translateX(-520px); }
}

/* --- "Tungi shisha" yuzalar (oq kartalar o‘rniga) --- */
.search-card, .room-card, .panel, .review-card, .house-name-card, .nearby-card, .house-stat,
.section-tile, .stat-tile, .kind-chip:not(.is-active), .social-btn, .to-top {
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, .10);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .05);
    color: var(--ink);
}
.room-card:hover, .nearby-card:hover, .house-name-card:hover {
    border-color: rgba(127, 224, 207, .35);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .45), 0 0 24px rgba(127, 224, 207, .12);
}
.help-ai-panel, .site-toast, .support-toast {
    background: rgba(14, 19, 48, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    color: var(--ink);
}
.dropdown-menu {
    --bs-dropdown-bg: rgba(14, 19, 48, .97);
    --bs-dropdown-border-color: rgba(255, 255, 255, .12);
    --bs-dropdown-link-color: #e3e9fb;
    --bs-dropdown-link-hover-bg: rgba(127, 224, 207, .12);
    --bs-dropdown-link-hover-color: #ffffff;
    --bs-dropdown-header-color: #b9c3df;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-border-color: rgba(255, 255, 255, .1); }
.form-control, .form-select {
    background-color: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .16);
    color: var(--ink);
}
.form-control:focus, .form-select:focus {
    background-color: rgba(255, 255, 255, .09);
    border-color: rgba(127, 224, 207, .6);
    color: var(--ink);
    box-shadow: 0 0 0 .2rem rgba(127, 224, 207, .18);
}
.form-control::placeholder { color: rgba(185, 195, 223, .65); }
.form-control[readonly] { background-color: rgba(255, 255, 255, .03); }
.form-select option { background: #121840; color: var(--ink); }

/* --- Qidiruv paneli --- */
.search-bar {
    background: rgba(17, 23, 58, .85);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.search-field-place { border-left-color: rgba(255, 255, 255, .12); }
@media (max-width: 767.98px) { .search-field-place { border-top-color: rgba(255, 255, 255, .12); } }
.search-field input { color: var(--ink); }
.search-field input::placeholder { color: rgba(185, 195, 223, .7); }
.search-ico { color: var(--muted); }

/* --- Sarlavha (menyu) --- */
.site-header,
.site-header.is-scrolled {
    background: rgba(8, 12, 34, .72);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.site-header.is-scrolled { background: rgba(8, 12, 34, .9); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.site-header .nav-link { color: var(--muted) !important; }
.site-header .nav-link:hover, .site-header .nav-link.active { color: var(--accent-text) !important; }
.site-header .navbar-toggler { border-color: rgba(255, 255, 255, .25); }

/* --- Bosh sahifa banneri --- */
.hero-blob { opacity: .22; }
.hero-title {
    background: linear-gradient(90deg, #ffffff, #9be7d6 50%, #a9c8ff);
    -webkit-background-clip: text;
    background-clip: text;
}
.hero-kicker { background: rgba(255, 255, 255, .10); color: #cfe9ff; border: 1px solid rgba(255, 255, 255, .15); }
.near-me-btn { background: rgba(255, 255, 255, .08); color: var(--accent-text); border-color: rgba(255, 255, 255, .2); }
.near-me-btn:hover { background: rgba(255, 255, 255, .14); }
.nearby-box .near-me-btn { border-color: rgba(127, 224, 207, .4); }

/* --- To‘q matnlar → yorug‘ (qorong‘i fonda o‘qilsin) --- */
.price, .badge-soft, .footer-social a, .help-ai-log .is-user, .section-tile-sub, .help-ai-tab.is-active,
.help-ai-who, .dist-badge, .nearby-dist, .to-top, .help-ai-chip, .house-stat-num,
.booking-steps li.is-current, .nav-link:hover {
    color: var(--accent-text);
}
.geo-error, .profile-logout, .profile-logout:hover { color: #ff9a9a; }
.profile-logout:hover { background: rgba(255, 120, 120, .12); }

/* --- Holat belgilari (badge) va ogohlantirishlar --- */
.badge-soft { background: rgba(127, 224, 207, .14); }
.badge-pending { background: rgba(245, 194, 107, .16); color: #f5c26b; }
.badge-confirmed { background: rgba(110, 220, 150, .16); color: #86e3a8; }
.badge-cancelled { background: rgba(255, 120, 120, .15); color: #ff9a9a; }
.alert-hotel { background: rgba(245, 194, 107, .12); color: #f3dca8; border-color: rgba(245, 194, 107, .3); }
.page-intro { background: rgba(127, 224, 207, .10); color: #d5f3ee; border-color: rgba(127, 224, 207, .25); }
.review-verified { background: rgba(110, 220, 150, .15); color: #86e3a8; }
.review-reply { background: rgba(224, 194, 122, .10); }
.dist-badge { background: rgba(127, 224, 207, .14); }

/* --- Ichki yo‘laklar, chiziqlar, ikonkalar --- */
.stat-hbar-track, .occupancy-bar, .rating-bar { background: rgba(255, 255, 255, .10); }
.house-name-ico { background: rgba(255, 205, 56, .15); }
.nearby-ico { background: rgba(255, 255, 255, .08); }
.map-box { background: #0e1430; border-color: rgba(255, 255, 255, .15); }
.room-cell-reviews { color: #f5c26b; }
.room-cell-reviews:hover { background: rgba(255, 255, 255, .08); }
.stars::before {
    background: linear-gradient(90deg, #f5a623 calc(var(--rating) / 5 * 100%), rgba(255, 255, 255, .22) calc(var(--rating) / 5 * 100%));
    -webkit-background-clip: text;
    background-clip: text;
}
.star-input label { color: rgba(255, 255, 255, .25); }

/* --- Yordamchi (chat) --- */
.help-ai-log .is-operator, .support-msg.is-operator .support-bubble { background: rgba(255, 255, 255, .08); }
.help-ai-mode { background: rgba(245, 194, 107, .12); }
.help-ai-chip { background: rgba(255, 255, 255, .06); border-color: rgba(127, 224, 207, .3); }
.help-ai-chip:hover { background: rgba(127, 224, 207, .15); }
.support-thread-row:hover, .support-thread-row.is-active { background: rgba(255, 255, 255, .06); }
.support-thread-row.is-unread { background: rgba(255, 170, 120, .10); }

/* --- Ijtimoiy tarmoq tugmalari --- */
.social-btn:hover { color: #fff; }

/* --- "Saytdagi bo‘limlar" — doiralar osmonda --- */
.sections-block { background: transparent; border-bottom: 0; position: relative; }
.sections-title {
    background: linear-gradient(90deg, #ffffff, #cfe9ff 50%, #9be7d6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.section-circle { color: var(--ink); }
.section-circle-label { text-shadow: 0 1px 8px rgba(0, 0, 0, .55); }
.section-circle-ico {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .06), 0 10px 30px rgba(0, 0, 0, .35);
    position: relative;
}
.section-circle-ico::after {
    content: "";
    position: absolute;
    inset: -9px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 255, 255, .18);
    transition: transform .6s ease, border-color .3s ease;
}
.section-circle:hover .section-circle-ico {
    transform: translateY(-6px) scale(1.06);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .12), 0 0 34px rgba(155, 231, 214, .45), 0 14px 34px rgba(0, 0, 0, .4);
}
.section-circle:hover .section-circle-ico::after { transform: rotate(90deg) scale(1.05); border-color: rgba(155, 231, 214, .55); }
.section-circle:hover { color: var(--accent-text); }

/* --- Boshqalar --- */
.site-footer { border-top-color: rgba(255, 255, 255, .1); background: rgba(5, 8, 22, .45); }
.stats-wrap { box-shadow: 0 12px 34px rgba(0, 0, 0, .4); }
.booking-steps li { color: var(--muted); }

/* Harakatsiz rejimlar */
html.a11y-still body::after, html.a11y-still::after, html.a11y-still::before { animation: none !important; }
html.a11y-still::after { display: none; }
html.a11y-still .section-circle-ico::after { transition: none; }
@media (prefers-reduced-motion: reduce) {
    body::after, html::before { animation: none; }
    html::after { display: none; }
}
html.a11y-contrast body::before, html.a11y-contrast body::after, html.a11y-contrast::before { opacity: .5; }
.search-bar input { background: transparent; color: var(--ink); }

/* Menyu izohlari (tooltip): to‘q shisha, yorug‘ yozuv; birinchi qatorda — bo‘lim nomi */
@media (min-width: 1200px) {
    .site-header .nav-link[data-tip]::before {
        content: attr(data-tip);
        background: rgba(14, 19, 48, .97);
        color: #e8eefc;
        border: 1px solid rgba(127, 224, 207, .35);
        box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 18px rgba(127, 224, 207, .12);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        white-space: pre-line;
        max-width: 260px;
        font-size: .82rem;
    }
    .site-header .nav-link[data-tip][data-tip-title]::before {
        content: "📌 " attr(data-tip-title) "\A" attr(data-tip);
    }
}

/* ---------- ❤️ Sevimlilar ---------- */
.room-card, main .panel { position: relative; }
.fav-btn {
    position: absolute;
    top: .7rem;
    right: .7rem;
    z-index: 3;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(8, 12, 34, .55);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    font-size: 1.1rem;
    line-height: 1;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.fav-btn:hover { transform: scale(1.1); border-color: rgba(255, 120, 150, .6); }
.fav-btn.is-on { background: rgba(255, 90, 130, .18); border-color: rgba(255, 120, 150, .55); }
.fav-btn.pop { animation: fav-pop .45s cubic-bezier(.2, .9, .3, 1.4); }
@keyframes fav-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }
.fav-inline { position: static; flex: 0 0 38px; }
.fav-on-card { top: .55rem; right: 1.6rem; }
.fav-count {
    position: absolute;
    top: 2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ff5a82;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
.fav-ico { font-size: 2.4rem; }
html.a11y-still .fav-btn.pop { animation: none; }

/* Bot-tuzoq maydon: odamga ko‘rinmaydi */
.hp-field { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Xato sahifalari (404 va h.k.) */
.status-code {
    font-size: clamp(4rem, 12vw, 7rem);
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(90deg, #ffffff, #9be7d6 50%, #a9c8ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: .5rem;
}

/* =========================================================
   🎓 Talabalar uchun: yigitlar / qizlar
   ========================================================= */
.student-badge {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
    width: fit-content;
}
.student-badge.is-yigitlar { background: rgba(96, 165, 250, .18); color: #9cc8ff; border: 1px solid rgba(96, 165, 250, .35); }
.student-badge.is-qizlar { background: rgba(244, 114, 182, .18); color: #ffb1d8; border: 1px solid rgba(244, 114, 182, .35); }
a.student-badge:hover { filter: brightness(1.15); }

.gender-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 760px;
}
.gender-tile {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.3rem;
    border-radius: 20px;
    text-decoration: none;
    color: var(--ink);
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gender-tile:hover { transform: translateY(-3px); color: var(--ink); }
.gender-tile.is-boys:hover, .gender-tile.is-boys.is-active { border-color: rgba(96, 165, 250, .7); box-shadow: 0 0 30px rgba(96, 165, 250, .25), 0 12px 30px rgba(0, 0, 0, .35); }
.gender-tile.is-girls:hover, .gender-tile.is-girls.is-active { border-color: rgba(244, 114, 182, .7); box-shadow: 0 0 30px rgba(244, 114, 182, .25), 0 12px 30px rgba(0, 0, 0, .35); }
.gender-tile.is-boys.is-active { background: linear-gradient(135deg, rgba(96, 165, 250, .25), var(--card)); }
.gender-tile.is-girls.is-active { background: linear-gradient(135deg, rgba(244, 114, 182, .25), var(--card)); }
.gender-ico {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 2.1rem;
}
.is-boys .gender-ico { background: rgba(96, 165, 250, .2); }
.is-girls .gender-ico { background: rgba(244, 114, 182, .2); }
.gender-body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.gender-title { font-weight: 800; font-size: 1.15rem; }
.gender-sub { color: var(--muted); font-size: .9rem; }
@media (max-width: 575.98px) {
    .gender-switch { grid-template-columns: 1fr; }
}

/* E’lon formasida tanlash */
.student-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.student-choice-item { position: relative; cursor: pointer; }
.student-choice-item input { position: absolute; opacity: 0; }
.student-choice-item span {
    display: inline-block;
    padding: .5rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .05);
    font-weight: 600;
    transition: background-color .2s ease, border-color .2s ease;
}
.student-choice-item input:checked + span { background: rgba(127, 224, 207, .18); border-color: rgba(127, 224, 207, .6); color: var(--accent-text); }
.student-choice-item input:focus-visible + span { outline: 2px solid var(--accent-text); outline-offset: 2px; }

/* =========================================================
   🗺️ Xaritadan joy tanlash (markazdagi 📍 belgi)
   ========================================================= */
.map-frame { position: relative; }
.map-box-picker { height: 340px; touch-action: none; }
.map-center-pin {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 500;
    pointer-events: none;
    transform: translate(-50%, -100%);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.map-center-pin span {
    font-size: 2.4rem;
    line-height: 1;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .45));
    transition: transform .18s ease;
}
.map-center-pin i {
    width: 10px;
    height: 4px;
    margin-top: -2px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .45);
    transition: transform .18s ease, opacity .18s ease;
}
.map-picker.is-moving .map-center-pin span { transform: translateY(-10px); }
.map-picker.is-moving .map-center-pin i { transform: scale(1.6); opacity: .5; }
.map-picker:not(.has-point) .map-center-pin span { opacity: .75; }
.map-hint {
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    z-index: 500;
    pointer-events: none;
    padding: .3rem .8rem;
    border-radius: 999px;
    background: rgba(8, 12, 34, .78);
    color: #e8eefc;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
    max-width: calc(100% - 24px);
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity .3s ease;
}
.map-picker.has-point .map-hint { opacity: .55; }
.map-full-close { display: none; }

/* Manzil qidirish */
.map-search { position: relative; display: flex; gap: .5rem; margin-bottom: .5rem; }
.map-search .form-control { flex: 1; }
.map-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1200;
    max-height: 280px;
    overflow-y: auto;
    border-radius: 12px;
    background: rgba(14, 19, 48, .98);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .5);
}
.map-search-item {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: none;
    color: var(--ink);
    padding: .6rem .8rem;
    font-size: .88rem;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.map-search-item:hover, .map-search-item:focus { background: rgba(127, 224, 207, .12); outline: none; }
.map-search-empty { padding: .7rem .8rem; color: var(--muted); font-size: .88rem; }

/* Katta ekran rejimi */
html.map-full-open { overflow: hidden; }
.map-picker.is-full .map-frame {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: #070b1f;
}
.map-picker.is-full .map-box-picker { height: 100%; border-radius: 0; border: 0; }
.map-picker.is-full .map-full-close {
    display: inline-flex;
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 600;
    border-radius: 999px;
    padding: .6rem 1.2rem;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .45);
}
.map-picker.is-full .map-search {
    position: fixed;
    top: 12px;
    left: 12px;
    right: 70px;
    z-index: 2100;
    margin: 0;
}

/* Leaflet boshqaruv tugmalari tungi mavzuda */
.leaflet-container { font-family: inherit; background: #0e1430; }
.leaflet-bar a, .leaflet-control-layers {
    background: rgba(14, 19, 48, .92) !important;
    color: #e8eefc !important;
    border-color: rgba(255, 255, 255, .15) !important;
}
.leaflet-bar a:hover { background: rgba(127, 224, 207, .2) !important; }
.leaflet-control-layers-expanded { padding: .5rem .7rem; border-radius: 10px; }
.leaflet-control-layers label { margin: .15rem 0; }
.leaflet-control-attribution { background: rgba(8, 12, 34, .7) !important; color: #b9c3df !important; }
.leaflet-control-attribution a { color: #9be7d6 !important; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: #121840; color: #eef2ff; }
.leaflet-popup-content a { color: #9be7d6; }
@media (max-width: 575.98px) {
    .map-box-picker { height: 300px; }
    .map-search .btn { display: none; }
}
/* Katta ekran rejimida ota-elementlardagi blur/transform "fixed" xaritani kartaga qamab qo‘ymasin */
html.map-full-open .panel, html.map-full-open .room-card, html.map-full-open .reveal, html.map-full-open .search-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transform: none !important;
    filter: none !important;
}

/* Bron sahifasidagi "Bizning xizmatimizni baholang" */
.star-input-lg label { font-size: 2.8rem; }
.rate-service .star-input-row { justify-content: center; }
.rate-service { border-color: rgba(245, 166, 35, .35) !important; box-shadow: 0 0 34px rgba(245, 166, 35, .12), 0 10px 30px rgba(0, 0, 0, .35) !important; }


/* ---------- Kirish / ro‘yxatdan o‘tish: Google va telefon tugmalari ---------- */
.auth-social { display: grid; gap: .65rem; margin-bottom: 1.1rem; }
.auth-btn {
    display: flex; align-items: center; justify-content: center; gap: .6rem;
    min-height: 52px; padding: .6rem 1rem; border-radius: 999px;
    background: #fff; color: #1f1f1f !important; font-weight: 600; text-decoration: none;
    border: 1px solid rgba(255,255,255,.25); box-shadow: 0 2px 10px rgba(0,0,0,.18);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.auth-btn:hover, .auth-btn:focus-visible { background: #f1f3f6; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.auth-btn svg { flex: 0 0 auto; }
.auth-or { display: flex; align-items: center; gap: .8rem; color: #9aa4c4; font-size: .9rem; margin-top: .35rem; }
.auth-or::before, .auth-or::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.18); }

/* ---------- Super Admin: fon tanlash ---------- */
.bg-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; }
.bg-swatch {
    display: flex; flex-direction: column; gap: .45rem; padding: .5rem; border-radius: 14px;
    background: rgba(255, 255, 255, .04); border: 2px solid rgba(255, 255, 255, .12); color: var(--ink);
    text-align: left; transition: transform .15s ease, border-color .15s ease;
}
.bg-swatch:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, .35); }
.bg-swatch.is-active { border-color: var(--accent-text); box-shadow: 0 0 0 3px rgba(127, 224, 207, .25); }
.bg-swatch-view { display: block; height: 78px; border-radius: 10px; }
.bg-swatch-name { font-weight: 600; font-size: .92rem; }
.bg-swatch-neon .bg-swatch-view {
    background:
        linear-gradient(rgba(255, 70, 200, .9) 1px, transparent 1px) 0 52px / 100% 7px no-repeat,
        repeating-linear-gradient(90deg, rgba(0, 240, 255, .7) 0 1px, transparent 1px 14px) 0 100% / 100% 26px no-repeat,
        radial-gradient(40% 40% at 50% 66%, rgba(255, 190, 90, .9), transparent 70%),
        linear-gradient(180deg, #0b0322, #5b0f5e 66%, #120428 67%);
}
.bg-swatch-aurora .bg-swatch-view {
    background:
        radial-gradient(50% 30% at 30% 35%, rgba(0, 255, 204, .6), transparent 70%),
        radial-gradient(40% 40% at 75% 25%, rgba(150, 90, 255, .6), transparent 70%),
        linear-gradient(180deg, #03041a, #0d1240);
}
.bg-swatch-cosmos .bg-swatch-view {
    background:
        radial-gradient(circle at 80% 28%, #ffd9a8 0, #ff9a62 8%, #b4486b 14%, transparent 16%),
        radial-gradient(50% 40% at 35% 55%, rgba(255, 60, 160, .55), transparent 70%),
        radial-gradient(40% 40% at 50% 60%, rgba(90, 80, 255, .55), transparent 70%),
        #05030f;
}
.bg-swatch-ocean .bg-swatch-view {
    background:
        radial-gradient(80% 50% at 50% 0, rgba(120, 255, 230, .45), transparent 70%),
        linear-gradient(180deg, #03304a, #020d1f);
}
.bg-swatch-sunset .bg-swatch-view {
    background:
        radial-gradient(circle at 50% 72%, #fff3c4 0, #ffc96b 10%, transparent 26%),
        linear-gradient(180deg, #1b0b3a, #5a1a5e 35%, #b53a63 60%, #f07b4f 85%);
}

/* ---------- Super Admin: guruhlangan bo‘limlar paneli ---------- */
.admin-nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.admin-nav > .admin-nav-item, .admin-nav > .dropdown { flex: 1 1 auto; }
@media (max-width: 575.98px) { .admin-nav > .admin-nav-item, .admin-nav > .dropdown { flex-basis: calc(50% - .25rem); } }
.admin-nav-item {
    position: relative; display: flex; align-items: center; gap: .55rem; min-height: 54px;
    padding: .55rem .8rem; border-radius: 14px; text-align: left; text-decoration: none; white-space: nowrap;
    font-weight: 600; font-size: .95rem; color: var(--ink) !important;
    background: var(--card); border: 1px solid rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.admin-nav-item:hover, .admin-nav-item:focus-visible { transform: translateY(-2px); border-color: rgba(127, 224, 207, .55); }
.admin-nav-item.is-active { border-color: var(--accent-text); background: rgba(15, 92, 87, .55); }
.admin-nav-item.dropdown-toggle::after { margin-left: auto; }
.admin-nav-ico { font-size: 1.2rem; flex: 0 0 auto; }
.admin-nav-title { overflow: hidden; text-overflow: ellipsis; }
.admin-nav-badge {
    margin-left: auto; min-width: 24px; padding: 0 .45rem; border-radius: 999px; text-align: center;
    background: #ff4fa3; color: #fff; font-size: .78rem; line-height: 22px;
}
.admin-nav-item.dropdown-toggle .admin-nav-badge { margin-left: auto; margin-right: .35rem; }
.admin-nav-item.dropdown-toggle:has(.admin-nav-badge)::after { margin-left: 0; }
.admin-nav .dropdown-menu { min-width: 100%; }
.admin-tabs { gap: .4rem; flex-wrap: wrap; }
.admin-tabs .nav-link { border-radius: 999px; color: var(--ink); background: var(--card); border: 1px solid rgba(255, 255, 255, .12); }
.admin-tabs .nav-link.active { background: var(--accent); color: #fff; border-color: var(--accent-text); }

/* ---------- Admin ruxsatlari (belgilash ro‘yxati) ---------- */
.perm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .5rem; }
.perm-item {
    display: flex; align-items: flex-start; gap: .55rem; padding: .55rem .75rem; border-radius: 12px; cursor: pointer;
    background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12);
}
.perm-item:has(input:checked) { border-color: var(--accent-text); background: rgba(15, 92, 87, .35); }
.perm-item .form-check-input { margin-top: .2rem; flex: 0 0 auto; }

/* ---------- Parol kuchi: qizil (sodda) / sariq (oson topiladi) / yashil (qiyin) ---------- */
.pw-meter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.pw-meter span { height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .14); transition: background .25s ease; }
.pw-meter[data-level="weak"] span:nth-child(1) { background: #ff4d5e; }
.pw-meter[data-level="medium"] span:nth-child(-n+2) { background: #ffc531; }
.pw-meter[data-level="strong"] span { background: #2ee59d; }
.pw-meter-text { color: var(--muted); }
.pw-meter-text[data-level="weak"] { color: #ff6b78; }
.pw-meter-text[data-level="medium"] { color: #ffd45c; }
.pw-meter-text[data-level="strong"] { color: #4ff0b0; }
input.pw-weak { border-color: #ff4d5e !important; box-shadow: 0 0 0 .2rem rgba(255, 77, 94, .2) !important; }
input.pw-medium { border-color: #ffc531 !important; box-shadow: 0 0 0 .2rem rgba(255, 197, 49, .2) !important; }
input.pw-strong { border-color: #2ee59d !important; box-shadow: 0 0 0 .2rem rgba(46, 229, 157, .2) !important; }
.pw-rules { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem .75rem; color: var(--muted); }
.pw-rules li::before { content: "○ "; }
.pw-rules li.is-ok { color: #4ff0b0; }
.pw-rules li.is-ok::before { content: "✓ "; }
[data-pw-match][data-ok="1"] { color: #4ff0b0; }
[data-pw-match][data-ok="0"] { color: #ff6b78; }
button[data-pw-submit]:disabled { opacity: .55; cursor: not-allowed; }

/* ---------- 🏘️ Ko‘chmas mulk: yorliqlar, belgilar, tanlovlar, bosh sahifa kartalari, ipoteka ---------- */
.re-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.re-tab {
    display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 999px;
    background: var(--card); border: 1px solid rgba(255, 255, 255, .12); color: var(--ink) !important;
    text-decoration: none; font-weight: 600; transition: transform .15s ease, border-color .15s ease;
}
.re-tab span { font-size: .78rem; padding: 0 .45rem; border-radius: 99px; background: rgba(255, 255, 255, .12); }
.re-tab:hover { transform: translateY(-2px); border-color: rgba(127, 224, 207, .5); }
.re-tab.is-active { background: var(--accent); border-color: var(--accent-text); color: #fff !important; }
.re-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.re-chips .kind-chip { text-decoration: none; }
.re-card-photo { position: relative; }
.re-card-photo .room-photo { margin: 0; }
.re-noimg { display: flex; align-items: center; justify-content: center; font-size: 3.2rem;
    background: linear-gradient(135deg, rgba(127, 224, 207, .12), rgba(150, 90, 255, .16)); }
.re-deal-badge {
    position: absolute; top: .6rem; left: .6rem; padding: .25rem .65rem; border-radius: 999px;
    font-size: .8rem; font-weight: 700; color: #fff; text-decoration: none; box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
}
.re-deal-badge.position-static { position: static; display: inline-block; }
.re-deal-badge.is-ijara { background: #0f8a7e; }
.re-deal-badge.is-sotuv { background: #d9467a; }
.re-deal-badge.is-kunlik { background: #c98a12; }
.re-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.re-choice { display: flex; flex-wrap: wrap; gap: .45rem; }
.re-choice-item { cursor: pointer; }
.re-choice-item input { position: absolute; opacity: 0; pointer-events: none; }
.re-choice-item span {
    display: inline-block; padding: .45rem .85rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .04); transition: background .15s ease, border-color .15s ease;
}
.re-choice-item input:checked + span { background: var(--accent); border-color: var(--accent-text); color: #fff; }
.re-choice-item input:focus-visible + span { outline: 2px solid var(--accent-text); outline-offset: 2px; }
.re-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .8rem; }
.re-hub-card {
    display: flex; flex-direction: column; gap: .25rem; padding: 1.1rem 1.2rem; border-radius: 18px; text-decoration: none;
    color: var(--ink) !important; border: 1px solid rgba(255, 255, 255, .12); background: var(--card);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.re-hub-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0, 0, 0, .35); }
.re-hub-card.is-ijara { border-color: rgba(15, 200, 180, .45); }
.re-hub-card.is-sotuv { border-color: rgba(255, 80, 150, .45); }
.re-hub-card.is-kunlik { border-color: rgba(255, 190, 60, .45); }
.re-hub-card.is-ipoteka { border-color: rgba(150, 120, 255, .45); }
.re-hub-ico { font-size: 1.8rem; }
.re-hub-title { font-weight: 800; font-size: 1.15rem; }
.re-hub-text { color: var(--muted); font-size: .9rem; }
.mortgage-bar { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: rgba(255, 255, 255, .1); }
.mortgage-bar i { display: block; height: 100%; transition: width .3s ease; }
.mortgage-bar i:first-child { background: #3b82f6; }
.mortgage-bar i:last-child { background: #a855f7; }

/* ---------- 🏘️ Ko‘chmas mulk: galereya, qulayliklar, solishtirish, narxlar tahlili ---------- */
.re-thumbs { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; }
.re-thumb { flex: 0 0 auto; width: 84px; height: 62px; padding: 0; border-radius: 10px; overflow: hidden;
    border: 2px solid transparent; background: none; opacity: .7; transition: opacity .15s ease, border-color .15s ease; }
.re-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.re-thumb.is-active, .re-thumb:hover { opacity: 1; border-color: var(--accent-text); }
.re-gallery-edit { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .6rem; }
.re-gallery-edit-item { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; cursor: pointer; }
.re-gallery-edit-item img { width: 100%; height: 90px; object-fit: cover; border-radius: 10px; }
.re-gallery-edit-item:has(input:checked) img { opacity: .35; outline: 2px solid #ff6b78; }
.re-amenity { display: inline-block; padding: .3rem .7rem; border-radius: 999px; font-size: .88rem;
    background: rgba(127, 224, 207, .1); border: 1px solid rgba(127, 224, 207, .3); }
.re-compare-btn { position: absolute; top: .6rem; right: .6rem; width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .25); background: rgba(10, 14, 40, .7); color: #fff; font-size: 1.05rem;
    display: grid; place-items: center; transition: transform .15s ease, background .15s ease; }
.re-compare-btn:hover { transform: scale(1.08); }
.re-compare-btn.is-on, [data-compare-add].is-on { background: var(--accent) !important; border-color: var(--accent-text) !important; color: #fff !important; }
.compare-bar { position: fixed; left: 50%; bottom: 1.1rem; transform: translateX(-50%); z-index: 1040;
    padding: .7rem 1.3rem; border-radius: 999px; background: var(--accent); color: #fff !important; font-weight: 700;
    text-decoration: none; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); border: 1px solid var(--accent-text);
    animation: rise-in .3s ease both; }
.re-compare th { white-space: nowrap; color: var(--muted); font-weight: 600; }
.re-compare thead th { color: var(--ink); vertical-align: top; }
.re-compare-img { width: 100%; max-width: 220px; height: 120px; object-fit: cover; border-radius: 12px; display: block; }
.re-best { color: #4ff0b0 !important; font-weight: 700; }
.re-price-row { display: grid; gap: .3rem; }
.re-price-bar { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.re-price-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #2ee59d, #3b82f6, #a855f7); }
.re-hub-card.is-narx { border-color: rgba(46, 229, 157, .45); }
.re-report summary { cursor: pointer; color: var(--muted); }
.re-report summary:hover { color: #ff9a9a; }

.bg-swatch-shahar .bg-swatch-view {
    background:
        linear-gradient(transparent 55%, #0c0a24 55%) 6% 0 / 14% 100% no-repeat,
        linear-gradient(transparent 35%, #0c0a24 35%) 26% 0 / 12% 100% no-repeat,
        linear-gradient(transparent 48%, #0c0a24 48%) 44% 0 / 16% 100% no-repeat,
        linear-gradient(transparent 28%, #0c0a24 28%) 66% 0 / 12% 100% no-repeat,
        linear-gradient(transparent 50%, #0c0a24 50%) 86% 0 / 16% 100% no-repeat,
        radial-gradient(circle at 82% 22%, #fff3c4 0, #ffe7a8 6%, transparent 14%),
        linear-gradient(180deg, #050a24, #3a2470 70%, #c46a5c);
}


/* 🏞️ Tabiat — tog‘lar, yashil adirlar, daraxtlar orasidagi uylar va suzib yuruvchi bulutlar */
html[data-bg="tabiat"] body::before {
    inset: 0;
    background:
        radial-gradient(circle at 80% 18%, #fffbe8 0, #ffeeb0 2.4%, rgba(255, 230, 160, .35) 6%, transparent 16%),
        linear-gradient(180deg, #14305c 0%, #2c5a92 28%, #5f93c4 55%, #a9cde6 76%, #f2dcb4 100%);
}
html[data-bg="tabiat"]::before {
    inset: 4vh 0 auto 0;
    height: 34vh;
    background: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221600%22 height=%22240%22 viewBox=%220 0 1600 240%22 opacity=%22.55%22%3E%3Cg transform=%22translate%281057,112%29 scale%281.18%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3Cg transform=%22translate%281453,146%29 scale%280.82%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3Cg transform=%22translate%281269,147%29 scale%280.91%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3Cg transform=%22translate%281212,109%29 scale%281.20%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3Cg transform=%22translate%28136,90%29 scale%280.81%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3Cg transform=%22translate%28983,86%29 scale%280.85%29%22 fill=%22%23ffffff%22%3E%3Cellipse cx=%220%22 cy=%220%22 rx=%2260%22 ry=%2218%22/%3E%3Cellipse cx=%22-28%22 cy=%22-10%22 rx=%2230%22 ry=%2220%22/%3E%3Cellipse cx=%2220%22 cy=%22-16%22 rx=%2234%22 ry=%2224%22/%3E%3C/g%3E%3C/svg%3E') 0 0 / auto 100% repeat-x;
    animation: city-pan 260s linear infinite reverse;
}
html[data-bg="tabiat"] body::after {
    inset: auto 0 0 0;
    height: 56vh;
    mix-blend-mode: normal;
    background:
        url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221600%22 height=%22300%22 viewBox=%220 0 1600 300%22%3E%3Cpath d=%22M0,300 L0,171 L20,174 L40,176 L60,178 L80,179 L100,179 L120,179 L140,179 L160,178 L180,177 L200,176 L220,174 L240,172 L260,171 L280,169 L300,167 L320,166 L340,165 L360,164 L380,164 L400,164 L420,164 L440,164 L460,165 L480,165 L500,166 L520,166 L540,167 L560,167 L580,167 L600,167 L620,166 L640,165 L660,163 L680,161 L700,158 L720,155 L740,152 L760,149 L780,145 L800,141 L820,137 L840,133 L860,129 L880,126 L900,123 L920,121 L940,119 L960,117 L980,116 L1000,116 L1020,116 L1040,117 L1060,118 L1080,120 L1100,122 L1120,124 L1140,126 L1160,129 L1180,131 L1200,134 L1220,136 L1240,138 L1260,139 L1280,141 L1300,142 L1320,142 L1340,143 L1360,143 L1380,143 L1400,143 L1420,142 L1440,142 L1460,142 L1480,142 L1500,143 L1520,143 L1540,144 L1560,145 L1580,147 L1600,149 L1600,300Z%22 fill=%22%232f6b4f%22/%3E%3Cg transform=%22translate%28504,166%29 scale%280.89%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28208,175%29 scale%280.99%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%2826,175%29 scale%281.07%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28835,134%29 scale%280.84%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281568,146%29 scale%280.89%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281560,145%29 scale%281.10%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28284,169%29 scale%281.01%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28911,122%29 scale%280.76%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%283,172%29 scale%281.19%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%2810,173%29 scale%280.80%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28441,164%29 scale%281.18%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28339,165%29 scale%281.14%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28592,167%29 scale%280.86%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28407,164%29 scale%280.97%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281388,143%29 scale%281.01%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28372,164%29 scale%281.17%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281414,143%29 scale%280.80%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28784,144%29 scale%280.85%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28739,152%29 scale%280.91%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28298,168%29 scale%280.83%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28679,161%29 scale%280.85%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281235,137%29 scale%280.99%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281220,136%29 scale%281.04%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28692,159%29 scale%280.73%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28727,154%29 scale%281.11%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28984,116%29 scale%281.05%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28378,164%29 scale%280.94%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281443,142%29 scale%280.79%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28524,166%29 scale%281.19%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%2846,177%29 scale%281.17%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28732,154%29 scale%281.12%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%2837,176%29 scale%280.97%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28857,130%29 scale%280.88%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281184,132%29 scale%281.12%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28927,120%29 scale%280.72%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28370,164%29 scale%281.01%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28402,164%29 scale%280.76%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28503,166%29 scale%281.16%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28946,118%29 scale%280.87%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28726,154%29 scale%281.15%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28513,166%29 scale%281.09%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28221,174%29 scale%280.99%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281599,149%29 scale%281.10%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28605,167%29 scale%280.72%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28186,177%29 scale%280.80%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281050,117%29 scale%281.01%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28303,167%29 scale%280.87%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281438,142%29 scale%280.97%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28639,165%29 scale%281.04%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28627,166%29 scale%280.79%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28160,178%29 scale%281.01%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281476,142%29 scale%281.04%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28990,116%29 scale%280.78%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%2899,179%29 scale%280.74%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281230,137%29 scale%280.97%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28831,135%29 scale%280.72%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281516,143%29 scale%281.00%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28512,166%29 scale%280.93%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%28863,129%29 scale%280.77%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cg transform=%22translate%281307,142%29 scale%280.72%29%22%3E%3Crect x=%22-2%22 y=%22-6%22 width=%224%22 height=%2210%22 fill=%22%233b2b1c%22/%3E%3Cpath d=%22M0,-34 L11,-6 L-11,-6Z%22 fill=%22%231f5a3c%22/%3E%3C/g%3E%3Cpath d=%22M0,300 L0,214 L20,213 L40,212 L60,211 L80,210 L100,210 L120,209 L140,209 L160,209 L180,210 L200,210 L220,210 L240,210 L260,210 L280,210 L300,209 L320,208 L340,207 L360,206 L380,205 L400,203 L420,201 L440,199 L460,196 L480,194 L500,192 L520,189 L540,187 L560,185 L580,183 L600,182 L620,181 L640,180 L660,180 L680,180 L700,180 L720,181 L740,183 L760,184 L780,186 L800,188 L820,190 L840,192 L860,195 L880,197 L900,199 L920,201 L940,202 L960,204 L980,205 L1000,206 L1020,206 L1040,207 L1060,207 L1080,207 L1100,207 L1120,207 L1140,207 L1160,207 L1180,207 L1200,207 L1220,207 L1240,208 L1260,209 L1280,210 L1300,211 L1320,213 L1340,215 L1360,216 L1380,218 L1400,220 L1420,222 L1440,224 L1460,226 L1480,227 L1500,228 L1520,229 L1540,230 L1560,230 L1580,229 L1600,229 L1600,300Z%22 fill=%22%233f8a5a%22/%3E%3Cg transform=%22translate%2840,216%29 scale%281.22%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%2878,214%29 scale%281.08%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28116,214%29 scale%281.19%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28152,215%29%22%3E%3Crect x=%220%22 y=%22-30%22 width=%2257%22 height=%2230%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-30 L28.5,-52 L63,-30Z%22 fill=%22%23c2563d%22/%3E%3Crect x=%2222.5%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-22%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2241%22 y=%22-22%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%28293,215%29%22%3E%3Crect x=%220%22 y=%22-35%22 width=%2250%22 height=%2235%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-35 L25.0,-57 L56,-35Z%22 fill=%22%23b8452f%22/%3E%3Crect x=%2219.0%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-27%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2234%22 y=%22-27%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%28406,206%29 scale%281.04%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28456,201%29 scale%280.95%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28511,194%29 scale%280.86%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28575,188%29 scale%281.11%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28636,184%29 scale%280.89%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28697,186%29%22%3E%3Crect x=%220%22 y=%22-36%22 width=%2263%22 height=%2236%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-36 L31.5,-58 L69,-36Z%22 fill=%22%23d07a3a%22/%3E%3Crect x=%2225.5%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-28%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2247%22 y=%22-28%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%28794,191%29 scale%281.19%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28861,199%29 scale%281.18%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28914,204%29 scale%281.13%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%28975,211%29%22%3E%3Crect x=%220%22 y=%22-33%22 width=%2255%22 height=%2233%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-33 L27.5,-55 L61,-33Z%22 fill=%22%23b8452f%22/%3E%3Crect x=%2221.5%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-25%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2239%22 y=%22-25%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%281097,211%29 scale%281.04%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%281143,213%29%22%3E%3Crect x=%220%22 y=%22-35%22 width=%2254%22 height=%2235%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-35 L27.0,-57 L60,-35Z%22 fill=%22%23d07a3a%22/%3E%3Crect x=%2221.0%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-27%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2238%22 y=%22-27%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%281279,214%29 scale%281.14%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%281331,220%29%22%3E%3Crect x=%220%22 y=%22-34%22 width=%2257%22 height=%2234%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-34 L28.5,-56 L63,-34Z%22 fill=%22%23d07a3a%22/%3E%3Crect x=%2222.5%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-26%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2241%22 y=%22-26%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cg transform=%22translate%281477,231%29 scale%281.23%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%281535,233%29 scale%281.28%29%22%3E%3Crect x=%22-3%22 y=%22-10%22 width=%226%22 height=%2214%22 fill=%22%234a3320%22/%3E%3Ccircle cx=%220%22 cy=%22-24%22 r=%2216%22 fill=%22%232e7a46%22/%3E%3Ccircle cx=%22-9%22 cy=%22-16%22 r=%2211%22 fill=%22%232a6e40%22/%3E%3Ccircle cx=%229%22 cy=%22-17%22 r=%2211%22 fill=%22%23358a50%22/%3E%3C/g%3E%3Cg transform=%22translate%281598,235%29%22%3E%3Crect x=%220%22 y=%22-31%22 width=%2251%22 height=%2231%22 fill=%22%23f1e3c8%22/%3E%3Cpath d=%22M-6,-31 L25.5,-53 L57,-31Z%22 fill=%22%23d07a3a%22/%3E%3Crect x=%2219.5%22 y=%22-16%22 width=%2212%22 height=%2216%22 fill=%22%237a4a2a%22/%3E%3Crect x=%226%22 y=%22-23%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3Crect x=%2235%22 y=%22-23%22 width=%2210%22 height=%229%22 fill=%22%23ffd77a%22/%3E%3C/g%3E%3Cpath d=%22M0,300 L0,258 L20,258 L40,257 L60,256 L80,255 L100,254 L120,253 L140,252 L160,251 L180,250 L200,250 L220,249 L240,249 L260,249 L280,249 L300,249 L320,249 L340,250 L360,251 L380,252 L400,254 L420,255 L440,256 L460,258 L480,259 L500,261 L520,262 L540,263 L560,264 L580,265 L600,266 L620,267 L640,267 L660,268 L680,268 L700,268 L720,268 L740,268 L760,267 L780,267 L800,267 L820,267 L840,267 L860,267 L880,267 L900,267 L920,268 L940,268 L960,269 L980,269 L1000,270 L1020,271 L1040,271 L1060,272 L1080,273 L1100,273 L1120,274 L1140,274 L1160,274 L1180,274 L1200,273 L1220,273 L1240,272 L1260,271 L1280,270 L1300,268 L1320,267 L1340,265 L1360,264 L1380,262 L1400,261 L1420,259 L1440,258 L1460,257 L1480,256 L1500,255 L1520,254 L1540,253 L1560,253 L1580,253 L1600,253 L1600,300Z%22 fill=%22%234f9d63%22/%3E%3C/svg%3E') 0 100% / auto 62% repeat-x,
        url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221600%22 height=%22360%22 viewBox=%220 0 1600 360%22%3E%3Cpath d=%22M0,360 L0,50 L237,214 L474,80 L676,200 L861,70 L1037,202 L1227,40 L1360,193 L1599,44 L1766,220 L1766,360Z%22 fill=%22%236f8fbf%22/%3E%3Cpath d=%22M-26,78 L0,50 L26,78 L10,72 L0,80 L-10,72Z%22 fill=%22%23eef5ff%22 opacity=%22.9%22/%3E%3Cpath d=%22M1201,68 L1227,40 L1253,68 L1237,62 L1227,70 L1217,62Z%22 fill=%22%23eef5ff%22 opacity=%22.9%22/%3E%3Cpath d=%22M1573,72 L1599,44 L1625,72 L1609,66 L1599,74 L1589,66Z%22 fill=%22%23eef5ff%22 opacity=%22.9%22/%3E%3Cpath d=%22M0,360 L0,144 L188,222 L343,156 L521,248 L625,151 L794,251 L982,137 L1165,280 L1312,131 L1431,267 L1542,137 L1644,249 L1764,165 L1764,360Z%22 fill=%22%233f6290%22/%3E%3C/svg%3E') 0 100% / auto 100% repeat-x;
    animation: none;
}
html[data-bg="tabiat"]::after { display: none; }
.bg-swatch-tabiat .bg-swatch-view {
    background:
        radial-gradient(60% 40% at 30% 100%, #3f8a5a 60%, transparent 61%),
        radial-gradient(70% 45% at 85% 100%, #2f6b4f 60%, transparent 61%),
        linear-gradient(160deg, transparent 55%, #2c4a72 55%) 0 100% / 50% 60% no-repeat,
        linear-gradient(200deg, transparent 55%, #3a5f8f 55%) 100% 100% / 60% 70% no-repeat,
        linear-gradient(180deg, #2c5a92, #a9cde6 70%, #f2dcb4);
}

/* 📷 Super Admin yuklagan tabiiy fotosurat — ustida yozuvlar o‘qilishi uchun qorong‘i qatlam */
html[data-bg="rasm"] body::before {
    inset: 0;
    background:
        linear-gradient(180deg, rgba(4, 8, 28, .55) 0%, rgba(4, 8, 28, .35) 40%, rgba(4, 8, 28, .70) 100%),
        var(--bg-photo) center / cover no-repeat,
        #0b1033;
}
html[data-bg="rasm"]::before, html[data-bg="rasm"]::after, html[data-bg="rasm"] body::after { display: none; }

/* 🖼️ Yuklangan logotip (sayt nomi oldida) */
.brand-logo { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; display: block;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35); background: rgba(255, 255, 255, .08); }
.navbar-brand { display: inline-flex; align-items: center; gap: .55rem; }

/* 🧩 Super Admin: bo‘limlar bo‘yicha fon qatori */
.re-section-bg { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.re-section-bg-thumb { width: 96px; flex: 0 0 auto; }
.re-section-bg-thumb .bg-swatch-view { display: block; height: 56px; border-radius: 10px; }

/* Sayt versiyasi (pastki qism) */
.footer-version { opacity: .65; text-align: center; border-top: 1px solid rgba(255,255,255,.08); padding-top: .75rem; }

/* ---------- Mobil ilova (PWA) ---------- */
.pwa-app-icon { border-radius: 22px; box-shadow: 0 10px 30px rgba(138, 80, 255, .35); }
.pwa-qr-code { width: 200px; max-width: 100%; background: #fff; border-radius: 14px; padding: 8px; }
.pwa-qr-code svg { display: block; width: 100%; height: auto; }
.pwa-platform { transition: box-shadow .3s, transform .3s; }
.pwa-platform.is-current { box-shadow: 0 0 0 2px #8a50ff, 0 12px 30px rgba(138, 80, 255, .25); }
.pwa-platform.is-flash { transform: scale(1.02); }
.pwa-banner {
    position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1080;
    display: flex; align-items: center; gap: .75rem; padding: .7rem .8rem;
    background: rgba(11, 3, 34, .96); color: #eef1ff; border: 1px solid rgba(138, 80, 255, .45);
    border-radius: 16px; box-shadow: 0 12px 40px rgba(0, 0, 0, .45); backdrop-filter: blur(8px);
}
.pwa-banner[hidden] { display: none; }
.pwa-banner img { border-radius: 12px; flex: none; }
.pwa-banner-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; flex: 1; font-size: .9rem; }
.pwa-banner-text span { color: #b9c3df; font-size: .8rem; }
.pwa-banner-close { background: none; border: 0; color: #b9c3df; font-size: 1.1rem; padding: .25rem .4rem; }
html.pwa-installed [data-pwa-footer] { display: none; }
.pwa-dl {
    width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; gap: .35rem;
    padding: 1.6rem 1rem; border-radius: 20px; cursor: pointer; color: inherit;
    background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.pwa-dl:hover, .pwa-dl:focus-visible { transform: translateY(-3px); border-color: #8a50ff; box-shadow: 0 12px 30px rgba(138, 80, 255, .3); }
.pwa-dl.is-current { border-color: #8a50ff; box-shadow: 0 0 0 2px #8a50ff; }
.pwa-dl-icon { font-size: 2.6rem; line-height: 1; }
.pwa-dl-name { font-weight: 700; font-size: 1.05rem; }
.pwa-dl-action {
    margin-top: .4rem; padding: .45rem 1rem; border-radius: 999px; font-size: .9rem; font-weight: 600; color: #fff;
    background: linear-gradient(135deg, #8a50ff, #ff4fa3);
}
.pwa-hint { font-size: 1.05rem; line-height: 1.5; }
.pwa-ios-hint {
    position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 1090;
    display: flex; flex-direction: column; align-items: center; gap: .2rem; max-width: calc(100% - 32px);
    padding: .75rem 1.1rem; border-radius: 16px; text-align: center; font-weight: 600; color: #fff;
    background: linear-gradient(135deg, #8a50ff, #ff4fa3); box-shadow: 0 12px 40px rgba(0, 0, 0, .45);
}
.pwa-ios-hint[hidden] { display: none; }
.pwa-ios-arrow { font-size: 1.6rem; line-height: 1; animation: pwa-bounce 1s infinite; }
.pwa-ios-hint.is-top { top: 14px; bottom: auto; left: auto; right: 16px; transform: none; flex-direction: column-reverse; }
.pwa-ios-hint.is-top .pwa-ios-arrow { transform: rotate(180deg); }
@keyframes pwa-bounce { 50% { translate: 0 6px; } }

/* Xavfsizlik: bloklangan IP tushuntirishi */
.block-verdict { display: inline-block; padding: .2rem .55rem; border-radius: 10px; font-weight: 600; line-height: 1.35; }
.block-verdict.is-bot { background: rgba(255, 79, 120, .15); color: #ff8fa8; }
.block-verdict.is-human { background: rgba(60, 200, 120, .15); color: #7be0a6; }
.block-verdict.is-maybe { background: rgba(255, 197, 49, .15); color: #ffd36b; }
.block-why-row td { border-top: 0; padding-top: 0; }
.block-why summary { cursor: pointer; font-size: .85rem; color: #b9a6ff; }
.block-paths { display: flex; flex-wrap: wrap; gap: .3rem; }
.block-paths code { font-size: .75rem; padding: .1rem .4rem; border-radius: 6px; background: rgba(255, 255, 255, .06); word-break: break-all; }

/* Telefonda ochilgan menyu ekrandan uzun bo'lsa — menyuning o'zi aylantiriladi (pastdagi "Chiqish" ham ko'rinadi) */
@media (max-width: 1199.98px) {
    .site-header .navbar-collapse.show,
    .site-header .navbar-collapse.collapsing {
        max-height: calc(100vh - 72px);
        max-height: calc(100dvh - 72px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .site-header .profile-dropdown { position: static !important; transform: none !important; margin-bottom: .5rem; }
    .site-header .profile-dropdown .dropdown-item { padding-top: .55rem; padding-bottom: .55rem; }
}

/* Xaritadan avtomatik yozilgan manzil / hudud — qisqa yorug'lik */
.geo-filled { animation: geo-filled 1.6s ease; }
@keyframes geo-filled { 0%, 40% { box-shadow: 0 0 0 3px rgba(46, 227, 140, .55); border-color: #2ee38c; } 100% { box-shadow: none; } }

/* Telegram orqali kod olish */
.tg-code-box { padding: 1rem; border-radius: 14px; background: rgba(42, 171, 238, .08); border: 1px solid rgba(42, 171, 238, .35); }
.btn-tg { background: #2aabee; border-color: #2aabee; color: #fff; font-weight: 600; }
.btn-tg:hover, .btn-tg:focus { background: #229ed9; border-color: #229ed9; color: #fff; }

/* Super Admin → Mobil ilova: telefon ekrani ko'rinishi */
.app-preview { --app-color: #070b1f; border-radius: 28px; padding: 14px 18px 26px; background: linear-gradient(160deg, var(--app-color), #2a1b5c 70%, #4b1d4f); border: 1px solid rgba(255,255,255,.15); }
.app-preview-status { display: flex; justify-content: space-between; font-size: .8rem; color: rgba(255,255,255,.85); margin-bottom: 22px; }
.app-preview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 10px; }
.app-preview-app { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.app-preview-app span { font-size: .72rem; color: #fff; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-preview-ico { width: 58px; height: 58px; border-radius: 16px; object-fit: cover; display: grid; place-items: center; font-size: 28px; }
.app-preview-ico.other { background: rgba(255,255,255,.18); }
.app-preview-app.is-ours .app-preview-ico { box-shadow: 0 0 0 3px rgba(255,197,49,.8); }
.app-shape-round { border-radius: 50%; object-fit: cover; }
.app-shape-ios { border-radius: 22%; object-fit: cover; }
.app-shape-win { border-radius: 8px; object-fit: cover; }
