/* v3-calm: the calm console look (owner: theme). Linked LAST in the (site) layout. White page, flat warm-grey cards with no border,
   hairlines, ink pills, plain-text tabs, Geist. Look only; no feature or data changes. Other packages: use the tokens and classes below,
   never hardcode these values.

   TOKENS (all on :root)         --c-bg #fff  --c-card #F9F8F6  --c-chip #F2F1EF  --c-soft #F2F2F2  --c-ink #080808
                                 --c-muted #7D8187  --c-tert #878582  --c-line rgba(8,8,8,.08)  --c-line-sub rgba(8,8,8,.06)  --c-line-ctl rgba(8,8,8,.12)
                                 --c-slate #4E6B7A (bars)  --c-grey-bar #E2E2E2  --c-accent hsl(22 100% 52%) (tiny "New" tags only)
                                 --c-up hsl(132 41% 42%)  --c-down hsl(353 53% 43%)  --r-sm 8  --r-md 12  --r-lg 16  --pad 16px  --page-max 1200px
   CLASSES                       .calm-card (flat surface)  .calm-label (13px muted)  .calm-h1 (30px/450)  .calm-h2 (20px/500)  .calm-num (20px/500 number)
                                 .calm-pill (secondary pill)  .calm-pill--ink (primary pill)  .calm-chip (tag)  .calm-tabs / .calm-tab[aria-current] (text tabs)
                                 .calm-muted  .calm-hair (top hairline)  .calm-table (table wrapper, optional: plain tables are restyled anyway)
   Existing classes restyled globally: .v3-card .v3-kpi .v3-chart-card .v3-btn .v3-chip .v3-tabs .t-Region .t-Card .t-Button .seg .pill-btn
   .apex-item-option .u-radio .t-Report-report table.  Purple tokens (--dxb-violet, --dxb-iris*, --dxb-ring) now resolve to ink. */

/* ---------- Geist (self-hosted; Dirham glyph font stays FIRST) ---------- */
@font-face { font-family: 'Geist'; src: url('/assets/fonts/geist/geist-latin.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geist'; src: url('/assets/fonts/geist/geist-latin-ext.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Geist Mono'; src: url('/assets/fonts/geist/geistmono-latin.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* metric-matched fallback so the swap does not shift layout */
@font-face { font-family: 'Geist Fallback'; src: local('Arial'), local('Helvetica'); size-adjust: 102%; ascent-override: 95%; descent-override: 28%; line-gap-override: 0%; }

:root {
  --c-bg: #fff; --c-card: #F9F8F6; --c-chip: #F2F1EF; --c-soft: #F2F2F2; --c-ink: #080808;
  --c-muted: #7D8187; --c-tert: #878582;
  --c-line: rgba(8, 8, 8, .08); --c-line-sub: rgba(8, 8, 8, .06); --c-line-ctl: rgba(8, 8, 8, .12);
  --c-slate: #4E6B7A; --c-grey-bar: #E2E2E2; --c-accent: hsl(22 100% 52%);
  --c-up: hsl(132 41% 42%); --c-down: hsl(353 53% 43%);
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --pad: 16px; --page-max: 1200px;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* font: Dirham glyph first, then Geist */
  --dxb-font: 'Dirham', 'Geist', 'Geist Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --v3-num-font: var(--dxb-font);
  --a-base-font-family: var(--dxb-font); --ut-base-font-family: var(--dxb-font); --ut-alternate-heading-font-family: var(--dxb-font);

  /* re-point the v2/v3 tokens every older sheet reads */
  --dxb-canvas: var(--c-bg); --dxb-surface: var(--c-bg); --dxb-surface-2: var(--c-card);
  --dxb-line: var(--c-line); --dxb-line-strong: var(--c-line-ctl);
  --dxb-ink: var(--c-ink); --dxb-ink-2: #1c1c1c; --dxb-muted: var(--c-muted); --dxb-subtle: var(--c-tert);
  --dxb-up: var(--c-up); --dxb-down: var(--c-down); --dxb-up-bg: transparent; --dxb-down-bg: transparent;
  --v3-up-ink: var(--c-up); --v3-down-ink: var(--c-down);
  --v3-control-line: var(--c-line-ctl);
  --dxb-r-sm: var(--r-sm); --dxb-r-md: var(--r-md); --dxb-r-lg: var(--r-lg); --dxb-r-input: var(--r-md); --v3-r-card: var(--r-md); --v3-r-input: var(--r-md); --v3-r-tile: var(--r-sm);
  --dxb-card-pad: var(--pad);
  /* purple -> ink */
  --dxb-violet: var(--c-ink); --dxb-iris: var(--c-ink); --dxb-iris-ink: var(--c-ink); --dxb-iris-soft: var(--c-soft); --dxb-ring: var(--c-ink);
  --dxb-cyan: var(--c-slate); --dxb-pink: var(--c-muted);
  --dxb-accent: var(--c-ink); --dxb-accent-soft: var(--c-soft);
  /* flat: no shadows */
  --dxb-sh-1: none; --dxb-sh-2: none; --dxb-sh-3: 0 8px 24px rgba(8, 8, 8, .08); --dxb-sheen: none;
  /* charts */
  --v3-chart-ink: var(--c-ink); --v3-chart-violet: var(--c-slate); --v3-chart-n1: #a1a1aa; --v3-chart-n2: var(--c-grey-bar);
  --v3-skel-a: #F2F1EF; --v3-skel-b: #F9F8F6;
  --v3-kpi-h: 88px; --dxb-header-h: 64px;
}

/* ---------- base: page, type, links ---------- */
html body { font-family: var(--dxb-font) !important; background: var(--c-bg) !important; color: var(--c-ink); font-size: 16px; line-height: 1.5; letter-spacing: 0; }
html body :is(button, input, select, textarea, table, th, td, li, p, span, a, label, h1, h2, h3, h4, h5, h6, .t-Button, .t-Region-title, .t-Card-title, .t-Report-cell, .t-Report-colHead) { font-family: var(--dxb-font); }
html body :is(code, kbd, pre, samp) { font-family: var(--font-mono); }
html body :is(h1, .t-Body-title h1, .price-box h1, .page-title) { font-size: 30px; font-weight: 450; letter-spacing: -.3px; line-height: 1.2; color: var(--c-ink); }
html body :is(h2, .t-Region-title) { font-size: 20px; font-weight: 500; letter-spacing: -.2px; line-height: 1.3; color: var(--c-ink); }
html body :is(h3, h4) { font-weight: 500; letter-spacing: -.1px; color: var(--c-ink); }
html body .t-Body-contentInner a:not([class*="button"]):not(.t-Button):not(.pill-btn):not(.btn):not(.v3-btn):not(.v3-chip):not(.t-Card-wrap) { color: var(--c-ink); text-decoration-color: rgba(8, 8, 8, .25); }
html body .t-Body-contentInner a:not([class*="button"]):not(.t-Button):not(.pill-btn):not(.btn):not(.v3-btn):not(.v3-chip):not(.t-Card-wrap):hover { text-decoration-color: var(--c-ink); }
html body :is(.data-basis, .data-partial-note, small, .help, .t-Form-helpText) { color: var(--c-muted); }
html body :focus-visible { outline: 2px solid rgba(8, 8, 8, .6) !important; outline-offset: 2px !important; box-shadow: none !important; }
html body ::selection { background: rgba(8, 8, 8, .12); }
html body hr { border-color: var(--c-line); }
html body .t-Body-main, html body .t-Body-content, html body .main-container, html body .dxb-page { background: var(--c-bg) !important; }
html body .container-max { max-width: var(--page-max); }
/* the outermost .container is centred by ui-layer's padding rule; a max-width here doubled the indent (content at x=240) */
html body .dxb-page > div > .container { max-width: none; }

/* ---------- cards: flat warm grey, no border, no shadow ---------- */
html body :is(.v3-card, .v3-chart-card, .v3-kpi, .v3-error, .v3-empty, .calm-card),
html body :is(.t-Region, .t-Card, .t-Cards .t-Card, .t-Region--scrollBody):not(.t-Region--noBorder):not(.t-Region--hideHeader.t-Region--noUI) {
  background: var(--c-card); border: 0 !important; border-radius: var(--r-md); box-shadow: none !important;
}
html body .v3-chart-card { padding: var(--pad); }
html body .v3-chart-card--bare { background: none; padding: 0; }
html body .t-Region .t-Region { background: none; }                /* no card in a card */
html body .t-Region-header { border-bottom: 0 !important; background: transparent !important; }
html body .t-Region-body { background: transparent; }
html body .t-Region-title { font-size: 20px; font-weight: 500; }
html body :is(.v3-chart-card__title) { font: 500 20px/1.3 var(--dxb-font); letter-spacing: -.2px; }
html body :is(.v3-chart-card__basis, .v3-chart-card__thin) { font-size: 12px; color: var(--c-muted); }
@media (hover: hover) { html body :is(.v3-kpi--link, .v3-kpi--button, .t-Card-wrap):hover { transform: none !important; box-shadow: none !important; background: #F3F2EF; } }

/* ---------- KPI = console stat card ---------- */
html body .v3-kpis { gap: 8px; }
html body .v3-kpi { align-items: flex-start; justify-content: flex-start; gap: 4px; min-height: 88px; padding: var(--pad); text-align: left; position: relative; }
html body .v3-kpi__label { max-width: 100%; font: 400 13px/1.3 var(--dxb-font); letter-spacing: 0; color: var(--c-muted); }
html body .v3-kpi__value { justify-content: flex-start; font: 500 20px/1.25 var(--dxb-font); letter-spacing: 0; color: var(--c-ink); }
html body .v3-kpi__icon { position: absolute; top: 14px; right: 14px; width: auto; height: auto; background: none; color: var(--c-tert); }
html body :is(.v3-kpi__delta, .v3-kpi__chip) { padding: 0; border-radius: 0; background: none; font: 400 12px/1.3 var(--dxb-font); color: var(--c-muted); }
html body .v3-kpi__delta[data-dir="up"] { color: var(--c-up); background: none; }
html body .v3-kpi__delta[data-dir="down"] { color: var(--c-down); background: none; }
html body .v3-kpi__chip--thin { background: none; color: var(--c-muted); }
html body .v3-kpi__basis { font-size: 12px; color: var(--c-tert); }
html body .v3-kpi--locked .v3-kpi__value { letter-spacing: .1em; color: var(--c-tert); }
.v3-kpi__spark { display: flex; align-items: flex-end; gap: 2px; height: 28px; width: 100%; margin-top: 6px; }
.v3-kpi__spark i { flex: 1 1 0; min-width: 2px; background: var(--c-grey-bar); border-radius: 2px 2px 0 0; }
html body .v3-kpi--link:hover .v3-kpi__spark i, html body .v3-kpi--button:hover .v3-kpi__spark i { background: #d4d4d4; }

/* ---------- buttons: ink pill primary, white pill secondary ---------- */
html body :is(.v3-btn, .t-Button, .pill-btn, .btn, button.apex-button):not(.t-Button--noUI):not(.t-Button--icon):not(.ui-button) {
  min-height: 36px; padding: 0 16px; border: 1px solid var(--c-line-ctl); border-radius: 999px; background: #fff; color: var(--c-ink);
  font: 500 14px/1.2 var(--dxb-font); letter-spacing: 0; box-shadow: none; text-shadow: none;
}
@media (hover: hover) { html body :is(.v3-btn, .t-Button, .pill-btn, .btn):not(.t-Button--noUI):not(.t-Button--icon):hover { background: var(--c-card); border-color: var(--c-line-ctl); color: var(--c-ink); } }
html body :is(.v3-btn--primary, .t-Button--hot, .t-Button--primary, .calm-pill--ink, .nv-btn-ink, .appCTA .t-Button) {
  background: var(--c-ink) !important; border-color: var(--c-ink) !important; color: #fff !important;
}
@media (hover: hover) { html body :is(.v3-btn--primary, .t-Button--hot, .t-Button--primary, .calm-pill--ink, .nv-btn-ink):hover { background: #2a2a2a !important; color: #fff !important; } }
html body .calm-pill, html body .calm-pill--ink { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 16px; border-radius: 999px; font: 500 14px/1.2 var(--dxb-font); text-decoration: none; cursor: pointer; }
html body .calm-pill { background: #fff; color: var(--c-ink); border: 1px solid var(--c-line-ctl); }
html body .calm-pill--ink { border: 1px solid var(--c-ink); }

/* ---------- tabs / segmented: plain muted text, active = ink on soft pill ---------- */
html body .v3-chip, html body .v3-tabs .v3-chip, html body .calm-tab {
  min-height: 36px; padding: 0 12px; border: 0 !important; border-radius: 999px; background: transparent !important; color: var(--c-muted);
  font: 400 16px/1.2 var(--dxb-font); letter-spacing: 0; box-shadow: none;
}
@media (hover: hover) { html body :is(.v3-chip, .calm-tab):hover { color: var(--c-ink); background: transparent !important; border: 0 !important; } }
html body :is(.v3-chip[aria-current], .v3-chip--on, .calm-tab[aria-current], .calm-tab--on, .v3-tabs__more summary[data-on]) { background: var(--c-soft) !important; color: var(--c-ink); font-weight: 500; }
html body .calm-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
html body .v3-tabs__list { gap: 4px; padding: 2px; }
html body .v3-tabs__label { font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--c-muted); }
/* More menu */
html body .v3-tabs__list:has(.v3-tabs__more) { overflow: visible; -webkit-mask-image: none; mask-image: none; flex-wrap: wrap; }
.v3-tabs__more { position: relative; }
.v3-tabs__more summary { list-style: none; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.v3-tabs__more summary::-webkit-details-marker { display: none; }
.v3-tabs__more[open] summary, .v3-tabs__more details[open] summary { color: var(--c-ink); }
.v3-tabs__menu { position: absolute; z-index: 60; top: calc(100% + 4px); left: 0; min-width: 200px; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: 0 8px 24px rgba(8, 8, 8, .08); }
.v3-tabs__menu a { display: block; padding: 8px 10px; border-radius: var(--r-sm); font-size: 14px; color: var(--c-muted); text-decoration: none; }
.v3-tabs__menu a:hover { background: var(--c-card); color: var(--c-ink); }
.v3-tabs__menu a[aria-current] { background: var(--c-soft); color: var(--c-ink); font-weight: 500; }

/* legacy segmented controls + radio pills (APEX) */
html body :is(.seg, .apex-item-group--rc, .apex-item-radio, .t-Form-fieldContainer--radioButtonGroup .apex-item-group) { gap: 4px; }
html body :is(.apex-item-option label, .u-radio label, .seg button, .seg label, .apex-item-radio .apex-item-option label) {
  border: 0 !important; border-radius: 999px !important; background: transparent !important; color: var(--c-muted); box-shadow: none !important;
  font: 400 16px/1.2 var(--dxb-font); min-height: 36px; padding: 6px 12px;
}
html body :is(.apex-item-option input:checked + label, .u-radio input:checked + label, .seg button[aria-pressed="true"], .seg button.is-on, .seg button.active, .seg .on, .seg input:checked + label) {
  background: var(--c-soft) !important; color: var(--c-ink) !important; font-weight: 500;
}
html body :is(.apex-item-option, .u-radio) { border: 0; background: transparent; }

/* ---------- chips / tags ---------- */
html body :is(.calm-chip, .tag, .badge, .t-Badge, .label-chip) { display: inline-flex; align-items: center; padding: 2px 8px; border: 0; border-radius: 6px; background: var(--c-chip); color: var(--c-ink); font: 400 12px/1.5 var(--dxb-font); box-shadow: none; }
html body .calm-new { color: var(--c-accent); font-size: 12px; }

/* ---------- inputs / selects ---------- */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea, .apex-item-text, .apex-item-select, .selectlist) {
  min-height: 36px; border: 1px solid var(--c-line-ctl); border-radius: var(--r-md); background: #fff; color: var(--c-ink); box-shadow: none; font: 400 14px/1.4 var(--dxb-font);
}
html body :is(input, select, textarea):focus { border-color: var(--c-ink); outline: 0 !important; box-shadow: 0 0 0 3px rgba(8, 8, 8, .08) !important; }
html body ::placeholder { color: var(--c-tert); opacity: 1; }
html body :is(input[type=checkbox], input[type=radio], input[type=range]) { accent-color: var(--c-ink); }

/* ---------- tables: no card border, 13px muted header, hairline rows ~48px, no zebra ---------- */
html body :is(.t-Report-report, table.t-Report-report, .report-content table, table.v3-table, .calm-table table) { border: 0 !important; background: transparent !important; border-collapse: collapse; }
html body :is(.t-Report-wrap, .t-Report, .report-content, .t-Report-tableWrap) { border: 0 !important; background: transparent !important; box-shadow: none !important; }
html body :is(.t-Report-report th, .t-Report-colHead, .report-content thead th, table.v3-table th, .calm-table th) {
  padding: 10px 12px; border: 0 !important; border-bottom: 1px solid var(--c-line) !important; background: transparent !important; color: var(--c-muted) !important;
  font: 400 13px/1.3 var(--dxb-font) !important; letter-spacing: 0 !important; text-transform: none !important; border-radius: 0 !important;
}
html body :is(.t-Report-report td, .t-Report-cell, .report-content td, table.v3-table td, .calm-table td) {
  padding: 12px; border: 0; border-bottom: 1px solid var(--c-line-sub); background: transparent !important; font-size: 14px; color: var(--c-ink);
}
html body :is(.t-Report-report tr, .report-content tr, table.v3-table tr) { background: transparent !important; }
html body :is(.t-Report-report tbody tr:nth-child(even), .report-content tbody tr:nth-child(even), table.v3-table tbody tr:nth-child(even)) { background: transparent !important; }
@media (hover: hover) { html body :is(.t-Report-report tbody tr, .report-content tbody tr, table.v3-table tbody tr):hover { background: rgba(8, 8, 8, .02) !important; } }

/* ---------- misc: skeletons, empty, error ---------- */
html body .v3-skel { background: var(--c-chip); }
html body :is(.v3-empty, .v3-error) { color: var(--c-muted); }
html body .v3-empty strong, html body .v3-error strong { color: var(--c-ink); font-weight: 500; }
html body .v3-peek { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: 0 8px 24px rgba(8, 8, 8, .08); }
html body hr, html body .t-Region--hideHeader { box-shadow: none; }
html body .v3-chart-card__data summary { color: var(--c-muted); font-weight: 400; }
html body :is(.up, .t-up, .is-up, .gain) { color: var(--c-up); }
html body :is(.down, .t-down, .is-down, .loss) { color: var(--c-down); }

/* ---------- header: 64px, ink text, quiet search, black sign-in pill ---------- */
html body #t_Header.nv-header { background: #fff; border-bottom: 1px solid var(--c-line); box-shadow: none; backdrop-filter: none; }
html body .nv-btn, html body .nv-item > a.nv-btn--link { font: 500 15px/1 var(--dxb-font); letter-spacing: 0; color: var(--c-ink); background: transparent; }
html body .nv-btn[aria-expanded="true"] { background: transparent; color: var(--c-ink); }
html body .nv-chev { width: 10px; height: 10px; opacity: .45; }
html body .nv-item.is-current::after { height: 1px; bottom: -1px; background: var(--c-ink); }
html body .nv-search { min-height: 36px; border: 0; border-radius: 999px; background: var(--c-card); color: var(--c-muted); box-shadow: none; font: 400 14px/1 var(--dxb-font); }
html body .nv-search:hover { background: #F3F2EF; border: 0; }
html body .nv-kbd { background: transparent; border: 0; color: var(--c-tert); }
html body .nv-header .appCTA .t-Button, html body .nv-header .appCTA .t-Button:hover { background: var(--c-ink) !important; color: #fff !important; border-color: var(--c-ink) !important; min-height: 36px; border-radius: 999px; font-weight: 500; }
html body .nv-panel { border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: 0 8px 24px rgba(8, 8, 8, .08); background: #fff; }
html body .nv-col__title { font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--c-muted); }
html body .nv-link { font-weight: 400; }
html body .nv-link b { font-weight: 500; }
html body .nv-link span { color: var(--c-muted); }
html body .nv-pal { border-radius: var(--r-lg); box-shadow: 0 16px 48px rgba(8, 8, 8, .14); border: 1px solid var(--c-line); }
html body .nv-row[data-active] { background: var(--c-card); }
html body .nv-row[data-active] .nv-row__tile, html body .nv-chip[aria-pressed="true"] { background: var(--c-soft); color: var(--c-ink); border-color: transparent; }
html body .nv-tag { background: var(--c-chip); color: var(--c-muted); border: 0; }

/* ---------- footer: quiet ---------- */
html body .nv-footer, html body #t_Footer { background: #fff; border-top: 1px solid var(--c-line); color: var(--c-muted); }
html body .nv-footer :is(a, li, p), html body .nv-footer .nv-flink { font-size: 13px; color: var(--c-muted); }
html body .nv-footer a:hover, html body .nv-footer .nv-flink:hover { color: var(--c-ink); }
html body .nv-footer .nv-flink.nv-planned { color: var(--c-tert); background: none; }
html body .nv-footer [class*="McpPromo-module"] a[class*="__cta"] { background: var(--c-ink) !important; color: #fff !important; border: 0; }
html body .nv-footer :is(.nv-footer__name, .nv-sub__title) { color: var(--c-ink); font-weight: 500; }
html body .nv-footer :is(h2, h3, h4, .nv-fcol__title, .nv-col__title) { font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--c-ink); }
html body .nv-footer :is(.nv-sub, .nv-footer__top, .nv-footer__bar, .nv-footer__in > *) { background: transparent; box-shadow: none; }
html body .nv-footer .nv-input { background: var(--c-card); border: 0; }
/* the single MCP promo card: flat, no border, DXB Advanced logo stays */
html body [class*="McpPromo-module"][class*="__promo"] { background: var(--c-card) !important; border: 0 !important; border-radius: var(--r-md) !important; box-shadow: none !important; padding: 24px !important; }
html body [class*="McpPromo-module"][class*="__eyebrow"] { color: var(--c-muted) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; font-size: 12px !important; }
html body [class*="McpPromo-module"][class*="__title"] { font-weight: 500 !important; letter-spacing: -.2px !important; font-size: 20px !important; }
html body [class*="McpPromo-module"][class*="__promo"] a[class*="btn"], html body [class*="McpPromo-module"][class*="__promo"] a[class*="button"] { border-radius: 999px; }

/* related rail cards + footer boxes: flat, no border */
html body :is(.v3-rail__card, .nv-beds, .nv-footer__bot, .intro-bg) { border: 0 !important; box-shadow: none !important; }
html body .v3-rail__card { background: var(--c-card); border-radius: var(--r-md); }
html body .nv-footer__bot { border-top: 1px solid var(--c-line) !important; background: transparent; }
html body .nv-footer .nv-beds { background: transparent; }

html body :is(.t-Body-title, #t_Body_title, .t-BreadcrumbRegion, .t-Breadcrumb) { background: transparent !important; border: 0 !important; }
html body :is(.filters-bg, .intro-bg, .t-Card-wrap, .agent-bgs) { border: 0 !important; box-shadow: none !important; }
html body .filters-bg { background: var(--c-card) !important; border-radius: var(--r-md) !important; }

/* ---------- purple sweep for third-party/legacy classes ---------- */
html body :is([class*="iris"], [class*="violet"], [class*="purple"]) { background-image: none; }

@media (max-width: 767px) {
  html body { font-size: 16px; }
  html body :is(h1, .t-Body-title h1, .price-box h1) { font-size: 26px; }
  :root { --dxb-header-h: 56px; }
  html body .v3-kpis { gap: 8px; }
}

/* ======================= final fixer pass (calm round 2) ======================= */
/* one left edge: crumbs, captions, titles and cards all start at the 1200px column */
html body .t-Body-title .custom-breadcrumb { padding-left: 0; margin-left: 0; }
html body .dxb-page > div > small.data-basis { display: block; box-sizing: border-box; width: min(var(--page-max), calc(100% - 2 * var(--dxb-gut, 20px))); margin: 0 auto !important; padding-top: 4px; text-align: left; }
/* flat cards: the inner wrap must not paint a second white shape (half-drawn corner arcs) */
html body .t-Card > .t-Card-wrap, html body .t-Cards .t-Card .t-Card-wrap { background: transparent !important; border-radius: inherit; box-shadow: none !important; border: 0 !important; }
/* filter fields: flat white inside the grey card, no outline; the sort select is a quiet pill */
html body .filters-bg :is(select, .apex-item-text, .apex-item-select, .apex-item-popup-lov, .a-Button--popupLOV, input:not([type=checkbox]):not([type=radio])) { border: 0 !important; box-shadow: none !important; background: #fff !important; }
html body .filters-bg label, html body .filters-bg .t-Form-label { font-size: 12px; font-weight: 400; color: var(--c-muted); }
html body .dxb-page :is(.sort-select, .apex-item-select):not(.filters-bg *) { border: 0 !important; background-color: var(--c-card) !important; border-radius: 999px; }
/* floating Ask / Telegram: quiet flat chips, no outline */
html body a.desk-wapp.hiddenPrint:not(.telegram a) { background: var(--c-card) !important; border: 0 !important; font-weight: 500; font-size: 13px; }
html body .telegram { background: var(--c-card) !important; border: 0 !important; width: 36px; height: 36px; min-width: 36px; min-height: 36px; opacity: .85; }
/* intro block: lead text, then one quiet line for the support + DLD credit */
html body .intro-bg > p { max-width: 720px; color: var(--c-muted); font-size: 16px; }
html body .intro-bg .u-flex > p.margin-none, html body .intro-bg > .padding-top-sm p { font-size: 14px; color: var(--c-muted); margin: 0; }
html body .intro-bg > .padding-top-sm { display: flex; align-items: center; gap: 12px; padding-top: 12px; }
html body .intro-bg > .padding-top-sm img { width: auto; height: 28px; opacity: .8; }
html body .dxb-page .intro-bg-pt { margin: 16px 0 24px; }

/* ---- /dubai-property-market-overview: one title, one left edge, plain-text segments, no dead bands ---- */
/* the commentary's own h2 repeats the page h1: keep it for screen readers and crawlers, hide it visually */
html body .dxb-page .market-overview-commentary > h2:first-child { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html body .dxb-page .mk-readmore__body { line-height: 1.5; max-height: calc(var(--mk-lines, 5) * 1.5em); }
html body .dxb-page .mk-readmore__body :is(p, li) { line-height: 1.5; margin: 0 0 8px; }
html body .dxb-page .mk-readmore__body:not([data-open])::after { height: 1.5em; }
html body .dxb-page .intro-bg-pt, html body .dxb-page .mk-hero { margin-top: 0; margin-bottom: 8px; padding-bottom: 0; }
html body .dxb-page .col:has(> .container-max > .mk-hero) { margin-top: 8px; }
html body .dxb-page .container-max.margin-top-lg { margin-top: 8px !important; }
html body .dxb-page .container-max.margin-bottom-md, html body .dxb-page .centerAlignFilters.margin-bottom-lg { margin-bottom: 16px !important; }
html body .dxb-page .centerAlignFilters.margin-top-lg { margin-top: 8px !important; }
html body .dxb-page .mk-basis { text-align: left; margin: 12px 0 0; max-width: none; }
/* centred filter rows go left; segments are plain text, only the checked one sits on a soft pill */
html body .dxb-page .centerAlignFilters :is(.container, .row) { justify-content: flex-start; margin-left: 0; padding-left: 0; }
html body .dxb-page .centerAlignFilters [class*="col-"] { flex: 0 0 auto; width: auto; max-width: none; padding-left: 0; padding-right: 8px; }
html body .dxb-page .centerAlignFilters .t-Form-labelContainer { display: none; }
html body .dxb-page .centerAlignFilters .apex-item-grid-row { gap: 0; justify-content: flex-start; }
html body .dxb-page .centerAlignFilters :is(.apex-item-option label, .u-radio) { padding: 6px 12px; margin: 0; }
html body .dxb-page .centerAlignFilters .apex-item-option label { background: transparent !important; }
html body .dxb-page .centerAlignFilters .apex-item-option input:checked + label { background: var(--c-soft) !important; }
html body .dxb-page .intro-bg { padding-top: 0 !important; padding-bottom: 0 !important; }
html body .dxb-page .mk-basis { text-align: left !important; }
html body .dxb-page .col.vertical-tp, html body .dxb-page .col.vertical-tb-bt { padding-top: 0; padding-bottom: 0; }
html body .dxb-page .mk-hero { text-align: left !important; }
html body .dxb-page .col.vertical-tp { margin-top: 8px !important; }

/* ---- title row below 1024: Live / Views / Tools / share wrap under the title instead of running off-screen ---- */
@media (max-width: 1023px) {
  html body .hm-root.hm-v3 .hm-head__side { flex-wrap: wrap; width: 100%; justify-content: flex-start; min-height: 0; }
  html body .hm-root.hm-v3 .hm-head__top { min-height: 0; }
  html body .hm-root.hm-v3 .hm-head__side .hm-live { flex: 1 0 100%; margin: 0 0 4px; white-space: normal; }
  html body .hm-root.hm-v3 .hm-views__pop, html body .hm-root.hm-v3 .hm-tools-pop { left: 0; right: auto; }
}
/* marina: service-charge strip on the grid (it was nudged 10px right); row titles are plain links; Tools = same height as Views */
html body .project-card { left: 0 !important; margin: 0 !important; }
html body .hm-root.hm-v3 a.ent { text-decoration: none; }
html body .hm-root.hm-v3 a.ent:hover { text-decoration: underline; text-decoration-color: rgba(8, 8, 8, .4); }
html body .hm-root.hm-v3 .hm-tools-btn { height: 36px; min-height: 36px; }
/* developers page: one font (the page's own CSS asked for 'Circular'), the visible title is the page title size */
html body :is(.dev-stats-card-label, .dev-stats-card-value, .dev-stats-name, .dev-stats-overview) { font-family: var(--dxb-font); }
html body .dev-stats-card-label { font-size: 13px; color: var(--c-muted); font-weight: 400; }
html body .dev-stats-card-value { font-size: 20px; font-weight: 500; color: var(--c-ink); line-height: 1.25; }
html body .dxb-page .intro-bg > h2 { font-size: 30px !important; line-height: 1.2 !important; font-weight: 450 !important; letter-spacing: -.3px; margin: 0 0 12px; }
html body .dxb-page .intro-bg > p { max-width: 720px; }
html body a.wappBtn, html body a.t-Button.wappBtn, html body .intro-bg a.t-Button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height: 1.2; }
/* in-page breadcrumb strip scrolls with the page (sticky top:70px pushed it 70px down on load, leaving a blank band) */
html body .dxb-page .t-Body-title { position: static; margin-bottom: 8px; }

/* ---- /sold/<id>: quiet card ---- */
html body .sold-v3 .sv-status { padding: 0; min-height: 0; background: none !important; border-radius: 0; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
html body .sold-v3 .sv-status--ready { color: var(--c-up); }
html body .sold-v3 .sv-status--offplan { color: var(--c-accent); }
html body .sold-v3 a.ent--chip { min-height: 28px; padding: 0 10px; border: 0 !important; border-radius: 6px; background: var(--c-chip) !important; color: var(--c-ink); font: 400 13px var(--dxb-font); text-decoration: none; }
html body .sold-v3 .sv-price--cold { padding: 0; border: 0; gap: 10px; }
html body .sold-v3 .sv-price__shape { display: none; }
html body .sold-v3 .sv-price__cold { font-size: 14px; }
html body .sold-v3 .sv-price--cold a.v3-btn { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; font-size: 14px; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(8, 8, 8, .25); }
html body .sold-v3 .sv-unitlock { font-size: 14px; font-weight: 400; white-space: nowrap; }
html body .sold-v3 .sv-fact dt { font-size: 12px; font-weight: 400; color: var(--c-muted); }
html body .sold-v3 .sv-fact dd { font-size: 16px; font-weight: 500; }
html body .sold-v3 .sv-fact dd.sv-fact__locked, html body .sold-v3 .sv-fact dd:has(> svg:first-child) { font-size: 14px; font-weight: 400; color: var(--c-muted); white-space: nowrap; }
html body .sold-v3 :is(h2, h3) { font-size: 20px; font-weight: 500; letter-spacing: -.2px; }
html body .sold-v3 .sv-aside :is(h2, h3) { font-size: 16px; }
/* the table-header lock was the only saturated blue on the home page: grey it out */
html body .lock-access.lock { filter: grayscale(1) opacity(.75); }
html body .hm-sorthead svg { color: var(--c-tert); opacity: .8; }
