/* ==========================================================================
   Northline Exchange — CRE platform styles
   nx-*  = layout classes applied to Oxygen elements (edit freely in Oxygen)
   cre-* = markup produced by the platform shortcodes
   ========================================================================== */

:root {
  --nx-navy: #0b1b33;
  --nx-navy-2: #11274a;
  --nx-navy-3: #1b3761;
  --nx-ink: #0f172a;
  --nx-text: #334155;
  --nx-muted: #64748b;
  --nx-line: #e2e8f0;
  --nx-bg: #ffffff;
  --nx-tint: #f5f7fb;
  --nx-blue: #1f5eff;
  --nx-blue-dk: #1748c8;
  --nx-blue-soft: #e8efff;
  --nx-gold: #e7ad3c;
  --nx-green: #0f9d63;
  --nx-red: #d14343;
  --nx-radius: 14px;
  --nx-radius-sm: 8px;
  --nx-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);
  --nx-shadow-lg: 0 20px 50px rgba(11, 27, 51, .18);
  --nx-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nx-font-head: "Inter Tight", "Inter", system-ui, sans-serif;
  --nx-wrap: 1240px;
  --nx-wrap-wide: 1440px; /* header + footer width */
  --nx-header-h: 76px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--nx-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--nx-text);
  background: var(--nx-bg);
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { color: var(--nx-blue); }
h1, h2, h3, h4 { font-family: var(--nx-font-head); color: var(--nx-ink); line-height: 1.15; margin: 0; letter-spacing: -0.02em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* ---------- Layout primitives ---------- */
.nx-section { width: 100%; padding: 96px 24px; position: relative; }
.nx-section--tight { padding-top: 64px; padding-bottom: 64px; }
.nx-section--tint { background: var(--nx-tint); }
.nx-section--dark { background: var(--nx-navy); color: #c7d2e3; }
.nx-section--dark h1, .nx-section--dark h2, .nx-section--dark h3 { color: #fff; }
.nx-section--line { border-top: 1px solid var(--nx-line); }
.nx-wrap { width: 100%; max-width: var(--nx-wrap); margin: 0 auto; display: flex; flex-direction: column; }
.nx-wrap--narrow { max-width: 820px; }
.nx-center { align-items: center; text-align: center; }
.nx-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 48px; max-width: 760px; }
.nx-head.nx-center { margin-left: auto; margin-right: auto; }
.nx-head--row { max-width: none; flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }

.nx-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nx-blue); }
.nx-section--dark .nx-eyebrow, .nx-hero .nx-eyebrow { color: var(--nx-gold); }
.nx-h1 { font-size: clamp(40px, 5.4vw, 68px); font-weight: 800; letter-spacing: -0.035em; }
.nx-h2 { font-size: clamp(30px, 3.4vw, 44px); font-weight: 700; }
.nx-h3 { font-size: 21px; font-weight: 700; }
.nx-lead { font-size: 19px; line-height: 1.6; color: var(--nx-muted); max-width: 680px; margin: 0; }
.nx-section--dark .nx-lead, .nx-hero .nx-lead { color: #b9c6da; }
.nx-text { margin: 0; color: var(--nx-muted); }
.nx-small { font-size: 14px; color: var(--nx-muted); margin: 0; }

.nx-grid-2, .nx-grid-3, .nx-grid-4 { display: grid; gap: 24px; width: 100%; }
.nx-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nx-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Buttons ---------- */
.nx-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.nx-btns.nx-center { justify-content: center; }
.nx-btn, .cre-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 24px; border-radius: 999px; border: 1.5px solid transparent;
  font: 600 15px/1 var(--nx-font); text-decoration: none; cursor: pointer;
  transition: background .18s, color .18s, border-color .18s, transform .18s, box-shadow .18s; white-space: nowrap;
}
.nx-btn:hover, .cre-btn:hover { transform: translateY(-1px); }
.nx-btn--primary, .cre-btn--primary { background: var(--nx-blue); color: #fff; box-shadow: 0 6px 18px rgba(31, 94, 255, .28); }
.nx-btn--primary:hover, .cre-btn--primary:hover { background: var(--nx-blue-dk); color: #fff; }
.nx-btn--light { background: #fff; color: var(--nx-navy); }
.nx-btn--light:hover { background: #eef2f8; color: var(--nx-navy); }
.nx-btn--ghost, .cre-btn--ghost { background: transparent; color: var(--nx-ink); border-color: var(--nx-line); }
.nx-btn--ghost:hover, .cre-btn--ghost:hover { border-color: var(--nx-ink); color: var(--nx-ink); }
.nx-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .35); }
.nx-btn--outline-light:hover { border-color: #fff; color: #fff; background: rgba(255, 255, 255, .06); }
.nx-btn--sm { padding: 10px 18px; font-size: 14px; }
.cre-btn--block { width: 100%; }
.nx-arrow-link, .cre-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--nx-blue); text-decoration: none; }
.nx-arrow-link::after { content: "→"; transition: transform .18s; }
.nx-arrow-link:hover::after { transform: translateX(3px); }

/* ---------- Header ---------- */
.nx-topbar { width: 100%; background: var(--nx-navy); color: #aebbd0; font-size: 13px; padding: 0 clamp(24px, 3vw, 48px); }
.nx-topbar__inner { max-width: var(--nx-wrap-wide); margin: 0 auto; display: flex; flex-direction: row; justify-content: space-between; align-items: center; min-height: 38px; gap: 16px; }
.nx-topbar a { color: #dfe7f3; text-decoration: none; }
.nx-topbar a:hover { color: #fff; }
.nx-topbar__links { display: flex; flex-direction: row; gap: 20px; align-items: center; white-space: nowrap; }
.nx-nav .nx-nav__item--mobile { display: none; }

.nx-header { position: sticky; top: 0; z-index: 100; width: 100%; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--nx-line); padding: 0 clamp(24px, 3vw, 48px); }
.admin-bar .nx-header { top: 32px; }
.nx-header__inner { max-width: var(--nx-wrap-wide); margin: 0 auto; height: var(--nx-header-h); display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
.nx-logo { display: inline-flex; flex-direction: row; align-items: center; gap: 10px; text-decoration: none; color: var(--nx-ink); font: 800 20px/1 var(--nx-font-head); letter-spacing: -0.02em; }
.nx-logo__mark { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(135deg, var(--nx-blue), var(--nx-navy-3)); display: grid; place-items: center; color: #fff; font-size: 17px; }
.nx-logo__word em { font-style: normal; color: var(--nx-blue); }
.nx-footer .nx-logo { color: #fff; }

.nx-nav { display: flex; flex-direction: row; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.nx-nav__item { position: relative; display: flex; flex-direction: column; }
.nx-nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 8px; color: var(--nx-ink); font-weight: 600; font-size: 15px; text-decoration: none; }
.nx-nav__item--has-dd > .nx-nav__link::after { content: ""; width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .6; }
.nx-nav__link:hover, .nx-nav__item:hover > .nx-nav__link { background: var(--nx-tint); color: var(--nx-blue); }
.nx-dropdown {
  position: absolute; top: calc(100% + 8px); left: -12px; min-width: 380px; padding: 10px; background: #fff; border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius); box-shadow: var(--nx-shadow-lg); display: flex; flex-direction: column; gap: 2px;
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.nx-dropdown::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.nx-nav__item:hover > .nx-dropdown, .nx-nav__item:focus-within > .nx-dropdown { opacity: 1; visibility: visible; transform: none; }
.nx-dropdown__link { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 10px; text-decoration: none; }
.nx-dropdown__link:hover { background: var(--nx-tint); }
.nx-dropdown__title { font-weight: 700; color: var(--nx-ink); font-size: 15px; }
.nx-dropdown__desc { font-size: 13.5px; line-height: 1.45; color: var(--nx-muted); }
.nx-header__cta { display: flex; flex-direction: row; align-items: center; gap: 10px; }
.nx-burger { display: none; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--nx-line); background: #fff; cursor: pointer; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.nx-burger span { display: block; width: 18px; height: 2px; background: var(--nx-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
.nx-header.is-open .nx-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nx-header.is-open .nx-burger span:nth-child(2) { opacity: 0; }
.nx-header.is-open .nx-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Heroes ---------- */
.nx-hero {
  position: relative; width: 100%; padding: 140px 24px 120px; color: #fff; overflow: hidden;
  background: linear-gradient(100deg, rgba(8, 20, 40, .94) 0%, rgba(11, 27, 51, .82) 45%, rgba(11, 27, 51, .45) 100%), var(--nx-hero-img, none) center / cover no-repeat, var(--nx-navy);
}
.nx-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent); }
.nx-hero .nx-h1, .nx-hero h1 { color: #fff; max-width: 900px; }
.nx-hero__content { display: flex; flex-direction: column; gap: 22px; max-width: 900px; }
.nx-hero--page { padding: 110px 24px 88px; }
.nx-hero--page .nx-h1 { font-size: clamp(36px, 4.6vw, 58px); }
.nx-hero__search { margin-top: 18px; width: 100%; max-width: 860px; }
.nx-pill { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 6px 14px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); font-size: 13.5px; color: #dbe4f2; text-decoration: none; }
.nx-pill strong { background: var(--nx-gold); color: var(--nx-navy); padding: 3px 9px; border-radius: 999px; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- Stats ---------- */
.nx-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); box-shadow: var(--nx-shadow); overflow: hidden; }
.nx-stat { padding: 30px 28px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--nx-line); }
.nx-stat:last-child { border-right: 0; }
.nx-stat__num { font: 800 clamp(30px, 3vw, 40px)/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.03em; margin: 0; }
.nx-stat__label { font-size: 14px; color: var(--nx-muted); margin: 0; font-weight: 500; }
.nx-stats--overlap { margin-top: -64px; position: relative; z-index: 2; }
.nx-section--dark .nx-stats { background: var(--nx-navy-2); border-color: rgba(255,255,255,.08); box-shadow: none; }
.nx-section--dark .nx-stat { border-color: rgba(255,255,255,.08); }
.nx-section--dark .nx-stat__num { color: #fff; }
.nx-section--dark .nx-stat__label { color: #9fb0c9; }

/* ---------- Cards ---------- */
.nx-card { display: flex; flex-direction: column; gap: 14px; padding: 32px; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); transition: border-color .2s, box-shadow .2s, transform .2s; text-decoration: none; color: inherit; height: 100%; }
a.nx-card:hover, .nx-card--hover:hover { border-color: #c6d4ee; box-shadow: var(--nx-shadow); transform: translateY(-3px); }
.nx-card__icon { width: 48px; height: 48px; border-radius: 12px; background: var(--nx-blue-soft); color: var(--nx-blue); display: grid; place-items: center; }
.nx-card__icon svg { width: 24px; height: 24px; }
.nx-card__title { font: 700 20px/1.25 var(--nx-font-head); color: var(--nx-ink); margin: 0; }
.nx-card__text { margin: 0; color: var(--nx-muted); font-size: 15.5px; }
.nx-card__more { margin-top: auto; padding-top: 6px; font-weight: 600; color: var(--nx-blue); font-size: 15px; }
.nx-card__more::after { content: " →"; }
.nx-card--feature { padding: 36px; }
.nx-card--dark { background: var(--nx-navy-2); border-color: rgba(255,255,255,.08); }
.nx-card--dark .nx-card__title { color: #fff; }
.nx-card--dark .nx-card__text { color: #a9b8ce; }
.nx-card--dark .nx-card__icon { background: rgba(255,255,255,.08); color: var(--nx-gold); }
.nx-card__tag { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-muted); margin: 0; }

/* ---------- Split ---------- */
.nx-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 72px; align-items: center; width: 100%; }
.nx-split--reverse > :first-child { order: 2; }
.nx-split__text { display: flex; flex-direction: column; gap: 18px; }
.nx-media { width: 100%; border-radius: 18px; overflow: hidden; box-shadow: var(--nx-shadow-lg); aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.nx-media--wide { aspect-ratio: 16 / 10; }
.nx-checks ul, ul.nx-checks { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nx-checks li { position: relative; padding-left: 34px; color: var(--nx-text); }
.nx-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--nx-blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5eff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.nx-section--dark .nx-checks li { color: #c7d2e3; }

/* ---------- Steps ---------- */
.nx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; width: 100%; counter-reset: nxstep; }
.nx-step { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; border-top: 2px solid var(--nx-line); counter-increment: nxstep; }
.nx-step::before { content: counter(nxstep, decimal-leading-zero); font: 800 14px/1 var(--nx-font-head); color: var(--nx-blue); letter-spacing: .08em; }

/* ---------- CTA band ---------- */
.nx-cta { width: 100%; border-radius: 22px; padding: 64px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  background: radial-gradient(1200px 400px at 100% 0%, rgba(31, 94, 255, .45), transparent 60%), linear-gradient(135deg, var(--nx-navy) 0%, var(--nx-navy-3) 100%); color: #c7d2e3; }
.nx-cta__text { display: flex; flex-direction: column; gap: 10px; max-width: 680px; }
.nx-cta .nx-h2 { color: #fff; }
.nx-cta a:not(.nx-btn) { color: #fff; }

/* ---------- Footer ---------- */
.nx-footer { width: 100%; background: #07142a; color: #93a3bb; padding: 80px clamp(24px, 3vw, 48px) 32px; font-size: 15px; }
.nx-footer__inner { max-width: var(--nx-wrap-wide); margin: 0 auto; display: flex; flex-direction: column; gap: 56px; }
.nx-footer__top { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; }
.nx-footer__brand { display: flex; flex-direction: column; gap: 18px; max-width: 340px; }
.nx-footer__col { display: flex; flex-direction: column; gap: 10px; }
.nx-footer__heading { color: #fff; font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 6px; }
.nx-footer__link { color: #93a3bb; text-decoration: none; }
.nx-footer__link:hover { color: #fff; }
.nx-footer__bottom { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13.5px; }
.nx-footer__legal { display: flex; flex-direction: row; gap: 20px; flex-wrap: wrap; }
.nx-footer a { color: inherit; }
.nx-footer__brand a:not(.nx-logo) { color: #dfe7f3; text-decoration: none; font-weight: 600; }
.nx-footer__brand a:not(.nx-logo):hover { color: #fff; }

/* ---------- Prose (legal pages, posts) ---------- */
.nx-prose { color: var(--nx-text); font-size: 17px; }
.nx-prose h2 { font-size: 26px; margin: 40px 0 12px; }
.nx-prose h3 { font-size: 20px; margin: 28px 0 10px; }
.nx-prose p, .nx-prose ul { margin: 0 0 16px; }

/* ==========================================================================
   Shortcode output (cre-*)
   ========================================================================== */
.cre-icon { flex: none; }
.cre-muted { color: var(--nx-muted); }
.cre-hp { position: absolute; left: -9999px; }

/* Search bar */
.cre-searchbar { display: flex; flex-direction: row; gap: 8px; padding: 8px; background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.28); width: 100%; }
.cre-searchbar__field { display: flex; align-items: center; gap: 10px; padding: 0 14px; border-radius: 10px; background: var(--nx-tint); color: var(--nx-muted); }
.cre-searchbar__field--grow { flex: 1; }
.cre-searchbar input, .cre-searchbar select { border: 0; background: transparent; font: 500 15.5px var(--nx-font); color: var(--nx-ink); height: 52px; outline: none; width: 100%; min-width: 0; }
.cre-searchbar select { min-width: 190px; cursor: pointer; }

/* Fields & forms */
.cre-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
.cre-field > span, .cre-field > legend { font-size: 12.5px; font-weight: 600; color: var(--nx-ink); letter-spacing: .01em; padding: 0; }
.cre-field input, .cre-field select, .cre-field textarea {
  width: 100%; font: 400 15px var(--nx-font); color: var(--nx-ink); background: #fff; border: 1px solid #cfd8e4; border-radius: 10px; padding: 11px 13px; outline: none; transition: border-color .15s, box-shadow .15s;
}
.cre-field input:focus, .cre-field select:focus, .cre-field textarea:focus { border-color: var(--nx-blue); box-shadow: 0 0 0 3px rgba(31,94,255,.15); }
.cre-field--full { grid-column: 1 / -1; }
.cre-field input[type="checkbox"], .cre-check input { width: 16px; height: 16px; padding: 0; flex: none; }
.cre-form { display: flex; flex-direction: column; gap: 18px; }
.cre-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cre-form__note { font-size: 13px; color: var(--nx-muted); margin: 0; }
.cre-form > .cre-btn:not(.cre-btn--block) { align-self: flex-start; }
.cre-formwrap { width: 100%; background: #fff; border: 1px solid var(--nx-line); border-radius: 18px; padding: 36px; box-shadow: var(--nx-shadow); }
.cre-formwrap .cre-btn { align-self: flex-start; }
.cre-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; margin-top: 6px; }
.cre-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; color: var(--nx-text); cursor: pointer; }
.cre-check input { margin-top: 4px; accent-color: var(--nx-blue); }
.cre-alert { padding: 14px 16px; border-radius: 10px; font-size: 15px; margin-bottom: 16px; }
.cre-alert--ok { background: #e7f7ef; color: #0b6b44; border: 1px solid #b7e6cf; }
.cre-alert--err { background: #fdeeee; color: #9b2c2c; border: 1px solid #f3c4c4; }

/* Marketplace */
.cre-market { width: 100%; display: flex; flex-direction: column; gap: 28px; }
.cre-filters { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 22px; box-shadow: var(--nx-shadow); display: flex; flex-direction: column; gap: 18px; }
.cre-filters__row { display: grid; grid-template-columns: 2fr repeat(4, 1fr) .8fr .8fr auto; gap: 12px; align-items: end; }
.cre-filters__actions { display: flex; gap: 8px; }
.cre-filters__actions .cre-btn { padding: 12px 20px; }
.cre-results-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 16px; border-top: 1px solid var(--nx-line); }
.cre-results-count { margin: 0; color: var(--nx-muted); }
.cre-results-count strong { color: var(--nx-ink); }
.cre-sort { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--nx-muted); }
.cre-sort select { border: 1px solid #cfd8e4; border-radius: 8px; padding: 8px 10px; font: 500 14px var(--nx-font); color: var(--nx-ink); background: #fff; }
.cre-pagination { display: flex; gap: 6px; justify-content: center; margin-top: 8px; }
.cre-pagination a { min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--nx-line); color: var(--nx-ink); text-decoration: none; font-weight: 600; }
.cre-pagination a.is-current, .cre-pagination a:hover { background: var(--nx-navy); color: #fff; border-color: var(--nx-navy); }
.cre-empty { text-align: center; padding: 64px 24px; border: 1.5px dashed #cfd8e4; border-radius: 16px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cre-empty p { max-width: 520px; color: var(--nx-muted); margin: 0 0 8px; }

/* Listing cards */
.cre-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; }
.cre-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); overflow: hidden; transition: box-shadow .2s, transform .2s, border-color .2s; }
.cre-card:hover { box-shadow: var(--nx-shadow-lg); transform: translateY(-3px); border-color: #d3dceb; }
.cre-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--nx-tint); }
.cre-card__media img, .cre-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.cre-card:hover .cre-card__media img { transform: scale(1.04); }
.cre-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.cre-card__type { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-blue); }
.cre-card__title { font-size: 19px; line-height: 1.3; }
.cre-card__title a { color: var(--nx-ink); text-decoration: none; }
.cre-card__title a:hover { color: var(--nx-blue); }
.cre-card__loc { display: flex; align-items: center; gap: 6px; font-size: 14.5px; color: var(--nx-muted); }
.cre-card__meta { display: flex; gap: 0; margin: auto 0 0; padding-top: 14px; border-top: 1px solid var(--nx-line); }
.cre-card__meta > div { flex: 1; padding-right: 10px; }
.cre-card__meta > div + div { padding-left: 12px; border-left: 1px solid var(--nx-line); }
.cre-card__meta dt { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); font-weight: 600; }
.cre-card__meta dd { margin: 2px 0 0; font-weight: 700; color: var(--nx-ink); font-size: 15px; }
.cre-badge { position: absolute; top: 14px; left: 14px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #fff; color: var(--nx-ink); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.cre-badge--active { background: var(--nx-green); color: #fff; }
.cre-badge--under-contract { background: var(--nx-gold); color: var(--nx-navy); }
.cre-badge--sold { background: var(--nx-ink); color: #fff; }
.cre-badge--coming-soon { background: #7c3aed; color: #fff; }
.cre-badge--sale { left: auto; right: 14px; background: rgba(11,27,51,.85); color: #fff; }
.cre-ph { width: 100%; height: 100%; min-height: 200px; display: grid; place-items: center; background: linear-gradient(135deg, #1b3761 0%, #0b1b33 100%); position: relative; overflow: hidden; }
.cre-ph::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 28px 28px; }
.cre-ph span { position: relative; color: rgba(255,255,255,.75); font: 700 13px var(--nx-font); letter-spacing: .14em; text-transform: uppercase; }

/* Auction calendar */
.cre-calendar { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.cre-calendar__row { display: grid; grid-template-columns: 76px 1fr auto 40px; gap: 24px; align-items: center; padding: 18px 22px; background: #fff; border: 1px solid var(--nx-line); border-radius: 14px; text-decoration: none; color: inherit; transition: box-shadow .2s, border-color .2s; }
.cre-calendar__row:hover { box-shadow: var(--nx-shadow); border-color: #c6d4ee; }
.cre-calendar__date { display: flex; flex-direction: column; align-items: center; padding: 10px 0; border-radius: 10px; background: var(--nx-navy); color: #fff; }
.cre-calendar__date span { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--nx-gold); font-weight: 700; }
.cre-calendar__date strong { font: 800 26px/1 var(--nx-font-head); }
.cre-calendar__info h3 { font-size: 18px; margin: 2px 0; }
.cre-calendar__info p { margin: 0; color: var(--nx-muted); font-size: 14.5px; }
.cre-calendar__meta { text-align: right; display: flex; flex-direction: column; }
.cre-calendar__meta span { font-size: 12px; color: var(--nx-muted); text-transform: uppercase; letter-spacing: .08em; }
.cre-calendar__meta strong { color: var(--nx-ink); font-size: 17px; }
.cre-calendar__go { color: var(--nx-blue); }

/* Single listing */
.cre-lhero { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.cre-back { font-size: 14px; font-weight: 600; color: var(--nx-muted); text-decoration: none; }
.cre-back:hover { color: var(--nx-blue); }
.cre-lhero__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.cre-chip { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; background: var(--nx-blue-soft); color: var(--nx-blue); font-size: 13px; font-weight: 700; }
.cre-chip--status { background: #e7f7ef; color: #0b6b44; }
.cre-chip--under-contract { background: #fdf3de; color: #8a5a00; }
.cre-chip--sold { background: #e8ebf0; color: var(--nx-ink); }
.cre-chip--outline { background: transparent; border: 1px solid var(--nx-line); color: var(--nx-ink); }
.cre-chip--ghost { background: var(--nx-tint); color: var(--nx-muted); }
.cre-lhero__main { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.cre-lhero__title { font-size: clamp(30px, 3.6vw, 46px); font-weight: 800; letter-spacing: -0.03em; }
.cre-lhero__loc { display: flex; align-items: center; gap: 8px; color: var(--nx-muted); margin: 10px 0 0; font-size: 17px; }
.cre-lhero__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.cre-lhero__price span { font-size: 12.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--nx-muted); font-weight: 600; }
.cre-lhero__price strong { font: 800 34px/1.1 var(--nx-font-head); color: var(--nx-ink); }
.cre-lhero__price em { display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 14px; color: var(--nx-blue); font-weight: 600; margin-top: 4px; }

.cre-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 10px; border-radius: 18px; overflow: hidden; width: 100%; }
.cre-gallery__item { display: block; overflow: hidden; background: var(--nx-tint); }
.cre-gallery__item:first-child { grid-row: 1 / 3; }
.cre-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.cre-gallery__item:hover img { transform: scale(1.03); }
.cre-gallery--n2, .cre-gallery--n3 { grid-template-columns: 2fr 1fr; }
.cre-gallery--n2 .cre-gallery__item:nth-child(2) { grid-row: 1 / 3; }
.cre-gallery--n4 .cre-gallery__item:nth-child(4) { grid-column: 2 / 4; }
.cre-gallery--single { display: block; height: 460px; }
.cre-gallery--single .cre-gallery__item, .cre-gallery--single .cre-ph { height: 100%; }

.cre-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; width: 100%; }
.cre-layout__main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.cre-layout__side { position: sticky; top: calc(var(--nx-header-h) + 24px); display: flex; flex-direction: column; gap: 16px; }
.cre-panel { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 32px; }
.cre-panel__title { font-size: 22px; margin-bottom: 18px; }
.cre-prose p { margin: 0 0 14px; }
.cre-prose p:last-child { margin-bottom: 0; }
.cre-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; }
.cre-facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--nx-line); }
.cre-facts dt { color: var(--nx-muted); }
.cre-facts dd { margin: 0; font-weight: 700; color: var(--nx-ink); text-align: right; }
.cre-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cre-checklist li { display: flex; gap: 12px; align-items: flex-start; }
.cre-checklist .cre-icon { color: var(--nx-green); margin-top: 3px; }
.cre-docs { list-style: none; margin: 0 0 8px; padding: 0; border: 1px solid var(--nx-line); border-radius: 12px; overflow: hidden; }
.cre-docs li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--nx-line); }
.cre-docs li:last-child { border-bottom: 0; }
.cre-docs li > span { flex: 1; font-weight: 600; color: var(--nx-ink); }
.cre-docs.is-locked li > span { color: var(--nx-muted); }
.cre-docs .cre-icon { color: var(--nx-muted); }
.cre-ca { margin-top: 24px; padding: 28px; border-radius: 14px; background: var(--nx-tint); display: flex; flex-direction: column; gap: 10px; }
.cre-ca h3 { font-size: 19px; }
.cre-ca p { margin: 0 0 6px; }
.cre-ca__terms { max-height: 140px; overflow: auto; padding: 14px 16px; background: #fff; border: 1px solid var(--nx-line); border-radius: 10px; font-size: 13.5px; color: var(--nx-muted); }
.cre-ca__terms p { margin: 0 0 8px; }
.cre-broker { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 26px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--nx-shadow); }
.cre-broker__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-muted); }
.cre-broker__who { display: flex; align-items: center; gap: 14px; }
.cre-broker__who strong { display: block; color: var(--nx-ink); font-size: 17px; }
.cre-broker__who span { font-size: 14px; color: var(--nx-muted); }
.cre-broker__photo, .cre-broker__avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.cre-broker__avatar { display: grid; place-items: center; background: var(--nx-navy); color: #fff; font-weight: 700; }
.cre-broker__line { display: flex; align-items: center; gap: 10px; color: var(--nx-text); text-decoration: none; font-size: 15px; }
.cre-broker__line:hover { color: var(--nx-blue); }

/* Testimonials */
.cre-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; }
.cre-quote { margin: 0; display: flex; flex-direction: column; gap: 18px; padding: 32px; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); }
.nx-section--dark .cre-quote { background: var(--nx-navy-2); border-color: rgba(255,255,255,.08); }
.cre-quote__mark { width: 30px; color: var(--nx-blue); }
.nx-section--dark .cre-quote__mark { color: var(--nx-gold); }
.cre-quote blockquote { margin: 0; font-size: 16.5px; line-height: 1.65; color: var(--nx-ink); flex: 1; }
.nx-section--dark .cre-quote blockquote { color: #e2e9f4; }
.cre-quote blockquote p { margin: 0; }
.cre-quote figcaption { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid var(--nx-line); }
.nx-section--dark .cre-quote figcaption { border-color: rgba(255,255,255,.1); }
.cre-quote figcaption strong { display: block; color: var(--nx-ink); }
.nx-section--dark .cre-quote figcaption strong { color: #fff; }
.cre-quote figcaption span { font-size: 13.5px; color: var(--nx-muted); }
.cre-quote__photo, .cre-quote__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; }
.cre-quote__avatar { display: grid; place-items: center; background: var(--nx-blue-soft); color: var(--nx-blue); font-weight: 800; }

/* Logos */
.cre-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: var(--nx-line); border: 1px solid var(--nx-line); border-radius: var(--nx-radius); overflow: hidden; width: 100%; }
.cre-logos__item { background: #fff; display: grid; place-items: center; min-height: 104px; padding: 18px; }
.cre-logos__item img { max-height: 44px; width: auto; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.cre-logos__item:hover img { filter: none; opacity: 1; }
.cre-logos__word { font: 700 15px/1.2 var(--nx-font-head); color: #8391a7; text-align: center; letter-spacing: -0.01em; }

/* News */
.cre-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; width: 100%; }
.cre-news__item { display: flex; flex-direction: column; gap: 18px; }
.cre-news__media { display: block; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; background: var(--nx-tint); }
.cre-news__body { display: flex; flex-direction: column; gap: 10px; }
.cre-news__meta { font-size: 13px; font-weight: 600; color: var(--nx-muted); text-transform: uppercase; letter-spacing: .08em; }
.cre-news__body h3 { font-size: 20px; line-height: 1.3; }
.cre-news__body h3 a { color: var(--nx-ink); text-decoration: none; }
.cre-news__body h3 a:hover { color: var(--nx-blue); }
.cre-news__body p { margin: 0; color: var(--nx-muted); }

/* Lightbox */
/* Photo viewer (see cre.js) */
.cre-lb-open, .cre-lb-open body { overflow: hidden; }
.cre-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; grid-template-columns: 72px minmax(0, 1fr) 72px; grid-template-rows: 64px minmax(0, 1fr) 24px; background: rgba(5, 12, 25, .97); color: #fff; }
.cre-lightbox[hidden] { display: none; }
.cre-lightbox__top { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; padding: 0 12px 0 24px; }
.cre-lightbox__count { font: 600 14px var(--nx-font); color: #c7d2e3; letter-spacing: .04em; }
.cre-lightbox__btn { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; transition: background .15s; }
.cre-lightbox__btn:hover { background: rgba(255, 255, 255, .18); }
.cre-lightbox__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.cre-lightbox__nav { align-self: center; justify-self: center; }
.cre-lightbox.is-single .cre-lightbox__nav { visibility: hidden; }
.cre-lightbox__stage { grid-row: 2; grid-column: 2; margin: 0; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.cre-lightbox__img { display: block; max-width: 100%; max-height: calc(100% - 36px); width: auto; height: auto; object-fit: contain; border-radius: 6px; transition: opacity .2s; user-select: none; }
.cre-lightbox.is-loading .cre-lightbox__img { opacity: .35; }
.cre-lightbox__cap { font: 400 14px/1.4 var(--nx-font); color: #aebbd0; text-align: center; max-width: 720px; }
@media (max-width: 700px) {
  .cre-lightbox { grid-template-columns: 0 minmax(0, 1fr) 0; grid-template-rows: 60px minmax(0, 1fr) 76px; }
  .cre-lightbox__stage { padding: 0 8px; }
  .cre-lightbox__nav { grid-row: 3; position: absolute; bottom: calc(14px + env(safe-area-inset-bottom)); }
  .cre-lightbox__prev { left: calc(50% - 64px); }
  .cre-lightbox__next { left: calc(50% + 16px); }
}
.cre-gallery { position: relative; }
.cre-gallery__all { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .94); color: var(--nx-ink); font: 600 13.5px var(--nx-font); cursor: pointer; box-shadow: 0 4px 14px rgba(11, 27, 51, .18); }
.cre-gallery__all:hover { background: #fff; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
  .cre-filters__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cre-filters__row .cre-field--grow { grid-column: 1 / -1; }
  .cre-filters__actions { grid-column: 1 / -1; }
  .nx-footer__top { grid-template-columns: repeat(3, 1fr); }
  .nx-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
  .nx-burger { display: inline-flex; }
  .nx-nav {
    display: none; position: absolute; top: var(--nx-header-h); left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--nx-line);
    flex-direction: column; align-items: stretch; padding: 12px 24px 24px; gap: 0; max-height: calc(100vh - var(--nx-header-h)); overflow: auto; box-shadow: var(--nx-shadow-lg);
  }
  .nx-header.is-open .nx-nav { display: flex; }
  .nx-nav__item { border-bottom: 1px solid var(--nx-line); }
  .nx-nav__link { padding: 16px 0; justify-content: space-between; }
  .nx-nav__link:hover, .nx-nav__item:hover > .nx-nav__link { background: transparent; }
  .nx-dropdown { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; min-width: 0; padding: 0 0 12px; display: none; }
  .nx-nav__item.is-open > .nx-dropdown { display: flex; }
  .nx-header__cta .nx-btn--ghost { display: none; }
  .nx-nav .nx-nav__item--mobile { display: flex; border-bottom: 0; padding-top: 16px; }
  .nx-nav__item--mobile .nx-btn { width: 100%; }
  .nx-split { grid-template-columns: 1fr; gap: 40px; }
  .nx-split--reverse > :first-child { order: 0; }
  .nx-grid-4, .nx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-grid-3, .cre-grid, .cre-quotes, .cre-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-stat:nth-child(2) { border-right: 0; }
  .nx-stat:nth-child(-n+2) { border-bottom: 1px solid var(--nx-line); }
  .cre-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cre-layout { grid-template-columns: 1fr; }
  .cre-layout__side { position: static; }
}

@media (max-width: 720px) {
  .nx-section { padding: 64px 20px; }
  .nx-hero { padding: 96px 20px 88px; }
  .nx-hero--page { padding: 80px 20px 64px; }
  .nx-hide-sm { display: none !important; }
  .nx-topbar__inner { justify-content: flex-end; }
  .nx-header { padding: 0 16px; }
  .nx-header__cta .nx-btn { display: none; }
  .nx-btn, .cre-btn { white-space: normal; text-align: center; }
  .nx-grid-2, .nx-grid-3, .nx-grid-4, .nx-steps, .cre-grid, .cre-quotes, .cre-news { grid-template-columns: 1fr; }
  .nx-cta { padding: 40px 28px; }
  .nx-footer__top { grid-template-columns: 1fr 1fr; }
  .cre-searchbar { flex-direction: column; }
  .cre-searchbar select { min-width: 0; }
  .cre-filters__row, .cre-form__grid, .cre-facts { grid-template-columns: 1fr; }
  .cre-checks { grid-template-columns: 1fr 1fr; }
  .cre-results-bar { flex-direction: column; align-items: flex-start; }
  .cre-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 120px; }
  .cre-gallery__item:first-child { grid-column: 1 / -1; grid-row: auto; }
  .cre-gallery__item:nth-child(n+4) { display: none; }
  .cre-gallery--single { height: 280px; }
  .cre-lhero__price { align-items: flex-start; }
  .cre-calendar__row { grid-template-columns: 64px 1fr; }
  .cre-calendar__meta { text-align: left; grid-column: 2; }
  .cre-calendar__go { display: none; }
  .cre-panel, .cre-formwrap { padding: 24px; }
  .cre-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   Accounts, Deal Center & Document Center
   ========================================================================== */
.cre-acct-links { display: inline-flex; align-items: center; gap: 18px; }
.cre-acct-links__name { color: #7f8ea7; }
.cre-alert--info { background: var(--nx-blue-soft); color: #1d3f9e; border: 1px solid #cddafc; }
.cre-btn--xs { padding: 7px 12px; font-size: 13px; }

.cre-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; }
.cre-save { color: var(--nx-muted); }
.cre-save--icon { width: 32px; height: 32px; border-radius: 8px; display: inline-grid; place-items: center; border: 1px solid var(--nx-line); background: #fff; cursor: pointer; padding: 0; flex: none; transition: color .15s, border-color .15s, background .15s; }
.cre-save--icon:hover { color: var(--nx-blue); border-color: #c6d4ee; }
.cre-save .cre-save__fill { opacity: 0; transition: opacity .15s; }
.cre-save.is-saved { color: var(--nx-blue); }
.cre-save.is-saved .cre-save__fill { opacity: 1; }
.cre-save--icon.is-saved { background: var(--nx-blue-soft); border-color: #cddafc; }
.cre-btn.cre-save.is-saved { border-color: #cddafc; background: var(--nx-blue-soft); color: var(--nx-blue); }

.cre-panel__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.cre-docs li a.cre-link { font-size: 14px; }
.cre-docs li small { display: block; font-weight: 400; font-size: 12.5px; margin-top: 2px; }
.cre-ca--gate { background: linear-gradient(135deg, #f5f8ff, #eef3ff); border: 1px solid #dbe5fb; }

/* Auth */
.cre-auth { max-width: 520px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.cre-auth h2 { font-size: 26px; }
.cre-auth .cre-muted { margin: 0; }
.cre-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.cre-auth__alt { text-align: center; margin: 4px 0 0; color: var(--nx-muted); font-size: 15px; }
.cre-account-gate { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; width: 100%; }
.cre-account-gate h2 { font-size: 36px; margin-bottom: 12px; }

/* Account shell */
.cre-account { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; width: 100%; align-items: start; }
.cre-account__nav { position: sticky; top: calc(var(--nx-header-h) + 24px); background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.cre-account__me { display: flex; align-items: center; gap: 12px; padding: 4px 4px 14px; border-bottom: 1px solid var(--nx-line); }
.cre-account__me strong { display: block; color: var(--nx-ink); font-size: 15px; }
.cre-account__me span { font-size: 13px; color: var(--nx-muted); word-break: break-all; }
.cre-account__me .cre-broker__avatar { width: 44px; height: 44px; flex: none; font-size: 15px; }
.cre-account__nav nav { display: flex; flex-direction: column; gap: 2px; }
.cre-account__nav nav a { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 10px; color: var(--nx-text); text-decoration: none; font-weight: 600; font-size: 15px; }
.cre-account__nav nav a:hover { background: var(--nx-tint); color: var(--nx-ink); }
.cre-account__nav nav a.is-active { background: var(--nx-navy); color: #fff; }
.cre-account__nav nav a em { font-style: normal; font-size: 12px; min-width: 22px; text-align: center; padding: 2px 7px; border-radius: 999px; background: var(--nx-tint); color: var(--nx-muted); }
.cre-account__nav nav a.is-active em { background: rgba(255,255,255,.15); color: #fff; }
.cre-account__logout { margin-top: 8px; border-top: 1px solid var(--nx-line); border-radius: 0 !important; padding-top: 14px !important; color: var(--nx-muted) !important; font-weight: 500 !important; }
.cre-account__main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.cre-account__main > .cre-alert { margin: 0; }
.cre-account__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.cre-account__head h1 { font-size: clamp(28px, 3vw, 36px); font-weight: 800; letter-spacing: -0.03em; }
.cre-account__head p { flex-basis: 100%; margin: -6px 0 0; }
.cre-account__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cre-account__grid .cre-panel { padding: 26px; }
.cre-account__section { display: flex; flex-direction: column; gap: 18px; }
.cre-account__subhead { display: flex; justify-content: space-between; align-items: baseline; }
.cre-account__subhead h2 { font-size: 22px; }
.cre-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cre-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cre-kpis a { display: flex; flex-direction: column; gap: 4px; padding: 22px; border-radius: 14px; background: #fff; border: 1px solid var(--nx-line); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.cre-kpis a:hover { border-color: #c6d4ee; box-shadow: var(--nx-shadow); }
.cre-kpis a:first-child { background: var(--nx-navy); border-color: var(--nx-navy); }
.cre-kpis strong { font: 800 32px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.03em; }
.cre-kpis span { font-size: 14px; color: var(--nx-muted); }
.cre-kpis a:first-child strong { color: #fff; }
.cre-kpis a:first-child span { color: #9fb0c9; }

.cre-deadlines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cre-deadlines li { display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--nx-line); }
.cre-deadlines li:last-child { border-bottom: 0; }
.cre-deadlines__date { display: flex; flex-direction: column; align-items: center; background: var(--nx-tint); border-radius: 10px; padding: 6px 0; font: 800 18px/1 var(--nx-font-head); color: var(--nx-ink); }
.cre-deadlines__date em { font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-blue); margin-bottom: 3px; }
.cre-deadlines a { text-decoration: none; min-width: 0; }
.cre-deadlines a strong { display: block; color: var(--nx-ink); font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cre-deadlines a span { font-size: 13px; color: var(--nx-muted); }
.cre-pill { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--nx-tint); color: var(--nx-muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.cre-pill--warn { background: #fdf0d9; color: #8a5a00; }

.cre-feed { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cre-feed li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--nx-line); font-size: 14.5px; }
.cre-feed li:last-child { border-bottom: 0; }
.cre-feed li a { color: var(--nx-ink); font-weight: 600; text-decoration: none; }
.cre-feed li a:hover { color: var(--nx-blue); }
.cre-feed time { display: block; font-size: 12.5px; color: var(--nx-muted); margin-top: 2px; }
.cre-feed__dot { width: 9px; height: 9px; border-radius: 50%; background: #cbd5e1; margin-top: 7px; flex: none; }
.cre-feed__dot--ca_signed { background: var(--nx-green); }
.cre-feed__dot--download { background: var(--nx-blue); }
.cre-feed__dot--save { background: var(--nx-gold); }

.cre-segment { display: inline-flex; padding: 4px; border-radius: 12px; background: var(--nx-tint); border: 1px solid var(--nx-line); }
.cre-segment a { padding: 8px 14px; border-radius: 9px; font-weight: 600; font-size: 14px; color: var(--nx-muted); text-decoration: none; }
.cre-segment a.is-active { background: #fff; color: var(--nx-ink); box-shadow: 0 1px 3px rgba(15,23,42,.1); }

.cre-table-wrap { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; overflow-x: auto; }
.cre-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cre-table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); font-weight: 700; padding: 14px 12px; border-bottom: 1px solid var(--nx-line); background: var(--nx-tint); white-space: nowrap; }
.cre-table td { padding: 14px 12px; border-bottom: 1px solid var(--nx-line); vertical-align: middle; color: var(--nx-text); }
.cre-table tr:last-child td { border-bottom: 0; }
.cre-table__prop { display: flex; align-items: center; gap: 12px; min-width: 200px; }
.cre-table__prop em { display: block; font-style: normal; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nx-blue); }
.cre-table__prop a { text-decoration: none; }
.cre-table__prop strong { color: var(--nx-ink); display: block; }
.cre-table__prop span { font-size: 13px; color: var(--nx-muted); }
.cre-table__thumb { width: 56px; height: 44px; border-radius: 8px; overflow: hidden; flex: none; display: block; background: var(--nx-tint); }
.cre-table__thumb img, .cre-table__thumb .cre-ph { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.cre-table__actions { white-space: nowrap; text-align: right; }
.cre-table__actions form { display: inline; }
.cre-iconbtn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--nx-line); background: #fff; color: var(--nx-muted); cursor: pointer; margin-left: 6px; }
.cre-iconbtn:hover { color: var(--nx-red); border-color: #f3c4c4; }
.cre-ok { display: inline-flex; align-items: center; gap: 5px; color: var(--nx-green); font-weight: 600; font-size: 13.5px; white-space: nowrap; }

.cre-docroom { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.cre-docroom__head { display: flex; align-items: center; gap: 14px; }
.cre-docroom__head > div { flex: 1; min-width: 0; }
.cre-docroom__head a { text-decoration: none; }
.cre-docroom__head strong { color: var(--nx-ink); font-size: 17px; }
.cre-docroom__head span { display: block; font-size: 13.5px; color: var(--nx-muted); }
.cre-docroom__count { font-size: 13px; font-weight: 700; color: var(--nx-muted); background: var(--nx-tint); padding: 4px 10px; border-radius: 999px; }
.cre-docroom .cre-docs { margin: 0; }

.cre-criteria { display: flex; flex-wrap: wrap; gap: 10px; }
.cre-criteria span { display: inline-flex; gap: 8px; align-items: baseline; padding: 8px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--nx-line); font-weight: 600; color: var(--nx-ink); font-size: 14px; }
.cre-criteria em { font-style: normal; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); }

@media (max-width: 1024px) {
  .cre-account { grid-template-columns: 1fr; }
  .cre-account__nav { position: static; }
  .cre-account__nav nav { flex-direction: row; flex-wrap: wrap; }
  .cre-account__logout { margin-top: 0; border-top: 0; padding-top: 10px !important; }
  .cre-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-table { min-width: 720px; }
  .cre-account-gate { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 720px) {
  .cre-account__grid, .cre-grid--2 { grid-template-columns: 1fr; }
  .cre-account__nav nav a { flex: 1 1 45%; }
  .cre-auth__row { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Marketplace 1.2 — sticky filters, view toggle, list + map views
   ========================================================================== */
.cre-market { position: relative; }
.cre-sticky-sentinel { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }

.cre-filters { position: sticky; top: var(--cre-top, var(--nx-header-h)); z-index: 40; transition: padding .2s ease, box-shadow .2s ease, border-radius .2s ease; }
.cre-filters.is-stuck { padding: 12px 16px; gap: 10px; border-top-left-radius: 0; border-top-right-radius: 0; box-shadow: 0 14px 34px rgba(11, 27, 51, .16); border-color: #d9e1ec; }
.cre-filters.is-stuck .cre-field > span { display: none; }
.cre-filters.is-stuck .cre-results-bar { padding-top: 10px; }
.cre-filters.is-stuck .cre-field input, .cre-filters.is-stuck .cre-field select { padding-top: 9px; padding-bottom: 9px; }
.cre-filters__more { display: contents; }
.cre-filters__toggle { display: none; }
.cre-filters__submit .cre-icon { width: 17px; height: 17px; }
.cre-filters__toggle em { font-style: normal; font-size: 12px; min-width: 20px; height: 20px; border-radius: 999px; background: var(--nx-blue); color: #fff; display: inline-grid; place-items: center; }

.cre-results-bar__right { display: flex; align-items: center; gap: 16px; }
.cre-viewtoggle { display: inline-flex; padding: 3px; border-radius: 11px; background: var(--nx-tint); border: 1px solid var(--nx-line); }
.cre-viewtoggle button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 7px 12px; border-radius: 8px; font: 600 13.5px/1 var(--nx-font); color: var(--nx-muted); cursor: pointer; transition: background .15s, color .15s; }
.cre-viewtoggle button:hover { color: var(--nx-ink); }
.cre-viewtoggle button[aria-pressed="true"] { background: #fff; color: var(--nx-ink); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.cre-viewtoggle button[aria-pressed="true"] svg { color: var(--nx-blue); }

/* Cards: extra detail shown only in list view */
.cre-card__extra { display: none; }
.cre-card.is-active { border-color: var(--nx-blue); box-shadow: 0 0 0 3px rgba(31, 94, 255, .16), var(--nx-shadow); }

/* ---- List view ---- */
.cre-market[data-view="list"] .cre-grid { grid-template-columns: 1fr; gap: 16px; }
.cre-market[data-view="list"] .cre-card { flex-direction: row; }
.cre-market[data-view="list"] .cre-card:hover { transform: none; }
.cre-market[data-view="list"] .cre-card__media { width: 340px; flex: none; aspect-ratio: auto; min-height: 236px; }
.cre-market[data-view="list"] .cre-card__body { padding: 22px 26px; }
.cre-market[data-view="list"] .cre-card__title { font-size: 21px; }
.cre-market[data-view="list"] .cre-card__meta { margin-top: 14px; max-width: 520px; }
.cre-market[data-view="list"] .cre-card__extra { display: flex; flex-direction: column; gap: 12px; padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--nx-line); }
.cre-card__extra p { margin: 0; color: var(--nx-muted); font-size: 14.5px; line-height: 1.55; }
.cre-card__extra-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-size: 13.5px; color: var(--nx-muted); }
.cre-card__extra-row > span { display: inline-flex; align-items: center; gap: 6px; }
.cre-card__extra-row .cre-link { margin-left: auto; font-size: 14px; }

/* ---- Map view ---- */
.cre-results__map { display: none; }
.cre-market[data-view="map"] .cre-results { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px; align-items: start; }
.cre-market[data-view="map"] .cre-results__map { display: block; position: sticky; top: calc(var(--cre-top, var(--nx-header-h)) + var(--cre-filter-h, 120px) + 16px); }
.cre-map { height: calc(100vh - var(--cre-top, var(--nx-header-h)) - var(--cre-filter-h, 120px) - 32px); min-height: 440px; border-radius: 16px; overflow: hidden; border: 1px solid var(--nx-line); background: #e9eef5; isolation: isolate; }
.cre-map .leaflet-tile-pane { filter: saturate(.45) contrast(.96) brightness(1.04); }
.cre-map__note { margin: 8px 2px 0; font-size: 13px; color: var(--nx-muted); }
.cre-market[data-view="map"] .cre-grid { grid-template-columns: 1fr; gap: 14px; }
.cre-market[data-view="map"] .cre-card { flex-direction: row; }
.cre-market[data-view="map"] .cre-card:hover { transform: none; }
.cre-market[data-view="map"] .cre-card__media { width: 210px; flex: none; aspect-ratio: auto; min-height: 176px; }
.cre-market[data-view="map"] .cre-card__body { padding: 16px 18px; gap: 6px; }
.cre-market[data-view="map"] .cre-card__title { font-size: 17px; }
.cre-market[data-view="map"] .cre-badge--sale { display: none; }

/* Price pins */
.cre-pin-wrap { background: none; border: 0; }
.cre-pin { position: absolute; left: 0; top: 0; transform: translate(-50%, calc(-100% - 8px)); display: inline-block; padding: 6px 10px; border-radius: 999px; background: var(--nx-navy); color: #fff; font: 700 12.5px/1 var(--nx-font); white-space: nowrap; border: 2px solid #fff; box-shadow: 0 4px 14px rgba(11, 27, 51, .3); cursor: pointer; transition: background .15s, transform .15s; }
.cre-pin::after { content: ""; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #fff; }
.cre-pin::before { content: ""; position: absolute; left: 50%; bottom: -5px; transform: translateX(-50%); border: 4px solid transparent; border-top-color: var(--nx-navy); z-index: 1; }
.cre-pin--under-contract { background: #b7791f; }
.cre-pin--under-contract::before { border-top-color: #b7791f; }
.cre-pin--sold { background: #64748b; }
.cre-pin--sold::before { border-top-color: #64748b; }
.cre-pin-wrap:hover .cre-pin, .cre-pin-wrap.is-active .cre-pin { background: var(--nx-blue); transform: translate(-50%, calc(-100% - 8px)) scale(1.1); }
.cre-pin-wrap:hover .cre-pin::before, .cre-pin-wrap.is-active .cre-pin::before { border-top-color: var(--nx-blue); }

/* Popup mini card */
.cre-market .leaflet-popup-content-wrapper { border-radius: 14px; padding: 0; box-shadow: var(--nx-shadow-lg); }
.cre-market .leaflet-popup-content { margin: 0; width: auto !important; }
.cre-pop { display: flex; gap: 12px; padding: 10px; width: 290px; box-sizing: border-box; text-decoration: none; color: inherit; font-family: var(--nx-font); }
.cre-pop__img { width: 84px; height: 84px; border-radius: 10px; background: #dfe6f0 center / cover no-repeat; flex: none; }
.cre-pop__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cre-pop__body em { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-blue); }
.cre-pop__body strong { font-size: 14.5px; line-height: 1.3; color: var(--nx-ink); }
.cre-pop__body span { font-size: 12.5px; color: var(--nx-muted); }
.cre-pop__body b { font-size: 14px; color: var(--nx-ink); margin-top: 4px; }
.cre-market .leaflet-container a.cre-pop { color: inherit; }

/* ---- Tablet / mobile ---- */
@media (max-width: 1024px) {
  .cre-filters__row { grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: end; }
  .cre-filters__row .cre-field--grow { grid-column: auto; }
  .cre-filters__row .cre-field--grow > span { display: none; }
  .cre-filters__toggle { display: inline-flex; padding: 11px 16px; }
  .cre-filters__more { display: none; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cre-filters.is-open .cre-filters__more { display: grid; }
  .cre-filters.is-open { max-height: calc(100vh - var(--cre-top, var(--nx-header-h)) - 12px); overflow-y: auto; }
  .cre-filters.is-stuck.is-open .cre-field > span { display: block; }
  .cre-filters__actions { grid-column: auto; }
  .cre-filters__actions .cre-btn { padding: 11px 16px; }
  .cre-filters:not(.is-open) .cre-filters__actions .cre-btn--ghost { display: none; }
  .cre-filters { padding: 14px; gap: 12px; }

  .cre-market[data-view="map"] .cre-results { grid-template-columns: 1fr; }
  .cre-market[data-view="map"] .cre-results__map { position: relative; top: auto; order: -1; }
  .cre-map { height: 56vh; min-height: 320px; }
  .cre-market[data-view="list"] .cre-card__media { width: 260px; }
}

@media (max-width: 720px) {
  .cre-filters__row { grid-template-columns: minmax(0, 1fr) auto auto; }
  .cre-filters__more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-results-bar { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
  .cre-results-bar__right { gap: 10px; margin-left: auto; }
  .cre-viewtoggle button { padding: 7px 9px; }
  .cre-viewtoggle button span, .cre-sort > span { display: none; }
  .cre-filters__toggle { padding: 11px 12px; }
  .cre-filters__submit { padding: 11px 13px !important; }
  .cre-filters__submit span { display: none; }
  .cre-pop { width: 250px; }
  .cre-market[data-view="list"] .cre-card,
  .cre-market[data-view="map"] .cre-card { flex-direction: column; }
  .cre-market[data-view="list"] .cre-card__media,
  .cre-market[data-view="map"] .cre-card__media { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
  .cre-card__extra-row .cre-link { margin-left: 0; }
}

.cre-ca--pending { background: #fff8eb; border: 1px solid #f3dfb4; }
.cre-ca--pending h3 { display: flex; align-items: center; gap: 8px; color: #7a5300; }
.cre-ca--declined { background: var(--nx-tint); border: 1px solid var(--nx-line); }

/* ==========================================================================
   Broker Dashboard 1.3
   ========================================================================== */
.cre-broker-app .cre-account__nav > .cre-btn { margin-top: -2px; }
.cre-account__nav nav a em.is-alert { background: #fdf0d9; color: #8a5a00; }
.cre-kpis--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cre-kpis a.is-alert { border-color: #f3dfb4; background: #fff8eb; }
.cre-kpis a.is-alert strong { color: #8a5a00; }
.cre-num { text-align: right; font-variant-numeric: tabular-nums; }
.cre-small { font-size: 13px; color: var(--nx-muted); line-height: 1.4; }
.cre-broker__avatar--sm { width: 36px; height: 36px; font-size: 14px; flex: none; }
.cre-broker__photo--lg { width: 88px !important; height: 88px !important; font-size: 28px; }
.cre-table--broker td, .cre-table--buyers td { vertical-align: middle; }
.cre-table--buyers .cre-table__prop { min-width: 180px; }
.cre-contact a { display: block; font-size: 13.5px; color: var(--nx-text); text-decoration: none; white-space: nowrap; }
.cre-contact a:hover { color: var(--nx-blue); }
.cre-iconbtn--link { display: inline-grid; place-items: center; text-decoration: none; vertical-align: middle; }
.cre-table__actions .cre-btn--xs { margin-left: 4px; }
.cre-decide { display: inline-flex; gap: 6px; }
.cre-decide form { display: inline; }

.cre-approvals { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cre-approvals li { display: grid; grid-template-columns: 40px minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--nx-line); }
.cre-approvals li:last-child { border-bottom: 0; }
.cre-approvals .cre-broker__avatar { width: 40px; height: 40px; font-size: 15px; }
.cre-approvals__who strong, .cre-approvals__what a { display: block; color: var(--nx-ink); font-weight: 700; text-decoration: none; font-size: 15px; }
.cre-approvals__what a:hover { color: var(--nx-blue); }
.cre-approvals__who span, .cre-approvals__what span { font-size: 13px; color: var(--nx-muted); }

/* Editor */
.cre-editor { gap: 20px; }
.cre-editor .cre-panel { display: flex; flex-direction: column; gap: 16px; padding: 28px; }
.cre-editor .cre-panel__title { margin-bottom: 0; }
.cre-form__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cre-form__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cre-field--span2 { grid-column: span 2; }
.cre-editor textarea { resize: vertical; line-height: 1.55; }
.cre-editor__bar { position: sticky; bottom: 0; z-index: 30; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 20px; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border: 1px solid var(--nx-line); border-radius: 14px; box-shadow: 0 -8px 24px rgba(11,27,51,.08); }

.cre-file { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1.5px dashed #c3cfdf; border-radius: 10px; background: var(--nx-tint); color: var(--nx-ink); font-weight: 600; font-size: 14px; cursor: pointer; transition: border-color .15s, background .15s; max-width: 100%; }
.cre-file:hover { border-color: var(--nx-blue); background: var(--nx-blue-soft); }
.cre-file.has-file { border-style: solid; border-color: var(--nx-blue); background: var(--nx-blue-soft); color: var(--nx-blue); }
.cre-file input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.cre-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cre-file::before { content: "+"; font-size: 17px; line-height: 1; }
.cre-file--sm { padding: 7px 12px; font-size: 13px; }

.cre-uploads { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 28px; }
.cre-uploads__hero, .cre-uploads__gallery { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.cre-uploads__label { font-size: 12.5px; font-weight: 600; color: var(--nx-ink); }
.cre-thumb { margin: 0; border-radius: 12px; overflow: hidden; border: 1px solid var(--nx-line); background: var(--nx-tint); }
.cre-thumb img { display: block; width: 100%; height: auto; }
.cre-uploads__hero .cre-thumb { width: 100%; max-width: 320px; aspect-ratio: 4 / 3; }
.cre-uploads__hero .cre-thumb img { height: 100%; object-fit: cover; }
.cre-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.cre-thumb--sm { width: 104px; position: relative; cursor: pointer; }
.cre-thumb--sm img { width: 104px; height: 78px; object-fit: cover; }
.cre-thumb__remove { display: flex; align-items: center; gap: 5px; padding: 5px 8px; font-size: 12px; color: var(--nx-muted); background: #fff; }
.cre-thumb--sm:has(input:checked) img { opacity: .35; }
.cre-thumb--sm:has(input:checked) .cre-thumb__remove { color: var(--nx-red); }

.cre-docedit { display: flex; flex-direction: column; border: 1px solid var(--nx-line); border-radius: 12px; overflow: hidden; }
.cre-docedit:not(:has(.cre-docedit__row)) { display: none; }
.cre-docedit__row { display: grid; grid-template-columns: 64px minmax(0, 1.2fr) minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--nx-line); background: #fff; }
.cre-docedit__row:last-of-type { border-bottom: 0; }
.cre-docedit__row.is-new { grid-template-columns: 64px minmax(0, 1.2fr) auto auto; background: #fbfcfe; }
.cre-docedit__handle input { width: 56px; padding: 8px; border: 1px solid #cfd8e4; border-radius: 8px; font: 500 14px var(--nx-font); text-align: center; }
.cre-docedit__label { width: 100%; padding: 9px 12px; border: 1px solid #cfd8e4; border-radius: 8px; font: 500 14.5px var(--nx-font); color: var(--nx-ink); }
.cre-docedit__file { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--nx-text); min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cre-docedit__file em { font-style: normal; color: var(--nx-muted); }
.cre-docedit__remove { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--nx-muted); cursor: pointer; white-space: nowrap; }
.cre-docedit__row:has(.cre-docedit__remove input:checked) { opacity: .5; }

.cre-profile-photo { display: flex; align-items: center; gap: 18px; }

/* Share + report */
.cre-share { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 18px 28px; align-items: center; }
.cre-share__row { display: flex; gap: 8px; }
.cre-share__row input { flex: 1; min-width: 0; padding: 9px 12px; border: 1px solid #cfd8e4; border-radius: 8px; font: 13px var(--nx-font); color: var(--nx-text); background: var(--nx-tint); }
.cre-share__opts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; padding-top: 14px; border-top: 1px solid var(--nx-line); }

.cre-report { background: #fff; border: 1px solid var(--nx-line); border-radius: 18px; padding: 36px; display: flex; flex-direction: column; gap: 26px; color: var(--nx-text); }
.cre-report__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 18px; border-bottom: 2px solid var(--nx-ink); }
.cre-report__brand { display: flex; align-items: center; gap: 10px; font: 800 18px var(--nx-font-head); color: var(--nx-ink); }
.cre-report__brand .nx-logo__mark { width: 30px; height: 30px; font-size: 15px; }
.cre-report__meta { text-align: right; display: flex; flex-direction: column; }
.cre-report__meta strong { color: var(--nx-ink); font-size: 15px; }
.cre-report__meta span { font-size: 12.5px; color: var(--nx-muted); }
.cre-report__listing { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 26px; align-items: center; }
.cre-report__photo { border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--nx-tint); }
.cre-report__photo img, .cre-report__photo .cre-ph { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.cre-report__info h1 { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; margin: 4px 0; }
.cre-report__info p { margin: 0 0 14px; }
.cre-report__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.cre-report__facts dt { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); font-weight: 600; }
.cre-report__facts dd { margin: 2px 0 0; font-weight: 700; color: var(--nx-ink); }
.cre-report__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--nx-line); border-radius: 14px; overflow: hidden; }
.cre-report__kpis div { padding: 18px 20px; border-right: 1px solid var(--nx-line); display: flex; flex-direction: column; gap: 4px; }
.cre-report__kpis div:last-child { border-right: 0; }
.cre-report__kpis strong { font: 800 30px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.03em; }
.cre-report__kpis span { font-size: 13px; color: var(--nx-muted); }
.cre-report__summary { margin: -8px 0 0; font-size: 15px; color: var(--nx-text); }
.cre-report__charts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cre-chartbox { margin: 0; border: 1px solid var(--nx-line); border-radius: 14px; padding: 16px 16px 10px; }
.cre-chartbox figcaption { font-size: 14px; font-weight: 700; color: var(--nx-ink); margin-bottom: 6px; }
.cre-chart { width: 100%; height: auto; display: block; overflow: visible; }
.cre-chart__grid { stroke: #e7ecf3; stroke-width: 1; }
.cre-chart__grid.is-base { stroke: #c9d3e1; }
.cre-chart__ylab, .cre-chart__xlab { font: 500 11px var(--nx-font); fill: #7a879a; }
.cre-chart__val { font: 700 11.5px var(--nx-font); fill: var(--nx-ink); }
.cre-chart__bar { fill: var(--nx-blue); transition: fill .15s; }
.cre-chart__hit { fill: transparent; }
.cre-chart__col:hover .cre-chart__bar, .cre-chart__col:focus .cre-chart__bar { fill: var(--nx-blue-dk); }
.cre-chart__col:hover .cre-chart__hit, .cre-chart__col:focus .cre-chart__hit { fill: rgba(31, 94, 255, .06); }
.cre-chart__col:focus { outline: none; }
.cre-chart__table { margin-top: 6px; font-size: 13px; }
.cre-chart__table summary { cursor: pointer; color: var(--nx-blue); font-weight: 600; font-size: 12.5px; }
.cre-chart__table table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.cre-chart__table td, .cre-chart__table th { padding: 4px 6px; border-bottom: 1px solid var(--nx-line); text-align: left; }
.cre-report__cols { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 28px; }
.cre-report__cols h2 { font-size: 17px; margin-bottom: 10px; }
.cre-report__table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.cre-report__table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); padding: 8px 6px; border-bottom: 1px solid var(--nx-line); }
.cre-report__table td { padding: 9px 6px; border-bottom: 1px solid var(--nx-line); vertical-align: top; }
.cre-report__table strong { color: var(--nx-ink); }
.cre-report__mix { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cre-report__mix li { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 28px; gap: 10px; align-items: center; font-size: 13.5px; }
.cre-report__mix i { display: block; height: 10px; width: var(--w); background: var(--nx-blue); border-radius: 0 4px 4px 0; }
.cre-report__mix b { text-align: right; color: var(--nx-ink); }
.cre-report__foot { font-size: 12px; color: var(--nx-muted); border-top: 1px solid var(--nx-line); padding-top: 14px; line-height: 1.6; }

.cre-report-page { background: var(--nx-tint); padding: 0 0 48px; }
.cre-report-page .cre-report { max-width: 1000px; margin: 28px auto 0; }
.cre-report-bar { position: sticky; top: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; padding: 10px 24px; background: var(--nx-navy); color: #c7d2e3; font-size: 13.5px; }

@media print {
  .cre-report-bar, .cre-chart__table { display: none !important; }
  .cre-report-page { background: #fff; padding: 0; }
  .cre-report-page .cre-report { margin: 0; border: 0; border-radius: 0; padding: 0; max-width: none; }
  .cre-report { gap: 18px; }
  .cre-report__cols, .cre-report__charts, .cre-report__kpis { break-inside: avoid; }
  @page { margin: 14mm; }
}

@media (max-width: 1180px) {
  .cre-kpis--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .cre-form__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-uploads, .cre-share, .cre-report__cols, .cre-report__charts { grid-template-columns: 1fr; }
  .cre-approvals li { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .cre-approvals__what { grid-column: 2 / -1; grid-row: 2; }
}
@media (max-width: 720px) {
  .cre-kpis--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-form__grid--3, .cre-form__grid--4 { grid-template-columns: 1fr; }
  .cre-field--span2 { grid-column: auto; }
  .cre-docedit__row, .cre-docedit__row.is-new { grid-template-columns: 56px minmax(0, 1fr); }
  .cre-docedit__file { grid-column: 1 / -1; }
  .cre-report { padding: 20px; }
  .cre-report__listing { grid-template-columns: 1fr; }
  .cre-report__facts, .cre-report__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-report__kpis div:nth-child(2) { border-right: 0; }
  .cre-report__kpis div:nth-child(-n+2) { border-bottom: 1px solid var(--nx-line); }
  .cre-editor__bar { position: static; }
}

.cre-rowlinks { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 0 68px; font-size: 13px; font-weight: 600; }
.cre-rowlinks a { color: var(--nx-blue); text-decoration: none; }
.cre-rowlinks a:hover { text-decoration: underline; }
.cre-table--buyers .cre-table__prop span { display: block; }
.cre-table--buyers td:last-child { white-space: nowrap; }
.cre-editor .cre-panel > .cre-btn { align-self: flex-start; }
@media (max-width: 720px) { .cre-rowlinks { margin-left: 0; } }
.cre-contact { max-width: 220px; }
.cre-contact a { white-space: normal; word-break: break-all; }
.cre-table--buyers th:nth-child(6), .cre-table--buyers td:nth-child(6) { min-width: 92px; }
.cre-report__cols > section { min-width: 0; overflow-x: auto; }
@media (max-width: 720px) {
  .cre-approvals li { grid-template-columns: 40px minmax(0, 1fr); row-gap: 8px; }
  .cre-approvals__what { grid-column: 1 / -1; grid-row: auto; padding-left: 54px; }
  .cre-approvals .cre-decide { grid-column: 1 / -1; padding-left: 54px; }
  .cre-report__head { flex-direction: column; align-items: flex-start; }
  .cre-report__meta { text-align: left; }
}

.cre-table--buyers .cre-contact { max-width: none; display: flex; flex-wrap: wrap; gap: 0 12px; margin-top: 3px; }
.cre-table--buyers .cre-contact a { display: inline; white-space: nowrap; word-break: normal; color: var(--nx-blue); font-size: 13px; }
.cre-table--buyers .cre-table__prop span.cre-contact { display: flex; flex-wrap: wrap; gap: 0 12px; }
.cre-table--buyers .cre-contact a { white-space: normal; overflow-wrap: anywhere; }
.cre-table--buyers td:first-child { max-width: 320px; }
.cre-table--buyers .cre-table__prop span.cre-broker__avatar { display: grid; place-items: center; color: #fff; }

/* ==========================================================================
   Offers 1.4
   ========================================================================== */
.cre-pill--ok { background: #e7f7ef; color: #0b6b44; }
.cre-pill--info { background: var(--nx-blue-soft); color: var(--nx-blue); }
.cre-offerbox { scroll-margin-top: 120px; }
.cre-offerform small { font-size: 12px; margin-top: 2px; }
.cre-offerform__loi { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.cre-bafo { padding: 12px 16px; border-radius: 10px; background: #fff8eb; border: 1px solid #f3dfb4; color: #7a5300; font-size: 14.5px; }
.cre-bafo p { margin: 6px 0 0; color: var(--nx-text); }
.cre-bafo.is-passed { background: var(--nx-tint); border-color: var(--nx-line); color: var(--nx-muted); }
.cre-offercard { border: 1px solid var(--nx-line); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 14px; background: #fff; }
.cre-offercard__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cre-offercard__head strong { display: block; font: 800 28px/1.1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; margin-top: 4px; }
.cre-offercard__terms, .cre-offer__terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 18px; margin: 0; }
.cre-offercard__terms dt, .cre-offer__terms dt { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--nx-muted); font-weight: 600; }
.cre-offercard__terms dd, .cre-offer__terms dd { margin: 2px 0 0; color: var(--nx-ink); font-weight: 600; font-size: 14.5px; }
.cre-offercard__notes, .cre-offer__notes { margin: 0; padding: 12px 14px; background: var(--nx-tint); border-radius: 10px; font-size: 14px; }
.cre-offercard .nx-btns form { display: inline; }
.cre-counter { padding: 12px 16px; border-radius: 10px; background: #fff8eb; border: 1px solid #f3dfb4; }
.cre-counter strong { color: #7a5300; }
.cre-counter p { margin: 4px 0 0; font-size: 14px; }
.cre-counter--ok { background: #e7f7ef; border-color: #b7e6cf; }
.cre-counter--ok strong { color: #0b6b44; }

.cre-bafo-panel details summary { cursor: pointer; list-style: none; }
.cre-bafo-panel details summary::-webkit-details-marker { display: none; }
.cre-bafo-panel details summary::before { content: "+ "; color: var(--nx-blue); font-weight: 700; }
.cre-bafo-panel details[open] summary::before { content: "– "; }
.cre-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cre-offer { background: #fff; border: 1px solid var(--nx-line); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 120px; }
.cre-offer.is-high { border-color: #9fd9be; box-shadow: 0 0 0 3px rgba(15, 157, 99, .12); }
.cre-offer.is-dim { opacity: .62; }
.cre-offer__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.cre-offer__who strong { display: block; color: var(--nx-ink); font-size: 16px; }
.cre-offer__who span { font-size: 13px; color: var(--nx-muted); }
.cre-offer__flags { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.cre-offer__price strong { display: block; font: 800 30px/1.05 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; }
.cre-offer__price span { font-size: 13px; color: var(--nx-muted); }
.cre-offer__links { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; align-items: baseline; }
.cre-offer__links .cre-link { gap: 5px; }
.cre-offer__history summary { cursor: pointer; color: var(--nx-blue); font-weight: 600; }
.cre-offer__history ul { margin: 8px 0 0; padding-left: 18px; font-size: 13px; color: var(--nx-muted); }
.cre-offer__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; padding-top: 12px; border-top: 1px solid var(--nx-line); }
.cre-offer__counter { flex-basis: 100%; order: 10; }
.cre-offer__counter summary { list-style: none; display: inline-flex; }
.cre-offer__counter summary::-webkit-details-marker { display: none; }
.cre-offer__counter[open] summary { background: var(--nx-tint); }
.cre-offer__counterform { display: grid; grid-template-columns: 160px 1fr auto; gap: 10px; align-items: end; margin-top: 10px; }
.cre-offer__actions > .cre-offer__counter:not([open]) { flex-basis: auto; order: 0; }
.cre-offer__notesform { display: flex; gap: 8px; align-items: flex-start; }
.cre-offer__notesform textarea { flex: 1; min-height: 36px; padding: 8px 10px; border: 1px dashed #cfd8e4; border-radius: 8px; font: 13.5px var(--nx-font); resize: vertical; background: #fffdf5; }
.cre-report__kpis--sm strong { font-size: 24px; }
.cre-report__offers { display: flex; flex-direction: column; gap: 14px; }
.cre-report__offers h2 { font-size: 17px; }
@media (max-width: 1180px) { .cre-offers { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .cre-offercard__terms, .cre-offer__terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-offer__counterform { grid-template-columns: 1fr; }
}

/* ==========================================================================
   1.5 — Email campaigns
   ========================================================================== */
.cre-alert--warn { background: #fff7e6; color: #8a5a00; border: 1px solid #f3dcaa; }
.cre-aud__count { font-size: 15px; color: var(--nx-muted); }
.cre-aud__count strong { font: 800 28px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; margin-right: 4px; }
.cre-segs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.cre-seg { position: relative; display: block; cursor: pointer; }
.cre-seg input { position: absolute; top: 14px; left: 14px; width: 16px; height: 16px; margin: 0; accent-color: var(--nx-blue); }
.cre-seg span { display: flex; flex-direction: column; gap: 4px; height: 100%; box-sizing: border-box; padding: 12px 14px 12px 40px; border: 1px solid var(--nx-line); border-radius: 10px; background: #fff; transition: border-color .15s, background .15s; }
.cre-seg strong { color: var(--nx-ink); font-size: 14px; }
.cre-seg em { font-style: normal; font-size: 12.5px; line-height: 1.45; color: var(--nx-muted); }
.cre-seg input:checked + span { border-color: var(--nx-blue); background: var(--nx-blue-soft); }
.cre-seg input:focus-visible + span { outline: 2px solid var(--nx-blue); outline-offset: 2px; }
.cre-checks--sm { grid-template-columns: 1fr 1fr; font-size: 14px; }
.cre-aud .cre-form__grid { margin-top: 6px; }
.cre-aud__skip { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; padding-top: 12px; border-top: 1px solid var(--nx-line); }
.cre-aud__list { margin-top: 14px; }
.cre-aud__list summary { cursor: pointer; font-weight: 600; color: var(--nx-blue); font-size: 14px; }
.cre-aud__list .cre-table-wrap { margin-top: 10px; max-height: 360px; overflow: auto; }
.cre-table--aud td strong { display: block; }
.cre-why { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--nx-tint); color: var(--nx-text); border: 1px solid var(--nx-line); }
.cre-why--match { background: var(--nx-blue-soft); color: #1d3f9e; border-color: #cddafc; }
.cre-why--engaged { background: #e7f7ef; color: #0b6b44; border-color: #b7e6cf; }

.cre-camp { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 20px; align-items: start; margin-top: 20px; }
.cre-camp > .cre-panel { margin: 0; }
.cre-camp__compose textarea { min-height: 220px; font-family: inherit; line-height: 1.55; }
.cre-camp__compose code { font-size: 12px; padding: 1px 5px; border-radius: 4px; background: var(--nx-tint); }
.cre-camp__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }
.cre-camp__actions .cre-btn--primary { margin-left: auto; }
.cre-camp__actions button[disabled] { opacity: .45; cursor: not-allowed; }
.cre-camp__subject { display: flex; gap: 10px; align-items: baseline; padding: 10px 12px; margin: 12px 0; border-radius: 8px; background: var(--nx-tint); font-size: 14px; }
.cre-camp__subject span { color: var(--nx-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.cre-camp__subject strong { color: var(--nx-ink); }
.cre-camp__frame { display: block; width: 100%; height: 720px; border: 1px solid var(--nx-line); border-radius: 10px; background: #eef2f7; }
.cre-camp__sentcopy { margin-top: 20px; }
.cre-camp__sentcopy summary { cursor: pointer; }
.cre-camp__sentcopy .cre-camp__frame { margin-top: 14px; }
.cre-table--camps td strong { display: block; }
.cre-table--camps .cre-small, .cre-table--camp .cre-small { color: var(--nx-muted); }

.cre-funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 4px 0 10px; }
.cre-funnel a { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 16px 16px 20px; border: 1px solid var(--nx-line); border-radius: 12px; background: #fff; text-decoration: none; overflow: hidden; }
.cre-funnel a:hover, .cre-funnel a.is-active { border-color: var(--nx-blue); }
.cre-funnel strong { font: 800 28px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; }
.cre-funnel span { font-size: 13px; color: var(--nx-muted); }
.cre-funnel em { position: absolute; top: 16px; right: 16px; font-style: normal; font-size: 13px; font-weight: 700; color: var(--nx-blue); }
.cre-funnel i { position: absolute; left: 0; bottom: 0; height: 4px; width: var(--w); background: var(--nx-blue); border-radius: 0 4px 0 0; }

.cre-simple-page { margin: 0; min-height: 100vh; background: var(--nx-tint); font-family: var(--nx-font); color: var(--nx-text); }
.cre-simple { max-width: 520px; margin: 0 auto; padding: 64px 16px; }
.cre-simple__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; color: var(--nx-ink); font: 700 17px/1 var(--nx-font-head); text-decoration: none; }
.cre-simple__card { padding: 32px; border-radius: var(--nx-radius); background: #fff; border: 1px solid var(--nx-line); box-shadow: var(--nx-shadow); }
.cre-simple__card h1 { margin: 0 0 12px; font: 800 26px/1.2 var(--nx-font-head); color: var(--nx-ink); }
.cre-simple__card form { margin-top: 18px; }

@media (max-width: 1180px) {
  .cre-camp { grid-template-columns: 1fr; }
  .cre-segs { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .cre-segs, .cre-checks--sm { grid-template-columns: 1fr; }
  .cre-funnel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cre-camp__actions .cre-btn--primary { margin-left: 0; width: 100%; }
  .cre-camp__frame { height: 560px; }
}

/* ==========================================================================
   1.6 — Scheduling, marketing hub, calendar, buyer lists
   ========================================================================== */
.cre-camp__later { position: relative; }
.cre-camp__later > summary { list-style: none; cursor: pointer; }
.cre-camp__later > summary::-webkit-details-marker { display: none; }
.cre-camp__laterform { position: absolute; z-index: 5; bottom: calc(100% + 8px); left: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px; width: max-content; max-width: 320px; background: #fff; border: 1px solid var(--nx-line); border-radius: 12px; box-shadow: var(--nx-shadow-lg); }
.cre-camp__laterform input, .cre-resched input { padding: 7px 10px; border: 1px solid var(--nx-line); border-radius: 8px; font: inherit; font-size: 14px; }
.cre-sched { list-style: none; margin: 0; padding: 0; }
.cre-sched li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--nx-line); }
.cre-sched li:first-child { border-top: 0; padding-top: 0; }
.cre-sched li > div:not(.cre-decide) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cre-sched li a { color: var(--nx-ink); text-decoration: none; }
.cre-sched-card { display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cre-sched-card > div:first-child { flex: 1 1 360px; }
.cre-resched { display: flex; gap: 8px; align-items: center; margin-top: 10px; flex-wrap: wrap; }
.cre-aud__listpick { max-width: 420px; margin-top: 4px; }

.cre-mkt__nav { margin-bottom: 20px; }
.cre-kpis--static > div { display: flex; flex-direction: column; gap: 4px; padding: 22px; border-radius: 14px; background: #fff; border: 1px solid var(--nx-line); }
.cre-kpis--static > div:first-child { background: var(--nx-navy); border-color: var(--nx-navy); }
.cre-kpis--static > div:first-child strong { color: #fff; }
.cre-kpis--static > div:first-child span { color: #b9c6dd; }
.cre-kpis--static span { font-size: 14px; color: var(--nx-muted); }
.cre-mkt__filter { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; min-width: 0; }
.cre-mkt__filter select { padding: 8px 12px; border: 1px solid var(--nx-line); border-radius: 10px; font: inherit; font-size: 14px; background: #fff; max-width: 280px; }
.cre-mkt__never { list-style: none; margin: 0; padding: 0; }
.cre-mkt__never li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--nx-line); }
.cre-mkt__never li:first-child { border-top: 0; padding-top: 0; }
.cre-mkt__never li > a:first-child { flex: 1; min-width: 0; display: flex; flex-direction: column; color: var(--nx-ink); text-decoration: none; }
.cre-table--mkt td strong, .cre-table--lists td strong, .cre-table--members td strong { display: block; }
.cre-table--mkt .cre-small .cre-pill { font-size: 11px; padding: 1px 7px; }
.cre-pill--info { background: var(--nx-blue-soft); color: #1d3f9e; }

/* Calendar */
.cre-cal__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.cre-cal__nav { display: flex; align-items: center; gap: 10px; }
.cre-cal__nav h2 { margin: 0 6px; font-size: 22px; min-width: 170px; text-align: center; }
.cre-cal__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0 0 12px; padding: 0; font-size: 13px; color: var(--nx-muted); }
.cre-cal__legend li { display: flex; align-items: center; gap: 6px; }
.cre-cal__legend i, .cre-agenda i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.cre-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--nx-line); border-radius: 14px; overflow: hidden; background: var(--nx-line); gap: 1px; }
.cre-cal__dow { background: var(--nx-tint); padding: 8px 10px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-muted); }
.cre-cal__day { background: #fff; min-height: 112px; padding: 6px 6px 8px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cre-cal__day.is-out { background: #fafbfd; }
.cre-cal__day.is-out .cre-cal__num { color: #b4bfcf; }
.cre-cal__num { font-size: 13px; font-weight: 600; color: var(--nx-ink); padding: 2px 4px; align-self: flex-start; border-radius: 999px; min-width: 22px; text-align: center; }
.cre-cal__day.is-today .cre-cal__num { background: var(--nx-blue); color: #fff; }
.cre-ev { display: block; padding: 3px 6px 4px 8px; border-radius: 6px; font-size: 12px; line-height: 1.3; color: var(--nx-ink); text-decoration: none; border-left: 3px solid; overflow: hidden; }
.cre-ev b { display: block; font-weight: 700; font-size: 11px; opacity: .75; }
.cre-ev span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word; }
.cre-mkt__grid { align-items: start; }
.cre-ev:hover { filter: brightness(.96); }
.cre-ev--sent { background: #e7f7ef; border-color: #0f9d63; }
.cre-ev--scheduled { background: var(--nx-blue-soft); border-color: var(--nx-blue); }
.cre-ev--failed { background: #fdeeee; border-color: var(--nx-red); }
.cre-ev--deadline { background: #fdf4e3; border-color: var(--nx-gold); }
.cre-ev--bafo { background: #f3ecfd; border-color: #7c4ddb; }
i.cre-ev--sent { background: #0f9d63; } i.cre-ev--scheduled { background: var(--nx-blue); } i.cre-ev--failed { background: var(--nx-red); } i.cre-ev--deadline { background: var(--nx-gold); } i.cre-ev--bafo { background: #7c4ddb; }
.cre-cal__more { font-size: 12px; color: var(--nx-muted); padding-left: 6px; }
.cre-agenda { margin-top: 20px; }
.cre-agenda ul { list-style: none; margin: 0; padding: 0; }
.cre-agenda li { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px solid var(--nx-line); }
.cre-agenda li:first-child { border-top: 0; }
.cre-agenda__when { width: 120px; flex: none; display: flex; flex-direction: column; font-size: 14px; }
.cre-agenda__when span, .cre-agenda li a span { font-size: 13px; color: var(--nx-muted); }
.cre-agenda li a { display: flex; flex-direction: column; min-width: 0; color: var(--nx-ink); text-decoration: none; }

/* Buyer list builder */
.cre-listbuild { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.cre-listbuild > .cre-panel, .cre-listbuild__side .cre-panel { margin: 0; }
.cre-listbuild__side { position: sticky; top: calc(var(--nx-header-h) + 16px); display: flex; flex-direction: column; gap: 10px; }
.cre-listbuild__count { display: flex; flex-direction: column; gap: 2px; }
.cre-listbuild__count strong { font: 800 40px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.03em; }
.cre-listbuild__count span { color: var(--nx-muted); font-size: 14px; }
.cre-listbuild__chips { margin-top: 10px; }
.cre-listbuild__del { text-align: right; }
.cre-checks--1 { grid-template-columns: 1fr; }
button.cre-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-weight: 600; }
.cre-link--danger { color: var(--nx-red); font-size: 14px; }
.cre-optout { font-style: normal; color: var(--nx-red); }

@media (max-width: 1180px) {
  .cre-listbuild { grid-template-columns: 1fr; }
  .cre-listbuild__side { position: static; }
}
@media (max-width: 720px) {
  .cre-cal, .cre-cal__legend { display: none; }
  .cre-agenda { margin-top: 0; }
  .cre-cal__nav h2 { min-width: 0; font-size: 19px; }
  .cre-mkt__filter { width: 100%; }
  .cre-mkt__filter select { flex: 1 1 100%; max-width: none; min-width: 0; }
  .cre-mkt__filter .cre-btn { flex: 1 1 100%; }
  .cre-sched li { flex-wrap: wrap; }
  .cre-camp__laterform { position: static; box-shadow: none; margin-top: 8px; }
  .cre-agenda__when { width: 92px; }
}

/* ==========================================================================
   1.7 — Notifications
   ========================================================================== */
.cre-acct-links__count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 999px; background: var(--nx-red); color: #fff; font-style: normal; font-size: 11px; font-weight: 700; line-height: 1; vertical-align: 1px; }
.cre-notif-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.cre-notif-layout > aside { position: sticky; top: calc(var(--nx-header-h) + 16px); }
.cre-notif__day { margin: 22px 0 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-muted); }
.cre-notif { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--nx-line); border-radius: 14px; overflow: hidden; }
.cre-notif__item { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-top: 1px solid var(--nx-line); }
.cre-notif__item:first-child { border-top: 0; }
.cre-notif__item.is-unread { background: #f6f9ff; box-shadow: inset 3px 0 0 var(--nx-blue); }
.cre-notif__icon { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--nx-tint); color: var(--nx-muted); }
.cre-notif__icon svg { width: 18px; height: 18px; }
.cre-notif__icon--ok { background: #e7f7ef; color: #0b6b44; }
.cre-notif__icon--warn { background: #fff4dd; color: #8a5a00; }
.cre-notif__icon--blue { background: var(--nx-blue-soft); color: var(--nx-blue); }
.cre-notif__body { flex: 1; min-width: 0; }
.cre-notif__body p { margin: 0 0 2px; font-size: 15px; line-height: 1.45; color: var(--nx-text); }
.cre-notif__body a { color: var(--nx-ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid #c6d4ee; }
.cre-notif__body a:hover { color: var(--nx-blue); border-color: var(--nx-blue); }
.cre-notif__body .cre-small { color: var(--nx-muted); }
.cre-notif-prefs fieldset { margin-bottom: 14px; }
.cre-notif-prefs .cre-check { margin-top: 4px; }
.cre-notif-prefs__hour { margin-top: 10px; }
.cre-notif-prefs__hour select { padding: 8px 10px; border: 1px solid var(--nx-line); border-radius: 8px; font: inherit; font-size: 14px; }
@media (max-width: 1180px) {
  .cre-notif-layout { grid-template-columns: 1fr; }
  .cre-notif-layout > aside { position: static; order: 2; }
}
@media (max-width: 720px) {
  .cre-notif__item { flex-wrap: wrap; }
  .cre-notif__item .cre-decide { width: 100%; padding-left: 50px; }
}
@media (max-width: 520px) {
  .nx-topbar { padding: 0 16px; }
  .nx-topbar__links, .cre-acct-links { gap: 12px; flex-wrap: wrap; justify-content: flex-end; white-space: normal; }
  .cre-acct-links__name { display: none; }
}

/* ==========================================================================
   1.8 — Messages
   ========================================================================== */
.cre-link--sm { font-size: 13px; margin-left: 10px; gap: 4px; white-space: nowrap; }
.cre-link--sm svg, .cre-offer__links .cre-link svg { width: 15px; height: 15px; }
.cre-inbox__filters { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.cre-inbox { display: grid; grid-template-columns: 320px minmax(0, 1fr); height: min(720px, calc(100vh - 220px)); min-height: 520px; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); background: #fff; overflow: hidden; }
.cre-inbox__list { border-right: 1px solid var(--nx-line); overflow-y: auto; background: #fbfcfe; }
.cre-inbox__item { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-bottom: 1px solid var(--nx-line); text-decoration: none; color: var(--nx-text); position: relative; }
.cre-inbox__item:hover { background: #f3f6fb; }
.cre-inbox__item.is-active { background: var(--nx-blue-soft); box-shadow: inset 3px 0 0 var(--nx-blue); }
.cre-inbox__thumb { flex: none; width: 44px; height: 44px; border-radius: 10px; overflow: hidden; background: var(--nx-tint); }
.cre-inbox__thumb img, .cre-inbox__thumb svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.cre-inbox__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cre-inbox__txt strong { color: var(--nx-ink); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cre-inbox__txt em { font-style: normal; font-size: 12px; color: var(--nx-blue); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cre-inbox__txt span { font-size: 13px; color: var(--nx-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cre-inbox__item.is-unread .cre-inbox__txt span { color: var(--nx-ink); font-weight: 600; }
.cre-inbox__when { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: 12px; color: var(--nx-muted); }
.cre-inbox__when i { width: 9px; height: 9px; border-radius: 50%; background: var(--nx-blue); }
.cre-inbox__none { padding: 28px 20px; text-align: center; color: var(--nx-muted); font-size: 14px; }
.cre-inbox__none strong { display: block; color: var(--nx-ink); margin-bottom: 4px; }
.cre-inbox__pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.cre-inbox__head { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--nx-line); }
.cre-inbox__head > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cre-inbox__head a { color: var(--nx-ink); text-decoration: none; }
.cre-inbox__head span { font-size: 13px; color: var(--nx-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cre-inbox__back { display: none; font-size: 20px; padding: 0 4px; }
.cre-inbox__ctx { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 10px 18px; border-bottom: 1px solid var(--nx-line); background: var(--nx-tint); font-size: 13px; color: var(--nx-text); }
.cre-inbox__ctx a { color: var(--nx-blue); text-decoration: none; font-weight: 600; }
.cre-inbox__ctx .cre-ok { display: inline-flex; align-items: center; gap: 4px; }
.cre-inbox__ctx .cre-ok svg { width: 14px; height: 14px; }
.cre-inbox__ctx .cre-decide { margin-left: auto; }
.cre-inbox__placeholder { flex: 1; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--nx-muted); }
.cre-inbox__placeholder svg { width: 36px; height: 36px; opacity: .5; }
.cre-msg__avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--nx-navy-3); color: #fff; font-size: 14px; font-weight: 700; object-fit: cover; }
.cre-msg__avatar.is-sm { width: 30px; height: 30px; font-size: 11px; }
.cre-msg__scroll { flex: 1; overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; background: #fff; }
.cre-msg__empty { margin: auto; max-width: 340px; text-align: center; color: var(--nx-muted); font-size: 14px; }
.cre-msg__day { text-align: center; margin: 8px 0 2px; }
.cre-msg__day span { font-size: 12px; font-weight: 600; color: var(--nx-muted); background: var(--nx-tint); padding: 3px 10px; border-radius: 999px; }
.cre-msg { display: flex; gap: 8px; align-items: flex-end; max-width: 78%; }
.cre-msg.is-mine { align-self: flex-end; flex-direction: row-reverse; }
.cre-msg__col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cre-msg.is-mine .cre-msg__col { align-items: flex-end; }
.cre-msg__meta { font-size: 12px; color: var(--nx-muted); }
.cre-msg__meta em { font-style: normal; color: var(--nx-blue); font-weight: 600; }
.cre-msg__bubble { padding: 10px 14px; border-radius: 16px 16px 16px 4px; background: #eef2f8; color: var(--nx-ink); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.cre-msg.is-mine .cre-msg__bubble { background: var(--nx-blue); color: #fff; border-radius: 16px 16px 4px 16px; }
.cre-msg.is-mine .cre-msg__bubble a { color: #fff; }
.cre-msg__file { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--nx-line); border-radius: 10px; background: #fff; color: var(--nx-ink); font-size: 14px; font-weight: 600; text-decoration: none; max-width: 100%; }
.cre-msg__file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cre-msg__file svg { width: 16px; height: 16px; flex: none; color: var(--nx-blue); }
.cre-msg__compose { border-top: 1px solid var(--nx-line); padding: 12px 16px 14px; background: #fff; }
.cre-msg__compose textarea { width: 100%; box-sizing: border-box; resize: none; border: 1px solid var(--nx-line); border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 15px; line-height: 1.5; min-height: 46px; }
.cre-msg__compose textarea:focus { outline: 2px solid var(--nx-blue-soft); border-color: var(--nx-blue); }
.cre-msg__compose-row { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.cre-msg__attach { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--nx-muted); max-width: 220px; }
.cre-msg__attach span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cre-msg__attach.has-file { color: var(--nx-blue); }
.cre-msg__attach input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cre-msg__attach svg { width: 16px; height: 16px; }
.cre-msg__hint { margin-left: auto; color: var(--nx-muted); }
.cre-msg__compose .cre-btn svg { width: 15px; height: 15px; }
.cre-broker-card .cre-btn svg, .cre-btn--block svg { width: 16px; height: 16px; }
@media (max-width: 900px) {
  .cre-inbox { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .cre-inbox__list { border-right: 0; max-height: none; }
  .cre-inbox.has-active .cre-inbox__list { display: none; }
  .cre-inbox:not(.has-active) .cre-inbox__pane { display: none; }
  .cre-inbox__pane { height: min(640px, calc(100vh - 160px)); }
  .cre-inbox__back { display: block; }
  .cre-msg { max-width: 90%; }
  .cre-msg__hint { display: none; }
  .cre-msg__compose-row .cre-btn { margin-left: auto; }
}

/* ==========================================================================
   1.9 — Data room
   ========================================================================== */
.cre-docedit__row, .cre-docedit__row.is-new { grid-template-columns: 64px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, .9fr); grid-template-areas: "h label folder access" ". file upload remove"; row-gap: 8px; }
.cre-docedit__row.is-new { grid-template-areas: "h label folder access" ". upload upload remove"; }
.cre-docedit__handle { grid-area: h; }
.cre-docedit__label { grid-area: label; }
.cre-docedit__folder { grid-area: folder; }
.cre-docedit__access { grid-area: access; }
.cre-docedit__file { grid-area: file; }
.cre-docedit__row > .cre-file { grid-area: upload; justify-self: start; }
.cre-docedit__remove, .cre-docedit__row > [data-cre-doc-remove] { grid-area: remove; justify-self: end; }
.cre-docedit__folder, .cre-docedit__access { width: 100%; padding: 9px 10px; border: 1px solid #cfd8e4; border-radius: 8px; font: 500 14px var(--nx-font); color: var(--nx-ink); background: #fff; }
.cre-docedit__warn { font-style: normal; font-size: 11.5px; font-weight: 700; color: #8a5a00 !important; background: #fff4dd; padding: 1px 7px; border-radius: 999px; }

.cre-dr { display: flex; flex-direction: column; gap: 16px; }
.cre-dr__name { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-muted); }
.cre-dr__name svg { width: 16px; height: 16px; }
.cre-dr__name span { font-weight: 600; color: #94a3b8; letter-spacing: 0; }
.cre-dr .cre-docs { margin: 0; }
.cre-dr .cre-docs li > span:not(.cre-dr__ico):not(.cre-dr__lock) { flex: 1; min-width: 0; font-weight: 400; }
.cre-dr .cre-docs li b { font-weight: 600; color: var(--nx-ink); }
.cre-dr .cre-docs li.is-locked b { color: var(--nx-muted); }
.cre-dr .cre-docs .cre-pill { font-size: 11px; padding: 1px 8px; vertical-align: 1px; margin-left: 4px; }
.cre-dr__ico { flex: none; width: 38px; height: 44px; border-radius: 6px; display: grid; place-items: end center; padding-bottom: 6px; box-sizing: border-box; font-size: 9.5px; font-weight: 800; letter-spacing: .03em; color: #fff; background: #94a3b8; position: relative; clip-path: polygon(0 0, 70% 0, 100% 22%, 100% 100%, 0 100%); }
.cre-dr__ico--pdf { background: #d14343; }
.cre-dr__ico--xls, .cre-dr__ico--xlsx, .cre-dr__ico--csv { background: #0f9d63; }
.cre-dr__ico--doc, .cre-dr__ico--docx { background: var(--nx-blue); }
.cre-dr__ico--ppt, .cre-dr__ico--pptx { background: #e27a2f; }
.cre-dr__ico--jpg, .cre-dr__ico--jpeg, .cre-dr__ico--png, .cre-dr__ico--zip { background: #6b7a90; }
.cre-dr__lvl--public { background: #e7f7ef; color: #0b6b44; }
.cre-dr__lvl--full { background: #f3ecfd; color: #5b33b5; }
.cre-dr__lock { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--nx-muted); white-space: nowrap; }
.cre-dr__lock svg { width: 15px; height: 15px; }
.cre-dr__dd { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: #f6f2fe; border: 1px solid #e4d9fb; }
.cre-dr__dd > svg { flex: none; width: 22px; height: 22px; color: #5b33b5; }
.cre-dr__dd > div { flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.cre-dr__dd strong { color: var(--nx-ink); }
.cre-dr__dd span { color: var(--nx-text); }
.cre-dr__dd.is-ok { background: #e7f7ef; border-color: #b7e6cf; }
.cre-dr__dd.is-ok > svg { color: #0b6b44; }
.cre-docroom__count b { color: var(--nx-blue); }
.cre-seg-alert { font-style: normal; display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--nx-gold); color: var(--nx-navy); font-size: 11px; font-weight: 800; }
.cre-table__actions .cre-decide + .cre-decide { margin-top: 6px; }
@media (max-width: 720px) {
  .cre-docedit__row, .cre-docedit__row.is-new { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "h label label" ". folder access" ". file file" ". upload remove"; }
  .cre-docedit__row.is-new { grid-template-areas: "h label label" ". folder access" ". upload remove"; }
  .cre-dr .cre-docs li { flex-wrap: wrap; }
  .cre-dr__dd { flex-wrap: wrap; }
}
.cre-dr .cre-docs li > .cre-dr__ico, .cre-dr .cre-docs li > .cre-dr__lock { flex: none; }
.cre-table--buyers .cre-table__actions { white-space: nowrap; }
.cre-table--buyers .cre-table__actions > * { display: flex; justify-content: flex-end; }
.cre-table--buyers .cre-table__actions .cre-link--sm { margin: 6px 0 0; }

/* ==========================================================================
   2.0 — Listing Engine: brokerage microsites (/firm/{slug}/)
   Brand colors arrive as CSS variables on .cre-firm (see cre_firm_vars_css()).
   ========================================================================== */
.cre-firm-body { margin: 0; background: #fff; }
.cre-firm { --firm-on-dark: #fff; min-height: 100vh; display: flex; flex-direction: column; font-family: var(--nx-font); color: var(--nx-text); }
.cre-firm__wrap { width: 100%; max-width: var(--nx-wrap); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.cre-firm__draft { background: #fff4dd; color: #8a5a00; text-align: center; font-size: 13px; padding: 8px 16px; }
.cre-firm__draft a { color: inherit; font-weight: 700; }
.cre-firm__header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--nx-line); }
.cre-firm__header .cre-firm__wrap { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.cre-firm__brand { display: flex; align-items: center; text-decoration: none; flex: none; }
.cre-firm__logo { max-height: 44px; max-width: 200px; width: auto; display: block; }
.cre-firm__logo--text { display: flex; align-items: center; gap: 10px; max-height: none; }
.cre-firm__logo--text i { font-style: normal; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--firm-primary); color: var(--firm-on-primary); font: 800 15px/1 var(--nx-font-head); letter-spacing: .02em; }
.cre-firm__logo--text b { font: 800 19px/1.1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.01em; }
.cre-firm__nav { display: flex; gap: 6px; flex: 1; }
.cre-firm__nav a { padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: 15px; color: var(--nx-text); text-decoration: none; }
.cre-firm__nav a:hover { background: var(--nx-tint); color: var(--nx-ink); }
.cre-firm__nav a.is-active { color: var(--firm-primary); }
.cre-firm__actions { display: flex; align-items: center; gap: 14px; flex: none; }
.cre-firm__phone { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--nx-ink); text-decoration: none; }
.cre-firm__phone svg { width: 16px; height: 16px; color: var(--firm-primary); }
.cre-firm__main { flex: 1; }
.cre-firm__eyebrow { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--firm-primary); margin-bottom: 10px; }
.cre-firm__section { padding: 80px 0; }
.cre-firm__section--tight { padding: 48px 0 64px; }
.cre-firm__section + .cre-firm__section { border-top: 1px solid var(--nx-line); }
.cre-firm__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.cre-firm__head h1, .cre-firm__head h2 { margin: 0; font: 800 34px/1.15 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; }
.cre-firm__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 56px; align-items: start; }
.cre-firm__cols h2 { margin: 0 0 12px; font: 800 34px/1.15 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; }
.cre-firm__prose { font-size: 17px; line-height: 1.7; }
.cre-firm__prose p:first-child { margin-top: 0; }

/* Hero — shared */
.cre-firm__hero { position: relative; padding: 96px 0; }
.cre-firm__hero-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
.cre-firm__hero h1 { margin: 0 0 16px; font: 800 clamp(36px, 5vw, 60px)/1.05 var(--nx-font-head); letter-spacing: -0.03em; color: var(--nx-ink); max-width: 16ch; }
.cre-firm__hero p { font-size: 18px; line-height: 1.6; max-width: 58ch; margin: 0 0 28px; }
.cre-firm__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.cre-firm__stats { display: flex; gap: 40px; margin: 40px 0 0; padding: 0; flex-wrap: wrap; }
.cre-firm__stats div { display: flex; flex-direction: column-reverse; gap: 4px; }
.cre-firm__stats dt { font-size: 13px; color: var(--nx-muted); }
.cre-firm__stats dd { margin: 0; font: 800 32px/1 var(--nx-font-head); color: var(--nx-ink); letter-spacing: -0.02em; }

/* Classic: photo behind, dark overlay */
.cre-firm--classic .cre-firm__hero.has-photo { background: linear-gradient(90deg, color-mix(in srgb, var(--firm-dark) 92%, transparent) 0%, color-mix(in srgb, var(--firm-dark) 65%, transparent) 55%, color-mix(in srgb, var(--firm-dark) 20%, transparent) 100%), var(--hero) center / cover no-repeat; padding: 128px 0; }
.cre-firm--classic .cre-firm__hero.has-photo h1, .cre-firm--classic .cre-firm__hero.has-photo .cre-firm__stats dd { color: #fff; }
.cre-firm--classic .cre-firm__hero.has-photo p, .cre-firm--classic .cre-firm__hero.has-photo .cre-firm__stats dt { color: rgba(255,255,255,.82); }
.cre-firm--classic .cre-firm__hero.has-photo .cre-firm__eyebrow { color: #fff; opacity: .85; }
.cre-firm--classic .cre-firm__hero.has-photo .cre-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }

/* Modern: dark header + dark split hero */
.cre-firm--modern .cre-firm__header { background: var(--firm-dark); border-bottom-color: transparent; }
.cre-firm--modern .cre-firm__nav a, .cre-firm--modern .cre-firm__phone { color: rgba(255,255,255,.82); }
.cre-firm--modern .cre-firm__nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.cre-firm--modern .cre-firm__nav a.is-active { color: #fff; box-shadow: inset 0 -2px 0 var(--firm-primary); border-radius: 0; }
.cre-firm--modern .cre-firm__logo--text b { color: #fff; }
.cre-firm--modern .cre-firm__header .cre-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.cre-firm--modern .cre-firm__hero { background: var(--firm-dark); }
.cre-firm--modern .cre-firm__hero.has-photo .cre-firm__hero-in { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.cre-firm--modern .cre-firm__hero h1, .cre-firm--modern .cre-firm__stats dd { color: #fff; }
.cre-firm--modern .cre-firm__hero p, .cre-firm--modern .cre-firm__stats dt { color: rgba(255,255,255,.75); }
.cre-firm--modern .cre-firm__hero .cre-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.cre-firm__hero-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; display: block; box-shadow: 0 30px 60px rgba(0,0,0,.35); }

/* Minimal: typographic */
.cre-firm--minimal .cre-firm__hero { padding: 120px 0 88px; border-bottom: 1px solid var(--nx-line); }
.cre-firm--minimal .cre-firm__hero h1 { font-size: clamp(42px, 6.4vw, 84px); max-width: 18ch; }
.cre-firm--minimal .cre-firm__hero h1::after { content: ""; display: block; width: 72px; height: 6px; background: var(--firm-primary); margin-top: 28px; border-radius: 3px; }
.cre-firm--minimal .cre-firm__section + .cre-firm__section { border-top: 0; }

/* About / team / contact */
.cre-firm__about { background: var(--nx-tint); }
.cre-firm__team { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.cre-firm__person { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 22px; border: 1px solid var(--nx-line); border-radius: var(--nx-radius); background: #fff; }
.cre-firm__avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--firm-dark); color: #fff; font: 800 20px/1 var(--nx-font-head); margin-bottom: 10px; }
.cre-firm__person strong { color: var(--nx-ink); font-size: 17px; }
.cre-firm__person > span { color: var(--nx-muted); font-size: 14px; }
.cre-firm__person div { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; font-size: 14px; }
.cre-firm__person a { color: var(--firm-primary); text-decoration: none; overflow-wrap: anywhere; }
.cre-firm__contact-list { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 12px; }
.cre-firm__contact-list li { display: flex; align-items: center; gap: 10px; font-size: 16px; }
.cre-firm__contact-list svg { width: 18px; height: 18px; color: var(--firm-primary); flex: none; }
.cre-firm__contact-list a { color: var(--nx-ink); text-decoration: none; font-weight: 600; }
.cre-firm__contact .cre-panel { margin: 0; }

/* Footer */
.cre-firm__footer { background: var(--firm-dark); color: rgba(255,255,255,.72); padding: 56px 0 40px; font-size: 14px; }
.cre-firm__footer .cre-firm__wrap { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; }
.cre-firm__footer a { color: #fff; text-decoration: none; }
.cre-firm__footer p { margin: 10px 0 0; line-height: 1.6; }
.cre-firm__logo--foot.cre-firm__logo--text b { color: #fff; }
img.cre-firm__logo--foot { filter: brightness(0) invert(1); max-height: 36px; }
.cre-firm__powered { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.cre-firm__powered a { opacity: .7; font-size: 13px; }

/* Platform components inside a firm site */
.cre-firm .nx-section { padding-left: 24px; padding-right: 24px; }
.cre-firm .cre-filters { top: 76px; }

/* ---- Dashboard: My Site ---- */
.cre-firm-admin { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; font-size: 14px; }
.cre-firm-admin .cre-pill { text-decoration: none; }
.cre-firm-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.cre-firm-intro ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.cre-firm-intro li { display: flex; gap: 10px; align-items: flex-start; }
.cre-firm-intro li svg { width: 18px; height: 18px; color: var(--nx-green); flex: none; margin-top: 3px; }
.cre-firm-intro .cre-panel { margin: 0; }
.cre-firm-slug { display: flex; align-items: stretch; border: 1px solid #cfd8e4; border-radius: 10px; overflow: hidden; background: #fff; }
.cre-firm-slug em { font-style: normal; padding: 0 10px; display: flex; align-items: center; background: var(--nx-tint); color: var(--nx-muted); font-size: 13px; white-space: nowrap; border-right: 1px solid #cfd8e4; }
.cre-firm-slug input { border: 0 !important; flex: 1; min-width: 0; }
.cre-field--full { grid-column: 1 / -1; }
.cre-field__label { display: block; font-size: 13px; font-weight: 700; color: var(--nx-ink); margin-bottom: 8px; }
.cre-firm-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 16px 0 20px; }
.cre-firm-media__box { height: 96px; border: 1px dashed #cfd8e4; border-radius: 12px; display: grid; place-items: center; padding: 12px; margin-bottom: 10px; overflow: hidden; background: #fbfcfe; }
.cre-firm-media__box img { max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.cre-firm-media__box .cre-firm__logo--text b { font-size: 15px; }
.cre-firm-media .cre-check { margin-top: 6px; font-size: 13px; }
.cre-firm-color { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; cursor: pointer; }
.cre-firm-color input { width: 44px; height: 44px; padding: 0; border: 1px solid #cfd8e4; border-radius: 10px; background: #fff; cursor: pointer; }
.cre-firm-color span { display: flex; flex-direction: column; font-weight: 600; font-size: 14px; color: var(--nx-ink); }
.cre-firm-color em { font-style: normal; font-weight: 500; font-size: 12.5px; color: var(--nx-muted); text-transform: uppercase; }
.cre-firm-layouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 8px; }
.cre-firm-layout { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid var(--nx-line); border-radius: 12px; cursor: pointer; background: #fff; }
.cre-firm-layout input { position: absolute; opacity: 0; }
.cre-firm-layout:has(input:checked) { border-color: var(--nx-blue); box-shadow: 0 0 0 3px var(--nx-blue-soft); }
.cre-firm-layout:has(input:focus-visible) { outline: 2px solid var(--nx-blue); outline-offset: 2px; }
.cre-firm-layout strong { color: var(--nx-ink); font-size: 14px; margin-top: 6px; }
.cre-firm-layout em { font-style: normal; font-size: 12.5px; color: var(--nx-muted); }
.cre-firm-layout__thumb { display: grid; grid-template-rows: 10px 1fr 14px; gap: 4px; height: 92px; padding: 6px; border-radius: 8px; background: #f1f4f9; }
.cre-firm-layout__thumb i { display: block; border-radius: 3px; }
.cre-firm-layout__thumb--classic i:nth-child(1) { background: #fff; border: 1px solid #dde3ec; }
.cre-firm-layout__thumb--classic i:nth-child(2) { background: linear-gradient(90deg, var(--d) 0 45%, #9aa9bd 45%); }
.cre-firm-layout__thumb--classic i:nth-child(3) { background: linear-gradient(90deg, var(--p) 0 30%, #dde3ec 30%); }
.cre-firm-layout__thumb--modern i:nth-child(1) { background: var(--d); }
.cre-firm-layout__thumb--modern i:nth-child(2) { background: linear-gradient(90deg, var(--d) 0 52%, #9aa9bd 52% 96%, var(--d) 96%); }
.cre-firm-layout__thumb--modern i:nth-child(3) { background: linear-gradient(90deg, var(--p) 0 30%, #dde3ec 30%); }
.cre-firm-layout__thumb--minimal i:nth-child(1) { background: #fff; border: 1px solid #dde3ec; }
.cre-firm-layout__thumb--minimal i:nth-child(2) { background: linear-gradient(180deg, transparent 20%, #0f172a 20% 34%, transparent 34% 44%, #0f172a 44% 58%, transparent 58% 74%, var(--p) 74% 82%, transparent 82%); background-size: 70% 100%; background-repeat: no-repeat; }
.cre-firm-layout__thumb--minimal i:nth-child(3) { background: #dde3ec; }
.cre-firm-publish { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.cre-firm-publish > div { flex: 1 1 360px; }
.cre-firm-add { display: flex; align-items: flex-end; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.cre-firm-add .cre-field { flex: 1 1 260px; margin: 0; }
.cre-table--team td strong { display: block; }

@media (max-width: 1000px) {
  .cre-firm__header .cre-firm__wrap { flex-wrap: wrap; row-gap: 0; }
  .cre-firm__brand { margin-right: auto; }
  .cre-firm__nav { order: 3; flex: 1 0 100%; overflow-x: auto; margin: 0 -8px; padding-bottom: 8px; }
  .cre-firm__nav a { white-space: nowrap; font-size: 14px; }
  .cre-firm .cre-filters { top: 118px; }
  .cre-firm__cols, .cre-firm-intro { grid-template-columns: 1fr; gap: 28px; }
  .cre-firm--modern .cre-firm__hero.has-photo .cre-firm__hero-in { grid-template-columns: 1fr; }
  .cre-firm__footer .cre-firm__wrap { grid-template-columns: 1fr; }
  .cre-firm__powered { align-items: flex-start; }
  .cre-firm-media, .cre-firm-layouts { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .cre-firm__wrap { padding: 0 16px; }
  .cre-firm__header .cre-firm__wrap { gap: 12px; min-height: 64px; }
  .cre-firm__phone span { display: none; }
  .cre-firm__hero, .cre-firm--classic .cre-firm__hero.has-photo { padding: 64px 0; }
  .cre-firm__section { padding: 56px 0; }
  .cre-firm__stats { gap: 24px; }
  .cre-firm__head h1, .cre-firm__head h2, .cre-firm__cols h2 { font-size: 28px; }
  .cre-firm .nx-section { padding-left: 16px; padding-right: 16px; }
  .cre-firm .cre-filters { top: 106px; }
}
.cre-firm__person > .cre-firm__avatar { color: #fff; font-size: 20px; }
.cre-firm--modern .cre-firm__hero .cre-firm__eyebrow { color: rgba(255,255,255,.7); }
.cre-firm .nx-wrap { max-width: calc(var(--nx-wrap) - 48px); }
.cre-firm__logo--text i { background: var(--firm-primary, var(--nx-blue)); color: var(--firm-on-primary, #fff); }

/* 2.1 — Listing Engine part 2 */
.cre-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; cursor: pointer; font: 600 13px var(--nx-font); color: var(--nx-muted); }
.cre-toggle i { position: relative; width: 34px; height: 20px; border-radius: 999px; background: #cfd8e4; transition: background .15s; }
.cre-toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .15s; }
.cre-toggle.is-on { color: var(--nx-ink); }
.cre-toggle.is-on i { background: var(--nx-green); }
.cre-toggle.is-on i::after { transform: translateX(14px); }
.cre-toggle:focus-visible i { outline: 2px solid var(--nx-blue); outline-offset: 2px; }
.cre-table--leads td strong, .cre-table--leads td .cre-small { display: block; }
.cre-embed-code { display: flex; gap: 10px; align-items: flex-start; }
.cre-embed-code textarea { flex: 1; min-width: 0; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; padding: 10px 12px; border: 1px solid #cfd8e4; border-radius: 10px; background: var(--nx-tint); color: var(--nx-ink); resize: none; }
.cre-embed-preview { margin-top: 12px; }
.cre-embed-preview summary { cursor: pointer; font-weight: 600; color: var(--nx-blue); font-size: 14px; }
.cre-embed-preview iframe { width: 100%; height: 560px; border: 1px solid var(--nx-line); border-radius: 12px; margin-top: 10px; background: #fff; }
@media (max-width: 600px) { .cre-embed-code { flex-direction: column; } }

/* ---------------- 2.2 Seller portal ---------------- */
.cre-sellers__list { list-style: none; margin: 0 0 14px; padding: 0; border-top: 1px solid var(--nx-line, #e5e7eb); }
.cre-sellers__list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 0; border-bottom: 1px solid var(--nx-line, #e5e7eb); }
.cre-sellers__who { flex: 1 1 260px; min-width: 0; overflow-wrap: anywhere; }
.cre-sellers__seen { font-size: 13px; }
.cre-sellers__acts { display: flex; gap: 6px; }
.cre-sellers__form { display: flex; flex-wrap: wrap; gap: 8px; }
.cre-sellers__form input { flex: 1 1 200px; min-width: 0; padding: 8px 12px; border: 1px solid var(--nx-line, #d1d5db); border-radius: 8px; font: inherit; }
.cre-seller-page .cre-report-bar a { color: #fff; text-decoration: none; }
.cre-seller-bar__brand { font-weight: 600; }
.cre-seller-bar__user { display: flex; align-items: center; gap: 14px; }
.cre-seller { max-width: 1000px; margin: 0 auto; padding: 0 16px; }
.cre-seller .cre-report { margin-top: 18px; }
.cre-seller__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }
.cre-seller__tabs a { padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--nx-line, #d1d5db); color: inherit; text-decoration: none; font-size: 14px; font-weight: 500; }
.cre-seller__tabs a[aria-current] { background: var(--nx-navy); border-color: var(--nx-navy); color: #fff; }
.cre-seller__broker { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; }
.cre-seller__broker > div:first-child span:first-child { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.cre-seller__empty { margin-top: 40px; text-align: center; }
@media (max-width: 600px) { .cre-report-bar { flex-wrap: wrap; gap: 6px; padding: 10px 16px; } .cre-seller-bar__user { gap: 10px; } }
@media print { .cre-seller__tabs, .cre-seller__broker .nx-btns { display: none !important; } }
@media (max-width: 600px) { .cre-report__table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } }

/* ---------------- 2.3 Online auctions ---------------- */
.cre-auction { scroll-margin-top: 90px; transition: box-shadow .3s; }
.cre-auction.is-updated { box-shadow: 0 0 0 3px rgba(31, 94, 255, .25); }
.cre-auction__stats { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1.3fr; border: 1px solid var(--nx-line); border-radius: 14px; overflow: hidden; margin: 4px 0 14px; }
.cre-auction__stats > div { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-right: 1px solid var(--nx-line); min-width: 0; }
.cre-auction__stats > div:last-child { border-right: 0; }
.cre-auction__stats span { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-muted); font-weight: 600; }
.cre-auction__stats strong { font: 700 18px/1.2 var(--nx-font-head); color: var(--nx-ink); font-variant-numeric: tabular-nums; }
.cre-auction__big { background: var(--nx-navy); }
.cre-auction__big span { color: #9fb0c9 !important; }
.cre-auction__big strong { color: #fff !important; font-size: 26px !important; letter-spacing: -0.02em; }
[data-auc-clock].is-urgent { color: var(--nx-red); }
.cre-auction__meta { font-size: 14px; color: var(--nx-muted); margin: 0 0 16px; }
.cre-auction__act { border-top: 1px solid var(--nx-line); padding-top: 18px; }
.cre-auction__reg h3, .cre-auction__h { font: 700 16px/1.3 var(--nx-font-head); color: var(--nx-ink); margin: 0 0 12px; }
.cre-auction__h { margin-top: 22px; }
.cre-auction__terms { margin: 4px 0 12px; font-size: 14px; }
.cre-auction__terms summary { cursor: pointer; color: var(--nx-blue); font-weight: 600; }
.cre-auction__terms div { padding: 8px 0 0; color: var(--nx-text); }
.cre-auction__bid { display: flex; flex-direction: column; gap: 12px; max-width: 460px; }
.cre-auction__amount { display: flex; align-items: center; border: 1px solid var(--nx-line); border-radius: 10px; background: #fff; overflow: hidden; }
.cre-auction__amount b { padding: 0 4px 0 14px; color: var(--nx-muted); font-weight: 600; font-size: 20px; }
.cre-auction__amount input { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; padding: 12px 14px 12px 4px; font: 700 22px/1.2 var(--nx-font-head); color: var(--nx-ink); font-variant-numeric: tabular-nums; outline: none; }
.cre-auction__amount:focus-within { border-color: var(--nx-blue); box-shadow: 0 0 0 3px rgba(31, 94, 255, .15); }
.cre-auction__quick { display: flex; flex-wrap: wrap; gap: 6px; }
.cre-auction__as { font-size: 13px; margin: 0; }
.cre-auction__hist { list-style: none; margin: 0; padding: 0; }
.cre-auction__hist li { display: grid; grid-template-columns: 1fr auto 110px; gap: 12px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--nx-line); font-size: 14px; }
.cre-auction__hist li:last-child { border-bottom: 0; }
.cre-auction__hist li.is-top strong { color: var(--nx-green); }
.cre-auction__hist strong { font-variant-numeric: tabular-nums; color: var(--nx-ink); }
.cre-auction__hist time { color: var(--nx-muted); font-size: 13px; text-align: right; }
.cre-auction__hist em { color: var(--nx-blue); font-style: normal; font-weight: 600; }
.cre-auction__none { margin: 0; }
.cre-auction__kpis strong.cre-kpi__txt { font-size: 20px; line-height: 1.2; }
.cre-auction__acts { display: flex; gap: 6px; justify-content: flex-end; }
.cre-table tr.is-top td { background: #f3fbf7; }
.cre-auction__mine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 0 4px; }
.cre-auction__mine > div { display: flex; flex-direction: column; gap: 4px; }
.cre-auction__mine span { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-muted); font-weight: 600; }
.cre-auction__mine em.cre-pill { font-style: normal; margin-left: 4px; }
h2.cre-account__sub { font: 700 20px/1.3 var(--nx-font-head); color: var(--nx-ink); margin: 32px 0 12px; }
@media (max-width: 720px) {
  .cre-auction__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cre-auction__stats > div { padding: 12px 14px; }
  .cre-auction__stats > .cre-auction__big { grid-column: 1 / -1; border-right: 0; }
  .cre-auction__stats strong { font-size: 15px; }
  .cre-auction__hist li { grid-template-columns: 1fr auto; }
  .cre-auction__hist time { grid-column: 1 / -1; text-align: left; margin-top: -6px; }
  .cre-auction__mine { grid-template-columns: 1fr; }
}

/* ---------------- 2.4 Installable app ---------------- */
.cre-tabbar { display: none; }
@media (display-mode: standalone) and (max-width: 1024px) { .cre-tabbar { display: flex; } body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); } }
@media (max-width: 1024px) { .is-app .cre-tabbar { display: flex; } .is-app body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); } }
.cre-tabbar { position: fixed; z-index: 999; left: 0; right: 0; bottom: 0; justify-content: space-around; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-top: 1px solid var(--nx-line); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
.cre-tabbar a { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 0; color: var(--nx-muted); text-decoration: none; font-size: 11px; font-weight: 600; letter-spacing: .01em; -webkit-tap-highlight-color: transparent; }
.cre-tabbar a[aria-current] { color: var(--nx-blue); }
.cre-tabbar em { position: absolute; top: 0; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--nx-red); color: #fff; font: 700 10.5px/18px var(--nx-font); font-style: normal; text-align: center; }
.cre-apppanel [hidden] { display: none !important; }
.cre-apppanel__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 0; border-bottom: 1px solid var(--nx-line); }
.cre-apppanel__row > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 200px; }
.cre-apppanel__row span { font-size: 14px; color: var(--nx-muted); }
.cre-apppanel__btns { display: flex; gap: 6px; flex: none; }
.cre-apppanel__hint { font-size: 14px; background: var(--nx-tint); border-radius: 10px; padding: 10px 12px; margin: 10px 0 0; }
.cre-apppanel__hint svg { vertical-align: -2px; }
.cre-apppanel__note { font-size: 13px; margin: 12px 0 0; }

/* Marketplace filter bar: when it sticks under the header it spans the full width and lines up with the header */
.cre-market { --cre-pad: clamp(24px, 3vw, 48px); }
.cre-filters.is-stuck {
  width: var(--cre-vw, 100vw); max-width: none; margin-left: calc(-1 * var(--cre-mleft, 0px));
  border-radius: 0; border-width: 0 0 1px;
  padding-left: max(var(--cre-pad), calc((var(--cre-vw, 100vw) - var(--nx-wrap-wide)) / 2));
  padding-right: max(var(--cre-pad), calc((var(--cre-vw, 100vw) - var(--nx-wrap-wide)) / 2));
}
@media (max-width: 600px) { .cre-market { --cre-pad: 16px; } }

/* ---------------- 2.5 Getting started, tips, help ---------------- */
.cre-tip { position: relative; display: inline-grid; place-items: center; width: 17px; height: 17px; margin: 0 0 0 4px; padding: 0; border: 1px solid #c3cddb; border-radius: 50%; background: #fff; color: var(--nx-muted); font: 700 11px/1 var(--nx-font); vertical-align: 1px; cursor: help; text-transform: none; letter-spacing: 0; }
.cre-tip:hover, .cre-tip:focus { border-color: var(--nx-blue); color: var(--nx-blue); outline: none; }
.cre-tip:focus-visible { box-shadow: 0 0 0 3px rgba(31, 94, 255, .2); }
.cre-tip__bubble { display: none; position: absolute; z-index: 60; bottom: calc(100% + 8px); left: -8px; width: 260px; padding: 10px 12px; border-radius: 10px; background: var(--nx-navy); color: #e8eef7; font: 400 13px/1.5 var(--nx-font); text-align: left; text-transform: none; letter-spacing: 0; white-space: normal; box-shadow: 0 10px 30px rgba(11, 27, 51, .25); cursor: default; }
.cre-tip:hover .cre-tip__bubble, .cre-tip:focus .cre-tip__bubble { display: block; }
@media (max-width: 600px) { .cre-tip__bubble { position: fixed; left: 16px !important; right: 16px !important; bottom: calc(84px + env(safe-area-inset-bottom)); width: auto; } }

.cre-guide { margin-bottom: 20px; }
.cre-guide__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cre-guide__head .cre-panel__title { margin: 0 0 4px; }
.cre-guide__head p { margin: 0; font-size: 14px; }
.cre-guide__hide { background: none; border: 0; padding: 4px 0; font: 600 14px var(--nx-font); color: var(--nx-muted); cursor: pointer; }
.cre-guide__hide:hover { color: var(--nx-ink); }
.cre-guide__bar { height: 6px; border-radius: 3px; background: var(--nx-tint); overflow: hidden; margin: 14px 0 6px; }
.cre-guide__bar span { display: block; height: 100%; background: var(--nx-green); border-radius: 3px; transition: width .3s; }
.cre-guide__list { list-style: none; margin: 0; padding: 0; }
.cre-guide__list li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--nx-line); }
.cre-guide__list li:last-child { border-bottom: 0; }
.cre-guide__list li > div { display: flex; flex-direction: column; gap: 2px; }
.cre-guide__list li > div span { font-size: 14px; color: var(--nx-muted); }
.cre-guide__mark { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--nx-line); color: var(--nx-muted); font-size: 13px; font-weight: 700; }
.cre-guide__mark svg { width: 15px; height: 15px; }
.cre-guide__list li.is-next .cre-guide__mark { border-color: var(--nx-blue); color: var(--nx-blue); }
.cre-guide__list li.is-done .cre-guide__mark { background: var(--nx-green); border-color: var(--nx-green); color: #fff; }
.cre-guide__list li.is-done strong { color: var(--nx-muted); font-weight: 500; text-decoration: line-through; text-decoration-color: #c3cddb; }
.cre-guide__acts { display: flex; align-items: center; gap: 12px; }
.cre-guide__acts .cre-link { font-size: 14px; }
@media (max-width: 600px) {
  .cre-guide__list li { grid-template-columns: 28px minmax(0, 1fr); }
  .cre-guide__acts { grid-column: 2; }
}

.cre-help { display: flex; flex-direction: column; gap: 10px; }
.cre-help__search { display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--nx-line); border-radius: 12px; background: #fff; margin-bottom: 6px; }
.cre-help__search svg { width: 18px; height: 18px; color: var(--nx-muted); flex: none; }
.cre-help__search input { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; padding: 13px 0; font: 400 15px var(--nx-font); outline: none; background: transparent; }
.cre-help__search:focus-within { border-color: var(--nx-blue); box-shadow: 0 0 0 3px rgba(31, 94, 255, .12); }
.cre-help__item { background: #fff; border: 1px solid var(--nx-line); border-radius: 12px; scroll-margin-top: calc(var(--nx-header-h) + 16px); }
.cre-help__item[hidden] { display: none; }
.cre-help__item summary { cursor: pointer; list-style: none; padding: 16px 20px; font: 700 16px/1.35 var(--nx-font-head); color: var(--nx-ink); display: flex; justify-content: space-between; gap: 12px; }
.cre-help__item summary::-webkit-details-marker { display: none; }
.cre-help__item summary::after { content: '+'; font-weight: 500; color: var(--nx-muted); font-size: 20px; line-height: 1; }
.cre-help__item[open] summary::after { content: '–'; }
.cre-help__body { padding: 0 20px 18px; color: var(--nx-text); font-size: 15px; line-height: 1.6; }
.cre-help__body p { margin: 0 0 10px; }
.cre-help__body ul, .cre-help__body ol { margin: 0 0 10px; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.cre-help__body a { color: var(--nx-blue); }

.cre-apppanel--soon .cre-panel__row { margin-bottom: 8px; }
.cre-apppanel--soon .cre-panel__title { margin: 0; }
