/*
 * 딜체커 공개 화면의 공통 블루 브랜드 테마.
 * 기존 --green 계열 이름은 화면별 레거시 CSS와의 호환을 위해 유지한다.
 * 오류·경고·상승·하락·현재 위치처럼 의미가 있는 상태색은 덮지 않는다.
 */
:root {
  --brand-navy: #091c30;
  --brand-blue: #1f527e;
  --brand-data-blue: #2f6fa3;
  --brand-blue-strong: #1f527e;
  --map-navy: #163f66;
  --brand-blue-soft: #e8eef5;
  --brand-blue-wash: #f3f6f9;
  --brand-blue-line: #d5dee8;
  --brand-ink: #142233;
  --brand-muted: #5f6f7f;

  --green: var(--brand-blue);
  --green-dark: var(--brand-navy);
  --green-soft: var(--brand-blue-soft);
  --nav-green: var(--brand-blue);
  --nav-line: var(--brand-blue-line);
  --nav-ink: var(--brand-ink);
  --fc-text: var(--brand-ink);
  --fc-label: #526277;
  --fc-sub: var(--brand-muted);
  --fc-accent: var(--brand-navy);
  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --line: var(--brand-blue-line);
  --soft: var(--brand-blue-soft);
  --bg: var(--brand-blue-wash);
  --shadow: 0 8px 24px rgba(15, 47, 84, .08);
  --my-ink: var(--brand-ink);
  --my-sub: var(--brand-muted);
  --my-line: var(--brand-blue-line);
  --my-green: var(--brand-blue);
  --my-soft: var(--brand-blue-soft);
  --my-bg: var(--brand-blue-wash);
}

html,
body { background-color: #eaf0f7; }

/* 공통 메뉴와 데스크톱 워드마크 */
.global-bottom-nav {
  border-color: rgba(23, 67, 116, .12);
  box-shadow: 0 -8px 26px rgba(15, 47, 84, .1);
}
.global-bottom-nav a:focus-visible { outline-color: rgba(23, 105, 210, .28); }
.global-bottom-nav a:not(.global-main).active svg,
.global-bottom-nav a:not(.global-main).nav-target svg {
  background: var(--brand-blue-soft);
  box-shadow: inset 0 0 0 1px rgba(23, 105, 210, .1);
}
.global-bottom-nav .global-main i {
  color: var(--brand-blue);
  background: var(--brand-blue-soft);
  box-shadow: 0 5px 14px rgba(23, 105, 210, .15), inset 0 0 0 1px rgba(23, 105, 210, .1);
}
.global-bottom-nav .global-main.active i,
.global-bottom-nav .global-main.nav-target i {
  background: linear-gradient(145deg, #3a78a8, var(--brand-blue-strong));
  box-shadow: 0 7px 18px rgba(16, 74, 145, .3), inset 0 1px rgba(255, 255, 255, .22);
}
.global-nav-reveal { background: rgba(23, 105, 210, .92); }
.global-nav-brand .gnb-word b,
.first-title .first-title-logo b,
.brand span { color: var(--brand-blue); }

/* 홈 */
body[data-nav="home"] { background: #eaf0f7; }
body[data-nav="home"] .home-app { background: #f6f8fc; }
body[data-nav="home"] .home-profile { border-color: #cbd9ea; box-shadow: 0 3px 11px rgba(15, 47, 84, .06); }
body[data-nav="home"] .home-profile.authenticated { border-color: #b8cdea; color: var(--brand-navy); background: var(--brand-blue-soft); box-shadow: 0 3px 11px rgba(16, 74, 145, .12); }
body[data-nav="home"] .home-profile:active,
body[data-nav="home"] .home-profile.is-pressed,
body[data-nav="home"] .home-profile.is-opening { border-color: var(--brand-navy); background: var(--brand-blue); box-shadow: 0 1px 4px rgba(11, 47, 91, .26); }
body[data-nav="home"] .home-profile:focus-visible { outline-color: rgba(23, 105, 210, .24); }
body[data-nav="home"] .home-search-card { border-color: var(--brand-blue-line); box-shadow: 0 5px 18px rgba(15, 47, 84, .05); }
body[data-nav="home"] .home-search { border-color: #9bb6d6; box-shadow: 0 3px 11px rgba(15, 47, 84, .06); }
body[data-nav="home"] .home-search:focus-within { border-color: var(--brand-blue); box-shadow: 0 0 0 3px rgba(23, 105, 210, .11); }
body[data-nav="home"] .recent-search-list button { background: #edf3fa; }
body[data-nav="home"] .today-deals {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(125deg, var(--brand-navy), var(--brand-blue));
  box-shadow: 0 10px 26px rgba(11, 47, 91, .2);
}
/* 실거래에는 지도, 교차분석에는 연결 노드를 낮은 대비로 넣어 두 카드의 역할을 구분한다. */
body[data-nav="home"] .today-deals::before {
  border-color: rgba(255, 255, 255, .15);
  background: radial-gradient(circle, rgba(255, 255, 255, .055) 0 30%, transparent 31%);
  box-shadow: 0 0 0 31px rgba(255, 255, 255, .05), 0 0 0 62px rgba(255, 255, 255, .028);
}
body[data-nav="home"] .today-deals::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -42px;
  right: -32px;
  width: 260px;
  height: 190px;
  opacity: .12;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 190'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.4'%3E%3Cpath d='M-5 41 44 25l49 18 55-31 53 24 64-22M-11 90l51-18 48 15 56-25 48 21 76-27M-8 139l50-20 51 18 52-27 51 19 72-25M43 24l-3 96M94 43l-1 94M148 12l-3 126M201 36l-5 94'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(-7deg);
  pointer-events: none;
}
body[data-nav="home"] .today-deals > * { position: relative; z-index: 1; }
body[data-nav="home"] .today-deals-copy > span,
body[data-nav="home"] .today-deals-copy small,
body[data-nav="home"] .today-deals-period,
body[data-nav="home"] .today-deals-metric small { color: rgba(255, 255, 255, .76); }
body[data-nav="home"] .today-deals-copy strong,
body[data-nav="home"] .today-deals-metric strong { color: #fff; }
body[data-nav="home"] .today-deals-arrow { color: #fff; border-color: rgba(255, 255, 255, .38); }
body[data-nav="home"] .today-deals-metric,
body[data-nav="home"] .today-deals-metric.is-primary { border-color: rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .1); }
body[data-nav="home"] .today-deals-change {
  color: rgba(232, 241, 251, .88);
  font-size: clamp(9px, 2.2vw, 10px);
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.025em;
  text-shadow: 0 1px 2px rgba(9, 28, 48, .32);
}
body[data-nav="home"] .home-analysis-link,
body[data-nav="home"] .home-market-question { position: relative; isolation: isolate; overflow: hidden; color: #fff; border-color: #163f66; background: linear-gradient(135deg, var(--brand-navy), var(--brand-blue-strong)); box-shadow: 0 10px 26px rgba(9, 28, 48, .22); }
body[data-nav="home"] .home-analysis-link::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -20px;
  right: -22px;
  width: 245px;
  height: 170px;
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 245 170'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M25 123 78 61l52 28 48-55 43 57M78 61l-9-39m61 67 12 52m36-107 43-12'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='25' cy='123' r='5'/%3E%3Ccircle cx='78' cy='61' r='7'/%3E%3Ccircle cx='69' cy='22' r='4'/%3E%3Ccircle cx='130' cy='89' r='6'/%3E%3Ccircle cx='142' cy='141' r='4'/%3E%3Ccircle cx='178' cy='34' r='7'/%3E%3Ccircle cx='221' cy='22' r='4'/%3E%3Ccircle cx='221' cy='91' r='5'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  filter: blur(.15px);
  pointer-events: none;
}
body[data-nav="home"] .home-analysis-link > * { position: relative; z-index: 1; }
body[data-nav="home"] .home-analysis-link:hover,
body[data-nav="home"] .home-analysis-link:focus-visible { border-color: #315f86; box-shadow: 0 12px 30px rgba(9, 28, 48, .28); }
body[data-nav="home"] .home-analysis-symbol,
body[data-nav="home"] .today-deals-symbol { color: #fff; background: rgba(255, 255, 255, .12); }
body[data-nav="home"] .home-analysis-copy > small { color: rgba(255, 255, 255, .72); }
body[data-nav="home"] .home-analysis-copy > strong,
body[data-nav="home"] .home-analysis-copy > span { color: #fff; }
body[data-nav="home"] .home-analysis-filter > svg { stroke: var(--brand-blue); }
body[data-nav="home"] .home-analysis-cta { background: var(--brand-blue); }
body[data-nav="home"] .home-market-query-form { border-color: rgba(255, 255, 255, .38); background: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .14); }
body[data-nav="home"] .home-market-query-form:focus-within { border-color: #7fa8d8; box-shadow: 0 0 0 3px rgba(23, 105, 210, .11); }
body[data-nav="home"] .home-market-query-form button { background: var(--brand-blue); }
body[data-nav="home"] .home-market-query-suggestions button { color: rgba(255, 255, 255, .88); border-color: rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .08); }
body[data-nav="home"] .home-market-query-help { color: rgba(255, 255, 255, .68); }
body[data-nav="home"] .home-market-query-help a { color: #dbe8f4; }
body[data-nav="home"] .home-map { border-color: var(--brand-blue-line); background: #edf3f9; }
body[data-nav="home"] .home-map-target { border-color: #5f91c8; background: rgba(23, 105, 210, .05); }
body[data-nav="home"] .home-target-pin { color: var(--brand-blue); filter: drop-shadow(0 3px 4px rgba(11, 47, 91, .22)); }
body[data-nav="home"] .home-map-legend,
body[data-nav="home"] .home-flow-row + .home-flow-row { border-color: var(--brand-blue-line); }

/* 대상지 요약·딜체크·지도 */
body[data-nav="checker"] { background: #eaf0f7; }
body[data-nav="checker"] .bottom-sheet,
body[data-nav="checker"] .summary-sheet { border-color: rgba(23, 67, 116, .12); box-shadow: 0 -10px 30px rgba(15, 47, 84, .14); }
.map-hint { border-color: rgba(23, 105, 210, .2); color: var(--brand-blue-strong); background: rgba(234, 242, 252, .96); box-shadow: 0 4px 14px rgba(15, 47, 84, .12); }
.map-hint .rp-sel { color: #526f90; }
.loader-flag { border-color: rgba(23, 67, 116, .1); color: var(--brand-navy); box-shadow: 0 6px 20px rgba(15, 47, 84, .14); }
.map-tools { border-color: rgba(23, 67, 116, .13); box-shadow: 0 5px 18px rgba(15, 47, 84, .15); }
.map-tool { color: #43566e; }
.map-tool + .map-tool { border-color: rgba(23, 67, 116, .11); }
.roadview-panel { border-color: rgba(23, 67, 116, .16); background: #dce6f2; box-shadow: 0 12px 34px rgba(15, 47, 84, .24); }
.roadview-head { color: #355777; }
.roadview-head button { color: #355777; background: #edf3fa; }
.roadview-mini-label { background: rgba(23, 105, 210, .94); }
.roadview-mini-marker.case.selected { background: var(--brand-blue); }
.roadview-mini-marker.case.focused { border-color: #8fb2db; box-shadow: 0 0 0 2px rgba(47,111,163,.26), 0 2px 8px rgba(11,47,91,.42); }
.roadview-mini-marker.position { color: var(--brand-navy); box-shadow: 0 2px 9px rgba(11, 47, 91, .34); }
.case-card.selected { border-color: #8fb2db; background: #edf4fc; box-shadow: 0 0 0 2px rgba(23, 105, 210, .12); }
.recommendation-badge,
.case-tag.category { color: var(--brand-blue-strong); background: #e6f0fb; }
.case-building-change { color: #315f91; background: #eaf2fb; }
.case-map-marker.price { color: var(--brand-navy); background: #fff; border-color: var(--map-navy); box-shadow: 0 2px 7px rgba(9, 28, 48, .3); opacity: 1; }
.case-map-marker.selected { color: #fff; background: var(--map-navy); box-shadow: 0 2px 9px rgba(9, 28, 48, .44); }
.case-map-marker.focused { border-color: #8fb2db; box-shadow: 0 0 0 2px rgba(47,111,163,.26), 0 2px 10px rgba(11,47,91,.45); }
.value-card { background: linear-gradient(135deg, var(--brand-navy), var(--brand-blue-strong)); }
.summary-address-loader { border-top-color: var(--brand-blue); }
.summary-target-marker { background: var(--brand-blue); box-shadow: 0 3px 10px rgba(11, 47, 91, .32); }
.summary-deal-map-marker { color: var(--brand-navy); border-color: var(--map-navy); box-shadow: 0 2px 7px rgba(9, 28, 48, .3); }
.summary-deal-row.active .summary-deal-number,
.summary-deal-row.active .case-number,
.summary-deal-map-marker.active { color: #fff; background: var(--map-navy); }
.summary-commercial-chip { color: var(--brand-blue-strong); background: #e6f0fb; }
.summary-commercial-mix-bar .retail { background: var(--brand-blue); }
.comparison-table .comparison-table-price td { color: var(--brand-navy); }
.comparison-table .comparison-table-final th,
.comparison-table .comparison-table-final td { background: var(--brand-blue-strong); border-color: var(--brand-blue-strong); }
body[data-nav="checker"] #addressDealcheckCards > .case-card.selected { border-color: #9bb9dc; background: #f0f5fc; box-shadow: 0 0 0 1px rgba(23,105,210,.08); }
body[data-nav="checker"] #addressDealcheckCards > .case-card.map-focused { border-color: var(--brand-blue); box-shadow: 0 0 0 2px var(--brand-blue), 0 4px 12px rgba(11,47,91,.16); }
.address-summary-page .case-map-marker.price:not(.selected) { color: var(--brand-navy); border-color: var(--map-navy); box-shadow: 0 2px 7px rgba(9,28,48,.3); }
.address-summary-page .case-map-marker.price.selected { color: #fff; background: var(--map-navy); }
.address-summary-page .case-map-marker.price.focused { border-width: 1.5px; border-color: #8fb2db; box-shadow: 0 0 0 1.5px rgba(47,111,163,.26), 0 3px 11px rgba(11,47,91,.34); }
.dealcheck-retarget-pop .retarget-confirm,
.address-summary-page .summary-target-callout-go { border-color: var(--brand-blue); background: var(--brand-blue); }
.address-summary-page .summary-target-callout-go,
.address-summary-page .summary-target-callout-go:hover { background: linear-gradient(180deg, #3a78a8, var(--brand-blue-strong)); box-shadow: 0 2px 6px rgba(11,47,91,.28); }

/* 실거래 */
body[data-nav="transactions"] { background: #eaf0f7; }
body[data-nav="transactions"] .transactions-app { background: var(--brand-blue-wash); }
body[data-nav="transactions"] .transaction-sheet { border-color: rgba(23, 67, 116, .12); box-shadow: 0 -10px 30px rgba(15, 47, 84, .14); }
body[data-nav="transactions"] .transaction-search-pin { background: var(--map-navy); box-shadow: 0 0 0 2px rgba(22,63,102,.3), 0 3px 8px rgba(9,28,48,.44); }
body[data-nav="transactions"] .transaction-roadview-mini-marker.case.focused { border-color: #8fb2db; background: var(--brand-blue); box-shadow: 0 0 0 2px rgba(47,111,163,.26), 0 2px 8px rgba(11,47,91,.42); }
body[data-nav="transactions"] .transaction-roadview-mini-marker.position { color: var(--brand-navy); box-shadow: 0 2px 9px rgba(11,47,91,.34); }
body[data-nav="transactions"] .deal-card.case-card.selected,
body[data-nav="transactions"] .deal-card.focused { border-color: #7695b4; background: #e8eef5; box-shadow: 0 0 0 2px rgba(22,63,102,.12); }
body[data-nav="transactions"] .deal-card.case-card.selected .case-number,
body[data-nav="transactions"] .deal-card.focused .deal-number { background: var(--map-navy); }
body[data-nav="transactions"] .deal-tags span { color: #315f91; background: #e6f0fb; }
body[data-nav="transactions"] .deal-check-link { color: var(--brand-navy); background: var(--brand-blue-soft); }
body[data-nav="transactions"] .deal-map-marker { color: var(--brand-navy); border-color: var(--map-navy); box-shadow: 0 3px 10px rgba(9,28,48,.25); }
body[data-nav="transactions"] .deal-map-marker.focused { color: #fff; background: var(--map-navy); }
body[data-nav="transactions"] .transaction-stats-scope { border-color: transparent; background: linear-gradient(140deg, var(--brand-navy), var(--brand-blue)); box-shadow: 0 12px 30px rgba(11,47,91,.2); }
body[data-nav="transactions"] .transaction-stats-kpis article { border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.11); color: #fff; }
body[data-nav="transactions"] .transaction-stats-kpis span { opacity: .78; }
body[data-nav="transactions"] .transaction-stats-kpis strong { color: #fff; }
body[data-nav="transactions"] .transaction-stats-bar.adjusted { background: repeating-linear-gradient(135deg,#2f6fa3 0 4px,#77a7df 4px 8px); box-shadow: 0 0 0 1.5px var(--brand-navy) inset; }
body[data-nav="transactions"] .parcel-deal-option.selected > i { background: var(--brand-blue); }
body[data-nav="transactions"] .case-history-badge { border-color: #b8cde5; color: var(--brand-navy); background: #eef4fb; }

/* 통계와 시장 교차분석 */
body[data-nav="stats"] { background: #eaf0f7; }
body[data-nav="stats"] .stats-app,
body[data-nav="stats"] .market-analysis-app { background: var(--brand-blue-wash); }
.market-hero,
.analysis-summary { background: linear-gradient(140deg, var(--brand-navy), var(--brand-blue)); box-shadow: 0 12px 30px rgba(11,47,91,.2); }
.filter-chips button,
.panel-heading > button,
.filter-heading-actions #resetFilters,
.filter-share-button { border-color: #c4d4e7; }
.trend-bar { background: #b9cfe8; }
.trend-bar.hot { background: #5f91c8; }
.composition-bar,
.filter-card-bar { background: #e1e9f3; }
.composition-bar i { background: linear-gradient(90deg,#79a7d9,var(--brand-blue)); }
.analysis-entry { border-color: #bfd1e7; background: linear-gradient(135deg,#fbfdff,#edf4fc); box-shadow: 0 7px 20px rgba(15,47,84,.07); }
.analysis-entry:hover,
.analysis-entry:focus-visible { border-color: #86aada; box-shadow: 0 9px 24px rgba(23,105,210,.12); }
.regional-comparison-row.selected { background: var(--brand-blue-soft); box-shadow: inset 3px 0 0 var(--brand-blue); }
.regional-comparison-row.selected b i { background: var(--brand-blue); }
.filter-options button.active,
.filter-options .filter-card.active { border-color: var(--brand-blue); background: var(--brand-blue-soft); box-shadow: inset 0 0 0 1px rgba(23,105,210,.1); }
.filter-card-bar span { background: #79a7d9; }
.region-map { background: #f1f5fa; }
.ranking-row:hover,
.ranking-row:focus-visible { background: #f2f6fb; }
.ranking-row b i { color: var(--brand-navy); background: #edf3fa; }
.multi-select-badge { border-color: #bfd1e7; background: #edf4fc; }
.ranking-map-action { border-color: #c7d6e8; background: #f7f9fc; }

/* 칼럼 목록·본문 */
html:has(body[data-nav="columns"]),
body[data-nav="columns"] { background: #eaf0f7; color: var(--brand-ink); }
body[data-nav="columns"] .column-app { background: #f6f8fc; box-shadow: 0 0 42px rgba(15,47,84,.09); }
body[data-nav="columns"] .column-card { border-color: #dce4ee; box-shadow: 0 8px 24px rgba(15,47,84,.05); }
body[data-nav="columns"] .column-card-thumb { background: linear-gradient(140deg,#d9e5f2,#b9cde3); }
body[data-nav="columns"] .column-body strong,
body[data-nav="columns"] .column-body .column-subhead,
body[data-nav="columns"] .column-table th { color: var(--brand-navy); }
body[data-nav="columns"] .column-region-link { border-color: #bfd1e7; background: #edf4fc; color: var(--brand-navy); }
body[data-nav="columns"] .column-region-link small { color: #496f98; }
body[data-nav="columns"] .column-list-return { border-color: #ccd9e7; background: #f7f9fc; color: var(--brand-navy); }
body[data-nav="columns"] .column-list-return:active { background: #edf3fa; }
body[data-nav="columns"] .column-mark { background: linear-gradient(145deg,#3a78a8,var(--brand-blue-strong)); box-shadow: 0 12px 28px rgba(11,47,91,.2); }
body[data-nav="columns"] .column-state button { background: var(--brand-navy); }
body[data-nav="columns"] .column-deal-modal,
body[data-nav="columns"] .column-deal-frame-wrap iframe { background: var(--brand-blue-wash); }
body[data-nav="columns"] .column-deal-loading { background: #f7f9fc; }
body[data-nav="columns"] .column-deal-loading strong i,
body[data-nav="columns"] .column-share svg { color: var(--brand-blue); }

/* 마이·검토이력 */
body[data-nav="my"] { background: var(--brand-blue-wash); }
body[data-nav="my"] .my-account,
body[data-nav="my"] .my-content,
body[data-nav="my"] .my-admin { box-shadow: 0 10px 30px rgba(15,47,84,.06); }
body[data-nav="my"] .my-notice { border-color: #c4d4e7; background: #f2f6fb; color: #315777; }
body[data-nav="my"] .my-card strong { color: var(--brand-navy); }
body[data-nav="my"] .my-guide { background: #f0f5fb; }
body[data-nav="my"] .my-alert-badge { color: var(--brand-blue); background: var(--brand-blue-soft); }
body[data-nav="my"] .my-admin-grid a:is(:active,.is-pressed),
body[data-nav="my"] .my-admin-grid a.is-opening { border-color: #8fb2db; background: #e8eef5; box-shadow: inset 0 0 0 1px rgba(23,105,210,.12); }

@media (min-width:700px) {
  .home-app,
  .stats-app,
  .section-app,
  .column-app,
  .transactions-app,
  .app-shell { border-color: rgba(23,67,116,.08); box-shadow: 0 0 34px rgba(15,47,84,.07); }
}
