@import url("/static/zq-theme-tokens.css?v=6.0.0-theme.3");
.poi-analyzer-page {
  --blue: var(--zq-primary);
  --blue-dark: var(--zq-primary-hover);
  --soft: var(--zq-primary-soft);
  --faint: #f8faf8;
  --ink: var(--zq-ink);
  --muted: var(--zq-muted);
  --line: var(--zq-line);
  --shadow: var(--zq-shadow-sm);
}

.investment-pro-page {
  --pro-blue: var(--zq-primary);
  --pro-blue-dark: var(--zq-primary-hover);
  --pro-ink: var(--zq-ink);
  --pro-muted: var(--zq-muted);
  --pro-line: var(--zq-line);
  --pro-soft: var(--zq-primary-soft);
}

.benchmark-page,
.matrix-page {
  --blue: var(--zq-primary);
  --blue-soft: var(--zq-primary-soft);
  --ink: var(--zq-ink);
  --muted: var(--zq-muted);
  --line: var(--zq-line);
  --paper: var(--zq-paper);
  --canvas: var(--zq-canvas);
}

html,
body {
  margin: 0;
  padding: 0;
  background: var(--zq-canvas);
  color: var(--zq-ink);
}

.zq-shell-body {
  height: 100vh;
  min-height: 0;
  overflow: hidden;
  background: var(--zq-canvas);
}

.zq-app {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
}

.zq-topbar {
  position: relative;
  z-index: 500;
  display: flex;
  flex: 0 0 var(--zq-topbar-height);
  align-items: center;
  gap: 14px;
  min-width: 0;
  height: var(--zq-topbar-height);
  padding: 0 16px;
  color: #fff;
  background: var(--zq-primary);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .14), 0 4px 18px rgba(20, 52, 32, .14);
  transition: background-color .18s ease;
}

.zq-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  color: #fff;
  text-decoration: none;
}

.zq-brand__mark {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 11px;
  background: rgba(255, 255, 255, .12);
  font-family: Georgia, "Songti SC", serif;
  font-size: 17px;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.zq-brand__copy {
  display: grid;
  gap: 1px;
  line-height: 1;
}

.zq-brand__copy strong {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .01em;
}

.zq-brand__copy small {
  color: rgba(255, 255, 255, .7);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.zq-brand--wordmark { min-width: 112px; }
.zq-brand__logo { display: block; width: 112px; height: auto; max-height: 34px; object-fit: contain; }

.zq-topbar__subtitle {
  min-width: 0;
  overflow: hidden;
  color: rgba(255, 255, 255, .76);
  font-size: 11px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.zq-primary-nav {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 3px;
  margin-left: auto;
  padding: 8px 0;
}

.zq-primary-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 11px;
  border-radius: var(--zq-radius-sm);
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: color .16s ease, background-color .16s ease;
}

.zq-primary-nav a:hover {
  color: #fff;
  background: rgba(255, 255, 255, .12);
}

.zq-primary-nav a.is-active {
  color: var(--zq-primary-strong);
  background: #fff;
  box-shadow: 0 2px 10px rgba(17, 42, 26, .13);
}

.zq-primary-nav__admin::before {
  width: 5px;
  height: 5px;
  margin-right: 6px;
  border-radius: 50%;
  background: #f4c96b;
  content: "";
  box-shadow: 0 0 0 3px rgba(244, 201, 107, .15);
}

.zq-topbar__utilities {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}

.zq-topbar__status {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px 0 14px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: var(--zq-radius-sm);
  color: rgba(255, 255, 255, .88);
  background: rgba(255, 255, 255, .07);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  white-space: nowrap;
}

.zq-topbar__status::before {
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #83e2a6;
  content: "";
  box-shadow: 0 0 0 3px rgba(131, 226, 166, .14);
}

.zq-topbar__status--pending::before {
  background: #ffd67a;
  box-shadow: 0 0 0 3px rgba(255, 214, 122, .14);
}

.zq-theme-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  padding: 0 7px 0 9px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: var(--zq-radius-sm);
  color: rgba(255, 255, 255, .78);
  background: rgba(255, 255, 255, .07);
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.zq-theme-picker select {
  width: auto;
  min-width: 68px;
  height: 26px;
  margin: 0;
  padding: 0 22px 0 6px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: rgba(0, 0, 0, .13);
  box-shadow: none;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  text-align-last: center;
}

.zq-theme-picker option { color: #1f2937; background: #fff; }
.map-analysis-page #mapStyle { text-align: center; text-align-last: center; }
.map-analysis-page #mapStyle option { text-align: center; }

.zq-topbar__logout {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: var(--zq-radius-sm);
  color: #fff;
  background: rgba(255, 255, 255, .07);
  font-size: 15px;
  text-decoration: none;
}

.zq-topbar__logout:hover { background: rgba(255, 255, 255, .16); }

.zq-sidebar-toggle {
  display: none;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: var(--zq-radius-sm);
  color: #fff;
  background: rgba(255, 255, 255, .06);
  cursor: pointer;
  font-size: 17px;
}

.zq-shell-main {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.zq-sidebar {
  display: flex;
  flex: 0 0 var(--zq-sidebar-width);
  flex-direction: column;
  width: var(--zq-sidebar-width);
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-right: 1px solid var(--zq-line);
  background: var(--zq-paper);
  scrollbar-width: thin;
  scrollbar-color: #c7d3ca transparent;
}

.zq-sidebar__intro { padding: 19px 18px 16px; border-bottom: 1px solid #edf1ee; }
.zq-sidebar__eyebrow { margin: 0 0 6px; color: var(--zq-primary); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.zq-sidebar__title { margin: 0; color: var(--zq-ink); font-size: 18px; line-height: 1.3; font-weight: 730; }
.zq-sidebar__copy { margin: 7px 0 0; color: var(--zq-muted); font-size: 12px; line-height: 1.55; }
.zq-sidebar__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 13px; }
.zq-sidebar__meta > span { min-width: 0; padding: 9px; border: 1px solid #edf2ee; border-radius: var(--zq-radius-sm); color: var(--zq-muted); background: #f8faf8; font-size: 10px; line-height: 1.35; }
.zq-sidebar__meta strong { display: block; margin-top: 3px; overflow: hidden; color: var(--zq-ink); font-size: 12px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.zq-sidebar__footer { margin-top: auto; padding: 14px 18px; border-top: 1px solid #edf1ee; color: #89958c; font-size: 11px; line-height: 1.5; }

.zq-nav { padding: 10px 9px 18px; }
.zq-nav details { border-bottom: 1px solid #edf1ee; }
.zq-nav details:last-child { border-bottom: 0; }
.zq-nav summary { display: flex; align-items: center; min-height: 40px; padding: 0 9px; color: #516057; cursor: pointer; list-style: none; font-size: 11px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; user-select: none; }
.zq-nav summary::-webkit-details-marker { display: none; }
.zq-nav summary::after { margin-left: auto; color: #92a097; content: "⌄"; font-size: 13px; }
.zq-nav details[open] summary::after { content: "⌃"; }
.zq-nav__items { display: grid; gap: 3px; padding: 0 0 9px; }
.zq-nav a { position: relative; display: flex; align-items: center; gap: 10px; min-height: 39px; padding: 7px 10px 7px 34px; border-radius: var(--zq-radius-sm); color: #526158; font-size: 13px; line-height: 1.25; text-decoration: none; }
.zq-nav a::before { position: absolute; left: 18px; width: 5px; height: 5px; border-radius: 50%; background: #c5d0c8; content: ""; }
.zq-nav a:hover { color: var(--zq-primary); background: var(--zq-primary-soft); }
.zq-nav a.is-active { color: var(--zq-primary); background: var(--zq-primary-soft); font-weight: 650; }
.zq-nav a.is-active::before { background: var(--zq-primary); box-shadow: 0 0 0 3px var(--zq-focus-ring); }
.zq-nav a.is-disabled { pointer-events: none; color: #a3ada6; }
.zq-nav a.is-disabled::before { background: #e1e7e3; }
.zq-nav a.zq-nav__subitem { min-height: 30px; padding: 5px 8px 5px 44px; font-size: 11px; }
.zq-nav a.zq-nav__subitem::before { left: 30px; width: 4px; height: 4px; }
.zq-nav__badge { margin-left: auto; padding: 2px 6px; border-radius: 999px; color: #647169; background: #e9efeb; font-size: 10px; }

.zq-workspace { position: relative; flex: 1 1 auto; min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; scroll-behavior: smooth; scroll-padding-top: 16px; background: var(--zq-canvas); }
.zq-workspace--flush { overflow: hidden; }
.zq-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 19px 22px 18px; border-bottom: 1px solid var(--zq-line); background: rgba(255, 255, 255, .92); }
.zq-page-heading__eyebrow { margin: 0 0 4px; color: var(--zq-primary); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.zq-page-heading h1 { margin: 0; color: var(--zq-ink); font-size: clamp(21px, 2.2vw, 30px); line-height: 1.2; font-weight: 750; letter-spacing: -.025em; }
.zq-page-heading p { max-width: 820px; margin: 5px 0 0; color: var(--zq-muted); font-size: 13px; line-height: 1.55; }
.zq-page-heading__aside { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.zq-page-chip { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px; border: 1px solid var(--zq-primary-border); border-radius: 999px; color: var(--zq-primary); background: var(--zq-primary-soft); font-size: 11px; white-space: nowrap; }
[data-zq-section] { scroll-margin-top: 16px; }
.zq-sidebar-backdrop { display: none; }

.zq-global-footer {
  display: flex;
  flex: 0 0 var(--zq-footer-height);
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  height: var(--zq-footer-height);
  padding: 0 16px;
  border-top: 1px solid var(--zq-line);
  color: var(--zq-muted);
  background: rgba(255, 255, 255, .96);
  font-size: 10px;
  letter-spacing: .04em;
}

.zq-global-footer__brand { display: inline-flex; align-items: center; gap: 8px; color: var(--zq-ink); font-weight: 700; }
.zq-global-footer__brand::before { width: 18px; height: 4px; border-radius: 999px; background: var(--zq-primary); content: ""; }
.zq-global-footer__meta { overflow: hidden; color: #8a968d; white-space: nowrap; text-overflow: ellipsis; }
.poi-analyzer-page .zq-workspace > footer { display: none; }

/* Shared control language: module styles keep layout, xiuya owns shape and theme. */
button,
input,
select,
textarea,
.button,
.btn,
.pro-btn {
  border-radius: var(--zq-radius-xs);
}

.btn-primary,
.btn-sm,
.btn,
.button,
.pro-btn,
.zq-primary-nav a,
.zq-theme-picker,
.zq-topbar__logout {
  border-radius: var(--zq-radius-sm) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--zq-primary) !important;
  box-shadow: 0 0 0 3px var(--zq-focus-ring) !important;
  outline: none;
}

.btn-primary,
.btn-sm:not([style*="background"]),
.btn.primary,
.button--primary,
.pro-btn--primary {
  border-color: var(--zq-primary) !important;
  background: var(--zq-primary) !important;
  color: #fff !important;
}

.btn-sm.outline {
  border-color: var(--zq-primary) !important;
  color: var(--zq-primary) !important;
  background: #fff !important;
}

.btn.secondary,
.button--ghost,
.pro-btn--ghost {
  border-color: var(--zq-primary-border) !important;
  color: var(--zq-primary) !important;
  background: #fff !important;
}

.btn.secondary:hover,
.button--ghost:hover,
.pro-btn--ghost:hover,
.btn-sm.outline:hover {
  border-color: var(--zq-primary) !important;
  color: var(--zq-primary-hover) !important;
  background: var(--zq-primary-soft) !important;
}

.btn-primary:hover,
.btn.primary:hover,
.button--primary:hover,
.pro-btn--primary:hover {
  border-color: var(--zq-primary-hover) !important;
  background: var(--zq-primary-hover) !important;
}

.card,
.pro-card,
.poi-analyzer-page .panel,
.poi-analyzer-page .snapshot,
.expert-model-card,
.expert-growth-panel,
.map-controls,
.file-modal__dialog,
.pro-dialog,
dialog,
.modal-content {
  border-radius: var(--zq-radius-md) !important;
}

.card,
.pro-card { box-shadow: var(--zq-shadow-sm); }

.panel-title .dot,
.step { background-color: var(--zq-primary) !important; }

.poi-analyzer-page .step { color: var(--zq-primary) !important; background: transparent !important; }
.poi-analyzer-page .snapshot { border-color: var(--zq-primary) !important; background: var(--zq-primary) !important; }
.poi-analyzer-page .snapshot .metric-grid { background: rgba(255, 255, 255, .22); }
.poi-analyzer-page .snapshot .metric-grid article { background: rgba(0, 0, 0, .18); }
.poi-analyzer-page .zq-sidebar .zq-sidebar__eyebrow,
.comparison-dialog > .file-pair-item:hover::after,
.ai-report-html a { color: var(--zq-primary) !important; }
.ai-profile-default { background: var(--zq-primary) !important; }
.markdown-task input { accent-color: var(--zq-primary) !important; }
.markdown-diagram.is-loading .markdown-diagram-status::before { border-top-color: var(--zq-primary) !important; }

.benchmark-page .record-page-button:hover,
.benchmark-page .record-page-button.is-active { border-color: var(--zq-primary); }
.benchmark-page .record-page-button.is-active { background: var(--zq-primary); box-shadow: 0 4px 10px var(--zq-focus-ring); }
.benchmark-page .check-line input { accent-color: var(--zq-primary); }
.benchmark-page.expert-studio-page .zq-nav__items button:hover,
.benchmark-page.expert-studio-page .zq-nav__items button.is-active { background: var(--zq-primary); }
.matrix-page .ring { background: var(--zq-primary); }

.fixed-param {
  border-color: var(--zq-primary-border) !important;
  color: var(--zq-primary) !important;
  background: var(--zq-primary-soft) !important;
}

.task-progress { background: var(--zq-primary-soft-strong) !important; }
.task-progress span,
.progress-track span { background: var(--zq-primary) !important; }

.map-analysis-page .sidebar {
  flex: 0 0 var(--zq-sidebar-width);
  width: var(--zq-sidebar-width);
}

.map-analysis-page .panel { padding: 15px 17px; }
.map-analysis-page .panel > .form-group { margin-bottom: 12px; }
.map-analysis-page .summary-item,
.map-analysis-page .history-item,
.map-analysis-page .search-dropdown { border-radius: var(--zq-radius-sm); }
.map-analysis-page .map-controls { border: 1px solid var(--zq-line); }
.map-analysis-page .history-map-marker__core { background: var(--zq-primary); }
.map-analysis-page .history-map-marker__halo { border-color: color-mix(in srgb, var(--zq-primary) 72%, transparent); background: color-mix(in srgb, var(--zq-primary) 12%, transparent); }

@media (max-width: 1240px) {
  .zq-topbar__subtitle,
  .zq-topbar__status { display: none; }
  .zq-primary-nav a { padding-inline: 9px; }
}

@media (max-width: 940px) {
  :root { --zq-sidebar-width: 304px; }
  .zq-brand__copy small { display: none; }
  .zq-theme-picker > span { display: none; }
}

@media (max-width: 820px) {
  :root { --zq-sidebar-width: min(336px, 88vw); }
  .zq-sidebar-toggle { display: inline-grid; place-items: center; }
  .zq-sidebar { position: absolute; z-index: 420; inset: 0 auto 0 0; transform: translateX(-102%); box-shadow: 18px 0 45px rgba(15, 35, 23, .2); transition: transform .2s ease; }
  .zq-sidebar-backdrop { position: absolute; z-index: 410; inset: 0; background: rgba(15, 35, 23, .36); backdrop-filter: blur(2px); }
  .zq-sidebar-open .zq-sidebar { transform: translateX(0); }
  .zq-sidebar-open .zq-sidebar-backdrop { display: block; }
  .zq-topbar { gap: 8px; padding: 0 9px; }
  .zq-brand__copy { display: none; }
  .zq-primary-nav { min-width: 0; overflow-x: auto; scrollbar-width: none; }
  .zq-primary-nav::-webkit-scrollbar { display: none; }
  .zq-primary-nav a { min-height: 34px; padding-inline: 8px; font-size: 11px; }
  .zq-primary-nav__admin::before { display: none; }
  .zq-theme-picker { padding-left: 6px; }
  .zq-theme-picker select { min-width: 54px; max-width: 58px; }
  .zq-page-heading { padding: 16px; }
  .zq-page-heading__aside { display: none; }
}

@media (max-width: 520px) {
  .zq-brand { display: none; }
  .zq-topbar__logout { display: none; }
  .zq-theme-picker select { width: 32px; min-width: 32px; padding-inline: 4px; color: transparent; }
  .zq-theme-picker select option { color: #1f2937; }
  .zq-global-footer__meta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Dark theme surfaces and controls. Module styles keep layout; this layer owns the palette. */
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) body,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-shell-body {
  background: var(--zq-canvas);
  color: var(--zq-ink);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page {
  --faint: #171b24;
  --soft: var(--zq-primary-soft);
  --ink: var(--zq-ink);
  --muted: var(--zq-muted);
  --line: var(--zq-line);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .chart-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .concentration-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-profile-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .user-profile-summary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .file-modal__dialog,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-history-item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-result-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .expert-model-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .expert-growth-panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .skill-row,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .expert-inline-form,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-page .matrix-sidebar-section,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-main > *,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-section,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-sheet,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-table-wrap {
  color: var(--zq-ink);
  border-color: var(--zq-line) !important;
  background: var(--zq-paper) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .chart-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .concentration-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .file-pair-item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-kpis article,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-chart-grid article,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .expert-grid article,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .training-summary div,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page .skill-persona-hint,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-page .matrix-summary div,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-kpis article,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-project-meta span,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-table-totals__item {
  color: var(--zq-ink);
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
}

/* POI Analyzer dark surfaces: investment dialogs, comparison picker and AI cards. */
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-paper) !important;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .58);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal header,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal footer {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal :is(h2, p, label, summary, .investment-field-help),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal .investment-ai-option {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal :is(header p, .investment-field-help) {
  color: var(--zq-muted) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-modal :is(input[type="number"], select) {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-close {
  color: var(--zq-ink) !important;
  background: var(--zq-primary-soft) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-kpis strong {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .investment-kpis span {
  color: var(--zq-muted) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-paper) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .62);
  scrollbar-color: #45404f transparent;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > h2 {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: linear-gradient(180deg, var(--zq-surface), var(--zq-paper)) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > h2::before {
  color: #b18cf0;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > button:first-child {
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > button:first-child::before,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > button:first-child::after {
  background: var(--zq-ink);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > .file-pair-item {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
  box-shadow: none;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-dialog > .file-pair-item:hover {
  color: var(--zq-ink) !important;
  border-color: var(--zq-primary-border) !important;
  background: var(--zq-primary-soft) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .24);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-config-panel :is(.ai-profile-card h3, .ai-config-editor > h3, .section-heading h2) {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .user-config-panel .user-password-editor > h3 {
  color: var(--zq-ink) !important;
}

.poi-analyzer-page .map-api-guides {
  display: grid;
  gap: 4px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--zq-line);
  border-radius: 10px;
  background: var(--zq-surface, var(--zq-paper));
}
.poi-analyzer-page .map-api-guides p { margin: 0; color: var(--zq-muted); }
.poi-analyzer-page .map-api-guides strong { color: var(--zq-ink); }
.poi-analyzer-page .map-api-guides a,
.poi-analyzer-page .map-api-required-note a { color: var(--zq-primary); font-weight: 700; }
.poi-analyzer-page #map-config .map-api-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.poi-analyzer-page #map-config .map-api-actions { justify-content: flex-start; gap: 10px 18px; }
.poi-analyzer-page #map-config .map-api-actions .checkbox-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 0; }
.poi-analyzer-page #map-config .map-api-actions button { margin-left: auto; }
.poi-analyzer-page #map-config .map-api-actions input { width: auto; height: auto; margin: 0; accent-color: var(--zq-primary); }
.map-analysis-page #runBtn.is-config-required { opacity: .58; filter: saturate(.65); cursor: not-allowed; }
.map-analysis-page .history-item .actions [data-history-action="refresh"].is-config-required { opacity: .58; filter: saturate(.65); cursor: not-allowed; }
.map-analysis-page .map-api-required-note { margin: 8px 0 0; color: var(--zq-muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 960px) {
  .poi-analyzer-page #map-config .map-api-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .poi-analyzer-page #map-config .map-api-form { grid-template-columns: 1fr; }
  .poi-analyzer-page #map-config .map-api-actions { align-items: flex-start; }
  .poi-analyzer-page #map-config .map-api-actions button { width: 100%; margin-left: 0; }
}

html[data-zq-theme="green"] .poi-analyzer-page #map-config .button--primary,
html[data-zq-theme="green"] .poi-analyzer-page #map-config .button--primary:hover {
  color: #131313 !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-config-panel .ai-profile-card {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-paper) !important;
  box-shadow: var(--zq-shadow-sm);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-config-panel .ai-profile-card.is-default {
  border-color: var(--zq-primary-border) !important;
  background: linear-gradient(145deg, var(--zq-primary-soft), var(--zq-paper) 72%) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-config-panel :is(.ai-profile-heading strong, .ai-profile-card p) {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-config-panel :is(.ai-profile-heading span, .ai-profile-card p) {
  color: var(--zq-muted) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-profile-provider {
  color: var(--zq-muted) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page :is(.section-heading h2, .chart-card h3, .concentration-card h3, .warning-panel h2),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page :is(.section-heading h2, .expert-grid h3),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page :is(.pro-card h2, .pro-card h3, .pro-project-head h2) {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page :is(.section-heading p, .concentration-card p, .field-note, .investment-muted, .competition-method),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page :is(.section-heading p, .expert-grid p, .expert-grid h3 small),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page :is(.pro-card p, .pro-project-card p, .pro-section-head p) {
  color: var(--zq-muted) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page table td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-table td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-table td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page td {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-paper) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .comparison-table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page .pro-table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page table th {
  color: var(--zq-muted) !important;
  border-color: var(--zq-line) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page textarea,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page textarea,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .investment-pro-page textarea {
  color: var(--zq-ink) !important;
  border-color: var(--zq-line) !important;
  background-color: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-topbar {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 5px 22px rgba(0, 0, 0, .3);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-page-heading,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-global-footer,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .expert-model-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .expert-growth-panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-dialog,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-dialog header,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-dialog footer,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-area-picker-item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-comparison-project,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-comparison-project__head,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table-totals,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table-totals__title,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-chart-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-guide-step,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-controls,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-dropdown,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .progress-box,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .notice,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-context-picker {
  background: var(--zq-paper) !important;
  color: var(--zq-ink);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__intro,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__meta > span,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__footer,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav details,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-global-footer,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .tables-area,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .table-panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .history-item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-version-bar,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-sheet-tabs,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-area-binding,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table-wrap,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-guide-step,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-chart-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-card,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-table td {
  border-color: var(--zq-line) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__meta > span,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .summary-item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-page-config,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-summary div,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .training-summary div,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-kpis article,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-project-meta span {
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__title,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-page-heading h1,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .panel-title,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-controls .title,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .table-panel h3,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .summary-item .value,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-item .si-name,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-card h2,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-card h3,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-card h2,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-card h3,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-table td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page h1,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page h2,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page h3 {
  color: var(--zq-ink) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__copy,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-page-heading p,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar__footer,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) label,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .param-note,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .loading,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .summary-item .label,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .summary-item .unit,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .empty-hint,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .history-item .hi-info,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-item .si-addr,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-muted,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-section-head p,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-field label,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .expert-model-card p,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .growth-profile p,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .skill-row small {
  color: var(--zq-muted) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav summary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav a:not(.is-active):not(.is-disabled) {
  color: var(--zq-muted) !important;
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav a.is-disabled {
  color: var(--zq-muted) !important;
  opacity: .58;
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-list li {
  color: var(--zq-ink) !important;
  border-bottom-color: var(--zq-line) !important;
}

.map-analysis-page .history-item__place {
  color: var(--zq-ink);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) textarea,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-form-grid input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-form-grid select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-form-grid textarea,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-toolbar input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-version-bar select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-field input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-field select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-field textarea,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-sidebar input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-sidebar select,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .record-search input,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .record-page-size select {
  border-color: var(--zq-line) !important;
  color: var(--zq-ink) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) input::placeholder,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) textarea::placeholder {
  color: #788294;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .login-card label {
  color: rgba(255, 255, 255, .86) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .login-card input {
  color: #fff !important;
  background: rgba(11, 13, 17, .32) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .login-card input::placeholder {
  color: rgba(255, 255, 255, .72);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .btn-sm.outline,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .btn.secondary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .button--ghost,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-btn--ghost,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-btn--ghost,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .record-page-button {
  border-color: var(--zq-primary-border) !important;
  color: var(--zq-primary) !important;
  background: transparent !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .btn.secondary:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .button--ghost:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-btn--ghost:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-btn--ghost:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .record-page-button:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-item:hover {
  background: var(--zq-primary-soft) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .task-progress,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .progress-track,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .mini-progress,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .growth-track,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .skill-track {
  background: var(--zq-primary-soft-strong) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .table-panel th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-table th,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table th {
  color: var(--zq-muted) !important;
  background: var(--zq-surface) !important;
  border-color: var(--zq-line) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table-totals__item,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-guide-step p {
  color: var(--zq-ink);
  border-color: var(--zq-line) !important;
  background: transparent;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page .map-controls,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page .search-dropdown,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page .history-item {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page .map-coord {
  background: rgba(11, 13, 17, .9);
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page tr.current-street td,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-analysis-page tr.current-district td {
  color: #ff9aa8;
  background: #351d2a;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .expert-growth-panel,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-area-binding,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-dialog,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-area-dialog__shell,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-comparison-dialog__shell,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-map-dialog__shell {
  background: var(--zq-paper) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .expert-inline-form,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .training-summary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .skill-row,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .record-toolbar,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-sidebar,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-results,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-map-title,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .map-legend {
  background: var(--zq-paper) !important;
  color: var(--zq-ink);
  border-color: var(--zq-line) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .matrix-workspace {
  background: #10131a;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .search-results button:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .binding-item:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .binding-item.is-active,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-table tbody tr:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-comparison-option:hover {
  background: var(--zq-primary-soft) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-btn,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-btn--primary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .btn.primary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .button--primary,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-btn--primary:hover {
  border-color: var(--zq-primary) !important;
  background: var(--zq-primary) !important;
  color: #fff !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-btn:hover:not(:disabled),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-btn--primary:hover,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .btn.primary:hover {
  background: var(--zq-primary-hover) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) code,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .badge,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav__badge,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-project-card__head span {
  color: var(--zq-muted) !important;
  background: var(--zq-surface) !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .error-msg,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-error,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .sh-msg--err {
  color: #ff9aa8 !important;
  border-color: #6b293b !important;
  background: #351d2a !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .pro-success,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .message.success {
  color: #83e2a6 !important;
}

html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-sidebar,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-nav,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .zq-workspace {
  scrollbar-color: #3b4352 transparent;
}

/* Legacy module tokens resolve from the active global theme. */
.poi-analyzer-page {
  --ink: var(--zq-ink);
  --muted: var(--zq-muted);
  --line: var(--zq-line);
  --paper: var(--zq-paper);
  --faint: var(--zq-surface, var(--zq-paper));
  --blue: var(--zq-primary);
  --blue-dark: var(--zq-primary-hover);
  --soft: var(--zq-primary-soft);
  --success: var(--zq-primary);
}
.poi-analyzer-page :is(.panel, .snapshot, .chart-card, .concentration-card,
  .snapshot-analysis__card, .user-profile-summary, .file-modal__dialog,
  .comparison-dialog, .comparison-card, .investment-history-item, .investment-modal,
  .investment-result-card) {
  color: var(--zq-ink);
  background-color: var(--zq-paper);
  border-color: var(--zq-line);
}
.poi-analyzer-page :is(.file-modal__dialog, .comparison-dialog, .investment-modal) { box-shadow: var(--zq-shadow-sm); }
.poi-analyzer-page .file-modal__backdrop { background: rgb(0 0 0 / .62); }
.poi-analyzer-page :is(.file-pair-item, .snapshot-analysis__card, .chart-card, .concentration-card) {
  background-color: var(--zq-surface, var(--zq-paper));
}
.poi-analyzer-page :is(.file-pair-item:hover, .column-picker__option:hover) { background-color: var(--zq-primary-soft); }
.poi-analyzer-page :is(.section-heading h2, .chart-card h3, .concentration-card h3,
  .snapshot-analysis__card h3, .file-modal__head h2) { color: var(--zq-ink); }
.poi-analyzer-page :is(.section-heading p, .snapshot-analysis__note, .file-modal__head p) { color: var(--zq-muted); }
.poi-analyzer-page .snapshot h2 { color: #fff !important; }
.poi-analyzer-page .comparison-detail { margin-top: 12px; padding: 12px; border: 1px solid var(--zq-line); border-radius: 8px; background: var(--zq-surface, var(--zq-paper)); }
.poi-analyzer-page .comparison-detail h4 { margin: 0 0 8px; color: var(--zq-primary); }
.poi-analyzer-page .comparison-detail p { margin: 0; color: var(--zq-muted); }
.skill-hub-page .file-modal__backdrop { background: rgb(0 0 0 / .62); }
.skill-hub-page .file-modal__dialog {
  color: var(--zq-ink); background: var(--zq-paper); border-color: var(--zq-line); box-shadow: var(--zq-shadow-sm);
}
.investment-pro-page .pro-main > :is(section, article),
.investment-pro-page :is(.pro-card, .pro-section, .pro-sheet, .pro-table-wrap,
  .pro-area-dialog__shell, .pro-comparison-dialog__shell, .pro-map-dialog__shell) {
  color: var(--zq-ink); background-color: var(--zq-paper); border-color: var(--zq-line);
}
.investment-pro-page :is(.pro-area-picker-item, .pro-comparison-project, .pro-map-search__results,
  .pro-map-search__results > button, .pro-map-selection) {
  color: var(--zq-ink); background-color: var(--zq-surface, var(--zq-paper)); border-color: var(--zq-line);
}

/* Shared in-page dialog module for alerts, confirmations, and short inputs. */
.zq-dialog-backdrop {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgb(8 12 18 / .58);
  backdrop-filter: blur(7px);
  animation: zq-dialog-fade-in .16s ease-out both;
}
.zq-dialog {
  width: min(100%, 480px);
  max-height: min(86vh, 680px);
  overflow: auto;
  color: var(--zq-ink);
  background: var(--zq-paper);
  border: 1px solid var(--zq-line);
  border-radius: var(--zq-radius-lg);
  box-shadow: 0 28px 90px rgb(0 0 0 / .34), var(--zq-shadow-sm);
  animation: zq-dialog-rise-in .2s cubic-bezier(.2, .75, .25, 1) both;
}
.zq-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 17px;
  border-bottom: 1px solid var(--zq-line);
}
.zq-dialog__eyebrow {
  margin: 0 0 6px;
  color: var(--zq-primary);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.zq-dialog__header h2 {
  margin: 0;
  color: var(--zq-ink);
  font-size: 18px;
  font-weight: 720;
  line-height: 1.4;
}
.zq-dialog__close {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  margin: -3px -4px 0 0;
  padding: 0;
  color: var(--zq-muted);
  background: var(--zq-surface, var(--zq-canvas));
  border: 1px solid var(--zq-line);
  border-radius: 50%;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}
.zq-dialog__close:hover { color: var(--zq-ink); border-color: var(--zq-primary-border); }
.zq-dialog__body { padding: 20px 24px 8px; }
.zq-dialog__message {
  margin: 0;
  color: var(--zq-muted);
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.zq-dialog__input {
  display: block;
  width: 100%;
  min-height: 44px;
  margin-top: 16px;
  padding: 10px 12px;
  color: var(--zq-ink);
  background: var(--zq-surface, var(--zq-paper));
  border: 1px solid var(--zq-line);
  border-radius: var(--zq-radius-xs);
  font: inherit;
  outline: none;
}
.zq-dialog__input:focus { border-color: var(--zq-primary); box-shadow: 0 0 0 3px var(--zq-focus-ring); }
.zq-dialog__footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 24px 22px;
}
.zq-dialog__button {
  min-height: 40px;
  padding: 9px 17px;
  border: 1px solid transparent;
  border-radius: 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.zq-dialog__button:active { transform: translateY(1px); }
.zq-dialog__button--secondary {
  color: var(--zq-ink);
  background: var(--zq-surface, var(--zq-canvas));
  border-color: var(--zq-line);
}
.zq-dialog__button--secondary:hover { border-color: var(--zq-primary-border); background: var(--zq-primary-soft); }
.zq-dialog__button--primary { color: #fff; background: var(--zq-primary); }
.zq-dialog__button--primary:hover { background: var(--zq-primary-hover); }
.zq-dialog__button--primary.is-danger { background: var(--zq-danger); }
.zq-dialog__button:focus-visible,
.zq-dialog__close:focus-visible { outline: 3px solid var(--zq-focus-ring); outline-offset: 2px; }
@keyframes zq-dialog-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes zq-dialog-rise-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 560px) {
  .zq-dialog-backdrop { align-items: end; padding: 12px; }
  .zq-dialog { width: 100%; max-height: 82vh; border-radius: 22px; }
  .zq-dialog__header { padding: 20px 19px 15px; }
  .zq-dialog__body { padding: 18px 19px 6px; }
  .zq-dialog__footer { padding: 16px 19px 19px; }
  .zq-dialog__button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .zq-dialog-backdrop, .zq-dialog { animation: none; }
  .zq-dialog__button { transition: none; }
}

/* Theme-aware repairs for the Benchmark schedule and POI report center. */
.zq-nav a { color: var(--zq-muted); }
.zq-nav a.is-disabled { color: color-mix(in srgb, var(--zq-muted) 68%, transparent); }
.poi-analyzer-page .report-tabs { border-color: var(--zq-line); }
.poi-analyzer-page .report-tabs [role="tab"] {
  color: var(--zq-muted);
  border-radius: 12px 12px 0 0;
}
.poi-analyzer-page .report-tabs [role="tab"][aria-selected="true"] {
  color: var(--zq-primary);
  border-bottom-color: var(--zq-primary);
  background: var(--zq-primary-soft);
}
.poi-analyzer-page .report-view-toggle .button {
  color: var(--zq-muted);
  border-color: var(--zq-line);
  background: var(--zq-surface, var(--zq-paper));
}
.poi-analyzer-page .report-view-toggle .button.is-active {
  color: #fff;
  border-color: var(--zq-primary);
  background: var(--zq-primary);
}
.poi-analyzer-page .ai-report-html {
  color: var(--zq-ink);
  border-color: var(--zq-line);
  background: var(--zq-paper);
}
.poi-analyzer-page .ai-report-html :is(h1, h2, h3, h4, h5, h6, p, li, td, th) { color: inherit; }
.poi-analyzer-page .ai-report-html blockquote {
  color: var(--zq-ink);
  border-left-color: var(--zq-primary);
  background: var(--zq-primary-soft);
}
.poi-analyzer-page .ai-report-html hr,
.poi-analyzer-page .ai-report-html :is(th, td),
.poi-analyzer-page .markdown-table-scroll { border-color: var(--zq-line); }
.poi-analyzer-page .ai-report-html th,
.poi-analyzer-page .ai-report-html code:not(pre code) {
  color: var(--zq-ink);
  background: var(--zq-surface, var(--zq-primary-soft));
}
.poi-analyzer-page .ai-report-html a { color: var(--zq-primary); }
.poi-analyzer-page .markdown-diagram { border-color: var(--zq-line); background: var(--zq-surface, var(--zq-paper)); }
.poi-analyzer-page .markdown-diagram.is-rendered { background: var(--zq-paper); }
.poi-analyzer-page .markdown-diagram-status,
.poi-analyzer-page .markdown-image-note { color: var(--zq-muted); }
.poi-analyzer-page .markdown-mermaid-output svg text,
.poi-analyzer-page .markdown-mermaid-output svg tspan { fill: var(--zq-ink) !important; }
.poi-analyzer-page .markdown-mermaid-output svg .edgeLabel text { fill: var(--zq-muted) !important; }
.benchmark-page #baseline-settings > p {
  width: 100%;
  max-width: none;
  overflow-wrap: anywhere;
  word-break: normal;
}
.benchmark-page #baseline-settings > p:last-child {
  color: var(--zq-muted);
  border-color: var(--zq-line);
  background: var(--zq-surface, var(--zq-canvas));
}
.benchmark-page #baseline-settings code {
  color: var(--zq-primary);
  background: var(--zq-primary-soft);
  white-space: normal;
  overflow-wrap: anywhere;
}
.benchmark-page #baseline-schedule {
  min-width: 0;
  max-width: 100%;
}
.benchmark-page #baseline-schedule > label { min-width: 0; }
.benchmark-page #baseline-schedule :is(input[type="time"], input[type="number"]) { min-width: 0; }
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page #baseline-schedule {
  border-color: var(--zq-line);
  background: var(--zq-surface);
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page #baseline-schedule label { color: var(--zq-ink); }
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page #baseline-schedule input:not([type="checkbox"]) {
  color: var(--zq-ink);
  border-color: var(--zq-line);
  background: var(--zq-paper);
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .benchmark-page #baseline-settings > p:last-child { color: var(--zq-muted); }
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html {
  color: var(--zq-ink);
  border-color: var(--zq-line);
  background: var(--zq-paper);
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html :is(h1, h2, h3, h4, h5, h6, p, li, td, th) { color: var(--zq-ink); }
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html blockquote {
  color: var(--zq-ink);
  border-left-color: var(--zq-primary);
  background: var(--zq-primary-soft);
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html :is(th, code:not(pre code)) {
  color: var(--zq-ink);
  background: var(--zq-surface);
}
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html hr,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .ai-report-html :is(th, td),
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .markdown-table-scroll { border-color: var(--zq-line); }
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .markdown-diagram,
html:is([data-zq-theme="dark"], [data-zq-theme="green"]) .poi-analyzer-page .markdown-diagram.is-rendered { background: var(--zq-surface); }
.benchmark-page .btn.dark {
  color: #fff;
  border-color: var(--zq-primary-strong);
  background: var(--zq-primary-strong);
}
.benchmark-page .btn.dark:hover,
.benchmark-page .btn.dark:focus-visible {
  color: #fff;
  border-color: var(--zq-primary);
  background: var(--zq-primary);
  box-shadow: 0 0 0 3px var(--zq-focus-ring);
}

/*秀芽绿使用高亮青色底时，以黑色文字保持足够对比度。*/
html[data-zq-theme="green"] .zq-topbar {
  color: #000;
  background: var(--zq-primary);
}
html[data-zq-theme="green"] :is(.zq-brand, .zq-brand__copy strong, .zq-brand__copy small,
  .zq-topbar__subtitle, .zq-primary-nav a, .zq-primary-nav a:hover,
  .zq-topbar__status, .zq-theme-picker, .zq-theme-picker select,
  .zq-topbar__logout, .zq-sidebar-toggle) {
  color: #000 !important;
}
html[data-zq-theme="green"] .zq-brand__logo { filter: brightness(0); }
html[data-zq-theme="green"] :is(.zq-topbar__status, .zq-theme-picker, .zq-topbar__logout) {
  border-color: rgba(0, 0, 0, .24);
  background-color: rgba(0, 0, 0, .06);
}
html[data-zq-theme="green"] .zq-theme-picker select[data-zq-theme-select] {
  color: #000 !important;
  background: #3CFFD0 !important;
}
html[data-zq-theme="green"] .zq-theme-picker select[data-zq-theme-select] option {
  color: #000 !important;
  background: #3CFFD0 !important;
}
html[data-zq-theme="green"] .zq-primary-nav a:hover { background: rgba(0, 0, 0, .08); }
html[data-zq-theme="green"] .zq-primary-nav a.is-active {
  color: #000 !important;
  background: #fff;
}

html[data-zq-theme="green"] :is(.btn-primary, .btn-sm:not([style*="background"]),
  .btn.primary, .button--primary, .pro-btn--primary, .sh-btn,
  .zq-dialog__button--primary) {
  color: #000 !important;
}

html[data-zq-theme="green"] .map-analysis-page .history-item .actions .btn-sm.outline {
  border-color: var(--zq-primary) !important;
  background: var(--zq-primary) !important;
  color: #000 !important;
}
html[data-zq-theme="green"] .map-analysis-page .history-item .actions .btn-sm.outline:hover:not(:disabled) {
  border-color: var(--zq-primary-hover) !important;
  background: var(--zq-primary-hover) !important;
  color: #000 !important;
}

html[data-zq-theme="green"] .poi-analyzer-page .snapshot,
html[data-zq-theme="green"] .poi-analyzer-page .snapshot :where(*) {
  color: #000 !important;
}
html[data-zq-theme="green"] .poi-analyzer-page .snapshot .quality-badge {
  border-color: rgba(0, 0, 0, .32);
}
