:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #687386;
  --line: #dbe3ee;
  --line-strong: #c8d3e1;
  --brand: #245b86;
  --brand-dark: #173f61;
  --brand-soft: #eaf2f8;
  --accent: #0f766e;
  --danger: #c2413a;
  --shadow: 0 8px 24px rgba(20, 43, 68, 0.08);
  --shadow-soft: 0 3px 12px rgba(20, 43, 68, 0.06);
  --radius: 14px;
  --radius-sm: 10px;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0 auto;
  padding: 14px clamp(10px, 2vw, 28px) 40px;
  max-width: 1920px;
  background: var(--bg);
  color: var(--text);
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  line-height: 1.55;
}

a {
  color: var(--brand);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--brand-dark);
}

h1,
h2,
h3 {
  color: var(--text);
  line-height: 1.25;
  letter-spacing: -0.025em;
}

h1 {
  margin: 26px 0 16px;
  font-size: clamp(24px, 3vw, 34px);
}

h2 {
  font-size: clamp(20px, 2.3vw, 28px);
}

hr {
  border: 0;
  border-top: 1px solid var(--line);
}

/* Header / utility */
.market-indicators-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 4px auto 14px;
  padding: 12px 16px;
  width: fit-content;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft);
}

.market-indicators {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 14px;
  font-size: 15px;
  line-height: 1.35;
}

.market-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
}

.market-indicator:hover,
.market-indicator:focus-visible {
  color: var(--brand);
}

.market-indicator__label {
  color: var(--muted);
  font-weight: 700;
}

.market-indicator__value {
  font-weight: 800;
}

.market-indicator__icon {
  font-size: 16px;
}

.market-indicator__divider {
  color: var(--line-strong);
}

.market-indicators__update {
  font-size: 12px;
  color: var(--muted);
  text-align: center;
}

.utility-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 10px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.account-links,
.utility-links {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 15px;
  font-weight: 700;
}

.account-links a,
.utility-links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 8px;
  text-decoration: none !important;
}

.account-links a:hover,
.utility-links a:hover {
  background: var(--brand-soft);
}

.brand-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 20px auto 14px;
}

.brand-header img {
  width: clamp(58px, 8vw, 78px);
  height: auto;
  vertical-align: middle;
}

.brand-title {
  color: #23364a;
  font-family: nanumpen, "Noto Sans KR", sans-serif;
  font-size: clamp(42px, 6vw, 58px);
  line-height: 1;
  letter-spacing: -0.04em;
}

/* Navigation tables */
.property-tabs,
.primary-nav,
.secondary-nav {
  position: relative;
  z-index: 3;
  margin: 8px 0;
  border: 0;
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.property-tabs thead,
.primary-nav thead,
.secondary-nav thead {
  position: static;
}

.property-tabs th,
.primary-nav th,
.secondary-nav th {
  border-right: 1px solid rgba(255,255,255,0.45);
  text-align: center;
}

.property-tabs th:last-child,
.primary-nav th:last-child,
.secondary-nav th:last-child {
  border-right: 0;
}

.property-tabs th {
  padding: 0 !important;
  font-size: 18px !important;
}

.property-tabs a {
  display: flex;
  width: 100%;
  min-height: 44px;
  padding: 10px 8px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 4;
  color: #243447;
  font-size: inherit !important;
  cursor: pointer;
}

.primary-nav th {
  padding: 0 !important;
  background: #edf3f7 !important;
}

.primary-nav th[style*="#73685d"] {
  background: var(--brand) !important;
}

.primary-nav a {
  display: flex;
  width: 100%;
  min-height: 48px;
  padding: 11px 7px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 4;
  color: #334155 !important;
  font-size: 16px !important;
  font-weight: 800;
  cursor: pointer;
}

.primary-nav th[style*="#73685d"] a {
  color: #fff !important;
}

.secondary-nav {
  box-shadow: none;
  border: 1px solid var(--line);
}

.secondary-nav th {
  padding: 0 !important;
  background: var(--surface) !important;
  border-right: 1px solid var(--line);
}

.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] {
  background: #e8eef5 !important;
}

.secondary-nav a {
  display: flex;
  width: 100%;
  min-height: 42px;
  padding: 9px 6px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 4;
  color: #475569 !important;
  font-size: 15px !important;
  font-weight: 750;
  cursor: pointer;
}

.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] a {
  color: var(--brand-dark) !important;
}

/* Search / filters */
#search {
  display: block;
  width: min(760px, 100%) !important;
  height: 54px;
  margin: 0 auto;
  padding: 0 18px !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 14px !important;
  outline: none;
  background: var(--surface);
  color: var(--text);
  font-size: 18px !important;
  box-shadow: var(--shadow-soft);
  transition: border-color .15s ease, box-shadow .15s ease;
}

#search:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 4px rgba(36, 91, 134, 0.12);
}

#search::placeholder {
  color: #8a96a8;
}

#livesearch {
  width: min(760px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.filter-panel {
  margin: 12px 0 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  text-align: left;
}

.filter-panel > span {
  display: inline-block;
  margin: 4px 5px;
  color: #344256;
  font-size: 16px !important;
}

.filter-panel select,
#day,
#type,
#main,
#sub {
  width: auto !important;
  min-width: 150px;
  max-width: 100%;
  min-height: 44px;
  margin: 4px 5px;
  padding: 8px 34px 8px 11px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 16px !important;
}

.filter-panel form[name="mform"] {
  display: flex;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.filter-panel form[name="mform"] > span {
  margin-right: 2px;
  color: #344256;
  font-size: 15px !important;
}

.filter-panel input[type="checkbox"] {
  width: 19px !important;
  height: 19px !important;
  margin: 0;
  accent-color: var(--brand);
}

/* Tables */
table {
  width: 100%;
  margin: 10px 0 16px;
  border: 1px solid var(--line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
  box-shadow: var(--shadow);
  font-size: 15px;
}

thead {
  position: sticky;
  top: 0;
  z-index: 2;
  color: #fff;
  background: #36485c;
  font-weight: 800;
}

th {
  padding: 12px 10px;
  text-align: left;
  vertical-align: middle;
}

td {
  padding: 12px 10px;
  vertical-align: middle;
  border-bottom: 1px solid #e7edf4;
  background: #fff;
}

tbody tr:last-child td {
  border-bottom: 0;
}

tbody tr:hover td {
  filter: brightness(0.985);
}

td a {
  font-weight: 700;
}

table img {
  max-width: 100%;
  height: auto;
}

/* Preserve status colors while softening the old neon look */
td[style*="rgba(0, 255, 0, 0.7)"] {
  background-color: #d9f5e5 !important;
}

td[style*="rgba(0, 255, 0, 0.4)"] {
  background-color: #e9f8ef !important;
}

td[style*="rgba(255, 255, 0, 0.5)"] {
  background-color: #fff7d6 !important;
}

td[style*="rgba(255, 0, 0, 0.4)"] {
  background-color: #fde8e7 !important;
}

td[style*="rgba(255, 0, 0, 0.7)"] {
  background-color: #f8d7d5 !important;
}

td[style*="rgba(150, 75, 0, 0.2)"] {
  background-color: #fbf3eb !important;
}

td[style*="rgba(80, 188, 223, 0.2)"] {
  background-color: #eef8fc !important;
}

/* Existing map/label helper */
.jb-wrap {
  width: 80%;
  position: relative;
}

.jb-wrap img {
  vertical-align: middle;
  opacity: 0.7;
}

.jb-text,
.jb-text_sub {
  width: 55px;
  padding: 1px;
  position: absolute;
  left: 50%;
  white-space: nowrap;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  font-size: 12px;
}

.jb-text {
  top: 50%;
  transform: translate(-40%, -87%);
}

.jb-text_sub {
  top: 50%;
  transform: translate(-42%, -20%);
}

/* Side layout */
@media all and (min-width: 768px) and (max-width: 1899px) {
  #container {
    display: flex;
    gap: 20px;
  }

  #box-left,
  #box-right {
    flex-basis: 180px;
    position: sticky;
    top: 16px;
    align-self: flex-start;
  }

  #box-center {
    flex: 1;
    min-width: 0;
    text-align: left;
  }
}

@media all and (min-width: 1900px) {
  #container {
    display: flex;
    gap: 24px;
  }

  #box-left,
  #box-right {
    flex-basis: 280px;
    position: sticky;
    top: 16px;
    align-self: flex-start;
  }

  #box-center {
    flex: 1;
    min-width: 0;
    text-align: left;
  }
}

/* Mobile */
@media all and (max-width: 767px) {
  body {
    padding: 8px 8px 28px;
  }

  .market-indicators-wrapper {
    width: 100%;
    border-radius: 12px;
    padding: 10px 12px;
  }

  .market-indicators {
    gap: 7px 10px;
    font-size: 13px;
  }

  .market-indicator__divider {
    display: none;
  }

  .utility-bar {
    padding: 8px;
  }

  .account-links,
  .utility-links {
    width: 100%;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
  }

  .account-links a,
  .utility-links a {
    min-height: 32px;
    padding: 5px 7px;
  }

  .brand-header {
    margin: 14px auto 10px;
    gap: 10px;
  }

  .property-tabs,
  .primary-nav,
  .secondary-nav {
    display: table;
    table-layout: fixed;
    margin: 6px 0;
    border-radius: 9px;
  }

  .property-tabs th {
    padding: 0 !important;
    font-size: 14px !important;
  }

  .property-tabs a {
    min-height: 42px;
    padding: 8px 4px;
  }

  .primary-nav th,
  .secondary-nav th {
    padding: 0 !important;
  }

  .primary-nav a,
  .secondary-nav a {
    min-height: 44px;
    padding: 8px 3px;
    font-size: 12px !important;
    line-height: 1.3;
  }

  #search {
    height: 48px;
    font-size: 16px !important;
  }

  .filter-panel {
    padding: 12px 10px;
  }

  .filter-panel select,
  #day,
  #type,
  #main,
  #sub {
    min-width: 0;
    width: calc(50% - 12px) !important;
    min-height: 42px;
    margin: 4px;
    font-size: 14px !important;
  }

  .filter-panel > span {
    font-size: 14px !important;
  }

  .filter-panel form[name="mform"] {
    gap: 7px 8px;
  }

  .filter-panel form[name="mform"] > span {
    font-size: 13px !important;
  }

  table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    border-radius: 10px;
  }

  table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th,
  table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td {
    padding: 9px 8px !important;
    font-size: 13px !important;
    line-height: 1.4;
  }

  table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td span[style*="font-size"] {
    font-size: 15px !important;
  }

  thead {
    top: 0;
  }

  #container {
    display: block;
  }

  #box-left,
  #box-right {
    position: static;
    width: 100%;
    padding: 0;
  }
}

@media all and (max-width: 430px) {
  .brand-header img {
    width: 52px;
  }

  .brand-title {
    font-size: 38px;
  }

  .filter-panel select,
  #day,
  #type,
  #main,
  #sub {
    width: 100% !important;
    margin: 4px 0;
  }

  .property-tabs a,
  .property-tabs th {
    font-size: 13px !important;
  }

  .primary-nav a,
  .secondary-nav a {
    font-size: 12px !important;
  }
}

@FONT-FACE {
  font-family: 'nanumpen';
  src: url("NanumPen.ttf");
  font-display: swap;
}

/* =========================================================
   TodayHousePrice redesign 2026-09-26
   ========================================================= */
:root {
  --page-max: 1320px;
  --content-max: 1240px;
  --brand: #1f5f86;
  --brand-dark: #123d5a;
  --brand-deep: #0c2e45;
  --brand-soft: #e9f3f9;
  --surface: #ffffff;
  --surface-soft: #f7f9fc;
  --text: #142033;
  --muted: #66758a;
  --line: #dce4ee;
  --line-strong: #c9d5e3;
  --success: #147d64;
  --success-bg: #ecf8f4;
  --danger: #c44a52;
  --danger-bg: #fff0f1;
  --warning-bg: #fff8e8;
  --shadow-card: 0 12px 34px rgba(27, 54, 82, .08);
  --shadow-hover: 0 16px 38px rgba(27, 54, 82, .12);
}

body {
  max-width: none;
  margin: 0;
  padding: 0 22px 56px;
  background:
    radial-gradient(circle at 15% -10%, rgba(51, 128, 170, .10), transparent 32%),
    radial-gradient(circle at 92% 2%, rgba(59, 130, 246, .07), transparent 26%),
    #f5f7fb;
  color: var(--text);
}

.page-runtime-marker { display: none; }

.site-header-shell {
  max-width: var(--page-max);
  margin: 18px auto 26px;
}

.brand-header {
  justify-content: flex-start;
  gap: 12px;
  margin: 0 0 12px;
  padding: 4px 6px;
}

.brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(31,95,134,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 8px 22px rgba(20,55,82,.08);
}

.brand-header img {
  width: 43px;
  max-height: 43px;
  object-fit: contain;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.brand-title {
  font-size: 34px;
  color: var(--brand-deep);
  line-height: .95;
}

.brand-subtitle {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.01em;
}

.market-indicators-wrapper {
  width: 100%;
  margin: 0 0 10px;
  padding: 9px 13px;
  flex-direction: row;
  justify-content: space-between;
  gap: 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: none;
}

.market-indicators {
  justify-content: flex-start;
  font-size: 13px;
}

.market-indicators__update {
  white-space: nowrap;
  font-size: 12px;
}

.site-header-shell > br { display: none; }

.utility-bar {
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.88);
  box-shadow: none;
}

.account-links,
.utility-links {
  gap: 3px;
  font-size: 13px;
}

.account-links a,
.utility-links a {
  min-height: 30px;
  padding: 4px 8px;
}

.account-hint {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.property-tabs,
.primary-nav,
.secondary-nav {
  margin: 7px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
  background: rgba(255,255,255,.88);
}

.property-tabs th,
.primary-nav th,
.secondary-nav th {
  border-right: 1px solid var(--line) !important;
  background: transparent !important;
  color: var(--text) !important;
}

.property-tabs a,
.primary-nav a,
.secondary-nav a {
  color: #33445a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.property-tabs th[style*="#C0C0C0"],
.primary-nav th[style*="#73685d"],
.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] {
  background: var(--brand) !important;
  color: white !important;
}

.property-tabs th[style*="#C0C0C0"] a,
.primary-nav th[style*="#73685d"] a,
.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] a {
  color: white !important;
}

.property-tabs th[style*="#FBE5D6"] { background: #fff5ef !important; }
.property-tabs th[style*="#DEEBF7"] { background: #eef6fc !important; }
.property-tabs th[style*="#E2F0D9"] { background: #f1f8ed !important; }

.primary-nav a { min-height: 46px; }
.secondary-nav a { min-height: 40px; }

/* Main content canvas */
#container {
  max-width: 1640px;
  margin: 0 auto;
}

#box-center {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  min-width: 0;
}

#box-center > br:first-child,
#box-center > br:nth-child(2) { display: none; }

.page-hero,
.stats-hero {
  position: relative;
  overflow: hidden;
  margin: 20px 0 18px;
  padding: 34px clamp(22px, 4vw, 46px);
  border: 1px solid rgba(31,95,134,.18);
  border-radius: 24px;
  background:
    linear-gradient(125deg, rgba(15,58,88,.98), rgba(32,105,144,.94));
  color: white;
  box-shadow: var(--shadow-card);
}

.page-hero::after,
.stats-hero::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -90px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  pointer-events: none;
}

.page-hero h1,
.stats-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 880px;
  margin: 5px 0 9px;
  color: #fff;
  font-size: clamp(28px, 3.3vw, 42px);
  letter-spacing: -.035em;
}

.page-eyebrow,
.panel-eyebrow {
  display: block;
  color: #87c8ea;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-lead {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  font-weight: 600;
}

.compact-hero {
  padding-top: 26px;
  padding-bottom: 27px;
}

.compact-hero h1 { font-size: clamp(27px, 3vw, 38px); }

.lookup-hero {
  text-align: left;
}

.lookup-hero center { text-align: left; }
.lookup-hero .search-form { margin: 24px 0 0; }
.lookup-hero #search {
  width: min(760px, 100%) !important;
  height: 58px;
  padding: 0 20px 0 48px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 16px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 17px center;
  color: var(--text);
  font-size: 17px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

.lookup-hero #search:focus {
  border-color: #9bd3f0 !important;
  box-shadow: 0 0 0 4px rgba(154,211,240,.18), 0 10px 26px rgba(0,0,0,.12);
}

.lookup-hero #livesearch {
  width: min(760px, 100%);
  margin-top: 8px;
  border-radius: 14px;
  background: white;
  color: var(--text);
  overflow: hidden;
}

/* Filters / controls */
.filter-panel,
.query-panel {
  margin: 18px 0 28px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 24px rgba(25,54,80,.055);
}

.filter-panel__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.filter-panel__header strong {
  display: block;
  margin-top: 3px;
  font-size: 19px;
}

.panel-eyebrow { color: var(--brand); }
.panel-help {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.filter-panel__body,
.query-panel {
  color: #314158;
  font-size: 14px;
  font-weight: 700;
}

.filter-panel__body > br,
.detail-query > br { display: none; }

.filter-panel select,
.query-panel select,
#box-center select {
  min-height: 44px;
  margin: 4px 6px 4px 0;
  padding: 0 36px 0 12px;
  border: 1px solid #cbd7e4;
  border-radius: 11px;
  background-color: #fff;
  color: var(--text);
  font-size: 14px !important;
  font-weight: 750;
  outline: none;
}

.filter-panel select:focus,
.query-panel select:focus,
#box-center select:focus {
  border-color: #6ba9cc;
  box-shadow: 0 0 0 3px rgba(31,95,134,.11);
}

.filter-panel__body > span,
.query-panel > span {
  font-size: 14px !important;
}

.filter-panel form[name="mform"] {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px dashed var(--line);
}

.filter-panel input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  accent-color: var(--brand);
}

.detail-query {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 7px;
}

.detail-query .panel-eyebrow {
  flex-basis: 100%;
  margin-bottom: 6px;
}

.detail-query span[style*="font-size"] {
  margin-left: 4px;
  color: #43536a;
  font-size: 13px !important;
}

.trend-query,
.bunyang-query {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.trend-query .panel-eyebrow,
.bunyang-query .panel-eyebrow { flex-basis: 100%; }
.trend-query > span[style*="font-size"] { font-size: 20px !important; font-weight: 850; }
.bunyang-query > span[style*="font-size"] { font-size: 14px !important; font-weight: 800; }

.source-note {
  margin: -8px 0 16px;
  padding: 11px 14px;
  border: 1px solid #dbe8f2;
  border-radius: 11px;
  background: #f1f7fb;
  color: #53657a;
  font-size: 13px;
}

/* Tables */
#box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) {
  width: 100%;
  margin: 12px 0 30px;
  border: 1px solid var(--line) !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  background: white;
  box-shadow: 0 7px 22px rgba(23,48,72,.055);
  overflow: hidden;
}

#box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) thead th {
  position: static;
  padding: 13px 14px !important;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
  background: #334a62 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.35;
  vertical-align: middle;
}

#box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) tbody td {
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e7edf4 !important;
  background: #fff;
  color: #213046;
  font-size: 14px !important;
  line-height: 1.45;
  vertical-align: middle;
  white-space: normal;
}

#box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) tbody tr:last-child td {
  border-bottom: 0 !important;
}

#box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) tbody tr:hover td {
  background-color: #f8fbfd;
}

#box-center table a {
  color: #145f8c;
  font-weight: 800;
}

#box-center table td span[style*="font-size"] { font-size: 15px !important; }

#box-center td[style*="rgba(255, 0, 0"],
#box-center td[style*="rgba(255,0,0"] {
  background: var(--danger-bg) !important;
  color: #9e3540 !important;
}

#box-center td[style*="rgba(0, 255, 0"],
#box-center td[style*="rgba(0,255,0"] {
  background: var(--success-bg) !important;
  color: #0e6c56 !important;
}

#box-center td[style*="rgba(255, 255, 0"],
#box-center td[style*="rgba(255,255,0"] {
  background: var(--warning-bg) !important;
}

#box-center td[style*="rgba(150, 75, 0"] { background: #fbf7f2 !important; }
#box-center td[style*="rgba(80, 188, 223"] { background: #eff8fc !important; }

#box-center h1:not(.page-hero h1):not(.stats-hero h1),
#box-center h2 {
  margin: 34px 0 13px;
  color: #1b2c42;
}

#box-center > h1 {
  padding-left: 13px;
  border-left: 4px solid var(--brand);
  font-size: clamp(22px, 2.5vw, 30px);
}

#box-center > h2 { font-size: clamp(20px, 2vw, 27px); }

/* Weekly dashboard */
.stats-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(480px, .9fr);
  gap: 28px;
  align-items: center;
}

.stats-metric-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.stats-metric {
  min-height: 108px;
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(5px);
}

.stats-metric > span,
.stats-metric small {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 750;
}

.stats-metric strong {
  display: block;
  margin: 5px 0 4px;
  color: #fff;
  font-size: 25px;
  line-height: 1.15;
}

.stats-metric--up strong { color: #8ff0ca; }
.stats-metric--down strong { color: #ffb4ba; }

html[data-page="apart_today_week_summary"] #box-center > h1 {
  margin-top: 34px;
  padding: 0;
  border: 0;
  font-size: 24px;
}

html[data-page="apart_today_week_summary"] .thp-chart-loading,
html[data-page="apart_trend"] #lineChart_div2,
html[data-page="apart_trend"] #memeChart_div,
html[data-page="apart_trend"] #lineChart_div3,
html[data-page="apart_trend"] #rentChart_div {
  float: none;
  margin: 12px 0 26px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23,48,72,.055);
  overflow: hidden;
}

html[data-page="apart_today_week_summary"] #lineChart_div_all { height: auto !important; min-height: 0 !important; }
html[data-page="apart_today_week_summary"] .thp-chart-loading[style*="width: 50%"] {
  width: calc(50% - 7px) !important;
  height: 215px !important;
  margin-right: 7px;
  margin-bottom: 14px;
}

/* News / media */
html[data-page="apart_news"] #box-center table img {
  max-width: 210px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

/* Footer */
body > center:last-of-type {
  max-width: var(--content-max);
  margin: 44px auto 0;
  padding: 24px 10px 0;
  border-top: 1px solid var(--line);
}
body > center:last-of-type span {
  color: #7a8798;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Prefer the content over empty side-ad gutters on normal desktop widths. */
@media (min-width: 768px) and (max-width: 1699px) {
  #container { display: block !important; }
  #box-left,
  #box-right { display: none !important; }
  #box-center { max-width: var(--content-max); }
}

@media (min-width: 1700px) {
  #container {
    display: grid !important;
    grid-template-columns: 170px minmax(0, var(--content-max)) 170px;
    justify-content: center;
    gap: 24px;
  }
  #box-left,
  #box-right { width: 170px; }
}

@media (max-width: 900px) {
  body { padding: 0 10px 40px; }
  .site-header-shell { margin-top: 10px; }
  .brand-header { padding: 3px 2px; }
  .brand-mark { width: 48px; height: 48px; border-radius: 14px; }
  .brand-header img { width: 38px; }
  .brand-title { font-size: 30px; }
  .brand-subtitle { font-size: 12px; }

  .market-indicators-wrapper {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .market-indicators__update { align-self: flex-end; }

  .primary-nav,
  .secondary-nav {
    display: block !important;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .primary-nav tbody,
  .primary-nav thead,
  .secondary-nav tbody,
  .secondary-nav thead { display: table; width: 100%; min-width: 650px; table-layout: fixed; }

  .page-hero,
  .stats-hero {
    margin-top: 14px;
    padding: 25px 20px;
    border-radius: 20px;
  }

  .page-hero h1,
  .stats-hero h1 { font-size: 27px; }
  .page-lead { font-size: 14px; }

  .stats-hero {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .stats-metric-grid { grid-template-columns: 1fr 1fr; }

  .detail-query { align-items: stretch; }
  .detail-query span[style*="font-size"] { width: 100%; margin: 7px 0 0; }
  .detail-query select,
  .trend-query select,
  .bunyang-query select { width: 100% !important; }

  #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) {
    display: block;
    overflow-x: auto;
    border-radius: 13px;
  }

  #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th,
  #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td {
    min-width: 110px;
    padding: 10px 9px !important;
    font-size: 12px !important;
  }

  #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th:first-child,
  #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td:first-child { min-width: 180px; }

  html[data-page="apart_today_week_summary"] .thp-chart-loading[style*="width: 50%"] {
    width: 100% !important;
    height: 260px !important;
    margin-right: 0;
  }
}

@media (max-width: 560px) {
  body { padding-left: 7px; padding-right: 7px; }

  .brand-title { font-size: 28px; }
  .market-indicators { font-size: 12px; gap: 5px 8px; }
  .utility-bar { gap: 5px; }
  .account-links,
  .utility-links { justify-content: flex-start; font-size: 12px; }

  .property-tabs a { font-size: 12px !important; }
  .primary-nav a,
  .secondary-nav a { font-size: 12px !important; }

  .page-hero,
  .stats-hero { padding: 22px 17px; }
  .page-hero h1,
  .stats-hero h1 { font-size: 24px; }
  .lookup-hero #search { height: 52px; font-size: 15px !important; }

  .filter-panel,
  .query-panel { padding: 16px 13px; border-radius: 15px; }
  .filter-panel__header { align-items: flex-start; flex-direction: column; }
  .filter-panel select,
  .query-panel select,
  #box-center select { width: 100% !important; margin-right: 0; }

  .stats-metric-grid { grid-template-columns: 1fr; }
  .stats-metric { min-height: 92px; }

  html[data-page="apart_today_week_summary"] .thp-chart-loading,
  html[data-page="apart_trend"] #lineChart_div2,
  html[data-page="apart_trend"] #memeChart_div,
  html[data-page="apart_trend"] #lineChart_div3,
  html[data-page="apart_trend"] #rentChart_div {
    padding: 5px;
    border-radius: 14px;
  }
}

/* 2026-09-26 visual QA refinements */
.site-header-shell .primary-nav th,
.site-header-shell .secondary-nav th {
  background: #f3f7fa !important;
  color: #34465a !important;
}
.site-header-shell .primary-nav th a,
.site-header-shell .secondary-nav th a {
  color: #34465a !important;
  opacity: 1 !important;
}
.site-header-shell .primary-nav th[style*="#73685d"],
.site-header-shell .secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] {
  background: var(--brand) !important;
  color: #fff !important;
}
.site-header-shell .primary-nav th[style*="#73685d"] a,
.site-header-shell .secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] a {
  color: #fff !important;
}

.stats-hero {
  grid-template-columns: minmax(0, 1.22fr) minmax(440px, .78fr);
}
.stats-hero h1 {
  max-width: 720px;
  font-size: clamp(28px, 2.8vw, 38px);
  word-break: keep-all;
  overflow-wrap: normal;
}

ins.adsbygoogle[data-ad-status="unfilled"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

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

/* Legacy indicator/ranking families: shared modern surface */
.legacy-auto-hero { margin-bottom: 22px; }

html[data-page^="apart_economy_"] #box-center > span[style*="font-size:20px"],
html[data-page^="apart_trend_"] #box-center > span[style*="font-size:20px"] {
  display: block;
  margin: 10px 0 18px;
  padding: 12px 14px;
  border: 1px solid #dbe8f2;
  border-radius: 12px;
  background: #f1f7fb;
  color: #53657a;
  font-size: 13px !important;
  line-height: 1.65;
}

html[data-page^="apart_economy_"] #box-center > span[style*="font-size:30px"],
html[data-page^="apart_trend_"] #box-center > span[style*="font-size:30px"] {
  display: block;
  margin: 28px 0 10px;
  color: #1b2c42;
  font-size: 24px !important;
  font-weight: 850;
  letter-spacing: -.025em;
}

html[data-page^="apart_economy_"] #box-center [id^="lineChart_div"],
html[data-page^="apart_economy_"] #box-center [id*="Chart_div"],
html[data-page^="apart_trend_"] #box-center [id^="lineChart_div"],
html[data-page^="apart_trend_"] #box-center [id*="Chart_div"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 26px !important;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23,48,72,.055);
  overflow: hidden;
}

#box-center details {
  margin: 18px 0 26px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23,48,72,.045);
  overflow: hidden;
}

#box-center details > summary {
  cursor: pointer;
  padding: 15px 18px;
  color: #253a50;
  font-weight: 850;
  background: #f8fafc;
  border-bottom: 1px solid transparent;
}

#box-center details[open] > summary { border-bottom-color: var(--line); }
#box-center details > summary span { font-size: 15px !important; }
#box-center details > table { margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

html[data-page^="apart_todayhouseprice_rank_"] #box-center > select,
html[data-page^="apart_todayhouseprice_rank_"] #box-center > span,
html[data-page^="apart_todayhouseprice_rank_"] #box-center > form {
  vertical-align: middle;
}

html[data-page^="apart_todayhouseprice_rank_"] #box-center > h1 {
  margin-top: 28px;
}

@media (max-width: 700px) {
  html[data-page^="apart_economy_"] #box-center [id^="lineChart_div"],
  html[data-page^="apart_economy_"] #box-center [id*="Chart_div"],
  html[data-page^="apart_trend_"] #box-center [id^="lineChart_div"],
  html[data-page^="apart_trend_"] #box-center [id*="Chart_div"] {
    min-width: 0 !important;
    height: 320px !important;
    padding: 4px;
    border-radius: 14px;
  }
}

/* =========================================================
   Smart Analytics suite 2026-09-26
   ========================================================= */
.utility-links .utility-smart{font-weight:900}.utility-links a.is-active{background:#e8f3f9;color:#125b82!important;border-radius:9px;font-weight:900}
.smart-hero{padding-bottom:30px}
.smart-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;position:relative;z-index:2}
.smart-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;border-radius:11px;text-decoration:none!important;font-size:14px;font-weight:850;cursor:pointer;transition:.16s ease}
.smart-btn--light{background:#fff;color:#144c6c!important;box-shadow:0 7px 18px rgba(0,0,0,.12)}
.smart-btn--ghost{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:#fff!important}
.smart-btn--primary{background:var(--brand);color:#fff!important}
.smart-btn:disabled{opacity:.45;cursor:not-allowed}
.smart-section,.smart-compare-box{margin:18px 0;padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 8px 25px rgba(25,54,80,.055)}
.smart-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}
.smart-section-head h2{margin:3px 0 0!important;font-size:22px!important;color:#1d2d42}
.smart-section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.smart-section-head>a{font-size:13px;font-weight:800;color:var(--brand);white-space:nowrap}
.smart-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.smart-kpi{padding:17px 16px;border:1px solid #e2e9f1;border-radius:15px;background:#f8fafc}
.smart-kpi span{display:block;color:#627287;font-size:12px;font-weight:750}
.smart-kpi strong{display:inline-block;margin-top:5px;color:#25364b;font-size:28px;line-height:1}
.smart-kpi small{margin-left:3px;color:#7d8998;font-size:12px}
.smart-kpi--up{background:#eff9f5}.smart-kpi--up strong{color:#0d7960}
.smart-kpi--down{background:#fff1f2}.smart-kpi--down strong{color:#bd4650}
.smart-search-wrap{position:relative;max-width:820px}
#smart-search{width:100%;height:52px;padding:0 17px;border:1px solid #cbd7e4;border-radius:13px;background:#fff;font-size:15px;font-weight:700;outline:0}
#smart-search:focus{border-color:#67a7ca;box-shadow:0 0 0 3px rgba(31,95,134,.1)}
.smart-search-results{position:absolute;z-index:30;left:0;right:0;top:58px;max-height:390px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 15px 35px rgba(21,45,68,.18)}
.smart-search-item{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;cursor:pointer}
.smart-search-item:hover{background:#f3f8fb}.smart-search-item:last-child{border-bottom:0}
.smart-search-item strong{color:#17364e;font-size:14px}.smart-search-item span{color:#718095;font-size:12px}
.smart-selected{display:flex;gap:8px;flex-wrap:wrap;min-height:48px;margin:13px 0}
.smart-selected-empty{align-self:center;color:#8a96a5;font-size:13px}
.smart-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #c9deeb;border-radius:11px;background:#eff7fb;cursor:pointer;text-align:left}
.smart-chip b{font-size:13px;color:#164f70}.smart-chip span{font-size:12px;color:#64778b}.smart-chip i{font-style:normal;font-size:17px;color:#8091a3}
.smart-region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.smart-region-card{padding:15px;border:1px solid #e1e8ef;border-radius:14px;background:#fafbfd}
.smart-region-name{font-size:13px;font-weight:850;color:#46566b}
.smart-region-score{margin:4px 0 8px;font-size:24px;font-weight:900;color:#197a63}.smart-region-score small{font-size:12px;margin-left:2px}
.smart-region-card.is-cold .smart-region-score{color:#be4750}
.smart-region-meta{display:flex;gap:8px;flex-wrap:wrap;color:#7a8797;font-size:12px}
.smart-meter{height:4px;margin-top:10px;border-radius:6px;background:#e9edf2;overflow:hidden}.smart-meter i{display:block;height:100%;border-radius:6px;background:#1a8b6d}.is-cold .smart-meter i{background:#d05a63}
.smart-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.smart-list-section{margin:0}.smart-deal-list{display:flex;flex-direction:column}
.smart-deal{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #e8edf3;text-decoration:none!important;background:transparent!important}
.smart-deal:last-child{border-bottom:0}.smart-deal>div:first-child{min-width:0}.smart-deal strong{display:block;color:#1b3148;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-deal span{display:block;margin-top:3px;color:#728196;font-size:12px}
.smart-deal-price{text-align:right;white-space:nowrap}.smart-deal-price b{display:block;color:#13765f;font-size:15px}.smart-deal-price em{display:block;color:#17866b;font-size:12px;font-style:normal;font-weight:800}.smart-deal-price.is-down b,.smart-deal-price.is-down em{color:#c04852}
.smart-empty{padding:24px;text-align:center;color:#788697;font-size:13px}
.compare-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.compare-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(25,50,74,.05)}
.compare-card-head{display:flex;justify-content:space-between;gap:10px}.compare-card-head span{font-size:12px;color:#718196}.compare-card-head h2{margin:2px 0 4px!important;font-size:20px!important;color:#192f45}.compare-card-head b{font-size:12px;color:#276c91}.compare-card-head>a{font-size:12px;font-weight:800;color:var(--brand);white-space:nowrap}
.compare-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.compare-metrics>div{padding:11px;border-radius:12px;background:#f7f9fb}.compare-metrics span,.compare-metrics small{display:block;color:#718095;font-size:12px}.compare-metrics strong{display:block;margin:3px 0;color:#243a50;font-size:18px}
.compare-chart{height:420px;width:100%}.compare-recent-cols{grid-template-columns:repeat(3,1fr)}
.map-page-hero{margin-bottom:12px}.map-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.map-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:850;color:#526377}.map-toolbar select{min-height:36px!important;margin:0!important;padding:0 30px 0 9px!important;font-size:12px!important}.map-status-filter{display:flex;gap:5px;flex-wrap:wrap}.map-status-filter button{height:34px;padding:0 11px;border:1px solid #d7e0e9;border-radius:9px;background:#f8fafc;color:#53657a;font-size:12px;font-weight:800;cursor:pointer}.map-status-filter button.is-active{background:#255f83;color:#fff;border-color:#255f83}.map-toolbar>span{margin-left:auto;color:#6e7d90;font-size:12px;font-weight:800}.smart-map{width:100%;height:70vh;min-height:560px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card)}
.smart-map-marker{width:86px;padding:5px 6px;border:2px solid #76869a;border-radius:10px;background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(19,42,63,.18);text-align:center;transform:translate(-50%,-50%)}.smart-map-marker b{display:block;font-size:12px;color:#26394d}.smart-map-marker span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#65758a;font-size:12px}.smart-map-marker.upup{border-color:#0c9870;background:#ebfaf4}.smart-map-marker.up{border-color:#49a58a}.smart-map-marker.down{border-color:#db6a72;background:#fff4f4}.smart-map-marker.downdown{border-color:#bd2e3a;background:#ffecee}
.smart-map-info{width:245px;padding:14px;border:1px solid #dce4ec;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,41,61,.2)}.smart-map-info strong,.smart-map-info span{display:block}.smart-map-info strong{font-size:15px;color:#18364d}.smart-map-info span{margin:3px 0 9px;color:#758397;font-size:12px}.smart-map-info div{display:flex;justify-content:space-between;align-items:center}.smart-map-info b{font-size:18px;color:#193f5a}.smart-map-info em{font-size:12px;font-style:normal;font-weight:850}.smart-map-info em.up,.smart-map-info em.upup{color:#07805f}.smart-map-info em.down,.smart-map-info em.downdown{color:#c3404b}.smart-map-info a{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #e8edf2;color:#1b678f;font-size:12px;font-weight:850}.map-legend{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:9px 0 20px}.map-legend span{padding:4px 8px;border-radius:8px;background:#fff;border:1px solid #dde5ed;color:#66778a;font-size:12px}.map-legend .upup{border-color:#0c9870}.map-legend .up{border-color:#49a58a}.map-legend .down{border-color:#db6a72}.map-legend .downdown{border-color:#bd2e3a}
@media(max-width:900px){.smart-kpi-grid{grid-template-columns:repeat(2,1fr)}.smart-region-grid{grid-template-columns:repeat(2,1fr)}.smart-two-col,.compare-summary-grid,.compare-recent-cols{grid-template-columns:1fr}.smart-section,.smart-compare-box{padding:16px;border-radius:16px}.smart-search-item{align-items:flex-start;flex-direction:column}.compare-chart{height:330px}.smart-map{height:65vh;min-height:500px}.map-toolbar>span{margin-left:0}}
@media(max-width:520px){.smart-kpi-grid{grid-template-columns:1fr 1fr}.smart-kpi{padding:14px 12px}.smart-kpi strong{font-size:24px}.smart-region-grid{grid-template-columns:1fr 1fr}.smart-section-head{align-items:flex-start;flex-direction:column;gap:5px}.smart-deal strong{max-width:210px}.compare-metrics{grid-template-columns:1fr 1fr}.smart-map{height:62vh;min-height:470px;border-radius:14px}.map-status-filter{width:100%;overflow-x:auto;flex-wrap:nowrap}.map-status-filter button{flex:0 0 auto}}
.smart-map-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;text-align:center;background:#f8fafc;color:#405469}.smart-map-error strong{font-size:18px}.smart-map-error span{max-width:520px;color:#748397;font-size:12px;line-height:1.6}
.smart-leaflet-icon{background:transparent!important;border:0!important}.smart-map .leaflet-div-icon{background:transparent;border:0}.smart-map .leaflet-popup-content-wrapper{padding:0;border-radius:14px;background:transparent;box-shadow:none}.smart-map .leaflet-popup-content{margin:0;width:auto!important}.smart-map .leaflet-popup-tip{background:#fff}.smart-map .leaflet-control-attribution{font-size:12px}.smart-map .marker-cluster-small,.smart-map .marker-cluster-medium,.smart-map .marker-cluster-large{background:rgba(31,95,134,.18)}.smart-map .marker-cluster-small div,.smart-map .marker-cluster-medium div,.smart-map .marker-cluster-large div{background:#225f84;color:#fff;font-weight:850}

/* Phase 2 smart analytics */
.smart-search-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.smart-search-row>div:first-child{min-width:0}.smart-search-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.smart-search-actions a,.smart-search-actions button{padding:7px 9px;border:1px solid #cbdbe7;border-radius:8px;background:#fff;color:#1d6289;font-size:12px;font-weight:850;text-decoration:none!important;white-space:nowrap}.smart-search-actions button{cursor:pointer;background:#edf6fb}
.compare-card-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.compare-card-links a{font-size:12px;font-weight:850;color:#17658e!important}
.dashboard-hero h1 small{font-size:12px;opacity:.75}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.dashboard-kpis>div{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.dashboard-kpis span,.dashboard-kpis small{display:block;color:#738296;font-size:12px}.dashboard-kpis strong{display:block;margin:4px 0;color:#20384f;font-size:24px}.mini-stat{font-size:12px;color:#6d7d90}.supply-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.supply-card{padding:14px;border:1px solid #e0e7ee;border-radius:13px;background:#f9fbfc}.supply-card span,.supply-card small{display:block;color:#778699;font-size:12px}.supply-card strong{display:block;margin:4px 0;color:#1d354c;font-size:14px}.supply-card b{display:block;margin-top:7px;color:#1a6e92;font-size:13px}
.rank-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.rank-tabs{display:flex;gap:6px;flex-wrap:wrap}.rank-tabs a{padding:8px 10px;border-radius:9px;color:#506478;text-decoration:none!important;font-size:12px;font-weight:850}.rank-tabs a.is-active{background:#245f83;color:#fff}.rank-toolbar select{min-height:36px!important;margin:0!important;font-size:12px!important}.rank-table-wrap{overflow:auto}.smart-rank-table{min-width:760px}.smart-rank-table td,.smart-rank-table th{font-size:12px!important}.smart-rank-table td:nth-child(n+3){text-align:right}.smart-rank-table td a strong,.smart-rank-table td a span{display:block}.smart-rank-table td a span{margin-top:3px;color:#7b8796;font-size:12px}.rank-no{font-weight:900;color:#8190a1}.rank-positive{color:#0b8061;font-weight:900}.heat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.heat-cell{padding:15px;border-radius:14px;border:1px solid #dfe7ee}.heat-cell.is-hot{background:#edf9f5}.heat-cell.is-cold{background:#fff0f1}.heat-cell span,.heat-cell small{display:block;color:#748497;font-size:12px}.heat-cell strong{display:block;margin:3px 0;color:#273b51}.heat-cell b{display:block;font-size:20px;color:#138165}.heat-cell.is-cold b{color:#c34c57}
.alert-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.alert-summary>div{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.alert-summary span,.alert-summary small{display:block;color:#768699;font-size:12px}.alert-summary strong{display:inline-block;margin:5px 4px 0 0;font-size:25px;color:#253c53}.alert-summary .is-on strong{color:#0b8061}.alert-summary .is-off strong{color:#9a6870}.alert-list{display:flex;flex-direction:column}.alert-row{display:grid;grid-template-columns:120px 1fr 110px;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid #e8edf2;text-decoration:none!important}.alert-row:last-child{border-bottom:0}.alert-date strong,.alert-date span,.alert-main strong,.alert-main span,.alert-price strong,.alert-price span{display:block}.alert-date strong,.alert-main strong,.alert-price strong{color:#20364c}.alert-date span,.alert-main span,.alert-price span{margin-top:3px;color:#7b8998;font-size:12px}.alert-price{text-align:right}.alert-price .up{color:#087d5e}.alert-price .down{color:#c44853}
@media(max-width:900px){.dashboard-kpis,.supply-grid,.heat-grid,.alert-summary{grid-template-columns:1fr 1fr}.alert-row{grid-template-columns:90px 1fr 90px}.smart-search-row{align-items:flex-start!important}.smart-search-actions{margin-left:0}}
@media(max-width:520px){.dashboard-kpis,.supply-grid,.alert-summary{grid-template-columns:1fr}.heat-grid{grid-template-columns:1fr 1fr}.smart-search-row{flex-direction:column!important}.smart-search-actions{width:100%}.alert-row{grid-template-columns:1fr 80px}.alert-date{grid-column:1/-1;display:flex;gap:8px}.rank-toolbar{align-items:flex-start;flex-direction:column}.rank-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.rank-tabs a{flex:0 0 auto}}

/* Smart suite wide-layout fix */
#container.smart-page-container{
  display:block!important;
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
}
#container.smart-page-container>#box-center{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
  grid-column:auto!important;
}
@media (min-width:1700px){
  #container.smart-page-container{
    display:block!important;
    grid-template-columns:none!important;
  }
}

/* Real Deal Radar */
.radar-hero{background:linear-gradient(125deg,#103e5c,#1e7691)}
.radar-saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.radar-saved-card{position:relative;border:1px solid #dce6ee;border-radius:15px;background:#f9fbfd;overflow:hidden}
.radar-saved-card>a{display:block;padding:15px 15px 13px;text-decoration:none!important}
.radar-saved-card>a>span,.radar-saved-card>a>em{display:block;color:#758698;font-size:12px;font-style:normal}
.radar-saved-card>a>strong{display:block;margin:5px 0 8px;color:#20384e;font-size:15px}
.radar-saved-card>a>b{display:block;color:#17698c;font-size:25px}.radar-saved-card>a>b small{font-size:12px;margin-left:2px}
.radar-saved-card form{position:absolute;right:9px;top:8px}.radar-saved-card form button{border:0;background:transparent;color:#97a2ae;font-size:12px;cursor:pointer}
.radar-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.radar-filter-grid label>span{display:block;margin-bottom:5px;color:#64778b;font-size:12px;font-weight:800}
.radar-filter-grid input,.radar-filter-grid select{width:100%!important;min-height:42px;margin:0!important;padding:0 11px;border:1px solid #cbd8e3;border-radius:10px;background:#fff;color:#1f3449;font-size:12px!important;box-sizing:border-box}
.radar-filter-actions{display:flex;align-items:end;gap:7px}.radar-reset{border:1px solid #d6e0e8;background:#fff;color:#536a7d!important}
.radar-save-form{display:flex;gap:8px;max-width:650px;margin-top:14px;padding-top:14px;border-top:1px dashed #dce4eb}
.radar-save-form input[type=text]{flex:1;min-height:42px;padding:0 12px;border:1px solid #cbd8e3;border-radius:10px}
.radar-save-form button{padding:0 16px;border:0;border-radius:10px;background:#163f5a;color:#fff;font-weight:850;cursor:pointer}
.radar-login-note{margin-top:14px;padding-top:12px;border-top:1px dashed #dce4eb;color:#718194;font-size:12px}
.radar-result-list{display:flex;flex-direction:column}.radar-result{display:grid;grid-template-columns:72px 1fr 120px;gap:14px;align-items:center;padding:13px 5px;border-bottom:1px solid #e7edf2;text-decoration:none!important}
.radar-result:last-child{border-bottom:0}.radar-status{display:inline-flex;justify-content:center;padding:6px 5px;border-radius:8px;background:#f0f3f6;color:#67788b;font-size:12px;font-weight:900}
.radar-status.is-up{background:#eaf8f3;color:#0b7c5e}.radar-status.is-down{background:#fff0f1;color:#bf4550}
.radar-main{min-width:0}.radar-main strong,.radar-main span,.radar-price strong,.radar-price span{display:block}.radar-main strong{color:#1e354b;font-size:14px}.radar-main strong small{font-size:12px;color:#6d8093}.radar-main span{margin-top:3px;color:#7b8999;font-size:12px}
.radar-price{text-align:right}.radar-price strong{color:#1e3c53;font-size:15px}.radar-price span{margin-top:3px;font-size:12px;font-weight:850}.radar-price .up{color:#087d5e}.radar-price .down{color:#c44853}
@media(max-width:900px){.radar-saved-grid{grid-template-columns:1fr 1fr}.radar-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.radar-saved-grid,.radar-filter-grid{grid-template-columns:1fr}.radar-save-form{flex-direction:column}.radar-save-form button{min-height:42px}.radar-result{grid-template-columns:64px 1fr 76px;gap:8px}.radar-main strong{font-size:12px}.radar-price strong{font-size:13px}}

/* Opportunity finder */
.opportunity-hero{background:linear-gradient(125deg,#123f5a,#2b7281)}
.opportunity-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.opportunity-presets a{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none!important;box-shadow:0 6px 18px rgba(25,50,74,.04)}
.opportunity-presets a.is-active{border-color:#2c7594;background:#eef7fb;box-shadow:0 0 0 2px rgba(36,95,131,.08)}
.opportunity-presets strong,.opportunity-presets span{display:block}.opportunity-presets strong{color:#20394f;font-size:14px}.opportunity-presets span{margin-top:4px;color:#748497;font-size:12px;line-height:1.45}
.opportunity-updated{color:#8492a1;font-size:12px}
.opportunity-filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.opportunity-filter-grid label>span{display:block;margin-bottom:5px;color:#617488;font-size:12px;font-weight:800}
.opportunity-filter-grid input,.opportunity-filter-grid select{width:100%!important;min-height:42px;margin:0!important;padding:0 10px;border:1px solid #cad7e2;border-radius:10px;background:#fff;font-size:12px!important;box-sizing:border-box}
.opp-actions{display:flex;align-items:end;gap:7px}
.opportunity-list{display:flex;flex-direction:column;gap:9px}
.opportunity-card{position:relative;padding:15px 15px 13px;border:1px solid #dfe7ee;border-radius:15px;background:#fff;transition:.15s ease}
.opportunity-card.is-selected{border-color:#2a7598;box-shadow:0 0 0 2px rgba(36,95,131,.08);background:#f7fbfd}
.opp-select{position:absolute;right:10px;top:10px;width:30px;height:30px;border:1px solid #cbd9e4;border-radius:9px;background:#f4f9fc;color:#1e658b;font-size:18px;font-weight:900;cursor:pointer}
.opportunity-card.is-selected .opp-select{background:#235f83;color:#fff;border-color:#235f83}
.opp-main{display:flex;justify-content:space-between;gap:18px;padding-right:42px;text-decoration:none!important}
.opp-title span,.opp-title strong{display:block}.opp-title span{color:#778699;font-size:12px}.opp-title strong{margin-top:3px;color:#1e354b;font-size:16px}.opp-title small{color:#6c8092;font-size:12px}
.opp-score{text-align:right}.opp-score span{display:block;color:#7c8997;font-size:12px}.opp-score b{display:block;margin-top:2px;color:#176b8f;font-size:24px}
.opp-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}
.opp-metrics>div{padding:9px 10px;border-radius:10px;background:#f7f9fb}.opp-metrics span,.opp-metrics small,.opp-metrics strong{display:block}.opp-metrics span{color:#7a8999;font-size:12px}.opp-metrics strong{margin:3px 0;color:#263d52;font-size:14px}.opp-metrics small{color:#85919e;font-size:12px}.opp-metrics strong.is-up{color:#087d5e}.opp-metrics strong.is-down{color:#c44853}

/* map viewport compare */
.map-viewport-panel{margin:12px 0 4px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(25,50,74,.045)}
.map-viewport-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.map-viewport-item{display:grid;grid-template-columns:62px 1fr 90px 110px;gap:9px;align-items:center;padding:10px;border:1px solid #e1e8ef;border-radius:12px;background:#fafbfd}
.map-viewport-item.is-selected{border-color:#2b7598;background:#f1f8fc}
.map-viewport-status{padding:5px;border-radius:8px;text-align:center;background:#edf1f4;color:#63758a;font-size:12px;font-weight:900}.map-viewport-status.upup,.map-viewport-status.up{background:#e9f8f2;color:#087d5e}.map-viewport-status.down,.map-viewport-status.downdown{background:#fff0f1;color:#c24650}
.map-viewport-main{min-width:0}.map-viewport-main strong,.map-viewport-main span,.map-viewport-price strong,.map-viewport-price span{display:block}.map-viewport-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#20364c;font-size:12px}.map-viewport-main small{font-size:12px;color:#718496}.map-viewport-main span{margin-top:3px;color:#7c8998;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-viewport-price{text-align:right}.map-viewport-price strong{color:#233d53;font-size:12px}.map-viewport-price span{font-size:12px}.map-viewport-price .up{color:#087d5e}.map-viewport-price .down{color:#c44853}
.map-viewport-actions{display:flex;gap:5px;justify-content:flex-end}.map-viewport-actions a,.map-viewport-actions button{padding:6px 7px;border:1px solid #cbdbe6;border-radius:7px;background:#fff;color:#1a638a!important;text-decoration:none!important;font-size:12px;font-weight:850;white-space:nowrap;cursor:pointer}.map-viewport-actions button{background:#eef7fb}

.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:3px;padding:0 5px;border-radius:9px;background:#d94d58;color:#fff;font-size:12px;font-weight:900;vertical-align:middle}

@media(max-width:1000px){
 .opportunity-filter-grid{grid-template-columns:repeat(3,1fr)}
 .opportunity-presets{grid-template-columns:repeat(2,1fr)}
 .opp-metrics{grid-template-columns:repeat(3,1fr)}
 .map-viewport-list{grid-template-columns:1fr}
}
@media(max-width:600px){
 .opportunity-filter-grid{grid-template-columns:1fr 1fr}
 .opportunity-presets{grid-template-columns:1fr 1fr}
 .opp-metrics{grid-template-columns:1fr 1fr}
 .opportunity-card{padding:13px 10px}.opp-main{padding-right:36px}
 .map-viewport-item{grid-template-columns:54px 1fr 72px}.map-viewport-actions{grid-column:2/-1;justify-content:flex-start}
}

/* Smart feature launch cards */
.phase2-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.phase2-links a{display:block;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;text-decoration:none!important;box-shadow:0 6px 18px rgba(25,50,74,.04);transition:.15s ease}
.phase2-links a:hover{transform:translateY(-1px);border-color:#b9d2e1;box-shadow:0 9px 22px rgba(25,50,74,.08)}
.phase2-links span,.phase2-links strong,.phase2-links small{display:block}.phase2-links span{color:#2a7498;font-size:12px;font-weight:900;letter-spacing:.08em}.phase2-links strong{margin:5px 0;color:#20384e;font-size:14px}.phase2-links small{color:#768596;font-size:12px;line-height:1.45}
.radar-new{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;border-radius:8px;background:#d94d58;color:#fff;font-size:12px;font-style:normal;vertical-align:middle}
@media(max-width:900px){.phase2-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.phase2-links{grid-template-columns:1fr}}

.data-status-warning{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:12px 14px;border:1px solid #f0c9a7;border-radius:12px;background:#fff7ef;color:#714724}.data-status-warning strong{font-size:12px}.data-status-warning span{font-size:12px;line-height:1.5;color:#805c3b}.empty-data-cell{padding:28px!important;text-align:center;color:#7c8997!important;background:#fafbfd!important}.auction-hero{margin-bottom:12px}

/* Detailed sale/rent page compact layout */
.detail-home-hero{margin-top:10px!important;padding:16px 22px!important;min-height:0!important}
.detail-home-hero h1{font-size:24px!important;margin:3px 0 4px!important}
.detail-home-hero .page-lead{font-size:12px!important;margin:0!important}
.query-panel.detail-query{display:flex!important;align-items:end!important;gap:8px!important;flex-wrap:wrap!important;margin:10px 0 12px!important;padding:12px 14px!important}
.query-panel.detail-query>.panel-eyebrow{width:100%;margin:0 0 2px!important}
.query-panel.detail-query span{font-size:12px!important;white-space:nowrap}
.query-panel.detail-query select{width:auto!important;min-width:110px!important;height:38px!important;margin:0!important;padding:0 28px 0 9px!important;font-size:12px!important}
.detail-query+script+br{display:none}
#deal-results{scroll-margin-top:20px}
@media(max-width:700px){
 .query-panel.detail-query{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:end!important}
 .query-panel.detail-query>.panel-eyebrow{grid-column:1/-1}
 .query-panel.detail-query span{display:block!important}
 .query-panel.detail-query select{width:100%!important;min-width:0!important}
}

/* Opportunity finder compact + household filters */
.opportunity-hero{margin-top:10px!important;padding:16px 22px!important;min-height:0!important}
.opportunity-hero h1{font-size:25px!important;margin:4px 0!important}
.opportunity-hero .page-lead{font-size:12px!important;margin:0!important}
.opportunity-presets{margin:10px 0!important;gap:8px!important}
.opportunity-presets a{padding:10px 12px!important}
.opportunity-filter{padding:14px!important;margin-bottom:10px!important}
.opportunity-filter .smart-section-head{margin-bottom:8px!important}
.opportunity-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}
.opportunity-filter-grid input,.opportunity-filter-grid select{min-height:36px!important;height:36px!important}
.opportunity-results{scroll-margin-top:16px}
.opp-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media(max-width:1100px){.opportunity-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.opp-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){.opportunity-filter-grid{grid-template-columns:1fr 1fr!important}.opp-metrics{grid-template-columns:1fr 1fr!important}}

/* Region share */
.share-hero{background:linear-gradient(125deg,#174b67,#287b88)}
.share-filter-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1.2fr auto;gap:10px;align-items:end}
.share-filter-grid label>span{display:block;margin-bottom:5px;color:#60758a;font-size:12px;font-weight:800}
.share-filter-grid select{width:100%;min-height:42px;padding:0 10px;border:1px solid #cbd8e3;border-radius:10px;background:#fff}
.share-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.share-summary-grid>div{padding:14px;border:1px solid #dfe7ee;border-radius:14px;background:#fff}
.share-summary-grid span,.share-summary-grid strong,.share-summary-grid small{display:block}
.share-summary-grid span{font-size:12px;color:#748597;font-weight:800}.share-summary-grid strong{margin:4px 0;color:#20394f;font-size:20px}.share-summary-grid small{font-size:12px;color:#8794a1}
.share-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.share-format-tabs{display:flex;gap:6px;flex-wrap:wrap}.share-format-tabs button{padding:8px 12px;border:1px solid #ced9e2;border-radius:9px;background:#fff;color:#51697d;font-size:12px;font-weight:850;cursor:pointer}.share-format-tabs button.is-active{background:#245f83;color:#fff;border-color:#245f83}
.share-link-toggle{display:flex;gap:6px;align-items:center;color:#617588;font-size:12px;font-weight:800}
.share-textarea{width:100%;height:480px;box-sizing:border-box;padding:16px;border:1px solid #cbd8e3;border-radius:12px;background:#f9fbfc;color:#263c50;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}
.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.share-actions .smart-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}
.share-copy-status{height:20px;padding-top:5px;color:#087d5e;font-size:12px;font-weight:800}
.share-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.share-detail-card{padding:14px;border:1px solid #e0e7ed;border-radius:13px;background:#fafbfd}.share-detail-card h3{margin:0 0 10px;color:#243d52;font-size:13px}.share-detail-card p{display:flex;justify-content:space-between;gap:10px;margin:7px 0;color:#536a7d;font-size:12px}.share-detail-card p span{font-weight:900;color:#1e607f}.share-detail-card .share-empty{display:block;color:#8795a3}
.opportunity-results{scroll-margin-top:12px}
@media(max-width:900px){.share-filter-grid{grid-template-columns:1fr 1fr}.share-summary-grid{grid-template-columns:1fr 1fr}.share-detail-grid{grid-template-columns:1fr}.share-textarea{height:420px}}
@media(max-width:520px){.share-filter-grid,.share-summary-grid{grid-template-columns:1fr}.share-toolbar{align-items:flex-start;flex-direction:column}.share-actions .smart-btn{flex:1;min-width:46%}.share-textarea{height:390px}}

/* Region share */
.region-share-hero{background:linear-gradient(125deg,#164762,#2d7890);margin-top:10px!important;padding:18px 22px!important;min-height:0!important}
.region-share-hero h1{font-size:25px!important;margin:4px 0!important}.region-share-hero .page-lead{font-size:12px!important;margin:0!important}
.region-share-filter{padding:14px!important;margin:10px 0!important}.region-share-filter-grid{display:grid;grid-template-columns:1.3fr 1.3fr 1fr auto;gap:8px;align-items:end}
.region-share-filter-grid label span{display:block;margin-bottom:5px;color:#66798d;font-size:12px;font-weight:850}.region-share-filter-grid select,.region-share-filter-grid input{width:100%;height:38px;margin:0!important;padding:0 9px;border:1px solid #cbd8e3;border-radius:9px;background:#fff;font-size:12px!important;box-sizing:border-box}
.region-share-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.region-share-kpis>div{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.region-share-kpis span,.region-share-kpis small{display:block;color:#788797;font-size:12px}.region-share-kpis strong{display:block;margin:3px 0;color:#213b52;font-size:21px}
.share-preview-section{position:relative}.share-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.share-buttons button{padding:8px 11px;border:1px solid #c8d7e2;border-radius:8px;background:#f6fafc;color:#1d6389;font-size:12px;font-weight:850;cursor:pointer}.share-buttons button:first-child{background:#205f82;color:#fff;border-color:#205f82}
#share-text{display:block;width:100%;min-height:520px;padding:16px;border:1px solid #d5e0e8;border-radius:12px;background:#fbfcfd;color:#21384e;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-sizing:border-box;resize:vertical}
.share-toast{position:absolute;right:20px;top:62px;padding:8px 12px;border-radius:9px;background:#173f59;color:#fff;font-size:12px}
.share-deal-list{display:flex;flex-direction:column}.share-deal-list>div{display:grid;grid-template-columns:1fr 1fr 100px;gap:10px;padding:10px 4px;border-bottom:1px solid #e8edf2}.share-deal-list strong,.share-deal-list span,.share-deal-list b{font-size:12px}.share-deal-list b{text-align:right;color:#1d6389}
.share-permit-list{display:flex;flex-direction:column}.share-permit-list>div{display:grid;grid-template-columns:62px 1fr 1.6fr;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #e8edf2}.share-permit-list span{padding:5px;border-radius:7px;text-align:center;font-size:12px;font-weight:900}.share-permit-list .is-allow{background:#eaf8f3;color:#087d5e}.share-permit-list .is-deny{background:#fff0f1;color:#c44853}.share-permit-list strong{font-size:12px;color:#20384e}.share-permit-list small{font-size:12px;color:#778797}
@media(max-width:800px){.region-share-filter-grid{grid-template-columns:1fr 1fr}.region-share-kpis{grid-template-columns:repeat(2,1fr)}.share-deal-list>div{grid-template-columns:1fr 80px}.share-deal-list span{grid-column:1/-1}.share-permit-list>div{grid-template-columns:55px 1fr}.share-permit-list small{grid-column:1/-1}}
@media(max-width:480px){.region-share-filter-grid{grid-template-columns:1fr}.region-share-kpis{grid-template-columns:1fr 1fr}#share-text{min-height:440px}}
@media(min-width:1200px){.phase2-links{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Opportunity above-the-fold compact pass */
.opportunity-hero{margin:8px 0!important;padding:12px 18px!important}
.opportunity-hero h1{font-size:21px!important;margin:2px 0 4px!important}
.opportunity-hero .page-lead{font-size:12px!important;margin:0!important}
.opportunity-presets{margin:7px 0!important;gap:6px!important}
.opportunity-presets a{padding:8px 10px!important}
.opportunity-presets strong{font-size:12px!important}
.opportunity-presets span{font-size:12px!important;margin-top:2px!important}
.opportunity-filter{padding:10px 12px!important;margin:7px 0!important}
.opportunity-filter .smart-section-head{margin-bottom:7px!important}
.opportunity-filter .smart-section-head h2{font-size:16px!important;margin:1px 0!important}
.opportunity-filter .smart-section-head p{font-size:12px!important;margin:0!important}
.opportunity-filter-grid{gap:6px!important}
.opportunity-filter-grid input,.opportunity-filter-grid select{min-height:34px!important}
.opportunity-filter-grid label>span{margin-bottom:2px!important;font-size:12px!important}
.opportunity-results{margin-top:7px!important}

/* Land permit page */
.land-permit-hero{background:linear-gradient(125deg,#173f5b,#2b6f7f)}
.land-permit-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}
.land-permit-kpis>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.land-permit-kpis span,.land-permit-kpis small{display:block;color:#758596;font-size:12px}
.land-permit-kpis strong{display:block;margin:4px 0;color:#20394f;font-size:24px}
.land-permit-kpis .is-approved strong{color:#0b7d5d}.land-permit-kpis .is-rejected strong{color:#c34852}.land-permit-kpis .is-linked strong{color:#17698e}
.land-permit-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.land-permit-filter-grid label>span{display:block;margin-bottom:4px;color:#64778a;font-size:12px;font-weight:800}
.land-permit-filter-grid input,.land-permit-filter-grid select{width:100%!important;min-height:40px;margin:0!important;padding:0 10px;border:1px solid #cbd8e3;border-radius:10px;background:#fff;font-size:12px!important;box-sizing:border-box}
.land-permit-search{grid-column:span 2}.land-permit-actions{display:flex;align-items:end;gap:7px}
.land-permit-page{color:#7c8a99;font-size:12px}
.land-permit-list{display:flex;flex-direction:column;gap:8px}
.land-permit-row{display:grid;grid-template-columns:100px 70px minmax(230px,.9fr) minmax(360px,1.4fr);gap:12px;align-items:start;padding:13px 14px;border:1px solid #dfe7ee;border-radius:14px;background:#fff}
.land-permit-date strong,.land-permit-date span,.land-permit-address strong,.land-permit-address span{display:block}
.land-permit-date strong{color:#263c51;font-size:12px}.land-permit-date span,.land-permit-address span{margin-top:3px;color:#7b8998;font-size:12px}
.land-permit-state{display:inline-flex;justify-content:center;padding:6px 7px;border-radius:8px;background:#eef2f5;color:#607286;font-size:12px;font-weight:900}
.land-permit-state.is-approved{background:#eaf8f2;color:#087c5c}.land-permit-state.is-rejected{background:#fff0f1;color:#c24751}.land-permit-state.is-withdrawn{background:#f3f1fa;color:#6c58a8}
.land-permit-address strong{color:#1e364c;font-size:13px}
.land-permit-apart{display:flex;flex-direction:column;gap:7px}
.land-permit-apart-card{padding:10px 11px;border:1px solid #d9e4ec;border-radius:11px;background:#f8fbfd}
.land-permit-apart-card>div:first-child{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.land-permit-apart-card strong{color:#1b3c55;font-size:13px}.land-permit-apart-card .kapt-name{color:#7a8999;font-size:12px}
.land-permit-apart-card>small{display:block;margin-top:3px;color:#7b8999;font-size:12px}
.land-permit-apart-meta{display:flex;align-items:center;gap:7px;margin-top:7px;flex-wrap:wrap}.land-permit-apart-meta span{padding:3px 6px;border-radius:7px;background:#edf3f7;color:#536b7d;font-size:12px}.land-permit-apart-meta a{margin-left:auto;color:#17688e!important;font-size:12px;font-weight:850;text-decoration:none!important}
.land-permit-unmatched{padding:9px 10px;border:1px dashed #d6dfe7;border-radius:10px;background:#fafbfc}.land-permit-unmatched strong,.land-permit-unmatched span{display:block}.land-permit-unmatched strong{color:#788796;font-size:12px}.land-permit-unmatched span{margin-top:3px;color:#98a2ac;font-size:12px}
.land-permit-pagination{display:flex;justify-content:center;gap:6px;margin-top:15px}.land-permit-pagination a{min-width:34px;padding:7px 9px;border:1px solid #d6e0e8;border-radius:8px;background:#fff;color:#546b7e;text-align:center;text-decoration:none!important;font-size:12px}.land-permit-pagination a.is-active{background:#245f83;border-color:#245f83;color:#fff}
@media(max-width:1000px){.land-permit-kpis{grid-template-columns:repeat(3,1fr)}.land-permit-filter-grid{grid-template-columns:repeat(3,1fr)}.land-permit-row{grid-template-columns:90px 70px 1fr}.land-permit-apart{grid-column:1/-1}.land-permit-search{grid-column:span 2}}
@media(max-width:600px){.land-permit-kpis{grid-template-columns:1fr 1fr}.land-permit-filter-grid{grid-template-columns:1fr 1fr}.land-permit-search{grid-column:1/-1}.land-permit-row{grid-template-columns:78px 60px 1fr;padding:10px}.land-permit-address{grid-column:3}.land-permit-apart{grid-column:1/-1}.land-permit-kpis strong{font-size:19px}}

/* Apartment alias / permit search / share card / open map */
.apart-former-name{display:inline-block;margin-left:8px;color:#8997a5;font-size:12px;font-weight:600}
.apart-search-results{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px;background:#fff;border:1px solid #dbe5ec;border-radius:12px;overflow:hidden}
.apart-search-results th{padding:10px 8px;background:#eef5f8;color:#28475e;font-size:12px!important}
.apart-search-results td{padding:11px 8px;border-top:1px solid #edf1f4;font-size:12px!important;vertical-align:middle}
.apart-search-results td:first-child strong{display:block;color:#145f86;font-size:14px}.apart-alias-old{display:block;margin-top:2px;color:#94a0ab;font-size:12px}
.search-permit{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;padding:5px 7px;border-radius:8px;text-decoration:none!important;font-size:12px}
.search-permit b{font-size:12px}.search-permit span,.search-permit small{color:inherit}.search-permit.permit-ok{background:#eaf8f2;color:#087a5c}.search-permit.permit-no{background:#fff0f1;color:#c24751}.search-permit.permit-etc{background:#f2f1f8;color:#6759a2}.search-permit-empty{color:#9aa5af;font-size:12px}
.deal-card-btn{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:6px 8px;border-radius:8px;background:#edf5fb;color:#1c688f!important;font-size:12px;font-weight:850;text-decoration:none!important;border:1px solid #cfe0eb}
.deal-card-btn:hover{background:#dcecf6}
.thp-open-map-wrap{width:100%;margin:10px auto 18px}.thp-open-map{width:100%;border-radius:14px;overflow:hidden;border:1px solid #dbe4eb;background:#eef2f5}.thp-map-note{margin-top:5px;color:#8996a2;font-size:12px;text-align:right}
@media(max-width:700px){.apart-search-results th,.apart-search-results td{padding:8px 5px}.apart-search-results th{font-size:12px!important}.apart-search-results td{font-size:12px!important}.search-permit{padding:4px 5px}.deal-card-btn{min-width:38px;padding:5px}}

/* Modern detail permit + price charts */
.detail-permit-card,.modern-price-chart{margin:22px 0;padding:20px;border:1px solid #dce6ed;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(24,55,76,.06)}
.detail-permit-head,.modern-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.detail-permit-head h2,.modern-chart-head h2{margin:3px 0 4px;font-size:22px;color:#18384d}
.detail-permit-head p,.modern-chart-head p{margin:0;color:#7a8996;font-size:12px}
.detail-permit-more{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:10px;background:#edf5f8;color:#22698d!important;text-decoration:none!important;font-size:12px;font-weight:800;white-space:nowrap}
.detail-permit-summary,.modern-chart-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.detail-permit-summary>div,.modern-chart-stats>div{padding:13px 14px;border-radius:13px;background:#f5f8fa;border:1px solid #edf1f4}
.detail-permit-summary span,.modern-chart-stats span{display:block;color:#82919d;font-size:12px;font-weight:700}
.detail-permit-summary strong,.modern-chart-stats strong{display:block;margin-top:5px;color:#253f53;font-size:20px;line-height:1.1}
.modern-chart-stats small{display:block;margin-top:4px;color:#99a4ad;font-size:12px}
.detail-permit-summary .permit-approved{background:#edf9f5}.detail-permit-summary .permit-approved strong{color:#08795c}
.detail-permit-summary .permit-rejected{background:#fff2f3}.detail-permit-summary .permit-rejected strong{color:#c84d58}
.detail-permit-list{display:grid;gap:8px}.detail-permit-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #edf1f4;border-radius:12px;background:#fff}
.detail-permit-item>div strong{display:block;font-size:13px;color:#243f53}.detail-permit-item>div span{display:block;margin-top:2px;color:#7a8996;font-size:12px}.detail-permit-item small{color:#6e7d89;font-size:12px}
.permit-status{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:850}.permit-status.is-approved{background:#e7f7f0;color:#08795c}.permit-status.is-rejected{background:#fff0f1;color:#c54350}.permit-status.is-other{background:#f1f2f6;color:#626b78}
.detail-permit-empty{padding:18px;border-radius:12px;background:#f6f8fa;color:#7c8995;text-align:center;font-size:12px}
.modern-chart-tabs{display:flex;gap:5px;padding:4px;background:#f1f5f7;border-radius:11px}.modern-chart-tabs button{border:0;background:transparent;color:#73828f;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.modern-chart-tabs button.is-active{background:#fff;color:#1f6689;box-shadow:0 2px 8px rgba(25,65,90,.10)}
.modern-chart-canvas{position:relative;height:320px;padding-top:4px}
.search-deal-count{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1}.search-deal-count b{color:#255f80;font-size:12px}.search-deal-count small{margin-top:3px;color:#9aa5ad;font-size:12px}
@media(max-width:700px){
 .detail-permit-card,.modern-price-chart{margin:16px 0;padding:14px;border-radius:14px}
 .detail-permit-head,.modern-chart-head{display:block}.detail-permit-more{margin-top:10px}
 .detail-permit-summary,.modern-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-permit-summary strong,.modern-chart-stats strong{font-size:17px}
 .detail-permit-item{grid-template-columns:auto 1fr}.detail-permit-item small{grid-column:2}
 .modern-chart-tabs{margin-top:10px;width:max-content;max-width:100%}
 .modern-chart-canvas{height:270px}
 .apart-search-results th:nth-child(3),.apart-search-results td:nth-child(3){display:none}
}

/* Registration status */
.registry-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:68px;padding:6px 8px;border-radius:9px;font-size:12px;font-weight:850;line-height:1.15;white-space:nowrap}
.registry-badge small{font-size:12px;font-weight:700}
.registry-done{background:#eaf8f2;color:#08795c}
.registry-pending{background:#f2f4f6;color:#687884}
.registry-unknown{background:#f7f8fa;color:#9aa5ad}
@media(max-width:700px){.registry-badge{min-width:56px;padding:5px 6px;font-size:12px}}

/* ===== 2026-09-27 Statistics dashboard redesign ===== */
.trend-dashboard,
.stats-dashboard-page {
  --stat-accent:#5746e8;
  --stat-accent-soft:#f0eeff;
  --stat-ink:#172b43;
  --stat-muted:#748497;
  --stat-line:#e3e9f0;
}
.trend-dashboard{max-width:1180px;margin:0 auto;padding:10px 0 28px}
.market-stats-hero{
  position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;
  margin:12px 0 14px;padding:30px 32px;border-radius:24px;
  background:linear-gradient(135deg,#243f7a 0%,#4f46d9 56%,#6c5cf0 100%);
  box-shadow:0 18px 48px rgba(52,57,129,.18);color:#fff
}
.market-stats-hero:after{content:"";position:absolute;right:-55px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.09)}
.market-stats-hero__copy{position:relative;z-index:1}.market-stats-hero__copy .panel-eyebrow{color:#cfd2ff}
.market-stats-hero h1{margin:6px 0 8px;font-size:31px;line-height:1.2;color:#fff}
.market-stats-hero p{margin:0;max-width:650px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.78)}
.market-stats-hero__badge{position:relative;z-index:1;min-width:126px;padding:15px 17px;border:1px solid rgba(255,255,255,.22);border-radius:17px;background:rgba(255,255,255,.12);backdrop-filter:blur(4px)}
.market-stats-hero__badge strong,.market-stats-hero__badge span{display:block}.market-stats-hero__badge strong{font-size:26px}.market-stats-hero__badge span{margin-top:2px;font-size:12px;color:#dfe1ff}
.market-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.market-kpi-grid article{padding:17px 18px;border:1px solid var(--stat-line);border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(30,55,80,.055)}
.market-kpi-grid span,.market-kpi-grid small{display:block}.market-kpi-grid span{color:#7b8999;font-size:12px;font-weight:800}.market-kpi-grid strong{display:block;margin:7px 0 3px;color:var(--stat-ink);font-size:22px;line-height:1.1}.market-kpi-grid article:first-child strong{color:#5746e8}.market-kpi-grid article:nth-child(2) strong{color:#248789}.market-kpi-grid small{color:#9aa5af;font-size:12px}
.market-filter-card{display:flex;align-items:center;gap:18px;margin:0 0 18px;padding:15px 17px;border:1px solid var(--stat-line);border-radius:17px;background:#fff}
.market-filter-copy{min-width:190px}.market-filter-copy strong,.market-filter-copy span{display:block}.market-filter-copy strong{font-size:14px;color:var(--stat-ink)}.market-filter-copy span{margin-top:3px;color:#8b98a5;font-size:12px}
.market-filter-controls{display:flex;gap:8px;flex:1}.market-filter-controls label{min-width:170px}.market-filter-controls label>span{display:block;margin-bottom:4px;color:#778798;font-size:12px;font-weight:800}
.market-filter-controls select{width:100%!important;height:40px!important;margin:0!important;padding:0 36px 0 11px!important;border:1px solid #d7e0e9!important;border-radius:11px!important;background:#f9fbfc!important;color:#243b50!important;font-size:12px!important;font-weight:750}
.market-source-note{margin-left:auto;max-width:260px;color:#8b98a4;font-size:12px;line-height:1.45;text-align:right}
.trend-chart-section{margin:18px 0}.trend-section-title{display:flex;justify-content:space-between;align-items:end;margin:0 2px 9px}.trend-section-title h2{margin:3px 0 2px;color:#1a3248;font-size:19px}.trend-section-title p{margin:0;color:#84919e;font-size:12px}
.trend-chart-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}
.modern-volume-chart{margin:0;padding:18px;border:1px solid #e0e7ee;border-radius:18px;background:#fff;box-shadow:0 9px 27px rgba(28,53,76,.06)}
.modern-volume-chart .modern-chart-head{margin-bottom:12px}.modern-volume-chart .modern-chart-head h2{font-size:16px}.modern-volume-chart .modern-chart-canvas{height:285px}
.modern-volume-compare .modern-chart-canvas{height:350px}
.stats-table-section{margin:20px 0;padding:18px;border:1px solid #e0e7ee;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(28,53,76,.05);overflow:hidden}
.stats-section-heading{margin-bottom:12px}.stats-section-heading h2{margin:3px 0;color:#1a3248;font-size:19px}.stats-section-heading p{margin:0;color:#86939f;font-size:12px}
.stats-table-section table{width:100%!important;margin:0!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #e4eaf0!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important}
.stats-table-section th{padding:10px 6px!important;background:#f3f6fa!important;color:#53677a!important;border:0!important;border-bottom:1px solid #e2e8ef!important;font-size:12px!important;white-space:nowrap}
.stats-table-section td{padding:9px 6px!important;border:0!important;border-bottom:1px solid #eef2f5!important;color:#31485b!important;font-size:12px!important;text-align:center}
.stats-table-section tbody tr:hover td{background:#fafbff}
.stats-table-section td:first-child{font-weight:800;color:#1e3f59}

/* Weekly dashboard */
.week-dashboard-body{background:#f4f7fa}
.week-dashboard-page{max-width:1180px!important}
.week-dashboard-body .stats-hero,
.week-dashboard-page .stats-hero{
  display:grid;grid-template-columns:1.05fr 1.35fr;gap:22px;align-items:center;
  margin:12px 0 12px!important;padding:28px 30px!important;border:0!important;border-radius:24px!important;
  background:linear-gradient(135deg,#233f78 0%,#5146d9 60%,#6e60ef 100%)!important;
  box-shadow:0 18px 48px rgba(52,57,129,.17)!important;color:#fff!important
}
.week-dashboard-body .stats-hero:after{opacity:.75}
.week-dashboard-body .stats-hero h1,.week-dashboard-page .stats-hero h1{margin:5px 0 5px!important;color:#fff!important;font-size:28px!important;line-height:1.23!important}
.week-dashboard-body .stats-hero .page-eyebrow{color:#cfd1ff!important}
.week-dashboard-body .stats-hero .page-lead{color:rgba(255,255,255,.76)!important;font-size:12px!important;line-height:1.55!important}
.week-period{margin:7px 0 0;color:#e5e6ff;font-size:12px;font-weight:700}
.week-dashboard-body .stats-metric-grid,.week-dashboard-page .stats-metric-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
.week-dashboard-body .stats-metric,.week-dashboard-page .stats-metric{min-height:0!important;padding:13px 14px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:14px!important;background:rgba(255,255,255,.11)!important;box-shadow:none!important}
.week-dashboard-body .stats-metric span,.week-dashboard-body .stats-metric small{color:#d7d9f8!important}.week-dashboard-body .stats-metric strong{margin:4px 0 2px;color:#fff!important;font-size:20px!important}
.week-dashboard-nav{position:sticky;top:6px;z-index:8;display:flex;gap:6px;margin:10px 0 18px;padding:6px;border:1px solid #e1e7ee;border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 7px 22px rgba(35,55,80,.07);backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:none}
.week-dashboard-nav a{flex:0 0 auto;padding:8px 11px;border-radius:9px;color:#65778a!important;font-size:12px;font-weight:800;text-decoration:none!important;white-space:nowrap}.week-dashboard-nav a:hover{background:#efedff;color:#5347da!important}
.week-dashboard-body .week-section-title,.week-dashboard-page .week-section-title{margin:24px 2px 4px!important;padding:0!important;border:0!important;background:transparent!important;color:#1b3348!important;font-size:20px!important;line-height:1.3!important}
.week-section-lead{margin:0 2px 10px;color:#82909d;font-size:12px}
.week-dashboard-body .week-chart-card,.week-dashboard-page .week-chart-card{box-sizing:border-box!important;margin:7px 0 16px!important;padding:8px!important;border:1px solid #e0e7ee!important;border-radius:18px!important;background:#fff!important;box-shadow:0 9px 28px rgba(28,53,76,.055)!important;overflow:hidden!important}
.week-dashboard-body .thp-chart-loading[style*="50%"],.week-dashboard-page .thp-chart-loading[style*="50%"]{width:calc(50% - 6px)!important;margin-right:6px!important;min-height:220px!important}
.week-dashboard-body #lineChart_div10,.week-dashboard-page #lineChart_div10{height:390px!important}
.week-table-wrap{width:100%;margin:8px 0 18px;overflow-x:auto;border:1px solid #e1e7ed;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(35,55,80,.045)}
.week-data-table{min-width:720px;width:100%!important;margin:0!important;border-collapse:collapse!important;background:#fff!important}
.week-data-table th{padding:10px 7px!important;background:#f3f6fa!important;color:#53677a!important;border-color:#e5eaf0!important;font-size:12px!important;white-space:nowrap}.week-data-table td{padding:9px 7px!important;border-color:#edf1f4!important;color:#344b5e!important;font-size:12px!important}
.week-data-table tbody tr:hover td{background:#fafbff}

@media(max-width:900px){
  .market-stats-hero{padding:23px 20px}.market-kpi-grid{grid-template-columns:1fr 1fr}.trend-chart-grid{grid-template-columns:1fr}.market-filter-card{align-items:flex-start;flex-wrap:wrap}.market-source-note{margin-left:0;text-align:left}
  .week-dashboard-body .stats-hero,.week-dashboard-page .stats-hero{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .trend-dashboard{padding:5px 8px 24px}.market-stats-hero{margin-top:7px;padding:20px 17px;border-radius:18px}.market-stats-hero h1{font-size:24px}.market-stats-hero__badge{display:none}
  .market-kpi-grid{gap:7px}.market-kpi-grid article{padding:13px}.market-kpi-grid strong{font-size:18px}
  .market-filter-card{display:block;padding:13px}.market-filter-copy{min-width:0;margin-bottom:9px}.market-filter-controls{display:grid;grid-template-columns:1fr 1fr}.market-filter-controls label{min-width:0}
  .modern-volume-chart{padding:13px;border-radius:14px}.modern-volume-chart .modern-chart-canvas,.modern-volume-compare .modern-chart-canvas{height:250px}.stats-table-section{padding:12px}
  .week-dashboard-body .stats-hero,.week-dashboard-page .stats-hero{margin:7px 8px 10px!important;padding:20px 16px!important;border-radius:18px!important}
  .week-dashboard-body .stats-hero h1,.week-dashboard-page .stats-hero h1{font-size:23px!important}.week-dashboard-body .stats-metric-grid,.week-dashboard-page .stats-metric-grid{grid-template-columns:1fr 1fr!important}.week-dashboard-body .stats-metric strong{font-size:17px!important}
  .week-dashboard-nav{margin:7px 8px 14px;top:4px}
  .week-dashboard-body .week-section-title,.week-dashboard-page .week-section-title{margin-left:10px!important;margin-right:10px!important;font-size:18px!important}.week-section-lead{margin-left:10px;margin-right:10px}
  .week-dashboard-body .week-chart-card,.week-dashboard-page .week-chart-card{width:calc(100% - 16px)!important;float:none!important;margin:7px 8px 13px!important;min-height:235px!important;padding:4px!important}
  .week-table-wrap{margin-left:8px;margin-right:8px;width:calc(100% - 16px)}
}

/* ===== 2026-09-27 Statistics redesign ===== */
.trend-dashboard,
.weekly-dashboard{
  --stat-ink:#19364b;
  --stat-muted:#7a8a97;
  --stat-line:#dfe8ee;
  --stat-soft:#f5f8fa;
  --stat-blue:#276b8f;
  --stat-teal:#2f8d87;
  --stat-red:#df5560;
  --stat-green:#168066;
  max-width:1180px;
  margin:0 auto;
  padding:6px 8px 36px;
  color:var(--stat-ink);
}
.market-stats-hero,
.weekly-market-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin:12px 0 14px;
  padding:30px 32px;
  border:1px solid #d9e5ec;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 15%,rgba(73,151,179,.18),transparent 28%),
    linear-gradient(135deg,#f9fcfe 0%,#eef6fa 100%);
  box-shadow:0 12px 34px rgba(24,57,79,.06);
}
.market-stats-hero:after,
.weekly-market-hero:after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  right:-70px;bottom:-110px;
  border-radius:50%;
  background:rgba(39,107,143,.06);
  pointer-events:none;
}
.market-stats-hero h1,
.weekly-market-hero h1{
  margin:5px 0 8px;
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.045em;
  color:#14344a;
}
.market-stats-hero p,
.weekly-market-hero .page-lead{
  margin:0;
  max-width:720px;
  color:#6f8190;
  font-size:14px;
  line-height:1.65;
}
.market-stats-hero__badge{
  min-width:118px;
  padding:18px 20px;
  border:1px solid rgba(39,107,143,.16);
  border-radius:18px;
  background:rgba(255,255,255,.84);
  text-align:center;
  backdrop-filter:blur(4px);
}
.market-stats-hero__badge strong{display:block;color:#205f81;font-size:30px;line-height:1}
.market-stats-hero__badge span{display:block;margin-top:6px;color:#80909d;font-size:12px;font-weight:800}
.week-period{
  display:inline-flex;
  margin-top:2px;
  padding:5px 9px;
  border-radius:999px;
  background:#e7f2f7;
  color:#286b8c;
  font-size:12px;
  font-weight:850;
}

/* trend filters */
.market-filter-card{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(330px,1.2fr);
  gap:14px 24px;
  align-items:end;
  margin:12px 0 20px;
  padding:18px 20px;
  border:1px solid var(--stat-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 22px rgba(26,58,79,.04);
}
.market-filter-copy strong{display:block;font-size:15px;color:#26465c}
.market-filter-copy span{display:block;margin-top:4px;color:#8896a1;font-size:12px;line-height:1.5}
.market-filter-controls{display:grid;grid-template-columns:2fr 1fr;gap:9px}
.market-filter-controls label span{display:block;margin:0 0 5px 2px;color:#7b8a96;font-size:12px;font-weight:850}
.market-filter-controls select{
  width:100%;height:42px!important;margin:0!important;padding:0 36px 0 12px!important;
  border:1px solid #cedbe4!important;border-radius:11px!important;background:#f9fbfc!important;
  color:#263f53!important;font-size:12px!important;font-weight:800!important;
}
.market-source-note{
  grid-column:1/-1;
  padding-top:11px;
  border-top:1px solid #edf1f4;
  color:#92a0aa;
  font-size:12px;
}

/* common stats section headers */
.trend-chart-section{margin:22px 0 28px}
.trend-section-title,
.weekly-section-head,
.weekly-major-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:14px;
  margin:0 0 12px;
}
.trend-section-title h2,
.weekly-section-head h2,
.weekly-major-heading h2{
  margin:3px 0 3px;
  color:#17384f;
  font-size:22px;
  letter-spacing:-.035em;
}
.trend-section-title p,
.weekly-section-head p,
.weekly-major-heading p{
  margin:0;
  color:#81909c;
  font-size:12px;
  line-height:1.55;
}

/* Chart.js trend cards */
.trend-chart-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}
.modern-volume-chart{
  min-width:0;
  padding:18px 18px 16px;
  border:1px solid var(--stat-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(25,59,80,.05);
}
.modern-volume-chart .modern-chart-head{margin-bottom:12px}
.modern-volume-chart .modern-chart-head h2{font-size:17px}
.modern-volume-chart .modern-chart-stats{margin-bottom:10px}
.modern-volume-chart .modern-chart-stats>div{padding:10px 11px}
.modern-volume-chart .modern-chart-stats strong{font-size:16px}
.modern-volume-chart .modern-chart-canvas{height:280px}
.modern-volume-compare .modern-chart-canvas{height:355px}

/* Trend detail tables */
.trend-detail-section{margin-top:28px}
.trend-section-title--detail{padding-top:6px}
.trend-table-card{
  margin:10px 0 16px;
  overflow:hidden;
  border:1px solid var(--stat-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 20px rgba(25,59,80,.04);
}
.trend-table-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid #e9eff3;
  background:#f8fbfc;
}
.trend-table-head strong{font-size:14px;color:#26475d}
.trend-table-head span{font-size:12px;color:#8997a2}
.trend-table-scroll{overflow-x:auto}
.trend-data-table{width:100%;min-width:850px;margin:0!important;border:0!important;border-collapse:collapse!important}
.trend-data-table th{
  position:sticky;top:0;
  padding:10px 8px!important;
  border:0!important;border-bottom:1px solid #dde7ed!important;
  background:#eff5f8!important;
  color:#577083!important;
  font-size:12px!important;font-weight:850!important;
  white-space:nowrap;
}
.trend-data-table td{
  padding:10px 8px!important;
  border:0!important;border-bottom:1px solid #edf2f5!important;
  color:#334d61!important;
  font-size:12px!important;
  text-align:center;
}
.trend-data-table tbody tr:hover{background:#f8fbfd}
.trend-data-table td:first-child{text-align:left;font-size:12px!important;color:#1f425a!important}

/* weekly hero */
.weekly-market-hero{display:block;padding-bottom:22px}
.weekly-market-hero .stats-hero__copy{max-width:760px}
.weekly-market-hero .stats-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}
.weekly-market-hero .stats-metric{
  min-width:0;
  padding:15px 16px;
  border:1px solid rgba(213,226,234,.88);
  border-radius:15px;
  background:rgba(255,255,255,.88);
}
.weekly-market-hero .stats-metric span{display:block;color:#7e8e9a;font-size:12px;font-weight:800}
.weekly-market-hero .stats-metric strong{display:block;margin-top:5px;color:#203f55;font-size:22px;line-height:1.08}
.weekly-market-hero .stats-metric small{display:block;margin-top:5px;color:#8e9ca6;font-size:12px}
.weekly-market-hero .stats-metric--up strong{color:#d44f5b}
.weekly-market-hero .stats-metric--down strong{color:#21847f}
.week-dashboard-nav,
.weekly-jump-nav{
  position:sticky;
  top:4px;
  z-index:5;
  display:flex;
  gap:6px;
  overflow-x:auto;
  margin:0 0 18px;
  padding:6px;
  border:1px solid #dfe8ee;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 6px 18px rgba(25,58,78,.05);
  scrollbar-width:none;
}
.week-dashboard-nav::-webkit-scrollbar,.weekly-jump-nav::-webkit-scrollbar{display:none}
.week-dashboard-nav a,.weekly-jump-nav a{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:9px;
  color:#607789!important;
  font-size:12px;
  font-weight:850;
  text-decoration:none!important;
}
.week-dashboard-nav a:hover,.weekly-jump-nav a:hover{background:#edf5f8;color:#1f6689!important}

/* weekly panels */
.weekly-panel{
  margin:18px 0 24px;
  padding:18px;
  border:1px solid var(--stat-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 26px rgba(24,57,78,.045);
}
.weekly-chart-shell{
  overflow:hidden;
  padding:4px;
  border:1px solid #edf2f5;
  border-radius:15px;
  background:#fbfcfd;
}
.weekly-dashboard > h1[id],
.weekly-dashboard .week-section-lead{
  max-width:100%;
}
.weekly-dashboard > h1[id]{
  margin:30px 0 3px;
  color:#183b51;
  font-size:22px;
  letter-spacing:-.035em;
}
.weekly-dashboard .week-section-lead{
  margin:0 0 12px;
  color:#83919c;
  font-size:12px;
}

/* regional cards */
.weekly-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.weekly-region-card{
  min-width:0;
  padding:15px;
  border:1px solid #e0e8ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
.weekly-region-card__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf2f5}
.weekly-region-card__head strong{font-size:14px;color:#25465c}
.market-tone{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:12px;font-weight:900}
.market-tone--up{background:#fff0f1;color:#d14b57}
.market-tone--down{background:#eaf8f6;color:#21827d}
.market-tone--same{background:#f1f3f5;color:#778590}
.weekly-region-period{padding-top:10px}
.weekly-region-period--month{margin-top:8px;padding-top:10px;border-top:1px dashed #e1e8ed}
.weekly-region-period__title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.weekly-region-period__title span{font-size:12px;font-weight:850;color:#617788}
.weekly-region-period__title small{font-size:12px;color:#a0a9b1}
.weekly-region-values{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.weekly-region-values>div{padding:9px 10px;border-radius:11px;background:#f6f8fa}
.weekly-region-values span,.weekly-region-values small{display:block;font-size:12px}
.weekly-region-values strong{display:block;margin:3px 0;font-size:14px}
.weekly-region-values .value-up strong{color:#d4515d}
.weekly-region-values .value-down strong{color:#25857f}
.weekly-region-values span{color:#7f8e99;font-weight:800}
.weekly-region-values small{color:#95a1aa}

/* legacy weekly charts presented as modern cards */
.weekly-dashboard .thp-chart-loading{
  box-sizing:border-box!important;
  overflow:hidden;
  border:1px solid #e1e9ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(24,57,78,.035);
}
.weekly-dashboard .weekly-chart-shell .thp-chart-loading{
  border:0;
  border-radius:12px;
  box-shadow:none;
}
.weekly-dashboard .weekly-major-heading{
  margin:30px 0 12px;
  padding-top:4px;
}
.weekly-dashboard table{
  box-sizing:border-box;
  max-width:100%;
  margin:12px 0 24px!important;
  overflow-x:auto;
  border:1px solid #e0e8ee!important;
  border-radius:14px;
  background:#fff;
}
.weekly-dashboard table th{
  background:#eef5f8!important;
  color:#536d80!important;
}
.weekly-dashboard table td{border-color:#edf2f5!important}

/* shared visual polish */
.trend-dashboard .panel-eyebrow,
.weekly-dashboard .panel-eyebrow{
  color:#2a7194;
  font-size:12px;
  font-weight:950;
  letter-spacing:.13em;
}

@media(max-width:980px){
  .trend-chart-grid{grid-template-columns:1fr}
  .weekly-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-filter-card{grid-template-columns:1fr}
  .market-source-note{grid-column:auto}
}
@media(max-width:700px){
  .trend-dashboard,.weekly-dashboard{padding:4px 4px 24px}
  .market-stats-hero,.weekly-market-hero{grid-template-columns:1fr;padding:20px 17px;border-radius:18px}
  .market-stats-hero h1,.weekly-market-hero h1{font-size:25px}
  .market-stats-hero__badge{justify-self:start;min-width:94px}
  .market-filter-card{padding:14px;border-radius:15px}
  .market-filter-controls{grid-template-columns:1fr 1fr}
  .weekly-market-hero .stats-metric-grid{grid-template-columns:1fr 1fr}
  .weekly-market-hero .stats-metric{padding:12px}
  .weekly-market-hero .stats-metric strong{font-size:18px}
  .weekly-panel{padding:13px;border-radius:16px}
  .weekly-region-grid{grid-template-columns:1fr}
  .modern-volume-chart{padding:14px;border-radius:15px}
  .modern-volume-chart .modern-chart-canvas{height:250px}
  .modern-volume-compare .modern-chart-canvas{height:300px}
  .weekly-dashboard .thp-chart-loading{
    float:none!important;
    width:100%!important;
    height:280px!important;
    margin:8px 0!important;
  }
  .weekly-chart-shell .thp-chart-loading{height:300px!important}
  .weekly-dashboard > h1[id]{font-size:19px}
}

/* ===== Full app-style skin / 2026-09-27 ===== */
:root{
  --app-bg:#f3f6f8;
  --app-card:#fff;
  --app-line:#dde7ed;
  --app-ink:#17364c;
  --app-muted:#778895;
  --app-brand:#255f83;
  --app-brand-2:#347c9d;
  --app-soft:#eef4f7;
  --app-up:#dc4f5a;
  --app-down:#24847f;
  --app-radius:18px;
  --app-shadow:0 8px 28px rgba(24,56,76,.055);
}

html:not([data-page="apart_map_smart"]) body{
  background:
    radial-gradient(circle at 12% -10%,rgba(54,126,164,.08),transparent 28%),
    linear-gradient(#f6f8fa,#f3f6f8);
  color:var(--app-ink);
}

/* header */
.site-header-shell{
  max-width:1180px!important;
  margin:12px auto 18px!important;
}
.brand-header{
  display:flex!important;
  align-items:center!important;
  min-height:62px;
  margin:0 0 8px!important;
  padding:8px 10px!important;
}
.brand-mark{
  width:48px!important;height:48px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.brand-header img{width:38px!important;max-height:38px!important}
.brand-title{font-size:27px!important;letter-spacing:-.06em}
.brand-subtitle{font-size:12px!important;margin-top:2px}
.market-indicators-wrapper{
  border:1px solid rgba(209,222,231,.9)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:none!important;
}
.market-indicators{
  gap:5px 12px!important;
  overflow-x:auto;
  flex-wrap:nowrap!important;
  scrollbar-width:none;
}
.market-indicators::-webkit-scrollbar{display:none}
.market-indicator{
  flex:0 0 auto;
  min-height:28px;
  padding:3px 4px!important;
  border-radius:8px;
}
.market-indicator__value{color:#223c50;font-weight:900}
.market-indicators__update{color:#98a4ad!important;font-size:12px!important}

.utility-bar{
  border:1px solid rgba(213,225,232,.95)!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:6px 8px!important;
  box-shadow:none!important;
}
.utility-links{
  overflow-x:auto;
  flex-wrap:nowrap!important;
  scrollbar-width:none;
}
.utility-links::-webkit-scrollbar{display:none}
.account-links a,.utility-links a{
  flex:0 0 auto;
  border-radius:9px!important;
  color:#426075!important;
  font-size:12px!important;
  font-weight:850!important;
}
.utility-links a.is-active,
.utility-links a:hover{
  background:#eaf3f7!important;
  color:#17658b!important;
}

/* property selector like segmented tabs */
.property-tabs{
  width:100%!important;
  padding:5px!important;
  border:1px solid #dce6ec!important;
  border-radius:16px!important;
  background:#edf3f6!important;
  box-shadow:none!important;
  border-spacing:4px!important;
  border-collapse:separate!important;
}
.property-tabs th{
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
}
.property-tabs th a,
.property-tabs th center{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#607586!important;
  font-size:12px!important;
  font-weight:900!important;
}
.property-tabs th[style*="#C0C0C0"]{
  background:#fff!important;
  box-shadow:0 3px 10px rgba(34,67,88,.10)!important;
}
.property-tabs th[style*="#C0C0C0"] a,
.property-tabs th[style*="#C0C0C0"] center{color:#1f5f82!important}

/* primary / secondary app chips */
.primary-nav,.secondary-nav{
  width:100%!important;
  display:block!important;
  overflow-x:auto!important;
  margin:8px 0!important;
  padding:5px!important;
  border:1px solid #dfe7ed!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  scrollbar-width:none;
}
.primary-nav::-webkit-scrollbar,.secondary-nav::-webkit-scrollbar{display:none}
.primary-nav thead,.primary-nav tbody,.secondary-nav thead,.secondary-nav tbody{
  display:table!important;
  width:100%!important;
  min-width:650px;
  table-layout:fixed!important;
}
.primary-nav th,.secondary-nav th{
  border:0!important;
  background:transparent!important;
  padding:0 2px!important;
}
.primary-nav a,.secondary-nav a,
.primary-nav center,.secondary-nav center{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  color:#5a7081!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.primary-nav th[style*="#73685d"],
.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"]{
  background:transparent!important;
}
.primary-nav th[style*="#73685d"] a,
.primary-nav th[style*="#73685d"] center,
.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] a,
.secondary-nav th[style*="rgba(0, 0, 0, 0.3)"] center{
  background:#255f83!important;
  color:#fff!important;
}

/* generic content canvas */
html:not([data-page="apart_map_smart"]) #container{
  width:100%;
  max-width:1540px!important;
  margin:0 auto!important;
}
html:not([data-page="apart_map_smart"]) #box-center{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  min-width:0!important;
}
html:not([data-page="apart_map_smart"]) #box-center > h1:not(.page-hero h1):not(.stats-hero h1),
html:not([data-page="apart_map_smart"]) #box-center > h2{
  margin:22px 0 10px!important;
  color:#17384e!important;
  letter-spacing:-.04em;
}
html:not([data-page="apart_map_smart"]) #box-center > h1{font-size:23px!important}
html:not([data-page="apart_map_smart"]) #box-center > h2{font-size:19px!important}

/* old inline form elements inherit modern chips */
html:not([data-page="apart_map_smart"]) #box-center select,
html:not([data-page="apart_map_smart"]) #box-center input[type="text"],
html:not([data-page="apart_map_smart"]) #box-center input[type="search"],
html:not([data-page="apart_map_smart"]) #box-center input[type="date"],
html:not([data-page="apart_map_smart"]) #box-center input[type="number"],
html:not([data-page="apart_map_smart"]) #box-center input[type="password"],
html:not([data-page="apart_map_smart"]) #box-center input[type="email"]{
  height:42px!important;
  max-width:100%;
  margin:4px 5px 4px 0!important;
  padding:0 12px!important;
  border:1px solid #cfdce4!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#294358!important;
  font-size:12px!important;
  font-weight:750!important;
  outline:none!important;
  box-sizing:border-box!important;
}
html:not([data-page="apart_map_smart"]) #box-center select:focus,
html:not([data-page="apart_map_smart"]) #box-center input:focus{
  border-color:#4b8dab!important;
  box-shadow:0 0 0 3px rgba(43,116,151,.10)!important;
}
html:not([data-page="apart_map_smart"]) #box-center button,
html:not([data-page="apart_map_smart"]) #box-center input[type="submit"],
html:not([data-page="apart_map_smart"]) #box-center input[type="button"]{
  min-height:40px;
  padding:7px 13px!important;
  border:0!important;
  border-radius:10px!important;
  background:#255f83!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
}

/* generic legacy intro / inline labels */
html:not([data-page="apart_map_smart"]) #box-center > span[style*="font-size:25px"],
html:not([data-page="apart_map_smart"]) #box-center > span[style*="font-size: 25px"],
html:not([data-page="apart_map_smart"]) #box-center > span[style*="font-size:30px"],
html:not([data-page="apart_map_smart"]) #box-center > span[style*="font-size: 30px"]{
  font-size:13px!important;
  line-height:1.5!important;
  color:#536b7d!important;
}

/* generic table cards */
html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav){
  width:100%!important;
  margin:12px 0 20px!important;
  overflow:hidden;
  border:1px solid #dfe7ed!important;
  border-radius:16px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  box-shadow:var(--app-shadow)!important;
}
html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th{
  padding:11px 10px!important;
  border:0!important;
  border-bottom:1px solid #dfe7ed!important;
  background:#edf4f7!important;
  color:#516b7d!important;
  font-size:12px!important;
  font-weight:900!important;
}
html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td{
  padding:11px 10px!important;
  border:0!important;
  border-bottom:1px solid #edf2f5!important;
  background:#fff;
  color:#334e62!important;
  font-size:12px!important;
  line-height:1.45;
}
html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td[style*="font-size"]{
  font-size:12px!important;
}
html:not([data-page="apart_map_smart"]) #box-center table tbody tr:hover td{background:#f8fbfc!important}

/* cards around embeds/charts */
html:not([data-page="apart_map_smart"]) #box-center iframe{
  max-width:100%!important;
  border:1px solid #dde7ed!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--app-shadow)!important;
}
html:not([data-page="apart_map_smart"]) #box-center [id*="Chart_div"],
html:not([data-page="apart_map_smart"]) #box-center [id*="chart_div"],
html:not([data-page="apart_map_smart"]) #box-center [id^="lineChart"],
html:not([data-page="apart_map_smart"]) #box-center [id^="memeChart"],
html:not([data-page="apart_map_smart"]) #box-center [id^="rentChart"]{
  max-width:100%!important;
  border:1px solid #dfe8ed;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

/* login / board / guide style without per-page rewrites */
html[data-page="login"] #box-center,
html[data-page="join"] #box-center,
html[data-page="reset_password"] #box-center,
html[data-page="info"] #box-center,
html[data-page="guide"] #box-center,
html[data-page="list"] #box-center,
html[data-page="read"] #box-center,
html[data-page="write"] #box-center{
  max-width:980px!important;
}
html[data-page="login"] #box-center form,
html[data-page="join"] #box-center form,
html[data-page="reset_password"] #box-center form,
html[data-page="write"] #box-center form{
  margin:18px auto!important;
  padding:22px!important;
  border:1px solid #dfe7ed;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--app-shadow);
}

/* kpi grid used across apartment / villa / officetel statistics */
.market-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.market-kpi-grid article{
  padding:15px 16px;
  border:1px solid #dfe8ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(24,57,78,.04);
}
.market-kpi-grid span,.market-kpi-grid small{display:block;color:#84939f;font-size:12px}
.market-kpi-grid strong{display:block;margin:5px 0;color:#203f55;font-size:21px;line-height:1.05}

/* mobile bottom app nav */
.mobile-app-nav{display:none}
@media(max-width:760px){
  body{padding:0 6px 88px!important}
  .site-header-shell{margin:6px auto 10px!important}
  .brand-header{min-height:50px;padding:4px 5px!important;margin-bottom:5px!important}
  .brand-mark{width:41px!important;height:41px!important;border-radius:12px!important}
  .brand-header img{width:33px!important}
  .brand-title{font-size:24px!important}
  .brand-subtitle{font-size:12px!important}

  .market-indicators-wrapper{
    padding:6px 8px!important;
    gap:3px!important;
    margin-bottom:6px!important;
  }
  .market-indicators{font-size:12px!important;gap:3px 8px!important}
  .market-indicator__label{display:none}
  .market-indicators__update{display:none}
  .market-indicator__divider{display:none}

  .utility-bar{padding:4px 5px!important;margin-bottom:6px!important}
  .account-hint{display:none!important}
  .account-links,.utility-links{font-size:12px!important;gap:2px!important}
  .account-links a,.utility-links a{min-height:27px!important;padding:3px 7px!important}

  .property-tabs{margin:5px 0!important;padding:4px!important}
  .property-tabs th a,.property-tabs th center{min-height:34px!important;font-size:12px!important}

  .primary-nav,.secondary-nav{margin:5px 0!important;padding:4px!important;border-radius:12px!important}
  .primary-nav thead,.primary-nav tbody,.secondary-nav thead,.secondary-nav tbody{
    min-width:560px!important;
  }
  .primary-nav a,.secondary-nav a,.primary-nav center,.secondary-nav center{
    min-height:34px!important;
    padding:5px 6px!important;
    font-size:12px!important;
  }

  html:not([data-page="apart_map_smart"]) #box-center{max-width:100%!important}
  html:not([data-page="apart_map_smart"]) #box-center > h1{font-size:19px!important}
  html:not([data-page="apart_map_smart"]) #box-center > h2{font-size:16px!important}
  html:not([data-page="apart_map_smart"]) #box-center select{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    font-size:12px!important;
    height:39px!important;
  }
  html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav){
    display:block!important;
    overflow-x:auto!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }
  html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th,
  html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td{
    min-width:90px!important;
    padding:9px 8px!important;
    font-size:12px!important;
  }
  html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) th:first-child,
  html:not([data-page="apart_map_smart"]) #box-center table:not(.property-tabs):not(.primary-nav):not(.secondary-nav) td:first-child{
    min-width:120px!important;
  }

  .page-hero,.stats-hero{padding:18px 15px!important;border-radius:17px!important;margin:10px 0!important}
  .page-hero h1,.stats-hero h1{font-size:22px!important}
  .page-lead{font-size:12px!important;line-height:1.5!important}

  .market-kpi-grid{grid-template-columns:1fr 1fr;gap:7px}
  .market-kpi-grid article{padding:12px;border-radius:13px}
  .market-kpi-grid strong{font-size:17px}

  .mobile-app-nav{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:9999;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    border-top:1px solid rgba(203,216,225,.94);
    background:rgba(255,255,255,.97);
    box-shadow:0 -7px 22px rgba(25,55,75,.10);
    backdrop-filter:blur(12px);
  }
  .mobile-app-nav a{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:2px;
    color:#8a98a3!important;
    text-decoration:none!important;
  }
  .mobile-app-nav__icon{
    display:flex;
    width:27px;height:25px;
    align-items:center;justify-content:center;
    border-radius:9px;
    font-size:18px;
    line-height:1;
  }
  .mobile-app-nav b{font-size:12px;font-weight:850}
  .mobile-app-nav a.is-active{color:#225f82!important}
  .mobile-app-nav a.is-active .mobile-app-nav__icon{background:#e8f2f7}
}
@media(min-width:761px){
  .mobile-app-nav{display:none!important}
}

/* Map page keeps its own full-screen geometry. */
html[data-page="apart_map_smart"] body{padding-bottom:0!important}
html[data-page="apart_map_smart"] .mobile-app-nav{display:none!important}

/* Authentication pages */
.auth-page{
  min-height:100vh;
  margin:0!important;
  padding:28px 16px 44px!important;
  background:
    radial-gradient(circle at 50% -10%,rgba(53,126,162,.12),transparent 34%),
    #f3f6f8!important;
  color:#17364c;
}
.auth-page > center:first-of-type{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:6px auto 18px;
}
.auth-page > center:first-of-type img{
  width:48px!important;height:48px!important;
  padding:5px;
  border:1px solid #d9e5ec;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(24,57,78,.07);
}
.auth-page > center:first-of-type span{
  color:#17384e;
  font-size:27px!important;
  letter-spacing:-.05em;
}
.auth-page .container{
  width:100%!important;
  max-width:470px!important;
  margin:0 auto!important;
  padding:0!important;
}
.auth-page .container > .col-lg-4:first-child{display:none!important}
.auth-page .container > .col-lg-4{
  float:none!important;
  width:100%!important;
  padding:0!important;
}
.auth-page .jumbotron{
  margin:0!important;
  padding:26px!important;
  border:1px solid #dce6ec!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(24,56,76,.07)!important;
}
.auth-page .jumbotron h3{
  margin:0 0 20px!important;
  color:#18384e!important;
  font-size:22px!important;
  font-weight:900!important;
  letter-spacing:-.04em;
}
.auth-page .form-group{margin-bottom:11px!important}
.auth-page .form-control{
  height:46px!important;
  padding:0 13px!important;
  border:1px solid #cfdae2!important;
  border-radius:11px!important;
  background:#f9fbfc!important;
  color:#294358!important;
  font-size:13px!important;
  box-shadow:none!important;
}
.auth-page input.form-control:focus{
  border-color:#478aaa!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(42,116,150,.10)!important;
}
.auth-page .btn.form-control{
  display:flex!important;
  align-items:center;
  justify-content:center;
  height:44px!important;
  margin-top:5px;
  border:0!important;
  border-radius:11px!important;
  background:#255f83!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer;
}
.auth-page a:nth-of-type(n+2) .btn.form-control{
  background:#eef4f7!important;
  color:#255f83!important;
}
.auth-page #id_check_msg,
.auth-page #pass_check_msg{
  display:block;
  min-height:16px;
  padding:0 2px;
  font-size:12px;
  font-weight:700;
}
.auth-page > center:last-of-type{
  margin-top:24px;
  color:#8c99a3;
  line-height:1.5;
}
@media(max-width:600px){
  .auth-page{padding:18px 12px 34px!important}
  .auth-page .jumbotron{padding:20px 16px!important;border-radius:17px!important}
  .auth-page > center:first-of-type span{font-size:23px!important}
}

/* Property detail pages: apartment / villa / officetel share one visual hierarchy */
html[data-page="apart"] #box-center > span[style*="font-size:25"],
html[data-page="apart"] #box-center > span[style*="font-size: 25"],
html[data-page="apart_rent"] #box-center > span[style*="font-size:25"],
html[data-page="apart_rent"] #box-center > span[style*="font-size: 25"]{
  display:block!important;
  margin:12px 0 8px!important;
  padding:20px 22px!important;
  border:1px solid #dce6ec!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 94% 8%,rgba(55,132,166,.10),transparent 28%),
    linear-gradient(135deg,#fff,#f5f9fb)!important;
  color:#17384f!important;
  font-size:22px!important;
  line-height:1.45!important;
  font-weight:900!important;
  letter-spacing:-.04em;
  box-shadow:0 8px 25px rgba(24,56,77,.05);
}
html[data-page="apart"] #box-center > h1,
html[data-page="apart_rent"] #box-center > h1{
  display:flex!important;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:8px 0 14px!important;
  font-size:0!important;
}
html[data-page="apart"] #box-center > h1 a,
html[data-page="apart_rent"] #box-center > h1 a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:6px 11px;
  border:1px solid #d4e1e8;
  border-radius:10px;
  background:#fff;
  color:#28698b!important;
  font-size:12px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
html[data-page="apart"] #box-center > h1 a:hover,
html[data-page="apart_rent"] #box-center > h1 a:hover{background:#eaf3f7}
html[data-page="apart"] .modern-price-chart,
html[data-page="apart_rent"] .modern-price-chart{
  margin-top:14px!important;
}
@media(max-width:700px){
  html[data-page="apart"] #box-center > span[style*="font-size:25"],
  html[data-page="apart"] #box-center > span[style*="font-size: 25"],
  html[data-page="apart_rent"] #box-center > span[style*="font-size:25"],
  html[data-page="apart_rent"] #box-center > span[style*="font-size: 25"]{
    padding:15px 14px!important;
    border-radius:15px!important;
    font-size:18px!important;
  }
}

/* Area-by-area real transaction selector */
.detail-size-picker{
  margin:14px 0 16px;padding:14px;border:1px solid #dce6ec;border-radius:16px;background:#fff;
  box-shadow:0 7px 22px rgba(28,58,76,.05)
}
.detail-size-picker__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.detail-size-picker__head>div{display:flex;flex-direction:column;gap:3px}
.detail-size-picker__head b{color:#23465d;font-size:14px}
.detail-size-picker__head span{color:#8998a2;font-size:12px}
.detail-size-picker__head>a{
  flex:0 0 auto;padding:6px 10px;border:1px solid #dce6ec;border-radius:9px;background:#f7fafb;
  color:#67808f!important;text-decoration:none!important;font-size:12px;font-weight:850
}
.detail-size-picker__head>a.is-active{border-color:#2b6e91;background:#eaf4f8;color:#225f82!important}
.detail-size-picker__list{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none}
.detail-size-picker__list::-webkit-scrollbar{display:none}
.detail-size-chip{
  flex:0 0 auto;min-width:88px;display:flex;flex-direction:column;gap:2px;padding:9px 11px;
  border:1px solid #dce6ec;border-radius:11px;background:#fff;color:#496477!important;text-decoration:none!important
}
.detail-size-chip b{font-size:12px;color:#294c62}
.detail-size-chip span{font-size:12px;color:#245f82;font-weight:900}
.detail-size-chip small{font-size:12px;color:#95a2aa}
.detail-size-chip.is-active{border-color:#2b6e91;background:#eaf4f8;box-shadow:inset 0 0 0 1px #2b6e91}
.detail-size-chip.is-active b,.detail-size-chip.is-active span{color:#1f5d7d}
.detail-deal-heading{display:flex;align-items:baseline;gap:8px;margin:12px 0 7px}
.detail-deal-heading b{color:#24465d;font-size:15px}
.detail-deal-heading span{color:#8b99a3;font-size:12px}
@media(max-width:700px){
  .detail-size-picker{margin:11px 0 14px;padding:11px;border-radius:14px}
  .detail-size-picker__head{align-items:center}
  .detail-size-picker__head b{font-size:13px}
  .detail-size-picker__head span{font-size:12px}
  .detail-size-chip{min-width:78px;padding:8px 9px}
  .detail-size-chip b{font-size:12px}
  .detail-size-chip span{font-size:12px}
  .detail-deal-heading{flex-direction:column;align-items:flex-start;gap:2px}
}

.detail-size-chip{min-width:126px}
.detail-size-chip em{font-size:12px;color:#82929d;font-style:normal;white-space:nowrap}
.detail-size-chip.is-active em{color:#4d7891}

/* ===== Unified villa/officetel detail UI ===== */
.property-detail-hero{
  margin:12px 0 12px;padding:21px;border:1px solid #d9e5ec;border-radius:19px;
  background:radial-gradient(circle at 92% 10%,rgba(53,126,161,.12),transparent 29%),linear-gradient(135deg,#fff,#f4f9fb);
  box-shadow:0 8px 26px rgba(24,57,78,.055)
}
.property-detail-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.property-detail-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eaf4f8;color:#2a6c8e;font-size:12px;font-weight:900}
.property-detail-hero h1{margin:8px 0 4px!important;color:#17384e!important;font-size:24px!important;line-height:1.2!important;letter-spacing:-.045em}
.property-detail-hero p{margin:0;color:#81909b;font-size:12px}
.property-favorite{
  flex:0 0 auto;display:flex;width:42px;height:42px;align-items:center;justify-content:center;
  border:1px solid #d6e2e9;border-radius:13px;background:#fff;color:#587083!important;text-decoration:none!important;
  font-size:24px;line-height:1;box-shadow:0 3px 10px rgba(25,58,77,.05)
}
.property-favorite.is-active{border-color:#f0c9cd;background:#fff1f2;color:#d84f5b!important}
.property-detail-hero__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;padding-top:13px;border-top:1px solid #e4ecef}
.property-detail-hero__meta span{padding:7px 9px;border-radius:9px;background:#fff;color:#7b8c98;font-size:12px}
.property-detail-hero__meta b{color:#31556c;font-size:12px}

.property-size-panel{margin:12px 0;padding:14px;border:1px solid #dde7ed;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(25,58,77,.04)}
.property-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:9px}
.property-section-head>div{display:flex;flex-direction:column;gap:2px}
.property-section-head b{color:#274a61;font-size:13px}
.property-section-head span{color:#8b99a3;font-size:12px}
.property-section-head>a{flex:0 0 auto;padding:6px 10px;border:1px solid #d9e5ec;border-radius:9px;background:#f8fafb;color:#617988!important;text-decoration:none!important;font-size:12px;font-weight:850}
.property-section-head>a.is-active{border-color:#2c6f92;background:#eaf4f8;color:#205f81!important}
.property-size-list{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none}
.property-size-list::-webkit-scrollbar{display:none}
.property-size-chip{
  flex:0 0 auto;min-width:86px;display:flex;flex-direction:column;gap:2px;padding:9px 10px;
  border:1px solid #dce6ec;border-radius:11px;background:#fff;color:#496477!important;text-decoration:none!important
}
.property-size-chip b{font-size:12px;color:#315166}
.property-size-chip span{font-size:12px;color:#245f82;font-weight:900}
.property-size-chip small{font-size:12px;color:#95a2aa}
.property-size-chip.is-active{border-color:#2b6e91;background:#eaf4f8;box-shadow:inset 0 0 0 1px #2b6e91}

.property-quick-actions{display:flex;gap:7px;overflow-x:auto;margin:12px 0;padding-bottom:2px;scrollbar-width:none}
.property-quick-actions::-webkit-scrollbar{display:none}
.property-quick-actions a{
  flex:0 0 auto;display:flex;min-height:38px;align-items:center;justify-content:center;padding:0 12px;
  border:1px solid #d8e3e9;border-radius:10px;background:#fff;color:#426177!important;text-decoration:none!important;
  font-size:12px;font-weight:850
}
.property-quick-actions a.is-primary{border-color:#245f82;background:#245f82;color:#fff!important}

.property-location-card{
  margin:10px 0 16px;padding:14px 15px;border:1px solid #dee7ec;border-radius:14px;background:#f8fbfc
}
.property-location-card div{display:flex;flex-direction:column;gap:3px}
.property-location-card span{color:#2b7193;font-size:12px;font-weight:950;letter-spacing:.1em}
.property-location-card b{color:#345368;font-size:12px}
.property-location-card p{margin:7px 0 0;color:#8b99a3;font-size:12px;line-height:1.45}

.property-trade-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 9px}
.property-trade-heading span{color:#2b7193;font-size:12px;font-weight:950;letter-spacing:.1em}
.property-trade-heading h2{margin:3px 0 0!important;color:#21435a!important;font-size:17px!important}
.property-trade-heading p{margin:0;color:#8997a1;font-size:12px;text-align:right}
.property-trade-card{overflow-x:auto;margin-bottom:18px;border:1px solid #dfe8ed;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(25,58,77,.04)}
.property-trade-card>table{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-width:650px}
.property-page-footer{padding:20px 8px 90px;color:#9aa6ad;font-size:12px;text-align:center}

@media(max-width:700px){
  .property-detail-hero{padding:16px 14px;border-radius:16px}
  .property-detail-hero h1{font-size:20px!important}
  .property-detail-hero__meta{gap:5px}
  .property-size-panel{padding:11px;border-radius:14px}
  .property-size-chip{min-width:79px;padding:8px 9px}
  .property-quick-actions a{min-height:36px;padding:0 10px;font-size:12px}
  .property-trade-heading{align-items:flex-start;flex-direction:column;gap:2px}
  .property-trade-heading p{text-align:left}
  .property-page-footer{padding-bottom:78px}
}

/* ===== Legacy sections normalized by app-shell dataset ===== */
html[data-section="rank"] #box-center,
html[data-section="economy"] #box-center,
html[data-section="trend-detail"] #box-center,
html[data-section="market-list"] #box-center{padding-top:8px}

html[data-section="rank"] #box-center > span[style*="font-size:30"],
html[data-section="rank"] #box-center > span[style*="font-size: 30"]{
  display:inline-flex!important;align-items:center!important;margin:10px 7px 10px 0!important;
  color:#667d8d!important;font-size:12px!important;font-weight:850!important
}
html[data-section="rank"] form[name="mform"]{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 11px;margin:4px 0 16px!important;padding:13px 14px;
  border:1px solid #dce6ec;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(26,58,77,.04)
}
html[data-section="rank"] form[name="mform"] span{font-size:12px!important;color:#526b7d!important}
html[data-section="rank"] form[name="mform"] input[type="checkbox"]{
  width:17px!important;height:17px!important;margin:0 2px 0 0!important;accent-color:#28698b
}
html[data-section="rank"] #box-center > h1{
  margin:18px 0 6px!important;padding-left:10px;border-left:3px solid #286b8c;
  color:#21455c!important;font-size:18px!important;line-height:1.35
}
html[data-section="rank"] #box-center > h1 + span{
  display:block!important;margin:0 0 13px!important;padding:11px 13px!important;border-radius:12px!important;
  background:#f7fafb!important;color:#728490!important;font-size:12px!important;line-height:1.65!important
}
html[data-section="rank"] #box-center table td:first-child{font-weight:900;color:#2c6787!important}

/* economy + detailed statistics */
html[data-section="economy"] #box-center > span[style*="font-size:20"],
html[data-section="economy"] #box-center > span[style*="font-size: 20"]{
  display:block!important;margin:9px 0 13px!important;padding:10px 12px!important;border:1px solid #dce7ed!important;
  border-radius:12px!important;background:#f7fafb!important;color:#738590!important;font-size:12px!important;line-height:1.55!important
}
html[data-section="economy"] #box-center > span[style*="font-size:30"],
html[data-section="economy"] #box-center > span[style*="font-size: 30"],
html[data-section="trend-detail"] #box-center > span[style*="font-size:30"],
html[data-section="trend-detail"] #box-center > span[style*="font-size: 30"]{
  display:block!important;margin:22px 0 8px!important;color:#21455c!important;font-size:16px!important;font-weight:900!important;line-height:1.35!important
}
html[data-section="economy"] #box-center center:has(> [id^="lineChart"]),
html[data-section="trend-detail"] #box-center center:has(> [id^="lineChart"]),
html[data-section="trend-detail"] #box-center center:has(> [id^="memeChart"]),
html[data-section="trend-detail"] #box-center center:has(> [id^="rentChart"]){
  display:block!important;margin:0 0 16px!important;padding:10px!important;border:1px solid #dfe8ed!important;
  border-radius:16px!important;background:#fff!important;box-shadow:0 6px 20px rgba(25,58,77,.04)!important
}
html[data-section="economy"] #box-center [id^="lineChart"],
html[data-section="trend-detail"] #box-center [id^="lineChart"],
html[data-section="trend-detail"] #box-center [id^="memeChart"],
html[data-section="trend-detail"] #box-center [id^="rentChart"]{
  width:100%!important;height:270px!important;margin:0!important;border:0!important;border-radius:10px!important;box-shadow:none!important
}
html[data-section="economy"] #box-center select,
html[data-section="trend-detail"] #box-center select{height:39px!important;font-size:12px!important;min-width:100px!important}

/* auction / bunyang legacy content normalized */
html[data-section="market-list"] #box-center > span[style*="font-size:20"],
html[data-section="market-list"] #box-center > span[style*="font-size: 20"]{
  display:block!important;margin:10px 0 14px!important;padding:11px 13px!important;border:1px solid #dce7ed!important;
  border-radius:12px!important;background:#f7fafb!important;color:#6f8290!important;font-size:12px!important;line-height:1.65!important
}
html[data-section="market-list"] #box-center > span[style*="font-size:30"],
html[data-section="market-list"] #box-center > span[style*="font-size: 30"]{
  color:#516b7d!important;font-size:12px!important;font-weight:850!important;line-height:1.4!important
}
html[data-section="market-list"] #box-center input[type="date"],
html[data-section="market-list"] #box-center input[type="text"],
html[data-section="market-list"] #box-center select{
  margin:5px 5px 5px 0!important;height:40px!important;font-size:12px!important
}
html[data-section="market-list"] #box-center table{margin-top:15px!important}
html[data-section="market-list"] #box-center table td{vertical-align:top!important;line-height:1.55!important}
html[data-section="market-list"] #box-center table td a{color:#17678e!important;font-weight:850}

/* duplicated legacy footer normalized */
.thp-legacy-footer{
  clear:both;margin:24px auto 0;padding:16px 8px 86px;color:#9aa6ae;font-size:12px;text-align:center
}

@media(max-width:700px){
  html[data-section="rank"] form[name="mform"]{gap:7px 8px;padding:11px}
  html[data-section="rank"] #box-center > h1{font-size:16px!important}
  html[data-section="economy"] #box-center [id^="lineChart"],
  html[data-section="trend-detail"] #box-center [id^="lineChart"],
  html[data-section="trend-detail"] #box-center [id^="memeChart"],
  html[data-section="trend-detail"] #box-center [id^="rentChart"]{height:230px!important}
  html[data-section="market-list"] #box-center > span[style*="font-size:30"],
  html[data-section="market-list"] #box-center > span[style*="font-size: 30"]{display:inline-block!important;margin:3px 2px!important}
}

/* Remove legacy spacer <br> elements between modernized sections */
html[data-section="rank"] #box-center > br,
html[data-section="economy"] #box-center > br,
html[data-section="trend-detail"] #box-center > br,
html[data-section="market-list"] #box-center > br{display:none!important}

html[data-section="economy"] #box-center > span[style*="font-size:15"],
html[data-section="economy"] #box-center > span[style*="font-size: 15"]{
  display:block!important;margin:7px 0 14px!important;padding:11px 13px!important;border-left:3px solid #7aa7bd!important;
  border-radius:0 10px 10px 0!important;background:#f7fafb!important;color:#738590!important;font-size:12px!important;line-height:1.7!important
}

/* ===== Compact search filters for sale/rent list pages ===== */
.query-panel.detail-query.search-filter-card{
  display:block!important;
  margin:12px 0 16px!important;
  padding:16px 17px!important;
  border:1px solid #dce6ec!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(25,58,77,.045)!important;
}
.search-filter-head{
  display:flex;align-items:end;justify-content:space-between;gap:12px;
  margin:0 0 12px;padding:0 1px 10px;border-bottom:1px solid #edf2f5;
}
.search-filter-head>div{display:flex;flex-direction:column;gap:2px}
.search-filter-head .panel-eyebrow{
  margin:0!important;color:#2a7092!important;font-size:12px!important;font-weight:950!important;letter-spacing:.11em!important
}
.search-filter-head b{color:#25465c;font-size:14px;letter-spacing:-.025em}
.search-filter-head small{color:#93a0a9;font-size:12px;white-space:nowrap}

.search-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px 12px!important;
  width:100%;
}
.search-filter-item{
  min-width:0;display:flex;flex-direction:column;gap:6px
}
.search-filter-item label{
  margin:0!important;color:#6f8290!important;font-size:12px!important;font-weight:850!important;line-height:1.2
}
.query-panel.detail-query.search-filter-card .search-filter-item select{
  width:100%!important;min-width:0!important;max-width:none!important;height:42px!important;
  margin:0!important;padding:0 34px 0 11px!important;border:1px solid #cfdae2!important;
  border-radius:11px!important;background-color:#f9fbfc!important;color:#294458!important;
  font-size:12px!important;font-weight:800!important;box-shadow:none!important
}
.query-panel.detail-query.search-filter-card .search-filter-item select:focus{
  border-color:#478aaa!important;background:#fff!important;box-shadow:0 0 0 3px rgba(42,116,150,.09)!important
}

.search-result-heading{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin:18px 0 9px;padding:0 2px
}
.search-result-heading b{
  color:#25465c;font-size:15px;line-height:1.4;letter-spacing:-.025em
}
.search-result-heading small{
  flex:0 0 auto;padding:4px 7px;border-radius:8px;background:#eef4f7;color:#718592;font-size:12px;font-weight:850
}

/* sale/rent result tables */
html[data-page="apart_home"] #box-center table,
html[data-page="apart_home_rent"] #box-center table{
  margin-top:8px!important
}
html[data-page="apart_home"] #box-center table th,
html[data-page="apart_home_rent"] #box-center table th{
  padding:10px 8px!important;font-size:12px!important;line-height:1.35!important
}
html[data-page="apart_home"] #box-center table td,
html[data-page="apart_home_rent"] #box-center table td{
  padding:10px 8px!important;font-size:12px!important;line-height:1.42!important
}
html[data-page="apart_home"] #box-center table td a,
html[data-page="apart_home_rent"] #box-center table td a{
  color:#1d6386!important;font-weight:850!important
}

@media(max-width:900px){
  .search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .query-panel.detail-query.search-filter-card{
    margin:10px 0 13px!important;padding:13px!important;border-radius:15px!important
  }
  .search-filter-head{margin-bottom:10px;padding-bottom:8px}
  .search-filter-head b{font-size:13px}
  .search-filter-head small{display:none}
  .search-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 8px!important
  }
  .search-filter-item{gap:5px}
  .search-filter-item label{font-size:12px!important}
  .query-panel.detail-query.search-filter-card .search-filter-item select{
    height:40px!important;padding-left:9px!important;padding-right:29px!important;
    font-size:12px!important;border-radius:10px!important
  }
  .search-result-heading{
    align-items:flex-start;flex-direction:column;gap:4px;margin:14px 0 7px
  }
  .search-result-heading b{font-size:13px;line-height:1.45}
  .search-result-heading small{font-size:12px}
  html[data-page="apart_home"] #box-center table,
  html[data-page="apart_home_rent"] #box-center table{
    border-radius:12px!important
  }
}

/* ===== Mobile legacy side-rail cleanup =====
   Legacy villa/officetel pages still render desktop ad rails when a narrow
   desktop-UA browser is used. Never let those rails consume vertical space. */
@media (max-width: 767px){
  html:not([data-page="apart_map_smart"]) #container{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  html:not([data-page="apart_map_smart"]) #box-left,
  html:not([data-page="apart_map_smart"]) #box-right{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html:not([data-page="apart_map_smart"]) #box-center{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-top:0!important;
  }
}


/* ===== Modern guide / community pages ===== */
.thp-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.thp-guide-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface-soft);
}
.thp-guide-card>span{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:var(--brand);
  color:#fff;
  font-weight:900;
}
.thp-guide-card strong{display:block;font-size:18px;color:var(--text);}
.thp-guide-card p{margin:6px 0 10px;color:var(--muted);font-size:14px;line-height:1.6;}
.thp-guide-card a{font-weight:800;text-decoration:none;}
.thp-guide-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.thp-guide-links>a{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
  text-decoration:none;
}
.thp-guide-links strong{font-size:16px;}
.thp-guide-links span{color:var(--muted);font-size:13px;}

.thp-board-list{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
}
.thp-board-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 58px;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  color:var(--text);
  text-decoration:none!important;
}
.thp-board-row:last-child{border-bottom:0;}
.thp-board-row:hover{background:var(--surface-soft);}
.thp-board-no{color:var(--muted);font-size:13px;font-weight:800;}
.thp-board-main{min-width:0;}
.thp-board-main strong{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  font-size:16px;
  line-height:1.4;
}
.thp-board-main strong em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-style:normal;
}
.thp-board-main span{display:block;margin-top:5px;color:var(--muted);font-size:12px;}
.thp-board-hit{text-align:right;}
.thp-board-hit span{display:block;color:var(--muted);font-size:12px;}
.thp-board-hit b{font-size:14px;}
.thp-board-pages{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin:20px 0 0;
}
.thp-board-pages a,.thp-board-pages strong{
  display:grid;
  place-items:center;
  min-width:36px;
  height:36px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  text-decoration:none;
  font-size:13px;
}
.thp-board-pages strong{background:var(--brand);border-color:var(--brand);color:#fff;}
.thp-board-bottom{display:flex;justify-content:flex-end;margin-top:16px;}

@media(max-width:767px){
  .thp-guide-grid,.thp-guide-links{grid-template-columns:1fr;}
  .thp-guide-card{padding:16px;}
  .thp-board-section .smart-section-head{align-items:flex-start;}
  .thp-board-write{display:none!important;}
  .thp-board-row{grid-template-columns:42px minmax(0,1fr) 42px;gap:9px;padding:12px 11px;min-height:70px;}
  .thp-board-main strong{font-size:14px;}
  .thp-board-main span{font-size:12px;}
}


/* ===== Modern community read / write ===== */
.thp-post-head h2{margin:5px 0 8px;font-size:clamp(22px,3vw,30px);}
.thp-post-head p{margin:0;color:var(--muted);font-size:13px;}
.thp-post-content{
  min-height:150px;
  margin-top:20px;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--text);
  line-height:1.75;
  overflow-wrap:anywhere;
}
.thp-post-content img{max-width:100%;height:auto;}
.thp-post-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px;}
.thp-btn-danger{color:var(--danger)!important;}
.thp-reply-list{display:flex;flex-direction:column;gap:10px;}
.thp-reply{
  position:relative;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}
.thp-reply-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.thp-reply-meta strong{font-size:14px;}
.thp-reply-meta span{color:var(--muted);font-size:12px;}
.thp-reply-content{font-size:14px;line-height:1.65;padding-right:42px;}
.thp-reply-delete{position:absolute;right:12px;top:12px;}
.thp-reply-delete button{
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  cursor:pointer;
}
.thp-reply-form{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.thp-reply-form label,.thp-write-form>label{font-weight:800;font-size:13px;color:var(--text);}
.thp-reply-form textarea{
  width:100%;
  min-height:96px;
  resize:vertical;
  border:1px solid var(--line-strong);
  border-radius:12px;
  padding:12px 14px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
}
.thp-reply-form .smart-btn{align-self:flex-end;}
.thp-login-note{margin-top:16px;padding:14px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:13px;}
.thp-write-form{display:flex;flex-direction:column;gap:10px;}
.thp-write-user{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:13px 14px;border-radius:10px;background:var(--surface-soft);}
.thp-write-user span{color:var(--muted);font-size:12px;}
.thp-write-form>input{
  width:100%;
  min-height:48px;
  border:1px solid var(--line-strong);
  border-radius:11px;
  padding:0 14px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
}
.thp-write-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;}
@media(max-width:767px){
  .thp-post-content{padding:16px 0;min-height:110px;}
  .thp-post-actions{justify-content:flex-start;}
  .thp-write-actions .smart-btn{flex:1;}
}


/* ===== Responsive touch-target refinements ===== */
@media(max-width:760px){
  .opportunity-filter-grid input,
  .opportunity-filter-grid select{
    min-height:44px!important;
    height:44px!important;
    font-size:13px!important;
  }
  .opp-select{
    width:40px!important;
    height:40px!important;
    right:8px!important;
    top:8px!important;
    border-radius:11px!important;
  }
  .opportunity-card{
    padding-right:52px!important;
  }
  .opp-main{
    padding-right:0!important;
  }

  form.size-filter-form{
    display:flex!important;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 6px;
  }
  form.size-filter-form>.size-filter-title{
    width:100%;
    margin:0!important;
    font-size:12px!important;
    color:#758695!important;
  }
  .size-filter-option{
    display:inline-flex;
    min-height:40px;
    align-items:center;
    gap:6px;
    padding:6px 9px;
    border:1px solid #dce5ea;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
  }
  .size-filter-option input[type="checkbox"]{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    margin:0!important;
  }
  .size-filter-option span{
    font-size:12px!important;
    line-height:1.2!important;
    color:#365267!important;
    white-space:nowrap;
  }
}


/* Prevent mobile browser focus-zoom and improve form readability */
@media(max-width:760px){
  #box-center input[type="text"],
  #box-center input[type="search"],
  #box-center input[type="number"],
  #box-center input[type="date"],
  #box-center input[type="password"],
  #box-center input[type="email"],
  #box-center select,
  #box-center textarea{
    font-size:16px!important;
  }
}


@media(max-width:760px){
  body:not(.map-home-v2) input[type="text"],
  body:not(.map-home-v2) input[type="search"],
  body:not(.map-home-v2) input[type="number"],
  body:not(.map-home-v2) input[type="date"],
  body:not(.map-home-v2) input[type="password"],
  body:not(.map-home-v2) input[type="email"],
  body:not(.map-home-v2) select,
  body:not(.map-home-v2) textarea{
    font-size:16px!important;
  }
}


.registry-unavailable{background:#f4f5f6;color:#8a949b}

/* ===== Legacy ad cleanup + bunyang table refresh 2026-09-28 ===== */
ins.adsbygoogle,
[data-ad-client^="ca-pub-"]{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
}
.thp-ad-rail-empty{
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#container:has(.thp-ad-rail-empty) #box-center{
  margin-left:auto!important;
  margin-right:auto!important;
}
html[data-page="apart_bunyang"] .query-panel{
  margin-bottom:18px!important;
}
html[data-page="apart_bunyang"] .bunyang-table{
  width:100%!important;
  margin:18px 0 34px!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0 8px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html[data-page="apart_bunyang"] .bunyang-table thead th{
  padding:10px 14px!important;
  border:0!important;
  background:transparent!important;
  color:#708294!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-align:left!important;
  letter-spacing:.01em;
}
html[data-page="apart_bunyang"] .bunyang-table thead th:nth-child(2),
html[data-page="apart_bunyang"] .bunyang-table thead th:nth-child(3),
html[data-page="apart_bunyang"] .bunyang-table thead th:nth-child(4){
  text-align:center!important;
}
html[data-page="apart_bunyang"] .bunyang-table tbody tr{
  filter:drop-shadow(0 4px 13px rgba(34,62,82,.055));
}
html[data-page="apart_bunyang"] .bunyang-table tbody td{
  padding:17px 16px!important;
  border-top:1px solid #e0e8ee!important;
  border-bottom:1px solid #e0e8ee!important;
  background:#fff!important;
  color:#243b4d!important;
  font-size:13px!important;
  line-height:1.45!important;
  vertical-align:middle!important;
}
html[data-page="apart_bunyang"] .bunyang-table tbody td:first-child{
  border-left:1px solid #e0e8ee!important;
  border-radius:14px 0 0 14px!important;
}
html[data-page="apart_bunyang"] .bunyang-table tbody td:last-child{
  border-right:1px solid #e0e8ee!important;
  border-radius:0 14px 14px 0!important;
}
html[data-page="apart_bunyang"] .bunyang-table tbody tr:hover td{
  background:#f8fbfd!important;
  border-color:#cfdde6!important;
}
html[data-page="apart_bunyang"] .bunyang-main{
  width:52%!important;
}
html[data-page="apart_bunyang"] .bunyang-title{
  display:block;
  margin-bottom:6px;
  color:#163f59;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.35;
}
html[data-page="apart_bunyang"] .bunyang-title a{
  color:#12618d!important;
  text-decoration:none!important;
}
html[data-page="apart_bunyang"] .bunyang-title a:hover{
  text-decoration:underline!important;
}
html[data-page="apart_bunyang"] .bunyang-meta{
  display:block;
  color:#6b7d8b!important;
  font-size:12px!important;
  font-weight:650;
  line-height:1.55;
}
html[data-page="apart_bunyang"] .bunyang-date,
html[data-page="apart_bunyang"] .bunyang-schedule,
html[data-page="apart_bunyang"] .bunyang-supply{
  text-align:center!important;
}
html[data-page="apart_bunyang"] .bunyang-date b,
html[data-page="apart_bunyang"] .bunyang-schedule b{
  color:#27465b;
  font-size:13px!important;
}
html[data-page="apart_bunyang"] .bunyang-supply b{
  display:inline-flex;
  min-width:58px;
  min-height:34px;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:999px;
  background:#edf6fb;
  color:#17658f;
  font-size:14px!important;
  font-weight:900!important;
}
html[data-page="apart_bunyang"] .bunyang-schedule small{
  display:block;
  margin-top:4px;
  color:#7b8c99;
  font-size:12px;
  font-weight:700;
}

@media(max-width:760px){
  html[data-page="apart_bunyang"] .bunyang-table{
    display:block!important;
    margin-top:12px!important;
    border-spacing:0!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table thead{
    display:none!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody{
    display:block!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody tr{
    display:block!important;
    margin:0 0 12px!important;
    padding:13px 14px 12px!important;
    border:1px solid #dfe8ee!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(34,62,82,.06)!important;
    filter:none!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody td{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr);
    gap:10px;
    width:100%!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px dashed #edf1f4!important;
    border-radius:0!important;
    background:transparent!important;
    text-align:left!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody td:last-child{
    border-bottom:0!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody td::before{
    content:attr(data-label);
    color:#81909c;
    font-size:12px;
    font-weight:800;
    line-height:1.45;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody td.bunyang-main{
    display:block!important;
    padding:1px 0 12px!important;
    border-bottom:1px solid #e7edf2!important;
  }
  html[data-page="apart_bunyang"] .bunyang-table tbody td.bunyang-main::before{
    display:none!important;
  }
  html[data-page="apart_bunyang"] .bunyang-title{
    font-size:16px!important;
  }
  html[data-page="apart_bunyang"] .bunyang-meta{
    font-size:12px!important;
  }
  html[data-page="apart_bunyang"] .bunyang-date,
  html[data-page="apart_bunyang"] .bunyang-schedule,
  html[data-page="apart_bunyang"] .bunyang-supply{
    text-align:left!important;
  }
  html[data-page="apart_bunyang"] .bunyang-supply b{
    min-width:0;
    min-height:28px;
    padding:0 9px;
    font-size:13px!important;
  }
  html[data-page="apart_bunyang"] .bunyang-query{
    margin-bottom:12px!important;
  }
}

/* ===== Market list table refresh 2026-09-28 ===== */
.market-list-table{
  width:100%!important;
  margin:12px 0 26px!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0 7px!important;
  background:transparent!important;
  box-shadow:none!important;
  table-layout:fixed;
}
.market-list-table thead th{
  padding:13px 12px!important;
  border:0!important;
  background:#304b62!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.3!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.market-list-table thead th:first-child{border-radius:12px 0 0 12px!important;}
.market-list-table thead th:last-child{border-radius:0 12px 12px 0!important;}
.market-list-table thead th:not(:first-child){text-align:center!important;}
.market-list-table tbody tr{
  filter:drop-shadow(0 3px 10px rgba(26,53,72,.055));
}
.market-list-table tbody td{
  padding:15px 13px!important;
  border-top:1px solid #e1e8ed!important;
  border-bottom:1px solid #e1e8ed!important;
  background:#fff!important;
  color:#31495a!important;
  font-size:14px!important;
  font-weight:550;
  line-height:1.48!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.market-list-table tbody td:first-child{
  border-left:1px solid #e1e8ed!important;
  border-radius:12px 0 0 12px!important;
  text-align:left!important;
}
.market-list-table tbody td:last-child{
  border-right:1px solid #e1e8ed!important;
  border-radius:0 12px 12px 0!important;
}
.market-list-table tbody tr:hover td{
  border-color:#cfdbe3!important;
  background:#f9fbfc!important;
}
.market-list-table tbody td:nth-child(3){
  background:#fff4f4!important;
  color:#8d3340!important;
}
.market-list-table tbody tr:hover td:nth-child(3){
  background:#ffeded!important;
}
.market-list-table tbody td a{
  color:#155f87!important;
  text-decoration:none!important;
}
.market-list-table tbody td a:hover{text-decoration:underline!important;}
.market-list-table tbody td:first-child a b{
  display:inline-block;
  margin-bottom:3px;
  color:#155f87;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.3;
}
.market-list-table tbody td b{
  color:#173f58;
  font-size:15px!important;
  font-weight:900!important;
}
.market-list-table tbody td:nth-child(3) b{
  color:#a12837!important;
}
.market-list-table tbody td:nth-child(4) b{
  color:#123d58!important;
  font-size:16px!important;
}
.market-list-table tbody td:nth-child(2){width:13%!important;}
.market-list-table tbody td:nth-child(3){width:14%!important;}
.market-list-table tbody td:nth-child(4),
.market-list-table tbody td:nth-child(5),
.market-list-table tbody td:nth-child(6){width:14%!important;}

@media(max-width:760px){
  .market-list-table{
    display:block!important;
    margin:10px 0 22px!important;
    border-spacing:0!important;
    table-layout:auto!important;
  }
  .market-list-table thead{display:none!important;}
  .market-list-table tbody{display:block!important;}
  .market-list-table tbody tr{
    display:block!important;
    margin:0 0 12px!important;
    padding:13px 14px 11px!important;
    border:1px solid #dce5eb!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 15px rgba(26,53,72,.065)!important;
    filter:none!important;
  }
  .market-list-table tbody td{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr);
    gap:10px;
    width:100%!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px dashed #e8edf1!important;
    border-radius:0!important;
    background:transparent!important;
    color:#415766!important;
    font-size:13px!important;
    line-height:1.45!important;
    text-align:right!important;
  }
  .market-list-table tbody td::before{
    align-self:start;
    content:"";
    color:#85949f;
    font-size:12px;
    font-weight:850;
    line-height:1.45;
    text-align:left;
  }
  .market-list-table tbody td:first-child{
    display:block!important;
    padding:1px 0 11px!important;
    border-bottom:1px solid #e2e9ee!important;
    text-align:left!important;
  }
  .market-list-table tbody td:first-child::before{display:none!important;}
  .market-list-table tbody td:first-child a b{
    margin-bottom:4px;
    font-size:16px!important;
  }
  .market-list-table tbody td:nth-child(2)::before{content:"면적";}
  .market-list-table tbody td:nth-child(3)::before{content:"고점 대비";}
  .market-list-table tbody td:nth-child(4)::before{content:"최근 거래";}
  .market-list-table tbody td:nth-child(5)::before{content:"최고가";}
  .market-list-table tbody td:nth-child(6)::before{content:"최저가";}
  .market-list-table tbody td:nth-child(3){
    margin:4px 0;
    padding:9px 10px!important;
    border:0!important;
    border-radius:10px!important;
    background:#fff1f1!important;
  }
  .market-list-table tbody td:last-child{border-bottom:0!important;}
  .market-list-table tbody td b{font-size:14px!important;}
  .market-list-table tbody td:nth-child(4) b{font-size:15px!important;}
  .search-result-heading{
    margin-top:14px!important;
    margin-bottom:6px!important;
  }
}

@media(max-width:760px){
  .market-list-table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:12px;
    row-gap:0;
    padding:12px 13px 10px!important;
  }
  .market-list-table tbody td{
    display:block!important;
    width:auto!important;
    min-width:0;
    padding:8px 2px!important;
    text-align:left!important;
  }
  .market-list-table tbody td::before{
    display:block!important;
    margin-bottom:3px;
    font-size:12px!important;
  }
  .market-list-table tbody td:first-child{
    grid-column:1 / -1;
    padding:0 2px 10px!important;
  }
  .market-list-table tbody td:nth-child(3){
    margin:0!important;
    padding:8px 9px!important;
  }
  .market-list-table tbody td:nth-child(6){
    border-bottom:1px dashed #e8edf1!important;
  }
}

/* ===== Legacy 3-column hardening after ad-rail removal 2026-09-28 ===== */
@media (min-width:768px){
  html:not([data-page="apart_map_smart"]) #container:has(> .thp-ad-rail-empty){
    display:block!important;
    width:100%!important;
    max-width:1540px!important;
    margin:0 auto!important;
  }
  html:not([data-page="apart_map_smart"]) #container > #box-left.thp-ad-rail-empty,
  html:not([data-page="apart_map_smart"]) #container > #box-right.thp-ad-rail-empty{
    display:none!important;
    flex:0 0 0!important;
  }
  html:not([data-page="apart_map_smart"]) #container:has(> .thp-ad-rail-empty) > #box-center{
    display:block!important;
    width:min(1180px,100%)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    flex:none!important;
  }
}

/* ===== Detail map marker + selected chart range 2026-09-28 ===== */
.thp-map-pin-icon{
  background:transparent!important;
  border:0!important;
}
.thp-map-pin{
  position:absolute;
  left:4px;
  top:1px;
  display:block;
  width:22px;
  height:22px;
  background:#17658f;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 3px 9px rgba(20,55,75,.30);
}
.thp-map-pin::after{
  content:"";
  position:absolute;
  left:6px;
  top:6px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
}

.modern-chart-tabs{
  display:flex;
  gap:6px;
  padding:0!important;
  background:transparent!important;
}
.modern-chart-tabs button{
  min-width:42px;
  border:1px solid #d7e2e9!important;
  background:#fff!important;
  color:#587080!important;
  border-radius:8px!important;
  padding:7px 11px!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
  cursor:pointer;
}
.modern-chart-tabs button:hover:not(.is-active){
  background:#f4f8fa!important;
  border-color:#bfcfd9!important;
  color:#245b78!important;
}
.modern-chart-tabs button.is-active{
  background:#17658f!important;
  border-color:#17658f!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(23,101,143,.20)!important;
}
.modern-chart-tabs button:focus-visible{
  outline:2px solid rgba(23,101,143,.30);
  outline-offset:2px;
}

@media(max-width:760px){
  .modern-chart-tabs{
    gap:5px;
  }
  .modern-chart-tabs button{
    min-width:38px;
    padding:7px 9px!important;
  }
}

/* chart range buttons must override generic legacy #box-center buttons */
html:not([data-page="apart_map_smart"]) #box-center .modern-chart-tabs button{
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid #d7e2e9!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#587080!important;
  box-shadow:none!important;
}
html:not([data-page="apart_map_smart"]) #box-center .modern-chart-tabs button:hover:not(.is-active){
  background:#f4f8fa!important;
  border-color:#bfcfd9!important;
  color:#245b78!important;
}
html:not([data-page="apart_map_smart"]) #box-center .modern-chart-tabs button.is-active{
  background:#17658f!important;
  border-color:#17658f!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(23,101,143,.20)!important;
}

/* ===== Apartment merged detail + analysis refresh 2026-09-28 ===== */
.apartment-detail-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin:14px 0 14px;padding:26px 28px;border:1px solid #d9e5ec;border-radius:22px;
  background:radial-gradient(circle at 92% 8%,rgba(62,139,175,.16),transparent 29%),linear-gradient(135deg,#fff,#f3f8fb);
  box-shadow:0 10px 32px rgba(24,57,78,.06)
}
.apartment-detail-hero__eyebrow,.detail-section-heading span,.detail-analysis__head>div>span,.detail-analysis-card-head>div>span{
  display:block;color:#25769b;font-size:12px;font-weight:950;letter-spacing:.09em
}
.apartment-detail-hero h1{margin:7px 0 6px!important;color:#17384e!important;font-size:32px!important;line-height:1.16!important;letter-spacing:-.045em}
.apartment-detail-hero p{margin:0;color:#7d8f9b;font-size:13px;line-height:1.5}
.apartment-detail-hero__meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.apartment-detail-hero__meta span{
  display:flex;min-width:98px;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #e0e8ed;border-radius:12px;background:rgba(255,255,255,.82)
}
.apartment-detail-hero__meta small{color:#94a1aa;font-size:12px}
.apartment-detail-hero__meta b{color:#31556c;font-size:13px}

.detail-analysis{
  scroll-margin-top:80px;margin:18px 0;padding:20px;border:1px solid #dce7ed;border-radius:22px;background:#f7fafc;
  box-shadow:0 10px 30px rgba(24,57,78,.05)
}
.detail-analysis__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.detail-analysis__head h2{margin:4px 0 4px!important;color:#17384e!important;font-size:23px!important;letter-spacing:-.035em}
.detail-analysis__head p{margin:0;color:#7e8f9a;font-size:12px}
.detail-analysis-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}
.detail-analysis-kpis article{
  min-width:0;padding:13px 12px;border:1px solid #e0e8ed;border-radius:14px;background:#fff
}
.detail-analysis-kpis span{display:block;color:#8b99a3;font-size:12px;font-weight:800}
.detail-analysis-kpis strong{display:block;margin-top:7px;color:#183d55;font-size:20px;line-height:1.15;letter-spacing:-.035em}
.detail-analysis-kpis small{display:block;margin-top:5px;overflow:hidden;color:#8d9aa3;font-size:12px;line-height:1.35;text-overflow:ellipsis}

.detail-analysis-chart-card,.detail-analysis-list-card,.detail-analysis-supply{
  border:1px solid #e0e8ed;border-radius:16px;background:#fff
}
.detail-analysis-chart-card{padding:14px 15px 8px}
.detail-analysis-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}
.detail-analysis-card-head h3{margin:3px 0 0!important;color:#284a60!important;font-size:15px!important}
.detail-analysis-card-head>small,.detail-analysis-card-head>a{color:#8b99a3!important;font-size:12px;text-decoration:none!important}
#detail-analysis-chart{height:310px}
.detail-analysis-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.detail-analysis-list-card{padding:13px 14px}
.detail-analysis-deals{display:flex;flex-direction:column}
.detail-analysis-deal{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 3px;border-top:1px solid #edf1f3
}
.detail-analysis-deal:first-child{border-top:0}
.detail-analysis-deal>div:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}
.detail-analysis-deal strong{color:#38566a;font-size:12px}
.detail-analysis-deal span{color:#8d9aa3;font-size:12px}
.detail-analysis-deal>b,.detail-analysis-rent-price b{color:#173b52;font-size:13px}
.detail-analysis-rent-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.detail-analysis-rent-price small{color:#8d9aa3;font-size:12px}

.detail-analysis-sale-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf1f3;border-left:3px solid #dfe6ea}
.detail-analysis-sale-row:first-child{border-top:0}.detail-analysis-sale-row.is-new-high{border-left-color:#e05260}.detail-analysis-sale-row.is-up{border-left-color:#e7a23d}.detail-analysis-sale-row.is-down{border-left-color:#5483c6}.detail-analysis-sale-row.is-new-low{border-left-color:#7a6bc2}
.detail-analysis-sale-main{min-width:0;padding-left:8px}.detail-analysis-sale-date{display:flex;align-items:center;gap:6px}.detail-analysis-sale-date strong{color:#36576c;font-size:12px}.detail-analysis-sale-main>span{display:block;margin-top:4px;color:#7f8f99;font-size:12px;white-space:normal}
.detail-analysis-sale-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf2f5;color:#667986;font-size:12px;font-style:normal;font-weight:900}.detail-analysis-sale-status.is-new-high{background:#fde9ed;color:#c93e53}.detail-analysis-sale-status.is-up{background:#fff0dc;color:#b97820}.detail-analysis-sale-status.is-down{background:#eaf1fb;color:#4876b3}.detail-analysis-sale-status.is-new-low{background:#eeeafb;color:#6e5db2}.detail-analysis-sale-status.is-same{background:#f0f1ec;color:#73735d}.detail-analysis-sale-status.is-new{background:#e9f4f8;color:#257694}
.detail-analysis-sale-price{display:flex;min-width:72px;flex-direction:column;align-items:flex-end;gap:2px}.detail-analysis-sale-price b{color:#173b52;font-size:14px}.detail-analysis-sale-price small{color:#8d9aa3;font-size:12px}
.detail-analysis-sale-tools{display:flex;min-width:98px;flex-direction:column;align-items:flex-end;gap:5px}.detail-analysis-registry{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f4f5ef;color:#8a7929;font-size:12px;font-weight:850}.detail-analysis-registry.is-done{background:#e5f5ec;color:#21805f}.detail-analysis-registry.is-pending{background:#fff4d8;color:#8a7929}.detail-analysis-registry.is-unavailable,.detail-analysis-registry.is-unknown{background:#eef2f4;color:#72828d}.detail-analysis-sale-tools button{padding:4px 8px;border:1px solid #cfdae1;border-radius:9px;background:#fff;color:#2e657e;font-size:12px;font-weight:850;cursor:pointer}
.detail-analysis-empty{padding:17px 8px;color:#93a0a8;font-size:12px;text-align:center}
.detail-analysis-supply{margin-top:10px;padding:13px 14px}
.detail-analysis-supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.detail-analysis-supply-grid article{
  display:flex;min-width:0;flex-direction:column;gap:4px;padding:11px;border:1px solid #e4eaee;border-radius:12px;background:#fbfcfd
}
.detail-analysis-supply-grid article>span{color:#24779d;font-size:12px;font-weight:850}
.detail-analysis-supply-grid article>strong{overflow:hidden;color:#315166;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.detail-analysis-supply-grid article>small{overflow:hidden;color:#8d9aa3;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.detail-analysis-supply-grid article>b{margin-top:4px;color:#173b52;font-size:12px}

.detail-facts-card{margin:16px 0;padding:18px;border:1px solid #dde7ed;border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(25,58,77,.04)}
.detail-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}
.detail-section-heading h2{margin:3px 0 0!important;color:#274a61!important;font-size:18px!important;letter-spacing:-.03em}
.detail-section-heading p{margin:0;color:#8d9aa3;font-size:12px}
.detail-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.detail-facts-grid>div{
  min-width:0;display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #e3eaee;border-radius:12px;background:#fbfcfd
}
.detail-facts-grid>div.is-wide{grid-column:span 2}
.detail-facts-grid small{color:#8d9aa3;font-size:12px;font-weight:800}
.detail-facts-grid b{color:#315166;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.detail-facts-grid em{color:#8b99a3;font-size:12px;font-style:normal}

.detail-quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.detail-quick-links a{
  display:flex;min-height:62px;flex-direction:column;justify-content:center;gap:4px;padding:11px 13px;
  border:1px solid #dbe5eb;border-radius:13px;background:#fff;color:#31556c!important;text-decoration:none!important
}
.detail-quick-links a span{color:#8d9aa3;font-size:12px;font-weight:850}
.detail-quick-links a b{font-size:12px}
.detail-quick-links a.is-primary{border-color:#245f82;background:#245f82;color:#fff!important}
.detail-quick-links a.is-primary span{color:#cfe2ec}

.detail-transactions{scroll-margin-top:80px;margin:18px 0}
.detail-transaction-table-wrap{overflow:hidden;border:1px solid #dce5ea;border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(24,57,78,.04)}
.detail-transaction-table{width:100%!important;margin:0!important;border:0!important;border-collapse:collapse!important;table-layout:auto!important}
.detail-transaction-table thead th{
  padding:11px 12px!important;border:0!important;border-bottom:1px solid #dfe7eb!important;background:#f2f6f8!important;
  color:#607887!important;font-size:12px!important;font-weight:900!important;text-align:left!important
}
.detail-transaction-table thead th:nth-child(3){text-align:right!important}
.detail-transaction-table tbody td{
  padding:13px 12px!important;border:0!important;border-bottom:1px solid #edf1f3!important;background:#fff!important;
  color:#4c6474!important;font-size:12px!important;text-align:left!important;vertical-align:middle!important
}
.detail-transaction-table tbody tr:last-child td{border-bottom:0!important}
.detail-transaction-table tbody tr:hover td{background:#fafcfd!important}
.detail-transaction-table td>strong{display:block;color:#315166;font-size:12px}
.detail-transaction-table td>small{display:block;margin-top:3px;color:#8f9da6;font-size:12px}
.detail-transaction-table .deal-price-cell{text-align:right!important}
.detail-transaction-table .deal-price-cell strong{color:#143f59;font-size:17px}
.deal-type-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f1f5f7;color:#587080;font-size:12px;font-weight:850}
.detail-transaction-table .deal-card-btn{display:inline-flex;min-width:42px;min-height:30px;align-items:center;justify-content:center;padding:0 8px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;color:#31627d!important;font-size:12px!important;text-decoration:none!important}
.detail-transaction-table tr.is-cancelled{opacity:.55}
.deal-cancelled-text{color:#cf5a64!important;font-weight:800}

@media(max-width:900px){
  .detail-analysis-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-analysis-supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .apartment-detail-hero{align-items:stretch;flex-direction:column;margin:10px 0 12px;padding:18px 16px;border-radius:18px}
  .apartment-detail-hero h1{font-size:24px!important}
  .apartment-detail-hero p{font-size:12px}
  .apartment-detail-hero__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .apartment-detail-hero__meta span{min-width:0;padding:9px}
  .apartment-detail-hero__meta small{font-size:12px}
  .apartment-detail-hero__meta b{font-size:12px}

  .detail-analysis{margin:13px 0;padding:13px;border-radius:18px}
  .detail-analysis__head{align-items:flex-start;flex-direction:column;gap:4px}
  .detail-analysis__head h2{font-size:19px!important}
  .detail-analysis__head p{font-size:12px;line-height:1.45}
  .detail-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .detail-analysis-kpis article{padding:11px 10px}
  .detail-analysis-kpis strong{font-size:17px}
  .detail-analysis-kpis span{font-size:12px}
  .detail-analysis-kpis small{font-size:12px}
  #detail-analysis-chart{height:260px}
  .detail-analysis-two-col{grid-template-columns:1fr}
  .detail-analysis-sale-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0}
  .detail-analysis-sale-price{min-width:68px}
  .detail-analysis-sale-tools{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;padding:0 0 0 8px}
  .detail-analysis-supply-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:3px}
  .detail-analysis-supply-grid article{flex:0 0 77%;scroll-snap-align:start}

  .detail-facts-card{padding:13px;border-radius:16px}
  .detail-section-heading{align-items:flex-start;flex-direction:column;gap:2px}
  .detail-section-heading h2{font-size:16px!important}
  .detail-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .detail-facts-grid>div,.detail-facts-grid>div.is-wide{grid-column:span 1;padding:10px}
  .detail-facts-grid b{font-size:12px}

  .detail-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .detail-quick-links a{min-height:56px;padding:9px 10px}
  .detail-quick-links a b{font-size:12px}

  .detail-transaction-table-wrap{border:0;background:transparent;box-shadow:none;overflow:visible}
  .detail-transaction-table,.detail-transaction-table tbody{display:block!important}
  .detail-transaction-table thead{display:none!important}
  .detail-transaction-table tbody tr{
    display:grid!important;grid-template-columns:1fr 1fr;gap:0 12px;margin:0 0 10px;padding:12px 13px;
    border:1px solid #dfe7eb;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(24,57,78,.04)
  }
  .detail-transaction-table tbody td{
    display:block!important;padding:8px 0!important;border:0!important;border-bottom:1px dashed #e9eef1!important;background:transparent!important;text-align:left!important
  }
  .detail-transaction-table tbody td::before{content:attr(data-label);display:block;margin-bottom:3px;color:#95a2aa;font-size:12px;font-weight:850}
  .detail-transaction-table tbody td:nth-child(1),.detail-transaction-table tbody td:nth-child(2){grid-column:span 1}
  .detail-transaction-table tbody td:nth-child(3){grid-column:1 / -1;padding:10px 0!important}
  .detail-transaction-table tbody td:nth-child(4){grid-column:1 / -1}
  .detail-transaction-table tbody td:nth-child(5),.detail-transaction-table tbody td:nth-child(6){border-bottom:0!important}
  .detail-transaction-table .deal-price-cell{text-align:left!important}
  .detail-transaction-table .deal-price-cell strong{font-size:20px}
}

/* finish favorite UI rules if previous request was interrupted */
.detail-favorite-row{display:flex;justify-content:flex-end;margin:10px 0 7px}
.detail-favorite-btn{display:inline-flex!important;align-items:center;gap:9px;min-height:46px;padding:7px 13px 7px 10px;border:1px solid #d7e3e9;border-radius:13px;background:#fff;color:#3d5e72!important;text-decoration:none!important;box-shadow:0 4px 14px rgba(24,57,78,.05)}
.detail-favorite-btn__icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:10px;background:#f3f7f9;color:#718797;font-size:21px}
.detail-favorite-btn>span:last-child{display:flex;flex-direction:column;gap:1px;text-align:left}.detail-favorite-btn strong{font-size:12px;color:#31556c}.detail-favorite-btn small{font-size:12px;color:#94a1a9}
.detail-favorite-btn.is-active{border-color:#efc7cc;background:#fff7f7}.detail-favorite-btn.is-active .detail-favorite-btn__icon{background:#ffe9eb;color:#d84f5b}.detail-favorite-btn.is-active strong{color:#bd3f4d}

.detail-analysis-canvas-wrap{height:310px}
@media(max-width:700px){.detail-analysis-canvas-wrap{height:260px}}

/* ===== New transaction cards: apartment / officetel / villa 2026-09-28 ===== */
.today-deal-section{
  margin:22px 0 34px;
}
.today-deal-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  padding:0 2px 13px;
}
.today-deal-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#24779d;
  font-size:12px;
  font-weight:950;
  letter-spacing:.1em;
}
.today-deal-section__head h2{
  margin:0!important;
  color:#173c54!important;
  font-size:24px!important;
  line-height:1.25!important;
  letter-spacing:-.04em;
}
.today-deal-section__head p{
  margin:5px 0 0;
  color:#8a99a3;
  font-size:12px;
  line-height:1.45;
}
.today-deal-money{
  display:flex;
  gap:7px;
  flex-shrink:0;
}
.today-deal-money>span{
  display:flex;
  min-width:98px;
  flex-direction:column;
  gap:2px;
  padding:9px 11px;
  border:1px solid #e1e8ec;
  border-radius:12px;
  background:#fff;
}
.today-deal-money small{
  color:#8796a0;
  font-size:12px;
  font-weight:800;
}
.today-deal-money b{
  font-size:13px;
}
.today-deal-money .is-up b{color:#17804f}
.today-deal-money .is-down b{color:#c44b59}

.today-deal-summary{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  margin-bottom:10px;
}
.today-deal-summary__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-width:0;
  padding:8px 10px;
  border:1px solid #e1e8ec;
  border-radius:11px;
  background:#fff;
}
.today-deal-summary__item span{
  color:#81919c;
  font-size:12px;
  font-weight:800;
}
.today-deal-summary__item b{
  color:#35566b;
  font-size:12px;
}
.today-deal-summary__item.is-record-high{
  border-color:#bfe3cf;background:#f3fbf6;
}
.today-deal-summary__item.is-record-high b,
.today-deal-summary__item.is-up b{color:#16804e}
.today-deal-summary__item.is-down{
  border-color:#efced2;background:#fff7f8;
}
.today-deal-summary__item.is-down b{color:#c24d59}
.today-deal-summary__item.is-new{
  border-color:#cbdde8;background:#f4f9fc;
}
.today-deal-summary__item.is-new b{color:#26739a}
.today-deal-summary__item.is-muted{
  background:#fafcfd;
}

.today-deal-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.today-deal-card{
  overflow:hidden;
  border:1px solid #dfe7ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(24,57,78,.045);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.today-deal-card:hover{
  border-color:#cbd9e1;
  box-shadow:0 8px 22px rgba(24,57,78,.07);
  transform:translateY(-1px);
}
.today-deal-card__main{
  display:grid!important;
  grid-template-columns:minmax(230px,1.9fr) minmax(135px,.85fr) minmax(150px,.9fr) minmax(200px,1.15fr) minmax(145px,.8fr);
  align-items:stretch;
  width:100%;
  color:inherit!important;
  text-decoration:none!important;
}
.today-deal-card__main>div{
  min-width:0;
  padding:15px 14px;
  border-right:1px solid #edf1f3;
}
.today-deal-card__main>div:last-child{border-right:0}

.today-deal-card__title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.today-deal-card__title>div{
  min-width:0;
}
.today-deal-card__title strong{
  display:block;
  overflow:hidden;
  margin-bottom:5px;
  color:#155f87;
  font-size:15px;
  font-weight:950;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.today-deal-card__title span{
  display:block;
  overflow:hidden;
  color:#7e909d;
  font-size:12px;
  font-weight:650;
  line-height:1.5;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.today-status-badge{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:0 8px;
  border-radius:999px;
  font-size:12px;
  font-style:normal;
  font-weight:950;
}
.today-status-badge.is-record-high,
.today-status-badge.is-up{background:#e8f7ef;color:#14794a}
.today-status-badge.is-same{background:#fff7da;color:#8b6d19}
.today-status-badge.is-down,
.today-status-badge.is-record-low{background:#fdecee;color:#bb4654}
.today-status-badge.is-new{background:#eaf4fa;color:#216f97}

.today-deal-card__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px;
  align-content:center;
}
.today-deal-card__meta>span:last-child{grid-column:1/-1}
.today-deal-card__meta small,
.today-deal-card__price small,
.today-deal-card__compare small,
.today-deal-card__peak>small{
  display:block;
  margin-bottom:3px;
  color:#93a0a9;
  font-size:12px;
  font-weight:800;
}
.today-deal-card__meta b{
  color:#37576b;
  font-size:12px;
}
.today-deal-card__meta b.is-direct{color:#c14856}

.today-deal-card__price{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#f8fbfc;
}
.today-deal-card__price strong{
  color:#173e57;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.04em;
}
.today-deal-card__price .trend{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:4px 7px;
  border-radius:7px;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.today-deal-card__price .trend.is-up{background:#e9f7ef;color:#147b4b}
.today-deal-card__price .trend.is-down{background:#fdecee;color:#bd4654}
.today-deal-card__price .trend.is-same{background:#f5f5ef;color:#77745d}
.today-deal-card__price .trend.is-new{background:#eaf4fa;color:#226f96}

.today-deal-card.is-record-high .today-deal-card__price{
  background:linear-gradient(135deg,#f0fbf5,#f8fcfa);
  box-shadow:inset 3px 0 0 #45a773;
}
.today-deal-card.is-up .today-deal-card__price{
  background:#f6fbf8;
  box-shadow:inset 3px 0 0 #7abc96;
}
.today-deal-card.is-down .today-deal-card__price,
.today-deal-card.is-record-low .today-deal-card__price{
  background:#fff8f8;
  box-shadow:inset 3px 0 0 #dc7a84;
}

.today-deal-card__compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-content:center;
}
.today-deal-card__compare>div{
  min-width:0;
}
.today-deal-card__compare b{
  display:block;
  color:#35566b;
  font-size:12px;
  line-height:1.25;
}
.today-deal-card__compare span{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#97a3aa;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.today-deal-card__peak{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.today-deal-card__peak strong{
  color:#36566b;
  font-size:13px;
  line-height:1.25;
}
.today-deal-card__peak strong.is-up{color:#15804d}
.today-deal-card__peak strong.is-down{color:#c34b58}
.today-deal-card__peak>span{
  margin-top:2px;
  color:#81919c;
  font-size:12px;
  font-weight:800;
}
.today-deal-card__peak em{
  display:block;
  margin-top:6px;
  color:#98a4ab;
  font-size:12px;
  font-style:normal;
  line-height:1.4;
}
.today-deal-empty{
  padding:34px 18px;
  border:1px dashed #dbe5ea;
  border-radius:14px;
  background:#fbfcfd;
  color:#8b99a3;
  font-size:12px;
  text-align:center;
}

@media(max-width:900px){
  .today-deal-card__main{
    grid-template-columns:minmax(200px,1.6fr) minmax(120px,.8fr) minmax(140px,.85fr) minmax(165px,1fr);
  }
  .today-deal-card__peak{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:auto auto 1fr;
    align-items:center;
    gap:8px;
    padding-top:9px!important;
    padding-bottom:9px!important;
    border-top:1px solid #edf1f3;
  }
  .today-deal-card__peak small{margin:0}
  .today-deal-card__peak em{margin:0;text-align:right}
}

@media(max-width:700px){
  .today-deal-section{margin:16px 0 26px}
  .today-deal-section__head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding-bottom:10px;
  }
  .today-deal-section__head h2{font-size:20px!important}
  .today-deal-section__head p{font-size:12px}
  .today-deal-money{
    width:100%;
  }
  .today-deal-money>span{
    flex:1;
    min-width:0;
  }
  .today-deal-summary{
    display:flex;
    overflow-x:auto;
    gap:6px;
    padding:0 0 4px;
    scrollbar-width:none;
  }
  .today-deal-summary::-webkit-scrollbar{display:none}
  .today-deal-summary__item{
    flex:0 0 auto;
    min-width:78px;
    gap:10px;
  }
  .today-deal-card{
    border-radius:14px;
  }
  .today-deal-card__main{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .today-deal-card__main>div{
    padding:11px 12px;
    border-right:0;
    border-bottom:1px solid #edf1f3;
  }
  .today-deal-card__title{
    grid-column:1/-1;
    padding-bottom:12px!important;
  }
  .today-deal-card__title strong{
    font-size:15px;
  }
  .today-deal-card__title span{
    white-space:normal;
  }
  .today-deal-card__meta{
    grid-column:1/-1;
    grid-template-columns:repeat(3,1fr);
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
  .today-deal-card__meta>span:last-child{grid-column:auto}
  .today-deal-card__meta>span{
    padding-right:7px;
    border-right:1px solid #eef2f4;
  }
  .today-deal-card__meta>span:last-child{border-right:0}
  .today-deal-card__price{
    grid-column:1/-1;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  .today-deal-card__price strong{
    font-size:23px;
  }
  .today-deal-card__compare{
    grid-column:1/-1;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .today-deal-card__compare>div:first-child{
    padding-right:10px;
    border-right:1px solid #edf1f3;
  }
  .today-deal-card__peak{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:auto auto;
    gap:3px 10px;
    border-bottom:0!important;
  }
  .today-deal-card__peak em{
    grid-column:1/-1;
    margin-top:3px;
    text-align:left;
  }
}


/* ===== Desktop readability boost for transaction cards 2026-09-28 ===== */
@media(min-width:701px){
  .today-deal-section__head h2{font-size:27px!important}
  .today-deal-section__head p{font-size:12px}
  .today-deal-eyebrow{font-size:12px}

  .today-deal-money small{font-size:12px}
  .today-deal-money b{font-size:15px}

  .today-deal-summary__item{padding:10px 12px}
  .today-deal-summary__item span{font-size:12px}
  .today-deal-summary__item b{font-size:13px}

  .today-deal-card__main>div{padding:17px 16px}
  .today-deal-card__title strong{font-size:18px}
  .today-deal-card__title span{font-size:12px}
  .today-status-badge{min-height:28px;padding:0 10px;font-size:12px}

  .today-deal-card__meta small,
  .today-deal-card__price small,
  .today-deal-card__compare small,
  .today-deal-card__peak>small{font-size:12px}
  .today-deal-card__meta b{font-size:13px}

  .today-deal-card__price strong{font-size:24px}
  .today-deal-card__price .trend{font-size:12px;padding:5px 8px}

  .today-deal-card__compare b{font-size:14px}
  .today-deal-card__compare span{font-size:12px}

  .today-deal-card__peak strong{font-size:15px}
  .today-deal-card__peak>span{font-size:12px}
  .today-deal-card__peak em{font-size:12px}

  .today-deal-empty{font-size:13px}
}

/* ===== Step 1: unify search-result content width across asset types ===== */
@media(min-width:761px){
  html[data-page="apart_home"] #container,
  html[data-page="apart_home_rent"] #container{
    width:min(calc(100% - 40px),1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  html[data-page="apart_home"] #box-center,
  html[data-page="apart_home_rent"] #box-center{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
    flex:none!important;
  }
  html[data-page="apart_home"] body > .page-hero,
  html[data-page="apart_home"] body > .query-panel,
  html[data-page="apart_home"] body > .search-result-heading,
  html[data-page="apart_home"] body > .market-list-table,
  html[data-page="apart_home"] body > h2,
  html[data-page="apart_home"] body > .thp-open-map-wrap,
  html[data-page="apart_home"] body > .thp-legacy-footer{
    width:min(calc(100% - 40px),1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}
@media(min-width:761px){
  html[data-page="apart_home"] body > .query-panel.detail-query.search-filter-card{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ===== Step 2 final: real card component for search results ===== */
.market-search-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  margin:0 0 28px;
}
.market-search-card{
  display:grid!important;
  grid-template-columns:minmax(280px,1.9fr) minmax(112px,.72fr) minmax(155px,.95fr) repeat(3,minmax(130px,.82fr));
  width:100%;
  overflow:hidden;
  border:1px solid #dfe8ed;
  border-radius:16px;
  background:#fff;
  color:inherit!important;
  text-decoration:none!important;
  box-shadow:0 5px 16px rgba(24,57,78,.045);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.market-search-card:hover{
  border-color:#cbdbe3;
  box-shadow:0 9px 22px rgba(24,57,78,.075);
  transform:translateY(-1px);
}
.market-search-card>div{
  min-width:0;
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px 16px;
  border-right:1px solid #edf1f3;
  box-sizing:border-box;
}
.market-search-card>div:last-child{border-right:0}
.market-search-card__title{
  padding-left:18px!important;
  background:linear-gradient(135deg,#fff,#fbfdfe);
}
.market-search-card__title>span,
.market-search-card__metric>span{
  display:block;
  margin-bottom:5px;
  color:#91a0a9;
  font-size:12px;
  font-weight:850;
}
.market-search-card__title>span{
  color:#28769a;
  font-size:12px;
  letter-spacing:.06em;
}
.market-search-card__title strong{
  display:block;
  overflow:hidden;
  color:#145f86;
  font-size:18px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.market-search-card__title small{
  display:block;
  overflow:hidden;
  margin-top:5px;
  color:#718694;
  font-size:12px;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.market-search-card__metric strong{
  color:#284b61;
  font-size:16px;
  line-height:1.3;
}
.market-search-card__metric small{
  display:block;
  margin-top:4px;
  color:#8f9ca5;
  font-size:12px;
  line-height:1.4;
}
.market-search-card__metric em{
  display:block;
  margin-top:5px;
  color:#748b9a;
  font-size:12px;
  font-style:normal;
}
.market-search-card__metric.is-diff{
  background:#fff8f8;
  box-shadow:inset 3px 0 0 #e08b94;
}
.market-search-card__metric.is-diff strong{color:#b6404e;font-size:17px}
.market-search-card__metric.is-diff.is-peak{
  background:#f3fbf6;
  box-shadow:inset 3px 0 0 #63b184;
}
.market-search-card__metric.is-diff.is-peak strong{color:#177a4b}
.market-search-card__metric.is-current strong{
  color:#143f59;
  font-size:20px;
}
.market-search-empty{
  padding:32px 18px;
  border:1px dashed #d7e3e9;
  border-radius:14px;
  background:#fbfcfd;
  color:#8c9aa3;
  font-size:12px;
  text-align:center;
}

@media(min-width:761px){
  html[data-page="apart_home"] body > .market-search-cards{
    width:min(calc(100% - 40px),1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:900px) and (min-width:761px){
  .market-search-card{
    grid-template-columns:minmax(220px,1.5fr) 100px 140px repeat(3,minmax(115px,.85fr));
  }
  .market-search-card>div{padding:13px 12px}
}

@media(max-width:760px){
  .market-search-cards{gap:9px;margin-bottom:22px}
  .market-search-card{
    grid-template-columns:1fr 1fr;
    border-radius:14px;
  }
  .market-search-card>div{
    min-height:0;
    padding:11px 12px;
    border-right:0;
    border-bottom:1px solid #edf1f3;
  }
  .market-search-card__title{
    grid-column:1/-1;
    padding:13px 12px!important;
  }
  .market-search-card__title strong{font-size:16px}
  .market-search-card__title small{white-space:normal;font-size:12px}
  .market-search-card__metric strong{font-size:15px}
  .market-search-card__metric.is-current strong{font-size:19px}
  .market-search-card__metric.is-diff{grid-column:1/-1}
  .market-search-card__metric.is-current{grid-column:1/-1}
  .market-search-card__metric:nth-last-child(-n+2){border-bottom:0}
}

/* ===== Step 3: apartment rent detail polish ===== */
.rent-detail-table .rent-monthly-price{color:#24779d!important;font-size:16px!important}
.rent-detail-table tr.is-monthly .deal-price-cell strong{color:#24779d}
@media(max-width:700px){
  .rent-detail-table tbody td:nth-child(1),
  .rent-detail-table tbody td:nth-child(2){grid-column:span 1}
  .rent-detail-table tbody td:nth-child(3){grid-column:1/-1}
  .rent-detail-table tbody td:nth-child(4),
  .rent-detail-table tbody td:nth-child(5){grid-column:span 1;border-bottom:0!important}
}

/* ===== Step 4: unified favorites UI ===== */
.favorite-page-hero{
  margin:14px 0 12px;
  padding:22px 24px;
  border:1px solid #dbe6ec;
  border-radius:20px;
  background:radial-gradient(circle at 92% 10%,rgba(52,130,166,.12),transparent 30%),linear-gradient(135deg,#fff,#f4f9fb);
  box-shadow:0 8px 26px rgba(24,57,78,.05);
}
.favorite-page-eyebrow{
  display:block;margin-bottom:5px;color:#24779d;font-size:12px;font-weight:950;letter-spacing:.1em;
}
.favorite-page-hero h1{margin:0!important;color:#173b53!important;font-size:27px!important;letter-spacing:-.04em}
.favorite-page-hero p{margin:6px 0 0;color:#7e909c;font-size:12px;line-height:1.5}

.favorite-settings-card{
  margin:0 0 20px;padding:17px 18px;border:1px solid #dde7ed;border-radius:17px;background:#fff;
  box-shadow:0 6px 20px rgba(24,57,78,.04);
}
.favorite-settings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px}
.favorite-settings-head>div>span,.favorite-list-heading>div>span{display:block;color:#28789d;font-size:12px;font-weight:950;letter-spacing:.08em}
.favorite-settings-head h2,.favorite-list-heading h2{margin:3px 0 0!important;color:#294b61!important;font-size:17px!important;letter-spacing:-.03em}
.favorite-settings-head p{margin:0;color:#8c9aa3;font-size:12px}
.favorite-settings-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(360px,1.6fr) minmax(240px,1fr);gap:9px}
.favorite-setting-item{display:flex;min-width:0;flex-direction:column;gap:7px;padding:11px 12px;border:1px solid #e1e8ec;border-radius:12px;background:#fbfcfd}
.favorite-setting-item>span{color:#7c8f9c;font-size:12px;font-weight:850}
.favorite-setting-item select{width:100%;min-height:38px;padding:0 10px;border:1px solid #d5e1e7;border-radius:9px;background:#fff;color:#31556c;font-size:12px;font-weight:750}
.favorite-size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.favorite-check{display:flex;align-items:center;gap:6px;min-height:32px;padding:5px 7px;border:1px solid #e1e8ec;border-radius:8px;background:#fff;cursor:pointer}
.favorite-check input{width:16px;height:16px;margin:0;accent-color:#24779d}
.favorite-check span{color:#526e80;font-size:12px;font-weight:750;white-space:nowrap}
.favorite-email-toggle{display:flex;align-items:center;gap:8px;min-height:38px;cursor:pointer}
.favorite-email-toggle>input{position:absolute;opacity:0;pointer-events:none}
.favorite-switch{position:relative;flex:0 0 38px;width:38px;height:22px;border-radius:999px;background:#d8e2e7;transition:.15s}
.favorite-switch:after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16);transition:.15s}
.favorite-email-toggle input:checked + .favorite-switch{background:#24779d}
.favorite-email-toggle input:checked + .favorite-switch:after{transform:translateX(16px)}
.favorite-email-toggle b{color:#4d6879;font-size:12px;line-height:1.4}

.favorite-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 9px;padding:0 2px}
.favorite-list-heading>b{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 9px;border-radius:9px;background:#eef5f8;color:#2b6d90;font-size:12px}
.favorite-list-heading + .market-search-cards{margin-bottom:28px}

/* favorite action: never collapse into vertical copy on desktop */
@media(min-width:701px){
  .property-detail-hero .property-favorite{
    display:flex!important;flex:0 0 auto!important;width:auto!important;min-width:178px!important;max-width:none!important;
    height:auto!important;min-height:48px!important;padding:7px 12px 7px 8px!important;gap:9px!important;
    align-items:center!important;justify-content:flex-start!important;writing-mode:horizontal-tb!important;white-space:normal!important;
  }
  .property-detail-hero .property-favorite__icon{flex:0 0 32px!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .property-detail-hero .property-favorite__copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important;writing-mode:horizontal-tb!important}
  .property-detail-hero .property-favorite__copy strong,
  .property-detail-hero .property-favorite__copy small{display:block!important;width:auto!important;white-space:nowrap!important;writing-mode:horizontal-tb!important}
}

@media(max-width:760px){
  .favorite-page-hero{padding:17px 15px;border-radius:17px}
  .favorite-page-hero h1{font-size:23px!important}
  .favorite-page-hero p{font-size:12px}
  .favorite-settings-card{padding:13px}
  .favorite-settings-head{align-items:flex-start;flex-direction:column;gap:3px}
  .favorite-settings-grid{grid-template-columns:1fr}
  .favorite-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .favorite-setting-item select{min-height:44px;font-size:12px}
  .favorite-check{min-height:40px}
  .favorite-check span{font-size:12px}
  .favorite-email-toggle{min-height:44px}
  .favorite-email-toggle b{font-size:12px}
}

/* ===== Step 1: search/detail-home consistent desktop width 2026-09-28 ===== */
@media(min-width:761px){
  html[data-page="apart_home"] body > table,
  html[data-page="apart_home_rent"] body > table{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html[data-page="apart_home"] body > h1,
  html[data-page="apart_home"] body > h2,
  html[data-page="apart_home"] body > h3,
  html[data-page="apart_home"] body > p,
  html[data-page="apart_home_rent"] body > h1,
  html[data-page="apart_home_rent"] body > h2,
  html[data-page="apart_home_rent"] body > h3,
  html[data-page="apart_home_rent"] body > p{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html[data-page="apart_home"] body > .page-hero,
  html[data-page="apart_home"] body > .query-panel,
  html[data-page="apart_home"] body > .search-result-heading,
  html[data-page="apart_home"] body > .market-search-cards,
  html[data-page="apart_home"] body > .thp-open-map-wrap,
  html[data-page="apart_home"] body > .thp-legacy-footer,
  html[data-page="apart_home_rent"] body > .page-hero,
  html[data-page="apart_home_rent"] body > .query-panel,
  html[data-page="apart_home_rent"] body > .search-result-heading,
  html[data-page="apart_home_rent"] body > .market-search-cards,
  html[data-page="apart_home_rent"] body > .thp-open-map-wrap,
  html[data-page="apart_home_rent"] body > .thp-legacy-footer{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(min-width:761px){
  html[data-page="apart_home_rent"] #container{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html[data-page="apart_home_rent"] #box-center{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    flex:0 0 100%!important;
  }
}

/* Step 4 favorite action: compact and safe on mobile */
@media(max-width:700px){
  .property-detail-hero .property-favorite{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    flex:0 0 44px!important;
    overflow:hidden!important;
  }
  .property-detail-hero .property-favorite__icon{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .property-detail-hero .property-favorite__copy{display:none!important}
}

/* Step 1 final: outer wrappers use the same centered desktop width */
@media(min-width:761px){
  html[data-page="apart_home"] body #container,
  html[data-page="apart_home_rent"] body #container{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html[data-page="apart_home"] body #box-center,
  html[data-page="apart_home_rent"] body #box-center{
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ===== AI forecast card on apartment detail ===== */
.detail-ai-card{
  margin:16px 0;padding:17px;border:1px solid #d9e7ee;border-radius:18px;
  background:linear-gradient(145deg,#f8fbfd,#fff);
  box-shadow:0 8px 24px rgba(24,57,78,.05)
}
.detail-ai-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.detail-ai-card__head>div>span{display:block;color:#2a81a8;font-size:12px;font-weight:950;letter-spacing:.09em}
.detail-ai-card__head h2{margin:4px 0 3px!important;color:#234b62!important;font-size:19px!important;letter-spacing:-.03em}
.detail-ai-card__head p{margin:0;color:#8b99a3;font-size:12px;line-height:1.45}
.detail-ai-confidence{flex-shrink:0;padding:5px 8px;border-radius:999px;background:#edf7f1;color:#17764a;font-size:12px;font-weight:900}
.detail-ai-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.detail-ai-prices article{display:flex;min-width:0;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #e2e9ed;border-radius:12px;background:#fff}
.detail-ai-prices article.is-focus{border-color:#58a0bf;background:#eff8fc;box-shadow:0 4px 12px rgba(42,129,168,.08)}
.detail-ai-prices span{color:#8697a1;font-size:12px;font-weight:850}
.detail-ai-prices strong{color:#224c64;font-size:17px;line-height:1.2}
.detail-ai-prices b{width:max-content;padding:3px 5px;border-radius:6px;background:#e9f7ef;color:#167c4b;font-size:12px}
.detail-ai-prices b.is-down{background:#fdecee;color:#bd4654}
.detail-ai-prices small{color:#94a1a9;font-size:12px}
.detail-ai-card__foot{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:stretch;margin-top:9px}
.detail-ai-card__foot>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:9px 10px;border-radius:10px;background:#f5f8fa}
.detail-ai-card__foot>div b{font-size:12px;color:#557080}.detail-ai-card__foot>div span{overflow:hidden;color:#768994;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.detail-ai-card__foot>a{display:flex;align-items:center;justify-content:center;padding:0 11px;border-radius:10px;background:#1d668c;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:900}
.detail-ai-note{margin:8px 2px 0;color:#98a4ab;font-size:12px;line-height:1.45}
@media(max-width:700px){
  .detail-ai-card{padding:12px;border-radius:15px}
  .detail-ai-card__head{flex-direction:column;gap:7px}
  .detail-ai-card__head h2{font-size:17px!important}
  .detail-ai-prices{grid-template-columns:repeat(2,1fr)}
  .detail-ai-card__foot{grid-template-columns:1fr}
  .detail-ai-card__foot>a{min-height:42px}
}


.detail-ai-prices article.is-longterm{border-color:#d9d1f2;background:#f8f5ff}
.detail-ai-prices article.is-longterm span{color:#7263a5}
.detail-ai-prices article.is-longterm strong{color:#5b4998}

/* ===== AI fair value card on apartment detail ===== */
.detail-fair-card{
  margin:16px 0;padding:17px;border:1px solid #e1e7dc;border-radius:18px;
  background:linear-gradient(145deg,#fbfcf8,#fff);
  box-shadow:0 8px 24px rgba(46,64,34,.05)
}
.detail-fair-card.is-low{border-color:#cfe6da;background:linear-gradient(145deg,#f5fbf7,#fff)}
.detail-fair-card.is-high{border-color:#eadfc6;background:linear-gradient(145deg,#fffaf0,#fff)}
.detail-fair-card.is-anomaly{border-color:#ecd7da;background:linear-gradient(145deg,#fff7f7,#fff)}
.detail-fair-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.detail-fair-head>div>span{display:block;color:#608438;font-size:12px;font-weight:950;letter-spacing:.09em}
.detail-fair-head h2{margin:4px 0 3px!important;color:#334b29!important;font-size:19px!important;letter-spacing:-.03em}
.detail-fair-head p{margin:0;max-width:760px;color:#8b9586;font-size:12px;line-height:1.5}
.detail-fair-score{flex-shrink:0;padding:5px 8px;border-radius:999px;background:#eef5e9;color:#4b742d;font-size:12px;font-weight:900}
.detail-fair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.detail-fair-grid article{display:flex;min-width:0;flex-direction:column;gap:4px;padding:12px;border:1px solid #e5e9e1;border-radius:12px;background:#fff}
.detail-fair-grid article.is-center{border-color:#a8c987;background:#f4faee;box-shadow:0 4px 12px rgba(91,128,55,.08)}
.detail-fair-grid span{color:#889381;font-size:12px;font-weight:850}
.detail-fair-grid strong{color:#364b2e;font-size:18px;line-height:1.2}
.detail-fair-grid b{width:max-content;padding:3px 5px;border-radius:6px;background:#eef6e9;color:#527a34;font-size:12px}
.detail-fair-grid b.is-down{background:#eef5fb;color:#426d90}
.detail-fair-grid small{color:#98a191;font-size:12px}
.detail-fair-result{display:flex;align-items:center;gap:9px;margin-top:9px;padding:10px 11px;border-radius:11px;background:#f4f7f1}
.detail-fair-result strong{flex-shrink:0;padding:4px 7px;border-radius:7px;background:#e7f1df;color:#4a712e;font-size:12px}
.detail-fair-result span{color:#6f7b69;font-size:12px;line-height:1.45}
.detail-fair-card.is-high .detail-fair-result{background:#fff7e8}.detail-fair-card.is-high .detail-fair-result strong{background:#f8e8c8;color:#916719}
.detail-fair-card.is-low .detail-fair-result{background:#f0f8f4}.detail-fair-card.is-low .detail-fair-result strong{background:#dff1e7;color:#26734b}
.detail-fair-card.is-anomaly .detail-fair-result{background:#fff0f1}.detail-fair-card.is-anomaly .detail-fair-result strong{background:#f5dfe2;color:#a14654}
.detail-fair-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.detail-fair-meta>span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:8px 9px;border:1px solid #e8ebe5;border-radius:10px;background:#fff}
.detail-fair-meta small{color:#9aa294;font-size:12px}.detail-fair-meta b{color:#56654f;font-size:12px}
.detail-fair-note{margin:8px 2px 0;color:#99a094;font-size:12px;line-height:1.45}
@media(max-width:700px){
  .detail-fair-card{padding:12px;border-radius:15px}
  .detail-fair-head{flex-direction:column;gap:7px}
  .detail-fair-head h2{font-size:17px!important}
  .detail-fair-grid{grid-template-columns:1fr 1fr}
  .detail-fair-grid article:last-child{grid-column:1/-1}
  .detail-fair-meta{grid-template-columns:repeat(2,1fr)}
  .detail-fair-result{align-items:flex-start;flex-direction:column}
}

/* ===== Similar complex comparison card ===== */
.detail-peer-card{
  margin:16px 0;padding:17px;border:1px solid #dde4ef;border-radius:18px;
  background:linear-gradient(145deg,#f8faff,#fff);
  box-shadow:0 8px 24px rgba(50,70,110,.05)
}
.detail-peer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.detail-peer-head>div>span{display:block;color:#5b6fb0;font-size:12px;font-weight:950;letter-spacing:.09em}
.detail-peer-head h2{margin:4px 0 3px!important;color:#30436f!important;font-size:19px!important;letter-spacing:-.03em}
.detail-peer-head p{margin:0;max-width:760px;color:#8a94a9;font-size:12px;line-height:1.5}
.detail-peer-basis{flex-shrink:0;padding:5px 8px;border-radius:999px;background:#eef1fb;color:#5266a4;font-size:12px;font-weight:900}
.detail-peer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.detail-peer-item{
  display:flex;min-width:0;flex-direction:column;gap:8px;padding:13px;
  border:1px solid #e2e6ef;border-radius:13px;background:#fff;
  color:inherit!important;text-decoration:none!important;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.detail-peer-item:hover{transform:translateY(-1px);border-color:#bfc9e3;box-shadow:0 8px 20px rgba(63,81,124,.08)}
.detail-peer-item__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.detail-peer-rank{font-size:12px;font-weight:950;color:#7180a8}
.detail-peer-score{padding:4px 6px;border-radius:999px;background:#edf2ff;color:#5169aa;font-size:12px;font-weight:900}
.detail-peer-name{overflow:hidden;color:#293b63;font-size:15px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.detail-peer-loc{margin:0;color:#9099aa;font-size:12px;line-height:1.45}
.detail-peer-prices{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.detail-peer-prices>span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:8px 9px;border-radius:10px;background:#f7f8fb}
.detail-peer-prices small{color:#959eaf;font-size:12px}
.detail-peer-prices b{color:#364b78;font-size:12px}
.detail-peer-gap{width:max-content;max-width:100%;padding:4px 6px;border-radius:7px;background:#f2f4f8;color:#677188;font-size:12px;font-weight:850}
.detail-peer-gap.is-up{background:#fff2e7;color:#a86a25}
.detail-peer-gap.is-down{background:#edf6fb;color:#45758e}
.detail-peer-gap.is-same{background:#eef7f0;color:#4c7b59}
.detail-peer-facts{display:flex;flex-wrap:wrap;gap:5px}
.detail-peer-facts>span{display:flex;align-items:baseline;gap:3px;padding:4px 6px;border:1px solid #e8ebf2;border-radius:7px;background:#fff}
.detail-peer-facts small{color:#99a1b1;font-size:12px}.detail-peer-facts b{color:#657087;font-size:12px}
.detail-peer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:2px}
.detail-peer-bottom span{color:#a0a7b5;font-size:12px}
.detail-peer-bottom b{color:#536ba8;font-size:12px}
.detail-peer-note{margin:8px 2px 0;color:#9aa2b0;font-size:12px;line-height:1.45}
@media(max-width:700px){
  .detail-peer-card{padding:12px;border-radius:15px}
  .detail-peer-head{flex-direction:column;gap:7px}
  .detail-peer-head h2{font-size:17px!important}
  .detail-peer-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scroll-snap-type:x proximity}
  .detail-peer-item{min-width:84%;scroll-snap-align:start}
}

/* ===== Card share action on today's sale cards ===== */
.today-deal-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:8px 10px;
  border-top:1px solid #edf1f3;
  background:#fbfcfd;
}
.today-deal-card__share{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:32px;
  padding:0 11px;
  border:1px solid #bfd1dd;
  border-radius:9px;
  background:#fff;
  color:#245f82!important;
  font-size:12px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.today-deal-card__share:hover{
  border-color:#91b4c8;
  background:#edf7fc;
  transform:translateY(-1px);
}
.today-deal-card__share span{font-size:13px;line-height:1}
@media(max-width:700px){
  .today-deal-card__actions{padding:9px 10px}
  .today-deal-card__share{width:100%;min-height:38px;font-size:12px}
}

/* ===== live real-estate news ===== */
.news-live-page{max-width:1080px;margin:0 auto;padding:18px 18px 32px}
.news-live-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px;border:1px solid #e4e8ee;border-radius:20px;background:linear-gradient(145deg,#f9fbff,#fff);box-shadow:0 10px 28px rgba(38,55,90,.05)}
.news-live-eyebrow{display:block;color:#5370bb;font-size:12px;font-weight:950;letter-spacing:.08em}.news-live-hero h1{margin:7px 0 7px!important;color:#26395f!important;font-size:28px!important}.news-live-hero p{margin:0;color:#7e899a;font-size:12px;line-height:1.55}
.news-live-status{flex-shrink:0;min-width:220px;padding:13px 14px;border-radius:14px;background:#f1f5ff;border:1px solid #dfe7fb}.news-live-status span,.news-live-status small{display:block;color:#8792a6;font-size:12px}.news-live-status b{display:block;margin:5px 0;color:#405d9c;font-size:16px}
.news-live-guide{display:flex;flex-wrap:wrap;gap:7px;margin:14px 2px}.news-live-guide span{padding:6px 9px;border:1px solid #e2e6ed;border-radius:999px;background:#fff;color:#6e798b;font-size:12px;font-weight:800}
.news-live-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.news-live-item{border:1px solid #e5e8ee;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(34,50,80,.035)}.news-live-item>a{display:flex;gap:12px;padding:15px;color:inherit!important;text-decoration:none!important}.news-live-item:hover{border-color:#c9d3e7;box-shadow:0 8px 22px rgba(34,50,80,.07)}
.news-live-logo{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#edf2ff;color:#4d67a8;font-size:16px;font-weight:950}.news-live-body{min-width:0;flex:1}.news-live-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.news-live-meta strong{color:#536078;font-size:12px}.news-live-meta span{padding:3px 5px;border-radius:6px;background:#f1f3f7;color:#7b8594;font-size:12px;font-weight:800}.news-live-meta time{margin-left:auto;color:#9da5b1;font-size:12px}.news-live-body h2{margin:8px 0 10px!important;color:#27364f!important;font-size:15px!important;line-height:1.42!important;letter-spacing:-.02em}.news-live-link{color:#7384aa;font-size:12px;font-weight:800}.news-live-link b{font-size:12px}.news-live-note,.news-live-empty{margin:14px 2px 0;color:#969eaa;font-size:12px;line-height:1.55}.news-live-empty{padding:30px;border:1px dashed #dfe4eb;border-radius:14px;background:#fff;text-align:center}
@media(max-width:760px){.news-live-page{padding:12px 12px 26px}.news-live-hero{flex-direction:column;padding:17px;border-radius:16px}.news-live-hero h1{font-size:23px!important}.news-live-status{width:100%;min-width:0}.news-live-list{grid-template-columns:1fr}.news-live-item>a{padding:13px}.news-live-body h2{font-size:14px!important}}

/* ===== Radar result card-share action ===== */
.radar-result-row{display:flex;align-items:stretch;border-bottom:1px solid #e7edf2}
.radar-result-row:last-child{border-bottom:0}
.radar-result-row .radar-result{flex:1;min-width:0;border-bottom:0}
.radar-result-share{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;align-self:center;min-width:88px;min-height:34px;margin:8px 4px 8px 10px;padding:0 10px;border:1px solid #bfd1dd;border-radius:9px;background:#fff;color:#245f82!important;font-size:12px;font-weight:900;line-height:1;text-decoration:none!important;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.radar-result-share:hover{border-color:#91b4c8;background:#edf7fc;transform:translateY(-1px)}
.radar-result-share span{font-size:13px;line-height:1}
@media(max-width:520px){.radar-result-row{display:grid;grid-template-columns:1fr auto;align-items:stretch}.radar-result-row .radar-result{grid-template-columns:58px 1fr 70px;gap:7px;padding-right:4px}.radar-result-share{min-width:42px;width:42px;margin:8px 4px;padding:0;font-size:0}.radar-result-share span{font-size:16px}.radar-result-share::after{content:'공유';font-size:12px}}

/* ===== Search/GEO natural-language summary on apartment detail ===== */
.detail-search-summary{margin:16px 0;padding:15px 16px;border:1px solid #dfe6ee;border-radius:16px;background:linear-gradient(145deg,#fbfcff,#fff);box-shadow:0 6px 18px rgba(38,55,90,.04)}
.detail-search-summary__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.detail-search-summary__head span{display:block;color:#5a70ac;font-size:12px;font-weight:950;letter-spacing:.08em}.detail-search-summary__head h2{margin:3px 0 0!important;color:#31476f!important;font-size:15px!important;line-height:1.3!important}.detail-search-summary__head a{flex-shrink:0;padding:5px 7px;border-radius:8px;background:#eef3ff;color:#536aa6!important;text-decoration:none!important;font-size:12px;font-weight:900}
.detail-search-summary p{margin:0;color:#667487;font-size:12px;line-height:1.72}.detail-search-summary small{display:block;margin-top:8px;color:#9aa2ad;font-size:12px;line-height:1.5}
@media(max-width:700px){.detail-search-summary{padding:12px}.detail-search-summary__head{flex-direction:column}.detail-search-summary__head h2{font-size:14px!important}}

/* ===== POST action buttons that visually match legacy links ===== */
.inline-logout-form{display:inline-flex;margin:0;padding:0;flex:0 0 auto}
.account-links .inline-logout-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;
  border:0;border-radius:9px;background:none;color:#426075!important;font-family:inherit;
  font-size:12px!important;font-weight:850!important;line-height:1.2;cursor:pointer;
  text-decoration:none;appearance:none;-webkit-appearance:none
}
.account-links .inline-logout-btn:hover{background:#eaf3f7!important;color:#17658b!important}
.drawer-logout-form{margin:0;padding:0}
.drawer-logout-form button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:none;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}
@media(max-width:700px){.account-links .inline-logout-btn{min-height:27px!important;padding:3px 7px!important;font-size:12px!important}}
.property-favorite-form{margin:0}.property-favorite,.detail-favorite-btn{font:inherit;cursor:pointer}

/* ===== Favorite updates on apart_today ===== */
.favorite-today-section{margin:22px 0 28px;padding:0}
.favorite-today-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px;padding:0 2px}
.favorite-today-heading>div>span{display:block;color:#28789d;font-size:12px;font-weight:950;letter-spacing:.09em}
.favorite-today-heading h2{margin:3px 0 0!important;color:#294b61!important;font-size:20px!important;letter-spacing:-.035em}
.favorite-today-heading p{margin:5px 0 0;color:#8998a3;font-size:12px;line-height:1.5}
.favorite-today-heading>b{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 10px;border-radius:10px;background:#eef5f8;color:#2c6d90;font-size:12px}
.favorite-today-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.favorite-today-card{min-width:0;overflow:hidden;border:1px solid #e0e7eb;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(35,65,84,.045)}
.favorite-today-card.is-rent{border-color:#dbe8ee}
.favorite-today-main{display:block;padding:14px 14px 10px;color:inherit!important;text-decoration:none!important}
.favorite-today-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.favorite-today-title{display:flex;min-width:0;align-items:center;gap:7px}
.favorite-today-title strong{min-width:0;overflow:hidden;color:#2d4c61;font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.favorite-today-type{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;height:22px;padding:0 7px;border-radius:7px;background:#edf5f8;color:#2b7698;font-size:12px;font-weight:950}
.favorite-today-type.is-rent{background:#eef4ff;color:#5875a6}
.favorite-today-status{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;height:22px;padding:0 7px;border-radius:7px;background:#f1f4f6;color:#71818c;font-size:12px;font-weight:950}
.favorite-today-status.is-record,.favorite-today-status.is-up{background:#ebf7f0;color:#28734e}
.favorite-today-status.is-down,.favorite-today-status.is-low{background:#fff0f1;color:#b54d58}
.favorite-today-status.is-flat{background:#f4f3ed;color:#7f7650}
.favorite-today-status.is-new{background:#eef4ff;color:#526da5}
.favorite-today-meta{display:flex;flex-wrap:wrap;gap:4px 9px;margin-top:8px;color:#8a98a3;font-size:12px;line-height:1.45}
.favorite-today-meta span{position:relative}.favorite-today-meta span:not(:last-child):after{content:'·';position:absolute;right:-6px;color:#c0c8cd}
.favorite-today-values{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:7px;margin-top:11px}
.favorite-today-values>div{min-width:0;padding:9px 10px;border-radius:10px;background:#f7f9fa}
.favorite-today-values small{display:block;color:#93a0aa;font-size:12px;font-weight:800}
.favorite-today-values b,.favorite-today-values strong{display:block;margin-top:3px;color:#304f65;font-size:13px;line-height:1.2}
.favorite-today-values b{font-size:17px;color:#244e68}
.favorite-today-values span{display:block;margin-top:4px;overflow:hidden;color:#84929d;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.favorite-today-card.is-sale .favorite-today-price{background:#f3f8fa}.favorite-today-card.is-rent .favorite-today-price{background:#f3f6fb}
.favorite-today-actions{display:flex;justify-content:flex-end;gap:6px;padding:0 14px 12px}
.favorite-today-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border:1px solid #dce5ea;border-radius:8px;background:#fff;color:#577082!important;text-decoration:none!important;font-size:12px;font-weight:850}
.favorite-today-actions a:hover{background:#f6f9fa}
@media(max-width:760px){
  .favorite-today-section{margin-top:18px}.favorite-today-heading{align-items:flex-start}.favorite-today-heading h2{font-size:18px!important}.favorite-today-heading p{font-size:12px}
  .favorite-today-list{grid-template-columns:1fr;gap:8px}.favorite-today-main{padding:12px 12px 9px}.favorite-today-title strong{font-size:13px}.favorite-today-meta{font-size:12px}
  .favorite-today-values{grid-template-columns:1.15fr 1fr 1fr;gap:5px}.favorite-today-values>div{padding:8px}.favorite-today-values b{font-size:16px}.favorite-today-values strong{font-size:12px}.favorite-today-values span{font-size:12px}
  .favorite-today-actions{padding:0 12px 11px}.favorite-today-actions a{min-height:30px;font-size:12px}
}
@media(max-width:420px){
  .favorite-today-values{grid-template-columns:1fr 1fr}.favorite-today-price{grid-column:1/-1}.favorite-today-values span{white-space:normal}.favorite-today-title{gap:5px}.favorite-today-title strong{font-size:12px}.favorite-today-status{height:21px;padding:0 6px}
}

/* ===== apart_today unified search/filter ===== */
.today-search-input{width:min(100%,720px);min-height:48px;padding:0 15px;border:1px solid #d9e3e8;border-radius:13px;background:#fff;color:#2c4a5f;font-size:14px;outline:none;box-shadow:0 3px 12px rgba(37,66,86,.04)}
.today-search-input:focus{border-color:#8db8ca;box-shadow:0 0 0 3px rgba(40,120,157,.08)}
.today-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important;align-items:end}
.today-filter-field{display:flex;min-width:0;flex-direction:column;gap:6px}
.today-filter-field>span{color:#7d8f9b;font-size:12px;font-weight:850}
.today-filter-select{width:100%;min-height:42px;padding:0 34px 0 11px;border:1px solid #dbe4e9;border-radius:10px;background:#fff;color:#31556c;font-size:12px;font-weight:800;outline:none}
.today-filter-select:focus{border-color:#8db8ca;box-shadow:0 0 0 3px rgba(40,120,157,.07)}
.today-size-filter{grid-column:1/-1;margin-top:2px!important;padding-top:10px;border-top:1px solid #edf1f3}
@media(max-width:760px){
  .today-search-input{min-height:46px;font-size:13px}.today-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.today-filter-select{min-height:44px;font-size:12px}.today-size-filter{grid-column:1/-1}
}
@media(max-width:430px){
  .today-filter-grid{grid-template-columns:1fr}.today-size-filter{grid-column:1}.today-filter-field>span{font-size:12px}
}

/* ===== apart_today compact filter typography ===== */
.today-filter-panel{padding:15px 16px 16px}
.today-filter-panel .today-filter-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #edf1f3}
.today-filter-panel .today-filter-header strong{margin:0;color:#31566d;font-size:14px;font-weight:900;letter-spacing:-.02em}
.today-filter-panel .today-filter-header>span{color:#99a5ad;font-size:12px;font-weight:700;white-space:nowrap}
.today-filter-panel .today-filter-grid{gap:10px!important}
.today-filter-panel .today-filter-field{gap:5px}
.today-filter-panel .today-filter-field>span{color:#87949d;font-size:12px;font-weight:800;letter-spacing:-.01em}
.today-filter-panel .today-filter-select{box-sizing:border-box;min-width:0;height:44px;min-height:44px;margin:0!important;padding:0 30px 0 12px!important;border-radius:10px;font-size:13px;font-weight:800;line-height:44px}
.today-filter-panel .today-size-filter{margin-top:1px!important;padding-top:10px}
@media(max-width:760px){
  .today-filter-panel{margin:14px 0 20px;padding:12px}
  .today-filter-panel .today-filter-header{margin-bottom:10px;padding-bottom:9px;flex-direction:row;align-items:center}
  .today-filter-panel .today-filter-header strong{font-size:15px!important}
  .today-filter-panel .today-filter-header>span{font-size:12px}
  .today-filter-panel .today-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px!important}
  .today-filter-panel .today-filter-field>span{font-size:12px}
  .today-filter-panel .today-filter-select{width:100%!important;height:46px;min-height:46px;font-size:16px!important;padding-left:11px!important;padding-right:26px!important}
  .today-filter-panel .today-size-filter{grid-column:1/-1}
}
@media(max-width:360px){
  .today-filter-panel .today-filter-header>span{display:none}
  .today-filter-panel .today-filter-grid{grid-template-columns:1fr}
  .today-filter-panel .today-size-filter{grid-column:1}
}

/* ===== Regional market analysis ===== */
.region-market-analysis{margin:14px 0 18px;padding:18px;border:1px solid #dfe7ec;border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(37,64,83,.045)}
.region-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.region-analysis-head>div>span{display:block;color:#3a7796;font-size:12px;font-weight:950;letter-spacing:.09em}.region-analysis-head h2{margin:4px 0 4px!important;color:#2e4d62!important;font-size:20px!important;letter-spacing:-.035em}.region-analysis-head p{margin:0;color:#8b98a3;font-size:12px;line-height:1.55}.region-analysis-head>a{flex:0 0 auto;padding:7px 9px;border:1px solid #dce6eb;border-radius:9px;background:#f8fbfc;color:#557286!important;text-decoration:none!important;font-size:12px;font-weight:850}
.region-analysis-natural{margin:0 0 12px;padding:12px 13px;border-radius:12px;background:#f7fafb;color:#607684;font-size:12px;line-height:1.7}
.region-analysis-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.region-analysis-kpi{min-width:0;padding:12px;border:1px solid #e5ebef;border-radius:12px;background:#fff}.region-analysis-kpi small{display:block;color:#8f9ba5;font-size:12px;font-weight:800}.region-analysis-kpi b{display:block;margin-top:5px;color:#2f536a;font-size:18px;line-height:1.15}.region-analysis-kpi span{display:block;margin-top:4px;color:#8997a0;font-size:12px;line-height:1.35}.region-analysis-kpi span.up{color:#2f7a59}.region-analysis-kpi span.down{color:#b85a62}.region-analysis-kpi span.flat{color:#7b8790}
.region-analysis-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:10px}.region-analysis-grid+.region-analysis-grid{grid-template-columns:1fr 1fr}.region-analysis-card{min-width:0;padding:14px;border:1px solid #e4eaee;border-radius:14px;background:#fff}.region-analysis-wide{min-width:0}.region-analysis-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.region-analysis-title h3{margin:0!important;color:#324f63!important;font-size:13px!important}.region-analysis-title p{margin:3px 0 0;color:#98a3ab;font-size:12px;line-height:1.45}.region-analysis-title>span{color:#8f9ca5;font-size:12px;white-space:nowrap}
.region-month-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end;height:190px;padding:6px 2px 0}.region-month-col{display:grid;grid-template-rows:24px 1fr 18px 15px;align-items:end;min-width:0;text-align:center}.region-month-price{overflow:hidden;color:#6d7e89;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.region-month-price small{display:block;color:#a0a9af;font-size:12px}.region-month-barbox{display:flex;align-items:flex-end;justify-content:center;height:100%;min-height:70px;border-bottom:1px solid #e7edf0}.region-month-barbox i{display:block;width:min(32px,70%);min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#69a9c7,#3c7d9c)}.region-month-col>b{margin-top:3px;color:#385b70;font-size:12px}.region-month-col>span{color:#8e9aa3;font-size:12px}
.region-direction-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.region-direction-numbers>div{padding:9px;border-radius:10px;background:#f7f9fa}.region-direction-numbers small{display:block;color:#8f9ba4;font-size:12px}.region-direction-numbers b{display:inline-block;margin-top:4px;color:#314f63;font-size:15px}.region-direction-numbers span{margin-left:4px;color:#8a98a1;font-size:12px}.region-direction-bar{display:flex;overflow:hidden;height:9px;margin:11px 0 8px;border-radius:999px;background:#eef2f4}.region-direction-bar i{display:block;height:100%}.region-direction-bar .up{background:#65a985}.region-direction-bar .flat{background:#cbd3d8}.region-direction-bar .down{background:#d9878d}.region-analysis-foot{margin:0;color:#8f9aa2;font-size:12px;line-height:1.55}
.region-size-list,.region-dong-list{display:flex;flex-direction:column}.region-size-list>div{display:grid;grid-template-columns:1fr 55px 72px 88px;gap:6px;align-items:center;padding:8px 2px;border-bottom:1px solid #eef2f4}.region-size-list>div:last-child,.region-dong-list>div:last-child{border-bottom:0}.region-size-list strong{color:#425d6f;font-size:12px}.region-size-list span{color:#7f8d96;font-size:12px;text-align:right}.region-size-list b{color:#35586d;font-size:12px;text-align:right}.region-size-list small{color:#8f9ba4;font-size:12px;text-align:right}
.region-dong-list>div{display:grid;grid-template-columns:22px 1fr 55px 88px;gap:6px;align-items:center;padding:8px 2px;border-bottom:1px solid #eef2f4}.region-dong-list em{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:6px;background:#edf4f7;color:#4c7890;font-size:12px;font-style:normal;font-weight:900}.region-dong-list strong{color:#425d6f;font-size:12px}.region-dong-list span{color:#7f8d96;font-size:12px;text-align:right}.region-dong-list b{color:#35586d;font-size:12px;text-align:right}
.region-analysis-note{margin:10px 0 0;color:#9aa4ab;font-size:12px;line-height:1.6}
@media(max-width:800px){
  .region-market-analysis{padding:13px;margin:12px 0 15px}.region-analysis-head h2{font-size:18px!important}.region-analysis-head>a{display:none}.region-analysis-natural{font-size:12px}.region-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.region-analysis-kpi b{font-size:16px}.region-analysis-grid,.region-analysis-grid+.region-analysis-grid{grid-template-columns:1fr}.region-month-chart{height:175px;gap:3px}.region-month-barbox i{width:min(28px,72%)}.region-month-price{font-size:12px}.region-direction-numbers{gap:4px}.region-size-list>div{grid-template-columns:1fr 48px 64px 78px}.region-dong-list>div{grid-template-columns:22px 1fr 48px 78px}
}
@media(max-width:430px){
  .region-analysis-kpis{grid-template-columns:1fr 1fr}.region-analysis-kpi{padding:10px}.region-analysis-kpi b{font-size:15px}.region-month-chart{height:160px}.region-month-price small{display:none}.region-size-list>div{grid-template-columns:1fr 48px 62px}.region-size-list small{display:none}.region-dong-list>div{grid-template-columns:20px 1fr 45px 72px}
}

/* ===== Apartment evidence checklist ===== */
.detail-checklist-card{margin:14px 0;padding:17px;border:1px solid #dfe7ec;border-radius:17px;background:#fff;box-shadow:0 6px 22px rgba(35,64,82,.04)}
.detail-checklist-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.detail-checklist-head>div>span{display:block;color:#3b7897;font-size:12px;font-weight:950;letter-spacing:.09em}.detail-checklist-head h2{margin:4px 0 4px!important;color:#2d4f65!important;font-size:19px!important;letter-spacing:-.035em}.detail-checklist-head p{margin:0;color:#8997a1;font-size:12px;line-height:1.55}.detail-checklist-size{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:#f0f5f7;color:#527287;font-size:12px;font-weight:850}
.detail-checklist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.detail-checklist-grid article{position:relative;min-width:0;padding:12px;border:1px solid #e6ecef;border-radius:12px;background:#fafcfc}.detail-checklist-grid article:before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:4px;background:#cbd5da}.detail-checklist-grid article.is-strong:before{background:#70a98b}.detail-checklist-grid article.is-neutral:before{background:#73a0b6}.detail-checklist-grid article.is-watch:before{background:#d69a78}.detail-checklist-grid article.is-muted:before{background:#c8ced2}.detail-checklist-grid small{display:block;color:#8c99a2;font-size:12px;font-weight:800}.detail-checklist-grid strong{display:block;margin-top:5px;color:#315166;font-size:13px;line-height:1.25}.detail-checklist-grid p{margin:5px 0 0;color:#6f808b;font-size:12px;line-height:1.45}.detail-checklist-grid em{display:block;margin-top:5px;color:#9aa4aa;font-size:12px;font-style:normal;line-height:1.4}
.detail-checklist-forecast{margin-top:9px;padding:12px;border-radius:12px;background:#f6f9fb}.detail-checklist-forecast-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.detail-checklist-forecast-head small{display:block;color:#8b98a2;font-size:12px}.detail-checklist-forecast-head b{display:block;margin-top:2px;color:#48677a;font-size:12px}.detail-checklist-forecast-head>span{color:#929da5;font-size:12px}.detail-checklist-forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.detail-checklist-forecast-grid>div{padding:9px 10px;border:1px solid #e1e8ec;border-radius:10px;background:#fff}.detail-checklist-forecast-grid small{display:block;color:#929da5;font-size:12px}.detail-checklist-forecast-grid strong{display:block;margin-top:3px;color:#315369;font-size:13px}.detail-checklist-forecast-grid strong em{margin-left:3px;color:#607d8d;font-size:12px;font-style:normal}.detail-checklist-forecast-grid span{display:block;margin-top:3px;color:#85939c;font-size:12px}.detail-checklist-forecast>p{margin:8px 0 0;color:#85929a;font-size:12px;line-height:1.55}.detail-checklist-note{margin:9px 0 0;color:#98a2a9;font-size:12px;line-height:1.6}
@media(max-width:760px){.detail-checklist-card{padding:13px}.detail-checklist-head h2{font-size:17px!important}.detail-checklist-grid{grid-template-columns:1fr 1fr}.detail-checklist-grid article{padding:10px}.detail-checklist-forecast-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.detail-checklist-head{gap:7px}.detail-checklist-head p{font-size:12px}.detail-checklist-size{display:none}.detail-checklist-grid{grid-template-columns:1fr 1fr;gap:6px}.detail-checklist-grid strong{font-size:12px}.detail-checklist-forecast-grid{grid-template-columns:1fr}.detail-checklist-forecast-head{align-items:flex-start}.detail-checklist-forecast-head>span{white-space:nowrap}}

/* ===== Apartment gap / jeonse ratio trend ===== */
.detail-gap-card{margin-top:10px}
.detail-gap-card .detail-analysis-card-head{align-items:flex-start}
.detail-gap-card .detail-analysis-card-head h3{margin-bottom:2px!important}
.detail-gap-card .detail-analysis-card-head p{margin:2px 0 0;color:#95a1a9;font-size:12px;line-height:1.45}
.detail-gap-now{display:flex;gap:6px;flex:0 0 auto}
.detail-gap-now>span{display:flex;min-width:84px;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid #e2e9ed;border-radius:9px;background:#f9fbfc}
.detail-gap-now small{color:#929fa8;font-size:12px;font-weight:800}
.detail-gap-now b{color:#34566b;font-size:12px}
.detail-gap-canvas-wrap{height:280px}
.detail-gap-note{margin:7px 2px 0;color:#97a2a9;font-size:12px;line-height:1.55}
@media(max-width:700px){
  .detail-gap-card .detail-analysis-card-head{gap:8px}
  .detail-gap-now{gap:4px}
  .detail-gap-now>span{min-width:70px;padding:6px 7px}
  .detail-gap-now b{font-size:12px}
  .detail-gap-canvas-wrap{height:250px}
}
@media(max-width:430px){
  .detail-gap-card .detail-analysis-card-head{flex-direction:column}
  .detail-gap-now{width:100%}
  .detail-gap-now>span{flex:1}
}

/* ===== Apartment permit -> actual deal flow 2026-09-29 ===== */
.detail-permit-flow{
  margin-top:10px;padding:14px 15px;border:1px solid #e1e7ec;border-radius:14px;background:#fff
}
.detail-permit-flow__head{align-items:flex-start}.detail-permit-flow__head h3{margin-bottom:2px!important}.detail-permit-flow__head p{margin:2px 0 0;color:#95a1a9;font-size:12px;line-height:1.45}.detail-permit-flow__head>a{flex:0 0 auto}
.detail-permit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}
.detail-permit-kpis article{padding:10px;border:1px solid #e7ebef;border-radius:10px;background:#fafcfd}
.detail-permit-kpis small{display:block;color:#929ca8;font-size:12px}.detail-permit-kpis b{display:block;margin-top:4px;color:#455a73;font-size:15px}.detail-permit-kpis b.permit{color:#c77b20}.detail-permit-kpis b.deal{color:#26936c}.detail-permit-kpis b.pending{color:#8c929b}
.detail-permit-chart{padding:10px;border:1px solid #e9edf0;border-radius:12px;background:#fcfdfd}
.detail-permit-legend{display:flex;gap:14px;margin:1px 4px 7px;color:#788592;font-size:12px;font-weight:800}
.detail-permit-legend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;vertical-align:-1px}.detail-permit-legend .permit:before{background:#e59a29}.detail-permit-legend .deal:before{background:#2eaa7d}.detail-permit-legend .pending:before{border-radius:2px;background:#e8eaed}
.detail-permit-chart svg{display:block;width:100%;height:auto;max-height:280px}.detail-permit-chart .grid{stroke:#e5e9ec;stroke-width:1;stroke-dasharray:5 5}.detail-permit-chart .axis-line{stroke:#cfd5da;stroke-width:1.2}.detail-permit-chart .axis{fill:#7f8892;font-size:12px}.detail-permit-chart .pending-area{fill:#e9ebee;fill-opacity:.8;stroke:none}.detail-permit-chart .permit-line{fill:none;stroke:#e59a29;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}.detail-permit-chart .deal-line{fill:none;stroke:#2eaa7d;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.detail-permit-foot{display:flex;gap:7px;align-items:baseline;margin-top:9px;padding:9px 10px;border-radius:9px;background:#f7f9fb}.detail-permit-foot strong{color:#4b5668;font-size:12px}.detail-permit-foot span{color:#7e8996;font-size:12px;line-height:1.45}.detail-permit-note{margin:7px 1px 0;color:#98a1aa;font-size:12px;line-height:1.55}
@media(max-width:700px){
  .detail-permit-flow{padding:12px}.detail-permit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-permit-kpis b{font-size:14px}.detail-permit-legend{gap:9px;overflow-x:auto;white-space:nowrap}.detail-permit-foot{align-items:flex-start;flex-direction:column;gap:3px}.detail-permit-foot strong,.detail-permit-foot span{font-size:12px}.detail-permit-note{font-size:12px}
}

.detail-permit-kpis.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}\n@media(max-width:700px){.detail-permit-kpis.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-permit-kpis.is-3 article{padding:9px 7px}.detail-permit-kpis.is-3 small{font-size:12px}.detail-permit-kpis.is-3 b{font-size:13px}}\n
/* 2026-09-29 compact apartment detail: keep essentials visible, fold duplicates */
.detail-more-panel{margin:12px 0;border:1px solid #dfe7ec;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(35,64,82,.035);overflow:hidden}
.detail-more-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:13px 16px;cursor:pointer;list-style:none;user-select:none}
.detail-more-panel>summary::-webkit-details-marker{display:none}
.detail-more-panel>summary span{display:flex;min-width:0;flex-direction:column;gap:3px}
.detail-more-panel>summary b{color:#294e65;font-size:14px;letter-spacing:-.025em}
.detail-more-panel>summary small{color:#8c9aa3;font-size:12px;line-height:1.45}
.detail-more-panel>summary em{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#f1f6f8;color:#54778a;font-size:18px;font-style:normal;line-height:28px;text-align:center;transition:transform .18s ease}
.detail-more-panel[open]>summary{border-bottom:1px solid #e7edf0;background:#fbfcfd}
.detail-more-panel[open]>summary em{transform:rotate(45deg)}
.detail-more-panel__body{padding:2px 14px 14px}
.detail-more-panel__body>.detail-analysis,.detail-more-panel__body>.detail-checklist-card,.detail-more-panel__body>.detail-facts-card,.detail-more-panel__body>.detail-permit-card{box-shadow:none}
.detail-more-panel__body--info>.detail-facts-card:first-child{margin-top:12px}
.detail-more-panel--secondary>summary{min-height:58px}
.detail-transactions:not(.show-all) .is-extra-deal{display:none}
.detail-transactions-more{display:block;width:100%;margin:10px 0 0;padding:11px 14px;border:1px solid #dce6eb;border-radius:11px;background:#f8fafb;color:#42677d;font-size:12px;font-weight:850;cursor:pointer}
.detail-transactions-more:hover{background:#f0f6f8}
@media(max-width:700px){.detail-more-panel{margin:10px 0;border-radius:14px}.detail-more-panel>summary{min-height:56px;padding:11px 12px}.detail-more-panel>summary b{font-size:13px}.detail-more-panel>summary small{font-size:12px}.detail-more-panel__body{padding:1px 9px 10px}.detail-transactions-more{font-size:12px}}

/* compact property detail refinements: apartment rent / villa / officetel */
.property-extra-panel{margin-top:10px}
.property-extra-panel .property-quick-actions{margin:10px 0 8px}
.property-extra-panel .property-location-card{margin:8px 0 0;box-shadow:none}
.detail-more-panel__body--info #map,.detail-more-panel__body--info .openfreemap-wrap{margin-top:10px}
.property-sale-transactions .deal-cancelled-text{display:block;margin-top:3px;color:#b66d6d;font-size:12px}
@media(max-width:700px){
  .property-extra-panel .property-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-extra-panel .property-location-card{padding:10px 11px}
}

/* ===== KB real-estate price card 2026-09-29 ===== */
.detail-kb-price-card{margin:12px 0;padding:15px;border:1px solid #dde6eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(35,64,82,.035)}
.detail-kb-price-card[hidden]{display:none!important}
.detail-kb-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.detail-kb-price-head span{display:block;color:#66879a;font-size:12px;font-weight:900;letter-spacing:.08em}
.detail-kb-price-head h3{margin:3px 0 2px;color:#264a61;font-size:17px;letter-spacing:-.03em}
.detail-kb-price-head p{margin:0;color:#8d9aa3;font-size:12px;line-height:1.45}
.detail-kb-price-head>a{flex:0 0 auto;padding:7px 9px;border:1px solid #dce5ea;border-radius:9px;color:#55778b;font-size:12px;font-weight:850;text-decoration:none}
.detail-kb-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.detail-kb-price-row{padding:11px;border:1px solid #e5eaed;border-radius:12px;background:#fbfcfd}
.detail-kb-price-row__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.detail-kb-price-row__head>b{color:#4d6070;font-size:12px}.detail-kb-price-row__head>strong{color:#244d65;font-size:13px;letter-spacing:-.02em}
.detail-kb-price-band{position:relative;height:8px;margin:12px 1px 8px;border-radius:999px;background:#eef2f4}
.detail-kb-price-band__fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#dce8f8,#b9d2f3)}
.detail-kb-price-band--rent .detail-kb-price-band__fill{background:linear-gradient(90deg,#dff1e7,#bce2ca)}
.detail-kb-price-band i{position:absolute;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#2f7598;box-shadow:0 0 0 1px #2f7598;transform:translate(-50%,-50%)}
.detail-kb-price-band--rent i{background:#29966d;box-shadow:0 0 0 1px #29966d}
.detail-kb-price-row__foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;color:#94a0a8;font-size:12px}
.detail-kb-price-row__foot span:nth-child(2){text-align:center}.detail-kb-price-row__foot span:last-child{text-align:right}
.detail-kb-price-row__foot b{display:block;margin-top:2px;color:#657784;font-size:12px}
.detail-kb-price-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;padding:8px 9px;border-radius:9px;background:#f6f9fa;color:#677b88;font-size:12px;font-weight:800}
.detail-kb-price-note{margin:7px 1px 0;color:#9aa4ab;font-size:12px;line-height:1.5}
@media(max-width:700px){
 .detail-kb-price-card{padding:12px;border-radius:14px}.detail-kb-price-grid{grid-template-columns:1fr}.detail-kb-price-head h3{font-size:16px}.detail-kb-price-head p{font-size:12px}.detail-kb-price-row__head>strong{font-size:14px}.detail-kb-price-row__foot{font-size:12px}.detail-kb-price-row__foot b{font-size:12px}.detail-kb-price-meta{font-size:12px}.detail-kb-price-note{font-size:12px}
}

/* ===== KB 6-month market band + MOLIT deals 2026-09-29 ===== */
.detail-kb-chart{margin-top:12px;padding:12px;border:1px solid #e4eaee;border-radius:13px;background:#fcfdfe}
.detail-kb-chart[hidden]{display:none!important}
.detail-kb-chart__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.detail-kb-chart__head>div:first-child{min-width:0}
.detail-kb-chart__head b{display:block;color:#334f60;font-size:12px;letter-spacing:-.02em}
.detail-kb-chart__head small{display:block;margin-top:2px;color:#8c9aa3;font-size:12px;line-height:1.45}
.detail-kb-chart__legend{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:#788994;font-size:12px;font-weight:800}
.detail-kb-chart__legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.detail-kb-chart__legend span:before{content:"";display:inline-block;width:9px;height:5px;border-radius:4px}
.detail-kb-chart__legend .is-band:before{background:#d7e5f6}
.detail-kb-chart__legend .is-line:before{height:2px;background:#3e7fa4}
.detail-kb-chart__legend .is-deal:before{width:7px;height:7px;border-radius:50%;background:#dd6a63}
.detail-kb-chart__canvas{width:100%;overflow:hidden;border-radius:10px;background:#fff}
.detail-kb-chart__canvas svg{display:block;width:100%;height:auto;min-height:180px;overflow:visible}
.kb-chart-grid{stroke:#edf1f3;stroke-width:1}
.kb-chart-y{fill:#9aa6ae;font-size:12px;text-anchor:end;font-family:inherit}
.kb-chart-x{fill:#8998a2;font-size:12px;text-anchor:middle;font-family:inherit}
.kb-chart-band{fill:#dce8f6;fill-opacity:.78;stroke:none}
.kb-chart-general{fill:none;stroke:#3f7e9f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.kb-chart-general-dot{fill:#fff;stroke:#3f7e9f;stroke-width:2}
.kb-chart-deal-dot{fill:#dd6a63;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2px rgba(88,58,58,.18));cursor:default}
.kb-chart-deal-dot:focus{outline:none;stroke:#8e3934;stroke-width:3}
.detail-kb-chart__summary{margin-top:6px;padding:7px 9px;border-radius:8px;background:#f4f8fa;color:#607581;font-size:12px;font-weight:800;line-height:1.45}
@media(max-width:700px){
 .detail-kb-chart{padding:10px;margin-top:10px}
 .detail-kb-chart__head{display:block}
 .detail-kb-chart__head b{font-size:12px}.detail-kb-chart__head small{font-size:12px}
 .detail-kb-chart__legend{justify-content:flex-start;margin-top:7px;font-size:12px}
 .detail-kb-chart__canvas{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .detail-kb-chart__canvas svg{min-width:610px;min-height:0}
 .detail-kb-chart__summary{font-size:12px}
}


/* ===== KB 6-month market band + MOLIT deals 2026-09-30 ===== */
.detail-kb-history{margin-top:12px;padding:12px;border:1px solid #e4eaee;border-radius:13px;background:#fcfdfe}
.detail-kb-history[hidden]{display:none!important}
.detail-kb-history__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.detail-kb-history__head>div:first-child{min-width:0}
.detail-kb-history__head b{display:block;color:#334f60;font-size:12px;letter-spacing:-.02em}
.detail-kb-history__head>div:first-child>span{display:block;margin-top:2px;color:#8c9aa3;font-size:12px;line-height:1.45}
.detail-kb-history__legend{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:#788994;font-size:12px;font-weight:800}
.detail-kb-history__legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.detail-kb-history__legend span:before{content:"";display:inline-block;width:9px;height:5px;border-radius:4px}
.detail-kb-history__legend .is-band:before{background:#d7e5f6}
.detail-kb-history__legend .is-line:before{height:2px;background:#3e7fa4}
.detail-kb-history__legend .is-deal:before{width:7px;height:7px;border-radius:50%;background:#dd6a63}
.detail-kb-history__chart{width:100%;overflow:hidden;border-radius:10px;background:#fff}
.detail-kb-history__chart svg{display:block;width:100%;height:auto;min-height:180px;overflow:visible}
.detail-kb-history .kb-grid{stroke:#edf1f3;stroke-width:1}
.detail-kb-history .kb-axis-y{fill:#9aa6ae;font-size:12px;font-family:inherit}
.detail-kb-history .kb-axis-x{fill:#8998a2;font-size:12px;font-family:inherit}
.detail-kb-history .kb-band-area{fill:#dce8f6;fill-opacity:.78;stroke:none}
.detail-kb-history .kb-bound-line{fill:none;stroke:#aac6d9;stroke-width:1.1;stroke-dasharray:3 4;stroke-linecap:round;stroke-linejoin:round}
.detail-kb-history .kb-general-line{fill:none;stroke:#3f7e9f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.detail-kb-history .kb-general-dot{fill:#fff;stroke:#3f7e9f;stroke-width:2}
.detail-kb-history .kb-deal-dot{fill:#dd6a63;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2px rgba(88,58,58,.18));cursor:default}
.detail-kb-history__summary{margin-top:6px;padding:7px 9px;border-radius:8px;background:#f4f8fa;color:#607581;font-size:12px;font-weight:800;line-height:1.45}
@media(max-width:700px){
 .detail-kb-history{padding:10px;margin-top:10px}
 .detail-kb-history__head{display:block}
 .detail-kb-history__head b{font-size:12px}
 .detail-kb-history__head>div:first-child>span{font-size:12px}
 .detail-kb-history__legend{justify-content:flex-start;margin-top:7px;font-size:12px}
 .detail-kb-history__chart{overflow:hidden}
 .detail-kb-history__chart svg{width:100%;min-width:0;min-height:0;height:auto}
 .detail-kb-history .kb-axis-y{font-size:12px}
 .detail-kb-history .kb-axis-x{font-size:12px}
 .detail-kb-history__summary{font-size:12px}
}

/* ===== Weekly Chart.js modern renderer / 2026-09-30 ===== */
.week-dashboard-page .thp-chart-modern{
  box-sizing:border-box;
  min-width:0;
  margin:8px 0 18px;
  padding:15px 16px 20px;
  border:1px solid #e2e9ee;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
  box-shadow:0 8px 26px rgba(28,53,76,.045);
  overflow:hidden;
}
.week-dashboard-page .thp-chart-modern.is-wide{clear:both;width:100%}
.week-dashboard-page .thp-chart-modern.is-compact{
  float:left;
  width:calc(50% - 10px);
  margin:6px 5px 12px;
  padding:13px 14px 16px;
}
.week-dashboard-page .thp-chart-modern__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:0 1px;
}
.week-dashboard-page .thp-chart-modern__head>div{min-width:0}
.week-dashboard-page .thp-chart-modern__kicker{
  display:block;
  margin-bottom:3px;
  color:#2d7699;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
}
.week-dashboard-page .thp-chart-modern__head strong{
  display:block;
  color:#17384e;
  font-size:17px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.035em;
}
.week-dashboard-page .thp-chart-modern.is-compact .thp-chart-modern__head strong{font-size:15px}
.week-dashboard-page .thp-chart-modern__head small{
  flex:0 0 auto;
  color:#91a0aa;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.week-dashboard-page .thp-chart-modern__canvas{
  position:relative;
  width:100%;
  height:285px;
}
.week-dashboard-page .thp-chart-modern__canvas.is-compact{height:215px}
.week-dashboard-page .thp-chart-modern__canvas.is-tall{height:335px}
.week-dashboard-page .thp-chart-modern canvas{display:block;width:100%!important;height:100%!important}
.week-dashboard-page .weekly-chart-shell{
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
.week-dashboard-page .weekly-chart-shell .thp-chart-modern{margin-top:0}
.week-dashboard-page .week-section-title,
.week-dashboard-page .weekly-major-heading,
.week-dashboard-page #week-volume,
.week-dashboard-page #week-unsold,
.week-dashboard-page #week-auction{clear:both}
.week-dashboard-page .week-section-lead + span[style*="font-size:20px"]{
  display:block;
  margin:-4px 2px 10px;
  color:#92a0aa;
  font-size:12px!important;
  line-height:1.5;
}
.week-dashboard-page center:has(.thp-chart-modern){text-align:initial}
.week-dashboard-page center:has(.thp-chart-modern)>.thp-chart-modern{width:100%}
@media(max-width:700px){
  .week-dashboard-page .thp-chart-modern,
  .week-dashboard-page .thp-chart-modern.is-compact{
    float:none;
    width:calc(100% - 16px);
    margin:7px 8px 13px;
    padding:12px 11px 16px;
    border-radius:15px;
  }
  .week-dashboard-page .thp-chart-modern__head{align-items:flex-start}
  .week-dashboard-page .thp-chart-modern__head strong,
  .week-dashboard-page .thp-chart-modern.is-compact .thp-chart-modern__head strong{font-size:14px}
  .week-dashboard-page .thp-chart-modern__head small{font-size:12px}
  .week-dashboard-page .thp-chart-modern__canvas,
  .week-dashboard-page .thp-chart-modern__canvas.is-compact{height:235px}
  .week-dashboard-page .thp-chart-modern__canvas.is-tall{height:285px}
}


/* THP global readability floor 2026-09-30 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:13px;line-height:1.5}
small{font-size:12px;line-height:1.45}
button,input,select,textarea{font-size:12px}
table{font-size:12px}

/* Transaction direction / record-status highlighting */
.detail-transaction-table tbody tr.is-record-high td{background:#fff0f1!important}
.detail-transaction-table tbody tr.is-rise td{background:#fff8e9!important}
.detail-transaction-table tbody tr.is-fall td{background:#eef7ff!important}
.detail-transaction-table tbody tr.is-record-low td{background:#f4f0ff!important}
.detail-transaction-table tbody tr.is-new td{background:#f3f8fa!important}
.detail-transaction-table tbody tr.is-record-high:hover td{background:#ffe8eb!important}
.detail-transaction-table tbody tr.is-rise:hover td{background:#fff2d7!important}
.detail-transaction-table tbody tr.is-fall:hover td{background:#e2f1ff!important}
.detail-transaction-table tbody tr.is-record-low:hover td{background:#ece5ff!important}
.detail-transaction-table .deal-status-badge{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:12px;font-weight:900;line-height:1}
.detail-transaction-table .deal-status-badge.is-record-high{background:#fce1e5;color:#c92f45}
.detail-transaction-table .deal-status-badge.is-rise{background:#ffedc5;color:#a76300}
.detail-transaction-table .deal-status-badge.is-fall{background:#dceeff;color:#236a9a}
.detail-transaction-table .deal-status-badge.is-record-low{background:#e9e0ff;color:#6949a8}
.detail-transaction-table .deal-status-badge.is-new{background:#e4eef3;color:#496979}

/* ===== 상세 실거래 = 지도 우측패널 디자인/상태 기준 통일 2026-10-01 ===== */
.detail-transaction-table tbody tr td:first-child{
  border-left:3px solid var(--deal-area-color,#cbd6dd);
}
.detail-transaction-table .deal-date-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.detail-transaction-table .deal-date-line .deal-status-badge{margin-top:0}
.detail-transaction-table .deal-meta-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.detail-transaction-table .deal-meta-chips span{
  display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:8px;
  font-size:12px;font-weight:900;line-height:1;white-space:nowrap
}
.detail-transaction-table .deal-meta-chips .is-area{
  background:color-mix(in srgb,var(--deal-area-color,#5b8def) 12%,#fff);
  border:1px solid color-mix(in srgb,var(--deal-area-color,#5b8def) 38%,#fff);
  color:var(--deal-area-color,#5b8def)
}
.detail-transaction-table .deal-meta-chips .is-floor{
  background:#f1f4f7;border:1px solid #e1e7eb;color:#516979
}
.detail-transaction-table .deal-meta-chips .is-dong{
  background:#eaf7f0;border:1px solid #d7ebdf;color:#277052
}
.detail-transaction-table .deal-price-cell strong{font-size:15px;font-weight:950}
@media(max-width:760px){
  .detail-transaction-table .deal-meta-chips{justify-content:flex-start}
  .detail-transaction-table .deal-meta-chips span{min-height:23px;padding:3px 7px}
}

/* ===== Modern price chart polish 2026-10-01 ===== */
html[data-page="apart"] .modern-price-chart,
html[data-page="apart_rent"] .modern-price-chart{
  padding:20px 20px 18px!important;
  border:1px solid #dfe8ee!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)!important;
  box-shadow:0 8px 28px rgba(25,62,85,.045)!important;
}
.modern-chart-head{margin-bottom:14px!important}
.modern-chart-head h2{font-size:21px!important;letter-spacing:-.025em}
.modern-chart-head p{font-size:12px!important;color:#8a98a3!important}
.modern-chart-stats{gap:9px!important;margin-bottom:12px!important}
.modern-chart-stats>div{
  position:relative;overflow:hidden;
  min-height:78px;padding:13px 14px!important;
  border:1px solid #e3ebf0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(25,62,85,.025)
}
.modern-chart-stats>div:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#9babb6
}
.modern-chart-stats>div.is-latest:before{background:#2a789c}
.modern-chart-stats>div.is-high:before{background:#e45767}
.modern-chart-stats>div.is-low:before{background:#5d8ee6}
.modern-chart-stats>div.is-count:before{background:#7f8f9a}
.modern-chart-stats span{display:flex!important;align-items:center;gap:5px;font-size:12px!important}
.modern-chart-stats span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9babb6}
.modern-chart-stats .is-latest span i{background:#2a789c}
.modern-chart-stats .is-high span i{background:#e45767}
.modern-chart-stats .is-low span i{background:#5d8ee6}
.modern-chart-stats .is-count span i{background:#7f8f9a}
.modern-chart-stats strong{font-size:19px!important;color:#18384d!important;letter-spacing:-.02em}
.modern-chart-stats small{font-size:12px!important}
.modern-chart-canvas{
  height:330px!important;
  padding:0!important;
  border:1px solid #e7eef2;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fcfdfe 100%);
  overflow:hidden
}
.modern-chart-plot{position:relative;width:100%;height:100%;padding:6px 8px 4px 4px;box-sizing:border-box}
.modern-chart-tabs{padding:3px!important;background:#f3f6f8!important;border:1px solid #e2e9ed!important;border-radius:10px!important}
.modern-chart-tabs button{min-width:42px;padding:7px 10px!important;border-radius:7px!important;color:#6f8190!important}
.modern-chart-tabs button.is-active{background:#27789d!important;color:#fff!important;box-shadow:0 3px 9px rgba(39,120,157,.18)!important}
@media(max-width:760px){
  html[data-page="apart"] .modern-price-chart,
  html[data-page="apart_rent"] .modern-price-chart{padding:13px!important;border-radius:14px!important}
  .modern-chart-head h2{font-size:18px!important}
  .modern-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .modern-chart-stats>div{min-height:67px;padding:10px 11px!important}
  .modern-chart-stats strong{font-size:16px!important}
  .modern-chart-canvas{height:285px!important;border-radius:12px}
}

/* ===== Global share-card popup: all pages 2026-10-01 ===== */
.thp-share-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px}
.thp-share-modal.is-open{display:flex}
.thp-share-modal__backdrop{position:absolute;inset:0;background:rgba(13,31,43,.58);backdrop-filter:blur(3px)}
.thp-share-modal__panel{
  position:relative;z-index:1;display:flex;flex-direction:column;
  width:min(690px,calc(100vw - 28px));height:min(94vh,900px);
  overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:18px;
  background:#eef3f8;box-shadow:0 24px 70px rgba(9,32,48,.30)
}
.thp-share-modal__head{
  flex:0 0 auto;min-height:54px;padding:0 12px 0 17px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid #dce5eb;background:#fff
}
.thp-share-modal__head>div{display:flex;align-items:baseline;gap:8px}
.thp-share-modal__head small{color:#2a789c;font-size:12px;font-weight:950}
.thp-share-modal__head strong{color:#264a61;font-size:14px;font-weight:950}
.thp-share-modal__head button{
  width:34px;height:34px;border:1px solid #d8e2e8;border-radius:10px;
  background:#fff;color:#607786;font-size:22px;line-height:1;cursor:pointer
}
.thp-share-modal__frame{display:block;flex:1;width:100%;min-height:0;border:0;background:#eef3f8}
html.thp-share-modal-open,html.thp-share-modal-open body{overflow:hidden!important}
@media(max-width:760px){
  .thp-share-modal{padding:7px}
  .thp-share-modal__panel{width:100%;height:97vh;border-radius:15px}
  .thp-share-modal__head{min-height:48px;padding-left:13px}
  .thp-share-modal__head strong{font-size:13px}
}

/* 상세 실거래 동일/신규 배지 */
.detail-transaction-table .deal-status-badge.is-flat{background:#eef1f3;color:#667783}
.detail-transaction-table .deal-status-badge.is-new{background:#e6f1f7;color:#2d708f}

/* ===== 구별 하루 실거래 공유카드 2026-10-01 ===== */
.region-card-section{margin:10px 0!important}
.region-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.region-card-actions button{padding:9px 13px;border:1px solid #c8d8e2;border-radius:9px;background:#f5fafc;color:#1e6688;font-size:12px;font-weight:900;cursor:pointer}
.region-card-actions button:first-child{background:#206f92;border-color:#206f92;color:#fff}
.region-card-preview{max-width:620px;margin:0 auto;padding:10px;border-radius:18px;background:#edf3f6}
.region-card-preview canvas{display:block;width:100%;height:auto;border-radius:13px;background:#fff;box-shadow:0 8px 28px rgba(25,60,80,.08)}
.share-preview-section{margin-top:10px!important}
#share-text{min-height:360px!important}
@media(max-width:600px){
  .region-card-preview{padding:6px;border-radius:13px}
  .region-card-actions button{flex:1}
  #share-text{min-height:420px!important}
}

/* region card readability tweak 2026-10-01 */
.region-card-preview{max-width:680px}

/* ===== 지역공유 전체 구/군 개요 2026-10-01 ===== */
.region-all-section{margin-top:12px}
.region-all-total{padding:7px 10px;border-radius:10px;background:#edf5f8;color:#286f8d;font-size:12px;font-weight:900}
.region-district-list{display:grid;gap:8px}
.region-district-item{border:1px solid #dfe8ed;border-radius:14px;background:#fff;overflow:hidden}
.region-district-item>summary{list-style:none;display:grid;grid-template-columns:minmax(150px,.55fr) 1fr auto;align-items:center;gap:10px;padding:14px 15px;cursor:pointer}
.region-district-item>summary::-webkit-details-marker{display:none}
.region-district-item[open]>summary{background:#f7fafc;border-bottom:1px solid #e5edf1}
.region-district-name{display:flex;align-items:baseline;gap:8px}.region-district-name strong{color:#173b51;font-size:15px;font-weight:950}.region-district-name small{color:#788b96;font-size:12px;font-weight:800}
.region-district-status{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.region-district-status span{padding:4px 7px;border-radius:999px;font-size:12px;font-weight:900}.region-district-status .is-high{background:#fff0f1;color:#d84b58}.region-district-status .is-up{background:#fff3df;color:#ad691e}.region-district-status .is-down{background:#eaf3ff;color:#3974b4}.region-district-status .is-empty{background:#f1f4f6;color:#8b99a2}
.region-district-arrow{color:#73909f;font-size:18px;font-weight:900;transition:.15s}.region-district-item[open] .region-district-arrow{transform:rotate(180deg)}
.region-district-body{padding:12px 14px 14px}.region-district-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.region-district-toolbar span{color:#768995;font-size:12px;font-weight:800}.region-district-toolbar a{padding:6px 8px;border-radius:8px;background:#edf5f8;color:#246d8e;text-decoration:none;font-size:12px;font-weight:900}
.region-district-deals{display:grid;gap:5px}.region-district-deal{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e5ecef;border-radius:10px;background:#fbfdfe}.region-deal-status{display:flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;background:#eef2f4;color:#637783;font-size:12px;font-weight:900}.region-district-deal.is-new-high .region-deal-status{background:#fff0f1;color:#d84b58}.region-district-deal.is-up .region-deal-status{background:#fff3df;color:#ad691e}.region-district-deal.is-down .region-deal-status{background:#eaf3ff;color:#3974b4}.region-district-deal.is-new-low .region-deal-status{background:#f2ecfb;color:#805ba5}
.region-deal-main{min-width:0}.region-deal-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#24475c;font-size:12px}.region-deal-main small{display:block;margin-top:3px;color:#82929c;font-size:12px}.region-deal-price{color:#153f5b;font-size:13px;font-weight:950}.region-deal-card-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border:1px solid #cfe0eb;border-radius:8px;background:#edf5fb;color:#1c688f;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.region-deal-card-btn:hover{background:#dcecf6}
@media(max-width:760px){
 .region-district-item>summary{grid-template-columns:1fr auto;padding:12px}
 .region-district-status{grid-column:1/-1;grid-row:2}.region-district-arrow{grid-column:2;grid-row:1}
 .region-district-deal{grid-template-columns:58px minmax(0,1fr) auto auto;gap:6px;padding:8px}
 .region-deal-card-btn{min-height:28px;padding:0 7px}
 .region-deal-main strong{font-size:12px}.region-deal-price{font-size:12px}
 .region-district-toolbar{align-items:flex-start;flex-direction:column}
}

/* ===== 지역공유 전체목록 인라인 카드/공유문 2026-10-01 ===== */
.region-inline-share{margin-top:12px;padding-top:12px;border-top:1px solid #e3ebef}
.region-inline-card-head,.region-inline-copy-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.region-inline-card-head>div:first-child,.region-inline-copy-head>div:first-child{display:flex;flex-direction:column}
.region-inline-card-head span,.region-inline-copy-head span{color:#277596;font-size:12px;font-weight:950;letter-spacing:.11em}
.region-inline-card-head strong,.region-inline-copy-head strong{margin-top:2px;color:#24475c;font-size:13px}
.region-inline-actions{display:flex;gap:6px;flex-wrap:wrap}
.region-inline-actions button,.region-inline-copy-head button{padding:7px 9px;border:1px solid #c9d9e2;border-radius:8px;background:#f5fafc;color:#1e6688;font-size:12px;font-weight:900;cursor:pointer}
.region-inline-actions button:first-child{background:#206f92;border-color:#206f92;color:#fff}
.region-inline-canvas-wrap{max-width:620px;margin:0 auto 12px;padding:7px;border-radius:14px;background:#edf3f6}
.region-inline-canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(25,60,80,.07)}
.region-inline-share textarea{width:100%;min-height:260px;box-sizing:border-box;padding:12px;border:1px solid #dbe5ea;border-radius:11px;background:#fff;color:#29485c;font-size:12px;line-height:1.65;resize:vertical}
@media(max-width:760px){
 .region-inline-card-head,.region-inline-copy-head{align-items:flex-start;flex-direction:column}
 .region-inline-actions{width:100%}.region-inline-actions button{flex:1}
 .region-inline-copy-head button{width:100%}
 .region-inline-canvas-wrap{padding:5px}
 .region-inline-share textarea{min-height:320px;font-size:12px}
}

/* Overview expanded district: share tools first, raw deal list last */
.region-inline-share + .region-district-deals{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e3ebef;
}

/* ===== 시도 전체 가격 TOP20 2026-10-01 ===== */
.region-top20-section{margin-top:12px}
.region-top20-list{display:grid;gap:6px}
.region-top20-row{
  display:grid;grid-template-columns:34px 64px minmax(0,1fr) auto;
  gap:9px;align-items:center;padding:10px 11px;border:1px solid #e3ebef;border-radius:11px;background:#fbfdfe
}
.region-top20-rank{
  display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;
  background:#edf4f7;color:#2d6e8c;font-size:12px;font-weight:950
}
.region-top20-row:nth-child(-n+3) .region-top20-rank{background:#24789a;color:#fff}
.region-top20-row .region-deal-main strong{font-size:12px}
.region-top20-row .region-deal-main small{font-size:12px}
.region-top20-row .region-deal-price{font-size:14px}
.region-top20-share-tools{margin-top:12px;border:1px solid #d7e5eb;border-radius:13px;background:#f8fbfc;overflow:hidden}
.region-top20-share-tools>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;cursor:pointer;color:#205f7d;font-size:12px;font-weight:950
}
.region-top20-share-tools>summary::-webkit-details-marker{display:none}
.region-top20-share-tools>summary b{font-size:17px;transition:.15s}
.region-top20-share-tools[open]>summary{border-bottom:1px solid #e2ebef;background:#f1f7f9}
.region-top20-share-tools[open]>summary b{transform:rotate(180deg)}
.region-top20-share-body{padding:12px}
.region-top20-share-body .region-inline-share{margin-top:0;padding-top:0;border-top:0}
@media(max-width:760px){
 .region-top20-row{grid-template-columns:30px 58px minmax(0,1fr) auto;gap:7px;padding:9px 8px}
 .region-top20-row .region-deal-main strong{font-size:12px}
 .region-top20-row .region-deal-main small{font-size:12px}
 .region-top20-row .region-deal-price{font-size:12px}
}

/* ===== 시도 전체 TOP20 compact summary ===== */
.region-top20-section{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.region-top20-compact{margin:0}
.region-top20-compact>summary{
  min-height:72px;
  padding:15px 16px!important;
}
.region-top20-compact .region-district-name strong{font-size:18px}
.region-top20-compact .region-district-name small{font-size:12px}
.region-top20-compact .region-district-status span{font-size:12px;padding:5px 8px}
.region-top20-compact .region-district-body{padding:14px}
.region-top20-toolbar{margin-bottom:12px}
@media(max-width:760px){
  .region-top20-compact .region-district-name strong{font-size:16px}
}

/* ===== 상세 실거래 전체내역 모바일: 지도 우측 패널형 압축 리스트 2026-10-04 ===== */
@media(max-width:700px){
  html[data-page="apart"] .detail-transaction-table-wrap{
    overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
  }
  html[data-page="apart"] .detail-transaction-table,
  html[data-page="apart"] .detail-transaction-table tbody{display:block!important;width:100%!important}
  html[data-page="apart"] .detail-transaction-table thead{display:none!important}
  html[data-page="apart"] .detail-transaction-table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"date price registry" "home type share"!important;
    align-items:center!important;
    column-gap:9px!important;
    row-gap:4px!important;
    margin:0 0 8px!important;
    padding:10px 10px!important;
    border:1px solid #dfe7eb!important;
    border-left:4px solid var(--deal-area-color,#cbd6dd)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 3px 11px rgba(24,57,78,.035)!important;
  }
  html[data-page="apart"] .detail-transaction-table tbody tr.is-record-high{background:#fff4f5!important}
  html[data-page="apart"] .detail-transaction-table tbody tr.is-rise{background:#fff9ee!important}
  html[data-page="apart"] .detail-transaction-table tbody tr.is-fall{background:#f3f9ff!important}
  html[data-page="apart"] .detail-transaction-table tbody tr.is-record-low{background:#f7f4ff!important}
  html[data-page="apart"] .detail-transaction-table tbody tr.is-new{background:#f6fafc!important}
  html[data-page="apart"] .detail-transaction-table tbody td{
    display:block!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#4c6474!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  html[data-page="apart"] .detail-transaction-table tbody td::before{display:none!important;content:none!important}
  html[data-page="apart"] .detail-transaction-table tbody td:first-child{border-left:0!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(1){grid-area:date!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(2){grid-area:home!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(3){grid-area:price!important;padding:0!important;text-align:right!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(4){grid-area:registry!important;text-align:right!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(5){grid-area:type!important;text-align:right!important}
  html[data-page="apart"] .detail-transaction-table tbody td:nth-child(6){grid-area:share!important;text-align:right!important}
  html[data-page="apart"] .detail-transaction-table .deal-date-line{gap:5px!important;flex-wrap:nowrap!important}
  html[data-page="apart"] .detail-transaction-table .deal-date-line strong{font-size:13px!important;white-space:nowrap!important}
  html[data-page="apart"] .detail-transaction-table .deal-status-badge{padding:3px 6px!important;font-size:12px!important;white-space:nowrap!important}
  html[data-page="apart"] .detail-transaction-table .deal-meta-chips{gap:4px!important;flex-wrap:wrap!important}
  html[data-page="apart"] .detail-transaction-table .deal-meta-chips span{min-height:21px!important;padding:3px 6px!important;font-size:12px!important}
  html[data-page="apart"] .detail-transaction-table .deal-price-cell strong{font-size:16px!important;line-height:1.2!important;white-space:nowrap!important}
  html[data-page="apart"] .detail-transaction-table .registry-badge{
    min-width:0!important;padding:4px 6px!important;border-radius:8px!important;font-size:12px!important;line-height:1.15!important
  }
  html[data-page="apart"] .detail-transaction-table .registry-badge small{font-size:12px!important}
  html[data-page="apart"] .detail-transaction-table .deal-type-badge{
    padding:0!important;border-radius:0!important;background:transparent!important;color:#83919a!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important
  }
  html[data-page="apart"] .detail-transaction-table .deal-card-btn{
    min-width:0!important;min-height:26px!important;padding:3px 7px!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important
  }
  html[data-page="apart"] .detail-transaction-table .deal-cancelled-text{margin-top:2px!important;font-size:12px!important}
}
/* region-share deal rows link directly to the complex analysis page */
.region-district-deal[data-detail-url]{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.region-district-deal[data-detail-url]:hover,.region-district-deal[data-detail-url]:focus-visible{background:#f5fafc;border-color:#cbdde6;box-shadow:0 2px 8px rgba(25,74,99,.06);outline:none}

/* Detail-to-map deep link: visible regardless of how the detail page was opened. */
.detail-map-link{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:38px;padding:8px 13px;border:1px solid #a8cddd;border-radius:10px;
  background:#edf6fa;color:#176184!important;font-size:13px;font-weight:850;
  line-height:1.2;text-decoration:none!important;white-space:nowrap;
}
.detail-map-link:hover,.detail-map-link:focus-visible{
  background:#dceff7;border-color:#448ba9;color:#104a69!important;
}
.detail-map-link:focus-visible{outline:2px solid #287b9c;outline-offset:2px}
.apartment-detail-hero .detail-map-link{margin-top:11px}
.property-detail-hero__actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.property-detail-hero__actions .property-favorite-form{margin:0}
@media(max-width:700px){
  .property-detail-hero__top{flex-direction:column;align-items:stretch}
  .property-detail-hero__actions{justify-content:space-between;flex-wrap:nowrap}
  .detail-map-link{min-height:42px}
}
