:root{
  --bg:#070708;
  --panel:#0d0d0f;
  --panel-2:#121215;
  --line:rgba(255,255,255,.09);
  --text:#f5f5f3;
  --muted:#8d8d94;
  --accent:#e8cf79;
  --cyan:#67d8d2;
  --red:#ff6b56;
  --rail:64px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
button,input{font:inherit}
button{color:inherit}
.ambient{position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.07),transparent 34%),radial-gradient(circle at 80% 70%,rgba(103,216,210,.05),transparent 30%);filter:blur(20px);z-index:0}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E")}
.app-shell{position:relative;z-index:1;display:flex;height:100vh;width:100vw}
.rail{width:var(--rail);border-right:1px solid var(--line);background:rgba(8,8,9,.82);backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;padding:10px 8px;gap:18px;z-index:20}
.brand-mark{width:44px;height:44px;border:0;border-radius:13px;background:#f1f1ef;color:#101012;font-weight:900;font-size:11px;letter-spacing:.08em}
.rail-nav{display:flex;flex-direction:column;gap:8px;width:100%}
.rail-btn{position:relative;width:44px;height:44px;border:1px solid transparent;border-radius:12px;background:transparent;display:grid;place-items:center;color:#74747d;cursor:pointer;transition:.2s var(--ease)}
.rail-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rail-btn span{position:absolute;left:54px;background:#151518;border:1px solid var(--line);padding:6px 8px;border-radius:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateX(-4px);pointer-events:none;transition:.15s}
.rail-btn:hover span{opacity:1;transform:none}
.rail-btn:hover,.rail-btn.is-active{background:rgba(255,255,255,.06);border-color:var(--line);color:#f6f6f3}
.rail-btn.is-active:before{content:"";position:absolute;left:-9px;width:2px;height:20px;background:#fff;border-radius:99px}
.rail-bottom{margin-top:auto}
.workspace{min-width:0;flex:1;display:grid;grid-template-rows:64px 1fr 28px;height:100vh}
.topbar{display:flex;align-items:center;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid var(--line);background:rgba(8,8,9,.75);backdrop-filter:blur(24px);z-index:10}
.identity{min-width:0}
.eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#777780;font-weight:800}
.title-row{display:flex;align-items:baseline;gap:6px;margin-top:3px;font-size:14px;letter-spacing:.02em;white-space:nowrap}
.muted{color:#7d7d85;font-size:12px}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.lab-chip{font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:#a1a1a8;border:1px solid var(--line);padding:8px 9px;border-radius:999px}
.ghost-btn,.round-btn{height:38px;border:1px solid var(--line);background:rgba(255,255,255,.035);cursor:pointer;transition:.2s var(--ease)}
.ghost-btn{padding:0 15px;border-radius:11px;font-size:11px;color:#d7d7d8}
.round-btn{width:38px;border-radius:50%;display:grid;place-items:center}
.ghost-btn:hover,.round-btn:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.mobile-switch{display:none}
.stage{min-height:0;padding:10px 14px 8px 18px}
.stage-frame{position:relative;height:100%;border:1px solid rgba(255,255,255,.06);border-radius:20px;overflow:hidden;background:#030304;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.view{position:absolute;inset:0;opacity:0;pointer-events:none;transform:scale(1.015);filter:blur(6px);transition:opacity .55s var(--ease),transform .7s var(--ease),filter .55s var(--ease)}
.view.is-visible{opacity:1;pointer-events:auto;transform:scale(1);filter:none}
.video-frame{width:100%;height:100%;object-fit:contain;background:#020203;display:block}
.video-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 20%,transparent 76%,rgba(0,0,0,.22)),radial-gradient(circle at center,transparent 55%,rgba(0,0,0,.18))}
.scan-line{position:absolute;left:0;right:0;top:-20%;height:28%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.035),transparent);mix-blend-mode:screen;animation:scan 6s linear infinite;pointer-events:none}
@keyframes scan{to{transform:translateY(520%)}}
.gate{position:absolute;height:1px;background:rgba(232,207,121,.95);transform-origin:left center;box-shadow:0 0 14px rgba(232,207,121,.26)}
.gate:after{content:"";position:absolute;inset:-4px 0}
.gate span{position:absolute;right:0;bottom:8px;font:700 9px/1 ui-monospace,monospace;letter-spacing:.05em;background:rgba(8,8,9,.76);border:1px solid rgba(232,207,121,.25);padding:5px 7px;border-radius:6px;white-space:nowrap}
.gate-a{left:31%;top:58%;width:34%;transform:rotate(4deg)}
.gate-b{left:48%;top:47%;width:28%;transform:rotate(-7deg)}
.det-box{position:absolute;border:1px solid rgba(103,216,210,.8);background:rgba(103,216,210,.09);box-shadow:0 0 0 1px rgba(0,0,0,.1),0 0 22px rgba(103,216,210,.05);cursor:pointer;padding:0;transition:.2s var(--ease)}
.det-box:before,.det-box:after{content:"";position:absolute;width:7px;height:7px;border-color:#e8e8e5}
.det-box:before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}
.det-box:after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}
.det-box span{position:absolute;left:0;top:-19px;padding:4px 5px;background:rgba(4,4,5,.76);border-radius:4px;font:700 8px/1 ui-monospace,monospace;letter-spacing:.08em;color:#dfdfdc}
.det-box:hover{background:rgba(232,207,121,.13);border-color:rgba(232,207,121,.95);transform:scale(1.02)}
.box-1{left:63%;top:35%;width:18%;height:33%}
.box-2{left:53%;top:42%;width:9%;height:19%}
.box-3{left:49%;top:49%;width:5%;height:14%}
.box-4{left:43%;top:46%;width:8%;height:18%}
.view-canvas{background:radial-gradient(circle at 50% 46%,#0c141e 0,#07101a 32%,#04070c 70%,#030304 100%)}
.view-canvas canvas{width:100%;height:100%;display:block}
.spatial-copy{position:absolute;z-index:3;max-width:330px;pointer-events:none}
.spatial-copy-left{left:4.5%;bottom:11%}
.spatial-copy-right{right:4.5%;bottom:11%;text-align:right}
.spatial-copy .kicker{font:700 9px/1 ui-monospace,monospace;letter-spacing:.16em;color:var(--accent)}
.spatial-copy strong{display:block;margin-top:12px;font-size:42px;line-height:.98;letter-spacing:-.045em;font-weight:600}
.spatial-copy p{color:#80818a;font-size:12px;line-height:1.55;max-width:280px}
.spatial-copy-right p{margin-left:auto}
.orbit-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font:700 9px/1 ui-monospace,monospace;letter-spacing:.18em;color:#777782}
.hud{position:absolute;z-index:5;display:flex;gap:12px;font:700 8px/1 ui-monospace,monospace;letter-spacing:.12em;color:rgba(255,255,255,.55);pointer-events:none}
.hud-top-left{left:18px;top:17px}.hud-top-right{right:18px;top:17px}
.stage-metrics{position:absolute;right:18px;bottom:94px;z-index:5;display:flex;gap:6px}
.stage-metrics div{min-width:84px;padding:9px 10px;border:1px solid var(--line);background:rgba(7,7,9,.62);backdrop-filter:blur(14px);border-radius:10px}
.stage-metrics span{display:block;color:#6f6f77;font-size:8px;text-transform:uppercase;letter-spacing:.11em}
.stage-metrics strong{display:block;margin-top:4px;font:700 15px/1 ui-monospace,monospace}
.transport{position:absolute;z-index:8;left:50%;bottom:16px;transform:translateX(-50%);width:min(780px,calc(100% - 32px));height:58px;padding:8px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(12,12,14,.78);box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(22px)}
.play-btn{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:50%;background:#f4f4f2;color:#151517;display:grid;place-items:center;cursor:pointer}
.play-btn svg{width:17px;fill:currentColor}
.play-btn.is-playing svg path{d:path("M8 7h3v10H8V7Zm5 0h3v10h-3V7Z")}
.timecode{display:flex;gap:5px;align-items:center;min-width:90px;font:600 10px/1 ui-monospace,monospace;color:#d6d6d6}.timecode em{font-style:normal;color:#515158}
#timeline{appearance:none;height:3px;flex:1;background:linear-gradient(90deg,#758bb4 var(--progress,1.2%),#242630 var(--progress,1.2%));border-radius:99px;outline:none}
#timeline::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:#7387ad;border:2px solid #15171d;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.speed-pill{height:38px;min-width:56px;border-radius:10px;background:rgba(255,255,255,.05);display:grid;place-items:center;font-size:10px}
.inspector{position:absolute;z-index:9;right:14px;top:14px;bottom:14px;width:340px;padding:20px;border:1px solid var(--line);border-radius:17px;background:rgba(15,15,18,.92);box-shadow:0 24px 70px rgba(0,0,0,.45);backdrop-filter:blur(26px);transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none;transition:.35s var(--ease)}
.inspector.is-open{transform:none;opacity:1;pointer-events:auto}
.inspector-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);cursor:pointer;font-size:20px}
.inspector h2{font-size:30px;margin:18px 0 24px;letter-spacing:-.04em}
.inspector dl{margin:0;border-top:1px solid var(--line)}
.inspector dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}
.inspector dt{color:#74747d}.inspector dd{margin:0;font-family:ui-monospace,monospace}
.inspector p{margin-top:20px;color:#777781;font-size:11px;line-height:1.55}
.footline{display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#4f4f57;font:700 8px/1 ui-monospace,monospace;letter-spacing:.12em}
.library{padding:0;border:0;background:transparent;color:var(--text);width:min(900px,calc(100vw - 28px))}
.library::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(10px)}
.library-card{border:1px solid var(--line);border-radius:20px;background:#101012;box-shadow:0 30px 100px #000;padding:18px}
.library-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.library-head h2{margin:4px 0 0;font-size:24px}
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.scene-card{padding:0;border:1px solid var(--line);border-radius:14px;background:#0a0a0c;text-align:left;overflow:hidden;cursor:pointer;transition:.2s var(--ease)}
.scene-card:hover,.scene-card.is-active{border-color:rgba(255,255,255,.24);transform:translateY(-2px)}
.scene-card img,.scene-placeholder>span:first-child{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#06080b}
.scene-card>span:last-child{display:flex;flex-direction:column;gap:3px;padding:10px 12px}.scene-card strong{font-size:11px}.scene-card small{font-size:9px;color:#696970}
.scene-orbit{background:radial-gradient(circle at 50% 50%,rgba(103,216,210,.18),transparent 40%),repeating-radial-gradient(ellipse at center,transparent 0 14px,rgba(103,216,210,.16) 15px 16px)!important}
.scene-dome{background:radial-gradient(circle at 50% 70%,rgba(232,207,121,.22),transparent 35%),linear-gradient(135deg,#06090e,#0b111b)!important}
@media(max-width:900px){
  html,body{overflow:auto}
  .app-shell{min-height:100vh;height:auto}
  .rail{display:none}
  .workspace{height:100vh;min-height:700px;grid-template-rows:auto 1fr 22px}
  .topbar{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 10px}
  .identity{min-width:0}.eyebrow{display:none}.title-row strong{font-size:12px}.muted{font-size:10px}
  .top-actions{margin-left:0}.lab-chip{display:none}.ghost-btn{display:none}
  .mobile-switch{display:flex;grid-column:1/-1;grid-row:2;border:1px solid var(--line);border-radius:11px;padding:3px;background:#101012}
  .mobile-switch button{flex:1;border:0;background:transparent;color:#686870;padding:8px;border-radius:8px;font:800 9px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}
  .mobile-switch button.is-active{background:#efefed;color:#101012}
  .stage{padding:8px}.stage-frame{border-radius:16px}
  .spatial-copy{left:18px!important;right:18px!important;bottom:95px!important;text-align:left!important}.spatial-copy strong{font-size:30px}.spatial-copy p{font-size:10px}.spatial-copy-right p{margin-left:0}
  .hud-top-right{display:none}.stage-metrics{display:none}
  .transport{bottom:10px;height:54px;width:calc(100% - 20px)}
  .inspector{width:calc(100% - 20px);right:10px;top:10px;bottom:10px}
  .footline span:nth-child(2),.footline span:nth-child(3){display:none}
  .scene-grid{grid-template-columns:1fr}
  .det-box span{display:none}
}
@media(max-width:520px){
  .video-frame{object-fit:contain}
  .gate,.det-box{opacity:.82}
  .title-row{gap:4px}
}

/* VIDEO WORKBENCH — prototype: fictional camera + live workbook */
body[data-view="video"] .hud { display:none; }

.video-workbench{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0, 1.58fr) minmax(360px, 1fr);
  gap:1px;
  background:rgba(255,255,255,.06);
}
.video-pane{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#07090d;
}
#videoMockCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  background:#0a0d11;
}
.video-badge{
  position:absolute;
  z-index:6;
  left:14px;
  top:14px;
  display:flex;
  gap:10px;
  align-items:center;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(7,8,10,.68);
  backdrop-filter:blur(12px);
  font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.1em;
  color:rgba(255,255,255,.66);
}
.video-badge span:last-child{color:#e8cf79}
.video-pane .stage-metrics{right:14px;bottom:88px}
.video-pane .transport{width:min(720px,calc(100% - 26px));bottom:14px}
.video-pane .gate-a{left:24%;top:59%;width:38%;transform:rotate(2deg)}
.video-pane .gate-b{left:48%;top:45%;width:31%;transform:rotate(-9deg)}
.video-pane .box-1{left:64%;top:31%;width:17%;height:27%}
.video-pane .box-2{left:51%;top:43%;width:10%;height:17%}
.video-pane .box-3{left:45%;top:51%;width:6%;height:13%}
.video-pane .box-4{left:37%;top:45%;width:10%;height:18%}

.report-pane{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%),
    #0c0c0f;
}
.report-head{
  flex:0 0 auto;
  min-height:70px;
  padding:14px 15px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.report-head h2{margin:4px 0 0;font-size:15px;letter-spacing:-.02em}
.report-status{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid rgba(103,216,210,.16);
  border-radius:999px;
  color:#9aa2a8;
  font:700 8px/1 ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.report-status i{
  width:6px;height:6px;border-radius:50%;
  background:#67d8d2;
  box-shadow:0 0 12px rgba(103,216,210,.55);
}
.sheet-tabs{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1.35fr 1fr .7fr .7fr;
  gap:4px;
  padding:8px;
  border-bottom:1px solid var(--line);
}
.sheet-tabs button{
  height:32px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#6f7079;
  cursor:pointer;
  font:750 9px/1 ui-monospace,monospace;
  letter-spacing:.04em;
}
.sheet-tabs button:hover{color:#d7d7da;background:rgba(255,255,255,.035)}
.sheet-tabs button.is-active{
  color:#111;
  background:#ededeb;
}
.sheet-panel{
  display:none;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:10px;
}
.sheet-panel.is-active{display:block}
.sheet-kpis{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:6px;
  margin-bottom:8px;
}
.sheet-kpis>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(255,255,255,.025);
}
.sheet-kpis span{
  display:block;
  overflow:hidden;
  color:#686971;
  font-size:7px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sheet-kpis strong{
  display:block;
  margin-top:5px;
  overflow:hidden;
  font:700 12px/1 ui-monospace,monospace;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sheet-wrap{
  border:1px solid var(--line);
  border-radius:9px;
  overflow:auto;
  background:#09090b;
}
.mini-sheet{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font:600 8px/1.2 ui-monospace,monospace;
}
.mini-sheet th,.mini-sheet td{
  height:28px;
  padding:0 7px;
  border-right:1px solid rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.055);
  text-align:right;
  white-space:nowrap;
}
.mini-sheet th:first-child,.mini-sheet td:first-child{text-align:left;width:25%}
.mini-sheet thead th{
  position:sticky;
  top:0;
  z-index:1;
  color:#74747c;
  background:#111115;
  font-weight:800;
}
.mini-sheet tbody tr.is-current{background:rgba(232,207,121,.075)}
.mini-sheet tbody tr.is-current td:first-child{color:#e8cf79}
.mini-sheet td:last-child{color:#dfdfe2;font-weight:800}
.mini-sheet td.is-live{color:#67d8d2}
.chart-card{
  position:relative;
  min-height:128px;
  margin-top:8px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.chart-profile{height:150px}
.chart-card canvas{display:block;width:100%;height:100px}
.chart-profile canvas{height:112px}
.chart-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:9px;
  font-weight:750;
}
.chart-title em{
  color:#64656e;
  font:600 8px/1 ui-monospace,monospace;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.summary-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:8px;
}
.summary-grid .chart-card{margin-top:0;height:180px}
.summary-grid .chart-card canvas{height:135px}
.summary-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.summary-list div{
  padding:10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(255,255,255,.02);
}
.summary-list span{display:block;color:#70717a;font-size:8px}
.summary-list strong{display:block;margin-top:8px;font:700 18px/1 ui-monospace,monospace}
.phf-hero{
  padding:18px 16px;
  border:1px solid rgba(232,207,121,.18);
  border-radius:12px;
  background:radial-gradient(circle at 25% 0,rgba(232,207,121,.10),transparent 46%),#0b0b0d;
}
.phf-hero span,.phf-hero small{display:block;color:#75767e;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.phf-hero strong{display:block;margin:7px 0;font:650 48px/1 ui-monospace,monospace;letter-spacing:-.06em;color:#e8cf79}
.formula-card{
  margin-top:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.formula-card code{display:block;color:#d9d9da;font:700 11px/1.3 ui-monospace,monospace}
.formula-card span{display:block;margin-top:8px;color:#6d6e76;font-size:9px;line-height:1.45}
.phf-bars{display:grid;gap:6px;margin-top:10px}
.phf-row{display:grid;grid-template-columns:64px 1fr 36px;align-items:center;gap:8px;font:650 8px/1 ui-monospace,monospace;color:#767780}
.phf-track{height:6px;border-radius:99px;background:#191a20;overflow:hidden}
.phf-track i{display:block;height:100%;background:linear-gradient(90deg,#747f96,#e8cf79);border-radius:99px}
.phf-row strong{text-align:right;color:#c7c7ca}
.od-title{padding:3px 2px 10px}
.od-matrix{
  display:grid;
  grid-template-columns:46px repeat(3,1fr);
  gap:3px;
}
.od-cell{
  min-height:54px;
  border:1px solid var(--line);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:rgba(255,255,255,.02);
  font:700 12px/1 ui-monospace,monospace;
}
.od-cell.header{min-height:32px;color:#6f7078;background:transparent;font-size:8px}
.od-cell small{margin-top:5px;color:#676870;font-size:7px;font-weight:600}
.qc-strip{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(103,216,210,.15);
  border-radius:9px;
  font-size:9px;
}
.qc-strip strong{color:#67d8d2;font-family:ui-monospace,monospace}
.qc-strip em{color:#5d5e66;font-size:8px;font-style:normal;text-transform:uppercase}
.report-foot{
  flex:0 0 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 10px;
  border-top:1px solid var(--line);
  color:#5e5f67;
  font-size:8px;
}
.report-foot button{
  height:28px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#b8b8bc;
  padding:0 10px;
  font-size:8px;
}
.scene-camera{
  background:
    linear-gradient(145deg,transparent 0 46%,rgba(232,207,121,.22) 46.5% 47%,transparent 47.5%),
    radial-gradient(circle at 68% 45%,rgba(103,216,210,.20),transparent 9%),
    linear-gradient(90deg,transparent 48%,rgba(255,255,255,.055) 49% 51%,transparent 52%),
    linear-gradient(#090d12,#101821)!important;
}

@media(max-width:1180px){
  .video-workbench{grid-template-columns:minmax(0,1.35fr) minmax(330px,.95fr)}
  .sheet-kpis{grid-template-columns:1fr 1fr}
  .sheet-kpis>div:first-child{grid-column:1/-1}
}
@media(max-width:900px){
  .video-workbench{display:block}
  .video-pane{position:absolute;inset:0}
  .report-pane{
    position:absolute;
    left:8px;right:8px;bottom:72px;
    height:min(48vh,440px);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:0 24px 70px rgba(0,0,0,.5);
    transform:translateY(calc(100% + 90px));
    transition:transform .28s var(--ease);
    z-index:12;
  }
  body.sheet-mobile-open .report-pane{transform:none}
  .video-pane .stage-metrics{display:none}
  .video-badge{top:10px;left:10px}
}

/* TRAJECTORY EXPLORER — unique analysis surface, no duplicate reporting */
.trajectory-view{
  background:
    radial-gradient(circle at 58% 42%,rgba(24,49,69,.34),transparent 34%),
    radial-gradient(circle at 75% 65%,rgba(232,207,121,.055),transparent 26%),
    #05080d;
}
.trajectory-view > canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  cursor:crosshair;
}
.trajectory-head{
  position:absolute;
  z-index:8;
  left:18px;right:18px;top:16px;
  min-height:58px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  pointer-events:none;
}
.trajectory-head .kicker{
  color:#7f8a97;
  font:750 8px/1 ui-monospace,monospace;
  letter-spacing:.15em;
}
.trajectory-head > div:first-child > strong{
  display:block;
  margin-top:7px;
  font-size:18px;
  font-weight:560;
  letter-spacing:-.03em;
}
.trajectory-head > div:first-child > strong span{
  font:700 22px/1 ui-monospace,monospace;
  color:#f0f0ed;
}
.trajectory-head-meta{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.trajectory-head-meta > div{
  min-width:80px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(8,10,13,.70);
  backdrop-filter:blur(18px);
}
.trajectory-head-meta > div span{
  display:block;
  color:#626873;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.trajectory-head-meta > div strong{
  display:block;
  margin-top:4px;
  font:700 12px/1 ui-monospace,monospace;
}
.trajectory-tool{
  height:38px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(8,10,13,.70);
  color:#777d87;
  font:750 8px/1 ui-monospace,monospace;
  letter-spacing:.06em;
  cursor:pointer;
  backdrop-filter:blur(18px);
}
.trajectory-tool:hover{color:#d9dadd;background:rgba(255,255,255,.055)}
.trajectory-tool.is-active{
  color:#0f1115;
  background:#ededeb;
}
.trajectory-panel{
  position:absolute;
  z-index:8;
  left:16px;
  top:88px;
  width:260px;
  max-height:calc(100% - 264px);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(8,10,13,.80);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(22px);
  pointer-events:auto;
}
.traj-section{
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.traj-section:last-child{border-bottom:0}
.traj-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}
.traj-section-title > span,.field-label{
  color:#727984;
  font-size:8px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.traj-section-title > strong{
  color:#b8bbc1;
  font:650 8px/1 ui-monospace,monospace;
}
.traj-section-title > button{
  border:0;
  padding:0;
  background:transparent;
  color:#777e88;
  font-size:8px;
  cursor:pointer;
}
.traj-section-title > button:hover{color:#e8cf79}
.filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.filter-chips button{
  height:27px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#747a84;
  font-size:8px;
  cursor:pointer;
}
.filter-chips button.is-active{
  background:rgba(103,216,210,.11);
  border-color:rgba(103,216,210,.26);
  color:#cceae8;
}
.field-label{display:block;margin-bottom:7px}
.traj-section select,.pivot-config select{
  width:100%;
  height:33px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#101319;
  color:#c8cbd0;
  padding:0 9px;
  outline:none;
  font-size:9px;
}
#trajTimeFilter{
  width:100%;
  accent-color:#e8cf79;
}
.range-labels{
  display:flex;
  justify-content:space-between;
  margin-top:5px;
  color:#4f5560;
  font:650 6px/1 ui-monospace,monospace;
}
.traj-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.traj-actions button{
  min-height:30px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.03);
  color:#92979f;
  font-size:8px;
  cursor:pointer;
}
.traj-actions button:last-child{grid-column:1/-1}
.traj-actions button:not(:disabled):hover{
  color:#eee;
  background:rgba(255,255,255,.07);
}
.traj-actions button:disabled{opacity:.3;cursor:not-allowed}
.traj-hint{
  margin:9px 0 0;
  color:#575e68;
  font-size:8px;
  line-height:1.45;
}
.traj-selection-card{
  background:linear-gradient(145deg,rgba(103,216,210,.04),rgba(232,207,121,.025));
}
.traj-selection-card strong{
  display:block;
  margin-top:7px;
  font:700 11px/1.2 ui-monospace,monospace;
}
.traj-selection-card small{
  display:block;
  margin-top:5px;
  color:#616872;
  font-size:8px;
}
.trajectory-analysis{
  position:absolute;
  z-index:8;
  left:292px;
  right:16px;
  bottom:14px;
  height:178px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(8,10,13,.83);
  box-shadow:0 20px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(22px);
  overflow:hidden;
  pointer-events:auto;
}
.trajectory-analysis-head{
  height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px 7px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.trajectory-analysis-head strong{
  display:block;
  margin-top:3px;
  font-size:10px;
}
.pivot-config{
  display:flex;
  gap:6px;
}
.pivot-config label{
  display:grid;
  grid-template-columns:auto 96px;
  align-items:center;
  gap:6px;
  color:#666d77;
  font-size:7px;
  text-transform:uppercase;
}
.pivot-config select{height:29px;font-size:8px;padding:0 7px}
.trajectory-analysis-grid{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(300px,1.25fr);
  height:calc(100% - 48px);
}
.trajectory-mini-chart{
  min-width:0;
  padding:8px 10px;
  border-right:1px solid rgba(255,255,255,.06);
}
.trajectory-mini-chart .chart-title{margin-bottom:2px}
#trajectoryVolumeChart{
  width:100%;
  height:92px;
  display:block;
}
.pivot-wrap{min-width:0;overflow:auto}
.pivot-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font:650 7px/1.15 ui-monospace,monospace;
}
.pivot-table th,.pivot-table td{
  height:25px;
  padding:0 7px;
  border-right:1px solid rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.05);
  text-align:right;
}
.pivot-table th:first-child,.pivot-table td:first-child{text-align:left}
.pivot-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  color:#6f7680;
  background:#0f1217;
  font-weight:800;
}
.pivot-table tbody tr:hover{background:rgba(255,255,255,.025)}
.pivot-table td:last-child{color:#e8cf79;font-weight:800}
.trajectory-hover{
  position:absolute;
  z-index:10;
  min-width:120px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(10,12,15,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.32);
  pointer-events:none;
}
.trajectory-hover span{
  display:block;
  font:750 9px/1 ui-monospace,monospace;
}
.trajectory-hover small{
  display:block;
  margin-top:4px;
  color:#757c86;
  font-size:7px;
}
body[data-view="eagle"] .inspector{display:none}
body[data-view="eagle"] .trajectory-view{cursor:default}

@media(max-width:1100px){
  .trajectory-panel{width:220px}
  .trajectory-analysis{left:248px}
  .trajectory-head-meta > div:first-child{display:none}
  .trajectory-analysis-grid{grid-template-columns:.7fr 1.3fr}
}
@media(max-width:900px){
  .trajectory-head{
    left:10px;right:10px;top:10px;
    align-items:center;
  }
  .trajectory-head > div:first-child > strong{font-size:14px}
  .trajectory-head > div:first-child > strong span{font-size:16px}
  .trajectory-head-meta > div{display:none}
  .trajectory-tool{height:32px;padding:0 8px}
  .trajectory-panel{
    left:10px;right:10px;top:auto;bottom:188px;
    width:auto;
    max-height:160px;
    display:grid;
    grid-template-columns:1.3fr 1fr 1.2fr;
  }
  .trajectory-panel .traj-section{border-right:1px solid rgba(255,255,255,.05);border-bottom:0}
  .trajectory-panel .traj-section:nth-child(n+4){display:none}
  .trajectory-analysis{
    left:10px;right:10px;bottom:10px;height:166px;
  }
  .trajectory-analysis-grid{grid-template-columns:1fr}
  .trajectory-mini-chart{display:none}
  .pivot-config label{grid-template-columns:auto 78px}
}

body[data-view="eagle"] .hud{display:none}

.speed-filter-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.speed-filter-row label{
  display:grid;
  gap:5px;
  color:#616873;
  font:700 7px/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.speed-filter-row input{
  width:100%;
  accent-color:#e8cf79;
}
.speed-legend{
  margin-top:9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  color:#6d737d;
  font:650 7px/1 ui-monospace,monospace;
}
.speed-legend[hidden]{display:none}
.speed-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.speed-dot{width:7px;height:7px;border-radius:50%;display:inline-block;box-shadow:0 0 10px currentColor}
.speed-dot.slow{background:#5d9cff;color:#5d9cff}
.speed-dot.medium{background:#e8cf79;color:#e8cf79}
.speed-dot.fast{background:#ff715b;color:#ff715b}
@media(max-width:1280px){
  .trajectory-head-meta > div:nth-child(4){display:none}
}
@media(max-width:1100px){
  .trajectory-head-meta > div:nth-child(2),
  .trajectory-head-meta > div:nth-child(3){display:none}
}

/* GEOMETRY CONFIG — canonical gates, scale and semantic polygons */
#geometryCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:5;
  pointer-events:none;
}
.video-pane.is-configuring #geometryCanvas{
  pointer-events:auto;
  cursor:crosshair;
}
.video-pane.is-configuring .gate,
.video-pane.is-configuring .det-box{
  opacity:.34;
  pointer-events:none;
}
.geometry-toggle{
  position:absolute;
  z-index:11;
  right:14px;
  top:14px;
  height:32px;
  padding:0 11px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(8,10,13,.72);
  color:#c7c8cb;
  backdrop-filter:blur(16px);
  cursor:pointer;
  font:750 8px/1 ui-monospace,monospace;
  letter-spacing:.06em;
}
.geometry-toggle:hover{background:rgba(255,255,255,.07)}
.geometry-toggle-dot{
  width:6px;height:6px;border-radius:50%;
  background:#e8cf79;
  box-shadow:0 0 10px rgba(232,207,121,.42);
}
.geometry-config{
  position:absolute;
  z-index:12;
  right:12px;
  top:52px;
  width:min(340px,calc(100% - 24px));
  max-height:calc(100% - 132px);
  overflow:auto;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(11,13,16,.94);
  box-shadow:0 28px 80px rgba(0,0,0,.44);
  backdrop-filter:blur(24px);
  transform:translateX(calc(100% + 28px));
  opacity:0;
  pointer-events:none;
  transition:.28s var(--ease);
}
.geometry-config.is-open{
  transform:none;
  opacity:1;
  pointer-events:auto;
}
.geometry-config-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.geometry-config-head h3{
  margin:5px 0 0;
  font-size:15px;
  letter-spacing:-.02em;
}
.geometry-close{
  width:32px;height:32px;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.03);
  color:#999da4;
  cursor:pointer;
  font-size:18px;
}
.geometry-status{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  margin-top:12px;
}
.geometry-status>div{
  padding:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.025);
}
.geometry-status span{
  display:block;
  color:#666d77;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.geometry-status strong{
  display:block;
  margin-top:5px;
  font:700 11px/1 ui-monospace,monospace;
}
.geometry-tools{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  margin-top:10px;
}
.geometry-tools button{
  height:31px;
  border:1px solid var(--line);
  border-radius:7px;
  background:rgba(255,255,255,.025);
  color:#777d87;
  cursor:pointer;
  font-size:8px;
}
/* LIVE PRODUCT MODE */
body.live-mode .video-pane > .gate,
body.live-mode .video-pane > .det-box,
body.live-mode .scan-line{display:none!important}
body.live-mode #liveVideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#020304;
  z-index:1;
}
body.live-mode #videoMockCanvas{z-index:0;transition:opacity .2s ease}
body.live-mode #geometryCanvas{
  z-index:5;
  pointer-events:auto;
  cursor:default;
}
body.live-mode .video-vignette{z-index:3}
body.live-mode .video-badge{z-index:7}
body.live-mode .geometry-toggle{z-index:11}
body.live-mode .transport{z-index:10}
body.live-mode .stage-metrics{z-index:9}
body.live-mode .geometry-tools,
body.live-mode .geometry-zone-create,
body.live-mode .geometry-scale-form,
body.live-mode .geometry-zone-editor,
body.live-mode .geometry-config-actions{display:none!important}
body.live-mode .geometry-config{max-height:calc(100% - 78px)}
body.live-mode .geometry-help{margin:12px 0;color:#8b9199;line-height:1.5}
body.live-mode .geometry-zone-list{display:grid;gap:5px;margin-top:10px}
body.live-mode .live-zone-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  font:650 8px/1 ui-monospace,monospace;
}
body.live-mode .live-zone-row span{color:#8b9199}
body.live-mode .live-zone-row strong{color:#d4d6d8}
body.live-mode .live-zone-row em{color:#e8cf79;font-style:normal}
body.live-mode .geometry-validation:not(.is-valid) i{
  background:#e8cf79;
  box-shadow:0 0 10px rgba(232,207,121,.45);
}
body.live-mode .geometry-validation:not(.is-valid) span{color:#b8a96c}
body.live-mode .trajectory-panel select:disabled,
body.live-mode .speed-filter-row input:disabled,
body.live-mode .trajectory-tool:disabled{
  opacity:.42;
  cursor:not-allowed;
}
body.live-mode .zone-explorer{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:5px;
  margin-top:8px;
}
body.live-mode .zone-explorer button{
  min-height:34px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#8a9099;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 8px;
  font:700 8px/1 ui-monospace,monospace;
}
body.live-mode .zone-explorer button:hover{border-color:rgba(232,207,121,.25);color:#e8cf79}
body.live-mode .zone-explorer small{color:#5f6670;font-size:7px}
body.live-mode #eagleCanvas,
body.live-mode #domoCanvas{touch-action:none}
body.live-mode .report-foot button{
  opacity:.35;
  pointer-events:none;
}
body.live-mode .orbit-hint{color:#737b85}
@media(max-width:900px){
  body.live-mode #liveVideo{object-fit:contain}
  body.live-mode #geometryCanvas{pointer-events:none}
}

/* LIVE RUNTIME — real video, real geometry, real tracks */
body[data-live="true"] #videoMockCanvas{opacity:0!important}
body[data-live="true"] .video-pane>.gate,
body[data-live="true"] .video-pane>.det-box,
body[data-live="true"] .scan-line{display:none!important}
#liveVideo{filter:saturate(.94) contrast(1.03);transform:translateZ(0)}
body[data-live="true"] #geometryCanvas{z-index:5}
.live-geometry-row{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:center;padding:7px 8px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:rgba(255,255,255,.025);margin-top:5px}
.live-geometry-row span{font:700 8px/1 ui-monospace,monospace;letter-spacing:.12em;color:#777f8b}
.live-geometry-row strong{font:600 9px/1.25 ui-monospace,monospace;color:#d9dce1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-live="true"] .trajectory-tool:disabled,
body[data-live="true"] input:disabled{opacity:.32;cursor:not-allowed}
body[data-live="true"] .report-foot button{opacity:.38;pointer-events:none}
body[data-live="true"] .geometry-validation:not(.is-valid) i{background:#e8cf79;box-shadow:0 0 12px rgba(232,207,121,.35)}
body[data-live="true"] .geometry-validation:not(.is-valid) span{color:#d9c783}
body[data-live="true"] .trajectory-hover{pointer-events:none}

/* LIVE GEOMETRY EDITOR */
body.live-mode .geometry-tools{display:grid!important;grid-template-columns:repeat(3,1fr)}
body.live-mode .geometry-zone-create{display:grid!important}
body.live-mode .geometry-config-actions{display:grid!important;grid-template-columns:1fr 1fr}
body.live-mode .geometry-zone-editor:not([hidden]),
body.live-mode .geometry-gate-editor:not([hidden]){display:block!important}
body.live-mode .geometry-gate-editor,
body.live-mode .geometry-zone-editor{
  margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)
}
body.live-mode .geometry-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
body.live-mode .geometry-delete{
  min-height:31px;border:1px solid rgba(255,107,86,.22);border-radius:8px;background:rgba(255,107,86,.06);color:#d99a91;cursor:pointer;font-size:8px
}
body.live-mode .geometry-delete:hover{background:rgba(255,107,86,.12);color:#ffd2cb}
body.live-mode .geometry-list-group{display:grid;gap:5px;margin-top:8px}
body.live-mode .geometry-list-group>small{color:#606874;font:750 7px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;margin:5px 2px 2px}
body.live-mode .live-geometry-select{
  width:100%;min-height:38px;padding:7px 8px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:7px;
  border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02);color:#a4a9b0;text-align:left;cursor:pointer
}
body.live-mode .live-geometry-select span{font:750 7px/1 ui-monospace,monospace;color:#e8cf79}
body.live-mode .live-geometry-select strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#d5d7da}
body.live-mode .live-geometry-select em{font:650 7px/1 ui-monospace,monospace;color:#626a75;font-style:normal}
body.live-mode .live-geometry-select:hover,
body.live-mode .live-geometry-select.is-selected{border-color:rgba(232,207,121,.30);background:rgba(232,207,121,.055)}
body.live-mode .geometry-empty{padding:10px;border:1px dashed rgba(255,255,255,.08);border-radius:8px;color:#676e78;font-size:8px}
body.live-mode .video-pane.is-configuring #geometryCanvas{pointer-events:auto!important;cursor:crosshair}
body.live-mode .video-pane.is-configuring #liveVideo{filter:saturate(.72) brightness(.76)}
body.live-mode .video-pane.is-configuring .video-vignette{background:rgba(0,0,0,.10)}
body.live-mode .geometry-validation.is-valid i{background:#67d8d2;box-shadow:0 0 10px rgba(103,216,210,.45)}
body.live-mode #geometryValidate:disabled{opacity:.45;cursor:default}

/* View isolation: hidden workspaces must never intercept video editing. */
[data-view-panel]:not(.is-visible){visibility:hidden;pointer-events:none!important}
[data-view-panel]:not(.is-visible) *{pointer-events:none!important}
[data-view-panel].is-visible{visibility:visible}

body.geometry-editing [data-view-btn]:not([data-view-btn="video"]){opacity:.35;pointer-events:none!important}

/* GEOMETRY EDITOR POLISH v7 */
body.live-mode .geometry-config{
  width:min(332px,calc(100% - 24px));
  padding:14px;
  background:rgba(9,11,14,.965);
  border-color:rgba(255,255,255,.085);
  box-shadow:0 28px 90px rgba(0,0,0,.58);
}
body.live-mode .geometry-config-head h3{
  color:#f0f1f2;
  font-size:15px;
  font-weight:700;
}
body.live-mode .geometry-status>div{
  min-height:50px;
  background:rgba(255,255,255,.022);
  border-color:rgba(255,255,255,.07);
}
body.live-mode .geometry-tools{
  gap:6px;
  margin-top:12px;
}
body.live-mode .geometry-tools button{
  height:34px;
  background:#0f1216;
  border:1px solid rgba(255,255,255,.08);
  color:#8d949e;
  font:700 8px/1 ui-monospace,monospace;
  letter-spacing:.02em;
  transition:.18s ease;
}
body.live-mode .geometry-tools button:hover{
  color:#d7dadd;
  border-color:rgba(232,207,121,.22);
  background:#13171c;
}
body.live-mode .geometry-tools button.is-active{
  color:#f2df8d;
  border-color:rgba(232,207,121,.34);
  background:rgba(232,207,121,.075);
}
body.live-mode .geometry-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
body.live-mode .geometry-form label{
  display:grid;
  gap:5px;
  min-width:0;
  color:#767e89;
  font:700 7px/1.15 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.live-mode .geometry-form input,
body.live-mode .geometry-form select{
  width:100%;
  min-width:0;
  height:32px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.085);
  border-radius:7px;
  background:#0d1014;
  color:#d9dde1;
  padding:0 9px;
  outline:none;
  font:650 9px/1 ui-monospace,monospace;
  color-scheme:dark;
}
body.live-mode .geometry-form input:focus,
body.live-mode .geometry-form select:focus{
  border-color:rgba(103,216,210,.38);
  box-shadow:0 0 0 2px rgba(103,216,210,.07);
}
body.live-mode .geometry-form input[type="color"]{
  padding:3px;
  cursor:pointer;
}
body.live-mode .geometry-help{
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#9299a3;
  font:600 8px/1.5 ui-monospace,monospace;
}
body.live-mode .geometry-list-group{
  gap:6px;
}
body.live-mode .live-geometry-select{
  min-height:40px;
  padding:8px 9px;
  grid-template-columns:42px minmax(0,1fr) auto;
  background:#0c0f13;
  border-color:rgba(255,255,255,.065);
}
body.live-mode .live-geometry-select span{
  color:#c8b96f;
  letter-spacing:.08em;
}
body.live-mode .live-geometry-select strong{
  color:#d7dade;
  font:650 9px/1.2 ui-monospace,monospace;
}
body.live-mode .live-geometry-select em{
  color:#555e69;
  font-size:7px;
  letter-spacing:.08em;
}
body.live-mode .live-geometry-select:hover,
body.live-mode .live-geometry-select.is-selected{
  border-color:rgba(232,207,121,.28);
  background:rgba(232,207,121,.045);
}
body.live-mode .geometry-gate-editor,
body.live-mode .geometry-zone-editor{
  background:#0b0e12;
  border-color:rgba(255,255,255,.07);
}
body.live-mode .geometry-editor-head strong{
  color:#e7e8ea;
}
body.live-mode .geometry-config-actions{
  gap:6px;
  margin-top:12px;
}
body.live-mode .geometry-config-actions button,
body.live-mode .geometry-save-zone{
  min-height:34px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:#101318;
  color:#878e98;
  cursor:pointer;
  font:700 8px/1 ui-monospace,monospace;
}
body.live-mode .geometry-config-actions button:hover,
body.live-mode .geometry-save-zone:hover{
  color:#d9dcdf;
  background:#15191e;
}
body.live-mode #geometryValidate{
  color:#0a0c0e;
  background:#d8cb83;
  border-color:#d8cb83;
}
body.live-mode #geometryValidate:not(:disabled):hover{
  background:#eee19b;
}
body.live-mode #geometryCancel{
  color:#d29b91;
  border-color:rgba(210,112,96,.18);
}
body.live-mode .geometry-validation{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.055);
}
body.live-mode .geometry-toggle{
  min-width:118px;
  justify-content:center;
}


/* GEOMETRY EDITOR V2 — compact contextual palette */
body.live-mode .geometry-config{
  right:12px;
  top:54px;
  width:286px;
  max-height:calc(100% - 126px);
  padding:0;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(10,12,15,.93);
  box-shadow:0 24px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(28px) saturate(1.15);
}
body.live-mode .geometry-config-head{
  position:sticky;
  top:0;
  z-index:3;
  padding:13px 13px 9px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:linear-gradient(180deg,rgba(13,15,18,.98),rgba(10,12,15,.94));
}
body.live-mode .geometry-config-head .eyebrow{
  font-size:7px;
  letter-spacing:.16em;
  color:#676e78;
}
body.live-mode .geometry-config-head h3{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.1;
  letter-spacing:-.015em;
  color:#f1f1ee;
}
body.live-mode .geometry-close{
  width:27px;
  height:27px;
  border-color:rgba(255,255,255,.075);
  background:rgba(255,255,255,.025);
  color:#747a83;
  font-size:14px;
}
body.live-mode .geometry-close:hover{
  background:rgba(255,255,255,.07);
  color:#f0f0ed;
}
body.live-mode .geometry-status{
  display:flex;
  gap:11px;
  align-items:center;
  padding:9px 13px 5px;
}
body.live-mode .geometry-status>div{
  min-width:0;
  padding:0;
  border:0;
  background:none;
  display:flex;
  align-items:baseline;
  gap:4px;
}
body.live-mode .geometry-status span{
  font:650 6.5px/1 ui-monospace,monospace;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#535a65;
}
body.live-mode .geometry-status strong{
  font:700 8px/1 ui-monospace,monospace;
  color:#b9bec5;
}
body.live-mode .geometry-tools{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  margin:7px 11px 9px;
  padding:3px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
body.live-mode .geometry-tools button{
  min-height:30px;
  border:0!important;
  border-radius:7px;
  background:transparent!important;
  color:#6e7580;
  font:700 7.5px/1 ui-monospace,monospace;
  letter-spacing:.015em;
}
body.live-mode .geometry-tools button:hover{
  color:#d7dadf;
  background:rgba(255,255,255,.04)!important;
}
body.live-mode .geometry-tools button.is-active{
  color:#f0df98;
  background:rgba(232,207,121,.085)!important;
  box-shadow:inset 0 0 0 1px rgba(232,207,121,.15);
}
body.live-mode .geometry-zone-create{
  display:none!important;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:0;
  padding:2px 11px 10px;
}
body.live-mode .geometry-config:has([data-geometry-tool="zone"].is-active) .geometry-zone-create{
  display:grid!important;
}
body.live-mode .geometry-zone-create label:nth-child(2){
  grid-column:1 / -1;
}
body.live-mode .geometry-form label{
  gap:5px;
  font-size:6.5px;
  letter-spacing:.09em;
  color:#5e6570;
}
body.live-mode .geometry-form input,
body.live-mode .geometry-form select{
  min-height:31px;
  padding:0 9px;
  border-color:rgba(255,255,255,.075);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#cfd2d6;
  font-size:8px;
}
body.live-mode .geometry-help{
  margin:0 11px 8px;
  padding:8px 9px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#707783;
  font-size:7.5px;
  line-height:1.4;
}
body.live-mode .geometry-zone-list{
  display:grid;
  gap:0;
  margin:0;
  padding:2px 11px 9px;
  max-height:166px;
  overflow:auto;
}
body.live-mode .geometry-list-group{
  gap:0;
  margin-top:3px;
}
body.live-mode .geometry-list-group>small{
  margin:7px 2px 4px;
  color:#4f5660;
  font-size:6.5px;
}
body.live-mode .live-geometry-select{
  min-height:32px;
  padding:0 6px;
  grid-template-columns:36px 1fr auto;
  gap:5px;
  border:0;
  border-radius:7px;
  background:transparent;
}
body.live-mode .live-geometry-select+ .live-geometry-select{
  border-top:1px solid rgba(255,255,255,.045);
}
body.live-mode .live-geometry-select span{font-size:6px}
body.live-mode .live-geometry-select strong{font-size:8px;color:#b9bec5}
body.live-mode .live-geometry-select em{font-size:6px;color:#4c535d}
body.live-mode .live-geometry-select:hover{
  background:rgba(255,255,255,.03);
  border-color:transparent;
}
body.live-mode .live-geometry-select.is-selected{
  background:rgba(232,207,121,.06);
  border-color:transparent;
}
body.live-mode .geometry-empty{
  padding:8px 7px;
  border:0;
  background:rgba(255,255,255,.018);
  color:#545b65;
}
body.live-mode .geometry-gate-editor,
body.live-mode .geometry-zone-editor{
  margin:2px 11px 9px;
  padding:9px;
  border-color:rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.022);
}
body.live-mode .geometry-editor-head{
  margin-bottom:8px;
}
body.live-mode .geometry-editor-head .eyebrow{font-size:6px;color:#565d67}
body.live-mode .geometry-editor-head strong{font-size:9px;color:#d4d7db}
body.live-mode .geometry-editor-actions{gap:5px}
body.live-mode .geometry-delete,
body.live-mode .geometry-save-zone{
  min-height:29px;
  border-radius:7px;
  font-size:7px;
}
body.live-mode .geometry-config-actions{
  position:sticky;
  bottom:0;
  z-index:4;
  display:grid!important;
  grid-template-columns:auto 1fr 1.15fr;
  gap:5px;
  margin:0;
  padding:9px 11px 10px;
  border-top:1px solid rgba(255,255,255,.055);
  background:linear-gradient(180deg,rgba(10,12,15,.93),rgba(10,12,15,.99) 35%);
  backdrop-filter:blur(18px);
}
body.live-mode .geometry-config-actions button{
  min-height:31px;
  padding:0 9px;
  border-radius:8px;
  font-size:7px;
}
body.live-mode #geometryUndo{
  color:#8b9199;
  background:transparent;
  border-color:rgba(255,255,255,.065);
}
body.live-mode #geometryFinish{
  display:none;
}
body.live-mode .geometry-config:has([data-geometry-tool="zone"].is-active) #geometryFinish{
  display:block;
  grid-column:1 / -1;
  grid-row:1;
}
body.live-mode .geometry-config:has([data-geometry-tool="zone"].is-active) #geometryUndo{
  grid-row:2;
}
body.live-mode .geometry-config:has([data-geometry-tool="zone"].is-active) #geometryCancel{
  grid-row:2;
}
body.live-mode .geometry-config:has([data-geometry-tool="zone"].is-active) #geometryValidate{
  grid-row:2;
}
body.live-mode #geometryCancel{
  color:#9ba1a8;
  border-color:rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
}
body.live-mode #geometryValidate{
  color:#171812;
  border-color:rgba(232,207,121,.45);
  background:#e8cf79;
  font-weight:800;
}
body.live-mode #geometryValidate:disabled{
  color:#64675c;
  border-color:rgba(255,255,255,.06);
  background:rgba(255,255,255,.035);
  opacity:1;
}
body.live-mode .geometry-validation{
  margin:0;
  padding:0 11px 9px;
  border:0;
  background:transparent;
  min-height:0;
  gap:6px;
}
body.live-mode .geometry-validation i{
  width:5px;height:5px;
}
body.live-mode .geometry-validation span{
  font-size:6.5px;
  color:#5f6670;
}
body.geometry-editing .geometry-toggle{
  border-color:rgba(232,207,121,.15);
  background:rgba(17,18,18,.82);
  color:#d9cb8c;
}

/* GEOMETRY EDITOR V2.1 — final density pass */
body.live-mode .geometry-status{
  margin:0!important;
  padding:8px 13px 3px;
}
body.live-mode .geometry-status span,
body.live-mode .geometry-status strong{
  display:inline!important;
  margin:0!important;
}
body.live-mode .geometry-tools{
  margin-top:4px!important;
}
body.live-mode .geometry-zone-list{
  max-height:142px;
}
body.live-mode .live-geometry-select{
  min-height:29px;
}
body.live-mode .geometry-validation{
  padding-bottom:7px;
}


/* SMART REPORT WORKSPACE */
.video-workbench{
  --report-width:430px;
  display:flex!important;
  gap:0!important;
  background:rgba(255,255,255,.055);
}
.video-workbench>.video-pane{
  flex:1 1 auto;
  min-width:0;
}
.video-workbench>.report-pane{
  flex:0 0 var(--report-width);
  width:var(--report-width);
  min-width:300px;
  border-left:1px solid rgba(255,255,255,.055);
  transition:flex-basis .22s var(--ease),width .22s var(--ease),box-shadow .22s var(--ease);
}
.video-workbench.report-left{
  flex-direction:row-reverse;
}
.video-workbench.report-left>.report-pane{
  border-left:0;
  border-right:1px solid rgba(255,255,255,.055);
}
.report-resizer{
  position:relative;
  flex:0 0 6px;
  width:6px;
  z-index:14;
  cursor:col-resize;
  background:transparent;
  touch-action:none;
}
.report-resizer::after{
  content:"";
  position:absolute;
  top:0;bottom:0;left:2px;
  width:1px;
  background:rgba(255,255,255,.055);
  transition:background .16s ease,box-shadow .16s ease;
}
.report-resizer:hover::after,
body.report-resizing .report-resizer::after{
  background:rgba(232,207,121,.55);
  box-shadow:0 0 12px rgba(232,207,121,.22);
}
body.report-resizing,
body.report-resizing *{cursor:col-resize!important;user-select:none!important}

.report-head{
  position:relative;
  cursor:default;
}
.report-head-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.report-head-actions .report-status{
  margin-right:2px;
}
.report-tool{
  height:28px;
  min-width:28px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#777e88;
  cursor:pointer;
  font:750 7px/1 ui-monospace,monospace;
  letter-spacing:.04em;
}
.report-tool:hover{
  color:#d9dce0;
  background:rgba(255,255,255,.055);
}
.report-tool.is-active,
.report-auto.is-active{
  color:#e8cf79;
  border-color:rgba(232,207,121,.20);
  background:rgba(232,207,121,.055);
}
.report-collapse{
  width:28px;
  padding:0;
  font-size:15px;
}
.report-pane.has-context{
  box-shadow:inset 2px 0 0 rgba(103,216,210,.35);
}

.sheet-tabs{
  display:flex!important;
  grid-template-columns:none!important;
  gap:3px;
}
.sheet-tabs button{
  flex:1 1 0;
  min-width:0;
  position:relative;
  transition:opacity .15s ease,transform .15s ease,background .15s ease;
}
.sheet-tabs button.is-dragging{opacity:.35;transform:scale(.96)}
.sheet-tabs button.is-empty::after{
  content:"";
  position:absolute;
  top:6px;right:7px;
  width:4px;height:4px;border-radius:50%;
  background:#5a6069;
}
.sheet-tabs button[hidden]{display:none!important}

.report-layout-menu{
  position:absolute;
  z-index:40;
  top:56px;
  right:10px;
  width:min(300px,calc(100% - 20px));
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(10,12,15,.97);
  box-shadow:0 28px 80px rgba(0,0,0,.50);
  backdrop-filter:blur(24px) saturate(1.12);
  opacity:0;
  transform:translateY(-7px) scale(.985);
  transform-origin:top right;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.report-layout-menu.is-open{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.report-menu-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:2px 2px 9px;
}
.report-menu-head strong{display:block;margin-top:3px;font-size:11px;color:#e5e6e4}
.report-menu-head button{
  width:28px;height:28px;border:1px solid var(--line);border-radius:50%;
  background:rgba(255,255,255,.025);color:#747a83;cursor:pointer;
}
.report-layout-menu section{
  padding:9px 2px;
  border-top:1px solid rgba(255,255,255,.055);
}
.report-layout-menu section>small,
.report-sheet-settings>small{
  display:block;
  margin-bottom:7px;
  color:#555d68;
  font:750 6.5px/1.2 ui-monospace,monospace;
  letter-spacing:.11em;
}
.report-segmented{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
  padding:3px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:rgba(255,255,255,.02);
}
.report-segmented.report-position{grid-template-columns:repeat(3,1fr)}
.report-segmented button{
  min-height:28px;
  border:0;border-radius:6px;background:transparent;
  color:#6f7680;cursor:pointer;
  font:700 6.5px/1 ui-monospace,monospace;
}
.report-segmented button:hover{background:rgba(255,255,255,.04);color:#cfd2d6}
.report-segmented button.is-active{
  background:rgba(232,207,121,.08);
  color:#e8cf79;
  box-shadow:inset 0 0 0 1px rgba(232,207,121,.12);
}
.report-menu-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.report-menu-row small{display:block;color:#59616c;font:750 6.5px/1 ui-monospace,monospace;letter-spacing:.10em}
.report-menu-row span{display:block;margin-top:4px;color:#9298a1;font-size:8px}
.report-switch{
  position:relative;
  width:32px;height:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;background:rgba(255,255,255,.04);cursor:pointer;
}
.report-switch i{
  position:absolute;top:3px;left:3px;
  width:10px;height:10px;border-radius:50%;
  background:#676e78;transition:transform .16s ease,background .16s ease;
}
.report-switch.is-active{
  border-color:rgba(103,216,210,.18);
  background:rgba(103,216,210,.06);
}
.report-switch.is-active i{transform:translateX(14px);background:#67d8d2}
.report-sheet-settings [data-report-sheet-list]{display:grid;gap:2px}
.report-sheet-toggle{
  min-height:28px;
  padding:0 5px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:#a4a9b0;font-size:8px;cursor:pointer;
}
.report-sheet-toggle input{display:none}
.report-sheet-toggle i{
  position:relative;width:25px;height:14px;border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.07);
}
.report-sheet-toggle i::after{
  content:"";position:absolute;top:2px;left:2px;
  width:8px;height:8px;border-radius:50%;background:#59616b;
  transition:transform .15s ease,background .15s ease;
}
.report-sheet-toggle input:checked+i{background:rgba(232,207,121,.06);border-color:rgba(232,207,121,.15)}
.report-sheet-toggle input:checked+i::after{transform:translateX(11px);background:#e8cf79}
.report-reset{
  width:100%;height:30px;margin-top:4px;
  border:1px solid rgba(255,255,255,.065);border-radius:8px;
  background:transparent;color:#737a84;cursor:pointer;font-size:7px;
}
.report-reset:hover{color:#cfd2d6;background:rgba(255,255,255,.025)}

.report-peek{
  position:absolute;
  z-index:24;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  min-height:104px;
  padding:8px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:rgba(10,12,15,.88);
  color:#7f8791;
  backdrop-filter:blur(18px);
  cursor:pointer;
}
.report-left .report-peek{right:auto;left:8px}
.report-peek span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font:750 6.5px/1 ui-monospace,monospace;
  letter-spacing:.16em;
}
.report-peek strong{font-size:16px;color:#e8cf79}
.report-peek[hidden]{display:none!important}
.video-workbench.report-hidden>.report-pane,
.video-workbench.report-hidden>.report-resizer{display:none!important}
.video-workbench.report-hidden>.video-pane{flex:1 1 100%}

.video-workbench.report-floating{
  display:block!important;
  position:absolute;
}
.video-workbench.report-floating>.video-pane{
  position:absolute;
  inset:0;
}
.video-workbench.report-floating>.report-resizer{display:none}
.video-workbench.report-floating>.report-pane{
  position:absolute!important;
  z-index:22;
  min-width:320px;
  min-height:300px;
  max-width:calc(100% - 16px);
  max-height:calc(100% - 16px);
  flex:none;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  box-shadow:0 28px 80px rgba(0,0,0,.52);
  resize:both;
  overflow:hidden;
}
.video-workbench.report-floating .report-head{
  cursor:move;
  user-select:none;
}
.video-workbench.report-floating .report-head button,
.video-workbench.report-floating .report-head .report-status{cursor:pointer}
.report-pane.is-dragging{transition:none!important;box-shadow:0 32px 92px rgba(0,0,0,.62)!important}

@media(max-width:900px){
  .video-workbench{display:block!important}
  .report-resizer{display:none!important}
  .video-workbench.report-left{flex-direction:initial}
  .video-workbench.report-floating>.report-pane,
  .video-workbench>.report-pane{
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:72px!important;
    width:auto!important;
    height:min(52vh,460px)!important;
    max-width:none!important;
    max-height:none!important;
    min-width:0!important;
    resize:none!important;
  }
  .report-peek{
    top:auto;bottom:82px;right:10px;transform:none;
    width:auto;min-height:32px;padding:0 10px;flex-direction:row;
  }
  .report-peek span{writing-mode:initial;transform:none}
  .report-left .report-peek{left:auto;right:10px}
}


/* SMART ZONE ANALYTICS — Libro de aforo */
.report-zone-scope{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:6px 9px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.012);
}
.report-zone-label{
  display:grid;
  gap:2px;
  min-width:42px;
}
.report-zone-label span{
  color:#535a64;
  font:750 6px/1 ui-monospace,monospace;
  letter-spacing:.12em;
}
.report-zone-label strong{
  color:#a8adb4;
  font:700 8px/1 ui-monospace,monospace;
}
.report-zone-chips{
  min-width:0;
  display:flex;
  gap:4px;
  overflow-x:auto;
  scrollbar-width:none;
}
.report-zone-chips::-webkit-scrollbar{display:none}
.report-zone-chips button{
  flex:0 0 auto;
  min-height:28px;
  max-width:150px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#747b85;
  cursor:pointer;
  font:700 7px/1 ui-monospace,monospace;
}
.report-zone-chips button:hover{
  color:#cfd2d6;
  background:rgba(255,255,255,.04);
}
.report-zone-chips button.is-active{
  color:#e7e8e5;
  border-color:rgba(232,207,121,.18);
  background:rgba(232,207,121,.055);
}
.report-zone-chips button i{
  width:6px;height:6px;border-radius:50%;
  flex:0 0 auto;
  background:var(--zone-color,#707781);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--zone-color,#707781) 12%,transparent);
}
.report-zone-chips button[data-report-zone="all"] i{
  background:#67d8d2;
}
.report-zone-chips button span{
  max-width:86px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-zone-chips button em{
  color:#555d67;
  font-style:normal;
  font-weight:700;
}
.report-zone-chips button.is-active em{color:#9fa6ae}
.report-zone-meta{
  grid-column:1/-1;
  min-height:27px;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:8px;
  background:rgba(255,255,255,.018);
}
.report-zone-meta[hidden]{display:none!important}
.report-zone-meta span{
  display:flex;align-items:center;gap:5px;
  color:#c7cbd0;font:750 7px/1 ui-monospace,monospace;
}
.report-zone-meta span i{
  width:6px;height:6px;border-radius:50%;
  background:var(--zone-color,#be87ed);
}
.report-zone-meta strong{
  color:#e8cf79;
  font:750 7px/1 ui-monospace,monospace;
}
.report-zone-meta em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#59616b;
  font:600 6.5px/1 ui-monospace,monospace;
  font-style:normal;
}
.report-zone-scope:not(.has-zones) .report-zone-label strong::after{
  content:" · sin zonas";
  color:#515863;
}
@media(max-width:900px){
  .report-zone-scope{
    grid-template-columns:1fr;
    gap:5px;
  }
  .report-zone-label{display:none}
  .report-zone-meta{grid-column:1}
}


/* GATE AUTHORITY + TRUE LIVE COUNTING */
.gate-authority-section{
  display:grid;
  gap:8px;
}
.counted-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
}
.counted-switch input{display:none}
.counted-switch i{
  position:relative;
  width:28px;
  height:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.04);
}
.counted-switch i::after{
  content:"";
  position:absolute;
  top:2px;left:2px;
  width:10px;height:10px;
  border-radius:50%;
  background:#626a74;
  transition:transform .15s ease,background .15s ease;
}
.counted-switch input:checked+i{
  border-color:rgba(103,216,210,.18);
  background:rgba(103,216,210,.06);
}
.counted-switch input:checked+i::after{
  transform:translateX(12px);
  background:#67d8d2;
}
.counted-switch strong{
  color:#858c96;
  font:700 6.5px/1 ui-monospace,monospace;
}
.gate-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.gate-filter-chips button{
  min-height:27px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#676e78;
  cursor:pointer;
  font:700 6.5px/1 ui-monospace,monospace;
}
.gate-filter-chips button::before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:#575e67;
}
.gate-filter-chips button.is-active{
  color:#e7d994;
  border-color:rgba(232,207,121,.18);
  background:rgba(232,207,121,.055);
}
.gate-filter-chips button.is-active::before{
  background:#e8cf79;
  box-shadow:0 0 8px rgba(232,207,121,.28);
}
.live-counting-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.live-counting-badge::before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:#67d8d2;
  box-shadow:0 0 8px rgba(103,216,210,.4);
}


/* SCALE CALIBRATION TOOL */
body.live-mode .geometry-tools{
  grid-template-columns:repeat(4,1fr);
}
body.live-mode .geometry-scale-editor{
  margin:2px 11px 9px;
  padding:10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.022);
}
body.live-mode .geometry-scale-editor[hidden]{display:none!important}
body.live-mode .geometry-scale-readout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:8px 0;
}
body.live-mode .geometry-scale-readout>div{
  display:grid;
  gap:3px;
  padding:8px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:8px;
  background:rgba(255,255,255,.018);
}
body.live-mode .geometry-scale-readout span{
  color:#59616b;
  font:700 6px/1 ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.live-mode .geometry-scale-readout strong{
  color:#e7e8e5;
  font:750 9px/1 ui-monospace,monospace;
}
body.live-mode .geometry-meter-input{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:5px;
}
body.live-mode .geometry-meter-input span{
  color:#7d848e;
  font:750 8px/1 ui-monospace,monospace;
}
body.live-mode .geometry-scale-help{
  margin:8px 0 9px;
  color:#747b85;
  font-size:7.5px;
  line-height:1.45;
}
body.live-mode #geometrySaveScale{
  width:100%;
}


/* VIDEO NEON TRAILS */
#trailCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:4;
  pointer-events:none;
  mix-blend-mode:screen;
  transition:opacity .16s ease;
}
.video-pane.is-configuring #trailCanvas{opacity:.16}
.trail-toggle{
  position:absolute;
  z-index:11;
  right:150px;
  top:14px;
  height:32px;
  padding:0 10px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(8,11,14,.82);
  color:#7f8791;
  backdrop-filter:blur(16px);
  cursor:pointer;
  font:700 7px/1 ui-monospace,monospace;
}
.trail-toggle:hover{color:#dce1e5;background:rgba(14,18,23,.90)}
.trail-toggle.is-active{
  color:#c9fbf6;
  border-color:rgba(103,216,210,.20);
  background:rgba(8,21,23,.78);
}
.trail-toggle-dot{
  width:6px;height:6px;border-radius:50%;
  background:#555d67;
}
.trail-toggle.is-active .trail-toggle-dot{
  background:#67d8d2;
  box-shadow:0 0 11px rgba(103,216,210,.72);
}
.trail-toggle em{
  min-width:24px;
  color:#67d8d2;
  font-style:normal;
  text-align:right;
}
@media(max-width:760px){
  .trail-toggle{right:14px;top:52px}
}


/* MOBILE REPORT FIX — keep the live workbook in document flow */
@media(max-width:900px){
  html,body{height:auto!important;min-height:100%;overflow:auto!important}
  .app-shell{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .main-stage,.stage-shell,.view[data-view-panel="video"]{overflow:visible!important}
  .video-workbench{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .video-workbench>.video-pane{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:min(62vh,560px)!important;
    min-height:430px!important;
    flex:none!important;
  }
  .video-workbench>.report-pane,
  .video-workbench.report-floating>.report-pane{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:500px!important;
    max-width:none!important;
    max-height:none!important;
    margin-top:8px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:14px!important;
    resize:none!important;
    overflow:hidden!important;
  }
  .video-workbench.report-hidden>.report-pane{display:none!important}
  .report-peek{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    min-height:36px!important;
    margin-top:8px!important;
    flex-direction:row!important;
  }
  .report-peek span{writing-mode:initial!important;transform:none!important}
  .sheet-wrap{overflow-x:auto!important}
  .mini-sheet{min-width:760px}
}

/* REAL STUDY ZONES */
.zone-explorer{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.zone-explorer button{
  min-height:27px;padding:0 8px;border:1px solid rgba(255,255,255,.07);
  border-radius:8px;background:rgba(255,255,255,.018);color:#737b86;
  font:700 6.5px/1 ui-monospace,monospace;cursor:pointer;
}
.zone-explorer button.is-active{
  color:#f0e7b1;border-color:rgba(232,207,121,.18);background:rgba(232,207,121,.055);
}
.zone-analysis-card .zone-breakdown{
  display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px
}
.zone-analysis-card .zone-breakdown div{
  padding:6px;border:1px solid rgba(255,255,255,.05);border-radius:7px;background:rgba(255,255,255,.018)
}
.zone-analysis-card .zone-breakdown span{
  display:block;color:#555d68;font:700 5.5px/1 ui-monospace,monospace;text-transform:uppercase
}
.zone-analysis-card .zone-breakdown strong{
  display:block;margin-top:3px;color:#d8dbe0;font:750 8px/1 ui-monospace,monospace
}

/* HEATMAP LEGEND */
.heatmap-legend{
  position:absolute;right:18px;bottom:178px;z-index:8;
  display:none;align-items:center;gap:8px;padding:7px 9px;
  border:1px solid rgba(255,255,255,.07);border-radius:8px;
  background:rgba(7,10,13,.82);backdrop-filter:blur(12px);
  color:#777f89;font:700 6px/1 ui-monospace,monospace;
}
.heatmap-legend.is-visible{display:flex}
.heatmap-ramp{
  width:76px;height:6px;border-radius:999px;
  background:linear-gradient(90deg,#263a62,#2ea7a1,#e2cc77,#f08d5b)
}


.mobile-aforo-bar{display:none}
@media(max-width:900px){
  .mobile-aforo-bar{
    display:grid!important;
    grid-template-columns:1fr 1.4fr auto;
    align-items:center;
    gap:8px;
    width:100%;
    min-height:58px;
    margin-top:8px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(10,13,16,.94);
    color:#dfe3e6;
    text-align:left;
    cursor:pointer;
  }
  .mobile-aforo-bar span{display:grid;gap:3px}
  .mobile-aforo-bar small{
    color:#58606a;
    font:750 6px/1 ui-monospace,monospace;
    letter-spacing:.10em;
  }
  .mobile-aforo-bar strong{
    color:#f0f1ef;
    font:800 15px/1 ui-monospace,monospace;
  }
  .mobile-aforo-bar span:nth-child(2) strong{
    font-size:9px;color:#9ea5ae;
  }
  .mobile-aforo-bar em{
    color:#e8cf79;
    font:750 7px/1 ui-monospace,monospace;
    font-style:normal;
  }

  .video-workbench>.report-pane,
  .video-workbench.report-floating>.report-pane{
    position:fixed!important;
    z-index:120!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:8px!important;
    width:auto!important;
    height:min(72vh,620px)!important;
    min-height:420px!important;
    max-height:72vh!important;
    margin:0!important;
    transform:translateY(calc(100% + 24px));
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease,opacity .18s ease;
    box-shadow:0 26px 90px rgba(0,0,0,.72)!important;
  }
  body.mobile-report-open .video-workbench>.report-pane{
    transform:none;
    opacity:1;
    pointer-events:auto;
  }
  body.mobile-report-open::after{
    content:"";
    position:fixed;inset:0;z-index:110;
    background:rgba(0,0,0,.54);
    backdrop-filter:blur(2px);
  }
  .report-peek{display:none!important}
}

/* MOBILE LIVE AFORO — always visible, synchronized with media time */
.video-mobile-live{display:none}
@media(max-width:900px){
  body.live-mode .video-mobile-live{
    position:absolute;
    z-index:12;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:1px 9px;
    left:10px;
    bottom:91px;
    width:min(206px,calc(100% - 125px));
    min-height:66px;
    padding:9px 10px;
    border:1px solid rgba(103,216,210,.28);
    border-radius:11px;
    background:linear-gradient(150deg,rgba(9,27,29,.96),rgba(6,12,18,.94));
    box-shadow:0 6px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055);
    backdrop-filter:blur(18px);
    color:#f2f8f7;
    text-align:left;
    cursor:pointer;
  }
  .video-mobile-live-head{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    gap:5px;
    color:#a4dcd9;
    font:800 7px/1 ui-monospace,monospace;
    letter-spacing:.055em;
  }
  .video-mobile-live-head i{
    width:5px;height:5px;border-radius:50%;
    background:#67d8d2;box-shadow:0 0 8px rgba(103,216,210,.75);
  }
  .video-mobile-live-head em{
    margin-left:auto;
    color:#6d8f93;
    font-size:6px;
    font-style:normal;
  }
  .video-mobile-live-value{
    grid-column:1;
    color:#f0fff9;
    font:800 clamp(23px,6vw,33px)/1 ui-monospace,monospace;
    font-variant-numeric:tabular-nums;
  }
  .video-mobile-live-move{
    grid-column:2;
    color:#bac9cb;
    font:700 7px/1.35 ui-monospace,monospace;
    max-height:2.8em;
    overflow:hidden;
  }
  .video-mobile-live-link{
    grid-column:1 / -1;
    color:#80dbd6;
    font:700 7px/1.2 ui-monospace,monospace;
  }
  .video-mobile-live-link b{float:right;font-size:10px}
  body.live-mode .video-pane .stage-metrics{display:none!important}
  .video-workbench>.report-pane .sheet-wrap{
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .video-workbench>.report-pane .mini-sheet{
    width:max-content!important;
    min-width:620px!important;
  }
  .video-workbench>.report-pane .mini-sheet th,
  .video-workbench>.report-pane .mini-sheet td{white-space:nowrap}
}
@media(max-width:370px){
  body.live-mode .video-mobile-live{
    left:8px;
    bottom:86px;
    padding:7px 8px;
    min-height:60px;
  }
}

/* ZONE INTELLIGENCE */
.zone-insights{
  margin:8px 12px 12px;
  padding:12px;
  border:1px solid rgba(103,216,210,.105);
  border-radius:12px;
  background:linear-gradient(155deg,rgba(8,20,24,.87),rgba(10,12,18,.9));
}
.zone-insights[hidden]{display:none!important}
.zone-insights-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:11px}
.zone-insights-heading strong{display:block;margin-top:5px;color:#e7eceb;font-size:11px}
.zone-insights-heading select{
  max-width:124px;min-height:29px;padding:0 7px;
  border:1px solid rgba(255,255,255,.09);border-radius:7px;
  background:#131a21;color:#aab9c0;font:700 8px ui-monospace,monospace
}
.zone-insights-compare{display:grid;gap:4px}
.zone-compare-row{
  display:grid;grid-template-columns:minmax(0,1.1fr) 1fr auto;align-items:center;gap:9px;
  min-height:30px;padding:5px 7px;background:rgba(255,255,255,.018);
  border:1px solid transparent;border-radius:7px;cursor:pointer;color:#a3b0b8;
}
.zone-compare-row:hover,.zone-compare-row.is-active{background:rgba(103,216,210,.055);border-color:rgba(103,216,210,.15)}
.zone-compare-title{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 8px ui-monospace,monospace}
.zone-compare-title i{height:7px;width:7px;flex:none;border-radius:2px}
.zone-compare-track{height:6px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}
.zone-compare-track i{display:block;height:100%;border-radius:inherit;opacity:.8}
.zone-compare-row strong{font:800 9px ui-monospace,monospace;color:#f4f8f7;font-variant-numeric:tabular-nums}
.zone-insights-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0}
.zone-insights-kpis>div{
  display:grid;gap:5px;padding:7px;border:1px solid rgba(255,255,255,.055);
  border-radius:7px;background:rgba(255,255,255,.025)
}
.zone-insights-kpis span{color:#778690;font:700 6px/1.3 ui-monospace,monospace;text-transform:uppercase}
.zone-insights-kpis strong{color:#e8cf79;font:800 11px ui-monospace,monospace}
.zone-activity-chart{margin-top:10px;padding:10px;background:rgba(0,0,0,.18);border-radius:8px}
.zone-activity-chart>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}
.zone-activity-chart strong{font-size:9px;color:#cdd7dc}
.zone-activity-chart small{font:700 7px ui-monospace,monospace;color:#697e8a}
.zone-activity-bars{display:flex;gap:4px;height:73px;align-items:end;margin-top:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.zone-activity-bar{flex:1;min-width:3px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:3px}
.zone-activity-bar span{font:700 7px ui-monospace,monospace;color:#a2b4bc}
.zone-activity-bar i{
  display:block;width:100%;max-width:30px;min-height:2px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(0deg,rgba(38,123,142,.8),rgba(103,216,210,.95))
}
.zone-insights-classes{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.zone-insights-classes span{padding:5px 7px;border:1px solid rgba(255,255,255,.075);border-radius:6px;color:#87989f;font-size:8px}
.zone-insights-classes b{color:#d8e0e2;margin-left:4px}
.zone-insights-note,.zone-insights-help{margin:10px 0 0;color:#687a83;font-size:8px;line-height:1.45}
@media(max-width:900px){
 .zone-insights{margin:8px;padding:10px}
 .zone-insights-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* READABLE HEATMAP — density in distinct tracks per cell */
.heatmap-legend{
  flex-wrap:wrap;
  max-width:min(470px,calc(100% - 28px));
  gap:7px 9px;
  padding:10px 11px!important;
  background:rgba(5,11,17,.95)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.42);
}
.heatmap-ramp{
  width:110px!important;
  height:10px!important;
  background:linear-gradient(90deg,#1e57b2,#32b8b7,#e9d25e,#ff493d)!important;
  box-shadow:0 0 15px rgba(240,141,91,.15);
}
.heatmap-legend strong{font-size:8px;color:#eff4f6}
.heatmap-legend small{width:100%;font-size:7px;line-height:1.3;color:#8ca0ad}
.heatmap-controls{
  display:none;
  padding:12px 10px;
  border:1px solid rgba(103,216,210,.10);
  border-radius:9px;
  background:rgba(10,23,27,.7);
}
.heatmap-controls.is-visible{display:grid;gap:9px}
.heatmap-controls>div{display:flex;justify-content:space-between;align-items:center;gap:8px}
.heatmap-controls span{color:#8cabb2;font:750 7px ui-monospace,monospace;letter-spacing:.09em}
.heatmap-controls strong{color:#e8cf79;font:800 10px ui-monospace,monospace}
.heatmap-controls input{width:100%;accent-color:#67d8d2;cursor:pointer}
.heatmap-controls p{margin:0;color:#667f89;font-size:7.5px;line-height:1.5}

/* FOUR-CORNER PLANAR CALIBRATION DRAFT — not certified */
body.live-mode .geometry-tools{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.live-mode .geometry-tools button{font-size:7px!important;padding:0 2px!important}
body.live-mode .geometry-homography-editor{
  margin:2px 11px 9px;
  padding:10px;
  border:1px solid rgba(103,216,210,.17);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(13,29,31,.8),rgba(16,19,25,.78));
}
body.live-mode .geometry-homography-editor[hidden]{display:none!important}
body.live-mode .geometry-homography-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body.live-mode .geometry-homography-fields input{
  min-width:0;
  width:100%;
  font-size:11px;
}
body.live-mode .geometry-homography-editor .geometry-scale-help{
  margin:10px 0;
  color:#91a5ad;
  font-size:8px;
}
body.live-mode .geometry-homography-progress{
  margin:10px 0 0;
  color:#e8cf79;
  font:700 9px ui-monospace,monospace;
}
body.live-mode #geometrySaveHomography{width:100%}

/* DOMO V2 — calibrated-state honest evidence cockpit */
[data-view-panel="domo"]{isolation:isolate}
#domoCanvas{
  position:absolute;inset:0;width:100%;height:100%;
  background:#03080d;cursor:grab;touch-action:none;
}
#domoCanvas:active{cursor:grabbing}
.domo-intel-header{
  position:absolute;z-index:8;
  top:20px;left:20px;
  width:min(260px,calc(100% - 36px));
  padding:16px;
  border:1px solid rgba(130,206,213,.14);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(7,16,23,.91),rgba(7,14,20,.70));
  box-shadow:0 15px 45px rgba(0,0,0,.30);
  backdrop-filter:blur(18px) saturate(1.2);
  pointer-events:none;
}
.domo-intel-header>.kicker{color:#6c9fa7;font-size:8px;letter-spacing:.13em}
.domo-intel-header>strong{display:block;margin-top:8px;color:#f0f7f8;font-size:17px;line-height:1.05;letter-spacing:-.03em}
.domo-intel-header>strong em{
  font-style:normal;color:#67d8d2;font:800 11px ui-monospace,monospace
}
#domoCalibrationBadge{
  display:inline-block;margin-top:10px;padding:5px 7px;
  border:1px solid rgba(232,207,121,.18);border-radius:6px;
  color:#e8cf79;background:rgba(232,207,121,.055);
  font:750 7px ui-monospace,monospace;letter-spacing:.06em;
}
.domo-intel-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}
.domo-intel-metrics>div{display:grid;gap:5px;border-top:1px solid rgba(255,255,255,.08);padding-top:9px}
.domo-intel-metrics small{color:#68808d;font:750 7px ui-monospace,monospace}
.domo-intel-metrics b{color:#eaf6f5;font:800 17px ui-monospace,monospace}
.domo-live-status{
  position:absolute;z-index:7;top:20px;right:20px;
  max-width:45%;
  text-align:right;
  color:#83a9af;
  font:700 8px/1.5 ui-monospace,monospace;
  text-shadow:0 1px 5px #000;
  pointer-events:none;
}
.domo-controls{
  position:absolute;z-index:9;
  left:50%;transform:translateX(-50%);
  bottom:28px;
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 11px;
  width:max-content;max-width:calc(100% - 24px);
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(6,12,18,.94);
  box-shadow:0 18px 45px rgba(0,0,0,.48);
  backdrop-filter:blur(20px);
}
.domo-controls button{
  min-height:29px;padding:0 10px;border:1px solid rgba(255,255,255,.09);
  border-radius:8px;background:rgba(255,255,255,.04);
  color:#d3dfe2;cursor:pointer;font:750 8px ui-monospace,monospace;
}
.domo-controls button:hover{border-color:rgba(103,216,210,.3);color:#67d8d2}
.domo-controls label{
  display:flex;align-items:center;gap:7px;min-width:90px;
  color:#899da6;font:700 7.5px ui-monospace,monospace;
}
.domo-controls input[type=range]{width:75px;accent-color:#67d8d2;cursor:pointer}
.domo-controls .domo-toggle-label{min-width:auto;cursor:pointer}
.domo-controls .domo-toggle-label input{accent-color:#67d8d2;cursor:pointer}
@media(max-width:900px){
  .domo-intel-header{top:10px;left:10px;padding:9px 10px;width:190px}
  .domo-intel-header>strong{font-size:13px}
  .domo-intel-metrics{margin-top:8px;gap:3px}
  .domo-intel-metrics small{font-size:6px}
  .domo-intel-metrics b{font-size:11px}
  .domo-live-status{top:10px;right:8px;max-width:36%;font-size:6px}
  .domo-controls{
    bottom:12px;left:8px;right:8px;transform:none;
    padding:7px 8px;gap:6px;
    width:auto;max-width:none;border-radius:10px;
  }
  .domo-controls label{min-width:55px;flex:1;font-size:6.5px}
  .domo-controls input[type=range]{width:100%;min-width:40px}
  .domo-controls button{min-height:26px;font-size:7px}
}

/* 2026-10-08 Visual QA: mobile is a real video workspace, not a desktop canvas scaled down. */
@media(max-width:900px){
  body[data-view="video"] .workspace,
  body[data-view="eagle"] .workspace{
    height:auto!important;
    min-height:100dvh!important;
    grid-template-rows:auto auto 22px!important;
  }
  body[data-view="video"] .stage,
  body[data-view="eagle"] .stage{
    height:auto!important;
    min-height:0!important;
  }
  body[data-view="video"] .stage-frame,
  body[data-view="eagle"] .stage-frame{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body[data-view="video"] .view[data-view-panel="video"],
  body[data-view="eagle"] .view[data-view-panel="eagle"]{
    position:relative!important;
    inset:auto!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
  }
  body[data-view="video"] .video-workbench>.video-pane{
    height:calc(56.25vw + 122px)!important;
    min-height:0!important;
    max-height:470px!important;
    flex:none!important;
    overflow:hidden!important;
    border-radius:12px;
    background:#04070b;
  }
  body[data-view="video"] .video-workbench{
    min-height:0!important;
    background:transparent!important;
  }
  body[data-view="video"] .video-pane .transport{
    bottom:8px!important;
    height:48px!important;
    width:calc(100% - 16px)!important;
    border-radius:12px;
    padding:5px 8px;
  }
  body[data-view="video"] .transport .play-btn{
    width:36px;height:36px;flex-basis:36px;
  }
  body[data-view="video"] .transport .timecode{
    font-size:10px;min-width:95px;
  }
  body[data-view="video"] .video-badge{
    top:10px;
    left:9px;
    max-width:calc(100% - 165px);
    padding:7px 8px;
    font-size:8px;
    border-radius:9px;
  }
  body[data-view="video"] .geometry-toggle,
  body[data-view="video"] .trail-toggle{
    top:9px;
    right:8px;
    height:26px;
    padding:0 8px;
    font-size:8px;
    border-radius:8px;
  }
  body[data-view="video"] .trail-toggle{top:42px}
  body[data-view="video"] .video-mobile-live{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    min-height:92px!important;
    margin:9px 0 0!important;
    padding:13px 15px!important;
    display:grid!important;
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:5px 14px!important;
    border-radius:12px!important;
    border-color:rgba(103,216,210,.19)!important;
    background:linear-gradient(110deg,rgba(8,31,34,.98),rgba(9,17,25,.96))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  }
  body[data-view="video"] .video-mobile-live-head{
    font-size:9px!important;
    letter-spacing:.11em;
  }
  body[data-view="video"] .video-mobile-live-head i{
    width:7px;height:7px;
  }
  body[data-view="video"] .video-mobile-live-head em{font-size:8px!important}
  body[data-view="video"] .video-mobile-live-value{
    font:800 36px/1 ui-monospace,monospace!important;
  }
  body[data-view="video"] .video-mobile-live-move{
    font-size:11px!important;
    line-height:1.25!important;
    color:#c7d7d7!important;
  }
  body[data-view="video"] .video-mobile-live-link{
    font-size:10px!important;
    color:#8de2dc!important;
  }
  body[data-view="video"] .mobile-aforo-bar{
    display:none!important;
  }
  body.mobile-report-open .video-workbench>.report-pane{
    height:min(78dvh,660px)!important;
    max-height:78dvh!important;
    min-height:0!important;
    border-color:rgba(255,255,255,.12)!important;
    border-radius:18px!important;
  }
  body.mobile-report-open .report-head{
    min-height:60px;
    padding:12px 14px;
  }
  body.mobile-report-open .report-head h2{
    font-size:15px;
  }
  body.mobile-report-open .sheet-tabs button{
    min-height:40px;
    font-size:10px;
  }
  body.mobile-report-open .mini-sheet th,
  body.mobile-report-open .mini-sheet td{
    font-size:10px!important;
    padding:0 10px!important;
    height:36px!important;
  }
  body.mobile-report-open .sheet-kpis span{font-size:9px}
  body.mobile-report-open .sheet-kpis strong{font-size:17px}
  body.mobile-report-open .report-foot{font-size:9px}
  body[data-view="eagle"] .trajectory-view{
    padding:0!important;
    min-height:0!important;
    background:#050a10!important;
  }
  body[data-view="eagle"] .trajectory-head{
    top:13px;
    left:12px;
    right:12px;
    min-height:60px;
    align-items:flex-start;
  }
  body[data-view="eagle"] .trajectory-head .kicker{font-size:8px}
  body[data-view="eagle"] .trajectory-head strong{font-size:14px}
  body[data-view="eagle"] .trajectory-head-meta{
    gap:4px;
    margin-top:21px;
  }
  body[data-view="eagle"] .trajectory-tool{
    height:33px;
    padding:0 10px;
    font-size:9px;
  }
  body[data-view="eagle"] #eagleCanvas{
    position:absolute!important;
    top:79px!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    height:280px!important;
    background:radial-gradient(circle at center,#0a1723,#050a11 73%)!important;
  }
  body[data-view="eagle"] .trajectory-panel{
    position:relative!important;
    inset:auto!important;
    width:calc(100% - 20px)!important;
    max-height:none!important;
    margin:374px 10px 0!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-radius:13px!important;
    background:#0c121a!important;
    box-shadow:none!important;
  }
  body[data-view="eagle"] .trajectory-panel .traj-section{
    min-width:0;
    padding:12px!important;
    border-right:1px solid rgba(255,255,255,.045)!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
  }
  body[data-view="eagle"] .trajectory-panel .traj-section:nth-child(n+4){
    display:block!important;
  }
  body[data-view="eagle"] .trajectory-panel .gate-authority-section,
  body[data-view="eagle"] .trajectory-panel .traj-section:has(.zone-analysis-card),
  body[data-view="eagle"] .heatmap-controls{
    grid-column:1/-1;
  }
  body[data-view="eagle"] .heatmap-controls{margin:8px}
  body[data-view="eagle"] .trajectory-panel .traj-section-title>span,
  body[data-view="eagle"] .trajectory-panel .field-label{font-size:10px}
  body[data-view="eagle"] .trajectory-panel .traj-hint{font-size:10px}
  body[data-view="eagle"] .filter-chips button,
  body[data-view="eagle"] .gate-filter-chips button,
  body[data-view="eagle"] .zone-explorer button{
    font-size:10px!important;
    min-height:32px;
  }
  body[data-view="eagle"] .trajectory-analysis{
    position:relative!important;
    inset:auto!important;
    margin:10px!important;
    height:auto!important;
    min-height:260px!important;
    border-radius:12px!important;
    background:#0c1219!important;
  }
  body[data-view="eagle"] .trajectory-analysis-head{
    height:auto;
    min-height:64px;
    align-items:flex-start;
    flex-wrap:wrap;
    padding:12px;
  }
  body[data-view="eagle"] .trajectory-analysis-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    height:auto!important;
  }
  body[data-view="eagle"] .trajectory-mini-chart{
    display:block!important;
    padding:9px 12px;
    height:120px;
  }
  body[data-view="eagle"] #trajectoryVolumeChart{height:84px}
  body[data-view="eagle"] .pivot-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body[data-view="eagle"] .pivot-table{
    table-layout:auto;
    min-width:510px;
    font-size:10px;
  }
  body[data-view="eagle"] .pivot-table th,
  body[data-view="eagle"] .pivot-table td{height:32px}
  body[data-view="eagle"] .heatmap-legend{
    position:absolute!important;
    top:320px!important;
    bottom:auto!important;
    left:10px!important;
    right:10px!important;
    max-width:none!important;
    padding:7px 10px!important;
    z-index:12!important;
    font-size:9px!important;
  }
  body[data-view="eagle"] .heatmap-legend small{font-size:9px!important}
}

/* QA correction: mobile auto-grid stretching produced a 350px blank header.
   Use normal document flow while the video and analysis views are active. */
@media(max-width:900px){
  body[data-view="video"] .workspace,
  body[data-view="eagle"] .workspace{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
  }
  body[data-view="video"] .topbar,
  body[data-view="eagle"] .topbar{
    flex:0 0 auto!important;
  }
  body[data-view="video"] .stage,
  body[data-view="eagle"] .stage{
    flex:0 0 auto!important;
    display:block!important;
    padding:8px!important;
  }
  body[data-view="video"] .stage-frame,
  body[data-view="eagle"] .stage-frame{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
  }
  body[data-view="video"] .video-workbench{
    position:relative!important;
    inset:auto!important;
  }
  body[data-view="video"] .footline,
  body[data-view="eagle"] .footline{
    flex:0 0 26px!important;
    margin-top:4px;
  }
}

/* Mobile Eagle: prevent collapsing margin from pushing the entire chart down. */
@media(max-width:900px){
  body[data-view="eagle"] .trajectory-view{
    padding-top:374px!important;
    display:flow-root!important;
  }
  body[data-view="eagle"] .trajectory-panel{
    margin:0 10px 0!important;
  }
  body[data-view="eagle"] .trajectory-analysis{
    margin:10px!important;
  }
  body[data-view="eagle"] .trajectory-head{
    top:10px!important;
  }
  body[data-view="eagle"] .heatmap-legend{
    top:315px!important;
  }
  body[data-view="domo"] .domo-controls{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:10px!important;
    gap:8px!important;
  }
  body[data-view="domo"] .domo-controls button{
    font-size:10px!important;
    min-height:32px!important;
  }
  body[data-view="domo"] .domo-controls label{
    display:grid!important;
    min-width:0!important;
    gap:6px!important;
    font-size:10px!important;
    grid-column:span 1;
  }
  body[data-view="domo"] .domo-controls label input[type=range]{
    width:100%!important;
  }
  body[data-view="domo"] .domo-controls .domo-toggle-label{
    display:flex!important;
    align-items:center;
    justify-content:center;
  }
  body[data-view="domo"] .domo-intel-header>.kicker{
    font-size:9px!important;
  }
  body[data-view="domo"] #domoCalibrationBadge{
    font-size:8px!important;
  }
  body[data-view="domo"] .domo-intel-metrics small{
    font-size:8px!important;
  }
  body[data-view="domo"] .domo-intel-metrics b{
    font-size:14px!important;
  }
}

/* Live movement strip: visible progress without opening a 9-column workbook */
.mobile-movement-summary{display:none}
@media(max-width:900px){
  body[data-view="video"] .mobile-movement-summary{
    display:block!important;
    width:100%;
    margin:8px 0 0;
    padding:13px 14px 10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:linear-gradient(155deg,#0c1118,#0b1015);
  }
  .mobile-mov-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
  }
  .mobile-mov-head>div{display:grid;gap:5px}
  .mobile-mov-head small{
    color:#7d96a0;
    font:800 9px ui-monospace,monospace;
    letter-spacing:.085em;
  }
  .mobile-mov-head strong{
    color:#e5ecef;
    font:800 12px ui-monospace,monospace;
  }
  .mobile-mov-current{
    padding:6px 8px;
    border-radius:6px;
    border:1px solid rgba(232,207,121,.16);
    background:rgba(232,207,121,.06);
    color:#e8cf79;
    white-space:nowrap;
    font:750 10px ui-monospace,monospace;
  }
  .mobile-mov-progress{
    height:3px;margin:13px 0;
    border-radius:99px;background:rgba(255,255,255,.065);
    overflow:hidden;
  }
  .mobile-mov-progress i{
    display:block;height:100%;border-radius:inherit;
    background:linear-gradient(90deg,#2e8e96,#67d8d2);
  }
  .mobile-mov-list{display:grid;gap:5px}
  .mobile-mov-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) 82px 27px;
    align-items:center;gap:9px;min-height:27px;
    color:#bac7ce;
  }
  .mobile-mov-item>span{
    font:650 11px/1.25 ui-monospace,monospace;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .mobile-mov-item>i{
    display:block;height:6px;border-radius:99px;
    background:linear-gradient(90deg,#326e74,#67d8d2);
  }
  .mobile-mov-item>strong{
    text-align:right;
    color:#e8f1ef;font:800 12px ui-monospace,monospace;
  }
  .mobile-mov-empty{
    margin:1px 0 6px;
    color:#90a4ad;
    font-size:11px;
    line-height:1.5;
  }
  .mobile-mov-link{
    margin-top:12px;
    padding:12px 0 2px;
    width:100%;
    border:0;border-top:1px solid rgba(255,255,255,.06);
    background:transparent;
    color:#8ddbd9;
    font:750 10px ui-monospace,monospace;
    text-align:left;
    cursor:pointer;
  }
}

/* Executive-size Domo typography and controls */
@media(min-width:901px){
  .domo-intel-header{
    width:305px;
    padding:20px;
    border-color:rgba(103,216,210,.19);
    background:linear-gradient(140deg,rgba(7,17,25,.94),rgba(10,18,27,.79));
  }
  .domo-intel-header>.kicker{
    font-size:10px;
    line-height:1.4;
  }
  .domo-intel-header>strong{
    margin-top:11px;
    font-size:23px;
    line-height:1.12;
  }
  .domo-intel-header>strong em{
    font-size:13px;
  }
  #domoCalibrationBadge{
    margin-top:12px;
    padding:7px 9px;
    font-size:9px;
  }
  .domo-intel-metrics{margin-top:17px}
  .domo-intel-metrics small{
    font-size:9px;
    letter-spacing:.08em;
  }
  .domo-intel-metrics b{font-size:22px}
  .domo-live-status{
    top:24px;right:24px;
    font-size:10px;
    max-width:320px;
  }
  .domo-controls{
    bottom:25px;
    gap:14px;
    padding:12px 15px;
  }
  .domo-controls button{
    padding:0 13px;
    min-height:35px;
    font-size:10px;
  }
  .domo-controls label{font-size:10px}
  .domo-controls input[type=range]{width:90px}
}

/* FINAL MOBILE REPORT — clean product experience */
@media(max-width:900px){
  body:not(.mobile-report-open) .video-workbench>.report-pane,
  body:not(.mobile-report-open) .video-workbench.report-floating>.report-pane{
    display:none!important;
  }

  body.mobile-report-open .video-workbench>.report-pane,
  body.mobile-report-open .video-workbench.report-floating>.report-pane{
    display:block!important;
    position:fixed!important;
    z-index:140!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:8px!important;
    width:auto!important;
    height:min(78dvh,660px)!important;
    min-height:0!important;
    max-height:78dvh!important;
    margin:0!important;
    overflow:auto!important;
    resize:none!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:18px!important;
    background:#0b0d10!important;
    box-shadow:0 26px 90px rgba(0,0,0,.72)!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }

  body.mobile-report-open::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:130;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
}

/* DOMO observado: provenance remains visible without hiding the motion layer. */
.domo-evidence-note{
  position:absolute;z-index:8;left:22px;bottom:99px;
  display:flex;flex-direction:column;gap:4px;
  max-width:min(390px,46%);
  color:#86a6ae;font:650 9px/1.45 ui-monospace,monospace;
  text-shadow:0 1px 5px #000;pointer-events:none;
}
.domo-evidence-note span:first-child{color:#67d8d2;letter-spacing:.05em}
.domo-selected-track{
  position:absolute;z-index:9;right:22px;bottom:99px;
  max-width:min(360px,43%);padding:10px 12px;
  background:rgba(4,13,18,.9);border:1px solid rgba(103,216,210,.24);
  border-radius:10px;color:#e5f5f2;font:700 10px/1.5 ui-monospace,monospace;
  pointer-events:none;
}
.domo-selected-track[hidden]{display:none!important}
@media(max-width:900px){
  .domo-evidence-note{left:12px;bottom:166px;max-width:53%;font-size:7px}
  .domo-selected-track{right:12px;bottom:166px;max-width:43%;font-size:8px;padding:7px}
}
