/* dashboard hero */
.dash-hero{position:relative;overflow:hidden;padding:28px;border:1px solid #dbe4f0;border-radius:28px;background:
  radial-gradient(circle at 92% 5%,rgba(88,122,240,.15),transparent 18rem),
  linear-gradient(135deg,#ffffff 0%,#f8faff 58%,#f1f6ff 100%);box-shadow:0 26px 70px rgba(42,61,94,.10);margin-bottom:22px}
.dash-hero:after{content:"";position:absolute;right:-72px;top:-92px;width:250px;height:250px;border-radius:50%;border:36px solid rgba(50,103,240,.04);pointer-events:none}
.dash-hero-copy{position:relative;z-index:1;max-width:760px}.dash-live{display:inline-flex;align-items:center;gap:8px;color:#5b6f91;font-size:11px;font-weight:950;letter-spacing:.12em}.dash-live i{width:8px;height:8px;border-radius:50%;background:#29b06f;box-shadow:0 0 0 6px rgba(41,176,111,.12)}
.dash-hero h2{margin:10px 0 5px;font-size:29px;line-height:1.15;letter-spacing:-.045em}.dash-hero p{margin:0;color:#718096;font-size:14px}
.dash-hero-actions{position:absolute;right:28px;top:28px;z-index:2;display:flex;gap:9px}.dash-primary-btn,.dash-ghost-btn,.dash-link-btn{border:0;font:inherit;font-weight:900;cursor:pointer}.dash-primary-btn{min-height:44px;padding:0 17px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#416ff2,#2452d9);box-shadow:0 11px 26px rgba(50,103,240,.22)}.dash-ghost-btn{min-height:44px;padding:0 15px;border-radius:14px;color:#40516d;background:#fff;border:1px solid #d9e3ef}.dash-link-btn{color:#3561d8;background:transparent;padding:6px 0}
.dash-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.dash-kpi{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 16px;border:1px solid rgba(213,224,238,.95);border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}.dash-kpi-icon{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:19px;font-weight:950}.dash-kpi-copy{min-width:0;display:grid}.dash-kpi-copy>span{color:#79869a;font-size:11px;font-weight:900}.dash-kpi-copy strong{margin-top:2px;font-size:23px;line-height:1.12;letter-spacing:-.04em;white-space:nowrap}.dash-kpi-copy strong em{margin-left:3px;font-size:12px;font-style:normal;color:#718096}.dash-kpi-copy small{margin-top:3px;color:#8a95a6;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi.blue .dash-kpi-icon{color:#2d62e8;background:#edf3ff}.dash-kpi.violet .dash-kpi-icon{color:#7655dc;background:#f1edff}.dash-kpi.cyan .dash-kpi-icon{color:#158eb8;background:#e9f8fd}.dash-kpi.green .dash-kpi-icon{color:#258d61;background:#eaf8f1}

/* reusable sections */
.dash-section{padding:22px;border:1px solid #dfe7f1;border-radius:24px;background:#fff;margin:0 0 22px}.dash-section-head,.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.dash-section-head span,.dash-panel-head span{display:block;color:#7184a5;font-size:10px;font-weight:950;letter-spacing:.13em}.dash-section-head h2,.dash-panel-head h2{margin:3px 0 0;font-size:20px;letter-spacing:-.035em}.dash-section-head p{margin:4px 0 0;color:#8995a7;font-size:12px}.dash-two-col{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;margin-bottom:22px}.dash-panel{min-width:0;padding:22px;border:1px solid #dfe7f1;border-radius:24px;background:#fff}
.dash-empty-panel{display:grid;place-items:center;min-height:120px;padding:24px;border:1px dashed #ccd8e8;border-radius:17px;background:#f8faff;color:#7d899a;text-align:center}

/* performance cards */
.dash-move-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-move-card{appearance:none;text-align:left;overflow:hidden;position:relative;min-width:0;padding:17px;border:1px solid #e0e7f1;border-radius:19px;background:linear-gradient(180deg,#fff,#f9fbfe);color:var(--tx);cursor:pointer;transition:.18s;box-shadow:none}.dash-move-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(38,57,88,.09);border-color:#cfd9e8}.dash-move-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dash-move-head span{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-move-head i{font-style:normal;color:#94a1b3}.dash-move-value{display:flex;align-items:baseline;gap:4px;margin-top:13px}.dash-move-value strong{font-size:29px;line-height:1;letter-spacing:-.05em}.dash-move-value em{font-size:12px;font-style:normal;color:#7d8999;font-weight:850}.dash-move-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.dash-move-meta span{min-width:0;color:#8a95a5;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-move-meta b{flex:none;font-size:11px}.dash-move-meta .up,.dash-ex-kpis .up{color:#16885c}.dash-move-meta .down,.dash-ex-kpis .down{color:#d35363}.dash-move-meta .neutral{color:#8390a2}.dash-spark{display:block;width:100%;height:72px;margin-top:8px;color:#3267f0}.tone-2 .dash-spark{color:#7658df}.tone-3 .dash-spark{color:#1696be}.tone-4 .dash-spark{color:#26946a}.dash-spark-empty{height:72px;display:grid;place-items:center;color:#a0a9b6;font-size:11px}


/* refinement: clearer movement identity */
.dash-section-guide{align-self:center;padding:7px 10px;border-radius:999px;background:#f2f6ff;color:#5a72ad!important;font-size:10px!important;font-weight:900!important;letter-spacing:0!important;white-space:nowrap}
.dash-move-head{align-items:flex-start}
.dash-move-title{display:grid;gap:3px;min-width:0}
.dash-move-title small{color:#8a97aa;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.dash-move-title strong{display:block;min-height:2.6em;color:#1e2a40;font-size:15px;line-height:1.3;font-weight:950;white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all}
.dash-move-head i{flex:none;margin-top:1px;padding:4px 7px;border-radius:8px;background:#f3f6fb;color:#74849a;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}
.dash-move-value{margin-top:10px}
@media(max-width:620px){.dash-section-guide{display:none}.dash-move-title strong{font-size:12px;min-height:2.8em}.dash-move-head i{font-size:8px;padding:3px 5px}}
