/* Dashboards leaf — painel em construção (#panel). Hero em main.css. */

[data-leaf="dsh"] .dsh-panel-sec { position: relative; overflow: clip; }

[data-leaf="dsh"] .dsh-panel {
  margin-top: 32px;
  border: 1px solid #00103814;
  border-radius: 24px;
  background: #0e1628;
  box-shadow: 0 36px 90px #00082055, inset 0 1px 0 #ffffff12;
  overflow: hidden;
}

[data-leaf="dsh"] .dsh-panel-chrome {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-bottom: 1px solid #ffffff12;
  background: #0a1020;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff88;
}
[data-leaf="dsh"] .dsh-panel-chrome .pt-lights {
  display: inline-flex;
  gap: 5px;
}
[data-leaf="dsh"] .dsh-panel-chrome .pt-lights i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
[data-leaf="dsh"] .dsh-panel-chrome .pt-lights i:nth-child(1) { background: #ff5f57; }
[data-leaf="dsh"] .dsh-panel-chrome .pt-lights i:nth-child(2) { background: #febc2e; }
[data-leaf="dsh"] .dsh-panel-chrome .pt-lights i:nth-child(3) { background: #28c840; }
[data-leaf="dsh"] .dsh-panel-chrome em {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-style: normal;
  color: #5dffb1;
}

[data-leaf="dsh"] .dsh-panel-body {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr);
  min-height: 540px;
}

[data-leaf="dsh"] .dsh-panel-canvas {
  position: relative;
  padding: 16px;
  background: #f3f2f1;
  overflow: hidden;
}
[data-leaf="dsh"] .dsh-panel-canvas.is-scanning::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #0060f8cc, transparent);
  box-shadow: 0 0 16px #0060f888;
  animation: dsh-panel-scan 2.2s ease-in-out;
  pointer-events: none;
  z-index: 20;
}
@keyframes dsh-panel-scan {
  0% { top: 0; opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

[data-leaf="dsh"] .dsh-panel-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  align-content: start;
}

[data-leaf="dsh"] .dsh-w {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 0 #00000008;
  opacity: 0;
  transform: translateY(10px) scale(.98);
  transition:
    opacity .55s cubic-bezier(.16, 1, .3, 1),
    transform .55s cubic-bezier(.16, 1, .3, 1),
    border-color .35s ease,
    box-shadow .35s ease;
  overflow: hidden;
}
[data-leaf="dsh"] .dsh-panel-canvas.is-on .dsh-w.is-in {
  opacity: 1;
  transform: none;
}
[data-leaf="dsh"] .dsh-w.is-now {
  border-color: #0060f866;
  box-shadow: 0 8px 28px #0060f818, 0 0 0 1px #0060f822;
  z-index: 2;
}

[data-leaf="dsh"] .dsh-w-hd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px 0;
}
[data-leaf="dsh"] .dsh-w-hd small {
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #888;
}
[data-leaf="dsh"] .dsh-w-hd strong {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  color: #252423;
}

[data-leaf="dsh"] .dsh-w.is-slicers {
  grid-column: span 12;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  min-height: auto;
}
[data-leaf="dsh"] .dsh-w.is-slicers span {
  padding: 5px 10px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  background: #fafafa;
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #555;
  transition: border-color .3s ease, background .3s ease, color .3s ease;
}
[data-leaf="dsh"] .dsh-w.is-slicers span.is-on {
  border-color: #0060f8;
  background: #0060f810;
  color: #0060f8;
}

[data-leaf="dsh"] .dsh-w.is-kpi {
  grid-column: span 4;
  padding: 0 0 12px;
  min-height: 96px;
}
[data-leaf="dsh"] .dsh-kpi-val {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px 0;
}
[data-leaf="dsh"] .dsh-kpi-val b {
  font-family: var(--ds-font-display, "Fraunces", serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.03em;
  color: #252423;
}
[data-leaf="dsh"] .dsh-kpi-val em {
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .06em;
  color: #0060f8;
}
[data-leaf="dsh"] .dsh-kpi-val em.is-down { color: #c2410c; }
[data-leaf="dsh"] .dsh-kpi-track {
  display: block;
  height: 4px;
  margin: 10px 12px 0;
  border-radius: 99px;
  background: #0060f812;
  overflow: hidden;
}
[data-leaf="dsh"] .dsh-kpi-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #0060f8, #4da3ff);
  transition: width .8s cubic-bezier(.16, 1, .3, 1);
}
[data-leaf="dsh"] .dsh-w.is-kpi.is-in .dsh-kpi-track i { width: var(--w, 70%); }
[data-leaf="dsh"] .dsh-w.is-kpi:nth-child(3).is-in .dsh-kpi-track i { transition-delay: .08s; }
[data-leaf="dsh"] .dsh-w.is-kpi:nth-child(4).is-in .dsh-kpi-track i { transition-delay: .16s; }

[data-leaf="dsh"] .dsh-w.is-bar,
[data-leaf="dsh"] .dsh-w.is-line,
[data-leaf="dsh"] .dsh-w.is-funnel,
[data-leaf="dsh"] .dsh-w.is-card {
  grid-column: span 6;
  padding-bottom: 12px;
  min-height: 168px;
}

[data-leaf="dsh"] .dsh-bar-svg,
[data-leaf="dsh"] .dsh-line-svg {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 6px;
  padding: 0 8px 2px;
  overflow: visible;
}
[data-leaf="dsh"] .dsh-bar-axis {
  stroke: #e5e7eb;
  stroke-width: 1;
}
[data-leaf="dsh"] .dsh-bar {
  transform-origin: bottom center;
  transform: scaleY(0);
  transition: transform .65s cubic-bezier(.16, 1, .3, 1);
}
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar { transform: scaleY(1); }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="1"] { transition-delay: .06s; }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="2"] { transition-delay: .12s; }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="3"] { transition-delay: .18s; }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="4"] { transition-delay: .24s; }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="5"] { transition-delay: .3s; }
[data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar[data-i="6"] { transition-delay: .36s; }

[data-leaf="dsh"] .dsh-line-path {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s cubic-bezier(.16, 1, .3, 1);
}
[data-leaf="dsh"] .dsh-w.is-line.is-in .dsh-line-path.is-a { stroke-dashoffset: 0; transition-delay: .05s; }
[data-leaf="dsh"] .dsh-w.is-line.is-in .dsh-line-path.is-b { stroke-dashoffset: 0; transition-delay: .25s; }
[data-leaf="dsh"] .dsh-line-dot {
  opacity: 0;
  transition: opacity .4s ease .7s;
}
[data-leaf="dsh"] .dsh-w.is-line.is-in .dsh-line-dot { opacity: 1; }

[data-leaf="dsh"] .dsh-funnel {
  display: grid;
  gap: 6px;
  padding: 8px 14px 4px;
}
[data-leaf="dsh"] .dsh-funnel li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 10px;
  align-items: center;
  list-style: none;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 600;
  color: #444;
}
[data-leaf="dsh"] .dsh-funnel li span { color: #555; }
[data-leaf="dsh"] .dsh-funnel li i {
  display: block;
  height: 8px;
  border-radius: 99px;
  background: linear-gradient(90deg, #0060f8, #4da3ff);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
[data-leaf="dsh"] .dsh-w.is-funnel.is-in li:nth-child(1) i { transform: scaleX(1); width: 100%; }
[data-leaf="dsh"] .dsh-w.is-funnel.is-in li:nth-child(2) i { transform: scaleX(1); width: 78%; transition-delay: .1s; }
[data-leaf="dsh"] .dsh-w.is-funnel.is-in li:nth-child(3) i { transform: scaleX(1); width: 52%; transition-delay: .2s; }
[data-leaf="dsh"] .dsh-w.is-funnel.is-in li:nth-child(4) i { transform: scaleX(1); width: 34%; transition-delay: .3s; }

[data-leaf="dsh"] .dsh-w.is-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 14px 16px;
  background: linear-gradient(145deg, #fff, #f7f9ff);
}
[data-leaf="dsh"] .dsh-w.is-card small {
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #888;
}
[data-leaf="dsh"] .dsh-w.is-card strong {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: #252423;
}
[data-leaf="dsh"] .dsh-w.is-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #444;
}
[data-leaf="dsh"] .dsh-w.is-card footer {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #0060f8;
}

[data-leaf="dsh"] .dsh-w.is-alert {
  grid-column: span 12;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-color: #f9731640;
  background: #fff7ed;
  min-height: auto;
  transform: translateY(8px);
}
[data-leaf="dsh"] .dsh-w.is-alert.is-in {
  animation: dsh-alert-in .5s cubic-bezier(.16, 1, .3, 1) both;
}
[data-leaf="dsh"] .dsh-w.is-alert.is-in.is-blink {
  animation: dsh-alert-in .5s cubic-bezier(.16, 1, .3, 1) both, data-alert-blink .7s ease-in-out 2 .5s;
}
[data-leaf="dsh"] .dsh-w.is-alert iconify-icon {
  font-size: 16px;
  color: #c2410c;
}
[data-leaf="dsh"] .dsh-w.is-alert p {
  margin: 0;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #c2410c;
}
@keyframes dsh-alert-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

[data-leaf="dsh"] .dsh-panel-side {
  border-left: 1px solid #ffffff12;
  background: #0a1020;
  display: flex;
  flex-direction: column;
}
[data-leaf="dsh"] .dsh-panel-side-hd {
  padding: 14px 16px 10px;
  border-bottom: 1px solid #ffffff0f;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ffffff77;
}
[data-leaf="dsh"] .dsh-panel-log {
  flex: 1;
  margin: 0;
  padding: 6px 16px 12px;
  list-style: none;
}
[data-leaf="dsh"] .dsh-panel-log li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #ffffff0f;
  opacity: .32;
  transform: translateX(6px);
  transition: opacity .4s ease, transform .4s cubic-bezier(.16, 1, .3, 1);
}
[data-leaf="dsh"] .dsh-panel-log li.is-in {
  opacity: 1;
  transform: none;
}
[data-leaf="dsh"] .dsh-panel-log li > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid #ffffff1a;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  color: #ffffff55;
}
[data-leaf="dsh"] .dsh-panel-log li.is-in > span {
  border-color: #4da3ff44;
  color: #4da3ff;
  background: #0060f818;
}
[data-leaf="dsh"] .dsh-panel-log li.is-now > span {
  border-color: #5dffb188;
  color: #5dffb1;
  background: #5dffb118;
}
[data-leaf="dsh"] .dsh-panel-log b {
  display: block;
  margin-bottom: 3px;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffffaa;
}
[data-leaf="dsh"] .dsh-panel-log p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #ffffffb0;
}

[data-leaf="dsh"] .dsh-panel-foot {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid #ffffff12;
  background: #060c18;
  list-style: none;
  margin: 0;
  padding: 0;
}
[data-leaf="dsh"] .dsh-panel-foot li {
  display: grid;
  gap: 3px;
  padding: 12px 10px;
  border-right: 1px solid #ffffff0f;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  color: #ffffff55;
  transition: background .3s ease, color .3s ease;
}
[data-leaf="dsh"] .dsh-panel-foot li:last-child { border-right: 0; }
[data-leaf="dsh"] .dsh-panel-foot li.is-on {
  background: #0060f814;
  color: #fff;
}
[data-leaf="dsh"] .dsh-panel-foot li b {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ffffff44;
}
[data-leaf="dsh"] .dsh-panel-foot li.is-on b { color: #4da3ff; }
[data-leaf="dsh"] .dsh-panel-foot li span { display: block; line-height: 1.3; }

@media (max-width: 960px) {
  [data-leaf="dsh"] .dsh-panel-body { grid-template-columns: 1fr; }
  [data-leaf="dsh"] .dsh-panel-side { border-left: 0; border-top: 1px solid #ffffff12; }
  [data-leaf="dsh"] .dsh-w.is-kpi { grid-column: span 6; }
  [data-leaf="dsh"] .dsh-w.is-bar,
  [data-leaf="dsh"] .dsh-w.is-line,
  [data-leaf="dsh"] .dsh-w.is-funnel,
  [data-leaf="dsh"] .dsh-w.is-card { grid-column: span 12; }
  [data-leaf="dsh"] .dsh-panel-foot { grid-template-columns: 1fr 1fr; }
  [data-leaf="dsh"] .dsh-panel-foot li:nth-child(2) { border-right: 0; }
}

@media (max-width: 640px) {
  [data-leaf="dsh"] .dsh-w.is-kpi { grid-column: span 12; }
  [data-leaf="dsh"] .dsh-panel-foot { grid-template-columns: 1fr; }
  [data-leaf="dsh"] .dsh-panel-foot li { border-right: 0; border-bottom: 1px solid #ffffff0f; }
}

@media (prefers-reduced-motion: reduce) {
  [data-leaf="dsh"] .dsh-panel-canvas.is-scanning::after,
  [data-leaf="dsh"] .dsh-w.is-alert.is-in.is-blink { animation: none !important; }
  [data-leaf="dsh"] .dsh-w,
  [data-leaf="dsh"] .dsh-bar,
  [data-leaf="dsh"] .dsh-line-path,
  [data-leaf="dsh"] .dsh-funnel li i,
  [data-leaf="dsh"] .dsh-kpi-track i { transition: none !important; }
  [data-leaf="dsh"] .dsh-panel-canvas.is-on .dsh-w.is-in { opacity: 1; transform: none; }
  [data-leaf="dsh"] .dsh-w.is-bar.is-in .dsh-bar { transform: scaleY(1); }
  [data-leaf="dsh"] .dsh-w.is-line.is-in .dsh-line-path { stroke-dashoffset: 0; }
  [data-leaf="dsh"] .dsh-w.is-funnel.is-in li i { transform: scaleX(1); }
}

/* —— Hero dashboard mock —— */
[data-leaf="dsh"] .dsh-stage {
  width: min(100%, 580px);
  height: 560px;
}
[data-leaf="dsh"] .dsh-desk {
  border-radius: 18px;
  box-shadow:
    0 28px 70px #00103828,
    0 1px 0 #ffffffaa inset;
}
[data-leaf="dsh"] .dsh-chrome {
  background: linear-gradient(180deg, #0e1628, #121c34);
  border-bottom-color: #ffffff14;
}
[data-leaf="dsh"] .dsh-path { color: #ffffff77; }
[data-leaf="dsh"] .dsh-live { color: #5dffb1; }
[data-leaf="dsh"] .dsh-body {
  background:
    radial-gradient(120% 80% at 100% 0%, #e8f1ff 0%, transparent 55%),
    linear-gradient(180deg, #f5f8fd 0%, #eef3fb 100%);
  padding: 14px 14px 12px;
  gap: 0;
}
[data-leaf="dsh"] .dsh-bar { margin-bottom: 12px; }
[data-leaf="dsh"] .dsh-board {
  position: relative;
  flex: 1;
  min-height: 0;
}
[data-leaf="dsh"] .dsh-view {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity .45s cubic-bezier(.16,1,.3,1),
    transform .45s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .45s;
}
[data-leaf="dsh"] .dsh-view.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transform: none;
  transition-delay: 0s;
}
[data-leaf="dsh"] .dsh-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
[data-leaf="dsh"] .dsh-kpi {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px 10px 8px;
  border: 1px solid #00103812;
  border-radius: 12px;
  background: #fffffff5;
  box-shadow: 0 8px 20px #00103808;
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity .5s cubic-bezier(.16,1,.3,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    border-color .35s ease,
    box-shadow .35s ease;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi {
  opacity: 1;
  transform: none;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(1) { transition-delay: .05s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(2) { transition-delay: .12s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(3) { transition-delay: .19s; }
[data-leaf="dsh"] .dsh-kpi.is-focus {
  border-color: #0060f855;
  box-shadow: 0 10px 28px #0060f818, 0 0 0 1px #0060f822;
}
[data-leaf="dsh"] .dsh-kpi > span {
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6b7280;
}
[data-leaf="dsh"] .dsh-kpi-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}
[data-leaf="dsh"] .dsh-kpi strong {
  font-family: var(--ds-font-mono);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.04em;
  color: #111827;
  line-height: 1;
}
[data-leaf="dsh"] .dsh-kpi em {
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
[data-leaf="dsh"] .dsh-kpi.is-up em { color: #0060f8; }
[data-leaf="dsh"] .dsh-kpi.is-flat em { color: #6b7280; }
[data-leaf="dsh"] .dsh-kpi.is-down em { color: #c2410c; }
[data-leaf="dsh"] .dsh-spark {
  display: block;
  width: 100%;
  height: 22px;
  overflow: visible;
}
[data-leaf="dsh"] .dsh-spark path {
  fill: none;
  stroke: #0060f8;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
}
[data-leaf="dsh"] .dsh-kpi.is-down .dsh-spark path { stroke: #c2410c; }
[data-leaf="dsh"] .dsh-kpi.is-flat .dsh-spark path { stroke: #94a3b8; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-spark path {
  animation: dsh-spark-draw .9s cubic-bezier(.16,1,.3,1) forwards;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(1) .dsh-spark path { animation-delay: .18s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(2) .dsh-spark path { animation-delay: .26s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-kpi:nth-child(3) .dsh-spark path { animation-delay: .34s; }
@keyframes dsh-spark-draw {
  to { stroke-dashoffset: 0; }
}

[data-leaf="dsh"] .dsh-widgets {
  display: grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 8px;
  min-height: 0;
}
[data-leaf="dsh"] .dsh-widget {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 10px 10px 8px;
  border: 1px solid #00103812;
  border-radius: 12px;
  background: #fffffff5;
  box-shadow: 0 8px 20px #00103808;
  opacity: 0;
  transform: translateY(12px) scale(.985);
  transition:
    opacity .55s cubic-bezier(.16,1,.3,1),
    transform .55s cubic-bezier(.16,1,.3,1),
    border-color .35s ease,
    box-shadow .35s ease;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-widget {
  opacity: 1;
  transform: none;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-widget.is-bars,
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-widget.is-funnel { transition-delay: .28s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-widget.is-trend,
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-widget.is-sources { transition-delay: .38s; }
[data-leaf="dsh"] .dsh-widget.is-lit {
  border-color: #0060f855;
  box-shadow: 0 12px 30px #0060f818, 0 0 0 1px #0060f822;
}
[data-leaf="dsh"] .dsh-widget > header {
  display: grid;
  gap: 2px;
  margin-bottom: 6px;
}
[data-leaf="dsh"] .dsh-widget > header small {
  font-family: var(--ds-font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9aa0a6;
}
[data-leaf="dsh"] .dsh-widget > header strong {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: #1f2937;
}

[data-leaf="dsh"] .dsh-hero-bars,
[data-leaf="dsh"] .dsh-hero-line {
  display: block;
  width: 100%;
  height: auto;
  flex: 1;
  min-height: 0;
}
[data-leaf="dsh"] .dsh-hero-axis {
  stroke: #e5e7eb;
  stroke-width: 1;
}
[data-leaf="dsh"] .dsh-hero-bar {
  fill: #c7d7f5;
  transform-origin: bottom center;
  transform: scaleY(0);
  transition: transform .7s cubic-bezier(.16,1,.3,1), fill .4s ease;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar {
  transform: scaleY(1);
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="0"] { transition-delay: .36s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="1"] { transition-delay: .42s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="2"] { transition-delay: .48s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="3"] { transition-delay: .54s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="4"] { transition-delay: .6s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-bar[data-i="5"] { transition-delay: .66s; }
[data-leaf="dsh"] .dsh-hero-bar.is-hit {
  fill: #0060f8;
  filter: drop-shadow(0 6px 12px #0060f833);
}
[data-leaf="dsh"] .dsh-desk.is-charts .dsh-hero-bar.is-hit {
  animation: dsh-bar-pulse 1.6s ease-in-out infinite;
}
@keyframes dsh-bar-pulse {
  0%, 100% { filter: drop-shadow(0 6px 12px #0060f833); }
  50% { filter: drop-shadow(0 8px 18px #0060f855); }
}

[data-leaf="dsh"] .dsh-hero-path {
  fill: none;
  stroke: #0060f8;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
[data-leaf="dsh"] .dsh-hero-area {
  opacity: 0;
  transition: opacity .6s ease .2s;
}
[data-leaf="dsh"] .dsh-hero-dot {
  fill: #0060f8;
  opacity: 0;
  transform-origin: center;
  transform: scale(0);
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-path {
  animation: dsh-line-draw 1.1s cubic-bezier(.16,1,.3,1) .45s forwards;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-area { opacity: 1; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-dot {
  animation: dsh-dot-pop .45s cubic-bezier(.16,1,.3,1) 1.35s forwards;
}
@keyframes dsh-line-draw {
  to { stroke-dashoffset: 0; }
}
@keyframes dsh-dot-pop {
  to { opacity: 1; transform: scale(1); }
}

[data-leaf="dsh"] .dsh-hero-funnel {
  display: grid;
  gap: 7px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
[data-leaf="dsh"] .dsh-hero-funnel li {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 8px;
}
[data-leaf="dsh"] .dsh-hero-funnel span {
  font-family: var(--ds-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}
[data-leaf="dsh"] .dsh-hero-funnel i {
  display: block;
  height: 10px;
  width: var(--w, 100%);
  border-radius: 999px;
  background: linear-gradient(90deg, #0060f8, #4da3ff);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-funnel li:nth-child(1) i { transition-delay: .4s; transform: scaleX(1); }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-funnel li:nth-child(2) i { transition-delay: .5s; transform: scaleX(1); }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-funnel li:nth-child(3) i { transition-delay: .6s; transform: scaleX(1); }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-funnel li:nth-child(4) i { transition-delay: .7s; transform: scaleX(1); }

[data-leaf="dsh"] .dsh-hero-src {
  display: grid;
  gap: 6px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
[data-leaf="dsh"] .dsh-hero-src li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  border-radius: 8px;
  background: #f4f7fc;
  border: 1px solid #0010380d;
  font-family: var(--ds-font-mono);
  font-size: 10px;
  opacity: 0;
  transform: translateX(6px);
  transition: opacity .4s ease, transform .4s ease, border-color .3s ease;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-src li {
  opacity: 1;
  transform: none;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-src li:nth-child(1) { transition-delay: .45s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-src li:nth-child(2) { transition-delay: .52s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-src li:nth-child(3) { transition-delay: .59s; }
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .dsh-hero-src li:nth-child(4) { transition-delay: .66s; }
[data-leaf="dsh"] .dsh-hero-src b { font-weight: 700; color: #1f2937; }
[data-leaf="dsh"] .dsh-hero-src span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #16a34a;
}
[data-leaf="dsh"] .dsh-hero-src li.is-warn span { color: #d97706; }
[data-leaf="dsh"] .dsh-hero-src li.is-on {
  border-color: #0060f822;
  background: #f0f6ff;
}

[data-leaf="dsh"] .dsh-view .data-alert {
  margin: 0;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .4s ease, transform .4s ease;
}
[data-leaf="dsh"] .dsh-desk.is-on .dsh-view.is-on .data-alert {
  opacity: 1;
  transform: none;
  transition-delay: .75s;
}
[data-leaf="dsh"] .dsh-desk.is-alert .dsh-view.is-on .data-alert {
  animation: data-alert-blink .7s ease-in-out 2 both;
}

@media (max-width: 720px) {
  [data-leaf="dsh"] .dsh-stage { height: 520px; }
  [data-leaf="dsh"] .dsh-widgets { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  [data-leaf="dsh"] .dsh-kpi,
  [data-leaf="dsh"] .dsh-widget,
  [data-leaf="dsh"] .dsh-hero-bar,
  [data-leaf="dsh"] .dsh-hero-funnel i,
  [data-leaf="dsh"] .dsh-hero-src li,
  [data-leaf="dsh"] .dsh-view .data-alert {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  [data-leaf="dsh"] .dsh-spark path,
  [data-leaf="dsh"] .dsh-hero-path {
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }
  [data-leaf="dsh"] .dsh-hero-dot { opacity: 1 !important; transform: none !important; animation: none !important; }
  [data-leaf="dsh"] .dsh-hero-area { opacity: 1 !important; }
}
