
:root{
  --bg:#12141a; --panel:#1b1e27; --panel2:#222633; --line:#313749;
  --text:#e8eaf0; --dim:#9aa1b5; --accent:#e83fc8; --blue:#5b8cff;
  --green:#3ecf8e; --red:#ff6b6b; --amber:#ffb347;
}
*{box-sizing:border-box}
body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font:14px/1.5 -apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.wrap{padding:20px 24px 60px}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:15px;margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:1px}
.sub{color:var(--dim);margin-bottom:20px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px}
.panelhead{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.panelhead .spacer,.toolbar .spacer,.hubbar .spacer{flex:1}
.sectotal{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.grid{display:grid;gap:10px 16px}
.cols4{grid-template-columns:repeat(4,1fr)}
.cols5{grid-template-columns:2fr 1.4fr 1.6fr 1fr .9fr}
.cols6{grid-template-columns:1.8fr 1.3fr 1.3fr 1.1fr 1fr .9fr}
@media(max-width:900px){.cols4{grid-template-columns:repeat(2,1fr)}
  .cols5,.cols6{grid-template-columns:repeat(2,1fr)}}
label{display:block;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
input,textarea,select{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:6px;
  color:var(--text);padding:7px 9px;font:inherit}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
table{width:100%;border-collapse:collapse}
th{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);text-align:left;
  padding:6px 4px;border-bottom:1px solid var(--line);white-space:nowrap}
th.deptcol{text-align:center}
th .rate{color:var(--accent);font-weight:400}
td{padding:4px 3px;border-bottom:1px solid var(--line);vertical-align:middle}
.tablewrap{overflow-x:auto}
thead{position:relative;z-index:2}
thead th{background:var(--panel);box-shadow:0 1px 0 var(--line)}
th.selcell,td.selcell{width:24px}
td.selcell input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
tr.selected td{background:#33254a!important}
th:last-child,td:last-child{position:sticky;right:0;background:var(--panel);z-index:1}
td input,td textarea,td select{padding:5px 6px;font-size:13px}
td input.num{width:38px;text-align:right;padding:5px 3px}
td textarea{resize:none;overflow:hidden;field-sizing:content;min-height:3em;line-height:1.35}
td select.cx{width:92px}
.cost{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--green)}
td.dayscell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--dim)}
td.costcell,th.costhead{border-left:2px solid var(--line)}
.rowtotal{font-weight:600}
button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;
  padding:7px 14px;cursor:pointer;font:inherit}
button:hover{border-color:var(--accent);color:var(--accent)}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
button.primary:hover{filter:brightness(1.1);color:#fff}
button.btn-note{background:#f5c518;border-color:#f5c518;color:#1a1a1f;font-weight:600}
button.btn-note:hover{filter:brightness(1.06);color:#1a1a1f;border-color:#f5c518}
button.del{padding:3px 8px;color:var(--red);border:none;background:none;font-size:15px}
button.small{padding:4px 10px;font-size:12px}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.toolbar select{width:auto;min-width:150px}
.hint{font-size:12px;color:var(--dim);margin-top:8px}
.badge{display:inline-block;background:var(--panel2);border:1px solid var(--line);border-radius:20px;
  padding:2px 10px;font-size:12px;color:var(--dim)}
.deptrates{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.deptrates .dept{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 8px;
  display:flex;align-items:center;gap:5px}
.deptrates input.dname{width:86px;background:transparent;border:none;padding:2px;font-weight:600;font-size:12px}
.deptrates input.rate{width:54px;text-align:right;padding:2px 4px;font-size:12px}
.deptrates .dept button.del{padding:0 3px}

/* cover */
.cover{background:#fff;color:#111;border-radius:10px;padding:34px 40px;margin-bottom:18px}
.cover label{color:#888}
.cover input,.cover textarea{background:#f6f6f8;border:1px solid #e2e2e8;color:#111}
.cover .coverhead{display:flex;align-items:center;gap:24px;margin-bottom:26px}
.cover .logo{height:62px;display:flex;align-items:center}
.cover .logoBox{font-weight:800;font-size:26px;letter-spacing:-1px;color:#111}
.cover .logoBox i{color:var(--accent);font-style:normal}
.cover .spacer{flex:1}
.cover .covertitle{font-size:26px;font-weight:800;letter-spacing:3px;color:#111;text-align:right}
.cover .covertitle small{display:block;font-size:12px;font-weight:400;color:#999;letter-spacing:1px}
.cover .covertitle .coverstats{color:var(--accent);font-weight:700;font-size:14px;margin-top:2px}
.coverbody{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
@media(max-width:900px){.coverbody{grid-template-columns:1fr}}
.totalsbox{border:1px solid #e2e2e8;border-radius:8px;padding:16px 18px;align-self:start}
.totalsbox .trow{display:flex;justify-content:space-between;gap:20px;padding:4px 0;font-size:14px}
.totalsbox .trow .l{color:#666}
.totalsbox .trow .v{font-variant-numeric:tabular-nums;font-weight:600}
.totalsbox .sep{border-top:1px solid #e2e2e8;margin:8px 0}
.totalsbox .grand{font-size:17px}
.totalsbox .grand .v{color:var(--accent)}
.totalsbox .ttc{font-size:15px}
.supgrid{display:grid;grid-template-columns:1fr 82px 82px;gap:6px 10px;align-items:center;margin-top:10px;font-size:13px}
.supgrid .l{color:#666}
.supgrid input{padding:4px 6px;text-align:right}

.thumbcell{width:76px;height:46px;border:1px dashed var(--line);border-radius:6px;display:flex;
  align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;background:var(--panel2)}
.thumbcell img{width:100%;height:100%;object-fit:cover}
.thumbcell .plus{color:var(--dim);font-size:15px}
.cx-Easy{color:var(--green)}.cx-Average{color:var(--amber)}.cx-Hard{color:var(--red)}

/* split view */
#bidPane{min-width:0}
body.split #splitWrap{display:flex;gap:18px;align-items:flex-start}
body.split #scriptPane{flex:0 0 40%;align-self:flex-start;position:sticky;top:62px;max-height:calc(100vh - 72px);overflow:auto}
body.split #bidPane{flex:1 1 auto;min-width:0}
body.split #scriptPane .panel{margin-bottom:0}
#scriptPane{display:none}
body.split #scriptPane{display:block}

/* script lab */
#scriptView{max-height:440px;overflow:auto;background:#101218;border:1px solid var(--line);
  border-radius:8px;padding:14px 18px;margin-bottom:10px}
.scriptpage{font-family:"Courier New",Courier,monospace;font-size:13px;line-height:1.45;margin-bottom:10px}
.scriptpage .pagetag{color:var(--dim);text-align:center;font-size:11px;margin:8px 0;user-select:none}
.sline{white-space:pre-wrap}
.sline::selection,.sline *::selection{background:rgba(232,63,200,.45)}
.sheading{color:var(--accent);font-weight:700;margin-top:8px}
.sugg{display:flex;gap:10px;padding:9px 6px;border-bottom:1px solid var(--line);align-items:flex-start}
.sugg input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin-top:3px;flex:none}
.sugscene{color:var(--accent);font-weight:700}
.sugdesc{font-size:13px;margin-top:2px}
.sugvfx{font-size:12px;color:var(--green);margin-top:1px}

/* hub */
.hubbar{display:flex;align-items:center;gap:14px;margin-bottom:26px;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-bottom:26px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  cursor:pointer;text-align:left;color:inherit;font:inherit;width:100%;position:relative}
.bdopt{display:flex;align-items:flex-start;gap:8px;margin-top:12px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--text);cursor:pointer}
.bdopt input{width:15px;height:15px;accent-color:var(--accent);margin-top:2px;flex:none}
.card .cardx{position:absolute;top:8px;right:10px;width:22px;height:22px;line-height:20px;text-align:center;
  border-radius:50%;color:var(--dim);font-size:16px;opacity:0;transition:opacity .15s}
.card:hover .cardx{opacity:1}
.card .cardx:hover{background:var(--red);color:#fff}
.card:hover{border-color:var(--accent)}
.card .ct{font-size:17px;font-weight:700;margin-bottom:2px}
.card .cm{color:var(--dim);font-size:12px}
.card .cf{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:12px}
.card .cv{font-size:18px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.empty{color:var(--dim);border:1px dashed var(--line);border-radius:12px;padding:18px;margin-bottom:26px}

/* status */
.cap{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:11px;font-size:11px;
  font-weight:600;white-space:nowrap;border:1px solid currentColor}
.cap::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-approved{color:var(--green)}.st-inprogress{color:var(--blue)}.st-needreview{color:var(--amber)}
.st-retake{color:var(--red)}.st-pending{color:var(--dim)}
.st-draft{color:var(--dim)}.st-sent{color:var(--blue)}.st-lost{color:var(--red)}

/* signin */
.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px}
.sibox{width:100%;max-width:380px}
.sibrand{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px}
.sibrand i{color:var(--accent);font-style:normal}
.silist{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.sibtn{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;color:inherit;font:inherit}
.sibtn:hover{border-color:var(--accent);color:inherit}
.av{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:12px}
.sin{font-weight:600;font-size:14px}.sir{font-size:11.5px;color:var(--dim)}

/* top chrome */
.top{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.topin{display:flex;align-items:center;gap:14px;padding:10px 24px;flex-wrap:wrap}
.brandbtn{background:none;border:0;padding:0;font-weight:800;font-size:15px;color:var(--text);cursor:pointer}
.brandbtn i{color:var(--accent);font-style:normal}
.brandbtn:hover{color:var(--accent)}
.crumb{color:var(--dim);font-size:13px;border-left:1px solid var(--line);padding-left:14px}
.crumb b{color:var(--text)}
.tabs{display:flex;padding:0 24px;overflow-x:auto}
.tabbtn{background:none;border:0;border-bottom:2px solid transparent;padding:9px 14px;font-size:13px;
  font-weight:600;color:var(--dim);cursor:pointer;white-space:nowrap;border-radius:0}
.tabbtn:hover{color:var(--text)}
.tabbtn[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
.userbox{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--dim)}
.userbox .av{width:26px;height:26px;font-size:10.5px}

/* tracker + player */
.trk td{vertical-align:top;padding:7px 5px}
.trk .thumbcell{width:64px;height:38px;cursor:default}
.chip{display:inline-block;font-size:11px;padding:1px 8px;border-radius:10px;background:var(--panel2);
  border:1px solid var(--line);color:var(--dim);margin:1px 2px 1px 0}
.scrim{position:fixed;inset:0;background:rgba(6,7,10,.66);z-index:50}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(500px,100%);background:var(--panel);
  border-left:1px solid var(--line);z-index:51;overflow-y:auto}
.dh{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;
  position:sticky;top:0;background:var(--panel);z-index:2}
.dh h3{margin:0 0 3px;font-size:16px}
.dh p{margin:0;font-size:12px;color:var(--dim)}
.dsec{padding:15px 20px;border-bottom:1px solid var(--line)}
.dlbl{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--dim);font-weight:700;margin-bottom:8px}
.player{aspect-ratio:16/9;border-radius:8px;background:#0b0d12;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--dim);
  font-size:12px;margin-bottom:9px;position:relative;overflow:hidden}
.player .pbig{font-size:30px;color:var(--accent)}
.scrub{height:4px;background:var(--panel2);border-radius:2px;position:absolute;left:12px;right:12px;bottom:12px}
.scrub i{display:block;height:100%;width:38%;background:var(--accent);border-radius:2px}
.scrub b{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:#fff}
.vers{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.ver{font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px;border:1px solid var(--line);
  background:var(--panel2);color:var(--dim);cursor:pointer;font-family:ui-monospace,monospace}
.ver.on{border-color:var(--accent);color:var(--accent);background:rgba(232,63,200,.1)}
.fio{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:5px 10px;
  border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--dim);text-decoration:none}
.fio:hover{border-color:var(--accent);color:var(--accent)}
.cmt{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.cmt:last-child{border-bottom:0}
.cmtb{flex:1;min-width:0}
.cmth{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.cmtn{font-size:12.5px;font-weight:700}
.tc{font-family:ui-monospace,monospace;font-size:10.5px;color:var(--accent);font-weight:700;
  background:rgba(232,63,200,.12);padding:1px 6px;border-radius:3px}
.cmtt{font-size:13px;color:var(--text);margin:0}
.cmts{font-size:10.5px;color:var(--dim);margin-top:3px}
.dl{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13px}
.dl:last-child{border-bottom:0}
.dl dt{color:var(--dim)}.dl dd{margin:0;text-align:right}
.pbar{height:12px;border-radius:6px;overflow:hidden;display:flex;background:var(--panel2);margin-bottom:12px}
.pbar span{height:100%}
.legend{display:flex;flex-wrap:wrap;gap:6px}
.g2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}
@media(max-width:900px){.g2{grid-template-columns:1fr}}
.brow{display:flex;align-items:center;gap:13px;padding:9px 0;border-bottom:1px solid var(--line)}
.brow:last-child{border-bottom:0}
.bn{width:92px;font-weight:600;font-size:13px;flex:none}
.bc{width:64px;font-size:11px;color:var(--dim);flex:none}
.bb{flex:1;height:7px;background:var(--panel2);border-radius:4px;overflow:hidden;display:flex}
.bb i{display:block;height:100%;background:var(--accent)}
.bv{width:104px;text-align:right;font-weight:600;font-size:13px;flex:none;font-variant-numeric:tabular-nums;color:var(--green)}
.protobar{background:#000;color:#bfc5d4;font-size:11px;padding:5px 16px;text-align:center;letter-spacing:.03em}
.protobar b{color:var(--accent)}
.ro{font-size:11.5px;color:var(--amber);border:1px solid var(--amber);border-radius:20px;padding:2px 10px}
input:disabled,textarea:disabled,select:disabled{opacity:1;background:transparent;border-color:transparent;
  color:var(--text);-webkit-text-fill-color:var(--text);cursor:default}
td input:disabled:hover,td textarea:disabled:hover,td select:disabled:hover{border-color:transparent;background:transparent}
/* landing */
.land{max-width:1080px;margin:0 auto;padding:0 24px}
.lnav{display:flex;align-items:center;gap:14px;padding:18px 0}
.lhero{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:48px 0 56px}
@media(max-width:900px){.lhero{grid-template-columns:1fr;gap:32px;padding:28px 0}}
.lhero h1{font-size:44px;line-height:1.05;letter-spacing:-1.4px;margin:0 0 16px}
@media(max-width:900px){.lhero h1{font-size:32px}}
.lhero h1 i{color:var(--accent);font-style:normal}
.lhero p.lead{font-size:16.5px;color:var(--dim);margin:0 0 26px;max-width:52ch;line-height:1.6}
.lfeat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0 0}
@media(max-width:760px){.lfeat{grid-template-columns:1fr}}
.lf{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.lf b{display:block;font-size:14px;margin-bottom:5px}
.lf span{font-size:12.5px;color:var(--dim);line-height:1.5}
.lsec{border-top:1px solid var(--line);margin-top:46px;padding:26px 0 60px}
.secgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:16px}
.sitem{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px}
.sitem b{display:block;color:var(--text);margin-bottom:3px;font-size:12.5px}
.sitem span{color:var(--dim);line-height:1.45}
.shield{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--blue);color:var(--blue);
  border-radius:20px;padding:3px 12px;font-size:11.5px;font-weight:600}
/* admin */
.utable td{padding:9px 8px}
.utable .av{width:28px;height:28px;font-size:10px}
.mfa-on{color:var(--green);font-weight:600}.mfa-off{color:var(--red);font-weight:600}
.rolesel{width:auto;min-width:130px;padding:4px 8px;font-size:12.5px}
.mline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}
/* studio list */
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.studiochip{display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 11px;border-radius:8px;
  background:var(--panel2);border:1px solid var(--line);font-size:12px}
.studiochip b{color:var(--text);font-weight:600}
.studiochip span{color:var(--dim);font-size:11px}
.studiochip.free{border-color:var(--blue)}
.studiochip .del{padding:0 3px;font-size:14px;line-height:1}
/* tracker toolbar */
.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filterbar .spacer{flex:1}
.filterbar input,.filterbar select{padding:5px 8px;font-size:12.5px;width:auto}
.bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:9px 12px;
  background:var(--panel2);border:1px solid var(--accent);border-radius:8px;font-size:12.5px}
.bulkbar .spacer{flex:1}
.trk th[data-thsort]{cursor:pointer;user-select:none}
.trk th[data-thsort]:hover{color:var(--accent)}
/* project completion on a hub card */
.cprog{margin-top:10px;font-size:11px;color:var(--dim);text-align:left}
.cbar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:4px}
.cbar span{display:block;height:100%;background:var(--green)}
.expin{width:132px;padding:4px 7px;font-size:12px}
button.small.dgr{color:var(--red)}
/* export modal */
.modal{position:fixed;inset:0;background:rgba(6,7,10,.7);z-index:60;display:flex;align-items:center;
  justify-content:center;padding:24px}
.mbox{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(1000px,100%);
  max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.mhead{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mbody{overflow:auto;padding:18px;background:var(--bg)}
.sheettabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}
.stab{padding:5px 12px;font-size:12px;border-radius:6px 6px 0 0;border:1px solid var(--line);
  background:var(--panel2);color:var(--dim);cursor:pointer}
.stab.on{background:#1d6b3f;color:#fff;border-color:#1d6b3f}
.xl{background:#fff;color:#111;border-radius:4px;overflow:auto;max-height:56vh}
.xl table{border-collapse:collapse;font-size:11.5px;font-family:Calibri,Arial,sans-serif}
.xl th,.xl td{border:1px solid #d4d4d4;padding:3px 7px;white-space:nowrap;color:#111}
.xl .cor{background:#f1f1f1;color:#888;text-align:center;font-size:10px;min-width:26px;position:sticky;left:0}
.xl thead th{background:#f1f1f1;color:#666;font-weight:600;text-align:center;font-size:10px;position:sticky;top:0;z-index:2}
.xl .hdr td{background:#1d6b3f;color:#fff;font-weight:700}
.xl .grp td{background:#e8e8ec;font-weight:700}
.xl .n{text-align:right;font-variant-numeric:tabular-nums}
.xl .tot td{background:#f6f6f8;font-weight:700}
.pdfpage{background:#fff;color:#111;border-radius:3px;padding:26px 30px;margin:0 auto 14px;max-width:860px;
  box-shadow:0 2px 14px rgba(0,0,0,.4)}
.pdfpage h4{margin:0;font-size:19px;letter-spacing:2.5px;font-weight:800}
.pdfpage table{border-collapse:collapse;width:100%;font-size:9.5px}
.pdfpage th{background:#efeff3;color:#444;border:1px solid #ddd;padding:3px 5px;font-size:8px;text-transform:uppercase}
.pdfpage td{border:1px solid #e4e4ea;padding:3px 5px;color:#222;vertical-align:top}
.pdfpage .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.stepn{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--dim);flex:none}
.stepn.done{background:var(--green);border-color:var(--green);color:#12141a}
.fiorow{display:flex;align-items:center;gap:10px}
.fiogrid{display:grid;grid-template-columns:1fr 40px 1fr;gap:12px;align-items:end}
@media(max-width:700px){.fiogrid{grid-template-columns:1fr}}
.fiogrid2{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;align-items:center}
@media(max-width:700px){.fiogrid2{grid-template-columns:1fr}}
.matchbox{font-size:12.5px;padding:8px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel2)}
.matchbox.ok{border-color:var(--green);color:var(--green)}
.matchbox.no{border-color:var(--amber);color:var(--amber)}
.evgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.evrow{display:flex;gap:9px;align-items:flex-start;background:var(--panel2);border:1px solid var(--line);
  border-radius:8px;padding:9px 11px;cursor:pointer;font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--text)}
.evrow input{width:15px;height:15px;accent-color:var(--accent);margin-top:2px;flex:none}
.evrow b{font-weight:600}
code{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--accent)}
pre.code{background:#101218;border:1px solid var(--line);border-radius:8px;padding:14px 16px;
  overflow-x:auto;font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;color:var(--dim);margin:0 0 10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- image viewer ---------- */
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(6,7,10,.92);display:flex;
  align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:34px;cursor:zoom-out}
.lightbox img{max-width:92vw;max-height:80vh;border-radius:6px;border:1px solid var(--line);
  background:#000;image-rendering:auto;object-fit:contain}
.lightbar{display:flex;align-items:center;gap:10px;width:min(92vw,900px);cursor:auto}
.lightname{font-weight:700;font-size:14px}
.lighthint{color:var(--dim);font-size:12px}
.thumbcell.hasimg{cursor:zoom-in}


/* ---------- landing ---------- */
.land{max-width:960px;margin:0 auto;padding:0 24px 70px}
.lmark{padding:74px 0 46px;text-align:center}
.lwordmark{font-size:54px;font-weight:800;letter-spacing:-2.5px;line-height:1;color:var(--text)}
.lwordmark i{color:var(--accent);font-style:normal}
.lline{margin-top:16px;font-size:15px;font-weight:600;letter-spacing:.42em;
  text-transform:uppercase;color:var(--text)}
.lline i{color:var(--accent);font-style:normal}
.ltag{margin-top:10px;color:var(--dim);font-size:13.5px;letter-spacing:.02em}
@media(max-width:760px){.lline{font-size:12.5px;letter-spacing:.3em}}
.lgate{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:760px){.lgate{grid-template-columns:1fr}.lmark{padding:48px 0 32px}.lwordmark{font-size:40px}}
.lpanel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px;
  display:flex;flex-direction:column;gap:9px}
.lpanel-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:2px}
.lsub{color:var(--dim);font-size:12.5px;line-height:1.5;margin-bottom:3px}
.lbtn{width:100%;padding:9px 14px;font-weight:600}
.lbtn.ghost{background:transparent}
.lmsg{font-size:12px;color:var(--dim);min-height:16px;line-height:1.4}
.lsec{margin-top:52px;padding-top:26px;border-top:1px solid var(--line)}
.lsec-h{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin-bottom:14px}
.lfoot{margin-top:26px;color:var(--dim);font-size:11.5px;letter-spacing:.04em}
.secgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.sitem{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px}
.sitem b{display:block;color:var(--text);margin-bottom:3px}
.sitem span{color:var(--dim);line-height:1.45}

/* ---------- roles reference ---------- */
.rolegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.rolecard{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.rolecard .rw{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:3px}
.rolecard h3{margin:0 0 5px;font-size:14.5px;font-weight:700;color:var(--text)}
.rolecard p{margin:0;font-size:12.5px;color:var(--dim);line-height:1.5}
.rolecard .rn{margin-top:7px;font-size:12px;color:var(--red);line-height:1.45}
.flowrow{display:flex;flex-wrap:wrap;gap:0}
.flowstep{flex:1 1 170px;background:var(--panel2);border:1px solid var(--line);padding:11px 13px}
.flowstep + .flowstep{border-left:0}
.flowstep .fs{font-family:ui-monospace,monospace;font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.flowstep .ft{font-weight:700;font-size:14px;margin:2px 0 4px}
.flowstep .fd{font-size:11.5px;color:var(--dim);line-height:1.45}
.permtable td{font-size:12.5px}
.permtable td.pc,.permtable th.pc{text-align:center;font-family:ui-monospace,monospace;font-weight:700;min-width:64px}

/* ---------- On Set tab ---------- */
.btnlink{display:inline-block;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px;text-decoration:none}
.btnlink:hover{border-color:var(--accent);color:var(--accent)}
.odays{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:18px}
.oday{text-align:left;cursor:pointer;padding:12px 14px;margin:0}
.oday.on{border-color:var(--accent)}
.oday .ct{font-size:15px;font-weight:700}
.otable td{vertical-align:top;padding:8px 6px;font-size:13px}
.otable th:last-child,.otable td:last-child{position:static}
.otable .oshot{min-width:200px;max-width:280px}
.otable .ocam{white-space:nowrap}
.otable .orefs{max-width:220px;color:var(--dim)}
.onote{font-style:italic;color:var(--text);margin-top:4px;white-space:pre-wrap}
.ophotos{display:flex;flex-wrap:wrap;gap:4px;min-width:140px}
.oph{width:64px;height:64px;border-radius:6px;overflow:hidden;position:relative;padding:0;border:1px solid var(--line);background:var(--panel2)}
.oph img{width:100%;height:100%;object-fit:cover;display:block}
.oph span{position:absolute;left:0;right:0;bottom:0;font-size:9px;background:rgba(0,0,0,.6);color:#fff;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oprint{display:none}
.oprint .paper{background:#fff;color:#111;font-size:12px;font-family:-apple-system,Helvetica,Arial,sans-serif}
.oprint .rh{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:12px}
.oprint .pbrand{font-weight:800;font-size:16px;letter-spacing:-.5px}
.oprint .pbrand i{font-style:normal;color:var(--accent)}
.oprint h2{font-size:12px;margin:14px 0 4px;text-transform:uppercase;letter-spacing:.7px;color:var(--accent)}
.oprint table{width:100%;border-collapse:collapse;font-size:11px}
.oprint th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#666;border-bottom:1px solid #ddd;padding:4px}
.oprint td{border-bottom:1px solid #eee;padding:5px 4px;vertical-align:top;color:#111;background:#fff}
.oprint .refs{color:#444;font-size:10px}
.oprint .pgrid{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.oprint .pgrid img{width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid #ddd}
.oprint .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px;font-size:11px}
.oprint .meta span{color:#777;font-size:9px;text-transform:uppercase;letter-spacing:.4px;display:block}
.oprint .pfoot{margin-top:14px;font-size:9px;color:#888;text-align:right}
@media print{
  body[data-print="onset"]{background:#fff}
  body[data-print="onset"] .top,body[data-print="onset"] .wrap>.panel,body[data-print="onset"] .odays,body[data-print="onset"] #lightHost{display:none!important}
  body[data-print="onset"] .oprint{display:block}
  body[data-print="onset"] .wrap{padding:0}
  body[data-print="onset"] .oprint tr{break-inside:avoid}
  @page{size:A4 landscape;margin:12mm}
}

/* sign-in page tabs + the presentation */
.ltabs{display:inline-flex;margin-top:26px;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ltabs button{background:none;border:0;padding:8px 20px;color:var(--dim);font-weight:600;font-size:13px;letter-spacing:.3px;border-radius:0}
.ltabs button.on{background:var(--accent);color:#fff}
.ltabs button:hover{color:var(--text)}
.ltabs button.on:hover{color:#fff}
.land{padding-bottom:0}
.lscroll{display:flex;flex-direction:column;align-items:center;gap:4px;margin:54px auto 30px;color:var(--dim);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.lscroll i{font-style:normal;font-size:18px;animation:lnudge 1.6s ease-in-out infinite}
.lscroll:hover{color:var(--accent)}
@keyframes lnudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.labout{border-top:1px solid var(--line)}
.labout iframe{display:block;width:100%;height:100vh;border:0;background:#0f1116;overflow:hidden}

/* ---------- Bible tab ---------- */
.blayout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 53px)}
.brail{border-right:1px solid var(--line);padding:16px 12px;position:sticky;top:53px;height:calc(100vh - 53px);overflow:auto}
.brail h4{margin:14px 0 8px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--dim)}
.brail h4:first-child{margin-top:0}
.brail .item{display:flex;gap:8px;align-items:center;padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--dim);border:1px solid transparent}
.brail .item:hover{background:var(--panel);color:var(--text);border-color:var(--line)}
.brail .item b{color:var(--accent);min-width:30px;font-variant-numeric:tabular-nums}
.brail .item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.brail .item .n{margin-left:auto;font-size:11px;color:var(--dim);flex:none}
.brail .item.seq{align-items:flex-start}.brail .item.seq b{padding-top:1px}
.brail .item.seq>div{min-width:0;flex:1;display:flex;flex-direction:column}
.brail .item.seq small{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.brail .item.seq:hover small{color:var(--text)}
.bglobal{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;scroll-margin-top:60px}
.brail .add{margin-top:12px;width:100%;background:none;border:1px dashed var(--line);border-radius:8px;padding:8px;color:var(--accent);font-size:12px}
.bmain{padding:20px 24px 80px;min-width:0}
.bsec{scroll-margin-top:60px}
.bcover{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
@media(max-width:1100px){.bcover{grid-template-columns:1fr}.blayout{grid-template-columns:1fr}.brail{display:none}}
.bcover .t{font-size:34px;font-weight:800;letter-spacing:-1.5px;line-height:1.05}
.bcover .t .sub{color:var(--dim);font-size:16px;font-weight:600;letter-spacing:0}
.bcover .m{color:var(--dim);margin:6px 0 14px}.bcover .m b{color:var(--text)}
.bfield{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 11px;font:inherit;margin:0 0 8px}
textarea.bfield{min-height:60px;resize:vertical;field-sizing:content}
.bro{margin:0 0 8px;white-space:pre-wrap}.bro.multi{max-width:620px}.bro.empty{color:var(--dim);font-style:italic}
.bkv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;align-items:start}
.bkv>span{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding-top:9px}
.bkv .bfield,.bkv .bro{margin:0}
.bfiles{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.bfileChip{display:inline-flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--text)}
.bfileChip:hover{border-color:var(--accent)}
.bfileChip i{font-style:normal;color:var(--accent);font-size:11px;font-weight:700}
.bfileChip.add{border-style:dashed;color:var(--accent);background:none}
.bfileChip .xs{background:none;border:0;color:var(--dim);padding:0 0 0 4px;font-size:14px;line-height:1}
.bfileChip .xs:hover{color:var(--red)}
.bshots{border-top:1px solid var(--line);padding-top:12px}
.bshots h3{margin:0 0 8px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}
.bshotrow{display:grid;grid-template-columns:64px 1fr auto;gap:2px 12px;align-items:baseline;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.bshotrow:hover{background:var(--panel2)}
.bshotrow b{color:var(--accent);font-variant-numeric:tabular-nums}
.bshotrow .scene{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bshotrow .cnt{color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums}
.bshotrow .nums{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}
.bshotrow .nums i{font-style:normal;font-size:11.5px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:0 6px;font-variant-numeric:tabular-nums}
.bseqhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.bseqhead .num{font-size:26px;font-weight:800;color:var(--accent);letter-spacing:-1px}
.bseqhead .scene{font-size:20px;font-weight:700}
.bseqhead .bfield{width:auto;flex:1;font-size:18px;font-weight:700;margin:0}
.bseqhead .spacer{flex:1}
.bdecor{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.bdecor b{color:var(--dim);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.6px;flex:none}
.bdecor .bfield,.bdecor .bro{margin:0;flex:1}
.bbidline{font-size:12.5px;color:var(--dim);margin-bottom:12px}.bbidline b{color:var(--text);font-weight:600}
.pill{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:1px 8px;font-size:11px;margin-left:6px;color:var(--text)}
.pill.hard{color:var(--red);border-color:var(--red)}.pill.avg{color:var(--amber);border-color:var(--amber)}
.bkinds{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.bkinds button{background:none;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:11.5px;color:var(--dim)}
.bkinds button.on{border-color:var(--accent);color:var(--accent)}
.bboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.bboard.two{grid-template-columns:1fr 1fr}
.bcard{background:var(--panel2);border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;cursor:pointer}
.bcard:hover{border-color:var(--accent)}
.bcard img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#0d0f14}
.bcard .bfile{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--dim);font-size:11px;background:#0d0f14}
.bcard .bfile i{font-style:normal;font-size:20px;font-weight:800;color:var(--accent);letter-spacing:1px}
.bcard .k{position:absolute;top:6px;left:6px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:rgba(0,0,0,.7);color:#fff;border:0;width:auto;appearance:none;-webkit-appearance:none;line-height:1.5}
select.k{cursor:pointer;padding-right:7px}
.bcard .k.ref{color:var(--blue)}.bcard .k.concept{color:var(--accent)}.bcard .k.loc{color:var(--green)}.bcard .k.plate{color:var(--amber)}.bcard .k.test{color:#f5c518}.bcard .k.video,.bcard .k.file{color:#fff}
.bcard .c{padding:7px 9px;font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcard .c input{width:100%;background:transparent;border:0;color:var(--text);font:inherit;padding:0;border-radius:0}
.bcard .c input:focus{outline:none;border-bottom:1px solid var(--accent)}
.bcard .fromset{color:var(--green);margin-left:4px}
.bcard .x{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.7);border:0;color:#fff;font-size:12px;line-height:20px;text-align:center;opacity:0;padding:0}
.bcard:hover .x{opacity:1}.bcard .x:hover{background:var(--red)}
.bcard.video::after{content:'▶';position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;text-align:center;line-height:36px;font-size:14px;pointer-events:none}
.bdrop{border:1.5px dashed var(--line);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--dim);font-size:12px;gap:4px;min-height:150px;text-align:center;padding:10px}
.bdrop.over{border-color:var(--accent);background:rgba(232,63,200,.06)}
.bdrop b{color:var(--accent);font-size:13px}
.bdropbtns{display:flex;gap:6px;margin-top:6px}
/* present mode */
.bpresent{position:fixed;inset:0;background:#000;z-index:40;display:flex;flex-direction:column}
.bpresent .ph{display:flex;align-items:center;gap:14px;padding:12px 22px;border-bottom:1px solid #222;color:var(--dim);font-size:13px}
.bpresent .ph b{color:var(--text)}.bpresent .ph .spacer{flex:1}
.bpresent .brand{font-weight:800;letter-spacing:-.5px;font-size:15px;color:var(--text)}.bpresent .brand i{color:var(--accent);font-style:normal}
.bpresent .pb{flex:1;padding:26px 40px 70px;display:grid;grid-template-columns:340px 1fr;gap:30px;align-items:start;overflow:auto}
.bpresent .pl .num{font-size:52px;font-weight:800;color:var(--accent);letter-spacing:-2px;line-height:1}
.bpresent .pl .scene{font-size:24px;font-weight:700;margin:6px 0 14px}
.bpresent .pl .decor{font-size:16px}.bpresent .pl .decor b{color:var(--dim);font-size:11px;letter-spacing:.6px;text-transform:uppercase}
.bpresent .pl p{margin:12px 0 0}.bpresent .pl .dim{color:var(--dim)}.bpresent .pl .small{font-size:12px}
.bpresent .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bpresent .pshots{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px;margin-bottom:16px;font-size:13px}
.bpresent .pshots b{color:var(--accent)}.bpresent .pshots span{font-weight:600}.bpresent .pshots em{display:block;font-style:normal;color:var(--dim);font-size:12px}
.bpresent .arrows{position:absolute;right:26px;bottom:20px;display:flex;gap:6px;color:var(--dim);align-items:center;font-size:12px}
.bpresent .arrows button{width:38px;height:38px;border-radius:50%;border:1px solid #333;background:#111;color:#fff;font-size:18px;padding:0}
@media print{
  body[data-print="bible"]{background:#fff;color:#111}
  body[data-print="bible"] .top,body[data-print="bible"] .brail,body[data-print="bible"] .bdrop,body[data-print="bible"] .bkinds,body[data-print="bible"] .panelhead button,body[data-print="bible"] .bcard .x,body[data-print="bible"] .bfileChip.add,body[data-print="bible"] #lightHost,body[data-print="bible"] .bseqhead button{display:none!important}
  body[data-print="bible"] .blayout{display:block}
  body[data-print="bible"] .bmain{padding:0}
  body[data-print="bible"] .panel{background:#fff;border-color:#ddd;color:#111;break-inside:avoid;page-break-inside:avoid}
  body[data-print="bible"] .bfield,body[data-print="bible"] .bcard,body[data-print="bible"] .bfileChip,body[data-print="bible"] .bshotrow .nums i{background:#f5f5f7;color:#111;border-color:#ddd}
  body[data-print="bible"] .bcard .c,body[data-print="bible"] .bcard .c input{color:#333}
  body[data-print="bible"] .bcover .m b,body[data-print="bible"] .bbidline b{color:#111}
  body[data-print="bible"] .bboard{grid-template-columns:repeat(4,1fr)}
}

/* deliveries */
.vmodal .mbox{max-height:92vh}
.vmodal .trk td{font-size:12.5px}
a.cap{text-decoration:none;cursor:pointer}
a.cap:hover{filter:brightness(1.15)}
.trk code,.hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:var(--panel2);padding:1px 5px;border-radius:4px}
.vlink{display:inline-block;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vlink:hover{text-decoration:underline}
.vcom{display:flex;flex-direction:column;gap:4px;margin:0 0 6px 8px;border-left:2px solid var(--line);padding-left:10px}
.vc{font-size:13px;line-height:1.45}.vc.done{opacity:.55}
/* shot viewer */
.shotlink{cursor:pointer}.shotlink:hover{color:var(--accent);text-decoration:underline}
.vwbox{width:min(1280px,100%);max-height:94vh}
.vwbody{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;overflow:hidden;flex:1;min-height:0}
.vwhead{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vwtitle{min-width:0}.vwnum{font-size:22px;font-weight:700;line-height:1.1}.vwmeta{font-size:13px;color:var(--dim);margin-top:2px}
.vwopen{padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;border-radius:8px;background:var(--accent);color:#fff}
.vwopen:hover{filter:brightness(1.1)}
.vwtabs{display:flex;gap:8px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--panel);overflow-x:auto}
.vwtab{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:13.5px;white-space:nowrap}
.vwtab:hover{border-color:var(--accent);color:var(--text)}
.vwtab.on{border-color:var(--accent);background:rgba(232,63,200,.12)}
.vwside{font-size:13.5px;line-height:1.45}
.vwsidetabs{display:flex;border-bottom:1px solid var(--line);margin:-14px -14px 14px}
.vwstab{flex:1;padding:10px 8px;background:none;border:0;border-radius:0;border-bottom:2px solid transparent;color:var(--dim);font-size:13px;font-weight:600}
.vwstab:hover{color:var(--text)}.vwstab.on{color:var(--text);border-bottom-color:var(--accent)}
.vwstab .cnt{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;margin-left:4px}
.vwrow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.vwblock{margin-top:14px}.vwblock label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-bottom:5px}
.vwverdict label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-bottom:6px}
.vwverdict select{font-size:14px;padding:8px 12px;width:100%;margin-top:0}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;word-break:break-all}
.vwplayer{background:#000;display:flex;flex-direction:column;min-height:0}
.vwplayer video,.vwplayer img{width:100%;max-height:calc(94vh - 170px);object-fit:contain;background:#000;flex:1;min-height:0}
.vempty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--dim);padding:40px;min-height:320px;line-height:1.6}
.vempty a{color:var(--accent)}
.vwside{overflow:auto;padding:14px;border-left:1px solid var(--line);background:var(--bg)}
.vwverdict{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:10px}
.vwverdict select{margin-top:6px}
.vwnotes .vc{margin-bottom:8px}
@media (max-width:900px){.vwbody{grid-template-columns:1fr}.vwside{border-left:0;border-top:1px solid var(--line)}}
.fionav{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:10px;background:var(--panel)}
/* Review cell: the latest version as a picture, play on top */
.rvthumb{position:relative;display:block;width:112px;height:63px;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#000;cursor:pointer}
.rvthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s,filter .2s}
.rvthumb:hover{border-color:var(--accent)}
.rvthumb:hover img{transform:scale(1.04);filter:brightness(.8)}
.rvplay{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:rgba(0,0,0,.55);border:1.5px solid rgba(255,255,255,.85)}
.rvplay::after{content:'';position:absolute;left:11px;top:8px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent #fff}
.rvthumb:hover .rvplay{background:var(--accent);border-color:var(--accent)}
.rvcm{position:absolute;right:3px;bottom:3px;font-size:10px;line-height:1;padding:2px 4px;border-radius:4px;background:rgba(0,0,0,.65);color:#fff}
.rvnone{display:inline-block;width:112px;text-align:center;color:var(--dim);opacity:.5}
/* top bar buttons at the same size as the page buttons */
.top .userbox button.small{padding:7px 14px;font-size:14px}
.top .userbox{font-size:14px}
.top .userbox .av{width:30px;height:30px;line-height:30px}
/* shots added on set, not reviewed */
.onsetwarn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border-radius:10px;
  background:rgba(255,107,107,.12);border:1px solid var(--red);color:var(--text)}
.onsetwarn b{color:var(--red)}
.onsetwarn a{color:var(--text);font-weight:600}
tr.onsetrow td{background:rgba(255,107,107,.14)!important}
tr.onsetrow td:first-child{box-shadow:inset 3px 0 0 var(--red)}
tr.onsetrow input,tr.onsetrow textarea{border-color:rgba(255,107,107,.45)}
/* production lock */
.lockbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:10px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}
.prodgap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px;font-size:13px}
.prodgap .pg{font-weight:700}.prodgap .pg.up{color:var(--amber)}.prodgap .pg.down{color:var(--blue)}.prodgap .pg.even{color:var(--green)}
.gapchip{display:inline-block;margin-left:4px;font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px}
.gapchip.up{color:#1a1a1f;background:var(--amber)}.gapchip.down{color:#fff;background:var(--blue)}
.origintag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:4px;background:var(--amber);color:#1a1a1f;vertical-align:middle}
.origintag.onset{background:var(--red);color:#fff}
.addshot{font-size:10.5px;padding:0 6px;margin-left:4px;border-radius:4px;line-height:17px;vertical-align:middle;opacity:.55}
tr:hover .addshot{opacity:1}

/* ---- Team: the AdHoc list, one line per person (b56) ---- */
.dim{color:var(--dim)}
.plsearch{width:260px;max-width:100%;padding:6px 10px}
.plist{border-top:1px solid var(--line)}
.prow{border-bottom:1px solid var(--line)}
.prow[hidden]{display:none}
.phead{display:grid;grid-template-columns:32px minmax(160px,1.1fr) minmax(110px,.6fr) 2fr 18px;
  gap:12px;align-items:center;padding:10px 6px;border-radius:8px}
.phead[data-popen]{cursor:pointer}
.phead[data-popen]:hover{background:var(--panel2)}
.prow.open .phead{background:var(--panel2);border-radius:8px 8px 0 0}
.pwho{min-width:0;display:flex;flex-direction:column;gap:1px}
.pwho > div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pwho b{font-weight:600}
.pwho > span{color:var(--dim);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pstudio{font-size:12.5px;display:flex;flex-direction:column;gap:1px;min-width:0}
.pstudio span{color:var(--dim);font-size:11px}
.pstudio i{color:var(--amber);font-style:normal;font-size:12px}
.pchips{display:flex;flex-wrap:wrap;gap:5px}
.pchip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:20px;
  padding:2px 10px;font-size:11.5px;color:var(--dim);background:var(--panel)}
.pchip b{color:var(--text);font-weight:600}
.pchip.inv{border-style:dashed;color:var(--amber)}
.pchip.off{opacity:.55;text-decoration:line-through}
.pnone{color:var(--dim);font-size:12px}
.pcaret{color:var(--dim);font-size:11px;text-align:right}
.pedit{background:var(--panel2);border-radius:0 0 8px 8px;padding:6px 14px 14px 58px;margin-bottom:8px}
.pedsec{margin-top:10px}
.pedsec label{margin-bottom:6px}
.pedsec .mline{margin:0 0 6px}
.pnote{color:var(--dim);font-size:11.5px}
.pedfoot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pedfoot .spacer{flex:1}
.reqpanel{border-color:rgba(255,179,71,.45)}
.reqcard{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-top:1px solid var(--line)}
.reqbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.reqmsg{background:var(--panel2);border-left:3px solid var(--amber);border-radius:4px;padding:6px 10px;
  font-size:12.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.reqact{display:flex;gap:6px;flex:none}
@media (max-width:760px){
  .phead{grid-template-columns:32px 1fr 18px}
  .pstudio,.pchips{grid-column:2 / 3}
  .pedit{padding-left:14px}
  .reqcard{flex-wrap:wrap}.reqact{width:100%;justify-content:flex-end}
}
