/* ── Event Day & Staff previews (scenes used by js/periodic/acc.js) ── */

/* Shared bits */
.pv-acc-ico { width: 1.1em; height: 1.1em; flex: none; }
.pv-acc-muted { color: rgba(236, 253, 245, 0.5); font-style: normal; }
.pv-acc-ph { color: rgba(236, 253, 245, 0.42); font-style: normal; }
.pv-acc-full { display: block; text-align: center; }
.pv-acc-wide { width: 84%; }
.pv-acc-kv { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; font-size: .8em; padding: .35em 0; border-top: 1px solid rgba(236, 253, 245, 0.06); }
.pv-acc-kv > span:first-child { color: rgba(236, 253, 245, 0.55); }
.pv-acc-kv b { white-space: nowrap; }
.pv-acc-okb { display: inline-flex; align-items: center; gap: .3em; background: rgba(52, 211, 153, 0.16); color: #6ee7b7; }
.pv-acc-okb .pv-check { width: 1em; height: 1em; color: #34d399; }
.pv-acc-warnb, .pv-acc-amb { background: rgba(251, 191, 36, 0.16); color: #fcd34d; }
.pv-acc-redb { background: rgba(248, 113, 113, 0.16); color: #fca5a5; }
.pv-acc-search {
  display: flex; align-items: center; gap: .5em; padding: .5em .7em; border-radius: .5em;
  border: 1px solid rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.04); font-size: .8em;
}
.pv-acc-search .pv-acc-ico { color: rgba(236, 253, 245, 0.5); }
.pv-acc-search em { font-style: normal; white-space: nowrap; }

/* Toggle switch + checkbox */
.pv-acc-sw {
  --pv-off-bg: rgba(236, 253, 245, 0.1); --pv-off-bd: rgba(236, 253, 245, 0.16); --pv-on-bg: var(--c);
  position: relative; display: inline-block; flex: none; width: 2.2em; height: 1.25em; border-radius: 999px;
  background: var(--c); border: 1px solid var(--c);
}
.pv-acc-sw.pv-acc-swoff { background: var(--pv-off-bg); border-color: var(--pv-off-bd); }
.pv-acc-sw i { position: absolute; top: .14em; width: .9em; height: .9em; border-radius: 50%; --from: none; }
.pv-acc-kn0 { left: .16em; background: rgba(236, 253, 245, 0.55); }
.pv-acc-kn1 { right: .16em; background: #fff; }
.pv-acc-cb { display: inline-grid; place-items: center; flex: none; width: 1.25em; height: 1.25em; border-radius: .3em; border: 1.5px solid var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.pv-acc-cb .pv-check { width: .95em; height: .95em; }
.pv-acc-cboff { border-color: rgba(236, 253, 245, 0.3); background: transparent; }

/* Phone (staff app) */
.pv-acc-phone {
  position: relative; height: 92%; aspect-ratio: 9 / 16; padding: 2.1em .75em .55em; flex: none;
  border-radius: 2em; border: .35em solid #26302c; background: #0f1513;
  display: flex; flex-direction: column; box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5);
}
.pv-acc-notch { position: absolute; top: .6em; left: 50%; width: 30%; height: .9em; margin-left: -15%; border-radius: .6em; background: #26302c; }
.pv-acc-scr { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .6em; }
.pv-acc-ph-h { font-size: 1.05em; }
.pv-acc-mlbl { font-size: .72em; font-weight: 600; color: rgba(236, 253, 245, 0.6); margin-top: .2em; }
.pv-acc-tabbar {
  display: grid; grid-template-columns: repeat(4, 1fr); margin: auto -.75em 0; padding: .55em .3em .1em;
  border-top: 1px solid rgba(236, 253, 245, 0.08);
}
.pv-acc-tabbar span { display: flex; flex-direction: column; align-items: center; gap: .3em; font-size: .66em; color: rgba(236, 253, 245, 0.45); }
.pv-acc-tabbar i { width: 1.5em; height: 1.5em; border-radius: .45em; background: rgba(236, 253, 245, 0.14); }
.pv-acc-tabbar .on { color: var(--c); font-weight: 600; }
.pv-acc-tabbar .on i { background: var(--c); }

/* Staff mobile app */
.pv-acc-ma { gap: 1.8em; }
.pv-acc-ma .pv-acc-phone { height: 88%; }
.pv-acc-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: .45em; }
.pv-acc-kpis > div { padding: .5em .6em; border-radius: .5em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.07); }
.pv-acc-kpis span { display: block; font-size: .7em; color: rgba(236, 253, 245, 0.55); }
.pv-acc-kpis b { display: block; font-size: 1.25em; color: var(--c); }
.pv-acc-kpis .pv-acc-kw { grid-column: 1 / -1; }
.pv-acc-ma .pv-acc-search { font-size: .7em; padding: .55em .6em; }
.pv-acc-hit { display: flex; flex-direction: column; gap: .15em; padding: .55em .65em; border-radius: .5em; border: 1px solid color-mix(in srgb, var(--c) 45%, transparent); background: color-mix(in srgb, var(--c) 10%, transparent); }
.pv-acc-hit b { font-size: .85em; }
.pv-acc-hit span { font-size: .7em; color: rgba(236, 253, 245, 0.6); }
.pv-acc-shift { display: flex; gap: .65em; align-items: flex-start; padding: .6em; border-radius: .55em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.07); }
.pv-acc-shift > div { display: flex; flex-direction: column; gap: .1em; min-width: 0; }
.pv-acc-shift > div b { font-size: .85em; }
.pv-acc-shift > div span { font-size: .7em; color: rgba(236, 253, 245, 0.6); white-space: nowrap; }
.pv-acc-date { display: flex; flex-direction: column; align-items: center; flex: none; width: 2.6em; padding: .25em 0; border-radius: .4em; background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c); font-size: .7em; font-weight: 600; }
.pv-acc-date b { font-size: 1.5em; line-height: 1.1; }
.pv-acc-ma .pv-btn { margin-top: .2em; }
.pv-acc-lock { display: flex; flex-direction: column; gap: .8em; width: 15.5em; padding: 1em; border-radius: .8em; background: #121a17; border: 1px solid rgba(236, 253, 245, 0.1); box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); }
.pv-acc-lockrow { display: flex; align-items: center; gap: .7em; padding: .7em; border-radius: .55em; background: #18221e; }
.pv-acc-lockrow b { flex: 1; font-size: .9em; }
.pv-acc-face { display: grid; place-items: center; width: 2.2em; height: 2.2em; border-radius: .5em; background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c); }
.pv-acc-face .pv-acc-ico { width: 1.4em; height: 1.4em; }
.pv-acc-lock .pv-btn { text-align: center; color: #fca5a5; }

/* Scan to check in */
.pv-acc-qs { gap: 3em; }
.pv-acc-cam {
  position: relative; flex: 1; min-height: 0; border-radius: .8em; overflow: hidden;
  background: radial-gradient(circle at 50% 45%, #2a3430, #0b0f0e 75%); display: grid; place-items: center;
}
.pv-acc-br { position: absolute; inset: 14% 14% 26%; --b: color-mix(in srgb, var(--c) 85%, #fff);
  background:
    linear-gradient(var(--b), var(--b)) 0 0 / 1.6em .2em, linear-gradient(var(--b), var(--b)) 0 0 / .2em 1.6em,
    linear-gradient(var(--b), var(--b)) 100% 0 / 1.6em .2em, linear-gradient(var(--b), var(--b)) 100% 0 / .2em 1.6em,
    linear-gradient(var(--b), var(--b)) 0 100% / 1.6em .2em, linear-gradient(var(--b), var(--b)) 0 100% / .2em 1.6em,
    linear-gradient(var(--b), var(--b)) 100% 100% / 1.6em .2em, linear-gradient(var(--b), var(--b)) 100% 100% / .2em 1.6em;
  background-repeat: no-repeat;
}
.pv-acc-tk { position: absolute; top: 20%; left: 50%; margin-left: -3.1em; padding: .45em; border-radius: .4em; background: #f6faf8; animation: pvAccTk var(--pv-t) infinite; }
.pv-acc-tk .pv-qr { width: 5.3em; height: 5.3em; color: #111; }
@keyframes pvAccTk {
  0%, 2% { opacity: 0; transform: translateX(-3em) rotate(-8deg); }
  8%, 33% { opacity: 1; transform: none; }
  38%, 41% { opacity: 0; transform: translateX(3em) rotate(6deg); }
  42% { opacity: 0; transform: translateX(-3em) rotate(-8deg); }
  48%, 91% { opacity: 1; transform: none; }
  96%, 100% { opacity: 0; transform: none; }
}
.pv-acc-scanln { position: absolute; left: 16%; right: 16%; top: 22%; height: .2em; border-radius: .2em; background: var(--c); box-shadow: 0 0 .8em var(--c); opacity: 0; animation: pvAccScan var(--pv-t) infinite; }
@keyframes pvAccScan {
  0%, 5% { opacity: 0; top: 22%; } 7% { opacity: 1; top: 22%; } 12% { top: 62%; } 17% { opacity: 1; top: 22%; } 19%, 44% { opacity: 0; top: 22%; }
  46% { opacity: 1; top: 22%; } 50% { opacity: 1; top: 62%; } 52%, 100% { opacity: 0; top: 62%; }
}
.pv-acc-res { position: absolute; left: .5em; right: .5em; bottom: .5em; display: grid; }
.pv-acc-res > span { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; gap: .4em; padding: .55em; border-radius: .5em; font-weight: 700; font-size: .85em; color: #fff; }
.pv-acc-ok { background: #059669; }
.pv-acc-ok .pv-check { color: #fff; }
.pv-acc-warn { background: #d97706; }
.pv-acc-ctl { display: grid; grid-template-columns: auto 1fr 1fr; gap: .4em; }
.pv-acc-ctl > span { display: flex; align-items: center; justify-content: center; gap: .3em; padding: .5em .4em; border-radius: .5em; background: rgba(236, 253, 245, 0.07); font-size: .7em; white-space: nowrap; }
.pv-acc-ctl .pv-acc-ico { width: 1.15em; height: 1.15em; }
.pv-acc-torch { color: #fde68a; background: rgba(253, 230, 138, 0.14) !important; }
.pv-acc-qside { display: flex; flex-direction: column; gap: 1em; width: 19em; }
.pv-acc-last, .pv-acc-snd { padding: .9em 1em; display: flex; flex-direction: column; gap: .3em; }
.pv-acc-last .pv-lbl, .pv-acc-snd .pv-lbl { margin-bottom: .3em; }
.pv-acc-last .pv-acc-kv { font-size: .9em; }
.pv-acc-dash { color: rgba(236, 253, 245, 0.35); }
.pv-acc-snd .pv-seg { margin-bottom: .3em; align-self: flex-start; }
.pv-acc-say { display: flex; align-items: center; gap: .6em; font-size: .9em; margin-bottom: .5em; }
.pv-acc-say em { font-style: normal; }
.pv-acc-say .pv-i5 { color: var(--c); font-weight: 600; }
.pv-acc-spk { display: grid; place-items: center; width: 2em; height: 2em; border-radius: 50%; background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--c); }
.pv-acc-spk .pv-acc-ico { width: 1.2em; height: 1.2em; }
.pv-acc-wave { animation: pvAccWave var(--pv-t) infinite; }
@keyframes pvAccWave { 0%, 50% { opacity: .2; } 53%, 56%, 59% { opacity: 1; } 54.5%, 57.5% { opacity: .35; } 62%, 100% { opacity: .2; } }
.pv-acc-snd .pv-btn { align-self: flex-start; }

/* Web check-in */
.pv-acc-wchead { display: grid; grid-template-columns: auto auto 1fr; gap: 1.6em; align-items: end; margin-bottom: .8em; }
.pv-acc-cnt b { display: block; font-size: 1.5em; color: var(--c); line-height: 1.15; }
.pv-acc-cnt .pv-swap { display: grid; }
.pv-acc-prog .pv-lbl { margin-bottom: .45em; }
.pv-acc-bar { height: .7em; border-radius: .4em; background: rgba(236, 253, 245, 0.07); overflow: hidden; }
.pv-acc-bar i { display: block; height: 100%; width: 69%; border-radius: inherit; background: linear-gradient(90deg, color-mix(in srgb, var(--c) 60%, #0a0a0a), var(--c)); transform-origin: left; animation: pvAccBar var(--pv-t) infinite; }
@keyframes pvAccBar { 0%, 48% { transform: scaleX(.99); } 52%, 100% { transform: scaleX(1); } }
.pv-acc-locs { display: flex; gap: .45em; margin-bottom: .9em; }
.pv-acc-locs .pv-chip { border-color: rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.04); color: rgba(236, 253, 245, 0.7); }
.pv-acc-locs .pv-acc-chon { border-color: var(--c); background: color-mix(in srgb, var(--c) 18%, transparent); color: #fff; font-weight: 600; }
.pv-acc-wc .pv-split2 { grid-template-columns: 1fr 32%; }
.pv-acc-wsearch { margin-bottom: .6em; }
.pv-acc-guest { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .6em .75em; margin-top: .45em; border-radius: .55em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.07); }
.pv-acc-guest > div { display: flex; flex-direction: column; gap: .12em; }
.pv-acc-guest > div b { font-size: .9em; }
.pv-acc-guest > div > span { font-size: .72em; color: rgba(236, 253, 245, 0.55); }
.pv-acc-guest > div > .pv-acc-by { color: #6ee7b7; }
.pv-acc-hold { justify-items: end; }
.pv-acc-holdbtn { position: relative; overflow: hidden; display: inline-block; padding: .5em .9em; border-radius: .5em; background: color-mix(in srgb, var(--c) 22%, #121a17); border: 1px solid var(--c); font-style: normal; font-size: .8em; font-weight: 600; white-space: nowrap; }
.pv-acc-holdbtn span { position: relative; }
.pv-acc-holdfill { position: absolute; inset: 0; background: var(--c); opacity: .55; transform-origin: left; transform: scaleX(1); animation: pvAccHold var(--pv-t) infinite; }
@keyframes pvAccHold { 0%, 25% { transform: scaleX(0); } 47%, 100% { transform: scaleX(1); } }
.pv-acc-guest .pv-badge { font-size: .75em; }
.pv-acc-loccard { display: flex; flex-direction: column; gap: .15em; padding: .8em .9em; }
.pv-acc-loccard > b { margin-bottom: .25em; }
.pv-acc-loccard .pv-btn { margin-top: .5em; }
.pv-acc-menu { display: flex; flex-direction: column; margin-top: .35em; padding: .3em; border-radius: .5em; background: #0f1513; border: 1px solid rgba(236, 253, 245, 0.12); font-size: .78em; }
.pv-acc-menu span { padding: .35em .55em; border-radius: .35em; }
.pv-acc-menu span:first-child { background: color-mix(in srgb, var(--c) 16%, transparent); }
.pv-acc-menu span:last-child { color: #fca5a5; }

/* Offline check-in */
.pv-acc-of { gap: 2.2em; }
.pv-acc-sig { display: flex; flex-direction: column; align-items: center; gap: .7em; width: 12em; }
.pv-acc-sigico { display: grid; place-items: center; justify-items: center; }
.pv-acc-sigico > span { display: grid; place-items: center; width: 5.5em; height: 5.5em; border-radius: 50%; }
.pv-acc-sigico .pv-acc-ico { width: 2.8em; height: 2.8em; }
.pv-acc-on { background: rgba(52, 211, 153, 0.12); color: #34d399; box-shadow: 0 0 2em rgba(52, 211, 153, 0.2); }
.pv-acc-offi { background: rgba(251, 191, 36, 0.12); color: #fbbf24; box-shadow: 0 0 2em rgba(251, 191, 36, 0.2); }
.pv-acc-sigtx { justify-items: center; font-size: 1.1em; }
.pv-acc-queued { justify-items: center; text-align: center; font-size: .75em; color: rgba(236, 253, 245, 0.6); }
.pv-acc-queued em { font-style: normal; }
.pv-acc-ofwin { width: 62%; font-size: 1.05em; }
.pv-acc-ban { display: grid; justify-items: stretch; width: 100%; margin-bottom: .8em; }
.pv-acc-bn { display: flex; align-items: center; gap: .55em; padding: .6em .75em; border-radius: .55em; font-size: .78em; line-height: 1.4; }
.pv-acc-bn span { flex: 1; }
.pv-acc-bn .pv-btn { align-self: center; font-size: .9em; padding: .35em .8em; }
.pv-acc-bn-ok { background: rgba(52, 211, 153, 0.1); border: 1px solid rgba(52, 211, 153, 0.3); color: #a7f3d0; }
.pv-acc-bn-ok .pv-check { color: #34d399; }
.pv-acc-bn-warn { background: rgba(251, 191, 36, 0.1); border: 1px solid rgba(251, 191, 36, 0.32); color: #fde68a; }
.pv-acc-bn-info { background: color-mix(in srgb, var(--c) 10%, transparent); border: 1px solid color-mix(in srgb, var(--c) 35%, transparent); color: #f5d0fe; align-items: center; }
.pv-acc-spin { animation: pvAccSpin 1s linear infinite; }
@keyframes pvAccSpin { to { transform: rotate(360deg); } }
.pv-acc-olist { display: flex; flex-direction: column; }
.pv-acc-orow { display: grid; grid-template-columns: 7em 1fr auto; align-items: center; gap: .8em; padding: .5em .2em; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .85em; }
.pv-acc-orow .pv-swap { justify-items: end; }
.pv-acc-orow .pv-badge { display: inline-flex; align-items: center; gap: .3em; font-size: .8em; }
.pv-acc-qb { background: color-mix(in srgb, var(--c) 16%, transparent); color: #f5d0fe; }
.pv-acc-qb .pv-acc-ico { width: 1em; height: 1em; }

/* Event lead view (tablet) */
.pv-acc-tablet { width: 76%; padding: 1em 1.2em 1.2em; border-radius: 1.4em; border: .5em solid #26302c; background: #0f1513; box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); }
.pv-acc-tbhead { display: flex; align-items: baseline; gap: .8em; margin-bottom: .9em; }
.pv-acc-tbhead b { font-size: 1.1em; }
.pv-acc-tbhead span { font-size: .8em; }
.pv-acc-elgrid { display: grid; grid-template-columns: 34% 1fr; gap: 1.1em; align-items: start; }
.pv-acc-lead { display: flex; flex-direction: column; gap: .8em; padding: 1em; border-radius: .7em; border: 1px solid color-mix(in srgb, var(--c) 50%, transparent); background: color-mix(in srgb, var(--c) 10%, #121a17); box-shadow: 0 0 1.6em color-mix(in srgb, var(--c) 18%, transparent); }
.pv-acc-lead .pv-lbl { color: var(--c); }
.pv-acc-avrow { display: flex; align-items: center; gap: .7em; }
.pv-acc-avrow b { font-size: 1.05em; }
.pv-acc-av { display: grid; place-items: center; width: 2.6em; height: 2.6em; border-radius: 50%; background: var(--c); color: #0a0a0a; font-weight: 700; font-size: .9em; flex: none; }
.pv-acc-call { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .6em .8em; border-radius: .55em; background: var(--c); color: #0a0a0a; font-weight: 700; font-size: .9em; white-space: nowrap; }
.pv-acc-ring { position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--c); opacity: 0; animation: pvAccRing var(--pv-t) infinite; }
@keyframes pvAccRing { 0%, 18% { opacity: 0; transform: scale(1); } 19% { opacity: .9; transform: scale(1); } 28%, 100% { opacity: 0; transform: scale(1.25, 1.6); } }
.pv-acc-sched { padding: .8em .9em; }
.pv-acc-schh { display: flex; align-items: center; justify-content: space-between; margin-bottom: .45em; }
.pv-acc-schh .pv-swap { justify-items: end; }
.pv-acc-schh em { font-size: .75em; }
.pv-acc-srow { display: grid; grid-template-columns: 5.8em 7.2em 1fr auto; align-items: center; gap: .6em; padding: .45em 0; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .82em; }
.pv-acc-srow .pv-badge { justify-self: start; font-size: .78em; }
.pv-acc-srow > span { color: rgba(236, 253, 245, 0.6); white-space: nowrap; }
.pv-acc-srow .pv-acc-tel { display: inline-flex; align-items: center; gap: .35em; color: var(--c); }
.pv-acc-tel .pv-acc-ico { width: 1em; height: 1em; }

/* Staff scheduling */
.pv-acc-nb { display: inline-grid; place-items: center; min-width: 1.4em; height: 1.4em; margin-left: .3em; border-radius: 999px; background: #f59e0b; color: #0a0a0a; font-style: normal; font-weight: 700; font-size: .85em; }
.pv-acc-ss .pv-tabs { margin-bottom: .7em; }
.pv-acc-evbar { display: flex; align-items: center; gap: .7em; margin-bottom: .7em; }
.pv-acc-evbar > div:first-child { margin-right: auto; }
.pv-acc-evbar .pv-seg { margin: 0; }
.pv-acc-evbar .pv-btn { font-size: .78em; }
.pv-acc-pool { display: flex; align-items: center; flex-wrap: wrap; gap: .45em; padding: .55em .7em; margin-bottom: .7em; border-radius: .55em; background: rgba(236, 253, 245, 0.03); border: 1px dashed rgba(236, 253, 245, 0.12); }
.pv-acc-pool .pv-lbl { margin-right: .4em; }
.pv-acc-pchip { padding: .3em .7em; border-radius: 999px; background: #26302c; font-size: .78em; }
.pv-acc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6em; }
.pv-acc-gcol { display: flex; flex-direction: column; gap: .4em; padding: .55em; border-radius: .55em; background: rgba(236, 253, 245, 0.03); }
.pv-acc-gcol .pv-lbl { margin-bottom: .1em; }
.pv-acc-slot { display: grid; padding: .4em .6em; border-radius: .45em; border: 1px dashed rgba(236, 253, 245, 0.2); font-size: .8em; }
.pv-acc-slot .pv-swap { display: grid; justify-items: stretch; }
.pv-acc-filled { border: 1px solid color-mix(in srgb, var(--c) 50%, transparent); background: color-mix(in srgb, var(--c) 14%, transparent); font-weight: 600; }
.pv-acc-un { color: rgba(236, 253, 245, 0.42); font-style: normal; }
.pv-acc-drop { --from: translateY(-1.2em) scale(1.08); margin: -.4em -.6em; padding: .4em .6em; border-radius: .45em; background: color-mix(in srgb, var(--c) 20%, #121a17); color: #fff; font-style: normal; font-weight: 600; box-shadow: inset 0 0 0 1px var(--c); }
.pv-acc-pay { display: flex; justify-content: flex-end; align-items: baseline; gap: .8em; margin-top: .7em; font-size: .85em; color: rgba(236, 253, 245, 0.6); }
.pv-acc-pay b { font-size: 1.2em; color: var(--c); }

/* Schedule roles */
.pv-acc-rogrid { display: grid; grid-template-columns: 1fr 40%; gap: 1.2em; align-items: start; }
.pv-acc-rohead { display: flex; align-items: center; gap: .8em; margin-bottom: .6em; }
.pv-acc-rohead .pv-sub { margin-right: auto; }
.pv-acc-rohead .pv-btn { font-size: .78em; }
.pv-acc-rth, .pv-acc-rrow { display: grid; grid-template-columns: 1.1em 1fr 5.6em 6.6em 2.2em; align-items: center; gap: .6em; }
.pv-acc-rth { margin-left: 2.47em; padding: 0 .6em .35em; font-size: .85em; }
.pv-acc-rth span { font-size: .72em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(236, 253, 245, 0.45); white-space: nowrap; }
.pv-acc-rlist { display: grid; grid-template-columns: 1.4em 1fr; gap: .4em; }
.pv-acc-pnum { display: flex; flex-direction: column; gap: .4em; }
.pv-acc-pnum b { display: grid; place-items: center; height: 2.3em; font-size: .85em; color: var(--c); }
.pv-acc-rlist { grid-template-columns: 1.7em 1fr; }
.pv-acc-rrows { display: flex; flex-direction: column; gap: .4em; }
.pv-acc-rrow { height: 2.3em; padding: 0 .6em; border-radius: .5em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.07); font-size: .85em; }
.pv-acc-rrow b { display: flex; align-items: center; gap: .5em; white-space: nowrap; }
.pv-acc-rrow b em { font-style: normal; font-size: .72em; padding: .1em .45em; border-radius: .3em; background: rgba(236, 253, 245, 0.08); color: rgba(236, 253, 245, 0.7); }
.pv-acc-rrow > span { font-size: .9em; color: rgba(236, 253, 245, 0.7); }
.pv-acc-rrow .pv-acc-sw { font-size: .85em; }
.pv-acc-grip { color: rgba(236, 253, 245, 0.35); }
.pv-acc-mvup { position: relative; z-index: 1; animation: pvAccUp var(--pv-t) infinite; }
.pv-acc-mvdn { animation: pvAccDn var(--pv-t) infinite; }
@keyframes pvAccUp {
  0%, 10% { transform: translateY(calc(2 * 2.77em)); box-shadow: none; border-color: rgba(236, 253, 245, 0.07); }
  13% { transform: translateY(calc(2 * 2.77em)) scale(1.03); box-shadow: 0 .8em 1.6em rgba(0, 0, 0, .5); border-color: var(--c); }
  26% { transform: scale(1.03); box-shadow: 0 .8em 1.6em rgba(0, 0, 0, .5); border-color: var(--c); }
  30%, 100% { transform: none; box-shadow: none; border-color: color-mix(in srgb, var(--c) 45%, transparent); }
}
@keyframes pvAccDn { 0%, 13% { transform: translateY(-2.77em); } 26%, 100% { transform: none; } }
.pv-acc-ro .pv-acc-mvup { border-color: color-mix(in srgb, var(--c) 45%, transparent); }
.pv-acc-inl { margin: .8em 0 .4em 2.92em; }
.pv-acc-inact { margin-left: 2.47em; opacity: .55; }
.pv-acc-rules { display: flex; flex-direction: column; gap: .45em; padding: .9em; }
.pv-acc-rules > b { font-size: .95em; }
.pv-acc-rule { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5em; padding: .45em .55em; border-radius: .45em; background: rgba(236, 253, 245, 0.04); font-size: .78em; }
.pv-acc-rule span:last-child { text-align: right; }
.pv-acc-rule em { font-style: normal; font-weight: 600; padding: .15em .5em; border-radius: 999px; background: color-mix(in srgb, var(--c) 20%, transparent); color: var(--c); white-space: nowrap; }
.pv-acc-clash { display: flex; align-items: center; gap: .6em; margin-top: .3em; padding: .6em; border-radius: .5em; border: 1px solid rgba(248, 113, 113, 0.45); background: rgba(248, 113, 113, 0.08); }
.pv-acc-clash > div { display: flex; flex-direction: column; flex: 1; }
.pv-acc-clash > div b { font-size: .82em; }
.pv-acc-clash > div span { font-size: .72em; color: rgba(236, 253, 245, 0.6); text-decoration: line-through; text-decoration-color: #f87171; }
.pv-acc-xm { display: grid; place-items: center; width: 1.8em; height: 1.8em; border-radius: 50%; background: #dc2626; color: #fff; --from: scale(0); }
.pv-acc-xm .pv-acc-ico { width: .95em; height: .95em; }

/* Shift requests */
.pv-acc-rq { gap: 1.6em; }
.pv-acc-rqwin { width: 62%; }
.pv-acc-rqgrid { display: grid; grid-template-columns: 40% 1fr; gap: 1.2em; align-items: start; }
.pv-acc-calh { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5em; font-size: .9em; }
.pv-acc-calh i { font-style: normal; color: rgba(236, 253, 245, 0.5); }
.pv-acc-dow, .pv-acc-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: .2em; text-align: center; }
.pv-acc-dow span { font-size: .68em; font-weight: 600; color: rgba(236, 253, 245, 0.4); padding-bottom: .3em; }
.pv-acc-days { grid-template-columns: repeat(7, 1fr); }
.pv-acc-days span { position: relative; display: grid; place-items: center; height: 2.1em; border-radius: .4em; font-size: .72em; color: rgba(236, 253, 245, 0.6); border: 1px solid transparent; }
.pv-acc-days span:first-child { grid-column-start: 1; }
.pv-acc-days i { position: absolute; bottom: .2em; width: .35em; height: .35em; border-radius: 50%; background: var(--c); }
.pv-acc-days .pv-acc-dop { color: #fff; }
.pv-acc-dsel { --pv-off-fg: #fff; background: var(--pv-on-bg); border-color: var(--c) !important; color: #fff !important; font-weight: 700; }
.pv-acc-rqlist { display: flex; flex-direction: column; gap: .5em; }
.pv-acc-rqlist .pv-lbl { margin-top: .2em; }
.pv-acc-oshift { display: flex; align-items: center; justify-content: space-between; gap: .6em; padding: .5em .65em; border-radius: .5em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.07); }
.pv-acc-oshift > div { display: flex; flex-direction: column; }
.pv-acc-oshift > div b { font-size: .85em; }
.pv-acc-oshift > div span { font-size: .7em; color: rgba(236, 253, 245, 0.55); white-space: nowrap; }
.pv-acc-rqst { justify-items: end; align-items: center; }
.pv-acc-rqst em { font-style: normal; }
.pv-acc-rqst .pv-btn { font-size: .75em; padding: .4em .8em; }
.pv-acc-rqst .pv-btn span { display: inline-block; }
.pv-acc-pend { display: flex; flex-direction: column; align-items: flex-end; gap: .2em; }
.pv-acc-pend i { font-style: normal; }
.pv-acc-pend .pv-badge { font-size: .68em; }
.pv-acc-wd { font-size: .68em; color: rgba(236, 253, 245, 0.55); text-decoration: underline; }
.pv-acc-rqst .pv-acc-okb { font-size: .7em; }
.pv-acc-pref { display: flex; flex-direction: column; gap: .3em; padding: .55em .65em; border-radius: .5em; border: 1px dashed color-mix(in srgb, var(--c) 40%, transparent); }
.pv-acc-pref .pv-lbl { margin: 0 0 .1em; }
.pv-acc-pref div { display: flex; align-items: center; gap: .6em; font-size: .8em; }
.pv-acc-pref .pv-badge { font-size: .8em; }
.pv-acc-rqmail { width: 22%; align-self: center; }
.pv-acc-rqmail .pv-mail-body { display: flex; flex-direction: column; align-items: flex-start; gap: .4em; }
.pv-acc-rqmail .pv-mail-body > b { font-size: 1em; }
.pv-acc-rqmail .pv-acc-okb { background: rgba(5, 150, 105, 0.14); color: #047857; }
.pv-acc-rqmail .pv-acc-okb .pv-check { color: #059669; }
.pv-acc-mline { font-size: .75em; color: #3b4743; }
.pv-acc-rqmail .pv-ln { width: 100%; }

/* Shift releases */
.pv-acc-sr { gap: 1.6em; align-items: center; }
.pv-acc-srwin { width: 46%; }
.pv-acc-srwin .pv-lbl { margin-bottom: .45em; }
.pv-acc-evs { display: flex; flex-direction: column; gap: .35em; margin-bottom: .8em; }
.pv-acc-evr { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .6em; padding: .4em .6em; border-radius: .45em; background: #18221e; font-size: .8em; }
.pv-acc-evr span { color: rgba(236, 253, 245, 0.55); }
.pv-acc-evr em { font-style: normal; font-size: .9em; color: var(--c); }
.pv-acc-prev { margin-bottom: .8em; }
.pv-acc-prev div { display: flex; flex-wrap: wrap; gap: .4em; }
.pv-acc-prev .pv-chip { font-size: .72em; }
.pv-acc-msg { min-height: 2.1em; padding: .45em .7em; margin-bottom: .9em; border-radius: .45em; border: 1px solid rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.03); font-size: .78em; }
.pv-acc-relrow { display: flex; align-items: center; gap: 1em; }
.pv-acc-relrow .pv-swap em { font-style: normal; }
.pv-acc-relrow .pv-btn span { display: inline-block; }
.pv-acc-relrow .pv-tag { font-size: .85em; }
.pv-acc-fly { display: flex; gap: .3em; }
.pv-acc-fly > span { --from: translate(-2em, .4em) scale(.6); }
.pv-acc-fly .pv-env { width: 1.4em; }
.pv-acc-hist { width: 38%; }
.pv-acc-hth, .pv-acc-htr { display: grid; grid-template-columns: 1.5fr 1fr .9fr .9fr .9fr; align-items: center; gap: .4em; }
.pv-acc-hth { padding-bottom: .4em; font-size: .64em; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(236, 253, 245, 0.45); }
.pv-acc-htr { padding: .45em 0; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .8em; }
.pv-acc-htr .pv-badge { font-size: .78em; }
.pv-acc-tk2 { justify-self: center; --from: scale(.4); }
.pv-acc-tk2 .pv-check { color: #34d399; }
.pv-acc-dashc { justify-self: center; color: rgba(236, 253, 245, 0.3); }
.pv-acc-hth span:nth-child(n+3) { text-align: center; }
.pv-acc-mng { display: flex; gap: .5em; margin-top: .8em; }
.pv-acc-mng .pv-btn { font-size: .72em; }

/* Role-based access */
.pv-acc-rb { gap: 2em; }
.pv-acc-rbwin { width: 46%; }
.pv-acc-full2 { display: flex; gap: 1.2em; margin-bottom: .8em; font-size: .8em; }
.pv-acc-full2 em { font-style: normal; color: rgba(236, 253, 245, 0.5); }
.pv-acc-rbwin .pv-lbl { margin-bottom: .4em; }
.pv-acc-roles { margin-bottom: .8em; }
.pv-acc-perms { display: flex; flex-direction: column; }
.pv-acc-perm { display: flex; align-items: center; justify-content: space-between; padding: .42em .2em; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .85em; }
.pv-acc-pdim > span { color: rgba(236, 253, 245, 0.5); }
.pv-acc-perm .pv-acc-sw { font-size: .9em; }
.pv-acc-cfg { display: inline-block; margin-top: .6em; font-size: .8em; font-weight: 600; color: var(--c); }
.pv-acc-cfg em { font-style: normal; font-weight: 400; color: rgba(236, 253, 245, 0.55); }
.pv-acc-app { width: 30%; border-radius: .8em; overflow: hidden; background: #121a17; border: 1px solid rgba(236, 253, 245, 0.1); box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); }
.pv-acc-apptop { display: flex; padding: .8em; border-bottom: 1px solid rgba(236, 253, 245, 0.07); min-height: 4.6em; align-items: center; }
.pv-acc-apptop .pv-swap { width: 100%; align-items: center; }
.pv-acc-apptop .pv-swap > .pv-btn { justify-self: start; }
.pv-acc-apptop em { font-style: normal; }
.pv-acc-apptop .pv-btn span { display: inline-block; }
.pv-acc-viewas { display: flex; flex-direction: column; gap: .4em; width: 100%; padding: .5em .6em; border-radius: .5em; background: rgba(251, 191, 36, 0.12); border: 1px solid rgba(251, 191, 36, 0.35); font-size: .85em; color: #fde68a; }
.pv-acc-viewas i { font-style: normal; align-self: flex-start; font-size: .85em; }
.pv-acc-nav { display: flex; flex-direction: column; gap: .2em; padding: .7em; }
.pv-acc-nav span { display: flex; align-items: center; gap: .6em; padding: .45em .6em; border-radius: .45em; font-size: .85em; }
.pv-acc-nav i { width: 1em; height: 1em; border-radius: .25em; background: currentColor; opacity: .45; }
.pv-acc-nkeep { color: #fff; }
.pv-acc-nkeep:nth-child(3) { background: color-mix(in srgb, var(--c) 18%, transparent); color: var(--c); font-weight: 600; }
.pv-acc-nhide { color: rgba(236, 253, 245, 0.7); opacity: .18; text-decoration: line-through; animation: pvAccHide var(--pv-t) infinite; }
@keyframes pvAccHide { 0%, 48% { opacity: 1; text-decoration-color: transparent; } 52%, 92% { opacity: .18; text-decoration-color: currentColor; } 97%, 100% { opacity: 1; text-decoration-color: transparent; } }

/* Move tickets */
.pv-acc-mt { justify-content: center; }
.pv-acc-mtbg { position: absolute; inset: 0; display: grid; place-items: center; filter: blur(1px); opacity: .45; }
.pv-acc-mtbg .pv-win { width: 74%; }
.pv-acc-mtsum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1em; margin-bottom: 1em; }
.pv-acc-mtsum b { display: block; margin-top: .2em; }
.pv-acc-mtbg .pv-ln { height: .9em; margin-top: .9em; }
.pv-acc-dlg { position: relative; z-index: 1; display: flex; flex-direction: column; width: 30em; margin-right: 24%; padding: 1.1em 1.3em 1.2em; border-radius: .9em; background: #121a17; border: 1px solid rgba(236, 253, 245, 0.14); box-shadow: 0 2em 4em rgba(0, 0, 0, 0.7); }
.pv-acc-dlgh { display: flex; align-items: center; gap: .5em; font-size: 1.15em; margin-bottom: .7em; }
.pv-acc-dlgh .pv-acc-ico { color: var(--c); }
.pv-acc-dlgf .pv-btn { display: inline-flex; align-items: center; gap: .4em; }
.pv-acc-soldsel { display: flex; align-items: center; gap: .6em; }
.pv-acc-soldsel s { color: rgba(236, 253, 245, 0.5); }
.pv-acc-soldsel b { font-size: .8em; }
.pv-acc-mtprev { display: flex; flex-direction: column; padding: .55em .8em .35em; border-radius: .5em; border: 1px solid rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.04); }
.pv-acc-mtprev > b { font-size: .82em; margin-bottom: .2em; }
.pv-acc-mtprev .pv-acc-kv { font-size: .76em; padding: .25em 0; }
.pv-acc-mtprev .pv-acc-amber, .pv-acc-mtprev .pv-acc-amber > span:first-child { color: #fbbf24; }
.pv-acc-capw .pv-acc-capbad { align-self: start; }
.pv-acc-dlg .pv-lbl { margin-bottom: .3em; }
.pv-acc-sel { display: flex; align-items: center; justify-content: space-between; padding: .5em .75em; margin-bottom: .7em; border-radius: .5em; border: 1px solid rgba(236, 253, 245, 0.14); background: rgba(236, 253, 245, 0.04); font-size: .85em; }
.pv-acc-sel em { font-style: normal; }
.pv-acc-sel i { width: .45em; height: .45em; border-right: 2px solid rgba(236, 253, 245, 0.5); border-bottom: 2px solid rgba(236, 253, 245, 0.5); transform: rotate(45deg) translateY(-.15em); }
.pv-acc-capw { display: grid; justify-items: stretch; margin-bottom: .6em; }
.pv-acc-cap { display: flex; align-items: center; justify-content: space-between; gap: .5em; padding: .45em .7em; border-radius: .5em; background: rgba(52, 211, 153, 0.08); border: 1px solid rgba(52, 211, 153, 0.25); font-size: .82em; }
.pv-acc-cap .pv-badge { font-size: .85em; }
.pv-acc-capbad { justify-content: flex-start; background: rgba(248, 113, 113, 0.1); border-color: rgba(248, 113, 113, 0.35); color: #fca5a5; font-weight: 600; }
.pv-acc-capbad .pv-acc-ico { width: .9em; height: .9em; }
.pv-acc-dlgf { display: flex; justify-content: flex-end; gap: .6em; margin-top: .6em; }
.pv-acc-toast { position: absolute; z-index: 2; right: 4%; bottom: 7%; display: flex; align-items: center; gap: .7em; padding: .75em 1em; border-radius: .7em; background: #18221e; border: 1px solid rgba(52, 211, 153, 0.4); box-shadow: 0 1em 2em rgba(0, 0, 0, 0.5); }
.pv-acc-toast > .pv-check { width: 1.5em; height: 1.5em; color: #34d399; }
.pv-acc-toast div { display: flex; flex-direction: column; }
.pv-acc-toast span { font-size: .78em; white-space: nowrap; color: rgba(236, 253, 245, 0.65); }
@container (max-width: 640px) {
  .pv-acc-mt .pv-acc-dlg { margin-right: 30%; }
  .pv-acc-mt .pv-acc-toast { right: 3%; }
  .pv-acc-mt .pv-acc-toast span { display: none; }
}

/* Ticket journey */
.pv-acc-tjgrid { display: grid; grid-template-columns: 30% 1fr; gap: 1.3em; align-items: start; }
.pv-acc-tjside { display: flex; flex-direction: column; gap: .15em; }
.pv-acc-tjname { font-size: 1.1em; }
.pv-acc-tjside .pv-sub { margin-bottom: .5em; }
.pv-acc-tjside .pv-btn { margin-top: .5em; font-size: .78em; }
.pv-acc-tjside .pv-btn + .pv-btn { margin-top: .4em; }
.pv-acc-tj .pv-tabs { margin-bottom: .6em; }
.pv-acc-jr { position: relative; display: flex; flex-direction: column; }
.pv-acc-jr::before { content: ""; position: absolute; left: .45em; top: .9em; bottom: .9em; width: 2px; background: rgba(236, 253, 245, 0.12); }
.pv-acc-js { position: relative; display: grid; grid-template-columns: 1em 11.6em 4.4em auto 1fr; align-items: center; gap: .6em; padding: .42em 0; font-size: .85em; }
.pv-acc-jdot { width: .9em; height: .9em; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 .2em #121a17, 0 0 .8em color-mix(in srgb, var(--c) 60%, transparent); }
.pv-acc-jdots { display: flex; gap: .25em; }
.pv-acc-jdots i { width: .85em; height: .35em; border-radius: .2em; background: rgba(236, 253, 245, 0.12); }
.pv-acc-jdots .on { background: var(--c); }
.pv-acc-js .pv-badge { justify-self: start; font-size: .75em; }
.pv-acc-js u { justify-self: end; font-size: .78em; color: var(--c); text-decoration-color: color-mix(in srgb, var(--c) 50%, transparent); white-space: nowrap; }

/* Activity log */
.pv-acc-acbar { display: flex; align-items: center; gap: .6em; margin-bottom: .7em; }
.pv-acc-acbar .pv-seg { margin: 0 auto 0 0; }
.pv-acc-dd { display: inline-flex; align-items: center; gap: .7em; padding: .4em .7em; border-radius: .45em; border: 1px solid rgba(236, 253, 245, 0.14); font-size: .78em; color: rgba(236, 253, 245, 0.75); }
.pv-acc-dd i { width: .4em; height: .4em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-.15em); opacity: .6; }
.pv-acc-cats { display: flex; flex-wrap: wrap; gap: .35em; margin-bottom: .8em; }
.pv-acc-cats .pv-chip { font-size: .7em; padding: .3em .7em; border-color: rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.03); color: rgba(236, 253, 245, 0.65); }
.pv-acc-cats .pv-acc-refund { border-color: var(--c); background: var(--pv-on-bg); color: var(--pv-on-fg); font-weight: 600; }
.pv-acc-log { display: flex; flex-direction: column; }
.pv-acc-lin { display: grid; grid-template-columns: 4.6em 1.9em 6.2em 1fr auto; align-items: center; gap: .6em; padding: .45em .3em; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .84em; }
.pv-acc-actor { display: grid; place-items: center; width: 1.9em; height: 1.9em; border-radius: 50%; background: #26302c; font-size: .72em; font-weight: 700; }
.pv-acc-act em { font-style: normal; color: rgba(236, 253, 245, 0.5); margin-left: .3em; }
.pv-acc-lin .pv-badge { font-size: .75em; }
.pv-acc-match { border-radius: .4em; animation: pvAccMatch var(--pv-t) infinite; background: color-mix(in srgb, var(--c) 10%, transparent); }
@keyframes pvAccMatch { 0%, 60% { background-color: transparent; } 63%, 92% { background-color: color-mix(in srgb, var(--c) 10%, transparent); } 97%, 100% { background-color: transparent; } }
.pv-acc-dim { opacity: .3; animation: pvAccDim var(--pv-t) infinite; }
@keyframes pvAccDim { 0%, 60% { opacity: 1; } 63%, 92% { opacity: .3; } 97%, 100% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .pv .pv-acc-scanln, .pv .pv-acc-ring { opacity: 0; }
}
@container (max-width: 640px) {
  .pv-acc-ro .pv-acc-clash .pv-badge { display: none; }
}
