:root {
    --ink: #171714;
    --ink-2: #26251f;
    --muted: #706d62;
    --line: #ddd9cc;
    --paper: #ffffff;
    --canvas: #f5f3ec;
    --gold: #c79a33;
    --gold-dark: #9a741f;
    --gold-soft: #f5ecd4;
    --success: #2f6b45;
    --success-bg: #eef7f1;
    --danger: #8c3434;
    --danger-bg: #fff3f1;
    --shadow: 0 12px 32px rgba(24, 23, 18, .06);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--canvas);
    color: var(--ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

a {
    color: inherit;
}

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

.site-header {
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--line);
}

.nav {
    width: min(1180px, calc(100% - 36px));
    min-height: 68px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    font-weight: 760;
    letter-spacing: -.02em;
}

.brand-mark {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--ink);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.brand-mark::after {
    content: "";
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--gold);
}

.brand-mark span {
    position: relative;
    z-index: 1;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-link {
    padding: 9px 11px;
    color: var(--muted);
    text-decoration: none;
    border-radius: 7px;
}

.nav-link:hover {
    color: var(--ink);
    background: #f2f0e8;
}

.btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: var(--ink);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
}

.btn:hover {
    background: #000;
}

.btn-gold {
    background: var(--gold);
    color: #181611;
}

.btn-gold:hover {
    background: #b98b27;
}

.btn-light {
    background: #fff;
    color: var(--ink);
    border-color: var(--line);
}

.btn-light:hover {
    background: #f7f5ef;
}

.btn-block {
    width: 100%;
}

.shell {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
}

.hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 0 48px;
    background:
        linear-gradient(112deg, #faf7ee 0%, #f1ecdf 43%, #e6dfcf 70%, #d8cfbd 100%);
    border-bottom: 1px solid rgba(117, 91, 34, .14);
}

.hero::before {
    content: "";
    position: absolute;
    inset: -2% -1%;
    background-image: url('hero-world-network.svg');
    background-repeat: no-repeat;
    background-position: center 52%;
    background-size: min(1500px, 104%);
    opacity: .48;
    z-index: -3;
    pointer-events: none;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 28%, rgba(205, 155, 42, .18), transparent 27%),
        radial-gradient(circle at 77% 44%, rgba(25, 22, 16, .14), transparent 31%),
        radial-gradient(circle at 96% 8%, rgba(255,255,255,.52), transparent 25%),
        linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.28) 34%, rgba(255,255,255,.05) 65%, rgba(17,17,17,.035) 100%);
    z-index: -1;
    pointer-events: none;
}

.hero-trade-network {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    overflow: hidden;
}

.hero-trade-network svg {
    width: 100%;
    height: 100%;
    display: block;
}

.trade-routes path {
    fill: none;
    stroke: rgba(184, 138, 31, .30);
    stroke-width: 1.06;
    stroke-linecap: round;
    stroke-dasharray: 4 10;
    animation: lorexaRouteFlow 26s linear infinite;
}

.trade-routes path:nth-child(2) { animation-duration: 23s; }
.trade-routes path:nth-child(3) { animation-duration: 18s; }
.trade-routes path:nth-child(4) { animation-duration: 16s; }
.trade-routes path:nth-child(5) { animation-duration: 17s; }
.trade-routes path:nth-child(6) { animation-duration: 19s; }
.trade-routes path:nth-child(7) { animation-duration: 28s; }
.trade-routes path:nth-child(8) { animation-duration: 24s; }

.trade-streams circle {
    fill: #d4a43a;
    stroke: rgba(255,255,255,.92);
    stroke-width: .55;
    opacity: .92;
    animation: lorexaParticlePulse 2.9s ease-in-out infinite;
}

.trade-streams circle:nth-child(2n) { animation-delay: .9s; }
.trade-streams circle:nth-child(3n) { animation-delay: 1.6s; }

.trade-halos circle {
    fill: rgba(212, 164, 58, .08);
    stroke: rgba(201, 152, 40, .22);
    stroke-width: 1;
    transform-box: fill-box;
    transform-origin: center;
    animation: lorexaHaloPulse 6.4s ease-in-out infinite;
}

.trade-halos circle:nth-child(2n) { animation-delay: 1.1s; }
.trade-halos circle:nth-child(3n) { animation-delay: 2.1s; }

.trade-nodes circle {
    fill: #c7962c;
    stroke: rgba(255,255,255,.95);
    stroke-width: 1.35;
    transform-box: fill-box;
    transform-origin: center;
    animation: lorexaNodePulse 4.2s ease-in-out infinite;
}

.trade-nodes circle:nth-child(2n) { animation-delay: .8s; }
.trade-nodes circle:nth-child(3n) { animation-delay: 1.5s; }

@keyframes lorexaRouteFlow {
    to { stroke-dashoffset: -112; }
}

@keyframes lorexaParticlePulse {
    0%, 100% { opacity: .45; transform: scale(.72); }
    50% { opacity: 1; transform: scale(1.12); }
}

@keyframes lorexaHaloPulse {
    0%, 100% { opacity: .22; transform: scale(.9); }
    50% { opacity: .54; transform: scale(1.18); }
}

@keyframes lorexaNodePulse {
    0%, 100% { opacity: .65; transform: scale(.84); }
    50% { opacity: 1; transform: scale(1.26); }
}

@media (prefers-reduced-motion: reduce) {
    .trade-routes path,
    .trade-streams circle,
    .trade-halos circle,
    .trade-nodes circle {
        animation: none;
    }

    .trade-streams {
        display: none;
    }
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    gap: 48px;
    align-items: center;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--gold-dark);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.eyebrow::before {
    content: "";
    width: 24px;
    height: 2px;
    background: var(--gold);
}

.hero h1,
.page-title h1,
.auth-title {
    margin: 0;
    letter-spacing: -.055em;
    line-height: .98;
}

.hero h1 {
    max-width: 780px;
    font-size: clamp(42px, 5.3vw, 68px);
}

.hero-copy {
    max-width: 700px;
    margin: 18px 0 0;
    color: #5e5b56;
    font-size: 17px;
    line-height: 1.56;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.hero-card {
    color: #fff;
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 24px 60px rgba(0,0,0,.16);
}

.hero-flow-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(18,18,18,.98) 0%, rgba(10,10,10,.98) 100%);
    border: 1px solid rgba(229, 189, 97, .18);
}

.hero-flow-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(229, 189, 97, .9), rgba(229, 189, 97, 0));
}

.hero-card-top {
    margin-bottom: 16px;
}

.hero-card-kicker {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(229, 189, 97, .12);
    color: #e5bd61;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.hero-card-top h2 {
    margin: 11px 0 7px;
    font-size: clamp(23px, 2.5vw, 30px);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.hero-card-top p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.5;
}

.hero-flow-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hero-flow-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px 13px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.hero-flow-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(229, 189, 97, .14);
    border: 1px solid rgba(229, 189, 97, .28);
    color: #e5bd61;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.hero-flow-item strong {
    display: block;
    font-size: 15px;
    line-height: 1.32;
}

.hero-flow-item p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.45;
}

.hero-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.hero-card-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 700;
}

.metric-label {
    color: #c6c2b7;
    font-size: 13px;
}

.metric-value {
    margin-top: 4px;
    font-weight: 760;
    font-size: 18px;
}

.gold {
    color: #e5bd61;
}

.feature-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    border: 1px solid var(--line);
    background: var(--line);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 70px;
}

.feature {
    background: var(--paper);
    padding: 24px;
}

.feature strong {
    display: block;
    margin-bottom: 5px;
}

.feature p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.auth-shell {
    width: min(430px, calc(100% - 32px));
    margin: 62px auto 80px;
}

.auth-card,
.panel,
.deal-card,
.detail-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: var(--shadow);
}

.auth-card {
    padding: 30px;
}

.auth-logo {
    margin-bottom: 26px;
}

.auth-title {
    font-size: 30px;
}

.auth-subtitle {
    margin: 8px 0 24px;
    color: var(--muted);
}

.field {
    margin-bottom: 17px;
}

.field label,
.field-label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 760;
}

.field input,
.field select,
.field textarea,
.control {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #c9c5b9;
    border-radius: 7px;
    outline: none;
    background: #fff;
    color: var(--ink);
}

.field textarea {
    min-height: 110px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.control:focus {
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 3px rgba(199,154,51,.12);
}

.auth-foot {
    margin: 20px 0 0;
    color: var(--muted);
    text-align: center;
    font-size: 14px;
}

.notice {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 7px;
    border: 1px solid var(--line);
    background: #f9f8f4;
}

.notice-error {
    color: var(--danger);
    border-color: #e8c8c4;
    background: var(--danger-bg);
}

.notice-success {
    color: var(--success);
    border-color: #bed9c8;
    background: var(--success-bg);
}

.dashboard {
    padding: 38px 0 80px;
}

.page-title {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: flex-end;
    margin-bottom: 25px;
}

.page-title h1 {
    font-size: clamp(30px, 4vw, 44px);
}

.page-title p {
    max-width: 700px;
    margin: 9px 0 0;
    color: var(--muted);
}

.member-box {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.member-flag {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    background: #f3f1e9;
    border-radius: 8px;
    font-size: 23px;
}

.member-meta {
    line-height: 1.2;
}

.member-meta strong {
    display: block;
    font-size: 13px;
}

.member-meta span {
    color: var(--muted);
    font-size: 12px;
    text-transform: capitalize;
}

.toolbar {
    padding: 14px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
}

.tabs {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 6px;
    color: var(--muted);
    text-decoration: none;
    font-weight: 680;
}

.tab:hover,
.tab.active {
    background: var(--ink);
    color: #fff;
}

.tab-count {
    min-width: 21px;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    text-align: center;
    font-size: 11px;
}

.filters {
    margin-left: auto;
    display: flex;
    gap: 8px;
    align-items: center;
}

.filter-select {
    min-height: 38px;
    max-width: 240px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 30px 0 14px;
}

.section-heading h2 {
    margin: 0;
    font-size: 20px;
    letter-spacing: -.02em;
}

.section-heading span {
    color: var(--muted);
    font-size: 13px;
}

.deal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.deal-card {
    padding: 20px;
    box-shadow: none;
    transition: transform .12s ease, border-color .12s ease;
}

.deal-card:hover {
    transform: translateY(-2px);
    border-color: #c6b783;
}

.deal-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
}

.flag-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border: 1px solid #e3dfd2;
    border-radius: 11px;
    background: #f7f5ef;
    font-size: 29px;
}

.person-name {
    font-weight: 780;
    letter-spacing: -.01em;
}

.person-country {
    color: var(--muted);
    font-size: 13px;
}

.badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 15px;
}

.badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1efe7;
    color: #565247;
    font-size: 11px;
    font-weight: 760;
}

.badge-gold {
    background: var(--gold-soft);
    color: #6c4d0d;
}

.badge-verified {
    background: #eef6ef;
    color: #316343;
}

.deal-card h3 {
    margin: 0 0 5px;
    font-size: 22px;
    letter-spacing: -.025em;
}

.deal-headline {
    min-height: 44px;
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 14px;
}

.deal-facts {
    margin: 0;
    border-top: 1px solid #ebe8de;
}

.deal-fact {
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #ebe8de;
}

.deal-fact dt {
    color: var(--muted);
    font-size: 12px;
}

.deal-fact dd {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.card-foot {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.card-foot small {
    color: var(--muted);
}

.text-link {
    color: var(--gold-dark);
    font-weight: 760;
    text-decoration: none;
}

.text-link:hover {
    text-decoration: underline;
}

.empty {
    padding: 44px;
    text-align: center;
    color: var(--muted);
    background: #fff;
    border: 1px dashed #c9c5b9;
    border-radius: 9px;
}

.profile-layout {
    padding: 38px 0 80px;
}

.profile-intro {
    margin-bottom: 22px;
}

.profile-intro h1 {
    margin: 0;
    font-size: clamp(30px, 4vw, 44px);
    letter-spacing: -.04em;
}

.profile-intro p {
    max-width: 720px;
    margin: 9px 0 0;
    color: var(--muted);
}

.panel {
    padding: 24px;
    margin-bottom: 15px;
    box-shadow: none;
}

.panel h2 {
    margin: 0 0 6px;
    font-size: 19px;
}

.panel-copy {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
}

.private-note {
    margin: 0 0 18px;
    padding: 11px 13px;
    border-left: 3px solid var(--gold);
    background: #faf7ef;
    color: #5f594c;
    font-size: 13px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.option-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.option-card {
    display: flex;
    gap: 9px;
    min-height: 72px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.option-card input {
    margin-top: 3px;
}

.option-card strong {
    display: block;
    margin-bottom: 2px;
}

.option-card small {
    color: var(--muted);
}

.commodity-category {
    margin-top: 24px;
}

.commodity-category:first-child {
    margin-top: 0;
}

.commodity-category h3 {
    margin: 0 0 9px;
    font-size: 16px;
}

.commodity-table {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.commodity-row {
    min-height: 45px;
    display: grid;
    grid-template-columns: 1fr 90px 90px;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border-bottom: 1px solid #ece9df;
}

.commodity-row:last-child {
    border-bottom: 0;
}

.commodity-choice {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.footer {
    padding: 24px 0 36px;
    color: var(--muted);
    font-size: 12px;
}

.footer-inner {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

@media (max-width: 900px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hero-card {
        max-width: 720px;
    }

    .deal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .option-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .nav {
        width: min(100% - 24px, 1180px);
    }

    .nav-link.hide-mobile {
        display: none;
    }

    .shell {
        width: min(100% - 24px, 1180px);
    }

    .hero {
        padding: 48px 0 44px;
    }

    .hero::before {
        background-size: 175%;
        background-position: center 25%;
        opacity: .34;
    }

    .hero-trade-network {
        opacity: .62;
    }

    .hero h1 {
        font-size: clamp(38px, 12vw, 56px);
    }

    .hero-copy {
        font-size: 16px;
    }

    .hero-card {
        padding: 22px;
        border-radius: 18px;
    }

    .hero-card-top h2 {
        font-size: 28px;
    }

    .hero-flow-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .hero-flow-step {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }

    .feature-strip {
        grid-template-columns: 1fr;
    }

    .page-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .toolbar {
        align-items: stretch;
    }

    .filters {
        width: 100%;
        margin-left: 0;
    }

    .filter-select {
        flex: 1;
        max-width: none;
    }

    .deal-grid {
        grid-template-columns: 1fr;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .commodity-row {
        grid-template-columns: 1fr 65px 65px;
        font-size: 13px;
    }

    .auth-card {
        padding: 24px;
    }

    .footer-inner {
        flex-direction: column;
    }
}

/* Marketplace density and details update */
.dashboard-wide {
    width: min(1500px, calc(100% - 36px));
}

.narrow-shell {
    width: min(860px, calc(100% - 36px));
}

.marketplace-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.compact-card {
    padding: 16px;
}

.deal-card-link {
    display: block;
    height: 100%;
    text-decoration: none;
}

.compact-card .deal-person {
    gap: 10px;
    margin-bottom: 14px;
}

.compact-card .flag-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 10px;
    font-size: 24px;
}

.compact-card .person-country {
    font-size: 12px;
}

.compact-card .badges {
    margin-bottom: 11px;
}

.compact-card h3 {
    margin-bottom: 4px;
    font-size: 17px;
    line-height: 1.2;
}

.compact-card .deal-headline {
    min-height: 38px;
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.45;
}

.compact-card .deal-fact {
    padding: 8px 0;
}

.compact-card .deal-fact dt,
.compact-card .deal-fact dd {
    font-size: 12px;
}

.compact-card .card-foot {
    margin-top: 12px;
}

.compact-card .card-foot small {
    font-size: 12px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    color: var(--muted);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

.back-link:hover {
    color: var(--gold-dark);
}

.detail-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 24px;
}

.detail-page-head h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 40px);
    letter-spacing: -.03em;
}

.detail-page-head p {
    max-width: 740px;
    margin: 0;
    color: var(--muted);
}

.detail-member-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 18px;
    align-items: start;
}

.detail-main,
.detail-side {
    min-width: 0;
}

.detail-main .detail-card + .detail-card,
.detail-side .detail-card + .detail-card {
    margin-top: 16px;
}

.detail-card {
    padding: 22px;
    box-shadow: none;
}

.detail-summary-top h2 {
    margin: 0 0 6px;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.detail-summary-copy {
    margin: 0;
    color: var(--muted);
}

.detail-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.detail-stat {
    padding: 14px;
    background: #fbfaf6;
    border: 1px solid #ece7d6;
    border-radius: 9px;
}

.detail-stat span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 12px;
}

.detail-stat strong {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -.01em;
}

.detail-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
}

.detail-paragraph {
    margin: 0;
    color: var(--ink-2);
    line-height: 1.7;
}

.detail-contact-card p {
    margin-top: 0;
    color: var(--muted);
}

.detail-side-list {
    margin: 0;
}

.detail-side-list div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid #ebe8de;
}

.detail-side-list div:last-child {
    border-bottom: 0;
}

.detail-side-list dt {
    color: var(--muted);
    font-size: 13px;
}

.detail-side-list dd {
    margin: 0;
    text-align: right;
    font-weight: 700;
}

.no-margin {
    margin: 0;
}

.verify-card {
    padding: 28px;
    text-align: left;
}

.verify-card h1 {
    margin: 0 0 10px;
    font-size: clamp(28px, 4vw, 38px);
    letter-spacing: -.03em;
}

.verify-copy {
    margin: 0 0 18px;
    color: var(--muted);
    line-height: 1.7;
}

.verify-preview {
    display: grid;
    gap: 4px;
    padding: 16px;
    margin-bottom: 16px;
    background: #fbfaf6;
    border: 1px solid #ece7d6;
    border-radius: 10px;
}

.verify-preview strong {
    font-size: 18px;
}

.verify-preview span,
.verify-preview small {
    color: var(--muted);
}

.verify-points {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.verify-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 1540px) {
    .marketplace-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1260px) {
    .dashboard-wide {
        width: min(1220px, calc(100% - 36px));
    }

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

    .detail-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .marketplace-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .detail-stat-grid {
        grid-template-columns: 1fr;
    }

    .detail-page-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 620px) {
    .marketplace-grid {
        grid-template-columns: 1fr;
    }

    .verify-actions {
        flex-direction: column;
    }
}

/* ============================================================
   Premium opportunity details + text chat + admin operations
   ============================================================ */

.member-messages-link {
    padding: 7px 9px;
    border-radius: 6px;
    color: var(--muted);
    text-decoration: none;
    font-size: 12px;
    font-weight: 760;
}

.member-messages-link:hover,
.member-messages-link.active {
    color: #6c4d0d;
    background: var(--gold-soft);
}

.premium-opportunity-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 26px;
    padding: 32px;
    margin-bottom: 18px;
    border-radius: 15px;
    background:
        radial-gradient(circle at 90% 5%, rgba(199,154,51,.22), transparent 30%),
        linear-gradient(135deg, #171714, #25231d);
    color: #fff;
    box-shadow: 0 18px 50px rgba(23,23,20,.12);
}

.premium-hero-badges .badge {
    background: rgba(255,255,255,.12);
    color: #fff;
}

.premium-hero-badges .badge-gold {
    background: #e5bd61;
    color: #1a1812;
}

.premium-hero-badges .badge-verified {
    background: rgba(183,232,198,.18);
    color: #ccefd5;
}

.premium-dark-badge {
    border: 1px solid rgba(255,255,255,.12);
}

.premium-kicker {
    display: block;
    margin: 20px 0 5px;
    color: #d8b45f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.premium-opportunity-hero h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 60px);
    line-height: .98;
    letter-spacing: -.045em;
}

.premium-headline {
    max-width: 720px;
    margin: 15px 0 24px;
    color: #d7d3c8;
    font-size: 17px;
    line-height: 1.55;
}

.premium-party-line {
    display: flex;
    align-items: center;
    gap: 11px;
}

.premium-party-line strong,
.premium-party-line span {
    display: block;
}

.premium-party-line span {
    color: #aaa69c;
    font-size: 13px;
}

.premium-party-flag {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255,255,255,.09);
    font-size: 25px;
}

.premium-party-flag.large {
    width: 54px;
    height: 54px;
    font-size: 30px;
    background: #f5f3ec;
}

.premium-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: end;
}

.premium-hero-stats div {
    padding: 15px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 10px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(8px);
}

.premium-hero-stats span,
.premium-hero-stats strong {
    display: block;
}

.premium-hero-stats span {
    margin-bottom: 5px;
    color: #a9a59b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.premium-hero-stats strong {
    font-size: 14px;
    line-height: 1.45;
}

.premium-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 18px;
    align-items: start;
}

.premium-detail-main,
.premium-detail-side {
    min-width: 0;
}

.premium-detail-main .detail-card + .detail-card,
.premium-detail-side .detail-card + .detail-card {
    margin-top: 16px;
}

.premium-content-card,
.premium-intro-card,
.premium-party-card {
    padding: 24px;
    box-shadow: none;
}

.premium-content-card h2,
.premium-intro-card h2 {
    margin: 4px 0 12px;
    font-size: 22px;
    letter-spacing: -.02em;
}

.premium-section-label {
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.premium-stat-grid {
    margin-top: 12px;
}

.premium-intro-card {
    position: sticky;
    top: 18px;
}

.premium-intro-card p {
    color: var(--muted);
    line-height: 1.65;
}

.premium-action-note {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 8px;
    background: #faf7ef;
    color: #5f594c;
    font-size: 13px;
}

.premium-party-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0;
}

.premium-party-profile strong,
.premium-party-profile span {
    display: block;
}

.premium-party-profile span {
    color: var(--muted);
    font-size: 13px;
}

.premium-verify-card {
    border-top: 3px solid var(--gold);
}

.verification-pending-box {
    padding: 16px;
    margin: 16px 0;
    border-radius: 9px;
    background: #f6f0df;
    color: #5a4718;
}

.verification-pending-box p {
    margin: 5px 0 0;
}

/* Conversation list */

.conversation-list {
    display: grid;
    gap: 10px;
}

.conversation-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    text-decoration: none;
    transition: transform .12s ease, border-color .12s ease;
}

.conversation-row:hover {
    transform: translateY(-1px);
    border-color: #c6b783;
}

.conversation-row-main {
    min-width: 0;
}

.conversation-row-main strong {
    display: block;
    margin: 3px 0 2px;
    font-size: 16px;
}

.conversation-row-main strong span {
    color: var(--gold-dark);
}

.conversation-row-main small {
    color: var(--muted);
}

.conversation-commodity {
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 820;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.conversation-row-side {
    flex: 0 0 auto;
    display: grid;
    justify-items: end;
    gap: 5px;
    color: var(--muted);
    font-size: 12px;
}

/* WhatsApp-inspired simple text chat */

.chat-body {
    min-height: 100vh;
    background: #efede6;
}

.chat-shell {
    width: min(980px, calc(100% - 28px));
    padding: 24px 0 40px;
}

.chat-window {
    overflow: hidden;
    border: 1px solid #d8d4c7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 15px 45px rgba(23,23,20,.07);
}

.chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    border-bottom: 1px solid #e2ded2;
    background: #fff;
}

.chat-header h1 {
    margin: 2px 0 2px;
    font-size: 20px;
    letter-spacing: -.02em;
}

.chat-header h1 span {
    color: var(--gold-dark);
}

.chat-header p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.chat-kicker {
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.chat-lorexa-chip {
    flex: 0 0 auto;
    padding: 7px 9px;
    border-radius: 999px;
    background: var(--gold-soft);
    color: #6c4d0d;
    font-size: 11px;
    font-weight: 760;
}

.chat-messages {
    height: min(62vh, 620px);
    overflow-y: auto;
    padding: 22px;
    background:
        radial-gradient(circle at 20% 20%, rgba(199,154,51,.04), transparent 18%),
        #f7f5ef;
}

.chat-empty {
    max-width: 420px;
    margin: 90px auto;
    color: var(--muted);
    text-align: center;
    line-height: 1.6;
}

.chat-message {
    width: min(72%, 620px);
    margin-bottom: 12px;
}

.chat-message.mine {
    margin-left: auto;
}

.chat-message-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 5px 4px;
    color: var(--muted);
    font-size: 10px;
}

.chat-message.mine .chat-message-meta {
    justify-content: flex-end;
}

.chat-message-meta strong {
    color: #5e594e;
}

.chat-bubble {
    padding: 10px 12px;
    border: 1px solid #ddd8ca;
    border-radius: 4px 12px 12px 12px;
    background: #fff;
    color: #27251f;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.5;
}

.chat-message.mine .chat-bubble {
    border-color: #ddc985;
    border-radius: 12px 4px 12px 12px;
    background: #f4e8bc;
}

.chat-message.lorexa-message .chat-bubble {
    border-color: #2c2a24;
    background: #24231f;
    color: #fff;
}

.chat-message.lorexa-message .chat-message-meta strong {
    color: var(--gold-dark);
}

.chat-rule {
    padding: 8px 18px;
    border-top: 1px solid #e2ded2;
    background: #faf9f5;
    color: var(--muted);
    font-size: 10px;
    text-align: center;
}

.chat-compose {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    padding: 12px;
    border-top: 1px solid #e2ded2;
    background: #fff;
}

.chat-compose textarea {
    width: 100%;
    min-height: 44px;
    max-height: 120px;
    padding: 11px 13px;
    border: 1px solid #c9c5b9;
    border-radius: 22px;
    resize: none;
    outline: none;
}

.chat-compose textarea:focus {
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 3px rgba(199,154,51,.10);
}

.chat-compose .btn {
    min-width: 82px;
    border-radius: 22px;
}

.chat-error {
    padding: 10px 14px;
    border-top: 1px solid #efc8c3;
    background: #fff2f0;
    color: var(--danger);
    font-size: 12px;
}

/* Admin */

.admin-body {
    background: #f1efe8;
}

.admin-header {
    border-bottom: 1px solid #292821;
    background: #181814;
    color: #fff;
}

.admin-nav {
    width: min(1420px, calc(100% - 36px));
    min-height: 66px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.admin-header .brand {
    color: #fff;
}

.admin-header .brand-mark {
    background: #fff;
    color: #171714;
}

.admin-nav-right {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #bbb7ac;
    font-size: 12px;
}

.admin-nav-right a {
    color: #fff;
    text-decoration: none;
}

.admin-shell {
    width: min(1420px, calc(100% - 36px));
    margin: 0 auto;
    padding: 36px 0 70px;
}

.admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.admin-page-head h1 {
    margin: 0;
    font-size: clamp(32px, 4vw, 46px);
    letter-spacing: -.04em;
}

.admin-page-head p {
    max-width: 700px;
    margin: 8px 0 0;
    color: var(--muted);
}

.admin-stats {
    display: flex;
    gap: 8px;
}

.admin-stats div {
    min-width: 100px;
    padding: 12px;
    border-radius: 9px;
    background: #181814;
    color: #fff;
    text-align: center;
}

.admin-stats strong,
.admin-stats span {
    display: block;
}

.admin-stats strong {
    font-size: 21px;
}

.admin-stats span {
    color: #bcb8ad;
    font-size: 10px;
}

.admin-panel {
    padding: 22px;
    margin-bottom: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}

.admin-panel-head {
    margin-bottom: 15px;
}

.admin-panel h2 {
    margin: 3px 0 0;
    font-size: 20px;
}

.admin-empty {
    padding: 26px;
    border: 1px dashed #cac5b8;
    border-radius: 9px;
    color: var(--muted);
    text-align: center;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 12px;
    border-bottom: 1px solid #ece9df;
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    color: var(--muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.admin-table td strong,
.admin-table td span,
.admin-table td small {
    display: block;
}

.admin-table td span,
.admin-table td small {
    color: var(--muted);
    font-size: 11px;
}

.admin-action-row {
    display: flex;
    gap: 6px;
}

.admin-match-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.admin-match-card {
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfaf6;
}

.admin-match-parties {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
    margin: 14px 0;
}

.admin-match-parties strong,
.admin-match-parties span,
.admin-match-parties small {
    display: block;
}

.admin-match-parties span,
.admin-match-parties small {
    color: var(--muted);
    font-size: 10px;
}

.admin-match-arrow {
    color: var(--gold-dark) !important;
    font-size: 18px !important;
}

.admin-match-headlines {
    min-height: 70px;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 11px;
}

.admin-match-headlines p {
    margin: 4px 0;
}

.admin-login-body {
    display: grid;
    min-height: 100vh;
    place-items: center;
    background:
        radial-gradient(circle at 80% 10%, rgba(199,154,51,.12), transparent 22%),
        #171714;
}

.admin-login-shell {
    width: min(430px, calc(100% - 28px));
}

.admin-login-card {
    border-color: #333128;
}

.admin-login-brand {
    margin-bottom: 28px;
}

.admin-chat-shell {
    width: min(1040px, calc(100% - 36px));
    margin: 0 auto;
    padding: 26px 0 50px;
}

.admin-chat-window {
    box-shadow: 0 18px 55px rgba(0,0,0,.12);
}

@media (max-width: 1100px) {
    .premium-opportunity-hero,
    .premium-detail-layout {
        grid-template-columns: 1fr;
    }

    .premium-intro-card {
        position: static;
    }

    .admin-match-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 720px) {
    .premium-opportunity-hero {
        padding: 22px;
    }

    .premium-hero-stats {
        grid-template-columns: 1fr;
    }

    .conversation-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .conversation-row-side {
        justify-items: start;
    }

    .chat-message {
        width: 88%;
    }

    .admin-match-grid {
        grid-template-columns: 1fr;
    }

    .admin-stats {
        width: 100%;
        overflow-x: auto;
    }

    .admin-nav-right span {
        display: none;
    }
}

.moderation-reason {
    display: inline-flex !important;
    padding: 4px 7px;
    border-radius: 999px;
    background: #fff0ed;
    color: #8c3434 !important;
    font-size: 10px !important;
    font-weight: 760;
    text-transform: capitalize;
}

/* ============================================================
   Clean institutional marketplace cards
   ============================================================ */

.clean-marketplace {
    width: min(1520px, calc(100% - 36px));
}

.clean-marketplace-title {
    margin-bottom: 20px;
}

.clean-market-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 13px;
}

.clean-market-card {
    min-width: 0;
    border: 1px solid #ddd9cc;
    border-radius: 11px;
    background: #fff;
    transition:
        transform .12s ease,
        border-color .12s ease,
        box-shadow .12s ease;
}

.clean-market-card:hover {
    transform: translateY(-2px);
    border-color: #c5b477;
    box-shadow: 0 10px 26px rgba(24,23,18,.055);
}

.clean-market-card-link {
    display: flex;
    min-height: 265px;
    height: 100%;
    flex-direction: column;
    padding: 16px;
    color: inherit;
    text-decoration: none;
}

.clean-card-person {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.clean-card-flag {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #e2ded2;
    border-radius: 9px;
    background: #f7f5ef;
    font-size: 22px;
}

.clean-card-person-copy {
    min-width: 0;
}

.clean-card-name-line {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
}

.clean-card-name-line strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    letter-spacing: -.01em;
}

.clean-card-person-copy > span {
    display: block;
    margin-top: 1px;
    overflow: hidden;
    color: var(--muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clean-verified-dot {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
    color: #376349;
    font-size: 9px;
    font-weight: 760;
}

.clean-verified-dot::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4e8a62;
}

.clean-side-label {
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.clean-side-label.buy {
    background: #f5ecd4;
    color: #765613;
}

.clean-side-label.sell {
    background: #ecefe9;
    color: #465743;
}

.clean-card-product {
    margin-top: 19px;
}

.clean-card-product span {
    display: block;
    margin-bottom: 1px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.clean-card-product h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.12;
    letter-spacing: -.028em;
}

.clean-card-primary,
.clean-card-location {
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid #ebe8de;
}

.clean-card-primary span,
.clean-card-location span {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 10px;
}

.clean-card-primary strong,
.clean-card-location strong {
    display: block;
    font-size: 13px;
    line-height: 1.38;
}

.clean-card-primary em {
    margin-left: 3px;
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
}

.clean-card-origin {
    margin-top: 8px;
    color: var(--muted);
    font-size: 10px;
}

.clean-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 12px;
    margin-top: auto;
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 800;
}

.clean-card-footer strong {
    font-size: 16px;
    line-height: 1;
}

@media (max-width: 1540px) {
    .clean-market-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1220px) {
    .clean-market-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 880px) {
    .clean-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .clean-marketplace {
        width: min(100% - 24px, 1520px);
    }

    .clean-market-grid {
        grid-template-columns: 1fr;
    }

    .clean-market-card-link {
        min-height: 0;
    }
}

/* ============================================================
   Toolbar map action
   ============================================================ */

.toolbar-with-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.toolbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.toolbar-map-btn {
    min-height: 44px;
}

/* ============================================================
   World map view
   ============================================================ */

.map-page {
    width: min(1560px, calc(100% - 36px));
}

.map-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.map-page-head h1 {
    margin-bottom: 8px;
}

.map-page-head p {
    max-width: 700px;
}

.map-controls {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.map-filter-block {
    display: grid;
    gap: 6px;
}

.map-filter-block span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.map-filter-block select {
    min-width: 190px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    font: inherit;
}

.map-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) 330px;
    gap: 18px;
    align-items: start;
}

.map-stage-wrap,
.map-sidebar-card {
    border: 1px solid #ddd9cc;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(25, 24, 20, .04);
}

.map-stage-wrap {
    padding: 14px;
}

.map-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1000 / 520;
    border-radius: 18px;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(205,177,86,.12), transparent 22%),
        radial-gradient(circle at 85% 65%, rgba(39,50,44,.08), transparent 28%),
        linear-gradient(180deg, #fcfaf4 0%, #f8f5ed 100%);
    border: 1px solid #ece7da;
}

.world-svg {
    width: 100%;
    height: 100%;
    display: block;
}

.world-mass {
    fill: #efeadc;
    stroke: #d9cfb5;
    stroke-width: 2.2;
}

.world-cut {
    fill: #f9f7f0;
    stroke: #d9cfb5;
    stroke-width: 1.6;
}

.map-layer {
    position: absolute;
    inset: 0;
}

.map-marker {
    position: absolute;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.map-marker-pulse {
    position: absolute;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    opacity: .18;
}

.map-marker-core {
    position: relative;
    z-index: 2;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 2px solid #fff;
    box-shadow: 0 8px 18px rgba(18,18,18,.15);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}

.map-marker.buy .map-marker-pulse {
    background: #d2a640;
}

.map-marker.buy .map-marker-core {
    background: #c39a3a;
}

.map-marker.sell .map-marker-pulse {
    background: #2f4d40;
}

.map-marker.sell .map-marker-core {
    background: #365646;
}

.map-marker.me .map-marker-pulse {
    background: #1b1b1b;
    opacity: .13;
}

.map-marker.me .map-marker-core {
    background: #1c1c1c;
    min-width: 38px;
    font-size: 9px;
}

.map-marker.active .map-marker-core {
    transform: scale(1.08);
}

.map-sidebar {
    display: grid;
    gap: 14px;
}

.map-sidebar-card {
    padding: 16px;
}

.map-sidebar-label {
    display: block;
    margin-bottom: 12px;
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.map-my-card,
.map-details-person {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.map-mini-flag {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #e6dfcb;
    border-radius: 10px;
    background: #f8f5ed;
    font-size: 20px;
}

.map-my-card strong,
.map-details-person strong {
    display: block;
    margin-bottom: 1px;
}

.map-my-card span,
.map-details-person span,
.map-empty-small {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.map-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.map-stats-grid > div {
    padding: 12px 10px;
    border: 1px solid #ebe7db;
    border-radius: 12px;
    background: #fbfaf7;
    text-align: center;
}

.map-stats-grid strong {
    display: block;
    font-size: 20px;
}

.map-stats-grid span {
    color: var(--muted);
    font-size: 11px;
}

.map-details-card h3 {
    margin: 14px 0 12px;
    font-size: 24px;
    line-height: 1.12;
}

.map-details-pill-row {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.map-type-pill,
.map-country-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.map-type-pill.buy {
    background: #f5ecd4;
    color: #765613;
}

.map-type-pill.sell {
    background: #edf2ed;
    color: #44614f;
}

.map-country-pill {
    background: #f3f1eb;
    color: #5a564c;
}

.map-detail-line {
    display: grid;
    gap: 3px;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid #eee9db;
}

.map-detail-line span {
    color: var(--muted);
    font-size: 11px;
}

.map-detail-line strong {
    font-size: 14px;
    line-height: 1.45;
}

.map-detail-btn {
    width: 100%;
    justify-content: center;
    margin-top: 16px;
}

@media (max-width: 1220px) {
    .map-panel {
        grid-template-columns: 1fr;
    }

    .map-sidebar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .map-page-head {
        align-items: stretch;
        flex-direction: column;
    }

    .map-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .map-page {
        width: min(100% - 24px, 1560px);
    }

    .map-controls,
    .toolbar-actions {
        width: 100%;
    }

    .map-filter-block,
    .map-filter-block select {
        width: 100%;
    }
}

/* ============================================================
   Real political world map
   ============================================================ */

.real-map-page {
    width: min(1560px, calc(100% - 36px));
}

.real-map-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.real-map-header h1 {
    margin: 0 0 8px;
    font-size: clamp(34px, 4vw, 48px);
    letter-spacing: -.04em;
}

.real-map-header p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
}

.real-map-controls {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.real-map-controls label {
    display: grid;
    gap: 5px;
}

.real-map-controls label > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.real-map-controls select {
    min-width: 190px;
    height: 43px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
}

.real-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) 330px;
    gap: 16px;
    align-items: start;
}

.real-map-card,
.real-map-side-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(24, 23, 18, .045);
}

.real-map-card {
    padding: 10px;
}

.real-map-stage {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1200 / 620;
    border-radius: 10px;
    background: #fbfaf5;
}

.real-world-map-image {
    display: block;
    width: 100%;
    height: 100%;
    user-select: none;
    pointer-events: none;
}

.real-map-marker-layer {
    position: absolute;
    inset: 0;
}

.real-map-marker {
    position: absolute;
    z-index: 4;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.real-marker-halo {
    position: absolute;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    opacity: .19;
}

.real-marker-core {
    position: relative;
    z-index: 2;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    box-shadow: 0 5px 14px rgba(20, 20, 20, .19);
    font-size: 9px;
    font-weight: 850;
}

.real-map-marker.buyer .real-marker-core {
    background: #bd9030;
}

.real-map-marker.buyer .real-marker-halo {
    background: #bd9030;
}

.real-map-marker.seller .real-marker-core {
    background: #315344;
}

.real-map-marker.seller .real-marker-halo {
    background: #315344;
}

.real-map-marker.me {
    z-index: 3;
    pointer-events: none;
}

.real-map-marker.me .real-marker-core {
    min-width: 37px;
    background: #171714;
    font-size: 8px;
}

.real-map-marker.me .real-marker-halo {
    background: #171714;
}

.real-map-marker.active .real-marker-core {
    transform: scale(1.13);
}

.real-map-legend {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 5;
    display: flex;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid rgba(210, 205, 193, .85);
    border-radius: 999px;
    background: rgba(255, 255, 255, .91);
    backdrop-filter: blur(8px);
    color: var(--muted);
    font-size: 10px;
}

.real-map-legend span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.real-legend-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.real-legend-dot.buyer {
    background: #bd9030;
}

.real-legend-dot.seller {
    background: #315344;
}

.real-legend-dot.me {
    background: #171714;
}

.real-map-sidebar {
    display: grid;
    gap: 12px;
}

.real-map-side-card {
    padding: 15px;
}

.real-map-side-title {
    display: block;
    margin-bottom: 11px;
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.real-map-my-position,
.map-details-person {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.real-map-my-position strong,
.real-map-my-position span,
.map-details-person strong,
.map-details-person span {
    display: block;
}

.real-map-my-position span,
.map-details-person span {
    color: var(--muted);
    font-size: 12px;
}

.real-map-muted {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.real-map-count-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.real-map-count-grid > div {
    padding: 10px 7px;
    border: 1px solid #ebe7dc;
    border-radius: 9px;
    background: #fbfaf6;
    text-align: center;
}

.real-map-count-grid strong {
    display: block;
    font-size: 19px;
}

.real-map-count-grid span {
    color: var(--muted);
    font-size: 10px;
}

.real-map-details h3 {
    margin: 13px 0 9px;
    font-size: 23px;
    letter-spacing: -.03em;
}

.real-map-detail-button {
    margin-top: 14px;
}

.toolbar-map-btn {
    white-space: nowrap;
}

@media (max-width: 1180px) {

    .real-map-layout {
        grid-template-columns: 1fr;
    }

    .real-map-sidebar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {

    .real-map-header {
        align-items: stretch;
        flex-direction: column;
    }

    .real-map-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {

    .real-map-page {
        width: min(100% - 24px, 1560px);
    }

    .real-map-controls {
        width: 100%;
    }

    .real-map-controls label,
    .real-map-controls select {
        width: 100%;
    }
}

/* ============================================================
   Lorexa professional site footer
   ============================================================ */

.lx-site-footer {
    margin-top: 72px;
    background: #171714;
    color: rgba(255, 255, 255, .72);
    border-top: 1px solid rgba(199, 154, 51, .34);
}

.lx-footer-shell {
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto;
    padding: 48px 0 20px;
}

.lx-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.65fr) repeat(3, minmax(150px, .7fr));
    gap: 46px;
    align-items: start;
}

.lx-footer-brand-column p {
    max-width: 520px;
    margin: 18px 0 20px;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    line-height: 1.75;
}

.lx-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.025em;
}

.lx-footer-mark {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 11px;
    background: #24231f;
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02);
}

.lx-footer-mark::after {
    content: "";
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--gold);
}

.lx-footer-mark span {
    position: relative;
    z-index: 1;
}

.lx-footer-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lx-footer-trust-row span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .015em;
}

.lx-footer-column {
    display: grid;
    align-content: start;
    gap: 10px;
    font-size: 12px;
}

.lx-footer-heading {
    margin-bottom: 4px;
    color: #d8ae50;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.lx-footer-column a {
    width: fit-content;
    color: rgba(255, 255, 255, .73);
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

.lx-footer-column a:hover {
    color: #fff;
    transform: translateX(2px);
}

.lx-footer-standards span:not(.lx-footer-heading) {
    position: relative;
    padding-left: 13px;
    color: rgba(255, 255, 255, .63);
}

.lx-footer-standards span:not(.lx-footer-heading)::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
}

.lx-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 38px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .09);
    color: rgba(255, 255, 255, .43);
    font-size: 10px;
    letter-spacing: .02em;
}

@media (max-width: 980px) {
    .lx-footer-grid {
        grid-template-columns: 1.4fr repeat(2, minmax(150px, .7fr));
    }

    .lx-footer-standards {
        grid-column: 2 / -1;
    }
}

@media (max-width: 700px) {
    .lx-site-footer {
        margin-top: 52px;
    }

    .lx-footer-shell {
        width: min(100% - 28px, 1280px);
        padding-top: 38px;
    }

    .lx-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 24px;
    }

    .lx-footer-brand-column {
        grid-column: 1 / -1;
    }

    .lx-footer-standards {
        grid-column: 1 / -1;
    }

    .lx-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 30px;
    }
}

@media (max-width: 430px) {
    .lx-footer-grid {
        grid-template-columns: 1fr;
    }

    .lx-footer-brand-column,
    .lx-footer-standards {
        grid-column: auto;
    }
}

/* ============================================================
   World Opportunities — interactive discovery upgrade
   ============================================================ */

.real-map-page {
    padding-bottom: 6px;
}

.real-map-header {
    align-items: flex-start;
    margin-bottom: 18px;
}

.real-map-header p {
    max-width: 830px;
    line-height: 1.7;
}

.real-map-discovery {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) minmax(210px, 280px) auto auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 28px rgba(24, 23, 18, .045);
}

.real-map-side-switch {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    padding: 4px;
    border: 1px solid #e1ddd1;
    border-radius: 10px;
    background: #f5f3ed;
}

.real-map-side-switch button {
    min-height: 33px;
    padding: 7px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.real-map-side-switch button:hover {
    color: var(--ink);
}

.real-map-side-switch button.active {
    background: #fff;
    color: var(--ink);
    box-shadow: 0 3px 10px rgba(24, 23, 18, .08);
}

.real-map-search-field,
.real-map-commodity-field {
    display: grid;
    gap: 5px;
}

.real-map-search-field > span,
.real-map-commodity-field > span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.real-map-search-input-wrap {
    position: relative;
}

.real-map-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    color: #8b877c;
    font-size: 17px;
    pointer-events: none;
}

.real-map-search-field input,
.real-map-commodity-field select {
    width: 100%;
    height: 43px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.real-map-search-field input {
    padding: 0 12px 0 36px;
}

.real-map-commodity-field select {
    padding: 0 34px 0 12px;
}

.real-map-search-field input:focus,
.real-map-commodity-field select:focus {
    border-color: #c9a451;
    box-shadow: 0 0 0 3px rgba(199, 154, 51, .12);
}

.real-map-filter-button {
    min-height: 43px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.real-map-filter-button:hover:not(:disabled) {
    border-color: #c8b67d;
    transform: translateY(-1px);
}

.real-map-filter-button.active {
    border-color: #bd9030;
    background: #f8efda;
    color: #6f5215;
}

.real-map-filter-button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.real-map-filter-reset {
    color: var(--muted);
}

.real-map-layout {
    grid-template-columns: minmax(0, 1.8fr) 350px;
    gap: 15px;
}

.real-map-card {
    padding: 0;
    overflow: hidden;
}

.real-map-card-head {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 11px 9px 16px;
    border-bottom: 1px solid #ebe7db;
    background: #fff;
}

.real-map-status-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.real-map-status-copy strong {
    font-size: 13px;
    letter-spacing: -.01em;
}

.real-map-status-copy span {
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-action-toolbar {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.real-map-action-toolbar button,
.real-map-action-toolbar span {
    height: 34px;
    min-width: 34px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #ddd9cc;
    border-radius: 8px;
    background: #fff;
    color: #3a382f;
    font-size: 15px;
}

.real-map-action-toolbar button {
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.real-map-action-toolbar button:hover {
    border-color: #bba65f;
    background: #faf7ee;
    transform: translateY(-1px);
}

.real-map-action-toolbar span {
    min-width: 52px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
}

.real-map-stage {
    border-radius: 0;
    background:
        radial-gradient(circle at 50% 45%, rgba(255, 255, 255, .92), rgba(248, 246, 239, .96)),
        #fbfaf5;
    cursor: default;
    touch-action: none;
}

.real-map-stage.is-zoomed {
    cursor: grab;
}

.real-map-stage.is-dragging {
    cursor: grabbing;
}

.real-map-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform-origin: 0 0;
    will-change: transform;
}

.real-world-map-image {
    position: absolute;
    inset: 0;
}

.real-map-marker-layer {
    z-index: 2;
}

.real-map-marker {
    transition: filter .18s ease;
}

.real-map-marker:hover {
    z-index: 8;
    filter: brightness(1.04);
}

.real-map-marker.active {
    z-index: 9;
}

.real-map-marker.active .real-marker-core {
    transform: scale(1.2);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .74), 0 8px 22px rgba(20, 20, 20, .28);
}

.real-map-marker.active .real-marker-halo {
    width: 39px;
    height: 39px;
    opacity: .26;
}

.real-marker-halo,
.real-marker-core {
    transition: transform .18s ease, width .18s ease, height .18s ease, opacity .18s ease, box-shadow .18s ease;
}

.real-map-legend {
    z-index: 20;
    left: 12px;
    bottom: 12px;
    box-shadow: 0 5px 18px rgba(24, 23, 18, .08);
}

.real-map-gesture-hint {
    position: absolute;
    left: 50%;
    top: 14px;
    z-index: 20;
    transform: translateX(-50%);
    max-width: calc(100% - 220px);
    padding: 7px 10px;
    border: 1px solid rgba(219, 214, 201, .92);
    border-radius: 999px;
    background: rgba(255, 255, 255, .91);
    backdrop-filter: blur(8px);
    color: #6f6b61;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
}

.real-map-gesture-hint.hidden {
    opacity: 0;
    transform: translate(-50%, -6px);
}

.real-map-side-card {
    padding: 14px;
}

.real-map-side-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.real-map-side-title-row .real-map-side-title {
    margin-bottom: 0;
}

.real-map-text-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.real-map-text-button:hover {
    text-decoration: underline;
}

.real-map-result-total {
    min-width: 24px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    padding: 0 6px;
    border-radius: 999px;
    background: #f1ede2;
    color: #6f6959;
    font-size: 9px;
    font-weight: 800;
}

.real-map-results-list {
    max-height: 310px;
    overflow: auto;
    display: grid;
    gap: 7px;
    padding-right: 2px;
    scrollbar-width: thin;
}

.real-map-result {
    width: 100%;
    display: grid;
    gap: 3px;
    padding: 10px;
    border: 1px solid #ebe7dc;
    border-radius: 9px;
    background: #fbfaf6;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.real-map-result:hover {
    border-color: #d0c39a;
    background: #fff;
    transform: translateY(-1px);
}

.real-map-result.active {
    border-color: #c6a348;
    background: #fffdf7;
    box-shadow: 0 5px 16px rgba(100, 77, 21, .08);
}

.real-map-result-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.real-map-result-type {
    display: inline-flex;
    align-items: center;
    min-height: 19px;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.real-map-result-type.buy {
    background: #f5ecd4;
    color: #765613;
}

.real-map-result-type.sell {
    background: #edf2ed;
    color: #44614f;
}

.real-map-result-country {
    overflow: hidden;
    color: var(--muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-result strong {
    overflow: hidden;
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-result-meta {
    color: #49463d;
    font-size: 10px;
    font-weight: 700;
}

.real-map-result-location {
    overflow: hidden;
    color: var(--muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-card:fullscreen {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.real-map-card:fullscreen .real-map-stage {
    flex: 1 1 auto;
    aspect-ratio: auto;
}

.real-map-card:fullscreen .real-map-gesture-hint {
    top: 18px;
}

@media (max-width: 1260px) {
    .real-map-discovery {
        grid-template-columns: auto minmax(250px, 1fr) minmax(200px, 260px) auto;
    }

    .real-map-filter-reset {
        grid-column: 4;
    }
}

@media (max-width: 1080px) {
    .real-map-discovery {
        grid-template-columns: auto minmax(240px, 1fr) minmax(200px, 1fr);
    }

    .real-map-filter-button,
    .real-map-filter-reset {
        grid-column: auto;
    }

    .real-map-layout {
        grid-template-columns: 1fr;
    }

    .real-map-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .real-map-discovery {
        grid-template-columns: 1fr 1fr;
    }

    .real-map-side-switch,
    .real-map-search-field {
        grid-column: 1 / -1;
    }

    .real-map-side-switch {
        width: 100%;
    }

    .real-map-side-switch button {
        flex: 1;
    }

    .real-map-commodity-field {
        grid-column: 1 / -1;
    }

    .real-map-filter-button {
        width: 100%;
    }

    .real-map-sidebar {
        grid-template-columns: 1fr;
    }

    .real-map-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .real-map-action-toolbar {
        width: 100%;
    }

    .real-map-action-toolbar button {
        flex: 1;
    }

    .real-map-action-toolbar span {
        flex: 0 0 58px;
    }

    .real-map-gesture-hint {
        display: none;
    }
}

@media (max-width: 520px) {
    .real-map-discovery {
        grid-template-columns: 1fr;
    }

    .real-map-side-switch,
    .real-map-search-field,
    .real-map-commodity-field,
    .real-map-filter-button {
        grid-column: 1;
    }

    .real-map-stage {
        min-height: 320px;
        aspect-ratio: auto;
    }

    .real-map-legend {
        left: 8px;
        right: 8px;
        bottom: 8px;
        justify-content: center;
        border-radius: 10px;
    }
}

/* ============================================================
   World Opportunities — contextual map card + motion refinement
   ============================================================ */

.real-map-action-toolbar {
    gap: 3px;
}

.real-map-action-toolbar button,
.real-map-action-toolbar span {
    height: 29px;
    min-width: 29px;
    border-radius: 7px;
    font-size: 13px;
}

.real-map-action-toolbar span {
    min-width: 46px;
    padding: 0 6px;
    font-size: 8px;
}

.real-map-stage:focus-visible {
    outline: 2px solid rgba(189, 144, 48, .7);
    outline-offset: -2px;
}

.real-map-canvas.is-animating {
    transition: transform var(--map-motion-duration, 420ms) cubic-bezier(.22, 1, .36, 1);
}

/* Pins do not grow with the map. The inner visuals are compensated as
   zoom increases, while the larger underlying button area remains easy to click. */
.real-marker-core,
.real-marker-halo {
    transform: scale(var(--map-marker-scale, 1));
    transform-origin: center;
}

.real-map-canvas.is-animating .real-marker-core,
.real-map-canvas.is-animating .real-marker-halo {
    transition:
        transform var(--map-motion-duration, 420ms) cubic-bezier(.22, 1, .36, 1),
        width .18s ease,
        height .18s ease,
        opacity .18s ease,
        box-shadow .18s ease;
}

.real-map-marker.active .real-marker-core {
    transform: scale(var(--map-marker-active-scale, 1.18));
}

.real-map-marker.active .real-marker-halo {
    transform: scale(var(--map-marker-active-halo-scale, 1.08));
    width: 35px;
    height: 35px;
    opacity: .25;
}

.real-map-marker:hover .real-marker-core {
    filter: brightness(1.04);
}

.real-map-results-list {
    max-height: 430px;
}

.real-map-popup {
    position: absolute;
    z-index: 40;
    width: min(286px, calc(100% - 20px));
    max-height: calc(100% - 20px);
    overflow: visible;
    padding: 13px;
    border: 1px solid rgba(204, 193, 160, .96);
    border-radius: 12px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 18px 50px rgba(23, 22, 18, .18), 0 3px 12px rgba(23, 22, 18, .08);
    backdrop-filter: blur(12px);
    opacity: 0;
    transform: translateY(4px) scale(.985);
    transform-origin: center;
    pointer-events: none;
    scrollbar-width: thin;
    transition: opacity .17s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
}

.real-map-popup.visible.positioned {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.real-map-popup::before,
.real-map-popup::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

.real-map-popup::before {
    z-index: -1;
    background: rgba(204, 193, 160, .96);
}

.real-map-popup::after {
    background: #fff;
}

.real-map-popup.arrow-left::before,
.real-map-popup.arrow-left::after {
    left: -6px;
    top: 50%;
    margin-top: -5px;
}

.real-map-popup.arrow-left::after {
    left: -5px;
}

.real-map-popup.arrow-right::before,
.real-map-popup.arrow-right::after {
    right: -6px;
    top: 50%;
    margin-top: -5px;
}

.real-map-popup.arrow-right::after {
    right: -5px;
}

.real-map-popup.arrow-top::before,
.real-map-popup.arrow-top::after {
    top: -6px;
    left: 50%;
    margin-left: -5px;
}

.real-map-popup.arrow-top::after {
    top: -5px;
}

.real-map-popup.arrow-bottom::before,
.real-map-popup.arrow-bottom::after {
    bottom: -6px;
    left: 50%;
    margin-left: -5px;
}

.real-map-popup.arrow-bottom::after {
    bottom: -5px;
}

.real-map-popup-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #e4dfd1;
    border-radius: 7px;
    background: #fff;
    color: #6f6a5f;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.real-map-popup-close:hover {
    border-color: #c9b983;
    background: #faf7ef;
    color: var(--ink);
}

.real-map-popup-person {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding-right: 28px;
}

.real-map-popup-person strong,
.real-map-popup-person span {
    display: block;
}

.real-map-popup-person strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-popup-person span {
    margin-top: 1px;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.real-map-popup .map-mini-flag {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: 18px;
}

.real-map-popup-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 11px;
}

.real-map-popup .map-type-pill,
.real-map-popup .map-country-pill {
    min-height: 19px;
    padding: 3px 6px;
    font-size: 8px;
}

.real-map-popup h3 {
    margin: 10px 0 8px;
    padding-right: 2px;
    font-size: 17px;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.real-map-popup-line {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 6px 0;
    border-top: 1px solid #eeeade;
}

.real-map-popup-line span {
    color: var(--muted);
    font-size: 9px;
}

.real-map-popup-line strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #3e3b33;
    font-size: 10px;
    line-height: 1.35;
    text-align: right;
}

.real-map-popup-button {
    min-height: 34px;
    margin-top: 8px;
    padding: 8px 11px;
    font-size: 10px;
}

@media (max-width: 760px) {
    .real-map-action-toolbar {
        width: auto;
        align-self: flex-end;
    }

    .real-map-action-toolbar button {
        flex: 0 0 29px;
    }

    .real-map-action-toolbar span {
        flex: 0 0 46px;
    }

    .real-map-popup {
        width: min(260px, calc(100% - 16px));
        padding: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .real-map-canvas.is-animating,
    .real-map-canvas.is-animating .real-marker-core,
    .real-map-canvas.is-animating .real-marker-halo,
    .real-map-popup {
        transition-duration: .01ms !important;
    }
}

/* ============================================================
   Homepage final simplification: clearer message + visual deal flow
   ============================================================ */

.home-page .hero::before {
    opacity: .36;
}

.home-page .trade-routes path {
    stroke: rgba(181, 132, 25, .28);
    stroke-width: 1.02;
}

.home-page .trade-streams circle {
    opacity: .96;
}

.home-page .trade-halos circle {
    opacity: .86;
}

.home-page .trade-nodes circle {
    opacity: .84;
}

.home-page .hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    gap: 54px;
}

.home-page .hero h1 {
    max-width: 690px;
    font-size: clamp(42px, 4.9vw, 64px);
    line-height: 1;
}

.home-page .hero-copy {
    max-width: 620px;
    font-size: 16.5px;
    line-height: 1.58;
}

.home-page .hero-network-card {
    padding: 28px;
}

.home-page .hero-network-top {
    margin-bottom: 24px;
}

.home-page .hero-network-top h2 {
    margin: 12px 0 8px;
    font-size: clamp(27px, 2.6vw, 34px);
}

.home-page .hero-network-top p {
    max-width: 410px;
    font-size: 14px;
    line-height: 1.5;
}

.hero-network-flow {
    display: grid;
    grid-template-columns: minmax(72px, 1fr) 44px minmax(88px, 1.15fr) 44px minmax(72px, 1fr);
    align-items: center;
    gap: 4px;
    padding: 26px 16px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}

.hero-network-party {
    min-width: 0;
    text-align: center;
}

.hero-network-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(229, 189, 97, .3);
    background: rgba(229, 189, 97, .1);
    color: #e5bd61;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .04em;
}

.hero-network-icon-lorexa {
    width: 58px;
    height: 58px;
    background: #c99a32;
    border-color: #d9ad4b;
    color: #111;
    box-shadow: 0 0 0 7px rgba(201, 154, 50, .09);
}

.hero-network-party strong {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
}

.hero-network-party small {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.54);
    font-size: 11px;
    line-height: 1.3;
}

.hero-network-party-lorexa strong {
    color: #e5bd61;
}

.hero-network-connector {
    position: relative;
    height: 1px;
    background: linear-gradient(90deg, rgba(229,189,97,.15), rgba(229,189,97,.72));
}

.hero-network-connector::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1px;
    width: 7px;
    height: 7px;
    border-top: 1px solid rgba(229,189,97,.82);
    border-right: 1px solid rgba(229,189,97,.82);
    transform: translateY(-50%) rotate(45deg);
}

.hero-network-connector:nth-of-type(4) {
    background: linear-gradient(90deg, rgba(229,189,97,.72), rgba(229,189,97,.15));
}

.hero-network-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.66);
    font-size: 12.5px;
    line-height: 1.5;
}

.hero-network-note-dot {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 50%;
    background: #c99a32;
    box-shadow: 0 0 0 4px rgba(201,154,50,.09);
}

/* Homepage hero should meet the footer directly. */
.home-page .lx-site-footer {
    margin-top: 0;
}

@media (max-width: 900px) {
    .home-page .hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .home-page .hero h1 {
        max-width: 760px;
    }

    .home-page .hero-network-card {
        max-width: 680px;
    }
}

@media (max-width: 640px) {
    .home-page .hero::before {
        opacity: .28;
    }

    .home-page .hero h1 {
        font-size: clamp(38px, 11.5vw, 52px);
    }

    .home-page .hero-network-card {
        padding: 20px;
    }

    .hero-network-flow {
        grid-template-columns: minmax(54px, 1fr) 24px minmax(68px, 1.1fr) 24px minmax(54px, 1fr);
        gap: 2px;
        padding: 22px 8px;
    }

    .hero-network-icon {
        width: 40px;
        height: 40px;
        font-size: 12px;
    }

    .hero-network-icon-lorexa {
        width: 48px;
        height: 48px;
    }

    .hero-network-party strong {
        font-size: 12px;
    }

    .hero-network-party small {
        font-size: 9.5px;
    }
}


/* ============================================================
   Homepage final polish: sticky footer + calmer map + title accents
   ============================================================ */
.home-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.home-page > .site-header {
    flex: 0 0 auto;
}

.home-page > main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.home-page .hero {
    flex: 1 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
}

.home-page .hero::before {
    inset: 0;
    background-position: center center;
    background-size: min(1420px, 92vw);
    opacity: .31;
}

.home-page .hero-title-accent {
    color: #b88720;
}

.home-page .lx-site-footer {
    flex: 0 0 auto;
    margin-top: 0;
}

@media (max-width: 900px) {
    .home-page .hero::before {
        background-size: min(1240px, 128vw);
    }
}

@media (max-width: 640px) {
    .home-page {
        min-height: 100svh;
    }

    .home-page .hero {
        align-items: flex-start;
    }

    .home-page .hero::before {
        background-size: 165%;
        background-position: center 22%;
        opacity: .25;
    }
}

/* ============================================================
   Footer proportion refinement + larger homepage world map
   ============================================================ */
.lx-footer-shell {
    padding: 30px 0 13px;
}

.lx-footer-grid {
    gap: 34px;
}

.lx-footer-brand-column p {
    margin: 11px 0 13px;
    font-size: 12px;
    line-height: 1.58;
}

.lx-footer-brand {
    gap: 9px;
    font-size: 18px;
}

.lx-footer-mark {
    width: 34px;
    height: 34px;
    border-radius: 10px;
}

.lx-footer-trust-row {
    gap: 6px;
}

.lx-footer-trust-row span {
    min-height: 25px;
    padding: 4px 8px;
    font-size: 9px;
}

.lx-footer-column {
    gap: 7px;
    font-size: 11px;
}

.lx-footer-heading {
    margin-bottom: 2px;
    font-size: 9px;
}

.lx-footer-bottom {
    margin-top: 22px;
    padding-top: 12px;
    font-size: 9px;
}

.home-page .hero::before {
    background-size: min(1580px, 100vw);
    background-position: center 49%;
}

@media (max-width: 980px) {
    .lx-footer-grid {
        gap: 26px;
    }
}

@media (max-width: 700px) {
    .lx-footer-shell {
        padding: 28px 0 14px;
    }

    .lx-footer-grid {
        gap: 24px 20px;
    }

    .lx-footer-bottom {
        margin-top: 22px;
        padding-top: 12px;
    }

    .home-page .hero::before {
        background-size: min(1380px, 142vw);
    }
}

@media (max-width: 640px) {
    .home-page .hero::before {
        background-size: 178%;
    }
}

/* ============================================================
   Homepage final premium polish: color, interaction, direction, responsive
   ============================================================ */
.home-page {
    --home-gold: #c59022;
    --home-gold-bright: #dda93c;
    --home-gold-deep: #9c6c12;
}

.home-page .eyebrow {
    color: #9f7318;
}

.home-page .hero-title-accent {
    color: #b98218;
}

.home-page .btn-gold {
    background: linear-gradient(135deg, #d5a536 0%, #bf891d 100%);
    border-color: rgba(145, 99, 10, .16);
    color: #17140d;
    box-shadow: 0 8px 22px rgba(171, 119, 18, .13);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.home-page .btn-gold:hover {
    background: linear-gradient(135deg, #d9aa3c 0%, #b98016 100%);
    box-shadow: 0 10px 26px rgba(171, 119, 18, .2);
    transform: translateY(-1px);
}

.home-page .hero-network-card {
    border-color: rgba(218, 169, 60, .2);
    background: linear-gradient(180deg, rgba(21,21,19,.985) 0%, rgba(13,13,12,.99) 100%);
}

.home-page .hero-card-kicker {
    color: #e4bb5d;
    background: rgba(214, 164, 54, .1);
    border: 1px solid rgba(214, 164, 54, .08);
}

.hero-network-party,
.hero-network-icon,
.hero-network-connector,
.hero-network-connector::after {
    transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease, opacity .22s ease;
}

.hero-network-connector-reverse {
    background: linear-gradient(90deg, rgba(229,189,97,.72), rgba(229,189,97,.15));
}

.hero-network-connector-reverse::after {
    left: -1px;
    right: auto;
    border-right: 0;
    border-left: 1px solid rgba(229,189,97,.82);
    transform: translateY(-50%) rotate(-45deg);
}

.home-page .hero-network-icon-lorexa {
    background: linear-gradient(145deg, #d8a83b, #bd861b);
    border-color: #e0b557;
    box-shadow: 0 0 0 7px rgba(201, 154, 50, .08), 0 8px 24px rgba(0,0,0,.16);
}

.home-page .hero-network-party-lorexa strong {
    color: #e4b857;
}

.home-page .hero-network-note-dot {
    background: #d09c2c;
    box-shadow: 0 0 0 4px rgba(201,154,50,.075);
}

@media (hover: hover) and (pointer: fine) {
    .home-page .hero-network-party:hover .hero-network-icon {
        color: #f0c96c;
        border-color: rgba(232, 190, 91, .58);
        background: rgba(229, 189, 97, .15);
        box-shadow: 0 0 0 5px rgba(201,154,50,.055);
        transform: translateY(-2px);
    }

    .home-page .hero-network-party-lorexa:hover .hero-network-icon-lorexa {
        color: #111;
        background: linear-gradient(145deg, #e1b347, #c88f1e);
        border-color: #edc66d;
        box-shadow: 0 0 0 9px rgba(201,154,50,.11), 0 0 30px rgba(213,165,53,.2), 0 10px 26px rgba(0,0,0,.2);
        transform: translateY(-2px) scale(1.025);
    }

    .home-page .hero-network-flow:has(> .hero-network-party:first-child:hover) > .hero-network-connector:nth-child(2),
    .home-page .hero-network-flow:has(> .hero-network-party-lorexa:hover) > .hero-network-connector,
    .home-page .hero-network-flow:has(> .hero-network-party:last-child:hover) > .hero-network-connector:nth-child(4) {
        background: linear-gradient(90deg, rgba(225,173,57,.38), rgba(235,190,83,.96));
        box-shadow: 0 0 12px rgba(213,165,53,.12);
    }

    .home-page .hero-network-flow:has(> .hero-network-party:last-child:hover) > .hero-network-connector-reverse,
    .home-page .hero-network-flow:has(> .hero-network-party-lorexa:hover) > .hero-network-connector-reverse {
        background: linear-gradient(90deg, rgba(235,190,83,.96), rgba(225,173,57,.38));
    }

    .home-page .hero-network-flow:has(> .hero-network-party:first-child:hover) > .hero-network-connector:nth-child(2)::after,
    .home-page .hero-network-flow:has(> .hero-network-party-lorexa:hover) > .hero-network-connector::after,
    .home-page .hero-network-flow:has(> .hero-network-party:last-child:hover) > .hero-network-connector:nth-child(4)::after {
        border-color: rgba(241, 202, 107, 1);
    }
}

@media (max-width: 900px) {
    .home-page .hero {
        padding: 48px 0 42px;
    }

    .home-page .hero-grid {
        gap: 30px;
    }

    .home-page .hero-network-card {
        width: 100%;
        max-width: 700px;
        margin-inline: auto;
    }
}

@media (max-width: 640px) {
    .home-page .hero {
        padding: 42px 0 36px;
    }

    .home-page .hero-copy {
        font-size: 15.5px;
        line-height: 1.55;
    }

    .home-page .hero-actions {
        margin-top: 24px;
    }

    .home-page .hero-network-card {
        padding: 18px;
    }

    .home-page .hero-network-top {
        margin-bottom: 18px;
    }

    .home-page .hero-network-top h2 {
        font-size: 27px;
    }

    .home-page .hero-network-flow {
        padding: 18px 6px;
    }

    .home-page .trade-routes path {
        opacity: .68;
    }

    .home-page .trade-streams circle:nth-child(n+6),
    .home-page .trade-halos circle:nth-child(n+6) {
        display: none;
    }
}

@media (max-width: 430px) {
    .home-page .hero h1 {
        font-size: clamp(36px, 11vw, 46px);
    }

    .home-page .hero-network-flow {
        grid-template-columns: minmax(50px, 1fr) 20px minmax(62px, 1.08fr) 20px minmax(50px, 1fr);
        padding-inline: 4px;
    }

    .home-page .hero-network-party small {
        display: none;
    }

    .home-page .hero-network-party strong {
        margin-top: 8px;
    }

    .home-page .hero-network-note {
        font-size: 11.5px;
    }
}

/* ============================================================
   Registration page — premium network access
   ============================================================ */
.register-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f4f0e5;
}

.register-page > .site-header {
    flex: 0 0 auto;
}

.register-header {
    position: relative;
    z-index: 20;
    background: rgba(255, 255, 255, .94);
    border-bottom-color: rgba(147, 116, 44, .16);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.register-header .nav {
    min-height: 66px;
}

.register-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #777268;
    font-size: 13px;
}

.register-header-login {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 9px;
    font-size: 13px;
}

.register-shell {
    position: relative;
    isolation: isolate;
    flex: 1 0 auto;
    width: 100%;
    min-height: 720px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 58px 20px 64px;
    background:
        radial-gradient(circle at 15% 26%, rgba(201, 154, 50, .16), transparent 25%),
        radial-gradient(circle at 78% 36%, rgba(25, 23, 18, .10), transparent 30%),
        linear-gradient(108deg, #faf7ef 0%, #f2ecdf 48%, #e1d8c7 100%);
}

.register-map-layer {
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image: url('hero-world-network.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: min(1500px, 94vw);
    opacity: .30;
    pointer-events: none;
}

.register-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.54) 0%, rgba(255,255,255,.20) 47%, rgba(255,255,255,.04) 100%),
        radial-gradient(circle at 50% 48%, rgba(255,255,255,.04), rgba(255,255,255,.18) 62%, rgba(250,247,239,.34) 100%);
    pointer-events: none;
}

.register-network-layer {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
}

.register-network-layer svg {
    display: block;
    width: 100%;
    height: 100%;
}

.register-network-routes path {
    fill: none;
    stroke: rgba(180, 132, 27, .28);
    stroke-width: 1.05;
    stroke-linecap: round;
    stroke-dasharray: 4 10;
    animation: registerRouteFlow 27s linear infinite;
}

.register-network-routes path:nth-child(2) { animation-duration: 23s; }
.register-network-routes path:nth-child(3) { animation-duration: 19s; }
.register-network-routes path:nth-child(4) { animation-duration: 21s; }
.register-network-routes path:nth-child(5) { animation-duration: 29s; }

.register-network-nodes circle {
    fill: #c99932;
    stroke: rgba(255,255,255,.94);
    stroke-width: 1.35;
    transform-box: fill-box;
    transform-origin: center;
    animation: registerNodePulse 4.2s ease-in-out infinite;
}

.register-network-nodes circle:nth-child(2n) { animation-delay: .8s; }
.register-network-nodes circle:nth-child(3n) { animation-delay: 1.5s; }

@keyframes registerRouteFlow {
    to { stroke-dashoffset: -116; }
}

@keyframes registerNodePulse {
    0%, 100% { opacity: .52; transform: scale(.82); }
    50% { opacity: .94; transform: scale(1.22); }
}

.register-card {
    width: min(560px, 100%);
    padding: 34px;
    border: 1px solid rgba(144, 114, 45, .20);
    border-radius: 18px;
    background: rgba(255,255,255,.965);
    box-shadow:
        0 28px 70px rgba(29, 27, 21, .14),
        0 2px 6px rgba(29, 27, 21, .04);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.register-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.register-card .eyebrow {
    margin-bottom: 13px;
}

.register-card .auth-title {
    max-width: 390px;
    font-size: clamp(30px, 4vw, 38px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.register-card .auth-subtitle {
    max-width: 430px;
    margin: 11px 0 0;
    color: #6a665d;
    font-size: 14px;
    line-height: 1.58;
}

.register-step {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(184, 135, 31, .24);
    border-radius: 999px;
    background: #faf5e7;
    color: #946c17;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.register-server-error {
    display: grid;
    gap: 3px;
    margin-bottom: 22px;
    border-radius: 10px;
    font-size: 13px;
}

.register-server-error strong {
    font-size: 13px;
}

.register-form {
    display: grid;
    gap: 19px;
}

.register-field {
    margin: 0;
}

.register-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 7px;
}

.register-label-row label {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    color: #26251f;
}

.register-required {
    color: #9a9589;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.register-field > input,
.password-input-wrap input {
    min-height: 50px;
    border: 1px solid #cbc4b6;
    border-radius: 10px;
    padding: 12px 14px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.register-field > input::placeholder,
.password-input-wrap input::placeholder {
    color: #aaa59a;
}

.register-field > input:focus,
.password-input-wrap input:focus {
    border-color: #aa7b1c;
    box-shadow: 0 0 0 4px rgba(190, 143, 39, .11);
}

.register-field > input.is-valid,
.password-input-wrap input.is-valid {
    border-color: #5a8a68;
    background: #fcfffd;
}

.register-field > input.is-invalid,
.password-input-wrap input.is-invalid {
    border-color: #b45a55;
    background: #fffdfc;
}

.password-input-wrap {
    position: relative;
}

.password-input-wrap input {
    width: 100%;
}

.register-field-feedback {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 20px;
    margin: 7px 0 0;
    font-size: 11.5px;
    line-height: 1.45;
}

.register-field-feedback::before {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: .78;
}

.register-field-feedback.is-neutral {
    color: #868177;
}

.register-field-feedback.is-invalid {
    color: #a53f3f;
}

.register-field-feedback.is-valid {
    color: #37714d;
}

.password-strength {
    margin-top: 10px;
}

.password-strength-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #777268;
    font-size: 10.5px;
    font-weight: 700;
}

.password-strength-top strong {
    color: #777268;
    font-size: 10.5px;
}

.password-strength-bars {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
    margin-top: 6px;
}

.password-strength-bars span {
    height: 4px;
    border-radius: 999px;
    background: #e8e4da;
    transition: background .2s ease, transform .2s ease;
}

.password-strength[data-strength="1"] .password-strength-bars span:nth-child(-n+1),
.password-strength[data-strength="2"] .password-strength-bars span:nth-child(-n+2) {
    background: #b65851;
}

.password-strength[data-strength="3"] .password-strength-bars span:nth-child(-n+3) {
    background: #b17e1d;
}

.password-strength[data-strength="4"] .password-strength-bars span:nth-child(-n+4),
.password-strength[data-strength="5"] .password-strength-bars span:nth-child(-n+5) {
    background: #3f7a55;
}

.password-strength[data-strength="1"] [data-strength-label],
.password-strength[data-strength="2"] [data-strength-label] {
    color: #a54540;
}

.password-strength[data-strength="3"] [data-strength-label] {
    color: #916813;
}

.password-strength[data-strength="4"] [data-strength-label],
.password-strength[data-strength="5"] [data-strength-label] {
    color: #37714d;
}

.password-rules {
    margin-top: 12px;
    padding: 13px 14px;
    border: 1px solid #e5ded0;
    border-radius: 11px;
    background: #faf8f3;
}

.password-rules-title {
    display: block;
    margin-bottom: 9px;
    color: #6e695f;
    font-size: 11px;
    font-weight: 800;
}

.password-rules ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.password-rules li {
    position: relative;
    padding-left: 17px;
    color: #a04444;
    font-size: 11px;
    line-height: 1.4;
    transition: color .18s ease;
}

.password-rules li::before {
    content: "×";
    position: absolute;
    left: 0;
    top: -.05em;
    width: 13px;
    color: #b14d4d;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
}

.password-rules li.is-met {
    color: #37714d;
}

.password-rules li.is-met::before {
    content: "✓";
    color: #37714d;
}

.register-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    margin-top: 2px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 850;
    box-shadow: 0 8px 18px rgba(177, 129, 28, .16);
}

.register-submit:disabled {
    cursor: not-allowed;
    opacity: .52;
    box-shadow: none;
}

.register-submit-arrow {
    transition: transform .18s ease;
}

.register-submit:not(:disabled):hover .register-submit-arrow {
    transform: translateX(3px);
}

.register-security-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 19px;
    padding: 12px 13px;
    border: 1px solid #e7e1d5;
    border-radius: 10px;
    background: #fbfaf6;
}

.register-security-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border-radius: 50%;
    background: #edf6f0;
    color: #39724e;
    font-size: 11px;
    font-weight: 900;
}

.register-security-note p {
    margin: 0;
    color: #736e64;
    font-size: 11px;
    line-height: 1.55;
}

.register-security-note strong {
    color: #35332d;
}

.register-auth-foot {
    margin-top: 17px;
    font-size: 12px;
}

.register-page .lx-site-footer {
    flex: 0 0 auto;
    margin-top: 0;
}

@media (max-width: 700px) {
    .register-shell {
        min-height: 0;
        align-items: flex-start;
        padding: 38px 14px 44px;
    }

    .register-map-layer {
        background-size: 165%;
        background-position: center 20%;
        opacity: .22;
    }

    .register-network-layer {
        opacity: .58;
    }

    .register-card {
        width: min(540px, 100%);
        padding: 26px 22px;
        border-radius: 16px;
    }

    .register-card-head {
        display: block;
    }

    .register-step {
        margin-top: 14px;
    }

    .password-rules ul {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}

@media (max-width: 520px) {
    .register-header .nav {
        width: min(100% - 24px, 1180px);
        min-height: 62px;
    }

    .register-header-actions > span {
        display: none;
    }

    .register-header-login {
        min-height: 34px;
        padding: 7px 12px;
    }

    .register-shell {
        padding-inline: 12px;
    }

    .register-card {
        padding: 24px 18px;
    }

    .register-card .auth-title {
        font-size: 31px;
    }

    .register-field > input,
    .password-input-wrap input {
        min-height: 48px;
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .register-network-routes path,
    .register-network-nodes circle {
        animation: none;
    }
}

/* ============================================================
   Registration wizard — Step 1 title + Step 2 profile onboarding
   ============================================================ */
@media (min-width: 701px) {
    .register-card:not(.onboarding-card) .auth-title {
        max-width: none;
        white-space: nowrap;
        font-size: 35px;
    }
}

.profile-onboarding-page .onboarding-shell {
    min-height: 0;
    align-items: flex-start;
    padding: 50px 20px 64px;
}

.profile-onboarding-page .register-map-layer {
    background-size: min(1580px, 98vw);
    background-position: center 18%;
    opacity: .27;
}

.onboarding-card {
    width: min(960px, 100%);
    padding: 34px 36px 38px;
}

.onboarding-card-head {
    margin-bottom: 20px;
}

.onboarding-card .auth-title {
    max-width: none;
    font-size: clamp(32px, 4vw, 42px);
}

.onboarding-card .auth-subtitle {
    max-width: 620px;
}

.onboarding-progress {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 4px 0 26px;
    padding: 14px 16px;
    border: 1px solid #e6dfd1;
    border-radius: 12px;
    background: #fbfaf6;
}

.onboarding-progress-step {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.onboarding-progress-step > span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #d5cdbd;
    background: #fff;
    color: #817b70;
    font-size: 11px;
    font-weight: 850;
}

.onboarding-progress-step strong,
.onboarding-progress-step small {
    display: block;
}

.onboarding-progress-step strong {
    color: #2f2d27;
    font-size: 12px;
}

.onboarding-progress-step small {
    margin-top: 2px;
    color: #898378;
    font-size: 10.5px;
}

.onboarding-progress-step.is-complete > span {
    border-color: #8bb69a;
    background: #edf6f0;
    color: #39724e;
}

.onboarding-progress-step.is-complete > span::before {
    content: "✓";
}

.onboarding-progress-step.is-complete > span {
    font-size: 0;
}

.onboarding-progress-step.is-complete > span::before {
    font-size: 12px;
}

.onboarding-progress-step.is-active > span {
    border-color: rgba(184,135,31,.38);
    background: #c9982f;
    color: #181711;
    box-shadow: 0 0 0 4px rgba(201,152,47,.10);
}

.onboarding-progress-line {
    height: 1px;
    background: linear-gradient(90deg, #8bb69a, #c9982f);
    opacity: .75;
}

.onboarding-error {
    margin-bottom: 18px;
    border-radius: 10px;
}

.onboarding-form {
    counter-reset: onboarding-section;
    display: grid;
    gap: 14px;
}

.onboarding-panel {
    counter-increment: onboarding-section;
    margin: 0;
    padding: 22px;
    border: 1px solid #e4ddd0;
    border-radius: 13px;
    background: rgba(252,251,247,.92);
}

.onboarding-panel h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 7px;
    font-size: 18px;
}

.onboarding-panel h2::before {
    content: counter(onboarding-section);
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #f4ead0;
    color: #8c6515;
    font-size: 10px;
    font-weight: 900;
}

.onboarding-panel .panel-copy {
    margin-left: 34px;
    margin-bottom: 18px;
}

.onboarding-panel .private-note {
    margin-left: 34px;
    border-radius: 0 8px 8px 0;
}

.onboarding-panel .field {
    margin-bottom: 0;
}

.onboarding-panel .field input,
.onboarding-panel .field select {
    min-height: 48px;
    border-radius: 9px;
}

.onboarding-panel .option-list {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.onboarding-panel .option-card {
    min-height: 78px;
    align-items: flex-start;
    padding: 14px;
    border-radius: 10px;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.onboarding-panel .option-card:hover {
    border-color: #cbb881;
    transform: translateY(-1px);
}

.onboarding-panel .option-card:has(input:checked) {
    border-color: #c59835;
    background: #fdf8eb;
    box-shadow: 0 0 0 3px rgba(197,152,53,.08);
}

.onboarding-panel .commodity-category {
    padding-top: 6px;
}

.onboarding-panel .commodity-category h3 {
    color: #8b671a;
    font-size: 14px;
    letter-spacing: .01em;
}

.onboarding-panel .commodity-table {
    border-radius: 10px;
    background: #fff;
}

.onboarding-panel .commodity-row {
    min-height: 48px;
    transition: background .16s ease;
}

.onboarding-panel .commodity-row:has(input:checked) {
    background: #fdf9ee;
}

.onboarding-complete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 220px;
    min-height: 49px;
    border-radius: 10px;
    font-weight: 850;
}

.onboarding-complete-btn span {
    transition: transform .18s ease;
}

.onboarding-complete-btn:hover span {
    transform: translateX(3px);
}

.profile-onboarding-page .lx-site-footer {
    margin-top: 0;
}

@media (max-width: 760px) {
    .profile-onboarding-page .onboarding-shell {
        padding: 34px 14px 44px;
    }

    .onboarding-card {
        padding: 26px 22px 28px;
    }

    .onboarding-progress {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .onboarding-progress-line {
        width: 1px;
        height: 20px;
        margin-left: 14px;
        background: linear-gradient(180deg, #8bb69a, #c9982f);
    }

    .onboarding-panel {
        padding: 18px;
    }

    .onboarding-panel .panel-copy,
    .onboarding-panel .private-note {
        margin-left: 0;
    }

    .onboarding-panel .form-grid {
        grid-template-columns: 1fr;
    }

    .onboarding-panel .commodity-row {
        grid-template-columns: minmax(0, 1fr) 70px 70px;
    }
}

@media (max-width: 520px) {
    .register-card:not(.onboarding-card) .auth-title {
        white-space: normal;
    }

    .onboarding-card {
        padding: 24px 17px 26px;
    }

    .onboarding-card .auth-title {
        font-size: 31px;
    }

    .onboarding-panel {
        padding: 16px 14px;
    }

    .onboarding-panel .option-list {
        grid-template-columns: 1fr;
    }

    .onboarding-panel .commodity-row {
        grid-template-columns: minmax(0, 1fr) 58px 58px;
        gap: 6px;
        padding-inline: 9px;
    }

    .onboarding-complete-btn {
        width: 100%;
        min-width: 0;
    }
}

/* Keep the onboarding trade routes at natural hero proportions on the longer Step 2 page. */
.profile-onboarding-page .register-network-layer {
    height: 760px;
    bottom: auto;
}

/* ============================================================
   Login page — premium returning member access
   ============================================================ */
.login-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f4f0e5;
}

.login-page > .site-header {
    flex: 0 0 auto;
}

.login-header-actions {
    gap: 13px;
}

.login-header-join {
    min-height: 38px;
    padding: 8px 15px;
    border-radius: 9px;
    font-size: 13px;
    box-shadow: none;
}

.login-shell {
    flex: 1 1 auto;
    min-height: 560px;
    padding: 52px 20px 58px;
}

.login-map-layer {
    background-size: min(1600px, 100vw);
    background-position: center 48%;
    opacity: .34;
}

.login-network-layer {
    opacity: .88;
}

.login-network-layer .register-network-routes path {
    stroke: rgba(180, 132, 27, .25);
    stroke-width: .98;
}

.login-network-layer .register-network-nodes circle {
    opacity: .82;
}

.login-card {
    position: relative;
    width: min(520px, 100%);
    padding: 34px 34px 30px;
    overflow: hidden;
}

.login-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 34px;
    right: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #c89424 0%, rgba(200,148,36,.46) 48%, rgba(200,148,36,0) 100%);
}

.login-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 25px;
}

.login-card .eyebrow {
    margin-bottom: 13px;
}

.login-card .auth-title {
    max-width: none;
    font-size: clamp(31px, 3.5vw, 37px);
    line-height: 1.01;
    white-space: nowrap;
}

.login-card .auth-subtitle {
    max-width: 395px;
    margin-top: 10px;
    color: #68645b;
    line-height: 1.58;
}

.login-access-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(184, 135, 31, .24);
    border-radius: 999px;
    background: #faf5e7;
    color: #946c17;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.login-server-error {
    margin-top: -2px;
}

.login-form {
    gap: 20px;
}

.login-field .register-field-feedback {
    margin-top: 7px;
}

.register-field-feedback.is-warning {
    color: #986a11;
}

.login-submit {
    min-height: 50px;
    margin-top: 1px;
    background: #c99628;
    box-shadow: 0 9px 22px rgba(151, 106, 14, .12);
}

.login-submit:hover,
.login-submit:focus-visible {
    background: #b9851f;
    box-shadow: 0 11px 26px rgba(151, 106, 14, .17);
}

.login-submit.is-loading {
    cursor: wait;
    opacity: .86;
}

.login-submit.is-loading .register-submit-arrow {
    animation: loginArrowPulse .8s ease-in-out infinite alternate;
}

@keyframes loginArrowPulse {
    from { transform: translateX(0); opacity: .55; }
    to { transform: translateX(4px); opacity: 1; }
}

.login-security-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 17px;
    padding: 13px 14px;
    border: 1px solid #e5ded0;
    border-radius: 11px;
    background: #fbfaf6;
    color: #777168;
}

.login-security-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    background: #edf5ef;
    color: #3f7652;
    font-size: 12px;
    font-weight: 900;
}

.login-security-note strong {
    display: block;
    margin-bottom: 2px;
    color: #36342e;
    font-size: 11.5px;
}

.login-security-note p {
    margin: 0;
    font-size: 10.8px;
    line-height: 1.48;
}

.login-auth-foot {
    margin-top: 16px;
}

.login-page .lx-site-footer {
    flex: 0 0 auto;
    margin-top: 0;
}

@media (max-width: 700px) {
    .login-shell {
        min-height: 0;
        align-items: flex-start;
        padding: 38px 14px 44px;
    }

    .login-map-layer {
        background-size: 165%;
        background-position: center 20%;
        opacity: .24;
    }

    .login-card {
        width: min(540px, 100%);
        margin-inline: auto;
        padding: 28px 24px 25px;
    }

    .login-card::before {
        left: 24px;
        right: 24px;
    }
}

@media (max-width: 540px) {
    .login-header .nav {
        min-height: 62px;
    }

    .login-header-actions > span {
        display: none;
    }

    .login-header-join {
        min-height: 35px;
        padding: 7px 11px;
        font-size: 12px;
    }

    .login-shell {
        padding: 28px 12px 36px;
    }

    .login-card {
        padding: 26px 19px 23px;
        border-radius: 15px;
    }

    .login-card::before {
        left: 19px;
        right: 19px;
    }

    .login-card-head {
        display: block;
        margin-bottom: 22px;
    }

    .login-access-badge {
        margin-top: 13px;
    }

    .login-card .auth-title {
        font-size: clamp(29px, 9vw, 35px);
        white-space: normal;
    }

    .login-card .auth-subtitle {
        font-size: 13.5px;
    }

    .login-field .register-label-row label {
        font-size: 12.5px;
    }

    .login-security-note {
        padding: 12px;
    }

    .login-network-layer .register-network-routes path:nth-child(n+4),
    .login-network-layer .register-network-nodes circle:nth-child(n+6) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-submit.is-loading .register-submit-arrow {
        animation: none;
    }
}


/* ============================================================
   Login v16 — centered welcome + cleaner credential autofill UX
   ============================================================ */
.login-page .login-card-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 27px;
    text-align: center;
}

.login-page .login-card-head > div {
    width: 100%;
}

.login-page .login-card .eyebrow {
    justify-content: center;
    margin-bottom: 13px;
}

.login-page .login-card .auth-title {
    margin-inline: auto;
    text-align: center;
}

.login-page .login-card .auth-subtitle {
    max-width: 410px;
    margin: 10px auto 0;
    text-align: center;
}

.login-page .login-access-badge {
    order: -1;
    margin: 0 0 14px;
}

@media (max-width: 540px) {
    .login-page .login-card-head {
        display: flex;
        align-items: center;
        margin-bottom: 23px;
        text-align: center;
    }

    .login-page .login-access-badge {
        margin: 0 0 12px;
    }

    .login-page .login-card .auth-title {
        max-width: 100%;
        font-size: clamp(28px, 8.4vw, 34px);
        line-height: 1.04;
        text-align: center;
    }

    .login-page .login-card .auth-subtitle {
        max-width: 320px;
        margin-inline: auto;
        font-size: 13.5px;
        line-height: 1.5;
        text-align: center;
    }
}

/* ============================================================
   Registration UX refinement — centered onboarding + compact commodity accordions
   ============================================================ */
.register-card:not(.onboarding-card) .register-card-head {
    position: relative;
    display: block;
    text-align: center;
}

.register-card:not(.onboarding-card) .register-card-head > div {
    width: 100%;
}

.register-card:not(.onboarding-card) .eyebrow,
.onboarding-card-head .eyebrow {
    justify-content: center;
}

.register-card:not(.onboarding-card) .auth-title {
    max-width: none;
    margin-inline: auto;
    text-align: center;
}

.register-card:not(.onboarding-card) .auth-subtitle {
    max-width: 445px;
    margin: 11px auto 0;
    text-align: center;
}

.register-card:not(.onboarding-card) .register-step {
    position: absolute;
    top: -1px;
    right: 0;
}

.onboarding-card-head {
    position: relative;
    display: block;
    text-align: center;
    padding-top: 2px;
}

.onboarding-card-head > div {
    width: 100%;
}

.onboarding-card .auth-title {
    margin-inline: auto;
    text-align: center;
}

.onboarding-card .auth-subtitle {
    max-width: 680px;
    margin: 11px auto 0;
    text-align: center;
}

.onboarding-card-head .register-step {
    position: absolute;
    top: 0;
    right: 0;
}

.commodity-accordion-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.commodity-accordion {
    overflow: hidden;
    border: 1px solid #e3dccf;
    border-radius: 12px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.commodity-accordion:hover,
.commodity-accordion[open] {
    border-color: #ceb977;
}

.commodity-accordion[open] {
    box-shadow: 0 8px 22px rgba(71, 58, 29, .055);
}

.commodity-accordion.has-selection:not([open]) {
    border-color: rgba(197, 152, 53, .58);
    background: #fffdf7;
}

.commodity-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 68px;
    padding: 13px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    outline: none;
}

.commodity-accordion > summary::-webkit-details-marker {
    display: none;
}

.commodity-accordion > summary:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(194, 145, 37, .48);
}

.commodity-accordion-title {
    min-width: 0;
}

.commodity-accordion-title strong,
.commodity-accordion-title span {
    display: block;
}

.commodity-accordion-title strong {
    color: #302d27;
    font-size: 14px;
    line-height: 1.35;
}

.commodity-accordion-title span {
    margin-top: 3px;
    color: #8a8479;
    font-size: 11px;
}

.commodity-accordion-meta {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.commodity-selected-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 5px 9px;
    border: 1px solid #e6dfd2;
    border-radius: 999px;
    background: #f8f6f0;
    color: #898278;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.commodity-selected-count.has-selection {
    border-color: rgba(197, 152, 53, .32);
    background: #fbf3de;
    color: #8e6716;
}

.commodity-accordion-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: #7d776d;
    font-size: 18px;
    line-height: 1;
    transition: transform .2s ease, background .18s ease, color .18s ease;
}

.commodity-accordion > summary:hover .commodity-accordion-chevron {
    background: #f4efe4;
    color: #976f1c;
}

.commodity-accordion[open] .commodity-accordion-chevron {
    transform: rotate(180deg);
}

.commodity-accordion[open] > summary {
    border-bottom: 1px solid #ebe5da;
    background: #fffdf8;
}

.commodity-accordion-body {
    padding: 0;
}

.commodity-table-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px 90px;
    align-items: center;
    gap: 10px;
    min-height: 35px;
    padding: 0 14px;
    border-bottom: 1px solid #ece7dc;
    background: #faf8f2;
    color: #948c7c;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.commodity-table-head span:nth-child(2),
.commodity-table-head span:nth-child(3) {
    text-align: left;
}

.commodity-accordion .commodity-table {
    border: 0;
    border-radius: 0;
    background: #fff;
}

.commodity-accordion .commodity-row {
    padding-inline: 14px;
}

.commodity-accordion .commodity-row:hover {
    background: #fbfaf6;
}

.commodity-accordion .commodity-row:has(input:checked) {
    background: #fdf9ee;
}

@media (max-width: 700px) {
    .register-card:not(.onboarding-card) .register-step,
    .onboarding-card-head .register-step {
        position: static;
        margin: 14px auto 0;
    }

    .register-card:not(.onboarding-card) .register-card-head,
    .onboarding-card-head {
        text-align: center;
    }

    .commodity-accordion > summary {
        min-height: 64px;
        padding: 12px 13px;
    }

    .commodity-table-head {
        grid-template-columns: minmax(0, 1fr) 68px 68px;
        padding-inline: 10px;
    }

    .commodity-accordion .commodity-row {
        grid-template-columns: minmax(0, 1fr) 68px 68px;
        padding-inline: 10px;
    }
}

@media (max-width: 520px) {
    .register-card:not(.onboarding-card) .auth-title,
    .onboarding-card .auth-title {
        font-size: 30px;
        line-height: 1.04;
    }

    .register-card:not(.onboarding-card) .auth-subtitle,
    .onboarding-card .auth-subtitle {
        font-size: 13.5px;
    }

    .commodity-accordion > summary {
        gap: 10px;
    }

    .commodity-accordion-title strong {
        font-size: 13px;
    }

    .commodity-accordion-title span {
        font-size: 10px;
    }

    .commodity-selected-count {
        min-height: 25px;
        padding-inline: 7px;
        font-size: 9px;
    }

    .commodity-accordion-chevron {
        width: 24px;
        height: 24px;
    }

    .commodity-table-head {
        grid-template-columns: minmax(0, 1fr) 54px 54px;
        gap: 5px;
        font-size: 8px;
    }

    .commodity-accordion .commodity-row {
        grid-template-columns: minmax(0, 1fr) 54px 54px;
        gap: 5px;
        min-height: 47px;
        font-size: 12px;
    }

    .commodity-accordion .commodity-choice {
        gap: 4px;
        font-size: 11px;
    }

    .commodity-accordion .commodity-choice span {
        display: none;
    }
}

/* Registration autofill hardening: keep new credentials out of password-manager UI. */
.register-autofill-trap {
    position: fixed !important;
    left: -10000px !important;
    top: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.register-masked-input {
    -webkit-text-security: disc;
    text-security: disc;
}

/* ============================================================
   Marketplace professional list / trading register
   ============================================================ */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.marketplace-page {
    position: relative;
    min-height: 100vh;
    background:
        linear-gradient(180deg, rgba(249,247,240,.97) 0%, rgba(244,240,230,.98) 100%);
}

.marketplace-page::before {
    content: "";
    position: fixed;
    inset: 58px 0 0;
    z-index: 0;
    pointer-events: none;
    background-image: url('hero-world-network.svg');
    background-repeat: no-repeat;
    background-position: center 58px;
    background-size: min(1540px, 104vw) auto;
    opacity: .085;
}

.marketplace-page .site-header,
.marketplace-page .lx-site-footer {
    position: relative;
    z-index: 3;
}

.marketplace-page .site-header {
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.market-list-marketplace {
    position: relative;
    z-index: 1;
    width: min(1480px, calc(100% - 40px));
    padding-top: 42px;
    padding-bottom: 70px;
}

.market-list-title {
    align-items: flex-end;
    margin-bottom: 24px;
}

.market-list-title h1 {
    font-size: clamp(38px, 4.5vw, 58px);
    letter-spacing: -.055em;
}

.market-list-title p {
    max-width: 760px;
    margin-top: 8px;
    line-height: 1.6;
}

.market-control-panel {
    display: grid;
    grid-template-columns: auto minmax(420px, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 13px;
    border: 1px solid rgba(183,168,128,.48);
    border-radius: 16px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 12px 34px rgba(40,34,20,.045);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.market-side-tabs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: 11px;
    background: #f4f0e5;
}

.market-side-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 13px;
    border-radius: 8px;
    color: #5f5a50;
    text-decoration: none;
    font-size: 12px;
    font-weight: 780;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.market-side-tab span {
    min-width: 22px;
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(0,0,0,.055);
    text-align: center;
    font-size: 10px;
}

.market-side-tab:hover {
    color: var(--ink);
    background: rgba(255,255,255,.7);
}

.market-side-tab.active {
    color: #fff;
    background: #171714;
    box-shadow: 0 5px 14px rgba(20,20,17,.13);
}

.market-side-tab.active span {
    background: rgba(255,255,255,.14);
}

.market-filter-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(190px, 250px) auto auto;
    gap: 9px;
    align-items: center;
}

.market-search-field input,
.market-commodity-filter select {
    width: 100%;
    height: 42px;
    border: 1px solid #d9d3c4;
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.market-search-field input {
    padding: 0 14px;
}

.market-commodity-filter select {
    padding: 0 36px 0 12px;
}

.market-search-field input:focus,
.market-commodity-filter select:focus {
    border-color: #bd9131;
    box-shadow: 0 0 0 3px rgba(196,148,43,.12);
}

.market-filter-button,
.market-map-button {
    min-height: 42px;
    white-space: nowrap;
}

.market-reset-link {
    color: #776f60;
    font-size: 12px;
    font-weight: 740;
    text-decoration: none;
    white-space: nowrap;
}

.market-reset-link:hover {
    color: var(--gold-dark);
}

.market-list-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 4px 12px;
    color: var(--muted);
    font-size: 12px;
}

.market-list-meta > div {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.market-list-meta strong {
    color: var(--ink);
    font-size: 18px;
}

.market-table-shell {
    overflow: hidden;
    border: 1px solid #d9d4c5;
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 50px rgba(32,28,18,.055);
}

.market-list-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.market-list-table thead {
    background: #171714;
    color: #fff;
}

.market-list-table th {
    padding: 13px 14px;
    border-right: 1px solid rgba(255,255,255,.06);
    color: rgba(255,255,255,.67);
    text-align: left;
    font-size: 10px;
    font-weight: 780;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.market-list-table th:nth-child(1) { width: 74px; }
.market-list-table th:nth-child(2) { width: 190px; }
.market-list-table th:nth-child(3) { width: 190px; }
.market-list-table th:nth-child(4) { width: 175px; }
.market-list-table th:nth-child(5) { width: 145px; }
.market-list-table th:nth-child(7) { width: 160px; }
.market-list-table th:nth-child(8) { width: 92px; }

.market-list-table td {
    padding: 16px 14px;
    border-bottom: 1px solid #ebe7dc;
    color: #24231f;
    vertical-align: middle;
    font-size: 12px;
    line-height: 1.4;
}

.market-list-table tbody tr:last-child td {
    border-bottom: 0;
}

.market-list-row {
    cursor: pointer;
    outline: none;
    transition: background .14s ease, box-shadow .14s ease;
}

.market-list-row:hover,
.market-list-row:focus-visible {
    background: #fbf8ef;
    box-shadow: inset 3px 0 0 #c9962d;
}

.market-list-row td > strong {
    display: block;
    font-size: 12.5px;
    font-weight: 760;
}

.market-list-row td > small {
    display: block;
    margin-top: 3px;
    color: #8a8478;
    font-size: 10.5px;
}

.market-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 28px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.market-type-badge.buy {
    background: #f3e8c9;
    color: #7d5b13;
}

.market-type-badge.sell {
    background: #e8eeea;
    color: #3f5d49;
}

.market-person-cell {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.market-person-flag {
    width: 36px;
    height: 36px;
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    border: 1px solid #ded9cb;
    border-radius: 9px;
    background: #f8f6f0;
    font-size: 20px;
}

.market-person-copy {
    display: block;
    min-width: 0;
}

.market-person-copy strong,
.market-person-copy small,
.market-person-copy em {
    display: block;
}

.market-person-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
}

.market-person-copy small {
    margin-top: 1px;
    overflow: hidden;
    color: #8a8478;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
}

.market-verified {
    position: relative;
    padding-left: 10px;
    margin-top: 3px;
    color: #3e7652;
    font-size: 9px;
    font-style: normal;
    font-weight: 760;
}

.market-verified::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #4d8d61;
    transform: translateY(-50%);
}

.market-commodity-name {
    font-size: 14px !important;
    letter-spacing: -.015em;
}

.market-access {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 780;
    white-space: nowrap;
}

.market-access.locked {
    background: #f7edda;
    color: #8c6412;
}

.market-access.open {
    background: #eaf3ed;
    color: #356849;
}

.market-access.owner {
    background: #eeecf6;
    color: #5e567c;
}

.market-row-action {
    text-align: right;
}

.market-open-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #dfd9ca;
    border-radius: 9px;
    background: #fff;
    color: #6d5013;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.market-open-btn:hover {
    border-color: #c79a39;
    background: #fbf4e2;
    transform: translateX(1px);
}

.market-open-btn strong {
    font-size: 14px;
}

.market-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
    padding-top: 22px;
}

.market-page-arrow,
.market-page-numbers a,
.market-page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    color: #5e584c;
    text-decoration: none;
    font-size: 11px;
    font-weight: 760;
}

.market-page-arrow:first-child {
    justify-self: start;
}

.market-page-arrow:last-child {
    justify-self: end;
}

.market-page-arrow.disabled {
    opacity: .38;
}

.market-page-numbers {
    display: flex;
    align-items: center;
    gap: 5px;
}

.market-page-numbers a {
    min-width: 36px;
    padding: 0 9px;
    border: 1px solid #dcd6c7;
    border-radius: 9px;
    background: rgba(255,255,255,.75);
}

.market-page-numbers a:hover {
    border-color: #c69a3b;
    background: #fff9eb;
}

.market-page-numbers a.active {
    border-color: #171714;
    background: #171714;
    color: #fff;
}

.market-list-empty {
    background: rgba(255,255,255,.82);
}

@media (max-width: 1220px) {
    .market-control-panel {
        grid-template-columns: 1fr auto;
    }

    .market-side-tabs {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .market-filter-form {
        grid-template-columns: minmax(200px, 1fr) minmax(180px, 240px) auto auto;
    }

    .market-list-table th:nth-child(5),
    .market-list-table td:nth-child(5) {
        display: none;
    }
}

@media (max-width: 900px) {
    .marketplace-page::before {
        background-size: 1380px auto;
        opacity: .065;
    }

    .market-list-marketplace {
        width: min(100% - 24px, 1480px);
        padding-top: 28px;
    }

    .market-list-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .market-control-panel {
        display: flex;
        align-items: stretch;
        flex-direction: column;
    }

    .market-filter-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(170px, .65fr) auto;
    }

    .market-reset-link {
        grid-column: 1 / -1;
        padding-left: 2px;
    }

    .market-map-button {
        align-self: flex-start;
    }

    .market-table-shell {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .market-list-table,
    .market-list-table tbody {
        display: block;
        width: 100%;
    }

    .market-list-table thead {
        display: none;
    }

    .market-list-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 18px;
        padding: 15px 16px;
        margin-bottom: 10px;
        border: 1px solid #ddd7c8;
        border-radius: 14px;
        background: rgba(255,255,255,.94);
        box-shadow: 0 10px 28px rgba(30,27,19,.04);
    }

    .market-list-row:hover,
    .market-list-row:focus-visible {
        background: #fffdf7;
        box-shadow: inset 3px 0 0 #c9962d, 0 10px 28px rgba(30,27,19,.04);
    }

    .market-list-table td,
    .market-list-table td:nth-child(5) {
        display: block;
        padding: 9px 0;
        border: 0;
    }

    .market-list-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        color: #9a9386;
        font-size: 8.5px;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .market-list-table td:nth-child(2),
    .market-list-table td:nth-child(3),
    .market-list-table td:nth-child(6),
    .market-row-action {
        grid-column: 1 / -1;
    }

    .market-row-action {
        padding-top: 11px !important;
        border-top: 1px solid #ece8dc !important;
        text-align: left;
    }

    .market-row-action::before {
        display: none !important;
    }

    .market-open-btn {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 620px) {
    .market-list-title h1 {
        font-size: 38px;
    }

    .market-side-tabs {
        width: 100%;
    }

    .market-side-tab {
        flex: 1;
        justify-content: center;
        padding: 0 8px;
    }

    .market-filter-form {
        grid-template-columns: 1fr;
    }

    .market-filter-button,
    .market-map-button {
        width: 100%;
        justify-content: center;
    }

    .market-list-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .market-list-row {
        grid-template-columns: 1fr;
    }

    .market-list-table td:nth-child(2),
    .market-list-table td:nth-child(3),
    .market-list-table td:nth-child(6),
    .market-row-action {
        grid-column: auto;
    }

    .market-pagination {
        grid-template-columns: 1fr 1fr;
    }

    .market-page-numbers {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-content: center;
    }

    .market-page-arrow:first-child,
    .market-page-arrow:last-child {
        grid-row: 2;
    }
}

/* ============================================================
   Marketplace v21 — professional quick filters + richer register
   ============================================================ */
.marketplace-page::after {
    content: "";
    position: fixed;
    inset: 58px 0 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 18%, rgba(202, 153, 42, .075), transparent 24%),
        radial-gradient(circle at 84% 36%, rgba(24, 23, 18, .045), transparent 28%);
}

.marketplace-page .market-list-marketplace,
.marketplace-page .lx-site-footer {
    position: relative;
    z-index: 1;
}

.market-quick-filters {
    position: relative;
    display: grid;
    gap: 9px;
    margin-top: 11px;
    padding: 12px 14px;
    border: 1px solid rgba(183,168,128,.4);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 26px rgba(40,34,20,.035);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.market-quick-row {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.market-quick-label {
    color: #8b8374;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.market-quick-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.market-quick-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid #ddd6c6;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: #5e594e;
    text-decoration: none;
    font-size: 10.5px;
    font-weight: 760;
    white-space: nowrap;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}

.market-quick-chip:hover {
    border-color: #c89a37;
    background: #fff8e7;
    color: #6e5112;
    transform: translateY(-1px);
}

.market-quick-chip.active {
    border-color: #c99628;
    background: #f2e4bb;
    color: #765711;
    box-shadow: inset 0 0 0 1px rgba(201,150,40,.08);
}

.market-clear-all {
    position: absolute;
    top: 11px;
    right: 13px;
    color: #8b6a20;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.market-clear-all:hover {
    color: #5e430a;
}

.market-list-meta {
    padding-top: 18px;
}

.market-list-table th:nth-child(1) { width: 70px; }
.market-list-table th:nth-child(2) { width: 180px; }
.market-list-table th:nth-child(3) { width: 170px; }
.market-list-table th:nth-child(4) { width: 160px; }
.market-list-table th:nth-child(5) { width: 190px; }
.market-list-table th:nth-child(6) { width: 220px; }
.market-list-table th:nth-child(7) { width: 170px; }
.market-list-table th:nth-child(8) { width: 82px; }

.market-list-table td[data-label="Commercial"] strong {
    color: #67501b;
}

.market-list-table td[data-label="Commercial"] small {
    max-width: 155px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.market-open-btn {
    min-width: 62px;
}

.market-open-btn-verify {
    min-width: 70px;
    border-color: #ead6a7;
    background: #fff8e9;
}

@media (max-width: 1280px) {
    .market-list-table th:nth-child(7),
    .market-list-table td:nth-child(7) {
        display: none;
    }
}

@media (max-width: 900px) {
    .market-quick-filters {
        padding: 12px;
    }

    .market-quick-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .market-clear-all {
        position: static;
        justify-self: start;
        margin-top: 2px;
    }

    .market-list-table td:nth-child(7) {
        display: block;
    }

    .market-list-table td:nth-child(2),
    .market-list-table td:nth-child(3),
    .market-list-table td:nth-child(6),
    .market-row-action {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .market-quick-filters {
        margin-inline: -1px;
    }

    .market-quick-buttons {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: thin;
    }

    .market-quick-chip {
        flex: 0 0 auto;
    }

    .market-list-table td:nth-child(7) {
        display: block;
    }
}

/* ============================================================
   Marketplace v22 — sticky terminal controls, sorting, relevance,
   and quick-preview drawer
   ============================================================ */
.market-sticky-filter-stack {
    position: sticky;
    top: 10px;
    z-index: 24;
    margin: -6px -7px 0;
    padding: 6px 7px 7px;
    border-radius: 20px;
    background: rgba(245,243,236,.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: box-shadow .18s ease, background .18s ease;
}

.market-sticky-filter-stack:has(.market-search-field input:focus),
.market-sticky-filter-stack:has(.market-commodity-filter select:focus) {
    background: rgba(245,243,236,.94);
    box-shadow: 0 14px 38px rgba(35,31,22,.08);
}

.market-sticky-filter-stack .market-quick-filters {
    margin-top: 8px;
}

.market-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s ease;
}

.market-sort-link span {
    color: rgba(255,255,255,.34);
    font-size: 10px;
    line-height: 1;
}

.market-sort-link:hover,
.market-sort-link.active {
    color: #fff;
}

.market-sort-link.active span {
    color: #d9aa3b;
}

.market-list-row.is-relevant {
    background: linear-gradient(90deg, rgba(207,159,49,.055), rgba(255,255,255,.94) 18%);
}

.market-list-row.is-relevant:hover,
.market-list-row.is-relevant:focus-visible {
    background: linear-gradient(90deg, rgba(207,159,49,.105), #fffdf7 25%);
}

.market-relevant-badge {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    margin-top: 5px;
    padding: 0 7px;
    border: 1px solid rgba(196,148,43,.28);
    border-radius: 999px;
    background: #fbf3dc;
    color: #846114;
    font-size: 8.5px;
    font-weight: 820;
    letter-spacing: .025em;
    white-space: nowrap;
}

.market-relevance-meta {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin-left: 5px;
    padding: 0 8px;
    border-radius: 999px;
    background: #f4ead0;
    color: #80611b;
    font-size: 9.5px;
    font-style: normal;
    font-weight: 780;
    white-space: nowrap;
}

.market-preview-open {
    overflow: hidden;
}

.market-preview-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(17,17,14,.34);
    opacity: 0;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    transition: opacity .22s ease;
}

.market-preview-backdrop.active {
    opacity: 1;
}

.market-preview-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 91;
    display: flex;
    flex-direction: column;
    width: min(470px, calc(100vw - 48px));
    height: 100dvh;
    padding: 24px 24px 28px;
    border-left: 1px solid rgba(200,184,145,.42);
    background:
        radial-gradient(circle at 86% 8%, rgba(201,151,41,.10), transparent 24%),
        #fbfaf6;
    box-shadow: -24px 0 70px rgba(26,23,17,.17);
    transform: translateX(104%);
    visibility: hidden;
    transition: transform .26s cubic-bezier(.2,.72,.2,1), visibility .26s;
    overflow-y: auto;
}

.market-preview-drawer.active {
    transform: translateX(0);
    visibility: visible;
}

.market-preview-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.market-preview-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.market-preview-relevant {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(196,148,43,.28);
    border-radius: 999px;
    background: #f5ead0;
    color: #7d5d16;
    font-size: 9.5px;
    font-weight: 820;
}

.market-preview-close {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    border: 1px solid #dfd9ca;
    border-radius: 10px;
    background: rgba(255,255,255,.82);
    color: #4b473e;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.market-preview-close:hover {
    border-color: #c99a35;
    background: #fff7e6;
    transform: rotate(3deg);
}

.market-preview-participant {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5dfd1;
}

.market-preview-flag {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    border: 1px solid #ddd6c6;
    border-radius: 12px;
    background: #fff;
    font-size: 25px;
}

.market-preview-participant strong,
.market-preview-participant span {
    display: block;
}

.market-preview-participant strong {
    font-size: 14px;
}

.market-preview-participant div span {
    margin-top: 2px;
    color: #817b70;
    font-size: 11px;
}

.market-preview-heading {
    padding: 24px 0 18px;
}

.market-preview-heading > span {
    color: #98731f;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.market-preview-heading h2 {
    margin: 6px 0 0;
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.market-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.market-preview-grid > div {
    min-height: 112px;
    padding: 14px;
    border: 1px solid #e0dacc;
    border-radius: 13px;
    background: rgba(255,255,255,.78);
}

.market-preview-grid span,
.market-preview-grid strong,
.market-preview-grid small {
    display: block;
}

.market-preview-grid span {
    color: #9a9385;
    font-size: 8.5px;
    font-weight: 820;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.market-preview-grid strong {
    margin-top: 8px;
    color: #26251f;
    font-size: 13px;
    line-height: 1.35;
}

.market-preview-grid small {
    margin-top: 4px;
    color: #817a6e;
    font-size: 10px;
    line-height: 1.4;
}

.market-preview-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 18px;
    padding: 13px 14px;
    border-radius: 12px;
    background: #f2efe6;
    color: #6f695e;
    font-size: 10.5px;
    line-height: 1.5;
}

.market-preview-note > span {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    margin-top: 4px;
    border-radius: 50%;
    background: #c99a32;
}

.market-preview-primary {
    width: 100%;
    min-height: 48px;
    justify-content: space-between;
    margin-top: auto;
    padding: 0 16px;
}

.market-preview-primary span {
    font-size: 17px;
}

@media (max-width: 900px) {
    .market-sticky-filter-stack {
        position: static;
        margin: 0;
        padding: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .market-list-row.is-relevant {
        background: linear-gradient(115deg, rgba(207,159,49,.075), rgba(255,255,255,.96) 25%);
    }

    .market-preview-drawer {
        top: auto;
        right: 0;
        bottom: 0;
        width: 100%;
        height: min(82dvh, 760px);
        padding: 18px 18px 22px;
        border-top: 1px solid rgba(200,184,145,.48);
        border-left: 0;
        border-radius: 22px 22px 0 0;
        transform: translateY(104%);
        box-shadow: 0 -22px 60px rgba(26,23,17,.18);
    }

    .market-preview-drawer.active {
        transform: translateY(0);
    }

    .market-preview-participant {
        margin-top: 18px;
    }
}

@media (max-width: 620px) {
    .market-relevance-meta {
        margin-left: 0;
        margin-top: 4px;
    }

    .market-list-meta > div {
        flex-wrap: wrap;
    }

    .market-preview-drawer {
        height: 88dvh;
        padding-inline: 15px;
    }

    .market-preview-grid {
        grid-template-columns: 1fr;
    }

    .market-preview-grid > div {
        min-height: 88px;
    }

    .market-preview-heading h2 {
        font-size: 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .market-preview-backdrop,
    .market-preview-drawer,
    .market-preview-close {
        transition: none;
    }
}

/* ============================================================
   Marketplace v24 — final terminal refinement
   freshness, watchlist, trade routes and richer quick preview
   ============================================================ */
.market-saved-tab b {
    color: #b98418;
    font-size: 12px;
    line-height: 1;
}

.market-saved-tab.active b {
    color: #efc45c;
}

.market-person-role {
    display: block;
    margin-top: 5px;
    color: #6f685b;
    font-size: 9px;
    font-weight: 720;
    line-height: 1.25;
}

.market-route-primary {
    line-height: 1.35;
}

.market-updated {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    color: #6f685d;
    font-size: 10px;
    font-weight: 720;
    line-height: 1.35;
}

.market-updated::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: #c99a31;
    box-shadow: 0 0 0 3px rgba(201,154,49,.11);
}

.market-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.market-save-btn {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    padding: 0;
    border: 1px solid #dfd8c8;
    border-radius: 9px;
    background: rgba(255,255,255,.86);
    color: #8b8068;
    cursor: pointer;
    font: inherit;
    transition: border-color .15s ease, color .15s ease, background .15s ease, transform .15s ease;
}

.market-save-btn span {
    font-size: 17px;
    line-height: 1;
}

.market-save-btn:hover {
    border-color: #c99a31;
    background: #fff8e7;
    color: #9a6d0d;
    transform: translateY(-1px);
}

.market-save-btn.is-saved {
    border-color: rgba(195,142,25,.42);
    background: #f7e9bd;
    color: #9a6b08;
}

.market-list-table th:nth-child(1) { width: 66px; }
.market-list-table th:nth-child(2) { width: 175px; }
.market-list-table th:nth-child(3) { width: 165px; }
.market-list-table th:nth-child(4) { width: 140px; }
.market-list-table th:nth-child(5) { width: 140px; }
.market-list-table th:nth-child(6) { width: 245px; }
.market-list-table th:nth-child(7) { width: 145px; }
.market-list-table th:nth-child(8) { width: 122px; }
.market-list-table th:nth-child(9) { width: 112px; }

.market-preview-freshness {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    border: 1px solid #ded8ca;
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: #766f62;
    font-size: 9px;
    font-weight: 760;
}

.market-preview-participant-copy em {
    display: inline-flex;
    width: fit-content;
    margin-top: 6px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f1eee5;
    color: #665f52;
    font-size: 9px;
    font-style: normal;
    font-weight: 760;
}

.market-preview-reason {
    display: inline-flex;
    width: fit-content;
    margin: 10px 0 0;
    padding: 7px 10px;
    border: 1px solid rgba(197,147,37,.22);
    border-radius: 9px;
    background: #fbf2d9;
    color: #795b18;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.4;
}

.market-preview-commercial-grid > div {
    min-height: 104px;
}

.market-preview-route-block,
.market-preview-specification {
    margin-top: 12px;
    padding: 15px 16px;
    border: 1px solid #e0dacc;
    border-radius: 13px;
    background: rgba(255,255,255,.78);
}

.market-preview-route-block > span,
.market-preview-specification > span {
    display: block;
    color: #9a9385;
    font-size: 8.5px;
    font-weight: 820;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.market-preview-route-block strong {
    display: block;
    margin-top: 8px;
    color: #24231e;
    font-size: 15px;
    line-height: 1.4;
}

.market-preview-route-block small {
    display: block;
    margin-top: 5px;
    color: #817a6e;
    font-size: 10px;
}

.market-preview-specification p {
    margin: 8px 0 0;
    color: #555044;
    font-size: 11px;
    line-height: 1.6;
}

.market-preview-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 13px;
    padding: 0 2px;
    color: #918a7d;
    font-size: 9.5px;
    font-weight: 680;
}

.market-preview-actions {
    display: grid;
    grid-template-columns: minmax(120px, .45fr) minmax(210px, 1fr);
    gap: 9px;
    margin-top: auto;
    padding-top: 18px;
}

.market-preview-save,
.market-preview-primary {
    width: 100%;
    min-height: 48px;
    margin-top: 0;
    justify-content: center;
}

.market-preview-save {
    gap: 7px;
    border-color: #d9d2c2;
    background: rgba(255,255,255,.88);
}

.market-preview-save span {
    color: #9a7115;
    font-size: 18px;
}

.market-preview-save.is-saved {
    border-color: #d1ab54;
    background: #f7e9bd;
    color: #765309;
}

.market-preview-primary {
    justify-content: space-between;
}

@media (max-width: 1280px) {
    .market-list-table th:nth-child(7),
    .market-list-table td:nth-child(7) {
        display: none;
    }
}

@media (max-width: 1220px) {
    .market-list-table th:nth-child(5),
    .market-list-table td:nth-child(5) {
        display: table-cell;
    }

    .market-list-table th:nth-child(8),
    .market-list-table td:nth-child(8) {
        display: none;
    }
}

@media (max-width: 900px) {
    .market-list-table td:nth-child(5),
    .market-list-table td:nth-child(7),
    .market-list-table td:nth-child(8) {
        display: block;
    }

    .market-list-table td:nth-child(2),
    .market-list-table td:nth-child(3),
    .market-list-table td:nth-child(6),
    .market-row-action {
        grid-column: 1 / -1;
    }

    .market-row-actions {
        justify-content: stretch;
    }

    .market-save-btn {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .market-open-btn {
        flex: 1;
    }
}

@media (max-width: 620px) {
    .market-preview-actions {
        grid-template-columns: 1fr;
    }

    .market-preview-save,
    .market-preview-primary {
        min-height: 46px;
    }

    .market-preview-meta-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .market-preview-route-block strong {
        font-size: 14px;
    }
}


/* ============================================================
   Marketplace v26 — graphite sticky command bar
   ============================================================ */
.marketplace-page .market-sticky-filter-stack {
    padding: 7px;
    border-radius: 19px;
    background: rgba(39, 37, 31, .97);
    border: 1px solid rgba(210, 160, 42, .14);
    box-shadow: 0 16px 42px rgba(24, 22, 17, .14);
    backdrop-filter: blur(20px) saturate(118%);
    -webkit-backdrop-filter: blur(20px) saturate(118%);
}

.marketplace-page .market-sticky-filter-stack:has(.market-search-field input:focus),
.marketplace-page .market-sticky-filter-stack:has(.market-commodity-filter select:focus) {
    background: rgba(34, 33, 28, .985);
    box-shadow: 0 18px 46px rgba(18, 17, 13, .19);
}

.marketplace-page .market-control-panel {
    border-color: rgba(255,255,255,.08);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.marketplace-page .market-side-tabs {
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.055);
}

.marketplace-page .market-side-tab {
    color: #cbc5b8;
}

.marketplace-page .market-side-tab span {
    background: rgba(255,255,255,.08);
    color: #d8d1c1;
}

.marketplace-page .market-side-tab:hover {
    color: #fff;
    background: rgba(255,255,255,.075);
}

.marketplace-page .market-side-tab.active {
    color: #1c1a15;
    background: #d2a02a;
    box-shadow: 0 5px 16px rgba(210,160,42,.22);
}

.marketplace-page .market-side-tab.active span {
    color: #211d12;
    background: rgba(255,255,255,.28);
}

.marketplace-page .market-saved-tab b {
    color: #d8aa3d;
}

.marketplace-page .market-side-tab.active b {
    color: #1c1a15;
}

.marketplace-page .market-search-field input,
.marketplace-page .market-commodity-filter select {
    border-color: rgba(255,255,255,.13);
    background: #f8f5ed;
    color: #1b1a17;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.marketplace-page .market-search-field input::placeholder {
    color: #8a8375;
}

.marketplace-page .market-search-field input:focus,
.marketplace-page .market-commodity-filter select:focus {
    border-color: #d2a02a;
    box-shadow: 0 0 0 3px rgba(210,160,42,.19);
}

.marketplace-page .market-filter-button {
    border-color: #d2a02a;
    background: #d2a02a;
    color: #17150f;
    box-shadow: 0 5px 16px rgba(210,160,42,.16);
}

.marketplace-page .market-filter-button:hover {
    background: #dfae37;
    border-color: #dfae37;
}

.marketplace-page .market-map-button {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.07);
    color: #f7f4eb;
}

.marketplace-page .market-map-button:hover {
    border-color: rgba(210,160,42,.55);
    background: rgba(210,160,42,.12);
    color: #f8d97e;
}

.marketplace-page .market-reset-link {
    color: #c7bdab;
}

.marketplace-page .market-reset-link:hover {
    color: #f1c65d;
}

.marketplace-page .market-sticky-filter-stack .market-quick-filters {
    margin-top: 7px;
    border-color: rgba(104, 82, 34, .18);
    background: rgba(237, 230, 215, .98);
    box-shadow: 0 7px 18px rgba(20,18,14,.10);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.marketplace-page .market-quick-label {
    color: #706858;
}

.marketplace-page .market-quick-chip {
    border-color: #cfc4ae;
    background: rgba(250,248,242,.82);
    color: #514b40;
}

.marketplace-page .market-quick-chip:hover {
    border-color: #b78925;
    background: #fff9e9;
    color: #6d4d0d;
}

.marketplace-page .market-quick-chip.active {
    border-color: #c39120;
    background: #e8d39a;
    color: #5f440b;
    box-shadow: inset 0 0 0 1px rgba(156,112,16,.08);
}

.marketplace-page .market-clear-all {
    color: #795b16;
}

@media (max-width: 900px) {
    .marketplace-page .market-sticky-filter-stack {
        position: static;
        padding: 6px;
        background: rgba(39,37,31,.98);
        border-radius: 17px;
        box-shadow: 0 12px 30px rgba(24,22,17,.12);
    }

    .marketplace-page .market-control-panel {
        padding: 10px;
    }

    .marketplace-page .market-sticky-filter-stack .market-quick-filters {
        background: #ede6d7;
    }
}

/* ============================================================
   Marketplace v30 — explicit origin vs commercial location
   ============================================================ */
.market-not-applicable {
    color: #aaa294;
    font-weight: 700;
}

.market-origin-cell strong,
.market-location-cell strong {
    display: block;
    color: #24231e;
    line-height: 1.35;
}

.market-origin-cell small,
.market-location-cell small {
    display: block;
    margin-top: 4px;
    color: #8a8376;
    font-size: 9.5px;
    line-height: 1.35;
}

.market-preview-geography-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.market-preview-geography-card {
    padding: 15px 16px;
    border: 1px solid #e0dacc;
    border-radius: 13px;
    background: rgba(255,255,255,.78);
}

.market-preview-geography-card.is-full {
    grid-column: 1 / -1;
}

.market-preview-geography-card > span {
    display: block;
    color: #9a9385;
    font-size: 8.5px;
    font-weight: 820;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.market-preview-geography-card strong {
    display: block;
    margin-top: 8px;
    color: #24231e;
    font-size: 15px;
    line-height: 1.4;
}

.market-preview-geography-card small {
    display: block;
    margin-top: 5px;
    color: #817a6e;
    font-size: 10px;
    line-height: 1.45;
}

@media (min-width: 901px) {
    .market-table-shell {
        overflow-x: auto;
    }

    .market-list-table {
        table-layout: auto;
    }

    .market-list-table th {
        width: auto !important;
    }

    .market-list-table.market-side-all,
    .market-list-table.market-side-sell {
        min-width: 1220px;
    }

    .market-list-table.market-side-buy {
        min-width: 1080px;
    }

    .market-col-origin,
    .market-origin-cell {
        min-width: 125px;
    }

    .market-col-location,
    .market-location-cell {
        min-width: 205px;
    }

    .market-col-commercial,
    .market-list-table td[data-label="Commercial"] {
        min-width: 130px;
    }

    .market-col-updated,
    .market-list-table td[data-label="Updated"] {
        min-width: 112px;
    }
}

@media (max-width: 1280px) and (min-width: 901px) {
    .market-col-origin,
    .market-origin-cell,
    .market-col-location,
    .market-location-cell {
        display: table-cell !important;
    }

    .market-col-commercial,
    .market-list-table td[data-label="Commercial"] {
        display: none !important;
    }
}

@media (max-width: 1220px) and (min-width: 901px) {
    .market-col-updated,
    .market-list-table td[data-label="Updated"] {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .market-list-table td[data-label="Product origin"],
    .market-list-table td[data-label="Delivery destination"],
    .market-list-table td[data-label="Current stock location"],
    .market-list-table td[data-label="Delivery / stock location"],
    .market-list-table td[data-label="Commercial"],
    .market-list-table td[data-label="Updated"] {
        display: block !important;
    }

    .market-origin-cell,
    .market-location-cell {
        grid-column: 1 / -1;
    }

    .market-preview-geography-grid {
        grid-template-columns: 1fr;
    }

    .market-preview-geography-card.is-full {
        grid-column: auto;
    }
}

/* ============================================================
   v33 Messages inbox + protected chat refinement
   ============================================================ */

.messages-body,
.chat-body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        linear-gradient(rgba(248,246,239,.88), rgba(248,246,239,.94)),
        url('world-map.svg') center 112px / min(1420px, 94vw) auto no-repeat,
        #f6f3eb;
}

.messages-body .lx-site-footer,
.chat-body .lx-site-footer {
    margin-top: auto;
}

.messages-page {
    width: min(1320px, calc(100% - 36px));
    flex: 1 0 auto;
    padding: 44px 0 72px;
}

.messages-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
    margin-bottom: 20px;
    padding: 26px 28px;
    border: 1px solid rgba(213,204,184,.9);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 16px 38px rgba(31,27,18,.055);
    backdrop-filter: blur(8px);
}

.messages-hero-copy h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1;
    letter-spacing: -.055em;
}

.messages-hero-copy p {
    max-width: 760px;
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.65;
}

.messages-stat-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    gap: 8px;
}

.messages-stat-strip > div {
    min-width: 98px;
    padding: 13px 14px;
    border: 1px solid #e4dcc9;
    border-radius: 13px;
    background: #fbf8f0;
}

.messages-stat-strip strong,
.messages-stat-strip span {
    display: block;
}

.messages-stat-strip strong {
    margin-bottom: 2px;
    color: #1f1d18;
    font-size: 22px;
    letter-spacing: -.03em;
}

.messages-stat-strip span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.messages-command-bar {
    display: grid;
    grid-template-columns: auto minmax(280px, 440px);
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding: 10px;
    border: 1px solid #39352d;
    border-radius: 15px;
    background: linear-gradient(180deg, #2d2922, #24211c);
    box-shadow: 0 12px 28px rgba(23,20,15,.12);
}

.messages-tabs {
    display: flex;
    gap: 4px;
    align-items: center;
}

.messages-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 13px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #ded8ca;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.messages-tab span {
    min-width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #f4efe2;
    font-size: 10px;
}

.messages-tab:hover {
    background: rgba(255,255,255,.06);
}

.messages-tab.active {
    background: #d4a02b;
    color: #211d15;
}

.messages-tab.active span {
    background: rgba(33,29,21,.13);
    color: #211d15;
}

.messages-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 42px;
    padding: 0 13px;
    border-radius: 10px;
    background: #fbf8f1;
}

.messages-search > span {
    color: #847d6e;
    font-size: 17px;
}

.messages-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #26231e;
    font: inherit;
    font-size: 13px;
}

.conversation-inbox {
    overflow: hidden;
    border: 1px solid #ddd5c2;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 38px rgba(31,27,18,.06);
}

.conversation-inbox-row {
    display: grid;
    grid-template-columns: 175px minmax(0, 1fr) 150px;
    gap: 24px;
    align-items: center;
    min-height: 126px;
    padding: 20px 22px;
    border-bottom: 1px solid #ebe5d8;
    color: inherit;
    text-decoration: none;
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.conversation-inbox-row:last-of-type {
    border-bottom: 0;
}

.conversation-inbox-row:hover {
    position: relative;
    z-index: 1;
    background: #fffaf0;
    box-shadow: inset 4px 0 0 #d4a02b;
}

.conversation-route-visual {
    display: grid;
    grid-template-columns: 40px minmax(14px, 1fr) 38px minmax(14px, 1fr) 40px;
    align-items: center;
    gap: 6px;
}

.conversation-person-flag,
.chat-route-flag {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid #e1dac8;
    border-radius: 11px;
    background: #faf7ef;
    font-size: 21px;
}

.conversation-route-line {
    height: 1px;
    background: linear-gradient(90deg, #d7c28d, #aa7d1e);
}

.conversation-lorexa-node {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 4px solid #f4e7bd;
    border-radius: 999px;
    background: #d4a02b;
    color: #1e1a13;
    font-size: 12px;
    font-weight: 900;
}

.conversation-inbox-main {
    min-width: 0;
}

.conversation-inbox-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
}

.conversation-commodity-pill,
.conversation-role-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.conversation-commodity-pill {
    background: #f5e8c0;
    color: #76530b;
}

.conversation-role-pill {
    background: #f0eee8;
    color: #656055;
}

.conversation-inbox-main h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 7px;
    margin: 0 0 7px;
    font-size: 18px;
    letter-spacing: -.02em;
}

.conversation-inbox-main h2 small {
    color: #918a7a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.conversation-inbox-main h2 em {
    color: #a87b18;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.conversation-last-message {
    max-width: 760px;
    margin: 0;
    overflow: hidden;
    color: #746e62;
    font-size: 13px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversation-inbox-side {
    display: grid;
    justify-items: end;
    gap: 8px;
    text-align: right;
}

.conversation-status {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #edf5ee;
    color: #39704a;
    font-size: 10px;
    font-weight: 820;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.conversation-status.archived,
.conversation-status.closed,
.conversation-status.completed,
.conversation-status.declined {
    background: #eeece7;
    color: #777064;
}

.conversation-inbox-side time {
    color: #8a8375;
    font-size: 11px;
}

.conversation-open-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #76530b;
    font-size: 12px;
    font-weight: 820;
}

.conversation-open-action strong {
    font-size: 16px;
}

.conversation-filter-empty,
.messages-empty-state {
    padding: 56px 24px;
    color: var(--muted);
    text-align: center;
}

.messages-empty-state {
    border: 1px solid #ddd5c2;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
}

.messages-empty-state h2 {
    margin: 12px 0 7px;
    color: var(--ink);
}

.messages-empty-state p {
    max-width: 580px;
    margin: 0 auto 20px;
    line-height: 1.6;
}

.messages-empty-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto;
    display: grid;
    place-items: center;
    border: 5px solid #f4e8c1;
    border-radius: 999px;
    background: #d4a02b;
    color: #1c1913;
    font-weight: 900;
}

/* Conversation view */
.chat-body {
    background:
        linear-gradient(rgba(240,237,228,.9), rgba(240,237,228,.94)),
        url('world-map.svg') center 108px / min(1360px, 94vw) auto no-repeat,
        #efede6;
}

.chat-shell {
    width: min(1120px, calc(100% - 32px));
    flex: 1 0 auto;
    padding: 28px 0 52px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin-bottom: 10px;
    padding: 0 11px;
    border: 1px solid #ddd5c4;
    border-radius: 9px;
    background: rgba(255,255,255,.86);
    color: #595348;
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
}

.back-link:hover {
    border-color: #cba448;
    color: #76530b;
}

.chat-window {
    border-radius: 20px;
    border-color: #d2c8b2;
    box-shadow: 0 20px 52px rgba(23,20,15,.11);
}

.chat-header-premium {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
    gap: 26px;
    align-items: center;
    padding: 22px 24px;
    background: linear-gradient(115deg, #29251f, #1e1b17);
    color: #fff;
}

.chat-header-kicker-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.chat-header-premium .chat-kicker {
    color: #e3b84f;
}

.chat-status-chip {
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #ded8cb;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.chat-header-premium h1 {
    margin: 8px 0 3px;
    color: #fff;
    font-size: 24px;
}

.chat-header-premium p {
    color: #bdb6aa;
}

.chat-participant-route {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 24px minmax(128px, 1fr) 24px minmax(120px, 1fr);
    gap: 8px;
    align-items: center;
}

.chat-route-person,
.chat-route-lorexa {
    min-width: 0;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.05);
}

.chat-route-person strong,
.chat-route-person small,
.chat-route-lorexa strong,
.chat-route-lorexa small {
    display: block;
}

.chat-route-person strong,
.chat-route-lorexa strong {
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-route-person small,
.chat-route-lorexa small {
    margin-top: 2px;
    color: #aaa295;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.chat-route-lorexa > span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 4px solid rgba(238,202,106,.22);
    border-radius: 999px;
    background: #d4a02b;
    color: #1f1b14;
    font-size: 12px;
    font-weight: 900;
}

.chat-route-flag {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.07);
}

.chat-route-arrow {
    color: #d4a02b;
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.chat-messages {
    height: min(60vh, 650px);
    padding: 26px;
    background:
        radial-gradient(circle at 12% 20%, rgba(202,156,45,.055), transparent 23%),
        radial-gradient(circle at 84% 70%, rgba(31,29,24,.035), transparent 25%),
        #f8f5ee;
}

.chat-bubble {
    padding: 11px 14px;
    border-radius: 5px 15px 15px 15px;
    box-shadow: 0 5px 14px rgba(30,27,21,.035);
}

.chat-message.mine .chat-bubble {
    border-radius: 15px 5px 15px 15px;
    background: #f4e5ad;
}

.chat-rule-protected {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 18px;
    text-align: left;
}

.chat-rule-protected strong,
.chat-rule-protected span {
    display: block;
}

.chat-rule-protected strong {
    color: #514b40;
    font-size: 11px;
}

.chat-rule-protected span {
    margin-top: 1px;
    color: #898276;
    font-size: 10px;
}

.chat-rule-icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #edf6ef;
    color: #357047;
    font-size: 12px;
    font-weight: 900;
}

.chat-compose {
    padding: 14px;
    background: #fff;
}

.chat-compose textarea {
    min-height: 48px;
    border-radius: 14px;
    background: #fbfaf6;
}

.chat-compose .btn {
    min-width: 96px;
    border-radius: 12px;
}

@media (max-width: 980px) {
    .messages-hero {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .messages-stat-strip {
        width: 100%;
    }

    .messages-command-bar {
        grid-template-columns: 1fr;
    }

    .conversation-inbox-row {
        grid-template-columns: 150px minmax(0, 1fr) 120px;
        gap: 16px;
    }

    .chat-header-premium {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .messages-page {
        width: min(100% - 24px, 1320px);
        padding-top: 24px;
    }

    .messages-hero {
        padding: 20px;
        border-radius: 14px;
    }

    .messages-hero-copy h1 {
        font-size: 42px;
    }

    .messages-stat-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .messages-stat-strip > div {
        min-width: 0;
        padding: 11px;
    }

    .messages-tabs {
        overflow-x: auto;
    }

    .conversation-inbox-row {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 17px;
    }

    .conversation-route-visual {
        max-width: 250px;
    }

    .conversation-inbox-side {
        grid-template-columns: auto auto 1fr;
        align-items: center;
        justify-items: start;
        text-align: left;
    }

    .conversation-open-action {
        justify-self: end;
    }

    .conversation-last-message {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .chat-shell {
        width: min(100% - 16px, 1120px);
        padding-top: 14px;
    }

    .chat-window {
        border-radius: 14px;
    }

    .chat-header-premium {
        padding: 17px;
    }

    .chat-participant-route {
        grid-template-columns: 1fr;
    }

    .chat-route-arrow {
        transform: rotate(90deg);
    }

    .chat-route-arrow.reverse {
        transform: rotate(-90deg);
    }

    .chat-messages {
        height: 56vh;
        padding: 16px 12px;
    }

    .chat-message {
        width: min(88%, 620px);
    }

    .chat-rule-protected {
        align-items: flex-start;
        justify-content: flex-start;
    }

    .chat-compose {
        grid-template-columns: 1fr auto;
        padding: 10px;
    }

    .chat-compose .btn {
        min-width: 72px;
        padding-inline: 14px;
    }
}

/* ============================================================
   v34 chat alignment, role identity and secure composer
   ============================================================ */
.chat-route-person.is-viewer {
    border-color: rgba(224, 174, 57, .55);
    background: rgba(224, 174, 57, .10);
    box-shadow: inset 0 0 0 1px rgba(224, 174, 57, .10);
}

.chat-route-person.is-viewer small {
    color: #e6bd5e;
}

.chat-message {
    width: min(68%, 640px);
}

.chat-message.mine {
    margin-left: auto;
    margin-right: 0;
}

.chat-message:not(.mine) {
    margin-left: 0;
    margin-right: auto;
}

.chat-role-label {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #efede6;
    color: #716a5d;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.chat-message.participant-buyer:not(.mine) .chat-bubble {
    border-color: #cbd9e9;
    background: #f2f6fb;
    color: #202934;
}

.chat-message.participant-buyer .chat-message-meta strong {
    color: #48647e;
}

.chat-message.participant-buyer .chat-role-label {
    background: #e9f0f8;
    color: #49657d;
}

.chat-message.participant-seller:not(.mine) .chat-bubble {
    border-color: #dfcf9e;
    background: #fbf6e9;
    color: #312a1d;
}

.chat-message.participant-seller .chat-message-meta strong {
    color: #8a6720;
}

.chat-message.participant-seller .chat-role-label {
    background: #f5ead0;
    color: #805e18;
}

.chat-message.mine.participant-buyer .chat-bubble {
    border-color: #aac1dc;
    background: #dfeaf6;
    box-shadow: 0 7px 18px rgba(66, 94, 122, .10);
}

.chat-message.mine.participant-seller .chat-bubble {
    border-color: #d5ad4d;
    background: #f1dfa5;
    box-shadow: 0 7px 18px rgba(150, 109, 24, .11);
}

.chat-message.mine .chat-message-meta strong {
    color: #332d23;
}

.chat-message.participant-lorexa,
.chat-message.lorexa-message {
    margin-left: 0;
    margin-right: auto;
}

.chat-message.participant-lorexa .chat-bubble,
.chat-message.lorexa-message .chat-bubble {
    border-color: #2a2721;
    background: linear-gradient(180deg, #282620, #211f1a);
    color: #fff;
    box-shadow: 0 8px 20px rgba(25, 22, 17, .11);
}

.chat-message.participant-lorexa .chat-role-label,
.chat-message.lorexa-message .chat-role-label {
    background: #3b3529;
    color: #e3b74d;
}

.chat-compose {
    align-items: end;
}

.chat-input-wrap {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.chat-compose textarea {
    min-height: 50px;
    max-height: 132px;
    overflow-y: auto;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.chat-compose textarea.contact-risk {
    border-color: #c85a4f;
    background: #fff7f5;
    box-shadow: 0 0 0 3px rgba(190, 67, 56, .10);
}

.chat-compose-hint {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    padding: 0 4px;
    color: #8b8478;
    font-size: 9px;
    line-height: 1.35;
}

.chat-compose-hint strong {
    color: #5d5649;
    font-weight: 800;
}

.chat-compose .btn:disabled,
.chat-compose .btn.is-sending {
    opacity: .58;
    cursor: wait;
}

.chat-error {
    border-top-color: #e2afa9;
    background: #fff3f1;
    color: #a4372f;
    font-weight: 650;
}

@media (max-width: 720px) {
    .chat-message {
        width: min(90%, 640px);
    }

    .chat-compose-hint {
        gap: 4px 9px;
        font-size: 8px;
    }
}


/* Lorexa v39 · official uploaded brand system */
.lorexa-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
    line-height: 1;
}

.brand-logo {
    display: block;
    width: auto;
    height: 40px;
    max-width: 112px;
    object-fit: contain;
}

.member-header .brand-logo {
    height: 38px;
    max-width: 106px;
}

.register-header .brand-logo {
    height: 42px;
    max-width: 116px;
}

.admin-header .brand-logo {
    height: 36px;
    max-width: 100px;
}

.admin-login-brand .brand-logo {
    height: 48px;
    max-width: 133px;
}

.brand-context {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding-left: 9px;
    border-left: 1px solid var(--line);
    color: var(--muted);
    font-size: 12px;
    font-weight: 760;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lx-footer-brand-logo {
    display: block;
    width: auto;
    height: 52px;
    max-width: 145px;
    object-fit: contain;
}

@media (max-width: 760px) {
    .brand-logo,
    .register-header .brand-logo,
    .member-header .brand-logo {
        height: 34px;
        max-width: 95px;
    }

    .admin-header .brand-logo {
        height: 32px;
        max-width: 89px;
    }

    .admin-login-brand .brand-logo {
        height: 44px;
        max-width: 122px;
    }

    .lx-footer-brand-logo {
        height: 46px;
        max-width: 128px;
    }
}


/* v40: use the official Lorexa mark anywhere Lorexa is represented as a node/avatar. */
.hero-network-icon-lorexa img {
    display: block;
    width: 38px;
    height: 42px;
    object-fit: contain;
}

.home-page .hero-network-icon-lorexa {
    background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.11), rgba(201,154,50,.05));
}

.conversation-lorexa-node img {
    display: block;
    width: 25px;
    height: 28px;
    object-fit: contain;
}

.messages-empty-icon img {
    display: block;
    width: 31px;
    height: 35px;
    object-fit: contain;
}

.chat-route-lorexa > .chat-route-lorexa-mark img {
    display: block;
    width: 27px;
    height: 31px;
    object-fit: contain;
}

.chat-route-lorexa > .chat-route-lorexa-mark {
    background: rgba(212,160,43,.08);
}

@media (max-width: 760px) {
    .hero-network-icon-lorexa img {
        width: 34px;
        height: 38px;
    }
}

/* v40 polish: keep the gold mark legible by placing it on a dark branded node. */
.home-page .hero-network-icon-lorexa,
.home-page .hero-network-party-lorexa:hover .hero-network-icon-lorexa,
.conversation-lorexa-node,
.messages-empty-icon,
.chat-route-lorexa > .chat-route-lorexa-mark {
    background: #1e1c17;
}

.home-page .hero-network-party-lorexa:hover .hero-network-icon-lorexa {
    border-color: #edc66d;
    box-shadow: 0 0 0 9px rgba(201,154,50,.11), 0 0 30px rgba(213,165,53,.2), 0 10px 26px rgba(0,0,0,.2);
}

.conversation-lorexa-node,
.messages-empty-icon {
    border-color: #f1dfaa;
    box-shadow: 0 4px 14px rgba(63,48,19,.1);
}

/* ============================================================
   v43 · compact premium chat + visible contact-protection state
   ============================================================ */
.chat-window {
    overflow: hidden;
    background: #fff;
}

.chat-messages {
    height: clamp(340px, 46vh, 520px);
    padding: 22px 24px 18px;
    background:
        radial-gradient(circle at 10% 12%, rgba(203, 157, 46, .055), transparent 22%),
        radial-gradient(circle at 90% 84%, rgba(38, 34, 27, .035), transparent 24%),
        linear-gradient(180deg, #faf8f2 0%, #f7f4ec 100%);
    scroll-behavior: smooth;
}

.chat-message {
    width: fit-content;
    max-width: min(72%, 600px);
    margin-bottom: 13px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.chat-message.mine {
    width: fit-content;
    max-width: min(72%, 600px);
    align-items: flex-end;
    margin-left: auto;
    margin-right: 0;
}

.chat-message:not(.mine) {
    width: fit-content;
    max-width: min(72%, 600px);
    align-items: flex-start;
}

.chat-message-meta {
    min-height: 18px;
    gap: 6px;
    margin: 0 7px 5px;
    font-size: 9px;
    line-height: 1;
}

.chat-message-meta strong {
    font-size: 10px;
    font-weight: 820;
}

.chat-message-meta > span:last-child {
    opacity: .72;
}

.chat-role-label {
    min-height: 16px;
    padding: 2px 6px;
    font-size: 7px;
    letter-spacing: .07em;
}

.chat-bubble {
    width: fit-content;
    min-width: 58px;
    max-width: 100%;
    padding: 10px 13px;
    border-radius: 16px 16px 16px 5px;
    box-shadow: 0 5px 16px rgba(31, 27, 20, .055);
    font-size: 13px;
    line-height: 1.48;
}

.chat-message.mine .chat-bubble {
    border-radius: 16px 16px 5px 16px;
}

.chat-message.mine.participant-seller .chat-bubble {
    border-color: #d5ad4d;
    background: linear-gradient(180deg, #f5e5ad 0%, #efdc9f 100%);
    box-shadow: 0 7px 20px rgba(150, 109, 24, .10);
}

.chat-message.mine.participant-buyer .chat-bubble {
    border-color: #b8cce2;
    background: linear-gradient(180deg, #e9f1f9 0%, #dfeaf6 100%);
    box-shadow: 0 7px 20px rgba(66, 94, 122, .09);
}

.chat-message.participant-buyer:not(.mine) .chat-bubble {
    border-color: #cfdae7;
    background: #f7f9fc;
}

.chat-message.participant-seller:not(.mine) .chat-bubble {
    border-color: #dfd1a7;
    background: #fcf8ee;
}

.chat-message.participant-lorexa .chat-bubble,
.chat-message.lorexa-message .chat-bubble {
    min-width: 110px;
    border-color: #302c24;
    background: linear-gradient(180deg, #2b2923 0%, #211f1b 100%);
    box-shadow: 0 8px 22px rgba(23, 20, 16, .12);
}

.chat-empty {
    max-width: 390px;
    margin: 82px auto;
    padding: 18px 20px;
    border: 1px dashed #d7ccb2;
    border-radius: 14px;
    background: rgba(255, 255, 255, .52);
}

.chat-rule-protected {
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 18px;
    border-top: 1px solid #e4dfd2;
    border-bottom: 1px solid #e8e3d7;
    background: linear-gradient(90deg, #fbfaf5, #f7f4ea);
}

.chat-rule-copy {
    min-width: 0;
    flex: 1;
}

.chat-rule-protected .chat-rule-copy strong,
.chat-rule-protected .chat-rule-copy span {
    display: block;
}

.chat-rule-protected .chat-rule-copy strong {
    color: #403a30;
    font-size: 10px;
    letter-spacing: .01em;
}

.chat-rule-protected .chat-rule-copy span {
    max-width: 760px;
    margin-top: 2px;
    color: #827a6d;
    font-size: 9px;
    line-height: 1.4;
}

.chat-rule-icon {
    flex: 0 0 auto;
    width: 27px;
    height: 27px;
    background: #edf5ec;
    box-shadow: inset 0 0 0 1px rgba(52, 112, 71, .08);
}

.chat-rule-badge {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    min-height: 26px;
    margin: 0 !important;
    padding: 0 9px;
    border: 1px solid #dfd6c0;
    border-radius: 999px;
    background: #fff;
    color: #756b59 !important;
    font-size: 8px !important;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.chat-compose {
    gap: 10px;
    align-items: end;
    padding: 12px 14px 14px;
    border-top: 0;
    background: #fff;
    box-shadow: 0 -7px 22px rgba(32, 28, 21, .035);
}

.chat-input-wrap {
    gap: 5px;
}

.chat-compose textarea {
    min-height: 48px;
    padding: 12px 14px;
    border-color: #d4cdbc;
    border-radius: 14px;
    background: #fdfcf9;
    font-size: 13px;
    line-height: 1.45;
}

.chat-compose textarea:focus {
    border-color: #c89a31;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(199, 154, 51, .10);
}

.chat-compose .btn {
    min-width: 88px;
    min-height: 48px;
    border-radius: 12px;
}

.chat-compose-hint {
    gap: 4px 12px;
    padding-inline: 4px;
    font-size: 8px;
}

.chat-error {
    padding: 10px 16px;
    border-top: 1px solid #e9b8b2;
    background: #fff5f3;
    font-size: 11px;
}

.chat-readonly {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-top: 1px solid #e2ded2;
    background: #faf8f3;
    color: #756e62;
}

.chat-readonly strong {
    flex: 0 0 auto;
    color: #39342c;
    font-size: 11px;
}

.chat-readonly span {
    font-size: 10px;
    line-height: 1.4;
}

@media (max-width: 720px) {
    .chat-messages {
        height: clamp(320px, 52vh, 500px);
        padding: 16px 12px 14px;
    }

    .chat-message,
    .chat-message.mine,
    .chat-message:not(.mine) {
        max-width: 86%;
    }

    .chat-bubble {
        font-size: 12px;
    }

    .chat-rule-protected {
        align-items: flex-start;
        padding: 10px 12px;
    }

    .chat-rule-badge {
        display: none !important;
    }

    .chat-compose {
        padding: 10px;
    }

    .chat-readonly {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}


/* ============================================================
   v45 · stable WhatsApp-style member chat bubbles
   The server-rendered and live-AJAX message DOM now share the
   same structure. This also removes the reload-only whitespace
   expansion caused by pre-wrap + indented PHP markup.
   ============================================================ */
.chat-body .chat-messages {
    /* Keep messages naturally stacked at the top of the scroll area. */
    display: block;
}

.chat-body .chat-message,
.chat-body .chat-message.mine,
.chat-body .chat-message:not(.mine) {
    width: fit-content;
    max-width: min(72%, 600px);
    margin-top: 0;
    margin-bottom: 9px;
}

.chat-body .chat-message.mine {
    margin-left: auto;
    margin-right: 0;
}

.chat-body .chat-message:not(.mine) {
    margin-left: 0;
    margin-right: auto;
}

.chat-body .chat-bubble {
    position: relative;
    display: block;
    width: fit-content;
    min-width: 116px;
    max-width: 100%;
    padding: 9px 11px 7px;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.chat-body .chat-bubble-sender {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
    margin: 0 0 4px;
    line-height: 1.15;
}

.chat-body .chat-bubble-sender strong {
    min-width: 0;
    overflow: hidden;
    color: #6f571d;
    font-size: 10.5px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-body .chat-message.participant-buyer .chat-bubble-sender strong {
    color: #42627e;
}

.chat-body .chat-message.participant-seller .chat-bubble-sender strong {
    color: #826117;
}

.chat-body .chat-message.participant-lorexa .chat-bubble-sender strong,
.chat-body .chat-message.lorexa-message .chat-bubble-sender strong {
    color: #e7bc53;
}

.chat-body .chat-bubble-sender .chat-role-label {
    flex: 0 0 auto;
    min-height: 14px;
    padding: 2px 5px;
    font-size: 6.5px;
    line-height: 1;
}

.chat-body .chat-bubble-text {
    margin: 0;
    padding: 0 26px 0 0;
    color: inherit;
    font-size: 13px;
    line-height: 1.38;
    white-space: pre-wrap;
    word-break: break-word;
}

.chat-body .chat-bubble-time {
    display: block;
    min-width: 28px;
    margin: 2px 0 0 auto;
    color: #847d70;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.chat-body .chat-message.mine .chat-bubble-time {
    color: rgba(89, 69, 28, .68);
}

.chat-body .chat-message.participant-lorexa .chat-bubble-time,
.chat-body .chat-message.lorexa-message .chat-bubble-time {
    color: rgba(255, 255, 255, .58);
}

/* Old external metadata is no longer rendered on the member chat page. */
.chat-body .chat-message > .chat-message-meta {
    display: none;
}

@media (max-width: 720px) {
    .chat-body .chat-message,
    .chat-body .chat-message.mine,
    .chat-body .chat-message:not(.mine) {
        max-width: 86%;
        margin-bottom: 8px;
    }

    .chat-body .chat-bubble {
        min-width: 104px;
        padding: 8px 10px 6px;
    }

    .chat-body .chat-bubble-text {
        padding-right: 22px;
        font-size: 12px;
    }
}

/* ============================================================
   Lorexa v47 · Professional admin member control center
   ============================================================ */

.admin-console-body {
    background:
        radial-gradient(circle at 10% 0%, rgba(199,154,51,.08), transparent 26%),
        #f3f4f1;
}

.admin-console-header {
    position: sticky;
    top: 0;
    z-index: 80;
    box-shadow: 0 1px 0 rgba(255,255,255,.04), 0 8px 26px rgba(0,0,0,.10);
}

.admin-console-header .admin-nav {
    min-height: 72px;
}

.admin-primary-nav {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 4px;
    margin-left: 22px;
    margin-right: auto;
}

.admin-primary-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 72px;
    padding: 0 16px;
    color: #b9b7ae;
    font-size: 12px;
    font-weight: 760;
    text-decoration: none;
    letter-spacing: .02em;
}

.admin-primary-nav a:hover,
.admin-primary-nav a.is-active {
    color: #fff;
}

.admin-primary-nav a.is-active::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: #c99a32;
}

.admin-identity {
    display: inline-flex !important;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #39382f;
    border-radius: 999px;
    background: #20201b;
    color: #d9d5c9 !important;
    font-weight: 700;
}

.admin-members-shell,
.admin-member-detail-shell {
    width: min(1560px, calc(100% - 38px));
    padding-top: 32px;
}

.admin-members-head {
    align-items: center;
}

.admin-head-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-migration-alert {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #d8b35b;
    border-radius: 12px;
    background: #fff9e9;
    box-shadow: 0 8px 20px rgba(92,67,10,.06);
}

.admin-migration-alert strong,
.admin-migration-alert span {
    display: block;
}

.admin-migration-alert strong {
    margin-bottom: 3px;
    color: #604916;
    font-size: 13px;
}

.admin-migration-alert span {
    color: #786538;
    font-size: 11px;
}

.admin-migration-alert code {
    padding: 2px 5px;
    border-radius: 4px;
    background: rgba(96,73,22,.08);
    font-size: 10px;
}

.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 16px;
}

.admin-kpi-card {
    position: relative;
    min-height: 126px;
    padding: 17px 18px;
    overflow: hidden;
    border: 1px solid #e0e0dc;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(28,28,24,.035);
}

.admin-kpi-card::after {
    content: "";
    position: absolute;
    width: 68px;
    height: 68px;
    right: -25px;
    top: -25px;
    border-radius: 50%;
    background: rgba(199,154,51,.08);
}

.admin-kpi-card strong,
.admin-kpi-card small,
.admin-kpi-card span {
    display: block;
}

.admin-kpi-label {
    color: #716f67;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-kpi-card strong {
    margin: 10px 0 5px;
    color: #171714;
    font-size: 28px;
    letter-spacing: -.04em;
}

.admin-kpi-card small {
    color: #8a877e;
    font-size: 10px;
}

.admin-kpi-card-alert {
    border-color: #e6c7c1;
    background: #fffafa;
}

.admin-kpi-card-alert::after {
    background: rgba(162,65,48,.08);
}

.admin-kpi-card-warning {
    border-color: #ead6a2;
    background: #fffdf8;
}

.admin-directory-card {
    margin-top: 4px;
    overflow: hidden;
    border: 1px solid #deded9;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(24,24,20,.045);
}

.admin-filter-bar {
    display: grid;
    grid-template-columns: minmax(300px, 1.9fr) repeat(5, minmax(132px, .7fr)) auto auto;
    gap: 8px;
    padding: 14px;
    border-bottom: 1px solid #ecece8;
    background: #fafaf8;
}

.admin-filter-bar select,
.admin-search-field input {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d9d8d2;
    border-radius: 8px;
    background: #fff;
    color: #292924;
    font: inherit;
    font-size: 11px;
    outline: none;
}

.admin-filter-bar select {
    padding: 0 30px 0 10px;
}

.admin-search-field {
    position: relative;
}

.admin-search-field > span {
    position: absolute;
    z-index: 1;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #87847a;
    font-size: 19px;
    pointer-events: none;
}

.admin-search-field input {
    padding: 0 12px 0 36px;
}

.admin-search-field input:focus,
.admin-filter-bar select:focus {
    border-color: #b99a51;
    box-shadow: 0 0 0 3px rgba(199,154,51,.10);
}

.admin-clear-filters {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 6px;
    color: #7a776f;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.admin-directory-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 16px;
    border-bottom: 1px solid #ecece8;
    background: #fff;
    color: #77746c;
    font-size: 11px;
}

.admin-directory-meta div {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.admin-directory-meta strong {
    color: #21211d;
    font-size: 13px;
}

.admin-members-table-wrap {
    width: 100%;
}

.admin-members-table {
    min-width: 1480px;
}

.admin-members-table th {
    padding: 11px 12px;
    background: #fbfbf9;
    white-space: nowrap;
}

.admin-members-table td {
    padding: 13px 12px;
    font-size: 11px;
    vertical-align: middle;
}

.admin-members-table tbody tr {
    transition: background .16s ease;
}

.admin-members-table tbody tr:hover {
    background: #fcfbf7;
}

.admin-member-row-suspended {
    background: #fffafa;
}

.admin-member-row-suspended:hover {
    background: #fff6f5 !important;
}

.admin-member-identity-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 250px;
}

.admin-member-avatar {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 1px solid #ded7c5;
    border-radius: 50%;
    background: linear-gradient(145deg, #fffdf7, #f1ead9);
    color: #826421;
    font-size: 13px;
    font-weight: 850;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.72);
}

.admin-member-avatar-large {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
    font-size: 21px;
}

.admin-member-identity-copy {
    min-width: 0;
}

.admin-member-identity-copy a {
    color: #1d1d19;
    text-decoration: none;
}

.admin-member-identity-copy a:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.admin-member-identity-copy strong,
.admin-member-identity-copy span,
.admin-member-identity-copy small {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-truncate {
    max-width: 210px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-badge-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 4px;
}

.admin-chip,
.admin-risk-badge,
.admin-account-status {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    min-height: 23px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 9px !important;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1;
    white-space: nowrap;
}

.admin-chip-neutral {
    border: 1px solid #deddd7;
    background: #f7f7f4;
    color: #535149 !important;
}

.admin-verification-verified {
    border: 1px solid #bfd6c8;
    background: #eff8f2;
    color: #2f6c47 !important;
}

.admin-verification-pending {
    border: 1px solid #e5d29d;
    background: #fff8e5;
    color: #775e1b !important;
}

.admin-verification-unverified {
    border: 1px solid #d9d8d2;
    background: #f6f6f3;
    color: #69665e !important;
}

.admin-verification-rejected {
    border: 1px solid #e5c2bd;
    background: #fff1ef;
    color: #8a3f36 !important;
}

.admin-risk-badge {
    margin-bottom: 5px;
}

.admin-risk-badge-alert {
    border: 1px solid #e3c2bd;
    background: #fff1ef;
    color: #8a3c34 !important;
}

.admin-risk-badge-clear {
    border: 1px solid #c7d8cd;
    background: #f1f8f3;
    color: #49705a !important;
}

.admin-account-status {
    gap: 6px;
    border: 1px solid transparent;
}

.admin-account-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.admin-account-active {
    border-color: #c7d9ce;
    background: #f0f8f3;
    color: #39714e !important;
}

.admin-account-suspended {
    border-color: #e6c5c0;
    background: #fff1ef;
    color: #94453b !important;
}

.admin-muted {
    color: #8a877f;
    font-size: 10px;
}

.admin-member-actions-cell {
    min-width: 190px;
}

.admin-member-actions-cell .btn,
.admin-member-actions-cell form {
    margin: 2px 2px 2px 0;
}

.admin-inline-form {
    display: inline-block;
}

.admin-btn-warning {
    border-color: #dec889 !important;
    color: #745b18 !important;
    background: #fffaf0 !important;
}

.admin-btn-warning:hover:not(:disabled) {
    background: #fff4d5 !important;
}

.admin-btn-warning-solid {
    border: 1px solid #886a1d;
    background: #8a6c1d;
    color: #fff;
}

.admin-btn-warning-solid:hover:not(:disabled) {
    background: #745a17;
}

.admin-btn-danger-quiet {
    border: 1px solid #e4c1bc !important;
    background: #fffafa !important;
    color: #933e34 !important;
}

.admin-btn-danger-quiet:hover:not(:disabled) {
    background: #fff0ee !important;
}

.admin-btn-danger-solid {
    border: 1px solid #83372f;
    background: #923f35;
    color: #fff;
}

.admin-btn-danger-solid:hover:not(:disabled) {
    background: #7d332b;
}

.admin-member-actions-cell button:disabled,
.admin-member-actions-cell .btn:disabled,
.admin-control-panel button:disabled,
.admin-member-hero-actions button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.admin-directory-empty {
    margin: 18px;
}

.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-top: 1px solid #ecece8;
    background: #fbfbf9;
}

.admin-pagination > div {
    display: flex;
    gap: 4px;
}

.admin-pagination a {
    display: inline-flex;
    min-width: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #deddd7;
    border-radius: 7px;
    background: #fff;
    color: #4f4d46;
    font-size: 10px;
    font-weight: 760;
    text-decoration: none;
}

.admin-pagination a.is-current {
    border-color: #1e1e1a;
    background: #1e1e1a;
    color: #fff;
}

.admin-pagination a.is-disabled {
    pointer-events: none;
    opacity: .4;
}

/* Dialogs */
.admin-action-dialog {
    width: min(560px, calc(100% - 28px));
    max-height: calc(100vh - 38px);
    padding: 0;
    overflow: auto;
    border: 0;
    border-radius: 15px;
    background: transparent;
    box-shadow: 0 28px 90px rgba(0,0,0,.28);
}

.admin-action-dialog::backdrop {
    background: rgba(17,17,14,.58);
    backdrop-filter: blur(3px);
}

.admin-dialog-card {
    padding: 26px;
    border: 1px solid #dddcd5;
    border-radius: 15px;
    background: #fff;
}

.admin-dialog-card h2 {
    margin: 5px 0 8px;
    font-size: 25px;
    letter-spacing: -.035em;
}

.admin-dialog-card > p {
    margin: 0 0 18px;
    color: #6c6961;
    font-size: 12px;
    line-height: 1.6;
}

.admin-dialog-icon {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    place-items: center;
    border-radius: 50%;
    font-size: 19px;
    font-weight: 900;
}

.admin-dialog-icon-warning {
    background: #fff4d7;
    color: #785d17;
}

.admin-dialog-icon-danger {
    background: #ffedeb;
    color: #913d34;
}

.admin-dialog-member {
    margin: -6px 0 15px;
    padding: 9px 11px;
    border: 1px solid #e3e1da;
    border-radius: 8px;
    background: #fafaf7;
    color: #37362f;
    font-size: 11px;
}

.admin-dialog-card .field {
    display: block;
    margin-top: 12px;
}

.admin-dialog-card .field > span {
    display: block;
    margin-bottom: 5px;
    color: #56534b;
    font-size: 10px;
    font-weight: 800;
}

.admin-dialog-card textarea,
.admin-dialog-card input[type="text"] {
    width: 100%;
    padding: 10px 11px;
    border: 1px solid #d5d3cc;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 12px;
    outline: none;
}

.admin-dialog-card textarea {
    min-height: 90px;
    resize: vertical;
}

.admin-dialog-card textarea:focus,
.admin-dialog-card input[type="text"]:focus {
    border-color: #b79445;
    box-shadow: 0 0 0 3px rgba(199,154,51,.10);
}

.admin-dialog-card .field small {
    display: block;
    margin-top: 4px;
    color: #8a877e;
    font-size: 9px;
}

.admin-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #eeece6;
}

.admin-delete-impact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 0 0 14px;
}

.admin-delete-impact span {
    padding: 10px 12px;
    border: 1px solid #ead1cd;
    border-radius: 8px;
    background: #fff7f6;
    color: #895047;
    font-size: 10px;
}

.admin-delete-impact strong {
    margin-right: 3px;
    color: #74372f;
    font-size: 14px;
}

/* Member dossier */
.admin-back-link {
    display: inline-flex;
    margin-bottom: 14px;
}

.admin-member-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 12px;
    padding: 22px;
    border: 1px solid #deddd7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 30px rgba(25,25,21,.04);
}

.admin-member-hero-main {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
}

.admin-member-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-member-title-line h1 {
    margin: 0;
    color: #171714;
    font-size: clamp(27px, 3.2vw, 38px);
    letter-spacing: -.045em;
}

.admin-member-hero-main p {
    margin: 5px 0 8px;
    color: #68665e;
    font-size: 12px;
}

.admin-member-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    color: #86837a;
    font-size: 10px;
}

.admin-member-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-member-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.admin-member-summary-grid article {
    padding: 13px 14px;
    border: 1px solid #dfded8;
    border-radius: 10px;
    background: #fff;
}

.admin-member-summary-grid span,
.admin-member-summary-grid strong,
.admin-member-summary-grid small {
    display: block;
}

.admin-member-summary-grid span {
    color: #77746c;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.admin-member-summary-grid strong {
    margin: 5px 0 2px;
    color: #22221e;
    font-size: 20px;
}

.admin-member-summary-grid small {
    color: #99958b;
    font-size: 9px;
}

.admin-member-summary-grid article.is-warning {
    border-color: #e8d1a1;
    background: #fffaf0;
}

.admin-member-summary-grid article.is-danger {
    border-color: #e4c1bb;
    background: #fff6f5;
}

.admin-member-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 12px;
    align-items: start;
}

.admin-member-main-column,
.admin-member-side-column {
    min-width: 0;
}

.admin-member-side-column {
    position: sticky;
    top: 88px;
}

.admin-detail-panel {
    margin-bottom: 12px;
    padding: 20px;
}

.admin-panel-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.admin-panel-count {
    display: inline-flex;
    min-width: 30px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f1f1ed;
    color: #58564f;
    font-size: 10px;
    font-weight: 800;
}

.admin-panel-count.is-danger {
    background: #fff0ee;
    color: #8d3d34;
}

.admin-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border-top: 1px solid #eceae4;
    border-left: 1px solid #eceae4;
}

.admin-profile-grid > div {
    min-width: 0;
    padding: 13px;
    border-right: 1px solid #eceae4;
    border-bottom: 1px solid #eceae4;
    background: #fdfdfb;
}

.admin-profile-grid dt {
    margin-bottom: 4px;
    color: #858279;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.admin-profile-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #2d2c27;
    font-size: 11px;
    font-weight: 700;
}

.admin-profile-wide {
    grid-column: span 2;
}

.admin-commercial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}

.admin-commercial-grid > div {
    padding: 13px;
    border: 1px solid #e5e3dc;
    border-radius: 9px;
    background: #fbfbf8;
}

.admin-commercial-grid h3 {
    margin: 0 0 8px;
    font-size: 11px;
}

.admin-interest-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.admin-interest-list > div:not(.admin-empty) {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 8px;
    align-items: center;
    padding: 10px;
    border: 1px solid #e6e4dd;
    border-radius: 8px;
    background: #fff;
}

.admin-interest-list strong,
.admin-interest-list small {
    display: block;
}

.admin-interest-list strong {
    font-size: 10px;
}

.admin-interest-list small {
    grid-column: 2;
    color: #8d8a81;
    font-size: 8px;
}

.admin-interest-type {
    grid-row: span 2;
    display: inline-flex;
    min-width: 34px;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 900;
}

.admin-interest-type.is-buy {
    background: #edf5fb;
    color: #3c6888;
}

.admin-interest-type.is-sell {
    background: #f5f0e5;
    color: #7c6429;
}

.admin-compact-table {
    min-width: 820px;
}

.admin-compact-table td,
.admin-compact-table th {
    padding: 10px;
}

.admin-conversation-dossier-list {
    display: grid;
    gap: 7px;
}

.admin-conversation-dossier-list > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px;
    border: 1px solid #e6e4dd;
    border-radius: 9px;
    background: #fdfdfb;
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.admin-conversation-dossier-list > a:hover {
    transform: translateY(-1px);
    border-color: #cfc9b8;
    box-shadow: 0 8px 18px rgba(23,23,20,.04);
}

.admin-conversation-dossier-list > a > div:first-child {
    min-width: 0;
}

.admin-conversation-dossier-list strong,
.admin-conversation-dossier-list small {
    display: block;
}

.admin-conversation-dossier-list strong {
    margin: 5px 0 2px;
    font-size: 11px;
}

.admin-conversation-dossier-list small {
    color: #858179;
    font-size: 9px;
}

.admin-conversation-dossier-list > a > div:last-child {
    display: grid;
    justify-items: end;
    gap: 5px;
    flex: 0 0 auto;
}

.admin-timeline,
.admin-audit-list {
    display: grid;
    gap: 0;
}

.admin-timeline article,
.admin-audit-list article {
    position: relative;
    display: grid;
    grid-template-columns: 16px 1fr;
    gap: 10px;
    padding: 0 0 16px;
}

.admin-timeline article:not(:last-child)::before,
.admin-audit-list article:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 12px;
    bottom: -2px;
    width: 1px;
    background: #dedbd2;
}

.admin-timeline article > i,
.admin-audit-dot {
    position: relative;
    z-index: 1;
    width: 11px;
    height: 11px;
    margin-top: 3px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #c69a35;
    box-shadow: 0 0 0 1px #d8c48d;
}

.admin-timeline-title,
.admin-audit-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.admin-timeline-title strong,
.admin-audit-head strong {
    color: #34332d;
    font-size: 10px;
}

.admin-timeline-title span,
.admin-audit-head span {
    color: #928f85;
    font-size: 9px;
}

.admin-timeline p,
.admin-audit-list p {
    margin: 4px 0 0;
    color: #6e6a62;
    font-size: 10px;
    line-height: 1.5;
}

.admin-audit-list small,
.admin-audit-actor {
    display: block;
    margin-top: 4px;
    color: #969188;
    font-size: 9px;
}

.admin-audit-actor {
    color: #6f6b62;
    font-weight: 700;
}

.admin-control-panel {
    margin-bottom: 12px;
    padding: 18px;
}

.admin-control-panel h2 {
    margin: 4px 0 7px;
    font-size: 17px;
}

.admin-control-panel > p {
    margin: 0 0 14px;
    color: #77736b;
    font-size: 10px;
    line-height: 1.6;
}

.admin-control-form .field {
    display: block;
    margin-bottom: 11px;
}

.admin-control-form .field > span {
    display: block;
    margin-bottom: 5px;
    color: #5d5a52;
    font-size: 9px;
    font-weight: 800;
}

.admin-control-form select,
.admin-control-form textarea {
    width: 100%;
    border: 1px solid #d9d6ce;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 11px;
    outline: none;
}

.admin-control-form select {
    min-height: 40px;
    padding: 0 10px;
}

.admin-control-form textarea {
    min-height: 86px;
    padding: 10px;
    resize: vertical;
}

.admin-control-form select:focus,
.admin-control-form textarea:focus {
    border-color: #b6964e;
    box-shadow: 0 0 0 3px rgba(199,154,51,.09);
}

.admin-signal-list {
    display: grid;
    gap: 0;
    border-top: 1px solid #eceae4;
}

.admin-signal-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #eceae4;
}

.admin-signal-list span {
    color: #7c7970;
    font-size: 9px;
}

.admin-signal-list strong {
    color: #33322d;
    font-size: 10px;
}

.admin-danger-panel {
    border-color: #e8c8c3;
    background: #fffafa;
}

.admin-danger-panel .premium-section-label {
    color: #8a3c34;
}

@media (max-width: 1360px) {
    .admin-filter-bar {
        grid-template-columns: minmax(280px, 1.6fr) repeat(3, minmax(135px, .7fr)) auto;
    }

    .admin-filter-bar select:nth-of-type(4),
    .admin-filter-bar select:nth-of-type(5) {
        grid-row: 2;
    }

    .admin-filter-bar .admin-clear-filters {
        justify-self: start;
    }

    .admin-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-member-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1050px) {
    .admin-primary-nav {
        margin-left: 10px;
    }

    .admin-primary-nav a {
        padding: 0 10px;
    }

    .admin-member-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-member-side-column {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .admin-member-side-column .admin-danger-panel {
        grid-column: span 2;
    }
}

@media (max-width: 820px) {
    .admin-console-header .admin-nav {
        flex-wrap: wrap;
        min-height: 66px;
        padding: 8px 0;
    }

    .admin-primary-nav {
        order: 3;
        width: 100%;
        margin: 0;
        border-top: 1px solid #2c2b25;
    }

    .admin-primary-nav a {
        min-height: 38px;
    }

    .admin-nav-right {
        gap: 9px;
    }

    .admin-nav-right .admin-identity,
    .admin-nav-right a[href="../dashboard.php"] {
        display: none !important;
    }

    .admin-members-shell,
    .admin-member-detail-shell {
        width: min(100% - 22px, 1560px);
        padding-top: 20px;
    }

    .admin-head-actions {
        justify-content: flex-start;
    }

    .admin-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-search-field {
        grid-column: span 2;
    }

    .admin-filter-bar select:nth-of-type(4),
    .admin-filter-bar select:nth-of-type(5) {
        grid-row: auto;
    }

    .admin-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-member-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-member-hero-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-member-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-interest-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .admin-kpi-grid,
    .admin-filter-bar,
    .admin-member-summary-grid,
    .admin-commercial-grid,
    .admin-interest-list,
    .admin-member-side-column {
        grid-template-columns: 1fr;
    }

    .admin-search-field,
    .admin-member-side-column .admin-danger-panel {
        grid-column: auto;
    }

    .admin-member-hero-main {
        align-items: flex-start;
    }

    .admin-member-avatar-large {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .admin-profile-grid {
        grid-template-columns: 1fr;
    }

    .admin-profile-wide {
        grid-column: auto;
    }

    .admin-dialog-card {
        padding: 20px;
    }

    .admin-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-dialog-actions .btn {
        width: 100%;
    }

    .admin-pagination > div {
        display: none;
    }
}

.admin-member-command-card {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .85fr);
    gap: 18px;
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid #d9d5c7;
    border-radius: 14px;
    background:
        radial-gradient(circle at 92% 10%, rgba(199,154,51,.13), transparent 31%),
        linear-gradient(135deg, #fff, #fbfaf6);
    box-shadow: 0 12px 30px rgba(29,29,24,.045);
}

.admin-member-command-copy h2 {
    max-width: 720px;
    margin: 5px 0 8px;
    font-size: 22px;
    letter-spacing: -.025em;
}

.admin-member-command-copy p {
    max-width: 760px;
    margin: 0;
    color: #77736a;
    font-size: 11px;
    line-height: 1.65;
}

.admin-member-command-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.admin-member-command-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    align-content: stretch;
}

.admin-member-command-metrics > div {
    display: grid;
    align-content: center;
    min-height: 80px;
    padding: 13px;
    border: 1px solid #e1dfd7;
    border-radius: 10px;
    background: rgba(255,255,255,.84);
}

.admin-member-command-metrics strong,
.admin-member-command-metrics span {
    display: block;
}

.admin-member-command-metrics strong {
    font-size: 22px;
    letter-spacing: -.035em;
}

.admin-member-command-metrics span {
    margin-top: 2px;
    color: #858178;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.admin-member-command-metrics .is-alert {
    border-color: #e7c7c1;
    background: #fff7f6;
}

.admin-member-command-metrics .is-warning {
    border-color: #e5d09a;
    background: #fffaf0;
}

@media (max-width: 920px) {
    .admin-member-command-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .admin-member-command-metrics {
        grid-template-columns: 1fr 1fr;
    }
}

.admin-suspension-reason {
    display: block;
    max-width: 150px;
    margin-top: 5px;
    overflow: hidden;
    color: #8a5a53 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* v49.9 — prominent member verification CTA on marketplace */
.market-title-member-area {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 12px;
    flex: 0 0 auto;
}

.marketplace-verify-cta {
    min-width: 310px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 26px;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid #c8a94f;
    border-radius: 13px;
    background: linear-gradient(135deg, #171713 0%, #242218 100%);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(46, 38, 17, .13);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.marketplace-verify-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(46, 38, 17, .18);
    border-color: #d7b85f;
}

.marketplace-verify-cta-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #d6b356;
    color: #151510;
    font-size: 23px;
    font-weight: 900;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.18);
}

.marketplace-verify-cta-copy {
    min-width: 0;
    line-height: 1.16;
}

.marketplace-verify-cta-copy small,
.marketplace-verify-cta-copy strong,
.marketplace-verify-cta-copy em {
    display: block;
}

.marketplace-verify-cta-copy small {
    margin-bottom: 4px;
    color: #c8b98b;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.marketplace-verify-cta-copy strong {
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.marketplace-verify-cta-copy em {
    margin-top: 4px;
    color: #d9d4c4;
    font-size: 11px;
    font-style: normal;
}

.marketplace-verify-cta > b {
    color: #d6b356;
    font-size: 24px;
    text-align: right;
}

.marketplace-verify-cta.is-pending {
    border-color: #d8c98f;
    background: linear-gradient(135deg, #28261e 0%, #373326 100%);
}

.marketplace-verify-cta.is-pending .marketplace-verify-cta-icon {
    background: #f2e5b5;
    color: #705a17;
}

.marketplace-verify-cta.is-review {
    border-color: #d1a6a0;
    background: linear-gradient(135deg, #2b2020 0%, #3d2928 100%);
}

.marketplace-verify-cta.is-review .marketplace-verify-cta-icon {
    background: #efd0cb;
    color: #8d3f36;
}

@media (max-width: 1100px) {
    .market-list-title {
        flex-wrap: wrap;
    }
    .market-title-member-area {
        width: 100%;
        justify-content: space-between;
    }
    .marketplace-verify-cta {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 520px;
    }
}

@media (max-width: 680px) {
    .market-title-member-area {
        flex-direction: column;
        align-items: stretch;
    }
    .marketplace-verify-cta {
        width: 100%;
        max-width: none;
    }
    .market-title-member-area .member-box {
        align-self: flex-start;
    }
}

/* v49.13 — Lorexa live verification scheduler */
.v4913-verification-card{max-width:980px;margin:0 auto}.v4913-verification-lead{max-width:760px;margin:0 0 28px;color:#6e685c;font-size:15px;line-height:1.75}.v4913-request-call,.v4913-book-email-box,.v4913-meeting-confirmed{margin-top:26px;padding:24px;border:1px solid #ddd4c2;border-radius:18px;background:#fbf8f1}.v4913-request-call{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center}.v4913-request-call>div{min-width:0}.v4913-request-call form{width:100%;margin:0}.v4913-request-call form .btn{width:100%;min-height:54px;padding:14px 18px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;line-height:1.2}.v4913-request-call h2,.v4913-book-email-box h2,.v4913-meeting-confirmed h2{margin:5px 0 9px;font-size:23px}.v4913-request-call p,.v4913-book-email-box p,.v4913-meeting-confirmed p{margin:0;color:#6e685c;line-height:1.7}.v4913-resend-form{margin-top:15px}.v4913-meeting-confirmed small{display:block;margin-top:13px;color:#837d70}.v4913-meeting-confirmed .btn{margin-top:16px}

.v4913-booking-body{min-height:100vh;background:#f6f2e8;color:#171713}.v4913-booking-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,64px);background:#fffdf8;border-bottom:1px solid #e8e1d3}.v4913-booking-header .brand img{display:block;width:105px;height:auto}.v4913-booking-header>a:last-child{color:#171713;text-decoration:none;font-size:13px;font-weight:700}.v4913-booking-shell{min-height:calc(100vh - 72px);padding:56px 24px;background:linear-gradient(rgba(250,247,239,.92),rgba(250,247,239,.92)),url('world-map.svg') center/cover no-repeat}.v4913-booking-card{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr);background:#fff;border:1px solid #ddd5c6;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(49,41,21,.12)}.v4913-booking-info{padding:44px;background:#171713;color:#fff;position:relative;overflow:hidden}.v4913-booking-info:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(215,182,89,.16);border-radius:50%;right:-170px;bottom:-170px}.v4913-booking-mark{width:74px;height:74px;display:block;margin:0 0 26px}.v4913-booking-info .eyebrow{color:#d6b356}.v4913-booking-info h1{max-width:390px;margin:10px 0 14px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.03}.v4913-booking-info>p{max-width:410px;color:#cbc6b8;line-height:1.7}.v4913-booking-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.v4913-booking-facts>div{padding:14px 15px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.035)}.v4913-booking-facts span,.v4913-booking-facts strong{display:block}.v4913-booking-facts span{margin-bottom:5px;color:#aaa596;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.v4913-booking-facts strong{font-size:13px;color:#fff;line-height:1.45}.v4913-booking-note,.v4913-existing-meeting{position:relative;z-index:1;margin-top:16px;padding:17px;border-radius:14px;background:#24231e;border:1px solid #343126}.v4913-booking-note strong,.v4913-booking-note span,.v4913-existing-meeting span,.v4913-existing-meeting strong,.v4913-existing-meeting small{display:block}.v4913-booking-note strong,.v4913-existing-meeting strong{color:#e2c46c}.v4913-booking-note span,.v4913-existing-meeting small{margin-top:6px;color:#bbb5a6;font-size:12px;line-height:1.65}.v4913-existing-meeting span{margin-bottom:6px;color:#8f897b;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.v4913-booking-picker{padding:42px}.v4913-booking-picker-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:26px}.v4913-booking-picker-head h2{margin:6px 0 0;font-size:28px}.v4913-timezone-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#f7f2e7;border:1px solid #ded5c2;color:#716a5c;font-size:11px;font-weight:700}.v4913-date-strip{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:8px;margin-bottom:22px}.v4913-date-button{appearance:none;border:1px solid #e0d8c8;background:#fff;border-radius:14px;padding:10px 6px;cursor:pointer;color:#625d53;transition:.16s ease}.v4913-date-button span,.v4913-date-button strong,.v4913-date-button small{display:block}.v4913-date-button span{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.v4913-date-button strong{margin:4px 0 2px;font-size:20px;color:#171713}.v4913-date-button small{font-size:10px}.v4913-date-button:hover,.v4913-date-button.is-active{border-color:#bb9132;background:#fbf2d8;box-shadow:inset 0 0 0 1px #bb9132}.v4913-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-height:300px;overflow:auto;padding-right:4px}.v4913-time-button{appearance:none;border:1px solid #e0d8c8;background:#fff;border-radius:11px;padding:12px 9px;color:#2d2b26;font-weight:700;cursor:pointer}.v4913-time-button:hover,.v4913-time-button.is-selected{background:#171713;color:#d8b96a;border-color:#171713}.v4913-no-slots{padding:20px;text-align:center;color:#7b756a;background:#faf7f0;border:1px dashed #d8d0c1;border-radius:12px}.v4913-book-form{margin-top:24px;padding-top:22px;border-top:1px solid #ede7dc}.v4913-selected-slot{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px;padding:15px 16px;background:#f8f4eb;border:1px solid #e5ddce;border-radius:13px}.v4913-selected-slot span{color:#8d8679;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.v4913-selected-slot strong{text-align:right;font-size:13px}.v4913-book-form .btn{width:100%;min-height:48px}.v4913-booking-invalid{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px;background:#f5f1e8}.v4913-booking-invalid>div{max-width:620px;padding:42px;background:#fff;border:1px solid #ded5c5;border-radius:20px;text-align:center}.v4913-booking-invalid h1{font-family:Georgia,'Times New Roman',serif;font-size:34px}.v4913-booking-invalid p{color:#6d675c;line-height:1.7}.v4913-booking-invalid .btn{margin-top:10px}

@media(max-width:920px){.v4913-booking-card{grid-template-columns:1fr}.v4913-booking-info{padding:34px}.v4913-booking-info h1{font-size:34px}.v4913-date-strip{grid-template-columns:repeat(4,1fr)}.v4913-time-grid{grid-template-columns:repeat(3,1fr)}.v4913-request-call{grid-template-columns:1fr}.v4913-request-call form{margin-top:2px}.v4913-request-call form .btn{width:100%}}
@media(max-width:620px){.v4913-booking-shell{padding:24px 12px}.v4913-booking-info,.v4913-booking-picker{padding:26px 20px}.v4913-booking-facts{grid-template-columns:1fr}.v4913-booking-picker-head{display:block}.v4913-timezone-chip{margin-top:12px}.v4913-date-strip{grid-template-columns:repeat(3,1fr)}.v4913-time-grid{grid-template-columns:repeat(2,1fr)}.v4913-selected-slot{display:block}.v4913-selected-slot strong{display:block;margin-top:7px;text-align:left}}

/* v49.13.2 verification request interaction */
.v49132-request-form {
    margin: 0;
    min-width: 260px;
}
.v49132-request-form .btn {
    width: 100%;
    min-height: 52px;
    white-space: nowrap;
}
.v49132-direct-booking {
    display: inline-flex;
    margin-top: 18px;
    min-width: 220px;
    justify-content: center;
}
@media (max-width: 760px) {
    .v49132-request-form,
    .v49132-direct-booking {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   Lorexa legal documents + registration consent (v49.14)
   ========================================================= */

.register-legal-consent {
    padding: 13px 14px;
    border: 1px solid #e1dacb;
    border-radius: 11px;
    background: #fbfaf6;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.register-legal-consent.is-accepted {
    border-color: rgba(63, 122, 85, .35);
    background: #fbfefc;
}

.register-legal-consent.is-invalid {
    border-color: #b45a55;
    box-shadow: 0 0 0 3px rgba(180, 90, 85, .08);
}

.register-legal-check {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    cursor: pointer;
}

.register-legal-check input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.register-legal-box {
    position: relative;
    width: 19px;
    height: 19px;
    margin-top: 1px;
    border: 1px solid #bdb5a6;
    border-radius: 5px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(30, 28, 22, .04);
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.register-legal-check input:focus-visible + .register-legal-box {
    border-color: #aa7b1c;
    box-shadow: 0 0 0 4px rgba(190, 143, 39, .13);
}

.register-legal-check input:checked + .register-legal-box {
    border-color: #a97918;
    background: #b98a29;
}

.register-legal-check input:checked + .register-legal-box::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.register-legal-copy {
    color: #514d44;
    font-size: 12px;
    line-height: 1.55;
}

.register-legal-copy a,
.register-legal-help a {
    color: #8d6514;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(141, 101, 20, .32);
    text-underline-offset: 2px;
}

.register-legal-copy a:hover,
.register-legal-copy a:focus-visible {
    color: #6f4d0e;
    text-decoration-color: currentColor;
}

.register-legal-help {
    margin: 7px 0 0 30px;
    color: #908a7e;
    font-size: 10px;
    line-height: 1.45;
}

body.legal-modal-open {
    overflow: hidden;
}

.legal-modal[hidden] {
    display: none !important;
}

.legal-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(16, 17, 17, .62);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.legal-modal-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(920px, 100%);
    height: min(88vh, 900px);
    overflow: hidden;
    border: 1px solid rgba(181, 139, 43, .28);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 32px 100px rgba(0,0,0,.32);
}

.legal-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #ebe5da;
    background: linear-gradient(180deg, #fffdf9 0%, #fff 100%);
}

.legal-modal-header .eyebrow {
    margin-bottom: 7px;
}

.legal-modal-header h2 {
    margin: 0;
    color: #24231f;
    font-size: 24px;
    letter-spacing: -.025em;
}

.legal-modal-header p {
    margin: 5px 0 0;
    color: #837d72;
    font-size: 11px;
}

.legal-modal-close {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #ded7ca;
    border-radius: 10px;
    background: #fff;
    color: #5e594f;
    cursor: pointer;
    font-size: 23px;
    line-height: 1;
    transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.legal-modal-close:hover,
.legal-modal-close:focus-visible {
    border-color: #bb8b2b;
    background: #fbf6ea;
    color: #7e5911;
}

.legal-modal-body {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 22px 26px 32px;
    scrollbar-gutter: stable;
}

.legal-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 20px;
    border-top: 1px solid #ebe5da;
    background: #fbfaf6;
}

.legal-modal-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.legal-modal-footer-links a {
    color: #7b5916;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.legal-modal-footer-links a:hover,
.legal-modal-footer-links a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-modal-done {
    flex: 0 0 auto;
    min-width: 92px;
}

.legal-document {
    color: #47443e;
    font-size: 13px;
    line-height: 1.72;
}

.legal-document p {
    margin: 0 0 13px;
}

.legal-document h2 {
    scroll-margin-top: 94px;
    margin: 30px 0 11px;
    padding-top: 4px;
    color: #25241f;
    font-size: 17px;
    line-height: 1.32;
    letter-spacing: -.015em;
}

.legal-document h2:first-of-type {
    margin-top: 24px;
}

.legal-list {
    display: grid;
    gap: 8px;
    margin: 4px 0 17px;
    padding-left: 22px;
}

.legal-list li {
    padding-left: 3px;
}

.legal-list li::marker {
    color: #aa7a1b;
}

.legal-operator-card {
    margin: 0 0 20px;
    padding: 15px 16px;
    border: 1px solid #eadfc6;
    border-left: 3px solid #bd8c27;
    border-radius: 10px;
    background: #fdf9ef;
}

.legal-operator-card strong {
    display: block;
    margin-bottom: 5px;
    color: #896316;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.legal-operator-card p {
    margin: 0;
    color: #4b473e;
    font-size: 12px;
    line-height: 1.6;
}

.legal-contact-table-wrap {
    margin: 16px 0 8px;
    overflow-x: auto;
    border: 1px solid #e6dfd2;
    border-radius: 10px;
}

.legal-contact-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 12px;
}

.legal-contact-table th,
.legal-contact-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee9df;
    text-align: left;
    vertical-align: top;
}

.legal-contact-table tr:last-child th,
.legal-contact-table tr:last-child td {
    border-bottom: 0;
}

.legal-contact-table th {
    width: 150px;
    background: #fbf8f1;
    color: #8b6518;
    font-size: 10.5px;
    font-weight: 900;
}

.legal-end-marker {
    margin: 26px 0 0 !important;
    padding-top: 17px;
    border-top: 1px solid #ece6da;
    color: #8c867b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

.legal-document-modal {
    max-width: 760px;
    margin: 0 auto;
}

/* Public Terms page */
.legal-page {
    min-height: 100vh;
    background: #f5f2eb;
}

.legal-site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #e7e1d6;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.legal-header-nav,
.legal-header-actions {
    display: flex;
    align-items: center;
}

.legal-header-actions {
    gap: 16px;
}

.legal-main {
    padding-bottom: 58px;
}

.legal-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #e5ddcf;
    background:
        radial-gradient(circle at 86% 12%, rgba(183, 135, 32, .10), transparent 30%),
        linear-gradient(180deg, #fffdf9 0%, #f8f4eb 100%);
}

.legal-hero::after {
    content: "";
    position: absolute;
    inset: auto -90px -150px auto;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(175, 130, 31, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(175, 130, 31, .035), 0 0 0 110px rgba(175, 130, 31, .02);
    pointer-events: none;
}

.legal-hero-shell {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 34px;
    padding-top: 58px;
    padding-bottom: 48px;
}

.legal-hero-copy h1 {
    margin: 7px 0 9px;
    color: #23221e;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1;
    letter-spacing: -.045em;
}

.legal-hero-copy > p {
    margin: 0;
    color: #706a5f;
    font-size: 14px;
}

.legal-version-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.legal-version-row span {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border: 1px solid #dfd7c8;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #7b7569;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.legal-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.legal-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding-top: 34px;
}

.legal-toc-card {
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 112px);
    overflow: hidden;
    border: 1px solid #e2dacc;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(32, 29, 23, .05);
}

.legal-toc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 15px;
    border-bottom: 1px solid #ece6dc;
    background: #fbf9f4;
}

.legal-toc-head span {
    color: #39362f;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.legal-toc-head strong {
    color: #9a9386;
    font-size: 9px;
    font-weight: 800;
}

.legal-toc {
    max-height: calc(100vh - 166px);
    overflow-y: auto;
    padding: 7px;
}

.legal-toc a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 7px;
    align-items: start;
    padding: 7px 8px;
    border-radius: 7px;
    color: #686257;
    font-size: 10.5px;
    line-height: 1.35;
    text-decoration: none;
}

.legal-toc a span {
    color: #a77a1f;
    font-weight: 900;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    background: #faf5e9;
    color: #342f26;
}

.legal-document-card {
    overflow: hidden;
    border: 1px solid #e0d8ca;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(32, 29, 23, .06);
}

.legal-document-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 30px 20px;
    border-bottom: 1px solid #ece5d9;
    background: #fffdf9;
}

.legal-document-intro .eyebrow {
    margin-bottom: 7px;
}

.legal-document-intro h2 {
    margin: 0;
    color: #292721;
    font-size: 21px;
    letter-spacing: -.02em;
}

.legal-document-intro > a {
    flex: 0 0 auto;
    margin-top: 4px;
    color: #825f16;
    font-size: 10.5px;
    font-weight: 850;
    text-decoration: none;
}

.legal-document-intro > a:hover,
.legal-document-intro > a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-document-full {
    max-width: 850px;
    padding: 30px 36px 42px;
    font-size: 13px;
    line-height: 1.76;
}

.lx-footer-legal {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.lx-footer-legal > a {
    color: inherit;
    text-decoration: none;
}

.lx-footer-legal > a:hover,
.lx-footer-legal > a:focus-visible {
    color: #d0a94c;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 920px) {
    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-toc-card {
        position: static;
        max-height: none;
    }

    .legal-toc {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 300px;
    }
}

@media (max-width: 700px) {
    .legal-modal {
        align-items: end;
        padding: 10px;
    }

    .legal-modal-panel {
        width: 100%;
        height: min(92vh, 900px);
        border-radius: 16px 16px 10px 10px;
    }

    .legal-modal-header {
        padding: 18px 17px 15px;
    }

    .legal-modal-header h2 {
        font-size: 21px;
    }

    .legal-modal-body {
        padding: 18px 17px 28px;
    }

    .legal-modal-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 15px 15px;
    }

    .legal-modal-done {
        width: 100%;
    }

    .legal-header-actions .nav-link {
        display: none;
    }

    .legal-hero-shell {
        align-items: flex-start;
        flex-direction: column;
        padding-top: 42px;
        padding-bottom: 38px;
    }

    .legal-hero-actions {
        justify-content: flex-start;
    }

    .legal-layout {
        gap: 18px;
        padding-top: 20px;
    }

    .legal-toc {
        grid-template-columns: 1fr;
        max-height: 260px;
    }

    .legal-document-intro {
        padding: 20px 20px 17px;
    }

    .legal-document-intro > a {
        display: none;
    }

    .legal-document-full {
        padding: 22px 20px 32px;
    }

    .legal-contact-table th {
        width: 110px;
    }
}

@media (max-width: 520px) {
    .register-legal-consent {
        padding: 12px;
    }

    .register-legal-help {
        margin-left: 29px;
    }

    .legal-header-nav {
        width: min(100% - 24px, 1180px);
        min-height: 62px;
    }

    .legal-header-actions .btn {
        min-height: 34px;
        padding: 7px 11px;
        font-size: 10px;
    }

    .legal-hero-copy h1 {
        font-size: 38px;
    }

    .legal-hero-actions .btn {
        width: 100%;
    }

    .legal-document {
        font-size: 12.5px;
        line-height: 1.7;
    }

    .legal-document h2 {
        font-size: 16px;
    }

    .legal-contact-table {
        min-width: 520px;
    }

    .lx-footer-legal {
        justify-content: flex-start;
    }
}

/* v49.16 — Privacy Notice typography and contact block */
.legal-document h3{scroll-margin-top:94px;margin:22px 0 9px;color:#38362f;font-size:14px;line-height:1.35;letter-spacing:-.01em}
.legal-contact-card{margin:14px 0 17px;padding:15px 16px;border:1px solid #eadfc6;border-left:3px solid #bd8c27;border-radius:10px;background:#fdf9ef;color:#4b473e}
.legal-contact-card strong{display:block;margin-bottom:7px;color:#896316;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.legal-contact-card address{font-style:normal;font-size:12px;line-height:1.65}

/* v49.16 — registration legal + CAPTCHA gate */
.register-legal-security,.register-captcha{margin-top:2px;padding:15px;border:1px solid #ddd5c8;border-radius:12px;background:#fffdf8}
.register-legal-security-head,.register-captcha-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.register-legal-security-head>div,.register-captcha-head>div{display:grid;gap:3px}
.register-legal-security-head>div>span,.register-captcha-head>div>span{color:#9a7933;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.register-legal-security-head strong,.register-captcha-head strong{color:#292721;font-size:12px;font-weight:900}
.register-legal-doc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}
.register-legal-doc-action{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:10px 12px;border:1px solid #ddd5c8;border-radius:10px;background:#fff;color:#39362f;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.register-legal-doc-action>span{display:grid;gap:2px}.register-legal-doc-action small{color:#948c7e;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.register-legal-doc-action strong{font-size:10.5px;font-weight:900}.register-legal-doc-action i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #e0d5bd;border-radius:50%;background:#fbf7ed;color:#876524;font-style:normal}
.register-legal-doc-action:hover,.register-legal-doc-action:focus-visible{outline:none;border-color:#b99545;background:#fffaf0;box-shadow:0 0 0 3px rgba(185,149,69,.1)}
.register-legal-security .register-legal-consent{margin:8px 0 0;padding:11px 12px;background:#faf8f3}
.register-legal-security .register-legal-help{margin:9px 0 0;color:#928a7d}
.register-captcha.is-invalid{border-color:#b45a55;box-shadow:0 0 0 3px rgba(180,90,85,.08)}
.register-captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.register-captcha-row img{display:block;width:264px;max-width:100%;height:72px;border:1px solid #d8cfbf;border-radius:10px;background:#f8f5ee}
.register-captcha-refresh{min-height:38px;padding:8px 12px;border:1px solid #d8cfbf;border-radius:9px;background:#fff;color:#6d624f;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer}
.register-captcha-refresh:hover,.register-captcha-refresh:focus-visible{outline:none;border-color:#b99545;background:#fffaf0;color:#76571c;box-shadow:0 0 0 3px rgba(185,149,69,.1)}
.register-captcha>label{display:grid;gap:6px;color:#514c42;font-size:10px;font-weight:850}
.register-captcha>label input{width:min(220px,100%);min-height:44px;padding:9px 12px;border:1px solid #d5ccbd;border-radius:9px;background:#fff;color:#24231f;font-size:17px;font-weight:900;letter-spacing:.22em;text-align:center;font-variant-numeric:tabular-nums}
.lorexa-hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:620px){.register-legal-doc-actions{grid-template-columns:1fr}.register-legal-security,.register-captcha{padding:12px}.register-captcha-row{align-items:stretch}.register-captcha-refresh{width:100%}.register-captcha>label input{width:100%}}

/* v49.17 — Membership Agreement execution gate */
.v4917-agreement-gate{margin-top:28px;padding:26px;border:1px solid #d9cfba;border-radius:18px;background:#fffdf8;box-shadow:0 12px 32px rgba(48,39,20,.05)}
.v4917-agreement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid #ece4d6}
.v4917-agreement-head>div:first-child{min-width:0;max-width:680px}.v4917-agreement-head h2{margin:6px 0 8px;color:#1d1c18;font-size:26px;line-height:1.2;letter-spacing:-.025em}.v4917-agreement-head p{margin:0;color:#70695d;font-size:14px;line-height:1.7}
.v4917-agreement-actions{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.v4917-agreement-actions .btn{min-height:42px;padding:10px 13px;font-size:10px}
.v4917-commercial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 12px}.v4917-commercial-summary article{min-width:0;padding:15px 14px;border:1px solid #e3dac9;border-radius:13px;background:#fbf8f1}.v4917-commercial-summary article>span{display:block;margin-bottom:7px;color:#9a7933;font-size:9px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}.v4917-commercial-summary article>strong{display:block;margin-bottom:6px;color:#1f1e1a;font-size:17px;line-height:1.2}.v4917-commercial-summary article>p{margin:0;color:#716b60;font-size:10.5px;line-height:1.55}.v4917-commercial-summary b{color:#3f3a30}
.v4917-single-member-note{margin:0 0 20px;padding:12px 14px;border-left:3px solid #bf8f2c;border-radius:8px;background:#f9f2df;color:#625642;font-size:11px;line-height:1.65}.v4917-single-member-note strong{color:#5e4514}
.v4917-agreement-form{display:grid;gap:15px}.v4917-form-note{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:2px}.v4917-form-note strong{color:#292721;font-size:13px}.v4917-form-note span{max-width:620px;color:#827a6c;font-size:10.5px;line-height:1.5;text-align:right}
.v4917-agreement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.v4917-agreement-grid label{display:grid;align-content:start;gap:6px;min-width:0;color:#514c42;font-size:10px;font-weight:850}.v4917-agreement-grid label>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.v4917-agreement-grid label em{color:#9e7725;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.v4917-agreement-grid input,.v4917-agreement-grid textarea{width:100%;min-width:0;border:1px solid #d6cdbc;border-radius:10px;background:#fff;color:#22211d;font:inherit;font-size:12px;font-weight:700;line-height:1.45;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.v4917-agreement-grid input{min-height:48px;padding:11px 13px}.v4917-agreement-grid textarea{min-height:88px;padding:11px 13px;resize:vertical}.v4917-agreement-grid input:focus,.v4917-agreement-grid textarea:focus{border-color:#b58b35;box-shadow:0 0 0 3px rgba(181,139,53,.11)}.v4917-agreement-grid input[readonly]{background:#f5f2ec;color:#777064;cursor:not-allowed}.v4917-agreement-grid ::placeholder{color:#a39b8e;font-weight:650}.v4917-span-2{grid-column:1/-1}.v4917-signature-field{padding:14px;border:1px solid #ded4c0;border-radius:12px;background:#fbf7ed}.v4917-signature-field small{color:#807665;font-size:9.5px;font-weight:650;line-height:1.5}
.v4917-agreement-acceptance{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:flex-start;padding:15px 16px;border:1px solid #d8cfbd;border-radius:12px;background:#faf8f3;cursor:pointer}.v4917-agreement-acceptance>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.v4917-checkmark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border:1.5px solid #b9ae9a;border-radius:6px;background:#fff;transition:all .15s ease}.v4917-agreement-acceptance>span:last-child{color:#615b50;font-size:10.5px;line-height:1.65}.v4917-agreement-acceptance>span:last-child strong{color:#27251f}.v4917-agreement-acceptance:has(input:focus-visible){outline:3px solid rgba(181,139,53,.15);outline-offset:2px}.v4917-agreement-acceptance:has(input:checked){border-color:#c7a359;background:#fffaf0}.v4917-agreement-acceptance input:checked+.v4917-checkmark{border-color:#a77a1f;background:#a77a1f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.v4917-agreement-acceptance input:checked+.v4917-checkmark:after{content:'✓';color:#fff;font-size:14px;font-weight:900;line-height:1}
.v4917-audit-note{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px;padding:13px 15px;border:1px solid #e5ddd0;border-radius:11px;background:#fff}.v4917-audit-note>span{color:#796129;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.v4917-audit-note p{margin:0;color:#837c70;font-size:9.5px;line-height:1.6}.v4917-accept-button{width:100%;min-height:54px;margin-top:1px;font-size:11px}
.v4917-agreement-complete{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:flex-start;margin-top:26px;padding:20px;border:1px solid #cbd8c7;border-radius:16px;background:#f6faf4}.v4917-complete-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #a9c0a3;border-radius:50%;background:#fff;color:#3b7238;font-size:21px;font-weight:900}.v4917-complete-copy h2{margin:4px 0 7px;font-size:21px}.v4917-complete-copy p{margin:0;color:#65705f;font-size:11px;line-height:1.65}.v4917-complete-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.v4917-complete-actions form{margin:0}.v4917-complete-actions .btn{min-height:38px;padding:8px 11px;font-size:9px}
.v4917-locked-review{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 16px;border:1px dashed #cfb979;border-radius:12px;background:#fbf5e5;color:#78662d}.v4917-locked-review strong{font-size:11px}.v4917-locked-review span{font-size:10px;line-height:1.5;text-align:right}
.v4917-agreement-modal-panel{width:min(1120px,calc(100% - 32px))}.v4917-agreement-modal-panel .legal-modal-body{max-height:min(72vh,760px)}

/* Full Membership Agreement web document */
.membership-agreement-hero .legal-hero-copy{max-width:920px}.membership-agreement-document{color:#4b473f}.membership-agreement-document .membership-agreement-source>p:first-child,.membership-agreement-document .agreement-title-1,.membership-agreement-document .agreement-title-2,.membership-agreement-document .agreement-title-3{text-align:center}.membership-agreement-document .agreement-title-1{margin:6px 0;color:#8a661c;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.membership-agreement-document .agreement-title-2{margin:4px 0;color:#2e2c27;font-size:12px;font-weight:850}.membership-agreement-document .agreement-title-3{margin:8px auto 24px;max-width:760px;color:#1c1b17;font:700 25px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.015em}.membership-agreement-document h2{scroll-margin-top:94px;margin:28px 0 10px;padding-top:20px;border-top:1px solid #ebe3d5;color:#25231f;font-size:18px;line-height:1.35}.membership-agreement-document h3{scroll-margin-top:94px;margin:24px 0 9px;color:#59451b;font-size:14px}.membership-agreement-document p{margin:8px 0;line-height:1.72}.membership-agreement-document blockquote{margin:13px 0;padding:12px 15px;border-left:3px solid #c79b35;border-radius:7px;background:#fbf7ed}.membership-agreement-document mark{padding:1px 3px;background:#fff0a6;color:inherit}.membership-agreement-document table{display:block;width:100%;margin:15px 0;overflow-x:auto;border-collapse:collapse;font-size:11px;white-space:normal}.membership-agreement-document tbody{display:table;width:100%;min-width:650px}.membership-agreement-document th,.membership-agreement-document td{padding:9px 10px;border:1px solid #d8cfbf;vertical-align:top;text-align:left}.membership-agreement-document th{background:#f6ecd6;color:#4b3a16;font-weight:850}.membership-agreement-document ul,.membership-agreement-document ol{padding-left:20px}.membership-agreement-document li{margin:5px 0;line-height:1.65}

@media(max-width:980px){.v4917-commercial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v4917-agreement-head{flex-direction:column}.v4917-agreement-actions{justify-content:flex-start}.v4917-agreement-actions .btn{flex:1 1 180px}}
@media(max-width:700px){.v4917-agreement-gate{padding:17px}.v4917-agreement-head h2{font-size:22px}.v4917-commercial-summary{grid-template-columns:1fr}.v4917-agreement-grid{grid-template-columns:1fr}.v4917-span-2{grid-column:auto}.v4917-form-note{align-items:flex-start;flex-direction:column;gap:4px}.v4917-form-note span{text-align:left}.v4917-audit-note{grid-template-columns:1fr;gap:5px}.v4917-agreement-complete{grid-template-columns:1fr}.v4917-complete-icon{width:40px;height:40px}.v4917-locked-review{align-items:flex-start;flex-direction:column;gap:5px}.v4917-locked-review span{text-align:left}.v4917-agreement-modal-panel{width:calc(100% - 18px)}.membership-agreement-document .agreement-title-3{font-size:20px}}
@media(max-width:480px){.v4917-agreement-actions{width:100%}.v4917-agreement-actions .btn{width:100%;flex-basis:100%}.v4917-complete-actions{display:grid;grid-template-columns:1fr}.v4917-complete-actions .btn,.v4917-complete-actions form,.v4917-complete-actions form .btn{width:100%}.v4917-agreement-acceptance{padding:13px}.v4917-agreement-gate{border-radius:14px}}

/* v49.17 — admin visibility for accepted Membership Agreements */
.v4917-admin-agreement{margin-bottom:18px}.v4917-admin-agreement.is-missing{border-color:#dfcf9e;background:#fffaf0}.v4917-admin-agreement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.v4917-admin-agreement-grid>div{min-width:0;padding:11px 12px;border:1px solid #e3ddd1;border-radius:10px;background:#faf9f5}.v4917-admin-agreement-grid span{display:block;margin-bottom:4px;color:#938b7d;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.v4917-admin-agreement-grid strong{display:block;overflow-wrap:anywhere;color:#34322d;font-size:10.5px;line-height:1.45}.v4917-admin-agreement-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.v4917-admin-agreement-actions .btn{min-height:38px;padding:8px 11px;font-size:9px}
@media(max-width:850px){.v4917-admin-agreement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.v4917-admin-agreement-grid{grid-template-columns:1fr}.v4917-admin-agreement-actions{display:grid;grid-template-columns:1fr}.v4917-admin-agreement-actions .btn{width:100%}}


/* ================================================================
   v49.21 — Contact page
   ================================================================ */
.contact-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 14% 4%, rgba(196, 154, 62, .08), transparent 28rem),
        #f6f3ec;
    color: #171713;
}

.contact-page .lx-site-footer {
    margin-top: auto;
}

.contact-main {
    flex: 1 0 auto;
    padding: 64px 0 88px;
}

.contact-hero {
    max-width: 1080px;
    margin-bottom: 30px;
}

.contact-hero h1 {
    margin: 10px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 72px);
    line-height: .98;
    letter-spacing: -.045em;
    color: #171713;
}

.contact-hero p {
    max-width: 690px;
    margin: 0;
    color: #686257;
    font-size: 17px;
    line-height: 1.7;
}

.contact-layout {
    max-width: 1080px;
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(0, 1.5fr);
    gap: 24px;
    align-items: start;
}

.contact-info-card,
.contact-form-card {
    border: 1px solid #dfd8c9;
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 50px rgba(46, 37, 16, .06);
}

.contact-info-card {
    padding: 32px;
}

.contact-card-kicker {
    display: inline-block;
    color: #9a7421;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.contact-info-card h2,
.contact-form-head h2 {
    margin: 10px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.contact-info-card > p {
    margin: 0 0 24px;
    color: #756f64;
    line-height: 1.65;
}

.contact-detail {
    padding: 18px 0;
    border-top: 1px solid #eee8dc;
}

.contact-detail span {
    display: block;
    margin-bottom: 7px;
    color: #928b7e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contact-detail a,
.contact-detail strong {
    display: block;
    color: #171713;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.contact-detail a:hover,
.contact-detail a:focus-visible {
    color: #9a7421;
}

.contact-info-card .contact-info-note {
    margin: 20px 0 0;
    padding: 16px;
    border-radius: 14px;
    background: #faf7ef;
    color: #756f64;
    font-size: 13px;
    line-height: 1.55;
}

.contact-form-card {
    padding: 34px;
}

.contact-form-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 22px;
}

.contact-form-head h2 {
    margin-bottom: 0;
}

.contact-form {
    display: grid;
    gap: 18px;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.contact-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.contact-field > span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #39362f;
    font-size: 13px;
    font-weight: 800;
}

.contact-field > span em {
    color: #a49c8d;
    font-style: normal;
    font-weight: 600;
}

.contact-field input,
.contact-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #d8cfbf;
    border-radius: 13px;
    background: #fff;
    color: #171713;
    font: inherit;
    font-size: 16px;
    line-height: 1.4;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.contact-field input {
    min-height: 52px;
    padding: 0 15px;
}

.contact-field textarea {
    min-height: 170px;
    resize: vertical;
    padding: 14px 15px;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: #aaa397;
}

.contact-field input:focus,
.contact-field textarea:focus {
    border-color: #ba8f30;
    box-shadow: 0 0 0 3px rgba(186, 143, 48, .12);
    background: #fffefb;
}

.contact-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 4px;
}

.contact-form-footer p {
    margin: 0;
    max-width: 420px;
    color: #8b8478;
    font-size: 12px;
    line-height: 1.5;
}

.contact-form-footer a {
    color: #7e5c16;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.contact-submit {
    flex: 0 0 auto;
    min-width: 172px;
}

.contact-submit span {
    margin-left: 6px;
}

.contact-alert {
    margin: 0 0 22px;
    padding: 15px 17px;
    border-radius: 13px;
    font-size: 14px;
    line-height: 1.55;
}

.contact-alert strong {
    display: block;
    margin-bottom: 2px;
}

.contact-alert span {
    display: block;
}

.contact-alert ul {
    margin: 5px 0 0 18px;
    padding: 0;
}

.contact-alert-success {
    border: 1px solid #bad8c2;
    background: #f1f8f3;
    color: #245b32;
}

.contact-alert-error {
    border: 1px solid #e2bbb7;
    background: #fcf3f2;
    color: #812f29;
}

.contact-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}

@media (max-width: 820px) {
    .contact-main {
        padding: 42px 0 62px;
    }

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-info-card,
    .contact-form-card {
        border-radius: 18px;
    }
}

@media (max-width: 600px) {
    .contact-main {
        padding-top: 30px;
    }

    .contact-hero {
        margin-bottom: 22px;
    }

    .contact-hero h1 {
        font-size: 44px;
    }

    .contact-info-card,
    .contact-form-card {
        padding: 23px 20px;
    }

    .contact-form-grid {
        grid-template-columns: 1fr;
    }

    .contact-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-submit {
        width: 100%;
    }
}

/* ============================================================
   v49.22 — member password recovery
   ============================================================ */
.login-recovery-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.login-recovery-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    color: #9b721d;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.login-recovery-link:hover,
.login-recovery-link:focus-visible {
    color: #6f4f0d;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.password-reset-shell {
    min-height: 550px;
}

.password-reset-card {
    width: min(520px, 100%);
}

.password-reset-card .auth-title {
    white-space: normal;
}

.password-reset-notice,
.password-reset-login-success {
    display: grid;
    gap: 4px;
    line-height: 1.5;
}

.password-reset-notice strong,
.password-reset-login-success strong {
    display: block;
}

.password-reset-request-new {
    text-decoration: none;
}

.password-reset-back {
    margin-top: 18px;
}

.password-reset-page .contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 540px) {
    .login-recovery-link {
        min-height: 34px;
        font-size: 12.5px;
    }
}

.login-recovery-link {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

.login-recovery-dialog {
    width: min(440px, calc(100% - 28px));
    margin: auto;
    padding: 0;
    border: 1px solid #ddd5c5;
    border-radius: 16px;
    background: #fff;
    color: #171713;
    box-shadow: 0 28px 80px rgba(31, 28, 20, .24);
}

.login-recovery-dialog::backdrop {
    background: rgba(22, 21, 18, .46);
    backdrop-filter: blur(2px);
}

.login-recovery-dialog-inner {
    position: relative;
    padding: 30px 30px 26px;
}

.login-recovery-dialog .eyebrow {
    margin-bottom: 10px;
}

.login-recovery-dialog h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.login-recovery-dialog > .login-recovery-dialog-inner > p:not(.login-recovery-privacy) {
    margin: 10px 0 22px;
    color: #6b665d;
    font-size: 13.5px;
    line-height: 1.55;
}

.login-recovery-close {
    position: absolute;
    top: 15px;
    right: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #e3ddd1;
    border-radius: 50%;
    background: #faf8f3;
    color: #5c574e;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

.login-recovery-close:hover,
.login-recovery-close:focus-visible {
    background: #f3eee3;
    color: #171713;
}

.login-recovery-form {
    display: grid;
    gap: 4px;
}

.login-recovery-form .field {
    margin-bottom: 14px;
}

.login-recovery-privacy {
    margin: 15px 0 0;
    color: #8b8579;
    font-size: 10.5px;
    line-height: 1.5;
}

.login-recovery-dialog .contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 540px) {
    .login-recovery-dialog-inner {
        padding: 27px 20px 23px;
    }
    .login-recovery-dialog h2 {
        font-size: 26px;
    }
}
