:root {
  --dashboard-blue: #216b88;
  --dashboard-red: #b95545;
  --dashboard-gold: #c79643;
}
.dashboard-body { background: #eef0ec; }
.dashboard-status { display: inline-flex; align-items: center; gap: 8px; color: #d9ded9; font-size: 12px; }
.dashboard-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); }
.back-entry { color: var(--acid); font-size: 12px; font-weight: 800; text-underline-offset: 4px; }
.dashboard-shell { max-width: 1540px; margin: 0 auto; padding: 28px clamp(16px, 4vw, 58px) 56px; }
.dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.dashboard-heading > div:first-child > span, .panel-head small { color: var(--acid-dark); font-size: 9px; font-weight: 900; }
.dashboard-heading h1 { margin: 5px 0 7px; color: var(--ink); font-size: 30px; line-height: 1.2; }
.dashboard-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.dashboard-actions { display: flex; gap: 8px; }
.button { min-height: 40px; padding: 0 15px; border: 1px solid var(--ink); font-weight: 800; }
.button.primary { color: var(--ink); background: var(--acid); }
.button.secondary { background: var(--white); }
.filterbar {
  display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)) auto auto; align-items: end; gap: 10px;
  margin-bottom: 13px; padding: 13px; background: var(--white); border: 1px solid var(--line);
}
.filterbar label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.filterbar select { min-height: 38px; padding: 0 10px; border: 1px solid var(--line); background: var(--paper); }
.filterbar time { align-self: center; color: var(--muted); font-size: 10px; }
.text-button { min-height: 38px; padding: 0 10px; color: var(--acid-dark); border: 0; background: transparent; font-size: 11px; font-weight: 800; }
.kpi-grid { display: grid; grid-template-columns: repeat(7, minmax(115px, 1fr)); margin-bottom: 13px; background: var(--white); border: 1px solid var(--line); }
.kpi-card { min-width: 0; padding: 15px; border-right: 1px solid var(--line); }
.kpi-card:last-child { border-right: 0; }
.kpi-card span { display: block; color: var(--muted); font-size: 9px; }
.kpi-card strong { display: block; margin-top: 8px; font-size: 24px; line-height: 1; }
.kpi-card em { display: block; margin-top: 7px; color: var(--acid-dark); font-size: 9px; font-style: normal; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .65fr); gap: 13px; margin-bottom: 13px; }
.dashboard-grid.equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.panel { min-width: 0; padding: 17px; background: var(--white); border: 1px solid var(--line); }
.panel-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.panel-head h2 { margin: 3px 0 0; font-size: 18px; }
.panel-head > span { color: var(--muted); font-size: 9px; }
.funnel-chart { display: grid; gap: 8px; }
.funnel-row { display: grid; grid-template-columns: 82px minmax(0, 1fr) 45px 52px; align-items: center; gap: 10px; }
.funnel-row label { font-size: 10px; }
.funnel-track { height: 22px; background: #edf0eb; }
.funnel-fill { height: 100%; min-width: 2px; background: var(--dashboard-blue); }
.funnel-row:nth-child(-n+3) .funnel-fill { background: var(--acid-dark); }
.funnel-row strong { font-size: 11px; text-align: right; }
.funnel-row span { color: var(--muted); font-size: 9px; text-align: right; }
.alert-list { display: grid; gap: 8px; }
.alert-item { display: grid; grid-template-columns: 42px 1fr; gap: 11px; padding: 12px; background: #f4f5f1; border-left: 3px solid var(--dashboard-gold); }
.alert-item.high { background: #fbefed; border-color: var(--dashboard-red); }
.alert-item strong { align-self: center; color: var(--dashboard-red); font-size: 22px; text-align: center; }
.alert-item h3 { margin: 0; font-size: 12px; }
.alert-item p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th { padding: 9px 8px; color: #dfe4df; background: var(--ink); font-size: 9px; text-align: left; }
td { padding: 9px 8px; border-bottom: 1px solid var(--line); font-size: 10px; }
td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.product-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.product-card { padding: 14px; background: #f4f5f1; border-top: 3px solid var(--dashboard-blue); }
.product-card.uta { border-color: #ec7926; }
.product-card > span { color: var(--muted); font-size: 9px; }
.product-card h3 { margin: 4px 0 13px; font-size: 18px; }
.product-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; }
.product-card dl div { padding-top: 7px; border-top: 1px solid var(--line); }
.product-card dt { color: var(--muted); font-size: 8px; }
.product-card dd { margin: 4px 0 0; font-size: 13px; font-weight: 900; }
.content-value-panel, .lead-panel, .performance-panel { margin-bottom: 13px; }
.content-insights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 12px; border: 1px solid var(--line); }
.content-insight { min-width: 0; padding: 13px; border-right: 1px solid var(--line); }
.content-insight:last-child { border-right: 0; }
.content-insight span { display: block; color: var(--muted); font-size: 8px; }
.content-insight strong { display: block; margin-top: 5px; font-size: 14px; line-height: 1.35; }
.content-insight small { display: block; margin-top: 5px; color: var(--acid-dark); font-size: 9px; }
.content-value-table td:nth-child(n+3):nth-child(-n+8) { text-align: right; font-variant-numeric: tabular-nums; }
.value-label { display: inline-flex; min-height: 24px; align-items: center; padding: 0 8px; font-size: 9px; font-weight: 900; }
.value-label.reach { color: #8d3515; background: var(--soft-orange); }
.value-label.trust { color: #08655f; background: #dff3f1; }
.value-label.convert { color: #5f38a2; background: #eee7fb; }
.value-label.deal { color: #185e3d; background: #d8eee1; }
.value-rules { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 12px; color: var(--muted); font-size: 9px; }
.value-rules span { display: inline-flex; align-items: center; gap: 6px; }
.value-rules i { width: 8px; height: 8px; }
.reach-value { background: var(--orange); }
.trust-value { background: var(--dashboard-blue); }
.deal-value { background: var(--acid-dark); }
.lead-table-wrap { max-height: 410px; }
.lead-table thead { position: sticky; top: 0; z-index: 1; }
.stage-pill, .status-pill { display: inline-flex; min-height: 23px; align-items: center; padding: 0 7px; background: #e7eee5; font-size: 9px; font-weight: 800; }
.status-pill.停滞, .status-pill.无效 { color: #8b3126; background: #f8d8d2; }
.status-pill.成交 { color: #185e3d; background: #d8eee1; }
.status-pill.暂缓 { color: #7b5b12; background: #f4e8c9; }
.performance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); }
.performance-grid article { padding: 14px; border-right: 1px solid var(--line); }
.performance-grid article:last-child { border-right: 0; }
.performance-grid strong { font-size: 13px; }
.performance-grid p { min-height: 74px; margin: 8px 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.performance-grid b { color: var(--acid-dark); font-size: 9px; }
dialog { width: min(760px, calc(100% - 24px)); padding: 0; border: 0; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
dialog::backdrop { background: rgba(13,15,14,.68); }
#leadForm { padding: 20px; }
.dialog-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.dialog-head small { color: var(--acid-dark); font-size: 9px; font-weight: 900; }
.dialog-head h2 { margin: 3px 0 0; font-size: 20px; }
.dialog-head button { width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; font-size: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px 0; }
.form-grid label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; }
.form-grid label.wide { grid-column: 1 / -1; }
.form-grid input, .form-grid select { width: 100%; min-height: 42px; padding: 0 10px; border: 1px solid var(--line); background: var(--paper); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 13px; border-top: 1px solid var(--line); }
@media (max-width: 1050px) {
  .kpi-grid { grid-template-columns: repeat(4, 1fr); }
  .kpi-card:nth-child(4) { border-right: 0; }
  .kpi-card:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .performance-grid { grid-template-columns: repeat(2, 1fr); }
  .content-insights { grid-template-columns: repeat(2, 1fr); }
  .content-insight:nth-child(2) { border-right: 0; }
  .content-insight:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .performance-grid article:nth-child(2) { border-right: 0; }
  .performance-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 720px) {
  .dashboard-shell { padding: 20px 12px 40px; }
  .dashboard-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-heading h1 { font-size: 24px; }
  .dashboard-actions { width: 100%; }
  .dashboard-actions .button { flex: 1; }
  .filterbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filterbar time { grid-column: 1 / -1; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .kpi-card, .kpi-card:nth-child(4) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .kpi-card:nth-child(2n) { border-right: 0; }
  .kpi-card:last-child { grid-column: 1 / -1; border: 0; }
  .dashboard-grid.equal, .product-results, .performance-grid, .form-grid { grid-template-columns: 1fr; }
  .content-insights { grid-template-columns: 1fr; }
  .content-insight, .content-insight:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .content-insight:last-child { border-bottom: 0; }
  .performance-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .performance-grid article:last-child { border-bottom: 0; }
  .form-grid label.wide { grid-column: auto; }
  .funnel-row { grid-template-columns: 68px minmax(110px, 1fr) 32px 42px; gap: 7px; }
}
