:root {
    color-scheme: light;
    --ink: #102a43;
    --ink-soft: #334e68;
    --paper: #f4f1ea;
    --surface: #ffffff;
    --surface-soft: #ebe7df;
    --line: #d9d4ca;
    --accent: #db5b34;
    --accent-dark: #b93e1d;
    --signal: #f2a900;
    --success: #227a55;
    --danger: #a14237;
    --shadow: 0 18px 50px rgba(16, 42, 67, .10);
    --radius: 22px;
}

[data-theme="dark"] {
    color-scheme: dark;
    --ink: #eef5fa;
    --ink-soft: #a9bdcc;
    --paper: #071321;
    --surface: #0d2032;
    --surface-soft: #132b40;
    --line: #264359;
    --accent: #ef7650;
    --accent-dark: #ff9877;
    --signal: #ffc83d;
    --success: #62c99c;
    --danger: #ff8a7d;
    --shadow: 0 18px 50px rgba(0, 0, 0, .28);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }
a { color: inherit; }
.container-xl { max-width: 1240px; }

.environment-bar {
    background: var(--signal);
    color: #251b00;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
    padding: .48rem 1rem;
    text-align: center;
    text-transform: uppercase;
}

.site-header {
    background: color-mix(in srgb, var(--paper) 90%, transparent);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(18px);
}
.navbar { min-height: 80px; }
.brand-lockup {
    align-items: center;
    display: inline-flex;
    gap: .7rem;
    color: var(--ink);
    font-size: 1.18rem;
    letter-spacing: -.03em;
    text-decoration: none;
}
.brand-lockup strong { font-weight: 850; }
.brand-mark {
    align-items: center;
    background: var(--ink);
    border-radius: 13px;
    color: var(--paper);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.navbar .nav-link { color: var(--ink-soft); font-size: .92rem; font-weight: 650; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--ink); }
.navbar-toggler { border-color: var(--line); }
.theme-button {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--ink);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.btn-primary {
    --bs-btn-bg: var(--accent);
    --bs-btn-border-color: var(--accent);
    --bs-btn-hover-bg: var(--accent-dark);
    --bs-btn-hover-border-color: var(--accent-dark);
    --bs-btn-active-bg: var(--accent-dark);
    --bs-btn-active-border-color: var(--accent-dark);
    font-weight: 750;
}
.btn-outline-primary {
    --bs-btn-color: var(--ink);
    --bs-btn-border-color: var(--line);
    --bs-btn-hover-bg: var(--ink);
    --bs-btn-hover-border-color: var(--ink);
    --bs-btn-hover-color: var(--paper);
    font-weight: 700;
}

.market-hero {
    background:
        radial-gradient(circle at 82% 8%, color-mix(in srgb, var(--signal) 22%, transparent), transparent 25%),
        linear-gradient(135deg, var(--surface) 0%, var(--paper) 70%);
    border-bottom: 1px solid var(--line);
    overflow: hidden;
    padding: clamp(4rem, 9vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
    position: relative;
}
.market-hero::after {
    background-image: linear-gradient(90deg, transparent 49%, color-mix(in srgb, var(--ink) 8%, transparent) 50%, transparent 51%);
    background-size: 44px 100%;
    bottom: 0;
    content: "";
    height: 9px;
    left: 0;
    opacity: .8;
    position: absolute;
    right: 0;
}
.hero-grid { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); }
.eyebrow, .section-kicker {
    color: var(--accent);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.eyebrow { align-items: center; display: inline-flex; gap: .55rem; margin-bottom: 1.25rem; }
.hero-copy h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.2rem, 7vw, 6.4rem);
    font-weight: 600;
    letter-spacing: -.065em;
    line-height: .9;
    margin: 0;
    max-width: 850px;
}
.hero-copy h1 em { color: var(--accent); font-weight: 400; }
.hero-copy > p { color: var(--ink-soft); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7; margin: 1.7rem 0 2rem; max-width: 670px; }
.hero-search {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    display: flex;
    gap: .8rem;
    max-width: 760px;
    padding: .55rem;
}
.hero-search > i { color: var(--ink-soft); font-size: 1.2rem; margin-left: .65rem; }
.hero-search input { background: transparent; border: 0; color: var(--ink); flex: 1; min-width: 0; outline: 0; padding: .7rem 0; }
.hero-search .btn { border-radius: 13px; padding: .8rem 1.45rem; }
.popular-searches { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.popular-searches span { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.popular-searches button { background: transparent; border: 0; color: var(--ink-soft); font-size: .78rem; padding: .2rem .25rem; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.popular-searches button:hover { color: var(--accent); }

.hero-rail-card {
    background: var(--ink);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    color: var(--paper);
    min-height: 335px;
    overflow: hidden;
    padding: 2rem;
    position: relative;
}
.rail-card-number { color: color-mix(in srgb, var(--paper) 45%, transparent); font-size: .76rem; font-weight: 800; letter-spacing: .16em; }
.rail-lines { inset: 25% -35% auto 15%; position: absolute; transform: rotate(-12deg); }
.rail-lines span { border-top: 7px solid var(--signal); display: block; margin: 30px 0; position: relative; }
.rail-lines span::after { background: repeating-linear-gradient(90deg, transparent 0 18px, var(--paper) 19px 26px); content: ""; height: 4px; left: 0; opacity: .35; position: absolute; right: 0; top: -6px; }
.hero-rail-card > div:last-child { bottom: 1.8rem; left: 2rem; position: absolute; right: 2rem; }
.hero-rail-card strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; margin-bottom: .5rem; }
.hero-rail-card p { color: color-mix(in srgb, var(--paper) 72%, transparent); font-size: .86rem; line-height: 1.55; margin: 0; }

.listing-section { min-height: 520px; padding: clamp(4rem, 7vw, 6.5rem) 0; }
.home-listing-heading .btn { align-items: center; display: inline-flex; gap: .5rem; }
.home-listing-action { display: none; margin-top: 1.5rem; text-align: center; }
.listing-page-section { padding-top: clamp(2.25rem, 4.5vw, 4rem); }
.listing-page-intro { margin-bottom: clamp(3rem, 6vw, 5rem); max-width: 820px; }
.listing-page-intro h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 6vw, 5.2rem); letter-spacing: -.06em; line-height: .96; margin: .45rem 0 1rem; }
.listing-page-intro > p { color: var(--ink-soft); font-size: 1rem; line-height: 1.7; margin-bottom: 1.5rem; }
.listing-page-search { box-shadow: 0 10px 30px rgba(16, 42, 67, .07); }
.listing-results-heading { border-top: 1px solid var(--line); padding-top: 2rem; }
.section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2rem; }
.section-heading h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 4vw, 3.5rem); letter-spacing: -.045em; margin: .3rem 0 0; }
.filter-button { align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; color: var(--ink); display: inline-flex; font-weight: 700; gap: .55rem; padding: .75rem 1rem; }
.filter-button[aria-expanded="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.filter-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); margin: -1rem 0 2rem; padding: clamp(1.25rem, 3vw, 2rem); }
.filter-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.filter-grid label { color: var(--ink-soft); display: grid; font-size: .74rem; font-weight: 800; gap: .4rem; letter-spacing: .05em; text-transform: uppercase; }
.filter-grid input, .filter-grid select { appearance: none; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); min-height: 46px; padding: .65rem .75rem; text-transform: none; width: 100%; }
.filter-grid select { background-image: linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%); background-position: calc(100% - 16px) 19px, calc(100% - 11px) 19px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 2rem; }
.filter-actions { align-items: center; display: flex; gap: .5rem; margin-top: 1.25rem; }
.filter-actions .btn-link { color: var(--ink-soft); font-weight: 700; text-decoration-color: var(--line); }
.listing-toolbar { align-items: center; display: flex; justify-content: space-between; min-height: 2rem; }
.listing-toolbar p { color: var(--ink-soft); font-size: .86rem; margin: 0 0 1rem; }
.listing-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.listing-card { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 25px rgba(16, 42, 67, .06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.listing-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.listing-card-link { color: inherit; display: flex; flex: 1; flex-direction: column; text-decoration: none; }
.listing-card-link:focus-visible { outline: 3px solid var(--signal); outline-offset: -3px; }
.listing-image { align-items: center; aspect-ratio: 4 / 3; background: var(--surface-soft); display: flex; justify-content: center; overflow: hidden; position: relative; }
.listing-image img { height: 100%; object-fit: cover; width: 100%; }
.listing-image > i { color: var(--ink-soft); font-size: 2.4rem; opacity: .55; }
.listing-featured { background: var(--signal); border-radius: 999px; color: #251b00; font-size: .65rem; font-weight: 850; left: .75rem; letter-spacing: .08em; padding: .35rem .55rem; position: absolute; text-transform: uppercase; top: .75rem; }
.listing-new { background: var(--accent); border-radius: 999px; color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .08em; padding: .35rem .6rem; position: absolute; right: .75rem; text-transform: uppercase; top: .75rem; }
.listing-card-body { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.listing-card-meta { align-items: center; color: var(--ink-soft); display: flex; font-size: .72rem; gap: .4rem; justify-content: space-between; min-height: 1.25rem; }
.listing-card-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-card h3 { display: -webkit-box; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1.25; margin: .65rem 0; min-height: 2.8rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.listing-details { color: var(--ink-soft); font-size: .76rem; line-height: 1.5; margin: 0 0 1rem; min-height: 2.3em; }
.listing-card-footer { align-items: end; border-top: 1px solid var(--line); display: flex; gap: .75rem; justify-content: space-between; margin-top: auto; padding-top: .85rem; }
.listing-price { font-size: 1.08rem; font-weight: 850; letter-spacing: -.02em; }
.listing-seller { color: var(--ink-soft); font-size: .7rem; max-width: 48%; overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.listing-loading { align-items: center; color: var(--ink-soft); display: flex; gap: .8rem; grid-column: 1 / -1; justify-content: center; min-height: 260px; }
.empty-state { align-items: center; background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); display: flex; flex-direction: column; grid-column: 1 / -1; justify-content: center; min-height: 290px; padding: 3rem; text-align: center; }
.empty-icon { align-items: center; background: var(--surface-soft); border-radius: 50%; color: var(--accent); display: inline-flex; font-size: 1.6rem; height: 64px; justify-content: center; margin-bottom: 1rem; width: 64px; }
.empty-state h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; margin: 0 0 .5rem; }
.empty-state p { color: var(--ink-soft); margin: 0; max-width: 500px; }
.market-alert { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 1.5rem; padding: .9rem 1rem; }
.market-alert-info { background: color-mix(in srgb, var(--signal) 13%, var(--surface)); }
.market-alert-error { background: color-mix(in srgb, var(--accent) 13%, var(--surface)); }
.listing-pagination { display: flex; gap: .45rem; justify-content: center; margin-top: 2rem; }
.page-button { align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); display: inline-flex; font-size: .82rem; font-weight: 750; height: 42px; justify-content: center; min-width: 42px; padding: 0 .75rem; }
.page-button:hover:not(:disabled), .page-button[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.page-button:disabled { cursor: not-allowed; opacity: .45; }

.route-listing .market-hero, .route-listing .how-section { display: none; }
.route-listing .listing-section { padding-top: clamp(1.5rem, 4vw, 3rem); }
.listing-detail-back { align-items: center; color: var(--ink-soft); display: inline-flex; font-size: .86rem; font-weight: 750; gap: .5rem; margin-bottom: 1.4rem; text-decoration: none; }
.listing-detail-back:hover { color: var(--accent); }
.detail-layout { align-items: start; display: grid; gap: clamp(1.5rem, 4vw, 3rem); grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); }
.detail-gallery { min-width: 0; }
.detail-main-image { align-items: center; aspect-ratio: 4 / 3; background: var(--surface-soft); border: 1px solid var(--line); border-radius: var(--radius); display: flex; justify-content: center; overflow: hidden; }
.detail-main-image img { height: 100%; object-fit: contain; width: 100%; }
.detail-image-placeholder { color: var(--ink-soft); flex-direction: column; gap: .7rem; }
.detail-image-placeholder i { font-size: 3.2rem; opacity: .5; }
.detail-image-placeholder span { font-size: .82rem; font-weight: 700; }
.detail-thumbnails { display: grid; gap: .7rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: .8rem; }
.detail-thumbnail { aspect-ratio: 4 / 3; background: var(--surface); border: 2px solid transparent; border-radius: 11px; cursor: pointer; overflow: hidden; padding: 0; }
.detail-thumbnail img { height: 100%; object-fit: cover; width: 100%; }
.detail-thumbnail:hover, .detail-thumbnail.is-active { border-color: var(--accent); }
.detail-thumbnail:focus-visible { outline: 3px solid var(--signal); outline-offset: 2px; }
.detail-panel, .detail-set-units { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 25px rgba(16, 42, 67, .06); padding: clamp(1.35rem, 3vw, 2rem); }
.detail-sidebar { display: grid; gap: 1rem; position: sticky; top: 108px; }
.detail-badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; min-height: .1px; }
.detail-badge { left: auto; position: static; right: auto; top: auto; }
.detail-summary h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.045em; line-height: 1.05; margin: .45rem 0 1rem; overflow-wrap: anywhere; }
.detail-price { color: var(--accent); font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 850; letter-spacing: -.035em; }
.detail-delivery { align-items: center; color: var(--ink-soft); display: flex; font-size: .88rem; gap: .5rem; margin: .75rem 0 1.4rem; }
.detail-facts { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: .5rem 0; }
.detail-facts > div { border-bottom: 1px solid var(--line); min-width: 0; padding: .75rem .5rem; }
.detail-facts > div:nth-last-child(-n+2) { border-bottom: 0; }
.detail-facts dt { color: var(--ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .07em; margin-bottom: .2rem; text-transform: uppercase; }
.detail-facts dd { font-size: .86rem; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.detail-statline { color: var(--ink-soft); display: flex; flex-wrap: wrap; font-size: .74rem; gap: .8rem 1rem; margin-top: 1rem; }
.detail-statline span { align-items: center; display: inline-flex; gap: .35rem; }
.detail-description { margin-top: 1rem; }
.detail-description h2, .detail-set-units h2, .detail-seller h2 { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; margin: 0 0 .9rem; }
.detail-description p { color: var(--ink-soft); line-height: 1.75; margin: 0; overflow-wrap: anywhere; }
.detail-set-units { margin-top: 1rem; }
.detail-set-units ul { display: grid; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.detail-set-units li { align-items: start; border-top: 1px solid var(--line); display: grid; gap: .25rem; grid-template-columns: 90px 1fr; padding-top: .7rem; }
.detail-set-units li span { color: var(--ink-soft); font-size: .84rem; overflow-wrap: anywhere; }
.detail-seller h2 { margin: .35rem 0 1rem; }
.detail-seller p { color: var(--ink-soft); font-size: .86rem; margin: .45rem 0; }
.detail-seller .btn { align-items: center; display: flex; gap: .5rem; justify-content: center; margin-top: 1.25rem; padding: .8rem 1rem; }

.how-section { background: var(--ink); color: var(--paper); padding: clamp(4rem, 7vw, 6rem) 0; }
.section-heading-light .section-kicker { color: var(--signal); }
.steps-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.steps-grid article { border-left: 1px solid color-mix(in srgb, var(--paper) 18%, transparent); min-height: 230px; padding: 1.5rem clamp(1.5rem, 3vw, 3rem); position: relative; }
.steps-grid article:first-child { border-left: 0; padding-left: 0; }
.steps-grid article > span { color: color-mix(in srgb, var(--paper) 35%, transparent); font-size: .72rem; font-weight: 800; }
.steps-grid i { color: var(--signal); display: block; font-size: 2rem; margin: 2rem 0 1.15rem; }
.steps-grid h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; }
.steps-grid p { color: color-mix(in srgb, var(--paper) 68%, transparent); font-size: .9rem; line-height: 1.65; max-width: 300px; }

.site-footer { background: var(--surface); border-top: 1px solid var(--line); padding: 3.5rem 0; }
.footer-grid { align-items: start; display: grid; gap: 2rem; grid-template-columns: 1.5fr 1fr 1fr; }
.brand-lockup-footer { margin-bottom: .75rem; }
.footer-grid p, .footer-grid a { color: var(--ink-soft); font-size: .82rem; }
.footer-grid nav { display: grid; gap: .65rem; }
.footer-note { line-height: 1.6; }

@media (max-width: 991.98px) {
    .site-header .navbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 80px;
        padding: .75rem max(1rem, env(safe-area-inset-right)) .75rem max(1rem, env(safe-area-inset-left));
        position: relative;
    }
    .site-header .brand-lockup { grid-column: 1; grid-row: 1; min-width: 0; }
    .site-header .navbar-toggler { grid-column: 2; grid-row: 1; }
    .site-header .navbar-collapse {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 16px;
        box-shadow: var(--shadow);
        grid-column: 1 / -1;
        grid-row: 2;
        left: 0;
        margin: .55rem 0 0;
        overflow: hidden;
        padding: .7rem;
        position: absolute;
        right: 0;
        top: calc(100% - .75rem);
        width: auto;
    }
    .site-header .navbar-collapse.collapsing { transition: height .22s ease; }
    .navbar-nav { align-items: stretch !important; }
    .navbar-nav .nav-link { border-radius: 10px; padding: .7rem .75rem; }
    .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { background: var(--surface-soft); }
    .navbar-collapse .btn { width: 100%; }
    .theme-button { margin-top: .5rem; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-rail-card { display: none; }
    .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .detail-layout { grid-template-columns: 1fr; }
    .detail-sidebar { position: static; }
}

@media (max-width: 767.98px) {
    .market-hero { padding-top: 3.5rem; }
    .hero-copy h1 { font-size: clamp(3rem, 16vw, 4.7rem); }
    .hero-search { align-items: stretch; flex-wrap: wrap; padding: .7rem; }
    .hero-search input { width: calc(100% - 3rem); }
    .hero-search .btn { flex: 1 0 100%; }
    .section-heading { align-items: start; }
    .home-listing-heading .btn { display: none; }
    .home-listing-action { display: block; }
    .listing-page-intro { margin-bottom: 3rem; }
    .listing-page-intro h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
    .filter-grid { grid-template-columns: 1fr; }
    .filter-actions { align-items: stretch; flex-direction: column; }
    .filter-actions .btn { width: 100%; }
    .listing-grid { grid-template-columns: 1fr; }
    .detail-thumbnails { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .detail-facts { grid-template-columns: 1fr; }
    .detail-facts > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
    .detail-facts > div:last-child { border-bottom: 0; }
    .steps-grid { grid-template-columns: 1fr; }
    .steps-grid article, .steps-grid article:first-child { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--paper) 18%, transparent); min-height: auto; padding: 2rem 0; }
    .steps-grid article:first-child { border-top: 0; }
    .steps-grid i { margin: 1rem 0; }
    .footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Authenticated marketplace shell */
.nav-count { align-items: center; background: var(--accent); border-radius: 999px; color: #fff; display: inline-flex; font-size: .7rem; font-weight: 800; justify-content: center; min-height: 1.35rem; min-width: 1.35rem; padding: 0 .35rem; }
.nav-logout-form { margin: 0; }
.nav-logout-button { background: none; border: 0; width: 100%; }
.profile-main { min-height: 70vh; }
.profile-section { padding: clamp(2.5rem, 4.5vw, 4rem) 0 clamp(3rem, 6vw, 5.5rem); }
.profile-intro { margin-bottom: 2rem; max-width: 720px; }
.profile-intro h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 5vw, 4rem); letter-spacing: -.04em; margin: .45rem 0 .8rem; }
.profile-intro p { color: var(--ink-soft); font-size: 1.05rem; line-height: 1.65; margin: 0; }
.profile-back { align-items: center; color: var(--ink-soft); display: inline-flex; font-weight: 700; gap: .45rem; margin-bottom: 1.5rem; text-decoration: none; }
.profile-back:hover { color: var(--accent); }
.profile-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-card { align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; color: inherit; display: grid; gap: 1rem; grid-template-columns: 48px 1fr auto; min-height: 150px; padding: 1.35rem; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.profile-card:hover { border-color: var(--accent); box-shadow: var(--shadow); transform: translateY(-2px); }
.profile-card > i:first-child { align-items: center; background: var(--surface-soft); border-radius: 14px; color: var(--accent); display: flex; font-size: 1.3rem; height: 48px; justify-content: center; width: 48px; }
.profile-card h2, .settings-grid h2 { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; margin: 0 0 .35rem; }
.profile-card p, .settings-grid p { color: var(--ink-soft); margin: 0; }
.account-panel, .settings-grid, .profile-list { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.account-panel > div { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(150px, .7fr) 1fr; padding: 1.15rem 1.35rem; }
.account-panel > div:last-child { border-bottom: 0; }
.account-panel span { color: var(--ink-soft); }
.account-status { align-items: center; display: inline-flex; gap: .45rem; }
.account-status.is-connected { color: var(--success); }
.profile-list > a, .message-row { align-items: center; border-bottom: 1px solid var(--line); color: inherit; display: flex; gap: 1rem; justify-content: space-between; padding: 1.1rem 1.25rem; text-decoration: none; }
.profile-list > a:last-child, .message-row:last-child { border-bottom: 0; }
.profile-list > a:hover { background: var(--surface-soft); }
.profile-list strong, .profile-list span { display: block; }
.profile-list span { color: var(--ink-soft); font-size: .88rem; margin-top: .2rem; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-grid article { padding: 1.5rem; }
.settings-grid article + article { border-left: 1px solid var(--line); }
.settings-grid article > i { color: var(--accent); display: block; font-size: 1.5rem; margin-bottom: 1rem; }
@media (max-width: 767.98px) {
    .profile-section {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
    .profile-grid, .settings-grid { grid-template-columns: 1fr; }
    .settings-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
    .account-panel > div { grid-template-columns: 1fr; gap: .3rem; }
    .nav-logout-button { text-align: left; }
}

/* Marketplace conversations */
.message-overview .message-row { min-height: 88px; }
.message-overview .message-row > div { min-width: 0; }
.message-overview .message-row strong,
.message-overview .message-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-overview .message-row time { color: var(--ink-soft); display: block; font-size: .72rem; margin-top: .35rem; }
.message-overview .message-row > i { color: var(--ink-soft); }
.message-overview .message-row.has-unread { background: color-mix(in srgb, var(--signal) 9%, var(--surface)); }
.message-overview .message-row.has-unread strong { color: var(--ink); }
.message-conversation-header { align-items: start; background: var(--surface); border: 1px solid var(--line); border-radius: 18px 18px 0 0; display: flex; gap: 1rem; justify-content: space-between; padding: 1.35rem 1.5rem; }
.message-conversation-header h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 4vw, 2.5rem); letter-spacing: -.035em; margin: .25rem 0 .45rem; }
.message-conversation-header a { color: var(--ink-soft); font-size: .86rem; text-decoration: none; }
.message-conversation-header a:hover { color: var(--accent); }
.conversation-status { background: var(--surface-soft); border-radius: 999px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; padding: .4rem .7rem; }
.conversation-status.is-active { background: color-mix(in srgb, var(--success) 13%, var(--surface)); color: var(--success); }
.message-thread { background: color-mix(in srgb, var(--surface-soft) 65%, var(--paper)); border-left: 1px solid var(--line); border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: .8rem; max-height: 58vh; min-height: 340px; overflow-y: auto; padding: clamp(1rem, 3vw, 1.75rem); }
.message-thread-empty { align-items: center; color: var(--ink-soft); display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 270px; text-align: center; }
.message-thread-empty i { color: var(--accent); font-size: 2rem; margin-bottom: .65rem; }
.message-thread-empty strong { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; margin-bottom: .25rem; }
.message-bubble { align-self: flex-start; background: var(--surface); border: 1px solid var(--line); border-radius: 6px 16px 16px 16px; box-shadow: 0 5px 16px rgba(16, 42, 67, .05); max-width: min(76%, 680px); padding: .8rem 1rem .6rem; }
.message-bubble.is-mine { align-self: flex-end; background: var(--ink); border-color: var(--ink); border-radius: 16px 6px 16px 16px; color: var(--paper); }
.message-bubble p { line-height: 1.55; margin: 0; overflow-wrap: anywhere; white-space: normal; }
.message-bubble time { color: var(--ink-soft); display: block; font-size: .67rem; margin-top: .4rem; text-align: right; }
.message-bubble.is-mine time { color: color-mix(in srgb, var(--paper) 62%, transparent); }
.message-compose { background: var(--surface); border: 1px solid var(--line); border-radius: 0 0 18px 18px; display: grid; gap: .7rem; padding: 1.25rem 1.5rem; }
.message-compose label { font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.message-compose textarea { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; color: var(--ink); line-height: 1.55; min-height: 110px; padding: .85rem 1rem; resize: vertical; width: 100%; }
.message-compose textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); outline: 0; }
.message-compose > div { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.message-compose span { color: var(--ink-soft); font-size: .74rem; }
.message-compose .btn { align-items: center; display: inline-flex; gap: .5rem; }
@media (max-width: 767.98px) {
    .message-conversation-header { align-items: stretch; flex-direction: column; }
    .conversation-status { align-self: flex-start; }
    .message-thread { max-height: 62vh; min-height: 300px; }
    .message-bubble { max-width: 90%; }
    .message-compose > div { align-items: stretch; flex-direction: column; }
    .message-compose .btn { justify-content: center; width: 100%; }
}

.detail-seller .btn:disabled { background: var(--surface-soft); border-color: var(--line); color: var(--ink-soft); cursor: default; opacity: 1; }


/* Listing context across marketplace messages */
.listing-contacted{position:absolute;left:.75rem;bottom:.75rem;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;border-radius:999px;background:rgba(16,42,67,.92);color:#fff;box-shadow:0 6px 18px rgba(16,42,67,.22);font-size:.66rem;font-weight:800}
.detail-contacted-note{display:flex;align-items:flex-start;gap:.4rem;margin-top:.65rem;color:var(--success);font-size:.75rem;font-weight:700;line-height:1.35}
.message-overview .message-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:1rem;min-height:112px}
.message-row-image{width:88px;height:76px;display:grid!important;place-items:center;overflow:hidden;border-radius:12px;background:var(--surface-soft);color:var(--accent);font-size:1.45rem}
.message-row-image img{width:100%;height:100%;object-fit:cover}
.message-row-copy{min-width:0}
.message-row-person{margin:0 0 .2rem!important;color:var(--ink-soft);font-size:.72rem!important;font-weight:700}
.message-row-copy strong{font-size:.95rem}
.message-row-copy strong i{color:var(--accent);font-size:.76rem}
.message-detail-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:1.25rem;align-items:start}
.message-listing-summary{position:sticky;top:1rem;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px rgba(16,42,67,.06)}
.message-listing-image{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:var(--surface-soft);color:var(--accent);font-size:2.2rem}
.message-listing-image img{width:100%;height:100%;object-fit:cover}
.message-listing-copy{padding:1.15rem}
.message-listing-copy h2{margin:.3rem 0 .5rem;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}
.message-listing-price{display:block;margin-bottom:1rem;font-size:1.2rem}
.message-listing-copy dl{margin:0 0 1rem}
.message-listing-copy dl>div{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-top:1px solid var(--line);font-size:.75rem}
.message-listing-copy dt{color:var(--ink-soft);font-weight:600}.message-listing-copy dd{margin:0;text-align:right;font-weight:700}
.message-conversation-column{min-width:0}
.message-conversation-listing{color:var(--ink-soft);font-size:.82rem}
.message-bubble footer{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin-top:.4rem}
.message-bubble footer time{margin:0}
.message-delivery-status{display:inline-flex;align-items:center;gap:.2rem;color:color-mix(in srgb,var(--paper) 65%,transparent);font-size:.67rem;font-weight:700}
.message-delivery-status.is-read{color:#9ed7ff}
@media(max-width:991.98px){.message-detail-layout{grid-template-columns:1fr}.message-listing-summary{position:static;display:grid;grid-template-columns:190px minmax(0,1fr)}.message-listing-image{height:100%;aspect-ratio:auto}}
@media(max-width:575.98px){.message-overview .message-row{grid-template-columns:64px minmax(0,1fr) auto;gap:.7rem}.message-row-image{width:64px;height:58px}.message-detail-layout{gap:.8rem}.message-listing-summary{display:block}.message-listing-image{aspect-ratio:16/8;height:auto}.listing-contacted{font-size:.6rem}.message-bubble footer{flex-wrap:wrap}}

/* Todelt beskedindbakke */
.market-message-inbox{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.45fr);min-height:min(68vh,740px);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px rgba(16,42,67,.06)}.message-inbox-sidebar{min-width:0;border-right:1px solid var(--line)}.message-inbox-sidebar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}.message-inbox-sidebar-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}.message-inbox-sidebar-heading span:not(.nav-count){display:block;margin-top:.2rem;color:var(--ink-soft);font-size:.72rem}.message-inbox-sidebar .message-overview{max-height:min(62vh,680px);overflow-y:auto;overscroll-behavior:contain}.message-inbox-sidebar .message-row{grid-template-columns:58px minmax(0,1fr) auto;gap:.75rem;min-height:96px;padding:.85rem 1rem}.message-inbox-sidebar .message-row-image{width:58px;height:52px}.message-inbox-sidebar .message-row-copy strong{font-size:.83rem}.message-inbox-sidebar .message-row-copy>span:not(.message-row-person){display:block;overflow:hidden;color:var(--ink-soft);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.message-inbox-sidebar .message-row time{font-size:.66rem}.message-inbox-sidebar .message-row:hover{background:var(--surface-soft)}.message-inbox-sidebar .message-row.is-active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.message-inbox-sidebar .message-row.is-active>i{color:var(--accent)}.message-inbox-empty{display:grid;min-height:230px;place-content:center;padding:1.5rem;text-align:center;color:var(--ink-soft)}.message-inbox-empty i{color:var(--accent);font-size:1.8rem}.message-inbox-empty strong{margin:.65rem 0 .2rem;color:var(--ink)}.message-inbox-empty span{font-size:.75rem}.message-inbox-main{display:flex;min-width:0;flex-direction:column;padding:1.2rem;background:var(--paper)}.message-inbox-main .message-conversation-column{display:flex;min-height:100%;flex:1;flex-direction:column}.message-inbox-main .message-conversation-header{align-items:center;padding:1rem 1.1rem}.message-inbox-conversation-context{display:flex;align-items:center;min-width:0;gap:.85rem}.message-inbox-listing-image{width:76px;height:62px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:12px;background:var(--surface-soft);color:var(--accent);font-size:1.4rem}.message-inbox-listing-image img{width:100%;height:100%;object-fit:cover}.message-inbox-conversation-context>div{min-width:0}.message-inbox-conversation-context h2{margin:.2rem 0 .25rem;overflow:hidden;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;text-overflow:ellipsis;white-space:nowrap}.message-inbox-conversation-context .message-conversation-listing{display:block}.message-inbox-conversation-context .message-conversation-listing a{margin-left:.35rem;color:var(--accent);font-weight:700}.message-inbox-main .message-thread{flex:1;max-height:min(48vh,560px)}.message-conversation-column.is-closed .message-thread{border-bottom:1px solid var(--line);border-radius:0 0 18px 18px}.message-inbox-placeholder{display:grid;min-height:100%;place-content:center;padding:2rem;text-align:center;color:var(--ink-soft)}.message-inbox-placeholder i{color:var(--accent);font-size:2.2rem}.message-inbox-placeholder h2{margin:.8rem 0 .3rem;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:var(--ink)}.message-inbox-placeholder p{max-width:340px;margin:0;font-size:.8rem;line-height:1.55}.message-inbox-mobile-back{display:none;align-items:center;gap:.45rem;margin-bottom:1rem;color:var(--accent);font-size:.78rem;font-weight:800;text-decoration:none}
@media(max-width:991.98px) and (min-width:768px){.market-message-inbox{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.message-inbox-main{padding:1rem}.message-inbox-sidebar .message-row{grid-template-columns:52px minmax(0,1fr)}.message-inbox-sidebar .message-row-image{width:52px;height:48px}.message-inbox-sidebar .message-row>.nav-count,.message-inbox-sidebar .message-row>i{grid-column:2;justify-self:end;margin-top:-2rem}}
@media(max-width:767.98px){.market-message-inbox{display:block;min-height:0}.message-inbox-sidebar{border-right:0}.market-message-inbox.has-active-conversation .message-inbox-sidebar{display:none}.market-message-inbox:not(.has-active-conversation) .message-inbox-main{display:none}.message-inbox-sidebar .message-overview{max-height:none}.message-inbox-main{min-height:62vh;padding:1rem}.message-inbox-main .message-thread{max-height:52vh}.message-inbox-mobile-back{display:inline-flex}.message-inbox-conversation-context h2{white-space:normal}}
@media(max-width:575.98px){.message-inbox-main{padding:.75rem}.message-inbox-main .message-conversation-header{align-items:flex-start}.message-inbox-listing-image{width:58px;height:50px}.message-inbox-conversation-context{align-items:flex-start}.message-inbox-conversation-context .section-kicker{font-size:.58rem}.message-inbox-conversation-context .message-conversation-listing{font-size:.7rem}.message-inbox-sidebar .message-row{grid-template-columns:52px minmax(0,1fr) auto}.message-inbox-sidebar .message-row-image{width:52px;height:48px}}

/* Stabil højde og intern scrolling i beskedindbakken */
body[data-page="messages"] .profile-section{padding-bottom:clamp(2rem,4vw,3.5rem)}
.market-message-inbox{height:clamp(600px,72vh,800px);height:clamp(600px,72dvh,800px);min-height:0}
.message-inbox-sidebar{display:flex;min-height:0;flex-direction:column}
.message-inbox-sidebar .message-overview{min-height:0;flex:1;max-height:none}
.message-inbox-main{min-height:0;overflow:hidden}
.message-inbox-main .message-conversation-column{min-height:0}
.message-inbox-main .message-conversation-header,.message-inbox-main .message-compose{flex:0 0 auto}
.message-inbox-main .message-thread{min-height:0;max-height:none}
@media(max-width:767.98px){.market-message-inbox{height:clamp(560px,72dvh,700px)}.message-inbox-sidebar,.message-inbox-main{height:100%}.message-inbox-main{min-height:0}.message-inbox-main .message-thread{min-height:0;max-height:none}}

/* Tydelig markering af samtaler med nye beskeder */
.message-row-image{position:relative;overflow:visible}
.message-row-image img{border-radius:inherit}
.message-row-heading{display:flex;align-items:center;gap:.45rem;min-width:0;margin-bottom:.2rem}
.message-row-heading .message-row-person{min-width:0;margin:0!important}
.message-overview .message-row.has-unread{background:color-mix(in srgb,var(--signal) 17%,var(--surface));box-shadow:inset 5px 0 0 var(--signal)}
.message-overview .message-row.has-unread:hover{background:color-mix(in srgb,var(--signal) 23%,var(--surface))}
.message-overview .message-row.has-unread .message-row-person,
.message-overview .message-row.has-unread .message-row-copy>strong,
.message-overview .message-row.has-unread .message-row-copy>span{color:var(--ink);font-weight:800}
.message-overview .message-row.has-unread .message-row-image{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 38%,transparent)}
.message-unread-image-marker{position:absolute;right:-6px;top:-7px;width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--surface);border-radius:50%;background:#9a5700;color:#fff;font-size:.62rem;box-shadow:0 3px 9px rgba(93,54,0,.25)}
.message-overview .message-unread-badge{display:inline-flex;align-items:center;flex:0 0 auto;gap:.32rem;max-width:100%;padding:.28rem .5rem;border-radius:999px;background:#9a5700;color:#fff;font-size:.58rem;font-weight:850;letter-spacing:.01em;box-shadow:0 3px 9px rgba(93,54,0,.18)}
.message-unread-badge i{font-size:.38rem}
[data-theme="dark"] .message-unread-image-marker,
[data-theme="dark"] .message-overview .message-unread-badge{background:var(--signal);color:#251b00}
@media(max-width:575.98px){.message-row-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.message-overview .message-unread-badge{padding:.22rem .42rem;font-size:.54rem}}

/* Beskyttet markedsadministration */
.admin-main{min-height:75vh}.admin-shell{padding:clamp(2.5rem,4.5vw,4rem) 0 clamp(4rem,7vw,6rem)}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.admin-heading h1{margin:.4rem 0 .65rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4.25rem);letter-spacing:-.045em}.admin-heading p,.admin-section-heading p{max-width:760px;margin:0;color:var(--ink-soft);line-height:1.6}.admin-environment{display:inline-flex;padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.admin-tabs{display:flex;gap:.4rem;margin-bottom:1.5rem;padding:.4rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow-x:auto}.admin-tabs a{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;border-radius:11px;color:var(--ink-soft);font-size:.82rem;font-weight:800;text-decoration:none;white-space:nowrap}.admin-tabs a:hover,.admin-tabs a.active{background:var(--ink);color:var(--paper)}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.admin-stat-grid article{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.admin-stat-grid i{grid-row:1/3;align-self:center;display:grid;width:45px;height:45px;place-items:center;border-radius:13px;background:var(--surface-soft);color:var(--accent);font-size:1.2rem}.admin-stat-grid span{align-self:end;color:var(--ink-soft);font-size:.72rem;font-weight:750}.admin-stat-grid strong{font-size:1.65rem;line-height:1}
.admin-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.admin-info-grid article{padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.admin-info-grid h2,.admin-section-heading h2{margin:0 0 .6rem;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}.admin-info-grid p{margin:.8rem 0 0;color:var(--ink-soft);line-height:1.6}
.admin-badges{display:flex;flex-wrap:wrap;gap:.4rem}.admin-badges span{display:inline-flex;padding:.32rem .55rem;border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);font-size:.68rem;font-weight:800}
.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.admin-filter{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(180px,.7fr) auto auto;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-filter label,.admin-actions label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.72rem;font-weight:800}.admin-filter input,.admin-filter select,.admin-actions input,.admin-actions select{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);outline:0}.admin-filter input:focus,.admin-filter select:focus,.admin-actions input:focus,.admin-actions select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.admin-records{display:grid;gap:1rem}.admin-record,.admin-empty{padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.admin-record{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:1.5rem}.admin-record-title{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between}.admin-record h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;overflow-wrap:anywhere}.admin-record-main>p{margin:.45rem 0;color:var(--ink-soft);font-size:.84rem}.admin-status{display:inline-flex;flex:0 0 auto;padding:.33rem .55rem;border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);font-size:.65rem;font-weight:850}.admin-status.status-approved,.admin-status.status-active{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.admin-status.status-pending{background:color-mix(in srgb,var(--signal) 18%,var(--surface));color:#835000}.admin-status.status-hidden,.admin-status.status-rejected,.admin-status.status-suspended,.admin-status.status-user_suspended{background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent-dark)}.admin-status.status-deleted{background:var(--ink);color:var(--paper)}
.admin-record-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.8rem;color:var(--ink-soft);font-size:.72rem}.admin-record-meta span,.admin-record-meta a{display:inline-flex;align-items:center;gap:.3rem}.admin-record-meta a{color:var(--accent);font-weight:800}.admin-reason{margin-top:.9rem!important;padding:.65rem .75rem;border-left:3px solid var(--signal);background:var(--surface-soft);color:var(--ink)!important}
.admin-moderation-history{margin-top:1rem;border:1px solid var(--line);border-radius:13px;background:var(--paper);overflow:hidden}.admin-moderation-history>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .85rem;cursor:pointer;color:var(--ink);font-size:.76rem;font-weight:850;list-style:none}.admin-moderation-history>summary::-webkit-details-marker{display:none}.admin-moderation-history>summary span{display:inline-flex;align-items:center;gap:.45rem}.admin-moderation-history>summary strong{display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);font-size:.65rem}.admin-moderation-history[open]>summary{border-bottom:1px solid var(--line)}.admin-history-list{display:grid}.admin-history-list article{padding:.75rem .85rem;border-bottom:1px solid var(--line)}.admin-history-list article:last-child{border-bottom:0}.admin-history-list article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-history-list article strong{font-size:.73rem}.admin-history-list time{flex:0 0 auto;color:var(--ink-soft);font-size:.65rem}.admin-history-list p{margin:.28rem 0 0;color:var(--ink-soft);font-size:.7rem;line-height:1.45}
.admin-actions{display:grid;align-content:start;gap:.55rem}.admin-actions details{border:1px solid var(--line);border-radius:12px;background:var(--paper)}.admin-actions summary{padding:.72rem .85rem;cursor:pointer;color:var(--ink);font-size:.78rem;font-weight:800}.admin-actions details[open] summary{border-bottom:1px solid var(--line)}.admin-actions form{display:grid;gap:.7rem;padding:.85rem}.admin-actions form p{margin:0;color:var(--ink-soft);font-size:.72rem;line-height:1.5}.admin-actions .danger-zone{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.admin-inline-actions{display:flex;gap:.5rem}.admin-inline-actions .btn{flex:1}
.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-table{width:100%;border-collapse:collapse;font-size:.78rem}.admin-table th,.admin-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{color:var(--ink-soft);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}.admin-table tbody tr:last-child td{border-bottom:0}
@media(max-width:991.98px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record{grid-template-columns:1fr}.admin-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.admin-shell{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.admin-heading{display:block}.admin-environment{margin-top:1rem}.admin-info-grid,.admin-filter{grid-template-columns:1fr}.admin-filter .btn{width:100%}.admin-record-title{align-items:flex-start;flex-direction:column}.admin-actions{width:100%}.admin-history-list article>div{display:grid;gap:.2rem}.admin-history-list time{white-space:normal}}
@media(max-width:480px){.admin-stat-grid{grid-template-columns:1fr}}

/* Favoritter og annonceagenter */
.listing-card{position:relative}.favorite-button{position:absolute;z-index:3;right:.75rem;top:.75rem;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(16,42,67,.14);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:1.08rem;box-shadow:0 5px 16px rgba(16,42,67,.16);transition:transform .16s ease,color .16s ease}.favorite-button:hover{transform:scale(1.06);color:var(--accent)}.favorite-button.is-active,.detail-favorite.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.detail-favorite{margin-bottom:.7rem}.listing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.listing-toolbar p{margin:0}.listing-agent-shortcut{white-space:nowrap}
.profile-flash{margin:0 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:13px;background:var(--surface);font-size:.82rem;font-weight:750}.profile-flash-success{border-color:color-mix(in srgb,var(--success) 35%,var(--line));color:var(--success)}.profile-flash-error{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent-dark)}
.personal-list{display:grid;gap:.8rem}.personal-listing-card{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.personal-listing-card.is-unread{box-shadow:inset 4px 0 0 var(--signal)}.personal-listing-card>a{display:flex;align-items:center;min-width:0;flex:1;gap:.9rem;color:var(--ink);text-decoration:none}.personal-listing-card>a>span:last-child{display:grid;min-width:0;gap:.15rem}.personal-listing-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-listing-card small{color:var(--ink-soft)}.personal-listing-card em{color:var(--accent);font-size:.68rem;font-style:normal;font-weight:800}.personal-listing-image{width:84px;height:66px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:11px;background:var(--surface-soft);color:var(--accent);font-size:1.35rem}.personal-listing-image img{width:100%;height:100%;object-fit:cover}.personal-listing-card form{flex:0 0 auto}.icon-action{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.icon-action:hover{border-color:var(--accent);color:var(--accent)}.icon-action.is-danger:hover{background:var(--accent);color:#fff}
.agent-create-panel{margin-bottom:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.agent-create-panel label{display:block;margin-bottom:.4rem;color:var(--ink-soft);font-size:.72rem;font-weight:800}.agent-search-row{display:flex;gap:.65rem}.agent-search-row input{min-width:0;min-height:46px;flex:1;padding:.7rem .85rem;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink)}.agent-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.agent-preview p{margin:0 0 .65rem}.agent-preview>div{display:flex;align-items:center;gap:.65rem}.agent-preview>div form{margin:0}.agent-preview small{display:block;margin-top:.6rem;color:var(--ink-soft)}.agent-list{display:grid;gap:.8rem}.agent-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.agent-card.is-paused{opacity:.7}.agent-card h2{margin:.25rem 0;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.agent-card p{margin:0;color:var(--ink-soft);font-size:.75rem}.agent-card p strong{color:var(--accent)}.agent-state{display:inline-flex;align-items:center;gap:.35rem;color:var(--success);font-size:.65rem;font-weight:850;text-transform:uppercase}.is-paused .agent-state{color:var(--ink-soft)}.agent-actions,.agent-actions form{display:flex;align-items:center;gap:.45rem}.agent-match-panel{margin-top:1.5rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.agent-match-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.agent-match-heading h2{margin:.25rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.4rem}.agent-no-matches{margin:0;color:var(--ink-soft)}
@media(max-width:767.98px){.listing-toolbar{align-items:flex-start;flex-direction:column}.listing-agent-shortcut{width:100%}.agent-search-row,.agent-card,.agent-actions{align-items:stretch;flex-direction:column}.agent-actions form{justify-content:flex-end}.agent-preview>div{align-items:stretch;flex-direction:column}.agent-preview .btn,.agent-preview form{width:100%}.personal-listing-image{width:66px;height:58px}.agent-match-heading{align-items:flex-start;flex-direction:column}}

.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.notification-toolbar p{margin:0;color:var(--ink-soft);font-size:.78rem;font-weight:800}.notification-list{display:grid;gap:.75rem}.notification-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.notification-card.is-unread{border-color:color-mix(in srgb,var(--signal) 48%,var(--line));box-shadow:inset 5px 0 0 var(--signal)}.notification-card form{margin:0}.notification-card button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem;border:0;background:transparent;color:var(--ink);text-align:left}.notification-card button:hover{background:var(--surface-soft)}.notification-copy{display:grid;min-width:0;gap:.18rem}.notification-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-copy small{color:var(--ink-soft);font-size:.7rem}.notification-copy em{width:max-content;padding:.2rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--signal) 22%,var(--surface));color:#805000;font-size:.58rem;font-style:normal;font-weight:850;text-transform:uppercase}.notification-card button>i{color:var(--accent)}
@media(max-width:575.98px){.notification-toolbar{align-items:stretch;flex-direction:column}.notification-toolbar .btn{width:100%}.notification-card button{grid-template-columns:58px minmax(0,1fr);gap:.7rem}.notification-card button>i{display:none}.notification-copy small{line-height:1.4}}

/* Maildrift og skabeloner */
.admin-stat-grid article.has-warning,.mail-stat-grid .status-panel-failed{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.mail-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1rem}.mail-stat-grid .status-panel-sent i{color:var(--success)}.mail-stat-grid .status-panel-failed i{color:var(--danger)}.mail-admin-heading form{flex:0 0 auto}.admin-status.status-sent{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.admin-status.status-failed{background:color-mix(in srgb,var(--danger) 13%,var(--surface));color:var(--danger)}.admin-status.status-sending{background:color-mix(in srgb,#315f91 13%,var(--surface));color:#315f91}.admin-status.status-skipped,.admin-status.status-cancelled{background:var(--surface-soft);color:var(--ink-soft)}.mail-queue-record{grid-template-columns:minmax(0,1fr) auto}.mail-queue-record .admin-actions{min-width:150px}.mail-error{border-color:color-mix(in srgb,var(--danger) 25%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--surface));color:var(--danger)!important}.mail-details{margin-top:1rem}.mail-detail-content{display:grid;gap:1rem;padding:1rem}.mail-detail-content dl{display:grid;gap:.5rem;margin:0}.mail-detail-content dl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:.75rem}.mail-detail-content dt{color:var(--ink-soft);font-size:.7rem;text-transform:uppercase}.mail-detail-content dd{margin:0;font-size:.78rem;overflow-wrap:anywhere}.mail-detail-content pre{max-height:340px;overflow:auto;margin:0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:.78rem;line-height:1.55;white-space:pre-wrap}.mail-template-help{display:grid;gap:.55rem;margin-bottom:1rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.mail-template-help>div{display:flex;flex-wrap:wrap;gap:.45rem}.mail-template-help code{padding:.3rem .5rem;border-radius:8px;background:var(--surface-soft);color:var(--accent-dark)}.mail-template-help p{margin:0;color:var(--ink-soft);font-size:.78rem}.mail-template-list{display:grid;gap:1.25rem}.mail-template-card{padding:1.35rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.mail-template-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.mail-template-title h3{margin:.15rem 0;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem}.mail-template-title p{margin:0;color:var(--ink-soft)}.mail-template-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:1.25rem;align-items:start}.mail-template-form{display:grid;gap:.8rem}.mail-template-form label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.72rem;font-weight:800}.mail-template-form input:not([type=checkbox]),.mail-template-form textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);outline:0}.mail-template-form textarea{resize:vertical;line-height:1.5}.mail-template-form input:focus,.mail-template-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.mail-template-form small{font-weight:500}.mail-template-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.55rem!important}.mail-template-check input{width:18px;height:18px}.mail-template-preview{position:sticky;top:1rem;display:grid;gap:.75rem}.mail-template-preview>span{color:var(--ink-soft);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.mail-template-preview iframe{width:100%;height:590px;border:1px solid var(--line);border-radius:14px;background:#f4f1eb}.mail-template-preview form,.mail-template-preview button{width:100%}.mail-template-updated{margin:1rem 0 0;color:var(--ink-soft);font-size:.72rem}
@media(max-width:1199.98px){.mail-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mail-template-grid{grid-template-columns:1fr}.mail-template-preview{position:static}.mail-template-preview iframe{height:520px}}
@media(max-width:767.98px){.mail-admin-heading{align-items:stretch;flex-direction:column}.mail-admin-heading form,.mail-admin-heading button{width:100%}.mail-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-queue-record{grid-template-columns:1fr}.mail-detail-content dl div{grid-template-columns:1fr;gap:.15rem}.mail-template-title{flex-direction:column}.mail-template-preview iframe{height:480px}}
@media(max-width:480px){.mail-stat-grid{grid-template-columns:1fr}}
.admin-bootstrap-main{display:grid;min-height:calc(100vh - 38px);place-items:center;padding:2rem 1rem}.admin-bootstrap-card{width:min(100%,560px);padding:clamp(1.5rem,5vw,2.5rem);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.admin-bootstrap-card h1{margin:.5rem 0 .8rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,7vw,3.2rem);letter-spacing:-.045em}.admin-bootstrap-card>p{color:var(--ink-soft);line-height:1.65}.admin-bootstrap-account{display:grid;gap:.15rem;margin:1.25rem 0;padding:1rem;border-radius:14px;background:var(--surface-soft)}.admin-bootstrap-account span,.admin-bootstrap-account small{color:var(--ink-soft);font-size:.72rem}.admin-bootstrap-card form{display:grid;gap:.8rem}.admin-bootstrap-card label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.75rem;font-weight:800}.admin-bootstrap-card input{min-height:46px;padding:.7rem .8rem;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink)}.admin-bootstrap-card>a{display:block;margin-top:1rem;color:var(--ink-soft);font-size:.78rem;text-align:center}
