/* ASP Drive — Daily Dashboard cockpit and Audit Risk garage lifts. */
:root{
  --drive-blue:#4682B4;      /* steel blue: accounted for / recovered */
  --drive-lavender:#9C8FC4;  /* muted lavender: caution */
  --drive-coral:#E2725B;     /* burnt coral: critical */
}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------------- Daily Dashboard ---------------- */
.drive-panel{--drive-c:var(--drive-blue);}
.drive-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:16px;}
.drive-head h2{margin:0;font:700 26px var(--font-display);letter-spacing:.01em;}
.drive-tagline{margin:0;font:500 11.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);}
.drive-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:6px;}
.drive-controls select{min-width:140px;}
.drive-panel .car-stage{min-height:0;}
.drive-panel .dash-video{z-index:3;}
.drive-panel .dash-video[hidden]{display:none;}

.cockpit{position:absolute;inset:11px;border-radius:12px;overflow:hidden;z-index:2;background:#05070a;}
.cockpit-cam{position:absolute;inset:0;transform-origin:50.8% 63%;
  transition:transform 1.5s cubic-bezier(.6,0,.25,1),filter 1.5s;}
.cockpit-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity 1.2s;}
#cockpit-night{opacity:0;}
.cockpit.night #cockpit-night{opacity:1;}
.cockpit-ambient{position:absolute;inset:0;pointer-events:none;transition:opacity 1.2s;}
.cockpit-ambient i{position:absolute;inset:0;background:var(--drive-c);transition:background .8s;
  -webkit-mask:var(--m) 0 0/100% 100% no-repeat;mask:var(--m) 0 0/100% 100% no-repeat;}
.cockpit-ambient.day{--m:url("assets/drive/ambient-day.png");}
.cockpit-ambient.night{--m:url("assets/drive/ambient-night.png");opacity:0;}
.cockpit.night .cockpit-ambient.day{opacity:0;}
.cockpit.night .cockpit-ambient.night{opacity:1;}
.cockpit-ambient .tint{mix-blend-mode:color;}
.cockpit-ambient .glow{mix-blend-mode:screen;filter:blur(5px);opacity:.55;}
.cockpit-ambient.night .glow{opacity:.75;}

.cockpit-screen{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;
  background:rgba(6,10,18,.86);border:1px solid color-mix(in srgb,var(--drive-c) 55%,transparent);border-radius:10px;
  box-shadow:0 0 22px color-mix(in srgb,var(--drive-c) 40%,transparent),inset 0 0 30px color-mix(in srgb,var(--drive-c) 14%,transparent);
  font-family:var(--font-mono);color:var(--paper);overflow:hidden;padding:0;
  transition:left 1.2s,top 1.2s,width 1.2s,height 1.2s,opacity .5s,box-shadow .8s,border-color .8s;}
.cockpit-screen.drv{left:26.4%;top:49.6%;width:14.7%;height:6.4%;flex-direction:row;justify-content:space-evenly;gap:3%;}
.cockpit-screen.ctr{left:42.4%;top:54.6%;width:16.8%;height:17.2%;cursor:pointer;text-align:center;gap:2%;}
.cockpit.night .cockpit-screen.drv{left:26%;top:49.3%;width:14.8%;}
.cockpit.night .cockpit-screen.ctr{left:42.1%;top:54.4%;width:17.2%;height:17.4%;}
.cockpit-screen.drv div{text-align:center;}
.cockpit-screen small{display:block;white-space:nowrap;font-size:clamp(6px,.62vw,10px);letter-spacing:.12em;color:var(--paper-dim);}
.cockpit-screen.drv b{font-size:clamp(7px,.82vw,12.5px);font-weight:500;}
.cockpit-screen.ctr b{font:700 clamp(14px,2.1vw,32px) var(--font-body);font-variant-numeric:tabular-nums;color:var(--drive-c);line-height:1.1;}
.cockpit-screen.ctr em{font-style:normal;font-size:clamp(6px,.62vw,10.5px);color:var(--paper-dim);}
.cockpit-screen.ctr:hover,.cockpit-screen.ctr:focus-visible{outline:none;
  box-shadow:0 0 34px var(--drive-c),inset 0 0 30px color-mix(in srgb,var(--drive-c) 20%,transparent);}
.cockpit-ring{position:absolute;left:42.4%;top:54.6%;width:16.8%;height:17.2%;border-radius:12px;
  border:2px solid var(--drive-c);pointer-events:none;animation:drive-ping 2.4s ease-out infinite;}
.cockpit.night .cockpit-ring{left:42.1%;top:54.4%;width:17.2%;height:17.4%;}
@keyframes drive-ping{0%{opacity:.8;transform:scale(1);}100%{opacity:0;transform:scale(1.25);}}
.cockpit-state{position:absolute;top:3%;left:50%;transform:translateX(-50%);padding:4px 14px;border-radius:999px;
  background:rgba(6,10,18,.72);backdrop-filter:blur(6px);border:1px solid var(--line);
  font:500 11px var(--font-mono);letter-spacing:.12em;white-space:nowrap;transition:opacity .5s;}

/* push-in: the camera moves into the center screen, then the screen becomes the interface */
.cockpit.in .cockpit-cam{transform:scale(6.2);filter:blur(1.5px) brightness(.8);}
.cockpit.in .cockpit-screen.drv,.cockpit.in .cockpit-state,.cockpit.in .cockpit-ring{opacity:0;}
.cockpit.in .cockpit-screen.ctr{opacity:0;pointer-events:none;}
.cockpit-inside{position:absolute;inset:0;padding:3% 4%;overflow:auto;border-radius:12px;
  background:radial-gradient(120% 90% at 50% 40%,color-mix(in srgb,var(--drive-c) 18%,#060a12) 0%,#04070c 70%);
  border:1px solid color-mix(in srgb,var(--drive-c) 50%,transparent);}
.cockpit.in .cockpit-inside{animation:drive-in .6s .9s both;}

/* video push-in (day): the clip covers the cockpit, then the detail opens on the lit screen */
.cockpit-pushin{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:4;background:#05070a;cursor:pointer;}
.cockpit-pushin[hidden]{display:none;}
.cockpit.vid .cockpit-cam{transform:none;filter:none;transition:none;}
.cockpit.vid .cockpit-screen.drv,.cockpit.vid .cockpit-state,.cockpit.vid .cockpit-ring{opacity:0;}
.cockpit.vid .cockpit-screen.ctr{opacity:0;pointer-events:none;}
.cockpit.vid .cockpit-inside{z-index:5;background:linear-gradient(180deg,rgba(4,7,12,.72),rgba(4,7,12,.86));
  backdrop-filter:blur(2px);}
.cockpit.vid.in .cockpit-inside{animation:drive-in .7s .1s both;}
@keyframes drive-in{from{opacity:0;}to{opacity:1;}}
.cockpit-back{position:sticky;top:0;z-index:1;}
.inside-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;
  margin:12px 0 10px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--drive-c) 40%,transparent);}
.inside-top small{font:500 11px var(--font-mono);letter-spacing:.16em;color:var(--drive-c);}
.inside-top h3{margin:2px 0 0;font:700 clamp(18px,2vw,28px) var(--font-display);}
.inside-big{font:700 clamp(22px,3vw,42px) var(--font-body);font-variant-numeric:tabular-nums;color:var(--drive-c);line-height:1;}
.inside-h4{margin:14px 0 6px;font:500 11px var(--font-mono);letter-spacing:.14em;color:var(--paper-dim);text-transform:uppercase;}
.inside-table td,.inside-table th{padding:6px 8px;}
.inside-table th.num,.inside-table td.num{text-align:right;}
.inside-table tr.open td:first-child{box-shadow:inset 3px 0 0 var(--drive-coral);}
.inside-table tr.noted td:first-child{box-shadow:inset 3px 0 0 var(--drive-blue);}
.inside-table textarea{min-height:34px;width:100%;}
.inside-table .ok{color:var(--drive-blue);}

.drive-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;}
.drive-kpi{background:var(--ink-900);border:1px solid var(--line);border-radius:10px;padding:12px 14px;}
.drive-kpi small{display:block;font:500 11px var(--font-mono);letter-spacing:.1em;color:var(--paper-dim);text-transform:uppercase;}
.drive-kpi b{display:block;margin-top:4px;font:700 24px var(--font-body);font-variant-numeric:tabular-nums;}
.drive-kpi.adj{border-top:3px solid var(--drive-c);}
.drive-kpi.adj b{color:var(--drive-c);}

/* ---------------- Garage — Audit Risk lifts ---------------- */
.garage-tablet .garage-stage{overflow:hidden;}
.lift-canvas{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:6px;display:block;
  transform-origin:var(--zx,50%) 58%;transition:transform .9s cubic-bezier(.6,0,.25,1);}
.garage-stage .lift-canvas{object-fit:contain;}
.lift-chips{position:absolute;inset:6px;pointer-events:none;z-index:2;}
/* hologram panel floating inside each cylinder */
.lift-chip.holo{position:absolute;top:2.5%;transform:translateX(-50%);width:12.6%;pointer-events:auto;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:.7% .5% .8%;border-radius:8px;overflow:hidden;color:#fff;font:inherit;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 22%,rgba(4,10,18,.62)),rgba(4,10,18,.42));
  border:1px solid color-mix(in srgb,var(--c) 80%,transparent);
  box-shadow:0 0 28px color-mix(in srgb,var(--c) 45%,transparent),inset 0 0 18px color-mix(in srgb,var(--c) 25%,transparent);
  transition:opacity .4s;animation:holo-flick 7s infinite;}
.lift-chip.holo::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px);}
.lift-chip.holo::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;pointer-events:none;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--c) 30%,transparent),transparent);animation:holo-scan 3.4s linear infinite;}
.holo-st{font:700 clamp(7px,.72vw,10.5px) var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c);text-shadow:0 0 8px var(--c);}
.holo-nm{font:600 clamp(7px,.72vw,11px) var(--font-body);line-height:1.2;text-align:center;}
.lift-chip.holo b{font:700 clamp(15px,2vw,30px) var(--font-body);font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 16px var(--c);line-height:1.15;}
.lift-chip.holo small{font:500 clamp(7px,.7vw,10.5px) var(--font-mono);letter-spacing:.08em;color:color-mix(in srgb,var(--c) 70%,#fff);text-transform:uppercase;}
.lift-chip.holo:focus-visible{outline:2px solid #fff;outline-offset:2px;}
@keyframes holo-scan{to{top:140%;}}
@keyframes holo-flick{0%,95%,100%{opacity:1;}96%{opacity:.82;}97%{opacity:1;}98%{opacity:.9;}}
.garage-tablet .garage-glide{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:6px;
  object-fit:contain;z-index:4;background:#05070a;}
.garage-glide[hidden]{display:none;}
.garage-scene-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}
#garage-scene-caption{margin-top:12px;max-width:90ch;line-height:1.6;}
.garage-stage.gliding .lift-chips,.garage-stage.gliding .overlay-trigger{opacity:0;pointer-events:none;}
.garage-stage.zoom .lift-chip{opacity:0;pointer-events:none;}
.garage-stage .overlay-trigger{z-index:3;}

.lift-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;}
.lift-kpi{text-align:left;background:var(--ink-900);border:1px solid var(--line);border-top:3px solid var(--c);
  border-radius:10px;padding:12px 14px;color:var(--paper);cursor:pointer;font:inherit;}
.lift-kpi.on{box-shadow:0 0 0 1px var(--c) inset,0 0 20px color-mix(in srgb,var(--c) 30%,transparent);}
.lift-kpi small{display:block;font:500 11px var(--font-mono);letter-spacing:.1em;color:var(--paper-dim);text-transform:uppercase;}
.lift-kpi b{display:block;margin-top:4px;font:700 24px var(--font-body);font-variant-numeric:tabular-nums;color:var(--c);}
.lift-kpi span{font-size:12.5px;color:var(--paper-dim);}
.lift-detail{margin-top:14px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--c);border-radius:10px;background:var(--ink-900);}
.lift-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:10px;}
.lift-detail-head h3{margin:0;font:700 20px var(--font-display);}
.lift-detail-head b{font:700 20px var(--font-body);font-variant-numeric:tabular-nums;color:var(--c);}
.lift-detail-head .btn{margin-left:auto;}
.lift-detail textarea{min-height:34px;width:100%;}

/* color dots: tap to move an RO between lifts; tap again to clear */
.risk-cell{display:flex;flex-direction:column;gap:6px;min-width:96px;}
.risk-dots{display:flex;gap:8px;}
.risk-dot{width:18px;height:18px;border-radius:50%;padding:0;cursor:pointer;background:transparent;
  border:2px solid var(--dot);box-shadow:0 0 0 0 var(--dot);transition:background .2s,box-shadow .2s;}
.risk-dot.on{background:var(--dot);box-shadow:0 0 10px var(--dot);}
.risk-dot:focus-visible{outline:2px solid var(--paper);outline-offset:2px;}
.risk-amount{width:96px;padding:4px 6px;font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:12px;}

@media (max-width:720px){
  .drive-kpis,.lift-kpis{grid-template-columns:1fr;}
  .drive-controls{margin-left:0;}
  .cockpit-state{font-size:8px;padding:3px 8px;}
}
@media (prefers-reduced-motion:reduce){
  .cockpit-cam,.cockpit-photo,.cockpit-ambient,.lift-canvas{transition:none;}
  .cockpit-ring{animation:none;}
  .cockpit.in .cockpit-inside{animation:none;}
}

/* holographic center screen: translucent glass, glow and fine scan lines */
.cockpit-screen.ctr{
  background:linear-gradient(180deg,color-mix(in srgb,var(--drive-c) 16%,rgba(6,12,22,.55)),rgba(4,8,16,.62));
  backdrop-filter:blur(3px) saturate(1.2);-webkit-backdrop-filter:blur(3px) saturate(1.2);
  border:1px solid color-mix(in srgb,var(--drive-c) 75%,transparent);
  box-shadow:0 0 26px color-mix(in srgb,var(--drive-c) 55%,transparent),inset 0 0 24px color-mix(in srgb,var(--drive-c) 25%,transparent);}
.cockpit-screen.ctr::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);}
.cockpit-screen.ctr::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;pointer-events:none;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--drive-c) 22%,transparent),transparent);
  animation:holo-sweep 4.5s linear infinite;}
@keyframes holo-sweep{to{transform:translateY(350%);}}
.holo-row{display:flex;justify-content:space-evenly;width:100%;}
.holo-row span{display:flex;flex-direction:column;align-items:center;}
.holo-row i{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-style:normal;font-size:clamp(7px,.78vw,12px);color:#e6f1ff;text-shadow:0 0 6px color-mix(in srgb,var(--drive-c) 70%,transparent);}
.holo-rule{width:78%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--drive-c) 80%,transparent),transparent);}
.cockpit-screen.ctr b{text-shadow:0 0 12px color-mix(in srgb,var(--drive-c) 80%,transparent);}
@media (prefers-reduced-motion:reduce){.cockpit-screen.ctr::after{animation:none;display:none;}}

/* inside screen (view only) */
.inside-strip{display:flex;gap:22px;flex-wrap:wrap;}
.inside-strip span{display:flex;flex-direction:column;align-items:flex-end;}
.inside-strip small{font:500 10.5px var(--font-mono);letter-spacing:.14em;color:var(--paper-dim);}
.inside-strip b{font:600 18px var(--font-body);font-variant-numeric:tabular-nums;color:var(--paper);}
.inside-strip .adj b{font:700 28px var(--font-body);font-variant-numeric:tabular-nums;color:var(--drive-c);}
.inside-progress{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:6px 0 4px;}
.inside-progress span{display:block;height:100%;background:var(--drive-blue);box-shadow:0 0 10px var(--drive-blue);transition:width .6s;}
.inside-count{margin:0 0 10px;font:500 11px var(--font-mono);letter-spacing:.1em;color:var(--paper-dim);text-transform:uppercase;}
.needs-note{color:var(--drive-coral);font:500 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;}
.cockpit-inside::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);}
/* quick reasons in the Claims Feed */
.reason-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.reason-chip{font:500 10.5px var(--font-body);padding:2px 7px;border-radius:999px;cursor:pointer;
  background:transparent;color:var(--paper-dim);border:1px solid var(--line);}
.reason-chip:hover,.reason-chip:focus-visible{color:var(--paper);border-color:var(--drive-blue);}

/* ---------------- The ASP Alignment ---------------- */
.align-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.align-head h2{font-size:24px;}
.align-pick{display:flex;align-items:center;gap:8px;font:500 11px var(--font-mono);letter-spacing:.1em;color:var(--paper-dim);text-transform:uppercase;}
.align-pick select{min-width:220px;}
.align-bay{position:relative;margin-top:14px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  background:#0a0f16 url("assets/garage/alignment-upgrade.png") center/cover no-repeat;}
.align-holo{position:absolute;left:19.8%;top:16%;width:18.6%;height:31%;padding:.8% .9%;border-radius:8px;overflow:hidden;
  background:linear-gradient(180deg,rgba(6,16,30,.86),rgba(6,16,30,.78));border:1px solid rgba(124,196,255,.7);
  box-shadow:0 0 30px rgba(80,170,255,.45),inset 0 0 22px rgba(80,170,255,.18);
  font:500 clamp(6px,.66vw,10px) var(--font-mono);color:#e8f1fb;animation:holo-flick 7s infinite;}
.align-holo::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);}
.align-holo::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(124,196,255,.22),transparent);animation:holo-scan 3.6s linear infinite;}
.ah-t{color:#7cc4ff;letter-spacing:.14em;font-weight:700;}
.ah-v{margin:4% 0 3%;font:700 clamp(8px,1vw,15px) var(--font-mono);letter-spacing:.08em;}
.ah-l{display:flex;justify-content:space-between;gap:6px;padding:2.2% 0;border-top:1px solid rgba(124,196,255,.15);}
.s-out,.v-out{color:#F0484E;}.v-out{text-shadow:0 0 10px rgba(240,72,78,.7);}
.s-near,.v-near{color:#F2C230;}.s-ok,.v-ok{color:#2FD08A;}.s-na,.s-none,.v-none{color:var(--paper-dim);}
.align-sheet{margin-top:16px;padding:20px 22px;border-radius:12px;border:1px solid rgba(124,196,255,.45);
  background:linear-gradient(180deg,#0a1422,#08101b);box-shadow:0 0 40px rgba(60,140,255,.15);}
.as-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid rgba(124,196,255,.25);}
.as-top h3{margin:0;font:700 18px var(--font-display);letter-spacing:.12em;color:#cfe6ff;text-transform:uppercase;}
.as-meta{display:grid;grid-template-columns:repeat(6,auto);gap:4px 16px;font:500 11.5px var(--font-mono);color:var(--paper-dim);}
.as-meta b{color:var(--paper);font-weight:600;}
.as-table{width:100%;margin-top:10px;font:500 13px var(--font-body);}
.as-table th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;}
.as-sec td{color:#7cc4ff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding-top:14px;}
.as-st{font:600 12.5px var(--font-body);background:transparent;border:1px solid currentColor;border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;}
.as-st.s-none{border-style:dashed;}
.as-note{width:100%;min-width:120px;padding:4px 6px;font:500 12px var(--font-body);}
.as-tol{display:grid;grid-template-columns:150px 1fr 260px;gap:12px;align-items:center;margin-top:14px;font:600 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;}
.as-bar{position:relative;height:8px;border-radius:4px;
  background:linear-gradient(90deg,#F0484E 0 14%,#F2C230 14% 30%,#2FD08A 30% 70%,#F2C230 70% 86%,#F0484E 86%);}
.as-bar i{position:absolute;top:-5px;width:3px;height:18px;margin-left:-1px;border-radius:2px;background:#fff;box-shadow:0 0 8px #fff;}
.as-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;font:500 12px var(--font-mono);}
.as-foot .btn:first-of-type{margin-left:auto;}
.as-disclaimer{margin:12px 0 0;color:var(--paper-dim);font-size:11.5px;}
@media (max-width:720px){
  .lift-chip.holo{top:16%;width:16%;padding:4px 3px;}
  .holo-nm,.lift-chip.holo small{display:none;}
  .align-holo{left:6%;width:52%;height:auto;top:6%;font-size:9px;}
  .as-meta{grid-template-columns:repeat(2,auto);}
  .as-tol{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .lift-chip.holo,.lift-chip.holo::after,.align-holo,.align-holo::after{animation:none;}
}
