/* shadcn/ui-inspired primitives for server-rendered Jinja pages.
   The open-code components are intentionally plain CSS/HTML so existing
   data and Jinja routes remain unchanged. */
:root {
  --sp-component-bg: var(--sp-surface, #fff);
  --sp-component-fg: var(--sp-text, #202124);
  --sp-component-muted: var(--sp-text-sub, #41464b);
  --sp-component-line: var(--sp-border, #707070);
  --sp-component-focus: var(--sp-primary, #176b5b);
  --sp-component-radius: 6px;
  /* shadcn/ui-compatible semantic tokens */
  --background: var(--sp-bg, #f8fafc);
  --foreground: var(--sp-text, #0f172a);
  --card: var(--sp-surface, #ffffff);
  --card-foreground: var(--sp-text, #0f172a);
  --primary: var(--sp-primary, #7c3aed);
  --primary-foreground: #ffffff;
  --muted: var(--sp-surface-dark, #f1f5f9);
  --muted-foreground: var(--sp-text-sub, #475569);
  --border: var(--sp-border, #cbd5e1);
  --ring: var(--sp-primary, #7c3aed);
  --radius: 0.375rem;
}
[data-ui="components"] { font-family: var(--sp-font, system-ui, sans-serif); }
[data-ui="components"] .sp-panel {
  background:var(--sp-component-bg); border:1px solid var(--sp-component-line);
  border-radius:var(--sp-component-radius); padding:16px; color:var(--sp-component-fg);
}
/* Legacy class aliases: several Jinja blocks predate the migration and use
   .sp-sp-card / utility-like names. Keep them visually identical to Card. */
[data-ui="components"] .sp-sp-card,
[data-ui="components"] .sp-card,
[data-ui="components"] .card,
[data-ui="components"] .bg-base-100 {
  background:var(--sp-component-bg);
  border:1px solid var(--sp-component-line);
  color:var(--sp-component-fg);
  box-shadow:none;
}
[data-ui="components"] .sp-sp-card {
  padding:16px;
  margin-bottom:16px;
}
[data-ui="components"] .sp-sp-card-header,
[data-ui="components"] .sp-sp-card > .sp-sp-card-header,
[data-ui="components"] .card-header {
  background:transparent;
  border-bottom:1px solid var(--sp-component-line);
  color:var(--sp-component-fg);
}
[data-ui="components"] .sp-sp-card-body { background:transparent; color:var(--sp-component-fg); }
[data-ui="components"] .border-base-200 { border-color:var(--sp-component-line)!important; }
[data-ui="components"] .shadow-sm,
[data-ui="components"] .shadow,
[data-ui="components"] .shadow-lg { box-shadow:none!important; }
[data-ui="components"] .sp-page-title {
  color:var(--sp-component-fg);
  font-size:20px;
  font-weight:700;
  letter-spacing:-.02em;
}
[data-ui="components"] .sp-muted,
[data-ui="components"] .text-muted { color:var(--sp-component-muted)!important; }
[data-ui="components"] .badge,
[data-ui="components"] .sp-badge {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border:1px solid var(--sp-component-line);
  border-radius:999px;
  background:transparent;
  color:var(--sp-component-fg);
  font-size:11px;
  font-weight:600;
}
[data-ui="components"] table tbody tr:hover { background:rgba(127,90,240,.06); }
[data-ui="components"] button,
[data-ui="components"] input,
[data-ui="components"] select,
[data-ui="components"] textarea { font-family:inherit; }
[data-ui="components"] button:focus-visible,
[data-ui="components"] a:focus-visible,
[data-ui="components"] input:focus-visible,
[data-ui="components"] select:focus-visible,
[data-ui="components"] textarea:focus-visible {
  outline:2px solid var(--sp-component-focus)!important;
  outline-offset:2px;
}
/* 첫 파일럿: 기존 종목추천 마크업을 표준 primitive에 매핑한다. */
[data-ui="components"] .us-hero,
[data-ui="components"] .us-card,
[data-ui="components"] .us-leader {
  background:var(--sp-component-bg); border:1px solid var(--sp-component-line);
  border-radius:var(--sp-component-radius); box-shadow:none; color:var(--sp-component-fg);
}
[data-ui="components"] .us-table th { background:var(--sp-surface-dark); color:var(--sp-component-fg); }
[data-ui="components"] .us-table td { color:var(--sp-component-fg); }
[data-ui="components"] .sp-panel > .sp-card-title,
[data-ui="components"] .sp-panel > h2,
[data-ui="components"] .sp-panel > h3 { margin-top:0; }
[data-ui="components"] .sp-toolbar {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px;
}
[data-ui="components"] .sp-btn,
[data-ui="components"] button.sp-btn {
  min-height:36px; display:inline-flex; align-items:center; justify-content:center;
  gap:6px; padding:7px 13px; border:1px solid var(--sp-component-line);
  border-radius:var(--sp-component-radius); background:var(--sp-component-bg);
  color:var(--sp-component-fg); font:inherit; font-size:13px; cursor:pointer;
}
[data-ui="components"] .sp-btn:hover { background:var(--sp-surface-dark); }
[data-ui="components"] .sp-btn-primary { background:var(--sp-primary)!important; color:#fff!important; border-color:var(--sp-primary)!important; }
[data-ui="components"] .sp-btn-ghost { border-color:transparent; background:transparent; }
[data-ui="components"] .sp-input,
[data-ui="components"] .sp-select {
  height:36px; border:1px solid var(--sp-component-line); border-radius:var(--sp-component-radius);
  background:var(--sp-component-bg); color:var(--sp-component-fg); padding:7px 10px; font:inherit; font-size:13px;
}
[data-ui="components"] .sp-input:focus,
[data-ui="components"] .sp-select:focus,
[data-ui="components"] .sp-btn:focus-visible,
[data-ui="components"] summary:focus-visible { outline:2px solid var(--sp-component-focus); outline-offset:2px; }
[data-ui="components"] .sp-tabs { display:flex; gap:2px; border-bottom:1px solid var(--sp-component-line); }
[data-ui="components"] .sp-tab { padding:9px 12px; color:var(--sp-component-muted); text-decoration:none; border-bottom:2px solid transparent; font-size:13px; }
[data-ui="components"] .sp-tab.active,[data-ui="components"] .sp-tab[aria-selected="true"] { color:var(--sp-component-fg); border-bottom-color:var(--sp-component-focus); font-weight:600; }
[data-ui="components"] .sp-status { display:inline-flex; align-items:center; min-height:24px; padding:2px 8px; border:1px solid currentColor; border-radius:999px; font-size:12px; font-weight:600; }
[data-ui="components"] .sp-status--up { color:var(--sp-up); }
[data-ui="components"] .sp-status--down { color:var(--sp-down); }
[data-ui="components"] .sp-status--muted { color:var(--sp-component-muted); }
[data-ui="components"] .sp-disclosure { border-top:1px solid var(--sp-component-line); padding-top:9px; font-size:13px; color:var(--sp-component-muted); }
[data-ui="components"] .sp-disclosure summary { cursor:pointer; color:var(--sp-component-fg); }
[data-ui="components"] .sp-empty { padding:28px 16px; text-align:center; color:var(--sp-component-muted); border:1px dashed var(--sp-component-line); }
[data-ui="components"] .sp-skeleton { min-height:12px; background:var(--sp-surface-dark); opacity:.65; }
/* React pilot block — same shadcn token language, no framework-specific CSS. */
[data-ui="components"] .sp-react-card { background:var(--sp-component-bg); border:1px solid var(--sp-component-line); padding:14px; color:var(--sp-component-fg); }
[data-ui="components"] .sp-react-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
[data-ui="components"] .sp-react-title { font-size:14px; font-weight:700; }
[data-ui="components"] .sp-react-muted,[data-ui="components"] .sp-react-subtitle { color:var(--sp-component-muted); font-size:11px; font-weight:400; }
[data-ui="components"] .sp-react-subtitle { margin:5px 0 8px; }
[data-ui="components"] .sp-react-tabs { display:flex; gap:2px; border-bottom:1px solid var(--sp-component-line); }
[data-ui="components"] .sp-react-tab { border:0; border-bottom:2px solid transparent; background:transparent; color:var(--sp-component-muted); padding:6px 10px; font:inherit; font-size:12px; cursor:pointer; }
[data-ui="components"] .sp-react-tab.is-active { color:var(--sp-component-fg); border-bottom-color:var(--sp-component-focus); font-weight:700; }
[data-ui="components"] .sp-react-chart-wrap { width:100%; overflow-x:auto; }
[data-ui="components"] .sp-react-chart { display:block; width:100%; min-width:760px; height:auto; }
[data-ui="components"] .sp-react-grid { stroke:var(--sp-component-line); stroke-opacity:.20; stroke-width:1; }
[data-ui="components"] .sp-react-grid.sp-react-mid { stroke-opacity:.45; }
[data-ui="components"] .sp-react-axis-label,[data-ui="components"] .sp-react-axis-title { fill:var(--sp-component-muted); font-size:12px; }
[data-ui="components"] .sp-react-point { cursor:pointer; outline:none; }
[data-ui="components"] .sp-react-point.is-dim { opacity:.16; }
[data-ui="components"] .sp-react-dot { stroke:var(--sp-component-bg); stroke-width:2; }
[data-ui="components"] .sp-react-point:hover .sp-react-dot,[data-ui="components"] .sp-react-point:focus .sp-react-dot { stroke:var(--sp-component-focus); stroke-width:3; }
[data-ui="components"] .sp-react-target { fill:none; stroke:var(--sp-component-fg); stroke-width:2; stroke-dasharray:2 2; }
[data-ui="components"] .sp-react-label { fill:var(--sp-component-fg); font-size:12px; font-weight:600; pointer-events:none; }
[data-ui="components"] .sp-react-return { fill:var(--sp-component-muted); font-size:10px; pointer-events:none; }
[data-ui="components"] .sp-react-detail { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-top:1px solid var(--sp-component-line); margin-top:8px; padding-top:9px; font-size:12px; }
[data-ui="components"] .sp-react-badge { border:1px solid currentColor; padding:2px 7px; font-size:10px; font-weight:600; }
[data-ui="components"] .sp-react-empty { min-height:120px; display:flex; align-items:center; justify-content:center; color:var(--sp-component-muted); }
[data-ui="components"] .sp-react-error { color:var(--sp-down); }
/* Bootstrap/legacy aliases mapped to the same shadcn semantic tokens. */
[data-ui="components"] .btn,
[data-ui="components"] button.btn {
  min-height:34px; border:1px solid var(--border)!important; border-radius:var(--radius)!important;
  background:var(--card)!important; color:var(--foreground)!important; font-size:13px;
  box-shadow:none!important; transition:background .15s,color .15s,border-color .15s;
}
[data-ui="components"] .btn:hover { background:var(--muted)!important; border-color:var(--ring)!important; }
[data-ui="components"] .btn-primary,
[data-ui="components"] .btn-success,
[data-ui="components"] .btn-danger {
  background:var(--primary)!important; color:var(--primary-foreground)!important; border-color:var(--primary)!important;
}
[data-ui="components"] .form-control,
[data-ui="components"] .form-select,
[data-ui="components"] input.form-control,
[data-ui="components"] select.form-select {
  min-height:36px; border:1px solid var(--border)!important; border-radius:var(--radius)!important;
  background:var(--card)!important; color:var(--foreground)!important; box-shadow:none!important;
}
[data-ui="components"] .nav-tabs { border-bottom:1px solid var(--border)!important; gap:2px; }
[data-ui="components"] .nav-tabs .nav-link {
  border:0!important; border-bottom:2px solid transparent!important; border-radius:0!important;
  background:transparent!important; color:var(--muted-foreground)!important; font-size:13px;
}
[data-ui="components"] .nav-tabs .nav-link.active,
[data-ui="components"] .nav-tabs .nav-link:hover {
  color:var(--foreground)!important; border-bottom-color:var(--ring)!important;
}
[data-ui="components"] .alert {
  border:1px solid var(--border)!important; border-radius:var(--radius)!important;
  background:var(--card)!important; color:var(--foreground)!important;
}
[data-ui="components"] .progress { height:8px; background:var(--muted)!important; border-radius:999px!important; }
[data-ui="components"] .progress-bar { background:var(--primary)!important; }
[data-ui="components"] .table-responsive { border:1px solid var(--border); border-radius:var(--radius); }
[data-ui="components"] .table-responsive table { margin-bottom:0; }
@media(max-width:767px) {
  [data-ui="components"] .sp-toolbar { align-items:stretch; }
  [data-ui="components"] .sp-input,[data-ui="components"] .sp-select { flex:1; min-width:140px; }
  [data-ui="components"] .sp-tabs { overflow-x:auto; white-space:nowrap; }
}

/* 1페이지 파일럿: 시장현황을 shadcn 기본 모양으로 전환한다.
   기존 데이터 마크업을 유지하면서 카드·컨트롤·표만 둥근 표준 스타일을 사용한다. */
[data-ui="components"] .market-overview-page {
  /* shadcn/ui 기본 neutral(zinc) light 토큰 */
  --sp-bg:#ffffff;
  --sp-surface:#ffffff;
  --sp-surface-dark:#f4f4f5;
  --sp-text:#09090b;
  --sp-text-sub:#52525b;
  --sp-text-muted:#71717a;
  --sp-border:#e4e4e7;
  --sp-primary:#18181b;
  --sp-accent:#18181b;
  --sp-radius:.5rem;
  --sp-component-bg:#ffffff;
  --sp-component-fg:#09090b;
  --sp-component-muted:#52525b;
  --sp-component-line:#e4e4e7;
  --sp-component-focus:#18181b;
  --background:#ffffff;
  --foreground:#09090b;
  --card:#ffffff;
  --card-foreground:#09090b;
  --primary:#18181b;
  --primary-foreground:#fafafa;
  --muted:#f4f4f5;
  --muted-foreground:#52525b;
  --border:#e4e4e7;
  --ring:#18181b;
  --radius:.5rem;
  /* 페이지 바깥은 shadcn muted, 실제 콘텐츠 패널은 아래에서 white */
  background:var(--muted);
  color:var(--foreground);
}
[data-ui="components"] .market-overview-page .mo-summary {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
[data-ui="components"] .market-overview-page .sp-card,
[data-ui="components"] .market-overview-page .sp-sp-card,
[data-ui="components"] .market-overview-page .sp-sp-card--accent,
[data-ui="components"] .market-overview-page .mo-section,
[data-ui="components"] .market-overview-page .mw-index,
[data-ui="components"] .market-overview-page .mo-inline-panel {
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.06)!important;
}
[data-ui="components"] .market-overview-page > .mo-section:not(.mo-summary),
[data-ui="components"] .market-overview-page .mo-section > .sp-sp-card,
[data-ui="components"] .market-overview-page .mo-section > .sp-card {
  padding:24px!important;
}
[data-ui="components"] .market-overview-page .mo-index-grid > .sp-card {
  padding:20px!important;
}
[data-ui="components"] .market-overview-page .mw-stage-list .sp-card {
  padding:16px!important;
}
[data-ui="components"] .market-overview-page .sp-card-header {
  border-bottom:1px solid var(--border);
  padding:0 0 12px;
  margin-bottom:14px;
}
[data-ui="components"] .market-overview-page .btn,
[data-ui="components"] .market-overview-page button,
[data-ui="components"] .market-overview-page input[type="search"] {
  border-radius:var(--radius)!important;
}
[data-ui="components"] .market-overview-page .btn {
  min-height:34px;
  padding:7px 14px;
}
[data-ui="components"] .market-overview-page .sp-badge,
[data-ui="components"] .market-overview-page .badge {
  border-radius:9999px!important;
}
[data-ui="components"] .market-overview-page .mw-table-scroll,
[data-ui="components"] .market-overview-page .mo-inline-panel {
  overflow:auto;
}
[data-ui="components"] .market-overview-page table.is-table {
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--border);
  border-radius:var(--radius)!important;
  overflow:hidden;
}
[data-ui="components"] .market-overview-page table.is-table thead th {
  background:var(--muted);
  color:var(--foreground);
  border-bottom:1px solid var(--border);
}
[data-ui="components"] .market-overview-page table.is-table tbody tr:hover {
  background:color-mix(in srgb, var(--primary) 7%, transparent);
}
[data-ui="components"] .market-overview-page details summary {
  border-radius:var(--radius);
}

/* 공통 헤더 파일럿: shadcn Navigation Menu와 Input/Button 조합 */
[data-ui="components"] .sp-navbar {
  --card:#ffffff;
  --foreground:#09090b;
  --primary:#18181b;
  --primary-foreground:#fafafa;
  --muted:#f4f4f5;
  --muted-foreground:#52525b;
  --border:#e4e4e7;
  --ring:#18181b;
  --radius:.5rem;
  background:var(--card)!important;
  border-bottom:1px solid var(--border)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
[data-ui="components"] .sp-nav-primary {
  align-items:center;
  gap:2px!important;
}
[data-ui="components"] .sp-nav-primary .nav-link {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px!important;
  border-radius:var(--radius)!important;
  color:var(--muted-foreground)!important;
  font-size:13px;
  font-weight:500;
  line-height:1.2!important;
  text-decoration:none;
}
[data-ui="components"] .sp-nav-primary .nav-link:hover {
  background:var(--muted)!important;
  color:var(--foreground)!important;
}
[data-ui="components"] .sp-nav-primary .nav-link.active {
  background:var(--muted)!important;
  color:var(--foreground)!important;
  font-weight:650;
}
[data-ui="components"] .sp-navbar form {
  display:flex;
  align-items:center;
  gap:4px!important;
  padding:3px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  background:var(--card)!important;
}
[data-ui="components"] .sp-navbar form input#global-search {
  width:154px!important;
  min-height:30px;
  padding:6px 9px!important;
  border:0!important;
  border-radius:calc(var(--radius) - 2px)!important;
  background:transparent!important;
  color:var(--foreground)!important;
  font-size:12px!important;
  outline:none;
}
[data-ui="components"] .sp-navbar form input#global-search::placeholder { color:var(--muted-foreground); }
[data-ui="components"] .sp-navbar form button[type="submit"] {
  min-height:30px;
  padding:6px 12px!important;
  border:0!important;
  border-radius:calc(var(--radius) - 2px)!important;
  background:var(--primary)!important;
  color:var(--primary-foreground)!important;
  font-size:12px!important;
  font-weight:600;
  line-height:1.2;
}
[data-ui="components"] .sp-navbar form button[type="submit"]:hover { opacity:.9; }
[data-ui="components"] #search-dropdown {
  margin-top:4px;
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  background:var(--card)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
}
[data-ui="components"] #mobileNav {
  border-top:1px solid var(--border);
  background:var(--card)!important;
}
[data-ui="components"] #mobileNav a {
  display:block;
  padding:8px 10px!important;
  border-radius:var(--radius);
  color:var(--muted-foreground)!important;
  text-decoration:none;
}
[data-ui="components"] #mobileNav a:hover { background:var(--muted); color:var(--foreground)!important; }

/* shadcn base 컴포넌트의 기본 변형을 기존 HTML 클래스에 매핑한다. */
[data-ui="components"] .sp-btn,
[data-ui="components"] .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-height:36px;
  padding:8px 14px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  background:var(--card)!important;
  color:var(--foreground)!important;
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
[data-ui="components"] .sp-btn:hover,
[data-ui="components"] .btn:hover { background:var(--muted)!important; }
[data-ui="components"] .sp-btn-primary,
[data-ui="components"] .btn-primary { background:var(--primary)!important; color:var(--primary-foreground)!important; border-color:var(--primary)!important; }
[data-ui="components"] .sp-btn-secondary,
[data-ui="components"] .btn-secondary { background:var(--muted)!important; color:var(--foreground)!important; border-color:var(--border)!important; }
[data-ui="components"] .sp-btn-destructive,
[data-ui="components"] .btn-danger { background:#dc2626!important; color:#fff!important; border-color:#dc2626!important; }
[data-ui="components"] .sp-btn-outline { background:transparent!important; color:var(--foreground)!important; }
[data-ui="components"] .sp-btn-ghost { background:transparent!important; border-color:transparent!important; }
[data-ui="components"] .sp-btn-ghost:hover { background:var(--muted)!important; }

/* NativeSelect: 브라우저의 선택 동작은 유지하면서 shadcn 입력 높이·화살표·포커스를 적용 */
[data-ui="components"] select:not([multiple]),
[data-ui="components"] .sp-select,
[data-ui="components"] .form-select {
  min-height:36px;
  padding:7px 34px 7px 10px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  background-color:var(--card)!important;
  color:var(--foreground)!important;
  font-size:13px;
  line-height:1.2;
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted-foreground) 50%),linear-gradient(135deg,var(--muted-foreground) 50%,transparent 50%);
  background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
[data-ui="components"] select:disabled,
[data-ui="components"] .sp-btn:disabled,
[data-ui="components"] .btn:disabled { opacity:.5; cursor:not-allowed; }

/* Table: shadcn Table처럼 행 구분선 중심으로 표시하고 외곽은 둥근 컨테이너가 담당한다. */
[data-ui="components"] table.table-zebra,
[data-ui="components"] table.is-table {
  width:100%;
  color:var(--foreground);
  font-size:13px;
  border-color:var(--border)!important;
}
[data-ui="components"] table.table-zebra thead th,
[data-ui="components"] table.is-table thead th {
  height:40px;
  padding:9px 12px!important;
  background:var(--muted)!important;
  color:var(--muted-foreground)!important;
  font-weight:600;
  white-space:nowrap;
}
[data-ui="components"] table.table-zebra tbody td,
[data-ui="components"] table.is-table tbody td {
  padding:10px 12px!important;
  border-bottom:1px solid var(--border)!important;
  background:var(--card);
}
[data-ui="components"] table.table-zebra tbody tr:last-child td,
[data-ui="components"] table.is-table tbody tr:last-child td { border-bottom:0!important; }
[data-ui="components"] table.table-zebra tbody tr:hover td,
[data-ui="components"] table.is-table tbody tr:hover td { background:var(--muted)!important; }

/* Badge variants: default / secondary / destructive / outline / ghost */
[data-ui="components"] .sp-badge,
[data-ui="components"] .badge {
  min-height:22px;
  padding:3px 9px!important;
  border:1px solid transparent!important;
  border-radius:9999px!important;
  background:var(--primary)!important;
  color:var(--primary-foreground)!important;
  font-size:11px;
  font-weight:600;
  line-height:1.1;
}
[data-ui="components"] .sp-badge-secondary,
[data-ui="components"] .badge-secondary { background:var(--muted)!important; color:var(--foreground)!important; border-color:var(--border)!important; }
[data-ui="components"] .sp-badge-destructive,
[data-ui="components"] .badge-danger { background:#dc2626!important; color:#fff!important; border-color:#dc2626!important; }
[data-ui="components"] .sp-badge-outline,
[data-ui="components"] .badge-outline { background:transparent!important; color:var(--foreground)!important; border-color:var(--border)!important; }
[data-ui="components"] .sp-badge-ghost,
[data-ui="components"] .badge-ghost { background:transparent!important; color:var(--muted-foreground)!important; border-color:transparent!important; }

/* 지수 3개를 담는 외곽 영역은 박스 없이 muted 배경 위에 배치한다. */
[data-ui="components"] .market-overview-page .mo-summary {
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* shadcn 간격 토큰에 맞춘 파일럿 최종 보정: 데스크톱 px-6(24px),
   컴팩트 카드 p-5(20px), 세부 카드 p-4(16px). 페이지 전용 CSS의
   기존 !important(0px)를 이 규칙으로 덮어써 내용이 테두리에 붙지 않게 한다. */
body[data-ui="components"] .market-overview-page.market-overview-page {
  padding-left:24px;
  padding-right:24px;
}
body[data-ui="components"] .market-overview-page.market-overview-page .mw-stage-list .sp-card {
  padding:16px!important;
}
/* 섹터 단계 영역은 레이아웃 섹션 자체를 카드로 그리지 않고,
   내부의 표/관찰 카드만 표면으로 사용한다. */
body[data-ui="components"] .market-overview-page.market-overview-page .mo-sector {
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body[data-ui="components"] .market-overview-page.market-overview-page .mw-details--always {
  display:block;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
body[data-ui="components"] .market-overview-page.market-overview-page .mw-details--always p {
  margin:0;
}
@media(max-width:900px) {
  body[data-ui="components"] .market-overview-page.market-overview-page {
    padding-left:16px;
    padding-right:16px;
  }
}
