/* ============================================================
   Eleven&Co — Dubai Command Centre
   Brand-preserve: cloned from elevenand.com (Webflow) design system.
   ONE theme (chalk light), ONE accent (teal), near-square radii.
   ============================================================ */
:root{
  --bg:#efece8;            /* chalk page base */
  --surface:#f7f5f0;       /* warm off-white cards */
  --surface-alt:#f3f3f3;
  --text:#212534;          /* warm near-black navy (never #000) */
  --text-charcoal:#222622;
  --stone:#90816f;         /* taupe — borders / secondary text */
  --moss:#5f543d;          /* deep olive */
  --sage:#afb195;          /* soft sage */
  --sand:#ded0ab;          /* warm sand */
  --beige:#d5d2c6;         /* muted fills / placeholders */
  --accent:#045860;        /* THE jewel accent — teal */
  --accent-ink:#063a40;    /* darker teal for text-on-light */
  --line:#e3ded6;          /* hairline */
  --line-soft:#ece8e0;

  --font-display:"Familjen Grotesk", system-ui, sans-serif;
  --font-body:"Montserrat", system-ui, sans-serif;
  --tracking-label:.16em;
  --tracking-body:.01em;

  --radius:2px;
  --radius-btn:4px;
  --radius-pill:100px;

  --card-shadow:0 1px 27px rgba(20,18,14,.08);
  --card-shadow-lift:0 14px 40px -18px rgba(20,18,14,.28);

  --ease-fast:.2s;
  --ease-slow:.4s;
  --curve:cubic-bezier(.16,1,.3,1);

  --topbar-h:62px;
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  font-weight:500;
  font-size:15px;
  line-height:1.6;
  letter-spacing:var(--tracking-body);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.12;letter-spacing:.005em;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input{font-family:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}

.eyebrow{
  font-size:10.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:var(--tracking-label);color:var(--stone);
}

/* ============================================================
   TOP BAR
   ============================================================ */
.topbar{
  position:sticky;top:0;z-index:600;
  height:var(--topbar-h);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:20px;padding:0 26px;
  background:rgba(247,245,240,.86);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);min-width:0;}
.brand-mark{color:var(--text);display:flex;}
.brand-word{
  font-family:var(--font-display);font-weight:600;font-size:17px;
  letter-spacing:.13em;white-space:nowrap;
}
.brand-word .amp{margin:0 1px;font-weight:400;}
.brand-sub{
  font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;
  color:var(--stone);padding-left:12px;margin-left:2px;border-left:1px solid var(--line);
  white-space:nowrap;
}
.topnav{display:flex;gap:26px;justify-content:center;}
.topnav a{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;
  color:var(--stone);padding:6px 2px;position:relative;transition:color var(--ease-fast);
}
.topnav a:hover{color:var(--text);}
.topnav a.active{color:var(--text);}
.topnav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--accent);
}
.status{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  font-size:11px;color:var(--stone);font-weight:500;white-space:nowrap;
}
.status .live{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;font-size:10px;}
.live-dot{
  width:7px;height:7px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 0 rgba(4,88,96,.5);animation:pulse 2.6s var(--curve) infinite;
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(4,88,96,.45);}70%{box-shadow:0 0 0 7px rgba(4,88,96,0);}100%{box-shadow:0 0 0 0 rgba(4,88,96,0);}}
.status-sep{width:1px;height:13px;background:var(--line);}
.clock{font-variant-numeric:tabular-nums;letter-spacing:.04em;}

/* ============================================================
   COMMAND ZONE  (rail | map | detail)
   ============================================================ */
.command{
  display:grid;
  grid-template-columns:322px minmax(0,1fr) 372px;
  height:calc(100dvh - var(--topbar-h));
  min-height:580px;
  border-bottom:1px solid var(--line);
}

/* --- Rail (filters + list) --- */
.rail{
  display:flex;flex-direction:column;min-height:0;
  background:var(--surface);border-right:1px solid var(--line);
}
.search{
  display:flex;align-items:center;gap:9px;margin:16px 18px 12px;
  padding:9px 13px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
}
.search:focus-within{border-color:var(--accent);}
.search i{color:var(--stone);font-size:16px;}
.search input{
  border:0;background:transparent;outline:none;width:100%;font-size:13px;color:var(--text);
}
.search input::placeholder{color:var(--stone);opacity:.85;}

.filters{padding:2px 18px 4px;display:flex;flex-direction:column;gap:15px;}
.filter-group .filter-label{
  display:flex;align-items:center;gap:6px;
  font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  color:var(--stone);margin-bottom:8px;
}
.filter-label i{font-size:13px;color:var(--stone);}

/* segmented control (type, beds) */
.seg{display:flex;flex-wrap:wrap;gap:5px;}
.seg-btn{
  font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--text);
  padding:6px 11px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  transition:all var(--ease-fast);
}
.seg-btn:hover{border-color:var(--stone);}
.seg-btn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;}

/* status chips with dot */
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--text);
  padding:5px 11px 5px 9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill);
  transition:all var(--ease-fast);
}
.chip .cdot{width:7px;height:7px;border-radius:50%;flex:none;}
.chip:hover{border-color:var(--stone);}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;}
.chip[aria-pressed="true"] .cdot{box-shadow:0 0 0 1.5px rgba(255,255,255,.6);}

/* price */
.price-field{display:flex;flex-direction:column;gap:9px;}
.price-field input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:var(--radius-pill);
  background:var(--line);outline:none;
}
.price-field input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);
  border:2px solid var(--surface);box-shadow:0 1px 4px rgba(20,18,14,.3);cursor:pointer;
}
.price-field input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);cursor:pointer;
}
.price-scale{display:flex;align-items:center;justify-content:space-between;}
.price-scale .pmin{font-size:10px;color:var(--stone);letter-spacing:.02em;}
.price-pill{
  font-size:11px;font-weight:600;color:var(--accent-ink);background:var(--bg);
  border:1px solid var(--line);border-radius:var(--radius-pill);padding:3px 10px;font-variant-numeric:tabular-nums;
}

/* community select */
.select-wrap{position:relative;}
.select-wrap select{
  -webkit-appearance:none;appearance:none;width:100%;
  font-family:inherit;font-size:12px;font-weight:500;color:var(--text);
  padding:9px 32px 9px 12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;
}
.select-wrap select:focus{outline:none;border-color:var(--accent);}
.select-wrap i{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--stone);font-size:13px;pointer-events:none;}

.rail-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px 8px;margin-top:6px;border-top:1px solid var(--line-soft);
}
.result-count{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--stone);}
.result-count b{color:var(--text);}
.link-btn{background:none;border:0;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.04em;padding:0;}

.list{flex:1;overflow-y:auto;padding:0 12px 16px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;}
.list-card{
  display:grid;grid-template-columns:62px 1fr;gap:11px;
  padding:9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  cursor:pointer;transition:border-color var(--ease-fast),transform var(--ease-fast),box-shadow var(--ease-fast);
}
.list-card:hover{border-color:var(--stone);transform:translateY(-1px);}
.list-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.list-card .thumb{width:62px;height:62px;border-radius:var(--radius);object-fit:cover;background:var(--beige);}
.list-card .lc-body{min-width:0;display:flex;flex-direction:column;gap:2px;}
.list-card .lc-price{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.01em;}
.list-card .lc-comm{font-size:11.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.list-card .lc-meta{font-size:10.5px;color:var(--stone);display:flex;gap:8px;margin-top:1px;}
.list-card .lc-meta span{white-space:nowrap;}
.lc-stat{display:inline-flex;align-items:center;gap:5px;}
.lc-stat i{width:6px;height:6px;border-radius:50%;display:inline-block;flex:none;}

/* --- Map --- */
.mapwrap{position:relative;min-width:0;background:var(--surface-alt);}
.map-eyebrow{
  position:absolute;top:14px;left:14px;z-index:500;
  display:flex;align-items:center;gap:9px;
  padding:7px 13px;background:rgba(247,245,240,.94);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);
}
.map-eyebrow span:first-child{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text);}
.map-count{font-size:10px;color:var(--accent);font-weight:600;letter-spacing:.04em;}
#map{position:absolute;inset:0;width:100%;height:100%;background:var(--surface-alt);}
.map-legend{
  position:absolute;bottom:18px;left:14px;z-index:500;
  display:flex;flex-wrap:wrap;gap:5px 12px;max-width:340px;
  padding:9px 12px;background:rgba(247,245,240,.94);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);
}
.legend-title{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--text);width:100%;margin-bottom:1px;}
.legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--stone);font-weight:500;}
.legend-swatch{width:9px;height:9px;border-radius:2px;}

/* Leaflet pin (price pill) */
.map-pin{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 9px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-pill);
  font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--accent-ink);letter-spacing:.01em;
  white-space:nowrap;box-shadow:0 2px 8px rgba(20,18,14,.16);cursor:pointer;
  transition:transform var(--ease-fast) var(--curve),background var(--ease-fast),color var(--ease-fast);
  transform-origin:center bottom;
}
.map-pin::after{
  content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);
  border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--accent);
}
.map-pin .pin-dot{width:6px;height:6px;border-radius:50%;background:var(--dot,var(--accent));}
.map-pin:hover{transform:scale(1.06);}
.map-pin.selected{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.12);z-index:1000;}
.map-pin.selected .pin-dot{background:#fff;}
.map-pin.status-new{border-color:var(--accent);}
.leaflet-marker-icon .map-pin{position:relative;}

/* marker clusters (on-brand teal) */
.marker-cluster,.marker-cluster div{background:transparent;}
.ec-cluster{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:var(--accent);color:#fff;border:2.5px solid var(--surface);
  font-family:var(--font-display);font-weight:600;font-size:12px;
  box-shadow:0 3px 12px rgba(4,88,96,.36);
}
.ec-cluster.lg{width:46px;height:46px;font-size:13px;}
.ec-cluster.xl{width:54px;height:54px;font-size:14px;background:var(--accent-ink);}
.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .25s var(--curve),opacity .25s;}

/* agency-coloured pins (competitor view) */
.map-pin.agency{border-color:var(--pin);color:var(--pin);}
.map-pin.agency::after{border-top-color:var(--pin);}
.map-pin.agency.selected{background:var(--pin);border-color:var(--pin);color:#fff;}

/* agency view bar (rail) */
.agency-bar{padding:14px 18px 12px;border-bottom:1px solid var(--line-soft);}
.agency-label{display:flex;align-items:center;gap:6px;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--stone);margin-bottom:9px;}
.agency-label i{font-size:13px;}
.agency-chips{display:flex;flex-wrap:wrap;gap:6px;}
.agency-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text);
  padding:5px 9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill);transition:all var(--ease-fast);}
.agency-chip:hover{border-color:var(--stone);}
.agency-chip.active{background:var(--text);border-color:var(--text);color:var(--surface);}
.agency-chip .ag-dot{width:8px;height:8px;border-radius:50%;flex:none;}
.agency-chip .ag-n{font-size:9px;font-weight:600;color:var(--stone);background:var(--surface);border-radius:var(--radius-pill);padding:1px 6px;}
.agency-chip.active .ag-n{color:var(--text);}

/* competitor scoreboard */
#scoreboardBody{display:flex;flex-direction:column;}
.sb-head,.sb-row{display:grid;grid-template-columns:14px 1.5fr 1.1fr 1.5fr 0.8fr 0.9fr;align-items:center;gap:16px;}
.sb-head{padding:0 8px 8px;border-bottom:1px solid var(--line);}
.sb-head span{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--stone);}
.sb-row{width:100%;text-align:left;padding:12px 8px;border:0;border-top:1px solid var(--line-soft);background:none;transition:background var(--ease-fast);cursor:pointer;}
.sb-row:hover{background:var(--bg);}
.sb-row.sel{background:var(--surface-alt);box-shadow:inset 2px 0 0 var(--accent);}
.sb-dot{width:11px;height:11px;border-radius:50%;}
.sb-name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;}
.sb-row.own .sb-name{color:var(--accent-ink);}
.sb-you{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--accent);padding:2px 6px;border-radius:var(--radius-pill);}
.sb-total{font-size:12px;color:var(--stone);}
.sb-total b{color:var(--text);font-family:var(--font-display);font-size:16px;}
.sb-split{display:flex;flex-direction:column;gap:4px;}
.sb-bar{height:5px;background:var(--beige);border-radius:var(--radius-pill);overflow:hidden;}
.sb-bar i{display:block;height:100%;background:var(--accent);border-radius:inherit;}
.sb-split-l{font-size:10px;color:var(--stone);}
.sb-agents,.sb-rera{font-size:11px;color:var(--stone);font-variant-numeric:tabular-nums;}
.sb-agents b{color:var(--text);font-weight:600;}
.sb-row.delisted{cursor:default;opacity:.8;}
.sb-row.delisted:hover{background:none;}

/* trophy deals */
#trophyBody{display:flex;flex-direction:column;}
.trophy-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line-soft);}
.trophy-row:first-child{border-top:0;}
.trophy-p{font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--accent-ink);white-space:nowrap;min-width:108px;}
.trophy-t{font-size:12.5px;font-weight:600;color:var(--text);}
.trophy-s{font-size:10.5px;color:var(--stone);margin-top:2px;}

/* buyer facts */
#factsBody{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fact{padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);}
.fact-v{font-family:var(--font-display);font-weight:600;font-size:25px;color:var(--accent-ink);line-height:1;}
.fact-k{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--stone);margin-top:7px;}
.fact-s{font-size:10.5px;color:var(--stone);margin-top:6px;line-height:1.4;}

/* --- Detail panel --- */
.detail{
  background:var(--surface);border-left:1px solid var(--line);
  overflow-y:auto;min-height:0;scrollbar-width:thin;
}
.detail-empty{
  height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:40px 34px;color:var(--stone);gap:12px;
}
.detail-empty i{font-size:30px;color:var(--beige);}
.detail-empty p{font-size:14px;color:var(--text);max-width:24ch;margin:0;}
.detail-empty span{font-size:11.5px;max-width:30ch;line-height:1.5;}

.detail-body{display:flex;flex-direction:column;}
.dt-hero{position:relative;aspect-ratio:4/3;background:var(--beige);}
.dt-hero img{width:100%;height:100%;object-fit:cover;display:block;}
.dt-hero.no-img img{display:none;}
.dt-hero .dt-status{position:absolute;top:12px;left:12px;}
.dt-hero .dt-portal{
  position:absolute;bottom:12px;right:12px;font-size:9.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;color:#fff;background:rgba(33,37,52,.62);padding:4px 9px;border-radius:var(--radius);
  backdrop-filter:blur(2px);
}
.badge{
  display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  padding:4px 9px;border-radius:var(--radius);
}
.badge.status-New{background:var(--accent);color:#fff;}
.badge.status-Live{background:transparent;color:var(--stone);border:1px solid var(--stone);}
.badge.status-Under{background:var(--moss);color:#fff;}
.badge.status-Price{background:var(--sand);color:var(--moss);}

.dt-main{padding:20px 22px 8px;}
.dt-price{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:.005em;line-height:1;}
.dt-comm{font-size:13.5px;color:var(--text);margin-top:7px;}
.dt-comm .dt-type{color:var(--stone);}
.dt-specs{display:flex;gap:0;margin:18px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.dt-spec{flex:1;padding:13px 0;text-align:center;border-right:1px solid var(--line);}
.dt-spec:last-child{border-right:0;}
.dt-spec .v{font-family:var(--font-display);font-weight:600;font-size:18px;}
.dt-spec .l{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--stone);margin-top:3px;}

.dt-rows{padding:6px 0 4px;}
.dt-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px;}
.dt-row:last-child{border-bottom:0;}
.dt-row .k{color:var(--stone);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;}
.dt-row .vv{color:var(--text);font-weight:600;text-align:right;}
.dt-row .vv small{display:block;font-weight:500;color:var(--stone);font-size:10px;letter-spacing:.02em;}
.dt-permit{display:inline-flex;align-items:center;gap:5px;color:var(--accent-ink);}
.dt-permit i{font-size:13px;}

.dt-cta{padding:6px 22px 24px;display:flex;flex-direction:column;gap:9px;}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:var(--radius-btn);border:1px solid var(--accent);
  background:var(--accent);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;
  transition:background var(--ease-fast),color var(--ease-fast),transform var(--ease-fast);
  text-transform:uppercase;
}
.btn i{font-size:15px;}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);}
.btn:active{transform:translateY(1px);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--text);}
.btn-ghost:hover{background:var(--text);color:var(--surface);}
.btn-block{width:100%;}
.ghost-btn{background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--stone);
  width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--ease-fast);}
.ghost-btn:hover{color:var(--text);border-color:var(--stone);}

/* ============================================================
   TILES (bento)
   ============================================================ */
.tiles{
  display:grid;grid-template-columns:repeat(12,1fr);gap:18px;
  padding:26px;max-width:1620px;margin:0 auto;width:100%;
}
.tile{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:20px 22px;display:flex;flex-direction:column;
}
.tile-scoreboard{grid-column:span 12;}
.tile-market{grid-column:span 5;}
.tile-agents{grid-column:span 4;}
.tile-leads{grid-column:span 3;}
.tile-trophy{grid-column:span 7;}
.tile-facts{grid-column:span 5;}
.tile-newscard{grid-column:span 12;}
.tile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.tile-tag{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--stone);
  border:1px solid var(--line);border-radius:var(--radius-pill);padding:3px 9px;}
.news-live{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);}
.tile-loading{color:var(--stone);font-size:12px;padding:8px 0;}
.tile-foot{margin-top:auto;padding-top:18px;display:flex;gap:10px;flex-wrap:wrap;}
.tile-foot .btn{padding:9px 14px;}

/* market tile */
.mk-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.mk-week{font-size:11px;color:var(--stone);text-transform:uppercase;letter-spacing:.12em;font-weight:600;}
.mk-headline{font-family:var(--font-display);font-weight:600;font-size:38px;line-height:1;letter-spacing:.005em;margin-top:8px;}
.mk-headline .unit{font-size:16px;color:var(--accent);margin-left:4px;}
.mk-sub{font-size:11.5px;color:var(--stone);margin-top:6px;max-width:34ch;}
.mk-stat-pill{text-align:right;}
.mk-stat-pill .v{font-family:var(--font-display);font-weight:600;font-size:22px;color:var(--accent-ink);}
.mk-stat-pill .l{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--stone);font-weight:600;}
.mk-rows{display:flex;flex-direction:column;gap:0;}
.mk-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line-soft);}
.mk-row .mk-name{font-size:12.5px;font-weight:600;}
.mk-row .mk-bar{width:120px;height:5px;background:var(--line);border-radius:var(--radius-pill);overflow:hidden;}
.mk-row .mk-bar i{display:block;height:100%;background:var(--accent);border-radius:inherit;}
.mk-row .mk-delta{font-size:11.5px;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums;min-width:52px;text-align:right;}

/* agents tile */
.ag-list{display:flex;flex-direction:column;}
.ag-row{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);}
.ag-row:first-child{border-top:0;}
.ag-rank{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--stone);}
.ag-row.lead .ag-rank{color:var(--accent);}
.ag-name{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ag-row.lead .ag-name{color:var(--accent-ink);}
.ag-metric{font-size:11px;color:var(--stone);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.ag-metric b{color:var(--text);font-weight:600;}

/* news tile */
.news-wrap{display:flex;flex-direction:column;gap:14px;flex:1;}
.news-feature{display:flex;flex-direction:column;gap:9px;padding:16px 18px;background:var(--bg);
  border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);transition:border-color var(--ease-fast);}
.news-feature:hover{border-left-color:var(--accent-ink);}
.news-feature .nf-h{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.22;color:var(--text);}
.news-feature:hover .nf-h{color:var(--accent-ink);}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.news-cell{display:flex;flex-direction:column;gap:4px;padding:11px 0;border-top:1px solid var(--line-soft);}
.news-cell .nh{font-size:12.5px;font-weight:600;line-height:1.38;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.news-cell:hover .nh{color:var(--accent-ink);}
.news-meta{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--stone);}
.news-src{text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--accent-ink);}
.news-meta .ndot{width:2.5px;height:2.5px;border-radius:50%;background:var(--stone);flex:none;}

/* news preview card (dashboard) */
.newscard-body{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;flex:1;}
.nc-feature{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:stretch;}
.nc-img{border-radius:var(--radius);background:var(--beige) center/cover no-repeat;min-height:104px;}
.nc-feat-text{display:flex;flex-direction:column;gap:9px;justify-content:center;}
.nc-feature .nf-h{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.24;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.nc-feature:hover .nf-h{color:var(--accent-ink);}
.nc-list{display:flex;flex-direction:column;border-left:1px solid var(--line-soft);padding-left:22px;}
.nc-item{display:flex;flex-direction:column;gap:4px;padding:9px 0;border-top:1px solid var(--line-soft);}
.nc-item:first-child{border-top:0;padding-top:0;}
.nc-item .nh{font-size:12px;font-weight:600;line-height:1.34;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.nc-item:hover .nh{color:var(--accent-ink);}

/* newsroom (separate page) */
.newsroom{max-width:1320px;margin:0 auto;width:100%;padding:32px 26px 12px;}
.nr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;
  padding-bottom:22px;border-bottom:1px solid var(--line);}
.nr-title{font-family:var(--font-display);font-weight:600;font-size:36px;letter-spacing:.005em;margin-top:8px;}
.nr-head-right{display:flex;align-items:center;gap:18px;}
.nr-body{display:flex;flex-direction:column;gap:22px;}
.nr-feature{display:grid;grid-template-columns:1.25fr 1fr;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow);min-height:320px;}
.nr-feat-img{background:var(--beige) center/cover no-repeat;min-height:320px;}
.nr-feat-body{display:flex;flex-direction:column;justify-content:center;gap:15px;padding:36px 40px;}
.nr-feat-h{font-family:var(--font-display);font-weight:600;font-size:31px;line-height:1.18;color:var(--text);}
.nr-feature:hover .nr-feat-h{color:var(--accent-ink);}
.nr-feat-cta{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);}
.nr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.nr-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow);transition:transform var(--ease-fast),box-shadow var(--ease-fast);}
.nr-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-lift);}
.nr-card-img{height:152px;background:var(--beige) center/cover no-repeat;}
.nr-card-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 20px;}
.nr-card-h{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.3;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.nr-card:hover .nr-card-h{color:var(--accent-ink);}

/* leads tile */
.lead-rows{display:flex;flex-direction:column;}
.lead-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-soft);}
.lead-row:first-child{border-top:0;}
.lead-name{font-size:12.5px;font-weight:600;}
.lead-name small{display:block;font-weight:500;color:var(--stone);font-size:10.5px;letter-spacing:.01em;}
.lead-yield{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--accent-ink);white-space:nowrap;}
.lead-seg{margin-top:14px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);}
.lead-seg .ls-l{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--stone);font-weight:600;}
.lead-seg .ls-v{font-size:12.5px;margin-top:4px;}
.lead-seg .ls-v b{color:var(--accent-ink);}

/* files tile */
.files-ring{display:flex;align-items:center;gap:18px;}
.ring{
  --p:0; width:74px;height:74px;border-radius:50%;flex:none;
  background:conic-gradient(var(--accent) calc(var(--p)*1%), var(--line) 0);
  display:grid;place-items:center;
}
.ring::before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;background:var(--surface);}
.ring{position:relative;}
.ring span{position:relative;font-family:var(--font-display);font-weight:600;font-size:17px;}
.files-stat .fs-big{font-size:12.5px;}
.files-stat .fs-big b{color:var(--accent-ink);font-weight:600;}
.files-stat .fs-sub{font-size:11px;color:var(--stone);margin-top:4px;max-width:26ch;}
.files-foot{margin-top:auto;padding-top:16px;}

/* ============================================================
   FOOTER + TOAST
   ============================================================ */
.page-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:20px 26px 30px;border-top:1px solid var(--line);max-width:1560px;margin:0 auto;width:100%;
  font-size:11px;color:var(--stone);
}
.page-foot-meta{letter-spacing:.04em;}
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--text);color:var(--surface);padding:12px 20px;border-radius:var(--radius-btn);
  font-size:12.5px;font-weight:500;box-shadow:var(--card-shadow-lift);z-index:1200;
  opacity:0;transition:opacity var(--ease-fast),transform var(--ease-fast);pointer-events:none;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ============================================================
   LOAD REVEAL (motivated motion — staggered tile entrance)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .tile{opacity:0;transform:translateY(14px);animation:rise .5s var(--curve) forwards;}
  .tile-market{animation-delay:.04s;} .tile-agents{animation-delay:.10s;}
  .tile-news{animation-delay:.16s;} .tile-leads{animation-delay:.22s;} .tile-files{animation-delay:.28s;}
  @keyframes rise{to{opacity:1;transform:none;}}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1140px){
  .command{grid-template-columns:280px minmax(0,1fr);height:auto;}
  .detail{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);max-height:none;}
  .mapwrap{height:62vh;min-height:440px;}
  .rail{height:62vh;min-height:440px;}
  .tile-market,.tile-agents{grid-column:span 6;}
  .tile-leads,.tile-newscard,.tile-trophy,.tile-facts{grid-column:span 12;}
  .newscard-body{grid-template-columns:1fr;gap:16px;}
  .nr-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .topbar{grid-template-columns:1fr auto;gap:10px;padding:0 16px;}
  .topnav{display:none;}
  .brand-sub{display:none;}
  .command{grid-template-columns:1fr;}
  .rail{height:auto;min-height:0;max-height:none;border-right:0;border-bottom:1px solid var(--line);}
  .list{max-height:340px;}
  .mapwrap{height:54vh;min-height:380px;}
  .tiles{grid-template-columns:1fr;padding:18px;gap:14px;}
  .tile-scoreboard,.tile-market,.tile-agents,.tile-leads,.tile-trophy,.tile-facts,.tile-newscard{grid-column:span 1;}
  .sb-head,.sb-row{grid-template-columns:12px 1fr auto;gap:10px;}
  .sb-split,.sb-agents,.sb-rera,.sb-head span:nth-child(4),.sb-head span:nth-child(5),.sb-head span:nth-child(6){display:none;}
  .trophy-p{min-width:88px;font-size:17px;}
  .newsroom{padding:20px 16px;}
  .nr-feature{grid-template-columns:1fr;}
  .nr-feat-img{min-height:200px;}
  .nr-feat-body{padding:24px;}
  .nr-grid{grid-template-columns:1fr;}
  .nr-head{flex-direction:column;align-items:flex-start;gap:14px;}
  .nr-title{font-size:28px;}
  .nc-feature{grid-template-columns:1fr;}
  .mk-headline{font-size:32px;}
}
