/* Гастроборд — product depth and dense-data enhancement layer */
.alerts li span{
  align-items:start;
  display:grid;
  gap:10px;
  grid-template-columns:minmax(0,1fr) auto;
}

.alerts li b,
.kpi-context b,
.staff-caption b{
  color:var(--danger);
  font-weight:500;
  white-space:nowrap;
}

.kpi-context,
.staff-caption{
  color:var(--muted);
  display:flex;
  font-size:11px;
  justify-content:space-between;
  margin-top:8px;
}

.readout .kpi-context + h3{margin-top:14px}
.readout .staff{margin-top:10px}
.fact-table th,.fact-table td{padding-block:6px}

.phone__pulse{
  align-items:end;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:4px;
  height:30px;
  margin-top:10px;
  padding-bottom:6px;
}

.phone__pulse i{
  background:var(--muted);
  flex:1;
  height:36%;
}

.phone__pulse i:nth-child(2){height:54%}
.phone__pulse i:nth-child(3){height:42%}
.phone__pulse i:nth-child(4){height:74%;background:var(--signal)}
.phone__pulse i:nth-child(5){height:60%}
.phone__pulse i:nth-child(6){height:82%;background:var(--signal)}
.phone__pulse i:nth-child(7){height:70%}
.phone__pulse i:nth-child(8){height:92%;background:var(--signal)}
.phone__nav{margin-top:8px}

/* Material tokens: Clerk-inspired product surfaces in the Gastroboard palette. */
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
:root{
  --demo-surface:#191d1a;
  --demo-raised:#282e29;
  --demo-edge:rgba(242,239,232,.12);
  --demo-muted:#b4bdb2;
  --demo-radius:16px;
  --demo-inset:inset 0 1px 0 rgba(242,239,232,.12),inset 0 0 0 1px rgba(242,239,232,.065);
  --demo-shadow:0 18px 32px -14px rgba(0,0,0,.65),inset 0 1px 0 rgba(242,239,232,.15);
}
.demo-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;min-height:44px}
.demo-controls>span{font-size:13px;color:#5c615d}
.scene-replay{align-items:center;gap:10px;min-height:44px;padding:10px 14px;background:transparent;color:var(--ink);border:1px solid #a4a7a1;border-radius:8px;font:500 12px/1.2 var(--body);cursor:pointer;transition:background .18s ease-out}
.scene-replay:not([hidden]){display:inline-flex}
.scene-replay:hover{background:#e0e1d8}
.scene-replay:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.flow.flow--detailed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0;margin-top:20px;min-height:0;overflow:visible}
.flow--detailed .flow-step{
  --light-x:70%;--light-y:0%;--light-opacity:.045;
  position:relative;isolation:isolate;min-width:0;min-height:572px;padding:26px 24px 24px;
  border:0;border-radius:var(--demo-radius);color:var(--paper);
  background:var(--demo-surface);box-shadow:var(--demo-inset);
  display:flex;flex-direction:column;
}
.flow--detailed .flow-step::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at var(--light-x) var(--light-y),rgba(202,248,78,var(--light-opacity)),transparent 68%)}
.flow--detailed .flow-step__index{color:var(--demo-muted);font:500 12px/1.2 var(--body);top:30px;right:24px}
.flow--detailed h3{font-size:32px;padding-right:28px}
.flow--detailed .flow-step>p{color:var(--demo-muted);font-size:13px;line-height:1.55;min-height:44px;max-width:28ch;margin-top:12px}
.vector-stage{height:326px;margin:0 -8px 12px;perspective:1100px;perspective-origin:50% 38%;position:relative;transform-style:preserve-3d}
.vector-object{--depth:0px;--tilt-x:0deg;--tilt-y:0deg;--spread:1;backface-visibility:hidden;transform-style:preserve-3d}
.network-deck{height:206px;left:6%;position:absolute;top:46px;width:88%;transform:rotateX(calc(32deg + var(--tilt-y))) rotateY(calc(-15deg + var(--tilt-x))) rotateZ(-7deg) translateZ(var(--depth));transform-origin:center}
.network-deck::before{content:"";position:absolute;inset:0;border-radius:12px;background:var(--demo-raised);box-shadow:var(--demo-shadow);transform:translate3d(0,20px,-24px)}
.network-deck svg{background:linear-gradient(145deg,#2b342b,#171d18);box-shadow:var(--demo-inset);border-radius:0 0 12px 12px;height:100%;width:100%;overflow:visible;position:relative}
.deck-toolbar{position:absolute;left:0;right:0;bottom:100%;height:38px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--demo-raised);border-radius:12px 12px 0 0;box-shadow:var(--demo-inset);font-size:11px}
.deck-toolbar span{display:flex;align-items:center;gap:7px}
.deck-toolbar i{height:5px;width:5px;display:block;border-radius:50%;background:var(--signal)}
.deck-toolbar b{color:var(--demo-muted);font-weight:400}
.network-deck .deck-grid{fill:none;stroke:#657660;stroke-width:1;vector-effect:non-scaling-stroke}
.network-deck .deck-signal{fill:none;stroke:var(--signal);stroke-dasharray:7 6;stroke-width:2;vector-effect:non-scaling-stroke}
.network-deck circle{fill:#222b22;stroke:#b9c8ad;stroke-width:2;vector-effect:non-scaling-stroke}
.network-deck circle.active{fill:var(--signal);stroke:var(--signal)}
.network-deck circle.alert{fill:var(--danger);stroke:var(--danger)}
.deck-tag{background:#343d31;color:var(--paper);box-shadow:var(--demo-shadow);border-radius:6px;font-size:11px;left:35%;padding:7px 9px;position:absolute;top:49%;transform:translateZ(32px);white-space:nowrap}
.deck-tag--selected{color:var(--signal)}
.deck-tag--alert{left:57%;top:21%;background:#382c28;color:#ffb2a7}
.deck-summary{position:absolute;left:6%;right:6%;top:88%;padding:13px 14px;background:linear-gradient(135deg,#353d31,#252c25);border-radius:8px;box-shadow:var(--demo-shadow);transform:translateZ(48px);display:grid;grid-template-columns:1fr auto;gap:6px}
.deck-summary span{font-size:11px;color:var(--demo-muted);grid-column:1/-1}
.deck-summary b{font:800 23px/1 var(--display)}
.deck-summary em{color:var(--signal);font-size:11px;font-style:normal;align-self:center}
.vector-metrics,.cause-breakdown{border-top:1px solid var(--demo-edge);display:grid;grid-template-columns:repeat(3,1fr);margin:auto 0 0}
.vector-metrics>div,.cause-breakdown>div{min-width:0;padding:16px 8px 0 0}
.vector-metrics>div+div,.cause-breakdown>div+div{padding-left:10px;border-left:1px solid var(--demo-edge)}
.vector-metrics dt,.cause-breakdown dt{color:var(--demo-muted);font-size:11px;line-height:1.35}
.vector-metrics dd,.cause-breakdown dd{font:800 28px/1 var(--display);margin:8px 0 0;font-variant-numeric:tabular-nums}
.vector-metrics>div:first-child dd{color:var(--signal)}
.vector-metrics>div:nth-child(2) dd{color:var(--warn)}
.vector-metrics>div:nth-child(3) dd,.cause-breakdown dd{color:#ffb2a7}
.signal-stack{height:270px;left:8%;position:absolute;top:32px;width:84%;transform:rotateX(calc(14deg + var(--tilt-y))) rotateY(calc(-16deg + var(--tilt-x))) rotateZ(-5deg) translateZ(var(--depth))}
.signal-layer{position:absolute;top:0;left:0;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;height:88px;width:100%;padding:14px;border:0;border-radius:12px;background:linear-gradient(120deg,#30382f,#232923);box-shadow:var(--demo-shadow);transform-style:preserve-3d}
.signal-layer::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(242,239,232,.09),transparent 50%);opacity:var(--sheen,0)}
.signal-layer span{font-size:12px;font-weight:500}
.signal-layer b{font:800 30px/1 var(--display);font-variant-numeric:tabular-nums}
.signal-layer small{font-size:11px;color:var(--demo-muted)}
.signal-layer em{color:#ffb2a7;font-size:11px;font-style:normal;white-space:nowrap;text-align:right}
.signal-layer--back{transform:translate3d(18px,calc(0px * var(--spread)),-38px);background:linear-gradient(120deg,#252d26,#202620)}
.signal-layer--middle{transform:translate3d(8px,calc(96px * var(--spread)),0px)}
.signal-layer--front{transform:translate3d(-6px,calc(192px * var(--spread)),42px);background:linear-gradient(120deg,#3b4730,#272f25)}
.signal-layer--front span,.signal-layer--front b{color:var(--signal)}
.impact-line{border-top:1px solid var(--demo-edge);display:grid;font-size:12px;gap:12px;grid-template-columns:1fr auto;padding-top:16px;margin-top:auto}
.impact-line span{color:var(--demo-muted)}
.impact-line b{font-weight:500}
.impact-line b:first-of-type{color:#ffb2a7}
.volume-chart{align-items:end;bottom:54px;display:flex;gap:13px;height:190px;justify-content:center;left:10%;position:absolute;transform:rotateX(calc(10deg + var(--tilt-y))) rotateY(calc(-18deg + var(--tilt-x))) rotateZ(3deg) translateZ(var(--depth));transform-origin:center bottom;width:80%}
.volume-chart::before{content:"";position:absolute;inset:-40px -20px -40px;border-radius:12px;background:linear-gradient(135deg,#2d352d,#1f251f);box-shadow:var(--demo-shadow);transform:translateZ(-24px)}
.chart-bezel{position:absolute;bottom:calc(100% + 12px);left:-4px;right:-4px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--demo-muted)}
.chart-bezel b{font-weight:400;color:var(--paper)}
.volume-bar{height:var(--height);max-width:42px;position:relative;transform-style:preserve-3d;transform-origin:center bottom;width:16%}
.volume-bar i{display:block;position:absolute}
.volume-bar i:nth-child(1){background:linear-gradient(90deg,#647660,#819176);inset:0;border-radius:3px 0 0 0}
.volume-bar i:nth-child(2){background:#3d4a39;bottom:0;left:100%;top:0;transform:rotateY(90deg);transform-origin:left;width:14px}
.volume-bar i:nth-child(3){background:#a2b399;height:14px;left:0;right:0;top:0;transform:rotateX(90deg);transform-origin:top}
.volume-bar--signal i:nth-child(1){background:linear-gradient(90deg,#a8d538,var(--signal))}
.volume-bar--signal i:nth-child(2){background:#668923}
.volume-bar--signal i:nth-child(3){background:#e2ff94}
.volume-bar--dark i:nth-child(1){background:linear-gradient(90deg,#b7beb0,#d4d9cd)}
.volume-bar--dark i:nth-child(2){background:#75836e}
.volume-bar--dark i:nth-child(3){background:var(--paper)}
.volume-bar span{bottom:-25px;color:var(--demo-muted);font-size:11px;left:50%;position:absolute;transform:translateX(-50%)}
.demo-disclaimer{color:#5c615d!important;margin-top:18px;font-size:12px!important;max-width:80ch}
@media (min-width:761px) and (max-width:1100px){
  .flow.flow--detailed{gap:12px}
  .flow--detailed .flow-step{padding:22px 16px;min-height:540px}
  .flow--detailed .flow-step__index{right:16px;top:26px}
  .vector-stage{height:300px;transform:scale(.94);margin-inline:-12px}
  .signal-layer{padding:12px}
  .signal-layer b{font-size:26px}
  .deck-toolbar{padding-inline:8px}
  .deck-toolbar b{display:none}
  .vector-metrics dt,.cause-breakdown dt{font-size:11px}
}
@media (max-width:760px){
  .owner{min-height:438px}.phone{height:398px}.phone__row{padding-block:7px}
  .demo-controls{margin-top:38px;gap:12px;flex-wrap:wrap}
  .demo-controls>span{font-size:12px}
  .flow.flow--detailed{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible;scroll-snap-type:none}
  .flow--detailed .flow-step{min-height:560px;padding:26px 24px 24px}
  .flow--detailed .flow-step>p{max-width:none;min-height:0}
  .vector-stage{width:100%;max-width:390px;align-self:center;margin:6px 0 18px;height:326px}
  .vector-metrics,.cause-breakdown,.impact-line{margin-top:auto}
}
@media (max-width:430px){
  .toolbar-controls{gap:8px}.control-group:first-child .segmented button{padding-inline:10px}
  .alerts li span{display:block}.alerts li b{display:block;margin-top:3px}
  .flow--detailed .flow-step{padding-inline:20px}
  .deck-toolbar b{font-size:11px}.deck-summary{padding:12px}
  .signal-layer{padding:14px 12px}
}
@media (max-width:350px){
  .flow--detailed .flow-step{padding-inline:16px}
  .deck-toolbar b{display:none}
  .signal-layer{padding:12px 10px}.signal-layer span{font-size:11px}.signal-layer b{font-size:27px}
  .deck-tag--alert{left:49%}.deck-summary{left:0;right:0}
  .vector-stage{margin-inline:-4px}
}
