/* ============================================================
   SEARCH.CSS — ОПТИМИЗИРОВАННАЯ ВЕРСИЯ
   - Все дубли медиа-запросов объединены
   - Все дубли селекторов удалены
   - Все цвета заменены на CSS-переменные
   - Убраны избыточные !important
   - Сохранены все классы для JS-совместимости
   ============================================================ */

@import 'search-variable.css';


/* ================================
   ROOT VARIABLES (унаследованы из variables.css)
================================ */
:root {
    --touch-target: 44px;
    --header-height: 56px;
}

/* ================================
   ONLINE STATE
================================ */
.search-table-avatar-wrap.is-online::after,
.user-card-avatar.is-online::after {
    content: '';
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 10px;
    height: 10px;
    border-radius: var(--radius-round);
    background: var(--color-online, var(--color-success));
    border: 2px solid var(--color-white);
    box-shadow: 0 0 0 1px var(--color-success-alpha-20);
    z-index: 5;
}

.search-table-avatar,
.search-table-avatar--placeholder,
.user-card-avatar-img,
.user-card-avatar-placeholder {
    position: relative;
    z-index: 1;
}

/* ================================
   SEARCH PAGE
================================ */
.search-page {
    background: var(--color-bg-page);
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px clamp(16px, 2vw, 28px) 34px;
}

.search-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-top: 10px;
}

.search-title {
    margin: 0;
    font-size: clamp(1.65rem, 2.1vw, 2.15rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.view-toggle {
    display: none !important;
}

/* ================================
   SEARCH FORM
================================ */
.search-form {
    padding: 18px;
    border: 1px solid var(--color-border-strong-alpha-20);
    border-radius: var(--radius-3xl);
    background: var(--color-white-alpha-80);
    box-shadow: 0 10px 30px var(--color-text-main-alpha-05);
}

.search-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 0;
}

.search-field {
    position: relative;
    flex: 1;
    min-width: 150px;
}

.search-input,
.search-select {
    padding: 12px 15px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    font-size: var(--font-base);
    background: var(--color-white);
    transition: var(--transition);
    width: 100%;
    min-height: var(--control-xl);
}

.search-input:hover,
.search-select:hover {
    border-color: var(--color-border-strong);
}

.search-input:focus,
.search-select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-info-alpha-10);
}

.search-select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
}

.search-order-select {
    width: auto;
    min-width: 180px;
    flex: 0 0 auto;
    height: 36px;
    line-height: 36px;
    padding-top: 0;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
    font-weight: 500;
}

.search-button {
    background: var(--color-primary);
    color: var(--color-white);
    border: none;
    padding: 12px 20px;
    border-radius: var(--radius-xl);
    cursor: pointer;
    font-size: var(--font-base);
    font-weight: 600;
    min-width: 120px;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--control-xl);
    box-shadow: 0 8px 18px var(--color-primary-alpha-20);
}

.search-button:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px var(--color-primary-alpha-20);
}

/* ================================
   NAME CELL & AVATARS
================================ */
.name-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.search-table-avatar-wrap {
    width: var(--control-xs);
    height: var(--control-xs);
    min-width: var(--control-xs);
    border-radius: var(--radius-round);
    overflow: visible;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
}

.search-table-avatar,
.search-table-avatar--placeholder {
    width: var(--control-xs);
    height: var(--control-xs);
    border-radius: var(--radius-round);
    object-fit: cover;
    display: block;
}

.search-table-avatar--placeholder {
    background: var(--color-border);
    color: var(--color-text-secondary);
    font-size: var(--font-md);
    font-weight: 600;
    line-height: var(--control-xs);
    text-align: center;
}

.user-card-avatar {
    width: var(--control-md);
    height: var(--control-md);
    border-radius: var(--radius-round);
    overflow: visible;
    min-width: var(--control-md);
    flex: 0 0 40px;
    position: relative;
    box-sizing: border-box;
}

.user-card-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    position: relative;
}

.user-card-avatar-img,
.user-card-avatar-placeholder {
    width: var(--control-md);
    height: var(--control-md);
    border-radius: var(--radius-round);
    object-fit: cover;
    display: block;
}

.user-card-avatar-placeholder {
    background: var(--color-border);
    color: var(--color-text-secondary);
    font-size: var(--font-lg);
    font-weight: 600;
    line-height: var(--control-md);
    text-align: center;
}

.age-field {
    display: flex;
    align-items: center;
    min-width: 230px;
    gap: 8px;
}

.age-separator {
    color: var(--color-text-light);
    padding: 0 5px;
}

.age-input {
    width: 96px;
    min-width: 96px;
    text-align: center;
}

/* ================================
   ADVANCED SEARCH
================================ */
.advanced-toggle {
    margin-top: 14px;
    width: auto;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    justify-content: center;
    border-radius: var(--radius-pill);
    font-size: var(--font-md);
    color: var(--color-text-muted);
    background: var(--color-transparent);
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
}

.advanced-toggle i {
    transition: var(--transition);
}

.advanced-toggle__chevron {
    margin-left: auto;
}

.advanced-toggle:hover {
    color: var(--color-primary);
    background: var(--color-info-alpha-08);
}

.advanced-fields {
    display: none;
    margin-top: 18px;
}

.advanced-fields.show {
    display: block;
    padding-top: 18px;
    animation: slideDown 0.3s ease;
}

.advanced-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.advanced-field {
    flex: 1;
    min-width: 250px;
}

.advanced-label {
    display: block;
    margin-bottom: 8px;
    font-size: var(--font-base);
    color: var(--color-text-main);
    font-weight: 500;
}

.advanced-label i {
    margin-right: 8px;
    width: 16px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: var(--font-base);
    margin: 0;
    padding: 11px 0;
    height: var(--control-lg);
    box-sizing: border-box;
}

.checkbox-input {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    flex: 0 0 18px;
    cursor: pointer;
    margin: 0;
    accent-color: var(--color-online, var(--color-success));
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

/* ================================
   RESULTS
================================ */
/* Legacy v1 desktop renderer compatibility.
   search.js now renders semantic .desktop-result-* markup for both designs;
   keep v1 visually intact without importing any v2 stylesheet. */
@media (min-width: 768px) {
    html[data-design="v1"] body.page-search .results-table thead {
        display: none;
    }

    html[data-design="v1"] body.page-search .results-table tbody,
    html[data-design="v1"] body.page-search .results-table tr,
    html[data-design="v1"] body.page-search .results-table td {
        border: 0;
        background: transparent;
    }

    html[data-design="v1"] body.page-search .results-table .desktop-result-cell {
        padding: 0 14px;
    }

    html[data-design="v1"] body.page-search .results-table .search-result-row:not(:last-child) .desktop-result-cell {
        border-bottom: 1px solid var(--color-border);
    }

    html[data-design="v1"] body.page-search .desktop-result-card {
        display: grid;
        grid-template-columns: minmax(220px, 1.2fr) 54px minmax(150px, .8fr) minmax(300px, 1.7fr) 88px;
        gap: 14px;
        align-items: center;
        min-height: 92px;
        padding: 12px 0;
        cursor: pointer;
    }

    html[data-design="v1"] body.page-search .desktop-result-person {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        min-width: 0;
    }

    html[data-design="v1"] body.page-search .search-table-avatar-wrap {
        position: relative;
        display: block;
        width: 58px;
        height: 58px;
        min-width: 58px;
        overflow: visible;
        border-radius: 12px;
    }

    html[data-design="v1"] body.page-search .search-table-avatar {
        display: block;
        width: 58px;
        height: 58px;
        object-fit: cover;
        border-radius: 12px;
        background: var(--color-bg-soft);
    }

    html[data-design="v1"] body.page-search .search-table-avatar--placeholder {
        display: grid;
        place-items: center;
        color: var(--color-text-muted);
        font-size: 20px;
        font-weight: 700;
    }

    html[data-design="v1"] body.page-search .search-table-avatar-wrap.is-online::after {
        content: "";
        position: absolute;
        right: -2px;
        bottom: -2px;
        width: 11px;
        height: 11px;
        border: 2px solid var(--color-white);
        border-radius: 50%;
        background: var(--color-online, var(--color-success));
        box-sizing: border-box;
    }

    html[data-design="v1"] body.page-search .desktop-result-identity {
        min-width: 0;
    }

    html[data-design="v1"] body.page-search .desktop-result-name-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 23px;
    }

    html[data-design="v1"] body.page-search .desktop-result-name-row .user-name {
        max-width: 155px;
        overflow: hidden;
        color: var(--color-text-main);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-decoration: none;
    }

    html[data-design="v1"] body.page-search .desktop-result-location {
        margin-top: 4px;
        overflow: hidden;
        color: var(--color-text-muted);
        font-size: 12px;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    html[data-design="v1"] body.page-search .desktop-result-age {
        color: var(--color-text-main);
        font-size: 15px;
        font-weight: 700;
    }

    html[data-design="v1"] body.page-search .desktop-result-looking {
        display: grid;
        gap: 2px;
        min-width: 0;
        padding-left: 14px;
        border-left: 1px solid var(--color-border);
    }

    html[data-design="v1"] body.page-search .desktop-result-label {
        color: var(--color-text-muted);
        font-size: 10px;
        font-weight: 500;
    }

    html[data-design="v1"] body.page-search .desktop-result-looking-value,
    html[data-design="v1"] body.page-search .desktop-result-looking-age {
        color: var(--color-text-main);
        font-size: 11px;
        line-height: 1.35;
    }

    html[data-design="v1"] body.page-search .desktop-result-looking-value {
        font-weight: 700;
    }

    html[data-design="v1"] body.page-search .desktop-result-interests {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
        overflow: visible;
    }

    html[data-design="v1"] body.page-search .desktop-result-interests .pref-txt,
    html[data-design="v1"] body.page-search .desktop-result-interests .pref-more {
        display: inline-flex;
        align-items: center;
        max-width: 180px;
        min-height: 24px;
        padding: 4px 9px;
        border: 0;
        border-radius: 9px;
        background: var(--color-bg-soft);
        color: var(--color-text-muted);
        font-size: 10px;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    html[data-design="v1"] body.page-search .desktop-result-interests .pref-extra {
        display: none;
    }

    html[data-design="v1"] body.page-search .desktop-result-interests.is-expanded .pref-extra {
        display: inline-flex;
    }

    html[data-design="v1"] body.page-search .desktop-result-interests .pref-more {
        cursor: pointer;
        color: var(--color-primary);
        background: var(--color-primary-alpha-10, var(--color-bg-soft));
    }

    html[data-design="v1"] body.page-search .desktop-result-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
    }

    html[data-design="v1"] body.page-search .desktop-result-action {
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 1px solid var(--color-border);
        border-radius: 50%;
        background: var(--color-white);
        color: var(--color-text-main);
        text-decoration: none;
        box-shadow: none;
    }

    html[data-design="v1"] body.page-search .desktop-result-action:hover {
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

    html[data-design="v1"] body.page-search .search-result-row.is-viewed .desktop-result-card {
        opacity: .55;
    }
}

.search-results {
    margin-top: 25px;
}

.cards-view {
    display: none !important;
}

.table-view {
    display: block !important;
}

.results-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--font-md);
    margin-bottom: 20px;
    background: var(--color-white);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 10px 30px var(--color-text-main-alpha-05);
    table-layout: fixed;
    border: 1px solid var(--color-border-strong-alpha-20);
}

.results-table tr.search-result-row.is-viewed {
    background: var(--color-white);
    border-color: var(--color-bg-soft);
    box-shadow: 0 1px 2px var(--color-text-main-alpha-05);
    opacity: .94;
}

.results-table tr.search-result-row.is-viewed:active,
.results-table tr.search-result-row.is-viewed:hover {
    opacity: 1;
}

.results-table th {
    background: var(--color-primary);
    color: var(--color-white);
    padding: 14px 16px;
    text-align: left;
    font-weight: 600;
    font-size: var(--font-md);
    position: sticky;
    top: 0;
}

.results-table th,
.results-table td {
    border-bottom: 1px solid var(--color-border);
    vertical-align: middle;
    line-height: 1.2;
    padding: 12px 16px;
}

.results-table tr:hover {
    background: var(--color-bg-page);
}

.results-table tr:last-child td {
    border-bottom: none;
}

.results-table tbody tr.search-result-row {
    cursor: pointer;
    transition: background var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast);
}

.results-table tbody tr.search-result-row:hover {
    background: var(--color-bg-page);
    box-shadow: inset 3px 0 0 var(--color-primary);
}

.results-table tbody tr.search-result-row.is-viewed {
    background: var(--color-white);
    opacity: .68;
}

.results-table tbody tr.search-result-row.is-viewed:hover {
    background: var(--color-bg-page);
    opacity: 1;
}

.results-table th:nth-child(1) { width: 20%; }
.results-table th:nth-child(2) { width: 8%; }
.results-table th:nth-child(3) { width: 15%; }
.results-table th:nth-child(4) { width: 20%; }
.results-table th:nth-child(5) { width: 37%; }

.user-card.is-viewed {
    background: var(--color-white);
    opacity: .4;
}

.user-card.is-viewed:hover {
    opacity: 1;
}

/* ================================
   USER NAME & STATUS
================================ */
.user-name {
    font-weight: 500;
    text-decoration: none;
    color: var(--color-primary);
}

.user-name:visited {
    color: var(--color-viewed);
}

.status-icon {
    font-size: var(--font-base);
}

.status-unread {
    color: var(--color-online);
}

.status-waiting {
    color: var(--color-waiting-reply);
}

.looking-for-icons {
    display: flex;
    gap: 8px;
}

.looking-icon {
    font-size: var(--font-base);
    color: var(--color-primary);
}

.looking-icon.fa-mars,
.looking-four .icon.male.on {
    color: var(--color-info);
}

.looking-icon.fa-venus,
.looking-four .icon.female.on {
    color: var(--color-accent-purple);
}

.looking-icon.fa-venus-mars,
.looking-four .icon.couple.on {
    color: var(--color-accent-purple);
}

.looking-icon.fa-users,
.looking-four .icon.on:not(.male):not(.female):not(.couple) {
    color: var(--color-warning);
}

.country-flag {
    font-size: var(--font-xl);
    min-width: 20px;
    text-align: center;
    flex-shrink: 0;
}

/* ================================
   INTERESTS IN TABLE
================================ */
.interests-container {
    cursor: pointer;
}

.interests-preview {
    display: block;
}

.interests-full {
    display: none;
}

.interests-container.expanded .interests-preview {
    display: none;
}

.interests-container.expanded .interests-full {
    display: block;
}

.pref-txt {
    font-size: var(--font-xs);
    display: inline;
}

.pref-txt.shared {
    color: var(--color-primary);
    font-weight: 500;
}

.pref-txt.shared.search-match,
.pref-txt.other.search-match {
    color: var(--color-success) !important;
}

.pref-txt.search-match {
    color: var(--color-success) !important;
}

.pref-txt.search-exclude {
    color: var(--color-danger) !important;
}

.pref-txt.other {
    color: var(--color-text-light);
}

.pref-txt:after {
    content: ", ";
}

.pref-txt:last-child:after {
    content: "";
}

.pref-more {
    color: var(--color-primary);
    font-size: var(--font-xs);
    cursor: pointer;
    font-weight: 500;
}

/* ================================
   INTERESTS IN FILTER
================================ */
.selected-preferences-container {
    background: var(--color-bg-page);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 10px;
    margin-top: 8px;
    min-height: var(--control-md);
    transition: all 0.3s ease;
    background: var(--color-white-alpha-70);
}

.selected-preferences-container:hover {
    border-color: var(--color-primary);
}

.selected-preferences-container.excluded {
    border-color: var(--color-danger-alpha-30);
}

.selected-preferences-container.excluded:hover {
    border-color: var(--color-danger);
}

.selected-preferences {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.selected-preferences:empty::before {
    content: attr(data-empty);
    color: var(--color-text-light);
    font-style: italic;
    font-size: var(--font-sm);
}

.selected-pref {
    background: var(--color-white);
    color: var(--color-primary);
    padding: 4px 8px;
    border-radius: var(--radius-lg);
    font-size: var(--font-xs);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--color-primary-light);
    box-shadow: 0 1px 3px var(--color-shadow-10);
    transition: var(--transition);
    animation: fadeInScale 0.3s ease;
}

.selected-pref:hover {
    border-color: var(--color-primary);
    box-shadow: 0 2px 5px var(--color-shadow-15);
}

.remove-pref {
    cursor: pointer;
    font-size: var(--font-sm);
    line-height: 1;
    margin-left: 3px;
    color: var(--color-danger);
    padding: 1px;
    border-radius: var(--radius-round);
    background: var(--color-danger-alpha-10);
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.remove-pref:hover {
    background: var(--color-danger);
    color: var(--color-white);
    transform: scale(1.1);
}

.search-filter-divider {
    width: 1px;
    height: 24px;
    background: var(--color-bg-soft);
    margin: 0 4px;
    flex: 0 0 1px;
}

@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}

/* ================================
   PAGER
================================ */
.search-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.search-pager button {
    padding: 8px 12px;
    min-width: 42px;
    min-height: 42px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: var(--transition);
    font-weight: 500;
    box-shadow: 0 3px 10px var(--color-text-main-alpha-05);
}

.search-pager button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.search-pager button:hover:not(:disabled) {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.search-pager button.is-active {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
    cursor: default;
    box-shadow: 0 6px 16px var(--color-primary-alpha-20);
}

.search-pager button.search-pager__nav {
    min-width: 96px;
}

.page-info {
    padding: 8px 12px;
    color: var(--color-text-light);
}

.search-pager .page-info {
    display: none !important;
}

/* ================================
   NO RESULTS
================================ */
.no-results {
    text-align: center;
    margin: 22px 0;
    padding: 42px 20px;
    border: 1px dashed var(--color-border-strong-alpha-30);
    border-radius: var(--radius-3xl);
    background: var(--color-white-alpha-70);
    box-shadow: 0 10px 30px var(--color-text-main-alpha-05);
    color: var(--color-text-light);
}

.no-results i {
    font-size: 48px;
    margin-bottom: 20px;
    color: var(--color-primary);
    opacity: .5;
}

.no-results p:first-of-type {
    color: var(--color-text-main);
    font-weight: 700;
}

.no-results p {
    margin: 5px 0;
    font-size: var(--font-xl);
}

/* ================================
   SUGGESTIONS DROPDOWN
================================ */
.suggestions-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    border-top: none;
    max-height: 200px;
    overflow-y: auto;
    z-index: var(--z-dropdown);
    box-shadow: var(--shadow);
    display: none;
}

.suggestion-item {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid var(--color-border);
    font-size: var(--font-base);
    display: flex;
    align-items: center;
    gap: 8px;
}

.suggestion-item:last-child {
    border-bottom: none;
}

.suggestion-item:hover {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

/* ================================
   MEET FILTER SECTION (скрыт в UI)
================================ */
.meet-filter-section {
    margin-bottom: 20px;
}

.meet-filter-toggle {
    margin-bottom: 15px;
    font-weight: 500;
    font-size: var(--font-lg);
}

.meet-filter-fields {
    background: var(--color-bg-page);
    border-radius: var(--border-radius);
    padding: 20px;
    margin-top: 10px;
    animation: slideDown 0.3s ease;
}

.meet-filter-header {
    margin-bottom: 15px;
}

.meet-filter-grid-three {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.meet-filter-column {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* ================================
   INTERESTS FILTER SECTION
================================ */
.interests-filter-section {
    margin-bottom: 20px;
}

.interests-filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.interests-column {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.interests-online-section {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--color-border-strong-alpha-20);
}

.interests-online-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 180px;
    gap: 20px;
    align-items: start;
}

/* ================================
   DATE RANGE
================================ */
.date-range-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.date-inputs {
    display: flex;
    gap: 10px;
}

.date-inputs .search-input {
    flex: 1;
    font-size: var(--font-base);
}

.quick-dates {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.quick-dates-icons {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.quick-date-btn {
    padding: 6px 12px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    font-size: var(--font-sm);
    transition: var(--transition);
    flex: 1;
    min-width: 60px;
    text-align: center;
}

.quick-date-btn-icon {
    padding: 8px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}

.quick-date-btn:hover,
.quick-date-btn-icon:hover {
    background: var(--color-primary-light);
    border-color: var(--color-primary);
    transform: translateY(-2px);
}

.quick-date-btn.active,
.quick-date-btn-icon.active {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.quick-date-btn-icon i {
    font-size: var(--font-base);
}

/* ================================
   MAP CONTROLS
================================ */
.map-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.location-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.map-btn {
    padding: 10px 15px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    font-size: var(--font-base);
    text-align: center;
    justify-content: center;
}

.map-btn:hover {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
}

.radius-control {
    display: flex;
    align-items: center;
    gap: 10px;
}

.radius-control .search-input {
    width: 120px;
    flex-shrink: 0;
}

.radius-control-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.radius-label {
    color: var(--color-text-light);
    font-size: var(--font-base);
    white-space: nowrap;
}

.radius-input {
    width: 70px;
    text-align: center;
    padding: 8px 10px;
}

.radius-unit {
    color: var(--color-text-light);
    font-size: var(--font-base);
    white-space: nowrap;
}

/* ================================
   ONLINE FILTER
================================ */
.online-filter-control {
    display: grid;
    grid-template-columns: 20px 18px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    min-height: var(--control-lg);
}

.online-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    min-width: 20px;
    height: 18px;
    color: var(--color-text-disabled);
    font-size: var(--font-base);
    line-height: 1;
    flex: 0 0 20px;
    pointer-events: none;
    position: relative;
    z-index: 0;
    overflow: hidden;
    transition: color 0.2s ease;
}

.online-checkbox-input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--color-text-disabled);
    position: static !important;
    z-index: 1;
    justify-self: start;
    align-self: center;
}

.online-checkbox-input:checked ~ .online-icon {
    color: var(--color-online, var(--color-success));
}

.online-checkbox-text {
    display: inline-block;
    white-space: nowrap;
    cursor: pointer;
    line-height: 1.2;
    min-width: 0;
}

.online-filter-control:has(.online-checkbox-input:checked) .online-icon {
    color: var(--color-online, var(--color-success));
}

/* ================================
   PREF INPUT
================================ */
.pref-input-container {
    position: relative;
    margin-bottom: 8px;
}

.pref-input-container::before {
    content: '\f002';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-light);
    z-index: 2;
    font-size: var(--font-sm);
}

.pref-input-container input {
    padding-left: 30px;
    font-size: var(--font-md);
    padding-top: 8px;
    padding-bottom: 8px;
}

.exclude-pref-input-container::before {
    content: '\f00d';
    color: var(--color-danger);
}

/* ================================
   STATUS COLORS
================================ */
.status-mutual-like {
    color: var(--color-danger);
    filter: drop-shadow(0 0 4px var(--color-danger-alpha-20));
}

.status-likes-me {
    color: var(--color-warning);
}

.status-liked-by-me {
    color: var(--color-border-strong);
}

.status-muted {
    color: var(--color-border-strong);
}

/* ================================
   SEARCH ORDER SELECT
================================ */
.search-match-mini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 4px;
    font-size: var(--font-xs);
    font-weight: 700;
    line-height: 1;
    color: var(--color-danger);
    opacity: .8;
    vertical-align: middle;
    cursor: help;
    gap: 1px;
    white-space: nowrap;
    min-width: 34px;
    min-height: 24px;
    padding: 0 8px;
    border-radius: var(--radius-pill);
    background: var(--color-bg-page);
}

.name-cell .search-match-mini {
    transform: translateY(-1px);
}

.user-card h3 .search-match-mini {
    margin-left: 6px;
}

.search-filter-bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 24px;
}

.search-chip-control {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.search-chip-control input {
    display: none;
}

.search-chip-control span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 36px;
    padding: 0 13px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: var(--color-white);
    color: var(--color-text-main);
    font-size: var(--font-md);
    white-space: nowrap;
    min-height: var(--control-md);
    font-weight: 500;
}

.search-chip-control input:checked + span {
    border-color: var(--color-info);
    background: var(--color-bg-page);
    color: var(--color-info);
}

.search-sort-control {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 36px;
}

.search-sort-label {
    display: none;
    align-items: center;
    gap: 6px;
    height: 36px;
    color: var(--color-text-muted);
    font-size: var(--font-md);
    line-height: 1;
}

.search-name-wrap {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
}

.search-match-hint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
    font-size: var(--font-xs);
    line-height: 1.25;
    color: var(--color-text-muted);
}

.search-match-percent {
    color: var(--color-danger);
    font-weight: 700;
}

.search-match-reason {
    color: var(--color-text-secondary);
}

.user-card .search-match-hint {
    justify-content: center;
    margin-top: 4px;
}

/* ================================
   PROFILE REPUTATION
================================ */
.profile-reputation {
    display: inline-flex;
    margin-top: 4px;
    padding: 3px 8px;
    border-radius: var(--radius-pill);
    font-size: var(--font-xs);
    font-weight: 700;
}

.profile-reputation--green {
    background: var(--color-success-bg);
    color: var(--color-success-text);
}

.profile-reputation--yellow {
    background: var(--color-warning-bg);
    color: var(--color-warning-text);
}

.profile-reputation--orange {
    background: var(--color-warning-soft);
    color: var(--color-warning);
}

.profile-reputation--red {
    background: var(--color-danger-bg);
    color: var(--color-danger-text);
}

.search-inline-age {
    display: none;
}

/* ================================
   USER RISK TOOLTIP
================================ */
.user-risk {
    margin-left: 4px;
    cursor: default;
    font-size: var(--font-base);
    position: relative;
    display: inline-block;
}

.user-risk--warn {
    color: var(--color-warning);
}

.user-risk--danger {
    color: var(--color-danger);
}

.user-risk::after {
    content: attr(data-hint);
    position: absolute;
    left: 50%;
    bottom: 125%;
    transform: translateX(-50%);
    background: var(--color-text-main);
    color: var(--color-white);
    padding: 4px 8px;
    border-radius: var(--radius-xs);
    font-size: var(--font-sm);
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: .15s;
    z-index: 99999;
}

.user-risk:hover::after {
    opacity: 1;
}

/* ================================
   KEYFRAMES
================================ */
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes searchRowIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes quickGiftIn {
    from { opacity: 0; transform: translateY(4px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes emojiPopupIn {
    from { opacity: 0; transform: scale(0.9) translateY(6px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

/* ================================
   COMPACT PROFILE BADGES
================================ */
.profile-badge-icons {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-left: 6px;
    vertical-align: middle;
}

.profile-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-border);
    background: var(--color-white);
    font-size: var(--font-2xs);
    line-height: 1;
}

.profile-badge-icon span {
    display: none;
}

.profile-badge-icon--green {
    color: var(--color-success-dark);
    background: var(--color-success-alpha-10);
    border-color: var(--color-success-alpha-30);
}

.profile-badge-icon--blue {
    color: var(--color-info);
    background: var(--color-info-alpha-10);
    border-color: var(--color-info-alpha-30);
}

.profile-badge-icon--violet {
    color: var(--color-accent-purple);
    background: var(--color-accent-purple-alpha-10);
    border-color: var(--color-accent-purple-alpha-30);
}

.profile-badge-icon--gray {
    color: var(--color-text-secondary);
    background: var(--color-text-muted-alpha-10);
    border-color: var(--color-text-muted-alpha-30);
}

/* ================================
   LOOKING META ALIGNMENT
================================ */
.search-looking-meta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    white-space: nowrap;
}

.search-looking-meta .meet-flag {
    display: none;
}

.search-looking-meta .looking-for-icons,
.search-looking-meta .looking-icon,
.search-looking-meta .looking-age {
    flex: 0 0 auto;
}

.search-looking-meta .looking-age {
    display: inline-flex !important;
    align-items: center;
    margin-left: 0;
    color: var(--color-text-muted);
    font-size: var(--font-sm);
    line-height: 1;
    white-space: nowrap;
}

/* Выровнять все иконки по центру */
.status-icons,
.profile-badge-icons,
.looking-four,
.search-status-inline {
    display: inline-flex;
    align-items: center;
    vertical-align: middle; /* ДОБАВИТЬ */
    gap: 7px;
    flex-wrap: wrap;
}

/* Для иконок внутри строки */
.search-name-wrap {
    display: inline-flex;
    align-items: center;
    vertical-align: middle; /* ДОБАВИТЬ */
    gap: 7px;
    flex-wrap: wrap;
}

/* Иконки статуса */
.status-icon {
    font-size: var(--font-base);
    vertical-align: middle; /* ДОБАВИТЬ */
    line-height: 1; /* ДОБАВИТЬ */
}

/* Иконки looking */
.looking-icon {
    font-size: var(--font-base);
    color: var(--color-primary);
    vertical-align: middle; /* ДОБАВИТЬ */
    line-height: 1; /* ДОБАВИТЬ */
}

/* Убрать лишние отступы */
.search-name-wrap .search-match-mini {
    vertical-align: middle;
    margin-top: 0; /* ДОБАВИТЬ */
}

.status-icons > *,
.profile-badge-icons > *,
.looking-four > * {
    margin-inline: 0 !important;
}

/* ================================
   SEARCH RESULTS TOOLBAR
================================ */
.search-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 16px;
}

.search-results-count {
    color: var(--color-text-muted);
    font-size: var(--font-md);
    font-weight: 500;
}

.search-toolbar-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    color: var(--color-text-main);
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: var(--transition);
    font-weight: 500;
    white-space: nowrap;
    box-shadow: 0 4px 14px var(--color-text-main-alpha-05);
}

.search-toolbar-filter:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.search-mobile-actions {
    display: none;
}

.search-back-top {
    border: 1px solid var(--color-border);
    background: var(--color-white);
    color: var(--color-text-main);
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.search-back-top:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.search-filter-backdrop[hidden] {
    display: none;
}

.search-results.is-loading {
    opacity: .62;
    pointer-events: none;
}

/* ================================
   COMPATIBILITY MINI
================================ */
.search-compat-mini {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: 220px;
    margin-left: 8px;
    padding: 7px 9px;
    border-radius: 14px;
    border: 1px solid var(--color-primary-alpha-20);
    background: linear-gradient(135deg, var(--color-primary-alpha-08), var(--color-white));
    color: var(--color-text-main);
    vertical-align: middle;
    line-height: 1.15;
    box-shadow: 0 4px 12px var(--color-text-main-alpha-05);
}

.search-compat-mini__top {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.search-compat-mini__top b {
    font-size: 12px;
    font-weight: 800;
    color: var(--color-primary);
    white-space: nowrap;
}

.search-compat-mini__top em {
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-secondary);
}

.search-compat-mini__confidence {
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--color-border);
}

.search-compat-mini__confidence i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--color-primary);
}

.search-compat-mini__chips,
.search-compat-mini__reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.search-compat-mini__chips span {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: 999px;
    background: var(--color-white-alpha-80);
    border: 1px solid var(--color-primary-alpha-10);
    color: var(--color-primary);
    font-size: 10px;
    font-weight: 700;
}

.search-compat-mini__reasons span,
.search-compat-mini__warn {
    display: block;
    max-width: 100%;
    font-size: 10.5px;
    color: var(--color-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-compat-mini__warn {
    color: var(--color-warning-dark);
    font-weight: 700;
}

.search-compat-mini__reply {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 6px;
    max-width: 100%;
    padding: 3px 6px;
    border-radius: 8px;
    background: var(--color-white-alpha-80);
    border: 1px solid var(--color-primary-alpha-10);
    color: var(--color-text-main);
    font-size: 10.5px;
    font-weight: 700;
}

.search-compat-mini__reply i {
    color: var(--color-primary);
    font-size: 10px;
}

.search-compat-mini__reply small {
    flex-basis: 100%;
    color: var(--color-text-secondary);
    font-size: 10px;
    font-weight: 600;
}

.search-compat-mini__reply.is-high i {
    color: var(--color-success);
}

.search-compat-mini__reply.is-low i {
    color: var(--color-warning-dark);
}

.search-compat-mini.is-best {
    border-color: var(--color-danger-alpha-20);
    background: linear-gradient(135deg, var(--color-danger-alpha-05), var(--color-white));
}

.search-compat-mini.is-best .search-compat-mini__top b {
    color: var(--color-danger);
}

.search-compat-mini.is-best .search-compat-mini__confidence i {
    background: var(--color-danger);
}

.search-compat-mini.is-limited {
    border-color: var(--color-warning);
    background: linear-gradient(135deg, var(--color-warning-alpha-10), var(--color-white));
}

.search-compat-mini.is-limited .search-compat-mini__top b,
.search-compat-mini.is-limited .search-compat-mini__confidence i {
    color: var(--color-warning-dark);
    background: var(--color-warning);
}

.search-match-mini--debug {
    display: inline-flex;
    margin-left: 8px;
    padding: 3px 6px;
    border-radius: 999px;
    background: var(--color-bg-soft);
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 760px) {
    .search-compat-mini {
        margin-left: 0;
        margin-top: 6px;
        max-width: 100%;
    }
    .search-name-wrap .search-compat-mini {
        display: flex;
        width: fit-content;
    }
}

/* ================================
   QUICK PROFILE
================================ */
.quick-profile[hidden] {
    display: none !important;
}

.quick-profile {
    position: fixed;
    inset: 0;
    z-index: var(--z-toast);
    pointer-events: none;
}

.quick-profile__backdrop {
    position: absolute;
    inset: 0;
    background: var(--color-text-main-alpha-40);
    opacity: 0;
    transition: opacity .18s ease;
}

.quick-profile__panel {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(820px, calc(100vw - 36px));
    max-height: min(760px, calc(100dvh - 72px));
    overflow: hidden;
    background: var(--color-white);
    border-radius: 24px;
    box-shadow: 0 24px 70px var(--color-text-main-alpha-30);
    transform: translate(-50%, -46%) scale(.98);
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease;
    display: flex;
    flex-direction: column;
}

.quick-profile.is-open {
    pointer-events: auto;
}

.quick-profile.is-open .quick-profile__backdrop {
    opacity: 1;
}

.quick-profile.is-open .quick-profile__panel {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.quick-profile__close {
    position: absolute;
    right: 12px;
    top: 12px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: var(--radius-round);
    background: var(--color-text-main-alpha-08);
    color: var(--color-text-secondary);
    cursor: pointer;
    z-index: 2;
}

.quick-profile__close:hover {
    background: var(--color-text-main-alpha-12);
    color: var(--color-text-main);
}

.quick-profile__body {
    min-height: 0;
    flex: 1 1 auto;
    padding: 0 !important;
    overflow: hidden;
}

.quick-profile__layout {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--color-white);
}

.quick-profile__top {
    flex: 0 0 auto;
    padding: 20px 22px 12px;
    border-bottom: 1px solid var(--color-bg-soft);
    background: var(--color-white-alpha-95);
    backdrop-filter: blur(12px);
    z-index: 2;
}

.quick-profile__hero--v4 {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding-right: 34px;
}

.quick-profile__hero--v4 .quick-profile__avatar-wrap,
.quick-profile__hero--v4 .quick-profile__avatar {
    width: 60px;
    height: 60px;
    font-size: 23px;
}

.quick-profile__avatar-wrap {
    position: relative;
    flex: 0 0 auto;
    overflow: visible;
}

.quick-profile__avatar {
    position: relative;
    width: 64px;
    height: 64px;
    border-radius: var(--radius-round);
    background: var(--color-bg-soft);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: var(--font-4xl);
    font-weight: 800;
}

.quick-profile__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.quick-profile__avatar-wrap.is-online::after {
    content: '';
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-round);
    background: var(--color-online, var(--color-success));
    border: 2px solid var(--color-white);
}

.quick-profile__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.quick-profile__title-row h2 {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    font-size: 23px;
    line-height: 1.1;
    color: var(--color-text-main);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-profile__score--inline {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: auto;
    padding: 5px 9px;
    border-radius: var(--radius-pill);
    background: var(--color-danger-soft);
    color: var(--color-danger);
    font-size: var(--font-sm);
    font-weight: 800;
    white-space: nowrap;
}

.quick-profile__hero-meta {
    margin-top: 4px;
    color: var(--color-text-muted);
    font-size: var(--font-md);
    line-height: 1.35;
    font-weight: 600;
}

.quick-profile__facts--compact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.quick-profile__fact {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 7px 10px;
    border-radius: var(--radius-xl);
    background: var(--color-bg-page);
    border: 1px solid var(--color-bg-soft);
    color: var(--color-text-main);
    font-size: var(--font-md);
    line-height: 1.25;
}

.quick-profile__fact i {
    width: 15px;
    flex: 0 0 15px;
    color: var(--color-primary);
    text-align: center;
}

.quick-profile__fact > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-profile__fact--looking {
    background: var(--color-primary-light);
    border-color: var(--color-info-alpha-15);
    color: var(--color-text-main);
    font-weight: 700;
}

.quick-profile__fact--location {
    flex-wrap: wrap;
    align-items: center;
    column-gap: 7px;
    row-gap: 5px;
    width: fit-content !important;
    max-width: 100% !important;
}

.quick-profile__fact--location > span:last-child:not(.quick-profile__lang-chip) {
    flex: 1 1 auto;
}

.quick-profile__lang-chip {
    margin-left: 6px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: auto !important;
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: var(--radius-pill);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--font-xs);
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.quick-profile__lang-chip i {
    width: auto;
    flex: 0 0 auto;
    color: var(--color-text-muted);
    font-size: var(--font-2xs);
}

.quick-profile__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px 22px;
    overscroll-behavior: contain;
}

.quick-profile__section {
    margin: 0;
    padding: 12px 0;
    border-top: 1px solid var(--color-bg-soft);
}

.quick-profile__section:first-child {
    border-top: 0;
    padding-top: 0;
}

.quick-profile__section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
    color: var(--color-text-main);
    font-size: var(--font-sm);
    font-weight: 800;
    line-height: 1.2;
}

.quick-profile__about {
    color: var(--color-text-main);
    font-size: var(--font-md);
    line-height: 1.45;
}

.quick-profile__locked {
    padding: 10px 11px;
    border-radius: var(--radius-xl);
    background: var(--color-bg-page);
    border: 1px dashed var(--color-border-strong);
    color: var(--color-text-muted);
    font-size: var(--font-md);
    line-height: 1.45;
}

.quick-profile__prefs--all {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.quick-profile__prefs--all span {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: var(--radius-pill);
    background: var(--color-bg-page);
    border: 1px solid var(--color-border);
    color: var(--color-text-main);
    font-size: var(--font-sm);
    font-weight: 600;
}

.quick-profile__prefs-more {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: var(--radius-pill);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--font-sm);
    font-weight: 600;
}

.quick-profile__composer {
    position: relative;
    flex: 0 0 auto;
    padding: 12px 22px 16px;
    border-top: 1px solid var(--color-border);
    background: var(--color-white-alpha-95);
    box-shadow: 0 -12px 28px var(--color-text-main-alpha-08);
    z-index: 3;
}

.quick-profile__composer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.quick-profile__section-title--message {
    margin: 0;
}

.quick-profile__profile-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--color-text-muted);
    text-decoration: none;
    font-size: var(--font-sm);
    font-weight: 800;
    white-space: nowrap;
}

.quick-profile__profile-link:hover {
    color: var(--color-primary);
}

.quick-profile__composer-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.quick-profile__template-btn,
.quick-profile__gift-toggle {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: var(--color-white);
    color: var(--color-text-main);
    font: inherit;
    font-size: var(--font-sm);
    font-weight: 800;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.quick-profile__template-btn:hover,
.quick-profile__gift-toggle:hover,
.quick-profile__gift-toggle.is-selected {
    background: var(--color-primary-light);
    border-color: var(--color-info-alpha-30);
    color: var(--color-primary);
}

.quick-profile__template-list,
.quick-profile__gift-box {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: calc(100% - 8px);
    z-index: 20;
    max-height: min(320px, 46dvh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-3xl);
    background: var(--color-white);
    box-shadow: 0 18px 45px var(--color-text-main-alpha-20);
}

.quick-profile__template-list[hidden],
.quick-profile__gift-box[hidden],
.quick-profile__gift-list[hidden] {
    display: none !important;
}

.quick-profile__template-item {
    appearance: none;
    width: 100%;
    display: block;
    padding: 9px 10px;
    border: 0;
    border-radius: var(--radius-lg);
    background: var(--color-transparent);
    color: var(--color-text-main);
    text-align: left;
    cursor: pointer;
}

.quick-profile__template-item:hover {
    background: var(--color-bg-page);
}

.quick-profile__template-item strong,
.quick-profile__template-item span {
    display: block;
}

.quick-profile__template-item strong {
    margin-bottom: 3px;
    font-size: var(--font-md);
}

.quick-profile__template-item span {
    color: var(--color-text-muted);
    font-size: var(--font-sm);
    line-height: 1.35;
}

.quick-profile__gift-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.quick-profile__gift-btn {
    appearance: none;
    min-height: 72px;
    padding: 8px 5px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-2xl);
    background: var(--color-white);
    color: var(--color-text-main);
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.quick-profile__gift-btn:hover {
    transform: translateY(-1px);
    background: var(--color-bg-page);
    border-color: var(--color-warning-soft);
}

.quick-profile__gift-btn.is-disabled {
    opacity: .45;
    cursor: not-allowed;
    filter: grayscale(.8);
}

.quick-profile__gift-emoji {
    font-size: var(--font-4xl);
    line-height: 1;
}

.quick-profile__gift-title {
    width: 100%;
    color: var(--color-text-muted);
    font-size: var(--font-2xs);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}

.quick-profile__selected-gift {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 8px;
    padding: 6px 9px;
    border-radius: var(--radius-pill);
    background: var(--color-bg-page);
    border: 1px solid var(--color-warning-soft);
    color: var(--color-warning-text);
    font-size: var(--font-sm);
    font-weight: 800;
    animation: quickGiftIn .16s ease-out;
}

.quick-profile__selected-gift[hidden] {
    display: none !important;
}

.quick-profile__selected-gift-emoji {
    font-size: var(--font-xl);
    line-height: 1;
}

.quick-profile__selected-gift-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-profile__selected-gift-remove {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-warning-text-alpha-12);
    color: var(--color-warning-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.quick-profile__message-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.quick-profile__textarea {
    width: 100%;
    min-height: 86px;
    max-height: 180px;
    resize: vertical;
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-2xl);
    background: var(--color-bg-page);
    color: var(--color-text-main);
    font: inherit;
    font-size: var(--font-md);
    line-height: 1.35;
    outline: none;
}

.quick-profile__textarea:focus {
    background: var(--color-white);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-info-alpha-10);
}

.quick-profile__send {
    appearance: none;
    min-height: var(--control-lg);
    padding: 0 14px;
    border: 0;
    border-radius: var(--radius-2xl);
    background: var(--color-primary);
    color: var(--color-white);
    font: inherit;
    font-size: var(--font-md);
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    cursor: pointer;
}

.quick-profile__send:disabled,
.quick-profile__template-btn:disabled,
.quick-profile__gift-toggle:disabled {
    opacity: .65;
    cursor: wait;
}

.quick-profile__message-status {
    margin-top: 7px;
    color: var(--color-text-muted);
    font-size: var(--font-sm);
    font-weight: 700;
    line-height: 1.3;
}

.quick-profile__message-status[hidden] {
    display: none !important;
}

.quick-profile__message-status--success {
    color: var(--color-success);
}

.quick-profile__message-status--error {
    color: var(--color-danger);
}

.quick-profile__actions,
.quick-profile__section--match,
.quick-profile__match-compact {
    display: none !important;
}

/* ================================
   USER CARD
================================ */
.user-card {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    -webkit-tap-highlight-color: var(--color-transparent);
}

@media (hover: hover) {
    .user-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 34px var(--color-text-main-alpha-12);
    }
}

/* ================================
   MEDIA QUERIES — ОБЪЕДИНЕНЫ
================================ */

/* ===== Tablet — 1024px ===== */
@media (max-width: 1024px) {
    .meet-filter-grid-three,
    .interests-online-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .online-column {
        align-items: flex-start;
    }
}

/* ===== Desktop Quick Profile — шире ===== */
@media (min-width: 641px) {
    .quick-profile__panel {
        width: min(860px, calc(100vw - 72px));
    }
    .quick-profile__top {
        padding-inline: 28px;
    }
    .quick-profile__scroll,
    .quick-profile__composer {
        padding-inline: 28px;
    }
    .quick-profile__fact--location {
        flex-wrap: nowrap;
    }
    .quick-profile__fact--location > span:last-child:not(.quick-profile__lang-chip),
    .quick-profile__fact--location > span:nth-last-child(2) {
        flex: 0 1 auto;
    }
    .quick-profile__fact--location .quick-profile__lang-chip {
        margin-left: 2px;
    }
}

/* ===== Mobile — 768px ===== */
@media (max-width: 768px) {
    .search-header {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    .search-grid {
        flex-direction: column;
    }
    .search-field,
    .age-field {
        min-width: 100%;
    }
    .age-field {
        justify-content: space-between;
        gap: 12px;
    }
    .age-input {
        width: calc((100% - 36px) / 2);
        min-width: 92px;
    }
    .advanced-grid {
        flex-direction: column;
    }
    .advanced-field {
        min-width: 100%;
    }
    .advanced-field:last-child {
        display: flex;
        align-items: center;
        min-height: var(--control-lg);
    }
    .checkbox-label {
        padding: 9px 0;
        height: var(--control-md);
    }
    .advanced-field:last-child {
        min-height: var(--control-md);
    }
    .results-table {
        font-size: var(--font-sm);
    }
    .results-table th,
    .results-table td {
        padding: 10px 12px;
    }
    .results-table th:nth-child(1),
    .results-table th:nth-child(2),
    .results-table th:nth-child(3),
    .results-table th:nth-child(4),
    .results-table th:nth-child(5) {
        width: auto;
    }
    .pref-txt {
        font-size: var(--font-2xs);
    }
    .meet-filter-fields {
        padding: 15px;
    }
    .meet-filter-grid-three,
    .interests-filter-grid,
    .interests-online-grid {
        grid-template-columns: 1fr;
    }
    .online-column {
        min-width: 0;
        padding-left: 0;
    }
    .date-inputs {
        flex-direction: column;
    }
    .quick-dates,
    .quick-dates-icons {
        justify-content: stretch;
    }
    .quick-date-btn {
        flex: 1;
        min-width: 70px;
    }
    .quick-dates-icons {
        justify-content: space-around;
    }
    .location-controls,
    .map-controls {
        gap: 10px;
    }
    .radius-control-inline {
        justify-content: space-between;
        min-width: auto;
    }
    .radius-input {
        width: 70px !important;
    }

    .search-results-toolbar {
        position: sticky;
        top: calc(var(--touch-target) + 20px);
        z-index: 20;
        margin: 10px -14px 12px;
        padding: 8px 14px;
        background: var(--color-bg-page-alpha-95);
        backdrop-filter: blur(10px);
        border-top: 1px solid var(--color-text-main-alpha-08);
        border-bottom: 1px solid var(--color-text-main-alpha-08);
    }
    .search-toolbar-filter {
        min-height: 34px;
        padding: 0 12px;
        font-size: var(--font-sm);
    }

    .search-form {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10020;
        max-height: min(84dvh, 720px);
        overflow: auto;
        margin: 0;
        padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
        border-radius: 24px 24px 0 0;
        background: var(--color-white);
        box-shadow: 0 -18px 44px var(--color-text-main-alpha-20);
        transform: translateY(calc(100% + 20px));
        transition: transform .22s ease;
        will-change: transform;
        border: 0;
    }
    .search-form::before {
        content: '';
        display: block;
        width: 46px;
        height: 5px;
        margin: 0 auto 14px;
        border-radius: var(--radius-pill);
        background: var(--color-border-strong);
    }
    .search-page.is-filter-open .search-form {
        transform: translateY(0);
    }
    .search-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 10010;
        background: var(--color-text-main-alpha-55);
        backdrop-filter: blur(2px);
    }
    body.search-filter-open {
        overflow: hidden;
    }

    .search-mobile-actions {
        display: flex;
        position: fixed;
        right: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        z-index: 9000;
        gap: 10px;
        pointer-events: none;
    }
    .search-mobile-filter-btn,
    .search-back-top {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        box-shadow: 0 12px 28px var(--color-text-main-alpha-20);
        pointer-events: auto;
        border: 1px solid var(--color-border);
        background: var(--color-white);
        color: var(--color-text-main);
        border-radius: var(--radius-pill);
        cursor: pointer;
        transition: var(--transition);
    }
    .search-mobile-filter-btn {
        gap: 8px;
        padding: 0 16px;
        background: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-white);
        font-weight: 900;
        display: none !important;
    }
    .search-mobile-filter-btn:hover {
        color: var(--color-white);
    }
    .search-back-top {
        width: 46px;
        padding: 0;
    }
    .search-mobile-filter-btn:hover,
    .search-back-top:hover {
        border-color: var(--color-primary);
        color: var(--color-primary);
    }
    .search-page.is-filter-open .search-mobile-actions {
        display: none;
    }

    .search-grid {
        gap: 10px;
    }
    .search-button {
        width: 100%;
        min-height: var(--control-xl);
    }

    .advanced-toggle {
        width: auto;
        height: auto;
        margin-top: 12px;
        padding: 0;
        background: var(--color-transparent);
        min-height: 44px;
        justify-content: flex-start;
        color: var(--color-primary);
        margin-bottom: 6px;
        padding-bottom: 10px;
    }
    .advanced-fields.show {
        display: block;
        padding-top: 10px;
        margin-top: 0;
    }
    .advanced-fields .advanced-field,
    .advanced-fields .advanced-field:last-child {
        display: block !important;
        min-width: 0;
        min-height: 0;
    }

    .search-filter-bar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        align-items: stretch;
        margin-top: 10px;
    }
    .search-chip-control,
    .search-sort-control {
        width: 100%;
    }
    .search-chip-control > span,
    .search-sort-control select {
        width: 100%;
        min-height: var(--control-lg);
        border-radius: var(--radius-xl);
    }
    .search-filter-divider {
        display: none;
    }

    .search-pager {
        justify-content: center;
        padding: 0;
        gap: 8px;
        margin-top: 14px;
    }
    .search-pager button,
    .search-pager .page-info {
        min-width: var(--control-lg);
        min-height: var(--control-lg);
        padding: 0 12px;
        font-size: var(--font-base);
        font-weight: 500;
    }
    .search-pager button.search-pager__nav {
        flex: 1 1 136px;
        min-width: 132px;
    }
    .search-pager .page-info {
        flex: 1 0 100%;
        min-height: 0;
        padding: 0 0 2px;
        line-height: 1.35;
        display: none !important;
    }

    .selected-preferences-container {
        min-height: 40px;
        padding: 8px 9px;
    }
    .search-input,
    .search-select {
        min-height: var(--control-xl);
        border-radius: var(--radius-xl);
    }
    .search-grid,
    .advanced-fields.show,
    .interests-online-section {
        gap: 12px;
    }
    .search-results-toolbar {
        top: var(--header-height, 56px);
        margin: 10px -10px 12px;
        padding: 8px 10px;
    }
    .search-toolbar-filter {
        min-height: 38px;
        padding-inline: 13px;
    }

    .search-page {
        padding: 16px 10px 28px;
        overflow-x: hidden;
    }
    .search-pager button,
    .search-pager .page-info {
        font-weight: 500;
    }

    .quick-profile__panel {
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        max-height: min(92dvh, 760px);
        border-radius: 22px 22px 0 0;
        transform: translateY(100%);
    }
    .quick-profile.is-open .quick-profile__panel {
        transform: translateY(0);
    }
    .quick-profile__top {
        padding: 16px 16px 10px;
    }
    .quick-profile__hero--v4 {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 11px;
        padding-right: 34px;
    }
    .quick-profile__hero--v4 .quick-profile__avatar {
        width: 50px;
        height: 50px;
        font-size: var(--font-3xl);
    }
    .quick-profile__scroll {
        padding: 10px 16px;
    }
    .quick-profile__composer {
        padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    }
    .quick-profile__composer-tools {
        gap: 6px;
    }
    .quick-profile__template-btn,
    .quick-profile__gift-toggle {
        flex: 1 1 0;
        padding-inline: 9px;
    }
    .quick-profile__template-list,
    .quick-profile__gift-box {
        left: 16px;
        right: 16px;
        max-height: min(280px, 42dvh);
    }
    .quick-profile__gift-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }
    .quick-profile__gift-btn {
        min-height: 62px;
        border-radius: var(--radius-xl);
    }
    .quick-profile__gift-emoji {
        font-size: 22px;
    }
    .quick-profile__message-row {
        grid-template-columns: minmax(0, 1fr) 46px;
    }
    .quick-profile__send {
        width: 46px;
        padding: 0;
        border-radius: 15px;
    }
    .quick-profile__send span {
        display: none;
    }
    .quick-profile__textarea {
        min-height: 72px;
        max-height: 132px;
    }
    .quick-profile__fact--location .quick-profile__lang-chip {
        margin-left: 0;
    }

    @media (hover: hover) {
        .chat-list-item:hover {
            transform: translateY(-1px);
        }
    }
}

/* ===== Small Mobile — 640px ===== */
@media (max-width: 640px) {
    .search-page {
        padding: 14px 8px 26px;
    }
    .search-title {
        font-size: 1.45rem;
    }
    .view-toggle,
    .search-results .cards-view {
        display: none !important;
    }
    .search-results {
        margin-top: 10px;
    }
    .search-results .table-view {
        display: block !important;
        overflow: visible;
    }

    .results-table,
    .results-table tbody,
    .results-table tr,
    .results-table td {
        display: block;
        width: 100%;
    }
    .results-table {
        background: var(--color-transparent);
        border-radius: 0;
        box-shadow: none;
        border-collapse: separate;
        border-spacing: 0;
        overflow: visible;
        margin-bottom: 14px;
    }
    .results-table thead {
        display: none;
    }

    .results-table tr.search-result-row {
        position: relative;
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        grid-template-rows: auto auto auto;
        column-gap: 7px;
        row-gap: 2px;
        align-items: center;
        min-height: 60px;
        margin-bottom: 8px;
        padding: 9px 10px;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-xl);
        box-shadow: 0 4px 14px var(--color-text-main-alpha-06);
        cursor: pointer;
        animation: searchRowIn .18s ease both;
        transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    }
    .results-table tr.search-result-row:active {
        transform: scale(.985);
        box-shadow: 0 1px 2px var(--color-text-main-alpha-08);
    }
    .results-table tr.search-result-row:hover {
        background: var(--color-white);
        border-color: var(--color-info-alpha-30);
        box-shadow: 0 4px 14px var(--color-text-main-alpha-06);
    }

    .results-table td {
        min-width: 0;
        padding: 0;
        border: 0;
        line-height: 1.25;
    }
    .results-table td:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1;
        min-width: 0;
    }
    .results-table td:nth-child(2) {
        display: none !important;
    }
    .results-table td:nth-child(3) {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        align-self: center;
        width: auto;
        max-width: 46vw;
        overflow: visible;
        display: flex;
        justify-content: flex-end;
    }
    .results-table td:nth-child(4) {
        grid-column: 2 / -1;
        grid-row: 2;
        font-size: var(--font-sm);
        color: var(--color-text-main);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .results-table td:nth-child(5) {
        grid-column: 2 / -1;
        grid-row: 3;
        font-size: var(--font-xs);
        color: var(--color-text-muted);
        overflow: visible;
    }
    .results-table td:nth-child(5) .interests-container {
        max-height: none;
        overflow: visible;
        cursor: pointer;
    }
    .interests-preview,
    .interests-full {
        line-height: 1.22;
    }
    .pref-txt,
    .pref-more {
        font-size: var(--font-xs);
        line-height: 1.22;
    }

    .name-cell {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 7px;
        align-items: center;
        width: 100%;
        min-width: 0;
    }
    .search-table-avatar-wrap {
        position: relative;
        width: 30px;
        height: 30px;
        min-width: 30px;
        flex: 0 0 30px;
        align-self: center;
        outline: none !important;
        overflow: visible;
    }
    .search-table-avatar,
    .search-table-avatar--placeholder {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }
    .search-table-avatar-wrap.is-online::after {
        content: '';
        position: absolute;
        right: -1px;
        bottom: -1px;
        width: 8px;
        height: 8px;
        border-radius: var(--radius-round);
        background: var(--color-online, var(--color-success));
        border: 2px solid var(--color-white);
        box-shadow: 0 0 0 1px var(--color-success-alpha-20);
        z-index: 2;
    }

    .search-name-wrap {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 5px;
        min-width: 0;
        max-width: 100%;
        line-height: 1.1;
    }
    .user-name {
        display: inline-block;
        max-width: min(52vw, 190px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: var(--font-md);
        font-weight: 700;
    }
    .search-inline-age {
        display: inline-flex !important;
        flex: 0 0 auto;
        color: var(--color-text-main);
        font-size: var(--font-sm);
        font-weight: 600;
        line-height: 1;
        white-space: nowrap;
    }
    .search-match-mini {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        margin-left: 1px;
        font-size: var(--font-2xs);
        line-height: 1;
        cursor: default;
        transform: none;
        min-width: auto;
        min-height: auto;
        padding: 0 6px;
    }
    .user-risk,
    .search-status-inline,
    .search-status-inline .status-icon {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        margin-left: 0;
        font-size: var(--font-sm);
        line-height: 1;
        cursor: default;
    }
    .search-status-inline {
        gap: 4px;
    }
    .looking-for-icons {
        display: inline-flex;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: nowrap;
        gap: 4px;
    }
    .looking-icon {
        font-size: var(--font-base);
    }
    .meet-flag {
        display: none;
    }
    .looking-age {
        display: inline-flex;
        margin-left: 4px;
        font-size: var(--font-xs);
        color: var(--color-text-muted);
        white-space: nowrap;
    }
    .country-flag {
        min-width: 0;
        margin-right: 2px;
        font-size: var(--font-md);
    }
    .profile-badge-icons {
        gap: 3px;
        margin-left: 2px;
        flex: 0 0 auto;
    }

    .advanced-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        margin: 10px 0 8px;
        padding: 10px 0 12px;
        border-bottom: 1px solid var(--color-border);
        border-radius: 0;
        background: var(--color-transparent);
    }
    .advanced-toggle:hover {
        background: var(--color-transparent);
    }

    .interests-online-section {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
    .interests-online-grid,
    .interests-filter-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .interests-column {
        min-width: 0;
        gap: 8px;
    }

    .advanced-label {
        display: flex;
        align-items: center;
        gap: 7px;
        margin: 0 0 6px;
        font-size: var(--font-md);
        line-height: 1.25;
    }
    .advanced-label i {
        margin-right: 0;
        width: 16px;
        flex: 0 0 16px;
    }
    .pref-input-container {
        margin-bottom: 6px;
    }
    .selected-preferences-container {
        min-height: 34px;
        padding: 7px 8px;
        margin-top: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .search-submit-row {
        margin-top: 12px;
    }
    .search-submit-row .search-button {
        width: 100%;
        min-width: 0;
    }
    .search-looking-meta {
        justify-content: flex-end;
        gap: 6px;
    }
    .search-looking-meta .looking-for-icons {
        display: inline-flex !important;
        align-items: center;
        justify-content: flex-end;
    }
    .search-looking-meta .looking-age {
        font-size: var(--font-xs);
    }

    .search-results-toolbar {
        margin-inline: -8px;
        padding-inline: 10px;
    }

    .search-pager {
        gap: 8px;
        justify-content: space-between;
        padding: 0 4px;
    }
    .search-pager button,
    .search-pager .page-info {
        min-width: var(--control-xl);
        min-height: var(--control-xl);
        padding: 12px 14px;
        font-size: var(--font-base);
    }
    .search-pager .page-info {
        flex: 1 1 auto;
        text-align: center;
    }
    .search-pager button.search-pager__nav {
        flex: 1 1 118px;
        min-width: 118px;
    }

    .no-results {
        padding: 34px 16px;
        border-radius: var(--radius-2xl);
    }

    .quick-profile__panel {
        border-radius: 22px 22px 0 0;
    }
    .quick-profile__body {
        padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
    }
    .quick-profile__hero--v2 {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 11px;
    }
    .quick-profile__hero--v2 .quick-profile__avatar {
        width: 52px;
        height: 52px;
        font-size: var(--font-3xl);
    }
    .quick-profile__title-row h2 {
        font-size: var(--font-3xl);
    }
    .quick-profile__match-compact {
        grid-template-columns: 1fr;
    }
    .quick-profile__actions {
        grid-template-columns: 1fr;
    }

    .results-table tbody tr.search-result-row.is-viewed {
        opacity: .72;
    }
}

/* ===== Extra Small Mobile — 480px ===== */
@media (max-width: 480px) {
    .search-page {
        padding: 15px 10px;
    }
    .search-title {
        font-size: 1.5rem;
    }
    .results-table {
        font-size: var(--font-xs);
    }
    .results-table th,
    .results-table td {
        padding: 8px 10px;
    }
    .name-cell {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .looking-for-icons {
        flex-wrap: wrap;
        gap: 4px;
    }
    .meet-filter-fields {
        padding: 12px;
    }
    .quick-date-btn-icon {
        width: var(--control-xs);
        height: var(--control-xs);
    }
    .quick-date-btn-icon i {
        font-size: var(--font-sm);
    }
    .map-btn {
        padding: 8px 12px;
        font-size: var(--font-md);
    }
    .radius-input {
        width: 60px !important;
        padding: 6px 8px !important;
    }
    .quick-profile__textarea {
        min-height: 72px;
        max-height: 132px;
    }
    .quick-profile__fact--location .quick-profile__lang-chip {
        margin-left: 0;
    }
}

/* ===== Desktop — 769px+ ===== */
@media (min-width: 769px) {
    .search-form {
        background: var(--color-white-alpha-70);
        border: 1px solid var(--color-border-strong-alpha-20);
        box-shadow: 0 10px 30px var(--color-text-main-alpha-05);
        padding: 18px;
    }
    .advanced-fields {
        margin-top: 18px;
    }
    .advanced-fields.show {
        border-top: 1px solid var(--color-border-strong-alpha-20);
    }
    .search-toolbar-filter {
        min-height: var(--control-md);
        padding-inline: 16px;
    }
}

/* ================================
   COMPATIBILITY PRESENTATION
================================ */
.search-match-mini {
    gap: 4px;
    opacity: 1;
    min-width: 0;
}

.search-match-mini__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.search-match-mini.is-ideal,
.quick-profile__score--inline.is-ideal { color: #c2185b; background: #fce4ec; }
.search-match-mini.is-high,
.quick-profile__score--inline.is-high { color: var(--color-danger); background: var(--color-danger-soft); }
.search-match-mini.is-medium,
.quick-profile__score--inline.is-medium { color: #8a6800; background: #fff8d6; }
.search-match-mini.is-low,
.quick-profile__score--inline.is-low { color: #a64b00; background: #fff0df; }
.search-match-mini.is-incompatible,
.quick-profile__score--inline.is-incompatible { color: var(--color-text-muted); background: var(--color-bg-soft); }

.quick-profile__avatar-wrap.is-online::after {
    z-index: 4;
    box-shadow: 0 0 0 1px var(--color-success-alpha-20);
}

/* ================================
   COMPATIBILITY MINI — ICON ONLY
================================ */
.search-match-mini--icon-only {
    min-width: 1.75rem;
    justify-content: center;
    padding-inline: 0.3rem;
}

.search-match-mini--icon-only .search-match-mini__icon {
    margin: 0;
}

.quick-profile__profile-link {
    min-height: 38px;
    padding: 0 14px;
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
    font-weight: 900;
    box-shadow: 0 10px 22px var(--color-primary-alpha-20);
}

.quick-profile__profile-link:hover {
    color: var(--color-white);
}

/* ================================
   MOBILE QUICK-PROFILE OVERRIDES
================================ */
@media (max-width: 768px) {
    .search-page.is-filter-open .search-submit-row,
    .search-page.is-filter-open .search-button {
        position: fixed;
        left: 18px;
        right: 18px;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px));
        z-index: 10030;
    }

    .search-page.is-filter-open .search-button {
        width: calc(100vw - 36px);
        box-shadow: 0 12px 28px var(--color-text-main-alpha-20);
    }

    .search-page.is-filter-open .search-form {
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    }

    .quick-profile__profile-link {
        width: 100%;
        justify-content: center;
        min-height: 44px;
        font-size: var(--font-base);
    }

    .quick-profile__composer {
        padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    }

    .quick-profile__panel {
        max-height: 94dvh;
    }

    .quick-profile__scroll {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        max-height: 32dvh;
    }

    .quick-profile__prefs--all {
        max-height: 112px;
        overflow-y: auto;
        padding-right: 2px;
        -webkit-overflow-scrolling: touch;
    }

    .quick-profile__composer-tools,
    .quick-profile__message-row {
        flex-shrink: 0;
    }

    .quick-profile__gift-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .quick-profile__textarea {
        min-height: 88px;
        max-height: 120px;
    }
}

/* ================================
   DISCOVERY HIGHLIGHTS
================================ */
.discovery-card-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 2px;
}

.discovery-card-highlight {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid rgba(127, 127, 127, .22);
    border-radius: 999px;
    background: rgba(127, 127, 127, .08);
    font-size: .78rem;
    line-height: 1.2;
    white-space: nowrap;
}

.discovery-card-highlight i {
    opacity: .75;
}

/* ================================
   FILTER PRESETS
================================ */
.search-filter-preset-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    padding: .55rem .85rem;
    background: var(--color-white);
    cursor: pointer;
}

.search-filter-preset-btn.is-saved {
    transform: scale(.98);
    opacity: .75;
}

.search-distance-control select {
    min-width: 150px;
}

@media (max-width: 720px) {
    .search-distance-control {
        width: 100%;
    }
    .search-distance-control select {
        width: 100%;
    }
}

/* ================================
   STABILIZATION PATCHES
================================ */
.search-grid {
    align-items: stretch;
}

.search-grid > .search-field:last-child {
    display: flex;
    align-items: flex-end;
}

.search-grid > .search-field:last-child .search-button {
    width: 100%;
    margin-top: auto;
}

.user-card-interests strong {
    font-weight: 400;
}

.quick-profile__prefs--all span {
    font-weight: 400;
}

.quick-profile__template-btn,
.quick-profile__gift-toggle {
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border-radius: 50%;
}

.quick-profile__message-row {
    align-items: stretch;
}

.quick-profile__send {
    align-self: stretch;
    position: sticky;
    bottom: 0;
}

@media (max-width: 720px) {
    .quick-profile__composer {
        position: sticky;
        bottom: 0;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
    }
    .quick-profile__message-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .quick-profile__textarea {
        min-height: 96px;
        max-height: 34vh;
    }
    .quick-profile__send {
        min-width: 48px;
        padding-inline: 12px;
    }
    .quick-profile__send span {
        display: none;
    }
}

/* ================================
   RC1-07 QUICK PROFILE MOBILE ACTIONS
================================ */
.quick-profile__composer-head {
    justify-content: flex-end;
}

.quick-profile__composer-tools {
    position: absolute;
    right: 22px;
    top: -48px;
    margin: 0;
}

.quick-profile__template-btn,
.quick-profile__gift-toggle {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border-radius: 50%;
}

@media (max-width: 640px) {
    .quick-profile__composer {
        padding-bottom: 14px;
    }
    .quick-profile__composer-tools {
        right: 58px;
        top: -46px;
    }
    .quick-profile__message-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .quick-profile__send {
        width: 100%;
        min-height: 44px;
    }
    .quick-profile__textarea {
        min-height: 96px;
    }
}

/* ================================
   SEARCH PROFILE POLISH 2026-08
================================ */
.quick-profile__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.quick-profile__title-row h2 {
    min-width: 0;
}

.quick-profile__telegram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-telegram);
    font-size: 18px;
    flex: 0 0 auto;
}

.quick-profile__profile-link--top {
    margin-left: auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.quick-profile__profile-link--top span {
    display: none;
}

.quick-profile__fact--looking {
    max-width: 100%;
}

.quick-profile__fact--looking span {
    white-space: normal;
}

.search-table-avatar-wrap,
.user-card-avatar,
.quick-profile__avatar-wrap {
    position: relative;
}

.search-telegram-avatar-badge {
    position: absolute;
    right: -4px;
    bottom: -4px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--color-telegram);
    color: #fff;
    border: 2px solid #fff;
    font-size: 11px;
    box-shadow: 0 2px 7px var(--color-shadow-15);
}

.quick-profile__avatar-wrap .search-telegram-avatar-badge {
    width: 25px;
    height: 25px;
    font-size: 12px;
    right: -5px;
    bottom: 1px;
}

.quick-profile__profile-link--top {
    width: auto !important;
    height: auto !important;
    border-radius: 10px !important;
    padding: 7px 11px !important;
    gap: 6px;
    white-space: nowrap;
    text-decoration: none;
}

.quick-profile__profile-link--top span {
    display: inline !important;
}

/* ================================
   SEARCH UX FOLLOW-UP 2026-08-19
================================ */
.pref-input-container::before {
    content: '⌕' !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1;
    color: var(--color-text-light);
}

.exclude-pref-input-container::before {
    content: '×' !important;
    font-family: inherit !important;
    font-size: 20px !important;
    color: var(--color-danger);
}

.search-telegram-avatar-badge {
    top: 1px !important;
    right: 1px !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--color-telegram) !important;
    font-size: 17px !important;
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 1px 1px var(--color-shadow-15));
    box-shadow: none !important;
}

.quick-profile__avatar-wrap .search-telegram-avatar-badge {
    top: 1px !important;
    right: 1px !important;
    bottom: auto !important;
    font-size: 19px !important;
}

.quick-profile__profile-link--top {
    margin-left: auto !important;
    color: #fff !important;
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.quick-profile__profile-link--top span {
    display: inline !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.quick-profile__fact-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.quick-profile__fact--compact-item {
    min-width: 0;
    padding: 7px 8px;
}

.quick-profile__fact--compact-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.status-icon.status-unread,
.status-icon.status-waiting {
    font-size: 13px !important;
    font-weight: 400 !important;
    opacity: .72;
    filter: none !important;
}

.status-unread {
    color: var(--color-info) !important;
}
.status-waiting {
    color: var(--color-text-muted) !important;
}

@media (max-width: 640px) {
    .quick-profile__fact-row {
        grid-template-columns: 1fr;
    }
    .quick-profile__profile-link--top {
        margin-left: auto !important;
        width: auto !important;
        min-height: 36px !important;
    }
}

/* ================================
   TELEGRAM PLANE — NO BACKING CIRCLE
================================ */
.search-telegram-avatar-badge {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    width: 18px !important;
    height: 18px !important;
    color: var(--color-telegram) !important;
    top: -7px !important;
    right: -7px !important;
    bottom: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    pointer-events: none;
}

.search-telegram-avatar-badge svg {
    display: block;
    width: 18px;
    height: 18px;
}

.quick-profile__avatar-wrap .search-telegram-avatar-badge {
    width: 20px !important;
    height: 20px !important;
    top: -8px !important;
    right: -8px !important;
}

.quick-profile__avatar-wrap .search-telegram-avatar-badge svg {
    width: 20px;
    height: 20px;
}

/* ================================
   PREVIEW/CARD REFINEMENTS 2026-08-19
================================ */
.quick-profile__head {
    flex: 1 1 auto;
    min-width: 0;
}

.quick-profile__title-row {
    width: 100%;
}

.quick-profile__profile-link--top {
    margin-left: auto !important;
}

.quick-profile__fact-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
}

.quick-profile__fact--compact-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100%;
    padding: 7px 10px;
}

.quick-profile__fact--compact-item span {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.quick-profile__prefs--all span.is-shared {
    border-color: var(--color-primary) !important;
    background: var(--color-primary-light) !important;
    color: var(--color-primary) !important;
}

.quick-profile__message-row {
    align-items: flex-end;
}

.quick-profile__textarea-wrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.quick-profile__textarea {
    width: 100%;
    padding-bottom: 48px !important;
}

.quick-profile__composer-tools--inside {
    position: absolute;
    left: 10px;
    bottom: 9px;
    margin: 0 !important;
    z-index: 2;
}

.quick-profile__emoji-btn,
.quick-profile__template-btn,
.quick-profile__gift-toggle {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 9px !important;
    font-weight: 600 !important;
    color: var(--color-text-muted) !important;
}

.quick-profile__emoji-btn {
    font-size: 21px !important;
}

.quick-profile__template-btn:hover,
.quick-profile__gift-toggle:hover,
.quick-profile__emoji-btn:hover {
    background: var(--color-bg-page) !important;
    color: var(--color-primary) !important;
}

.quick-profile__emoji-list {
    position: absolute;
    left: 8px;
    bottom: 48px;
    z-index: 25;
    width: min(300px, calc(100vw - 70px));
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px var(--color-shadow-15);
}

.quick-profile__emoji-list[hidden] {
    display: none !important;
}

.quick-profile__emoji-list button {
    border: 0;
    background: transparent;
    border-radius: 8px;
    font-size: 21px;
    padding: 5px;
    cursor: pointer;
}

.quick-profile__emoji-list button:hover {
    background: var(--color-bg-page);
}

.quick-profile__send {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.search-table-avatar-wrap .search-telegram-avatar-badge {
    width: 14px !important;
    height: 14px !important;
    top: 1px !important;
    right: -4px !important;
}

.search-table-avatar-wrap .search-telegram-avatar-badge svg {
    width: 14px !important;
    height: 14px !important;
}

.user-card-avatar .search-telegram-avatar-badge {
    width: 16px !important;
    height: 16px !important;
    top: 1px !important;
    right: -4px !important;
}

.user-card-avatar .search-telegram-avatar-badge svg {
    width: 16px !important;
    height: 16px !important;
}

.search-demo-avatar-badge {
    position: absolute;
    left: -5px;
    top: -5px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 17px;
    padding: 0 5px;
    border-radius: 5px;
    background: var(--color-demo-badge, #6f5bd3);
    color: #fff;
    border: 2px solid #fff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    box-shadow: 0 2px 7px var(--color-shadow-15);
    pointer-events: none;
    /* ДОБАВИТЬ: */
    opacity: 1 !important;
    visibility: visible !important;
}

.quick-profile__avatar-wrap .search-demo-avatar-badge {
    left: -8px;
    top: -7px;
    min-width: 38px;
    height: 18px;
    font-size: 9px;
}

/* ================================
   COMPACT QUICK-PROFILE COMPOSER
================================ */
.quick-profile__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.quick-profile__title-row h2 {
    margin: 0;
    min-width: 0;
    flex: 0 1 auto;
}

.quick-profile__profile-link--top {
    margin-left: auto !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    line-height: 1 !important;
}

.quick-profile__message-row {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.quick-profile__textarea-wrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.quick-profile__textarea {
    min-height: 96px !important;
    padding: 14px 14px 48px !important;
    border-radius: 14px !important;
}

.quick-profile__composer-tools--inside {
    position: absolute !important;
    left: 10px !important;
    right: auto !important;
    bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
}

.quick-profile__emoji-btn,
.quick-profile__template-btn,
.quick-profile__gift-toggle {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.quick-profile__emoji-btn {
    font-size: 21px !important;
    line-height: 1 !important;
}

.quick-profile__template-btn i,
.quick-profile__gift-toggle i {
    font-size: 15px !important;
}

.quick-profile__send {
    min-width: 106px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.quick-profile__send i {
    font-size: 14px !important;
}

@media (max-width: 640px) {
    .quick-profile__message-row {
        gap: 8px;
    }
    .quick-profile__send {
        min-width: 94px !important;
        padding: 0 11px !important;
    }
}

/* ================================
   EXACT QUICK-PREVIEW ALIGNMENT
================================ */
.quick-profile__hero--v4 {
    position: relative;
    padding-right: 128px !important;
}

.quick-profile__head {
    min-width: 0;
}

.quick-profile__title-row {
    width: auto !important;
}

.quick-profile__profile-link--top {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
}

.quick-profile__textarea-wrap {
    position: relative !important;
    width: 100% !important;
}

.quick-profile__textarea {
    width: 100% !important;
    min-height: 118px !important;
    padding: 14px 124px 50px 14px !important;
    box-sizing: border-box !important;
}

.quick-profile__composer-tools--inside {
    position: absolute !important;
    left: 10px !important;
    bottom: 8px !important;
    z-index: 4 !important;
}

.quick-profile__send--inside {
    position: absolute !important;
    right: 10px !important;
    bottom: 8px !important;
    z-index: 4 !important;
    width: auto !important;
    min-width: 106px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

@media (max-width: 640px) {
    .quick-profile__hero--v4 {
        padding-right: 106px !important;
    }
    .quick-profile__profile-link--top {
        padding: 0 10px !important;
        height: 36px !important;
        min-height: 36px !important;
    }
    .quick-profile__textarea {
        padding-right: 108px !important;
    }
    .quick-profile__send--inside {
        min-width: 92px !important;
        padding: 0 10px !important;
    }
}

/* ================================
   COMPACT LOCATION/SEARCH ROWS
================================ */
.quick-profile__location,
.quick-profile__seeking {
    width: fit-content !important;
    max-width: 100% !important;
    padding-right: 18px !important;
}

.quick-profile__modal,
.quick-profile__card {
    box-sizing: border-box !important;
}

.quick-profile__composer {
    width: 100% !important;
    box-sizing: border-box !important;
}

.quick-profile__textarea-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
}

.quick-profile__send--inside {
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .quick-profile__modal,
    .quick-profile__card {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin: 8px !important;
        border-radius: 18px !important;
        overflow-x: hidden !important;
    }
    .quick-profile__hero--v4 {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 14px 12px !important;
    }
    .quick-profile__avatar {
        grid-column: 1 !important;
    }
    .quick-profile__head {
        grid-column: 2 !important;
        min-width: 0 !important;
    }
    .quick-profile__profile-link--top {
        grid-column: 3 !important;
        position: static !important;
        transform: none !important;
        align-self: center !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }
    .quick-profile__location,
    .quick-profile__seeking {
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .quick-profile__composer {
        padding: 12px !important;
        display: block !important;
    }
    .quick-profile__textarea {
        min-height: 132px !important;
        padding: 12px 104px 48px 12px !important;
    }
    .quick-profile__composer-tools--inside {
        left: 8px !important;
        bottom: 7px !important;
    }
    .quick-profile__send--inside {
        right: 8px !important;
        bottom: 7px !important;
        min-width: 88px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 390px) {
    .quick-profile__hero--v4 {
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        padding: 12px 10px !important;
        gap: 8px !important;
    }
    .quick-profile__profile-link--top span {
        display: none !important;
    }
    .quick-profile__profile-link--top {
        width: 34px !important;
        padding: 0 !important;
    }
}

/* ================================
   PREVIEW/CARD REFINEMENTS (повторно)
================================ */
.quick-profile__head {
    flex: 1 1 auto;
    min-width: 0;
}

.quick-profile__title-row {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
}

.quick-profile__title-row h2 {
    margin: 0;
    min-width: 0;
    flex: 0 1 auto;
    font-size: 23px;
    line-height: 1.1;
    color: var(--color-text-main);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-profile__profile-link--top {
    margin-left: auto !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    line-height: 1 !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 0 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    gap: 6px !important;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
    box-shadow: 0 4px 14px var(--color-shadow-15);
    white-space: nowrap !important;
}

.quick-profile__profile-link--top:hover {
    background: var(--color-primary-dark) !important;
    transform: translateY(-1px);
}

.quick-profile__profile-link--top span {
    display: inline !important;
    color: #fff !important;
}

.quick-profile__fact-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
}

.quick-profile__fact--compact-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100%;
    padding: 7px 10px;
}

.quick-profile__fact--compact-item span {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.quick-profile__prefs--all span.is-shared {
    border-color: var(--color-primary) !important;
    background: var(--color-primary-light) !important;
    color: var(--color-primary) !important;
}

/* ================================
   QUICK PROFILE — COMPOSER WITH EMOJI
================================ */
.quick-profile__message-row {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-end !important;
    position: relative !important;
    width: 100% !important;
}

.quick-profile__textarea-wrap {
    position: relative !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
}

.quick-profile__textarea {
    width: 100% !important;
    min-height: 96px !important;
    padding: 14px 120px 52px 14px !important;
    border-radius: 14px !important;
    border: 1px solid var(--color-border) !important;
    background: var(--color-bg-page) !important;
    color: var(--color-text-main) !important;
    font: inherit !important;
    font-size: var(--font-md) !important;
    line-height: 1.4 !important;
    resize: vertical !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.quick-profile__textarea:focus {
    background: var(--color-white) !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px var(--color-info-alpha-10) !important;
}

.quick-profile__composer-tools--inside {
    position: absolute !important;
    left: 10px !important;
    bottom: 10px !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.quick-profile__emoji-btn,
.quick-profile__template-btn,
.quick-profile__gift-toggle {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--color-text-muted) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    line-height: 1 !important;
}

.quick-profile__emoji-btn:hover,
.quick-profile__template-btn:hover,
.quick-profile__gift-toggle:hover {
    background: var(--color-bg-page) !important;
    color: var(--color-primary) !important;
}

.quick-profile__emoji-btn {
    font-size: 22px !important;
    line-height: 1 !important;
}

.quick-profile__template-btn i,
.quick-profile__gift-toggle i {
    font-size: 16px !important;
}

.quick-profile__send--inside {
    position: absolute !important;
    right: 10px !important;
    bottom: 10px !important;
    z-index: 10 !important;
    width: auto !important;
    min-width: 100px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    border: 0 !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
    box-shadow: 0 4px 12px var(--color-shadow-15);
    white-space: nowrap !important;
    line-height: 1 !important;
}

.quick-profile__send--inside:hover {
    background: var(--color-primary-dark) !important;
    transform: scale(1.02);
}

.quick-profile__send--inside:active {
    transform: scale(0.96);
}

.quick-profile__send--inside i {
    font-size: 14px !important;
}

.quick-profile__send--inside span {
    display: inline !important;
}

/* ================================
   EMOJI POPUP
================================ */
.quick-profile__emoji-list {
    position: absolute !important;
    left: 10px !important;
    bottom: calc(100% + 8px) !important;
    z-index: 99999 !important;
    width: min(320px, calc(100vw - 40px)) !important;
    max-height: 260px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: grid !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 4px !important;
    padding: 10px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 40px var(--color-shadow-15) !important;
    transform-origin: bottom left !important;
    animation: emojiPopupIn 0.15s ease forwards !important;
}

.quick-profile__emoji-list[hidden] {
    display: none !important;
}

.quick-profile__emoji-list button {
    border: 0 !important;
    background: transparent !important;
    border-radius: 8px !important;
    font-size: 24px !important;
    padding: 6px 4px !important;
    cursor: pointer !important;
    transition: background 0.1s ease, transform 0.1s ease;
    line-height: 1.2 !important;
}

.quick-profile__emoji-list button:hover {
    background: var(--color-bg-page) !important;
    transform: scale(1.15) !important;
}

.quick-profile__template-list,
.quick-profile__gift-box {
    position: absolute !important;
    left: 10px !important;
    bottom: calc(100% + 8px) !important;
    z-index: 99999 !important;
    max-height: min(280px, 40dvh) !important;
    overflow: auto !important;
    padding: 10px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 40px var(--color-shadow-15) !important;
    min-width: 200px !important;
    max-width: calc(100vw - 40px) !important;
}

.quick-profile__template-list[hidden],
.quick-profile__gift-box[hidden] {
    display: none !important;
}

.quick-profile__gift-list {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
}

.quick-profile__gift-btn {
    min-height: 60px !important;
    padding: 6px 4px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

.quick-profile__gift-btn:hover {
    background: var(--color-bg-page) !important;
    border-color: var(--color-primary) !important;
    transform: translateY(-2px) !important;
}

.quick-profile__gift-emoji {
    font-size: 28px !important;
    line-height: 1 !important;
}

.quick-profile__gift-title {
    font-size: 10px !important;
    color: var(--color-text-muted) !important;
    font-weight: 600 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    width: 100% !important;
    text-align: center !important;
}

.quick-profile__gift-btn {
    position: relative !important;
}
.quick-profile__gift-price {
    position: absolute !important;
    top: 3px !important;
    right: 4px !important;
    z-index: 1 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    color: var(--color-text) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

/* ================================
   MOBILE OVERRIDES (≤640px)
================================ */
@media (max-width: 640px) {
    .quick-profile__textarea {
        min-height: 120px !important;
        padding: 12px 96px 48px 12px !important;
        font-size: 15px !important;
    }

    .quick-profile__composer-tools--inside {
        left: 8px !important;
        bottom: 8px !important;
        gap: 2px !important;
    }

    .quick-profile__emoji-btn,
    .quick-profile__template-btn,
    .quick-profile__gift-toggle {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
    }

    .quick-profile__emoji-btn {
        font-size: 20px !important;
    }

    .quick-profile__template-btn i,
    .quick-profile__gift-toggle i {
        font-size: 14px !important;
    }

    .quick-profile__send--inside {
        right: 8px !important;
        bottom: 8px !important;
        min-width: 80px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }

    .quick-profile__send--inside i {
        font-size: 13px !important;
    }

    .quick-profile__profile-link--top {
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
        box-shadow: 0 6px 20px var(--color-shadow-15) !important;
    }

    .quick-profile__hero--v4 {
        display: grid !important;
        grid-template-columns: 50px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 12px 14px !important;
    }

    .quick-profile__head {
        min-width: 0 !important;
    }

    .quick-profile__title-row h2 {
        font-size: 18px !important;
    }

    .quick-profile__emoji-list {
        width: min(280px, calc(100vw - 32px)) !important;
        max-height: 220px !important;
        grid-template-columns: repeat(7, 1fr) !important;
        left: 8px !important;
        padding: 8px !important;
    }

    .quick-profile__emoji-list button {
        font-size: 22px !important;
        padding: 4px 2px !important;
    }

    .quick-profile__gift-list {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .quick-profile__template-list,
    .quick-profile__gift-box {
        left: 8px !important;
        max-width: calc(100vw - 32px) !important;
    }

    @media (max-width: 400px) {
        .quick-profile__profile-link--top span {
            display: none !important;
        }
        .quick-profile__profile-link--top {
            width: 42px !important;
            min-width: 42px !important;
            padding: 0 !important;
            justify-content: center !important;
        }
        .quick-profile__profile-link--top i {
            font-size: 18px !important;
            margin: 0 !important;
        }
        .quick-profile__send--inside span {
            display: none !important;
        }
        .quick-profile__send--inside {
            min-width: 44px !important;
            padding: 0 10px !important;
        }
        .quick-profile__send--inside i {
            font-size: 16px !important;
        }
        .quick-profile__emoji-list {
            grid-template-columns: repeat(6, 1fr) !important;
            max-height: 180px !important;
        }
        .quick-profile__emoji-list button {
            font-size: 20px !important;
        }
    }
}

@media (max-width: 380px) {
    .quick-profile__hero--v4 {
        grid-template-columns: 40px minmax(0, 1fr) auto !important;
        gap: 8px !important;
        padding: 10px 10px !important;
    }

    .quick-profile__title-row h2 {
        font-size: 16px !important;
    }

    .quick-profile__profile-link--top {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
        border-radius: 10px !important;
    }

    .quick-profile__textarea {
        min-height: 100px !important;
        padding: 10px 80px 44px 10px !important;
        font-size: 14px !important;
    }

    .quick-profile__send--inside {
        min-width: 38px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 8px !important;
        font-size: 12px !important;
        right: 6px !important;
        bottom: 6px !important;
    }

    .quick-profile__emoji-btn,
    .quick-profile__template-btn,
    .quick-profile__gift-toggle {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 14px !important;
    }

    .quick-profile__emoji-btn {
        font-size: 17px !important;
    }

    .quick-profile__emoji-list {
        grid-template-columns: repeat(5, 1fr) !important;
        max-height: 160px !important;
        padding: 6px !important;
    }

    .quick-profile__emoji-list button {
        font-size: 18px !important;
        padding: 3px 1px !important;
    }
}

/* Search finishing pass: Telegram marker + composer popup alignment. */
.search-table-avatar-wrap .search-telegram-avatar-badge,
.user-card-avatar .search-telegram-avatar-badge {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#229ED9 !important;
    z-index:5 !important;
}
.search-table-avatar-wrap .search-telegram-avatar-badge {
    right:-7px !important;
    top:-6px !important;
    width:15px !important;
    height:15px !important;
}
.search-table-avatar-wrap .search-telegram-avatar-badge svg {
    width:13px !important;
    height:13px !important;
}
.quick-profile__composer-tools--inside {
    bottom:3px !important;
}
.quick-profile__emoji-list {
    left:8px !important;
    right:auto !important;
    bottom:42px !important;
    width:min(320px, calc(100vw - 42px)) !important;
    padding:9px 18px 9px 9px !important;
    transform:none !important;
}
@media(max-width:640px){
    .quick-profile__composer-tools--inside { bottom:2px !important; }
    .quick-profile__emoji-list {
        left:6px !important;
        bottom:39px !important;
        width:min(300px, calc(100vw - 36px)) !important;
        padding-right:16px !important;
    }
}


/* Popovers are anchored to the composer controls, not to the whole modal. */
.quick-profile__textarea {
    display:block !important;
}
.quick-profile__textarea-wrap {
    display:block !important;
    position:relative !important;
}
.quick-profile__composer-tools--inside {
    bottom:0 !important;
    transform:translateY(-2px) !important;
}
.quick-profile__template-list,
.quick-profile__gift-box,
.quick-profile__emoji-list {
    left:8px !important;
    right:auto !important;
    bottom:38px !important;
    width:min(340px, calc(100% - 16px)) !important;
    max-width:calc(100% - 16px) !important;
    box-sizing:border-box !important;
}
.quick-profile__template-list {
    padding:8px 12px !important;
}
.quick-profile__gift-box {
    padding:8px 12px !important;
}
.quick-profile__emoji-list {
    padding:9px 18px 9px 9px !important;
}
.quick-profile__gift-box[hidden],
.quick-profile__gift-list[hidden],
.quick-profile__template-list[hidden],
.quick-profile__emoji-list[hidden] {
    display:none !important;
}
.quick-profile__gift-box:empty {
    display:none !important;
}

@media(max-width:640px){
    .quick-profile__composer-tools--inside {
        bottom:0 !important;
        transform:translateY(-1px) !important;
    }
    .quick-profile__template-list,
    .quick-profile__gift-box,
    .quick-profile__emoji-list {
        left:6px !important;
        bottom:36px !important;
        width:min(315px, calc(100% - 12px)) !important;
        max-width:calc(100% - 12px) !important;
    }
}


/* QUICK PROFILE — final desktop/mobile alignment */
.quick-profile__name-link{color:inherit!important;text-decoration:none!important}
.quick-profile__name-link:hover{color:var(--color-primary)!important}

.quick-profile__textarea-wrap{
    position:relative!important;
    display:flex!important;
    align-items:stretch!important;
}
.quick-profile__textarea{
    display:block!important;
    flex:1 1 auto!important;
    margin:0!important;
}
.quick-profile__composer-tools--inside{
    left:12px!important;right:auto!important;top:auto!important;bottom:8px!important;
    transform:none!important;align-items:center!important
}
.quick-profile__emoji-btn,.quick-profile__template-btn,.quick-profile__gift-toggle{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;line-height:1!important;
    border-radius:50%!important;background:var(--color-white)!important;
    border:1px solid var(--color-border)!important;box-shadow:0 2px 8px var(--color-shadow-10)!important
}
.quick-profile__emoji-btn{font-size:18px!important;line-height:1!important}
.quick-profile__emoji-btn::before{content:none!important}
.quick-profile__send--inside{bottom:8px!important}

.quick-profile__fact--location{align-self:flex-start!important;width:fit-content!important;max-width:100%!important}
.quick-profile__fact-row{width:auto!important;align-self:flex-start!important}
.quick-profile__fact--compact-item{width:fit-content!important;flex:0 1 auto!important}

.quick-profile__avatar-wrap{position:relative!important}
.quick-profile__avatar-wrap.is-online::after{
    right:-2px!important;bottom:1px!important;top:auto!important;width:11px!important;height:11px!important;
    box-sizing:content-box!important;z-index:7!important
}
.quick-profile__avatar-wrap .search-telegram-avatar-badge{
    position:absolute!important;top:-5px!important;right:-6px!important;bottom:auto!important;left:auto!important;
    width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;
    padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;color:#229ED9!important;line-height:1!important;z-index:8!important
}
.quick-profile__avatar-wrap .search-telegram-avatar-badge svg{display:block!important;width:17px!important;height:17px!important}
.quick-profile__template-list,.quick-profile__gift-box,.quick-profile__emoji-list{bottom:50px!important}
.quick-profile__emoji-list{
    top:auto!important;
    max-height:min(250px,calc(100vh - 180px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    padding:10px!important;
}
.quick-profile__emoji-list button{
    min-width:0!important;width:100%!important;aspect-ratio:1!important;
    display:flex!important;align-items:center!important;justify-content:center!important;padding:3px!important;
}

@media(max-width:640px){
    .quick-profile__hero--v4{
        display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;
        column-gap:12px!important;align-items:center!important
    }
    .quick-profile__head{grid-column:2!important;min-width:0!important}
    .quick-profile__profile-link--top{display:none!important}
    .quick-profile__title-row{min-width:0!important;gap:6px!important}
    .quick-profile__title-row h2{
        flex:1 1 auto!important;max-width:100%!important;overflow:visible!important;text-overflow:clip!important
    }
    .quick-profile__name-link{
        display:inline-block!important;max-width:100%!important;color:var(--color-text-main)!important;
        text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important
    }

    .quick-profile__avatar-wrap.is-online::after{
        right:-1px!important;bottom:0!important;width:10px!important;height:10px!important
    }
    .quick-profile__avatar-wrap .search-telegram-avatar-badge{
        top:-4px!important;right:-5px!important;width:15px!important;height:15px!important;
        min-width:15px!important;min-height:15px!important
    }
    .quick-profile__avatar-wrap .search-telegram-avatar-badge svg{width:15px!important;height:15px!important}

    .quick-profile__facts--compact{align-items:flex-start!important}
    .quick-profile__fact--location,.quick-profile__fact--compact-item{
        width:fit-content!important;max-width:100%!important;align-self:flex-start!important
    }
    .quick-profile__fact-row{
        display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
        width:auto!important;max-width:100%!important;align-self:flex-start!important
    }

    .quick-profile__textarea{padding:12px 112px 54px 12px!important}
    .quick-profile__composer-tools--inside{
        left:10px!important;right:auto!important;top:auto!important;bottom:9px!important;
        gap:6px!important;transform:none!important
    }
    .quick-profile__emoji-btn,.quick-profile__template-btn,.quick-profile__gift-toggle{
        width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:50%!important
    }
    .quick-profile__send--inside{
        right:9px!important;bottom:9px!important;min-width:104px!important;height:36px!important;min-height:36px!important;
        padding:0 12px!important
    }
    .quick-profile__send--inside span{display:inline!important}
    .quick-profile__template-list,.quick-profile__gift-box,.quick-profile__emoji-list{bottom:52px!important}
    .quick-profile__emoji-list{
        left:6px!important;width:min(300px,calc(100% - 12px))!important;max-width:calc(100% - 12px)!important;
        max-height:min(220px,calc(100vh - 160px))!important;
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
    }
}
@media(max-width:400px){
    .quick-profile__send--inside span{display:inline!important}
    .quick-profile__send--inside{min-width:100px!important;width:auto!important;padding:0 10px!important}
}
@media(max-width:380px){
    .quick-profile__send--inside span{display:inline!important}
    .quick-profile__send--inside{min-width:94px!important;width:auto!important;right:7px!important;bottom:7px!important}
    .quick-profile__composer-tools--inside{left:8px!important;bottom:7px!important;gap:4px!important}
    .quick-profile__emoji-btn,.quick-profile__template-btn,.quick-profile__gift-toggle{
        width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important
    }
}

/* Mobile search filters: fixed-width safe submit action at the bottom of the sheet. */
@media (max-width: 768px) {
    .search-page.is-filter-open .search-form {
        overflow-x: hidden !important;
        overscroll-behavior: contain;
    }

    .search-page.is-filter-open .search-grid {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .search-page.is-filter-open .search-grid > .search-field,
    .search-page.is-filter-open .search-grid > .age-field {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    .search-page.is-filter-open .search-submit-row {
        position: sticky !important;
        left: 0;
        right: 0;
        bottom: calc(-18px - env(safe-area-inset-bottom));
        z-index: 8;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin:
            10px -14px
            calc(-18px - env(safe-area-inset-bottom)) !important;
        padding:
            10px 14px
            calc(12px + env(safe-area-inset-bottom)) !important;
        background: var(--color-white);
        border-top: 1px solid var(--color-border);
        box-shadow: 0 -10px 24px rgba(0, 0, 0, .08);
        box-sizing: border-box;
    }

    .search-page.is-filter-open .search-submit-row .search-button {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        transform: none !important;
    }

    /* Keep the last editable controls visible above the sticky submit area. */
    .search-page.is-filter-open .search-form {
        padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    }
}



/* Final mobile filter footer: stays inside the filter sheet and never exceeds viewport. */
@media (max-width: 768px) {
  .search-page.is-filter-open .search-form { overflow-x:hidden !important; padding-bottom:0 !important; }
  .search-page.is-filter-open .search-grid { display:block !important; width:100% !important; min-width:0 !important; }
  .search-page.is-filter-open .search-submit-row {
    position:sticky !important; left:auto !important; right:auto !important;
    bottom:calc(-1px - env(safe-area-inset-bottom, 0px)) !important;
    z-index:100 !important; width:100% !important; max-width:100% !important;
    margin:10px 0 0 !important; padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px)) !important;
    box-sizing:border-box !important; background:var(--color-white) !important;
    border-top:1px solid var(--color-border) !important; box-shadow:0 -8px 18px rgba(0,0,0,.07) !important;
  }
  .search-page.is-filter-open .search-submit-row .search-button,
  .search-page.is-filter-open .search-button {
    position:static !important; inset:auto !important; transform:none !important;
    display:flex !important; width:100% !important; max-width:100% !important; min-width:0 !important;
    margin:0 !important; box-sizing:border-box !important;
  }
}
.search-return-focus{outline:3px solid var(--color-primary-alpha-30, rgba(124,58,237,.25));outline-offset:3px;transition:outline-color .25s ease}


/* Mobile quick-profile close belongs in the title row, before the name. */
.quick-profile__mobile-close { display:none; }
@media (max-width: 768px) {
  .quick-profile__close { display:none !important; }
  .quick-profile__hero--v4 { padding-right:0 !important; }
  .quick-profile__title-row { display:flex !important; align-items:center !important; gap:9px !important; min-width:0; }
  .quick-profile__mobile-close {
    display:inline-grid !important; place-items:center; flex:0 0 34px;
    width:34px; height:34px; padding:0; margin:0;
    border:1px solid var(--color-border); border-radius:50%;
    background:var(--color-white); color:var(--color-text-secondary);
    font-size:15px; line-height:1; box-shadow:none; cursor:pointer;
  }
  .quick-profile__title-row h2 { min-width:0; margin:0; }
}


/* Search quick profile: close button belongs in the panel top-right on mobile. */
@media (max-width: 768px) {
    .quick-profile .quick-profile__mobile-close {
        display: none !important;
    }

    .quick-profile .quick-profile__close {
        display: inline-grid !important;
        place-items: center !important;
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        left: auto !important;
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid var(--color-border) !important;
        border-radius: 50% !important;
        background: color-mix(in srgb, var(--color-white) 92%, transparent) !important;
        color: var(--color-text-main) !important;
        box-shadow: 0 3px 12px var(--color-shadow-10) !important;
        font-size: 16px !important;
        z-index: 50 !important;
        touch-action: manipulation !important;
    }

    .quick-profile .quick-profile__hero--v4 {
        padding-right: 48px !important;
    }

    .quick-profile__emoji-btn,
    .quick-profile__emoji-list button {
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent;
    }
}


/* Keep the global mobile header usable while search quick-preview is open. */
@media (max-width: 768px) {
    .quick-profile {
        top: var(--header-height, 56px) !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: auto !important;
    }

    .header {
        position: sticky !important;
        z-index: calc(var(--z-toast) + 2) !important;
    }
}


/* Pass 8: personality archetypes are profile traits, not compatibility. */
.search-archetypes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.search-archetypes span{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid rgba(124,92,255,.18);border-radius:999px;background:rgba(124,92,255,.07);font-size:12px;font-weight:600;line-height:1.15;color:var(--text-color,#332b43)}
.search-archetypes--compact{margin:5px 0 0;gap:4px}
.search-archetypes--compact span{min-height:22px;padding:3px 7px;font-size:11px}
.quick-profile>.search-archetypes,.quick-profile__layout>.search-archetypes{margin:2px 0 12px}
@media (max-width:768px){.search-archetypes{gap:5px;margin-top:6px}.search-archetypes span{font-size:11px;min-height:24px;padding:3px 8px}.user-card-main .search-archetypes--compact{flex-basis:100%;margin-left:0}}


/* Pass 11: compact, user-facing match explanation in quick profile. */
.quick-profile__match-explain{margin:8px 0 12px;padding:10px 12px;border:1px solid rgba(124,92,255,.16);border-radius:14px;background:rgba(124,92,255,.045)}
.quick-profile__match-explain-title{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-color,#332b43)}
.quick-profile__match-explain-title>span{font-size:18px;color:var(--color-primary,#7c5cff);line-height:1}
.quick-profile__match-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.quick-profile__match-reasons span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;background:var(--color-bg-soft,#f7f5fb);font-size:11px;line-height:1.15;color:var(--color-text-muted,#6f687a)}
@media(max-width:768px){.quick-profile__match-explain{margin:6px 0 10px;padding:9px 10px}.quick-profile__match-reasons{gap:5px}.quick-profile__match-reasons span{min-height:23px;padding:3px 7px;font-size:10.5px}}


/* Search preview: distinguish a real match from a viewer-side conflict. */
.quick-profile__prefs--all span.is-shared {
    border-color: color-mix(in srgb, var(--color-primary) 48%, transparent) !important;
    background: color-mix(in srgb, var(--color-primary-light) 72%, #fff) !important;
    color: var(--color-primary) !important;
}
.quick-profile__prefs--all span.is-conflict {
    border-color: #e65c78 !important;
    background: #fff !important;
    color: #b72548 !important;
}
.quick-profile__pref-marker {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:5px;
    font-weight:700;
    line-height:1;
}

/* Search mobile polish #15 — preview semantics + list density. */
.quick-profile__prefs--all span.is-shared {
    border-color: rgba(34, 168, 107, .58) !important;
    background: rgba(34, 168, 107, .08) !important;
    color: #16744c !important;
    font-weight: 600 !important;
}
.quick-profile__prefs--all span.is-conflict {
    border-color: rgba(210, 61, 88, .72) !important;
    background: rgba(210, 61, 88, .07) !important;
    color: #b22747 !important;
    font-weight: 600 !important;
}
.quick-profile__prefs--all span.is-shared .quick-profile__pref-marker,
.quick-profile__prefs--all span.is-conflict .quick-profile__pref-marker {
    opacity: 1 !important;
}

@media (max-width: 767px) {
    /* Keep online presence dot attached to the avatar, not outside it. */
    .quick-profile__avatar-wrap.is-online::after {
        right: 1px !important;
        bottom: 1px !important;
        top: auto !important;
        width: 10px !important;
        height: 10px !important;
        border: 2px solid #fff !important;
        box-sizing: content-box !important;
    }

    /* Search list: show as much as exists, but never reserve empty rows. */
    .results-table .interests-container,
    .results-table .interests-preview {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }
    .results-table .interests-preview {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
        line-clamp: 3 !important;
        white-space: normal !important;
        line-height: 1.35 !important;
    }
    .results-table .interests-full {
        display: none !important;
    }
}

/* Quick profile #16 — chat shortcut beside close button on mobile. */
@media (max-width: 768px) {
  .quick-profile .quick-profile__chat-link {
    position: absolute !important;
    top: 10px !important;
    right: 56px !important;
    left: auto !important;
    z-index: 51 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 50% !important;
    background: color-mix(in srgb, var(--color-white) 92%, transparent) !important;
    color: var(--color-primary) !important;
    box-shadow: 0 3px 12px var(--color-shadow-10) !important;
  }
  .quick-profile .quick-profile__chat-link span { display:none !important; }
  .quick-profile .quick-profile__chat-link i { margin:0 !important; font-size:15px !important; }
}

/* Search cards #17 — static interest preview on mobile; tapping it must never blank the row. */
@media (max-width: 768px) {
  .user-card-interests .interests-static .interests-preview { display:block !important; }
  .user-card-interests .interests-static .interests-full { display:none !important; }
  .user-card-interests .interests-static { cursor:default !important; }
}

/* Search quick-preview final pass #24. */
.quick-profile__profile-link--top,
.quick-profile__profile-link--top:hover,
.quick-profile__profile-link--top:focus-visible {
  background:var(--color-primary) !important;
  color:#fff !important;
  transform:none !important;
  filter:none !important;
}
.quick-profile__prefs--all span.is-shared {
  border-color:#58a986 !important;
  background:#eef8f3 !important;
  color:#176849 !important;
  box-shadow:inset 0 0 0 1px rgba(33,139,94,.10) !important;
  font-weight:700 !important;
}
.quick-profile__prefs--all span.is-conflict {
  border-color:#d84d68 !important;
  background:#fff1f4 !important;
  color:#a7213e !important;
  box-shadow:inset 0 0 0 1px rgba(216,77,104,.10) !important;
  font-weight:700 !important;
}
.quick-profile__prefs--all span.is-shared .quick-profile__pref-marker,
.quick-profile__prefs--all span.is-conflict .quick-profile__pref-marker {
  display:inline-flex !important;
  opacity:1 !important;
}
.quick-profile__avatar-wrap { position:relative !important; }
.quick-profile__avatar-wrap.is-online::after {
  right:0 !important;
  bottom:2px !important;
  top:auto !important;
  width:11px !important;
  height:11px !important;
  border:2px solid #fff !important;
  box-sizing:content-box !important;
  z-index:8 !important;
}
