/* ============================================================
   REVO UI — shared design system (the "shell")
   Prefixed rv- so it never collides with a page's own CSS.
   Uses each page's dark tokens with safe fallbacks.
   ============================================================ */
:root{
  --rv-lime:var(--lime,#D6FD46);
  --rv-teal:var(--teal,#3AAFA9);
  --rv-gold:var(--gold,#E8B04B);
  --rv-red:var(--red,#E8795C);
  --rv-bg:var(--bg,#0A0A0A);
  --rv-panel:var(--panel,#141414);
  --rv-panel2:var(--panel2,#181818);
  --rv-raise:#1e1e1e;
  --rv-line:var(--line,rgba(255,255,255,.09));
  --rv-line2:rgba(255,255,255,.15);
  --rv-ink:var(--ink,#F4F4F0);
  --rv-ink2:var(--ink2,rgba(255,255,255,.66));
  --rv-ink3:var(--ink3,rgba(255,255,255,.40));
}

/* ---- workbench header (row 1: identity + actions) ---- */
.rv-wb{display:flex;align-items:center;gap:14px;padding:20px 0 14px;flex-wrap:wrap}
.rv-wb .rv-back{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--rv-ink3);border:1px solid var(--rv-line);padding:8px 12px;border-radius:8px;transition:.15s;white-space:nowrap;text-decoration:none;cursor:pointer;background:transparent;font-family:inherit}
.rv-wb .rv-back:hover{color:var(--rv-ink);border-color:var(--rv-line2)}
.rv-wb .rv-who{min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-wb .rv-who .rv-eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rv-teal)}
.rv-wb .rv-who h1{font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.rv-wb .rv-sp{flex:1}

/* ---- autosave status ---- */
.rv-save{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--rv-ink3);white-space:nowrap}
.rv-save .rv-dot{width:7px;height:7px;border-radius:50%;background:#5fce8f;box-shadow:0 0 0 3px rgba(95,206,143,.15)}
.rv-save.saving{color:var(--rv-gold)}
.rv-save.saving .rv-dot{background:var(--rv-gold);box-shadow:0 0 0 3px rgba(232,176,75,.15)}
.rv-save.err{color:var(--rv-red)}
.rv-save.err .rv-dot{background:var(--rv-red);box-shadow:0 0 0 3px rgba(232,121,92,.15)}

/* ---- button system: 3 tiers ---- */
.rv-btn{font-family:inherit;font-weight:800;font-size:12px;letter-spacing:.03em;border-radius:9px;padding:10px 15px;cursor:pointer;border:1px solid transparent;transition:.15s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none}
.rv-btn.rv-primary{background:var(--rv-lime);color:#0A0A0A}
.rv-btn.rv-primary:hover{filter:brightness(1.06)}
.rv-btn.rv-ghost{background:transparent;border-color:var(--rv-line2);color:var(--rv-ink2)}
.rv-btn.rv-ghost:hover{border-color:var(--rv-ink3);color:var(--rv-ink)}
.rv-icon{width:38px;height:38px;padding:0;justify-content:center;font-size:17px;background:transparent;border:1px solid var(--rv-line2);color:var(--rv-ink2);border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;font-family:inherit}
.rv-icon:hover{border-color:var(--rv-ink3);color:var(--rv-ink)}

/* ---- popover / overflow menu ---- */
.rv-pop{position:relative;display:inline-block}
.rv-sheet{position:absolute;right:0;top:calc(100% + 8px);width:322px;max-width:calc(100vw - 40px);background:var(--rv-panel2);border:1px solid var(--rv-line2);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.5);padding:16px;z-index:60;display:none;text-align:left}
.rv-pop.open .rv-sheet{display:block}
.rv-sheet h4{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rv-ink3);margin:0 0 10px}
.rv-linkfield{display:flex;gap:7px;margin-bottom:12px}
.rv-linkfield input{flex:1;min-width:0;background:var(--rv-bg);border:1px solid var(--rv-line);color:var(--rv-ink2);font-family:inherit;font-size:12px;padding:9px 11px;border-radius:8px;outline:none}
.rv-linkfield .rv-cp{background:var(--rv-lime);color:#0A0A0A;border:none;border-radius:8px;font-family:inherit;font-weight:800;font-size:11px;padding:0 13px;cursor:pointer}
.rv-srow{display:flex;gap:9px;margin-bottom:14px}
.rv-srow .rv-btn{flex:1;justify-content:center}
.rv-tgl{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--rv-line)}
.rv-tgl .rv-lbl{font-size:12.5px;font-weight:600;color:var(--rv-ink)}
.rv-tgl .rv-lbl small{display:block;font-size:10.5px;color:var(--rv-ink3);font-weight:500;margin-top:2px}
.rv-switch{position:relative;width:40px;height:23px;flex:0 0 auto;cursor:pointer;display:inline-block}
.rv-switch input{display:none}
.rv-switch .rv-tk{position:absolute;inset:0;background:var(--rv-raise);border:1px solid var(--rv-line2);border-radius:100px;transition:.18s}
.rv-switch .rv-tk::after{content:"";position:absolute;left:3px;top:2.5px;width:16px;height:16px;border-radius:50%;background:var(--rv-ink3);transition:.18s}
.rv-switch input:checked + .rv-tk{background:rgba(58,175,169,.25);border-color:var(--rv-teal)}
.rv-switch input:checked + .rv-tk::after{transform:translateX(17px);background:var(--rv-teal)}
.rv-menu{position:absolute;right:0;top:calc(100% + 8px);width:214px;background:var(--rv-panel2);border:1px solid var(--rv-line2);border-radius:12px;box-shadow:0 22px 60px rgba(0,0,0,.5);padding:6px;z-index:60;display:none;text-align:left}
.rv-pop.open .rv-menu{display:block}
.rv-menu a,.rv-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;font-size:13px;font-weight:600;color:var(--rv-ink2);text-decoration:none;background:none;border:none;font-family:inherit;cursor:pointer;text-align:left}
.rv-menu a:hover,.rv-menu button:hover{background:rgba(255,255,255,.05);color:var(--rv-ink)}
.rv-menu .rv-div{height:1px;background:var(--rv-line);margin:5px 8px}

/* ---- deal switcher (row 2: which doc of this deal) ---- */
.rv-dnav{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--rv-line);flex-wrap:wrap}
.rv-dtab{background:none;border:none;border-bottom:2px solid transparent;color:var(--rv-ink3);font-family:inherit;font-weight:800;font-size:13.5px;letter-spacing:.01em;padding:13px 13px;margin-bottom:-1px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:7px;text-decoration:none}
.rv-dtab:hover{color:var(--rv-ink)}
.rv-dtab.on{color:var(--rv-ink);border-bottom-color:var(--rv-lime)}
.rv-dtab .rv-d{width:6px;height:6px;border-radius:50%;background:var(--rv-teal)}
.rv-dtab.deal{color:var(--rv-ink2)}
.rv-dtab.create{color:var(--rv-ink3);font-weight:700}
.rv-dtab.create:hover{color:var(--rv-teal)}
.rv-dtab.create .rv-d{background:var(--rv-ink3)}
.rv-dtab .rv-go{font-size:11px;color:var(--rv-ink3);font-weight:700}

/* ---- in-content view toggle (e.g. Treatment / Storyboard) ---- */
.rv-vt{display:inline-flex;background:var(--rv-panel2);border:1px solid var(--rv-line);border-radius:10px;padding:3px}
.rv-vt button{background:none;border:none;color:var(--rv-ink3);font-family:inherit;font-weight:800;font-size:12.5px;letter-spacing:.02em;padding:9px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:.15s}
.rv-vt button:hover{color:var(--rv-ink)}
.rv-vt button.on{background:var(--rv-raise);color:var(--rv-ink);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.rv-vt .rv-n{font-size:10.5px;font-weight:800;color:var(--rv-ink3);background:var(--rv-bg);border-radius:100px;padding:1px 7px}
.rv-vt button.on .rv-n{color:var(--rv-ink)}

@media(max-width:640px){
  .rv-wb h1{font-size:19px}
  .rv-dtab{padding:12px 10px;font-size:12.5px}
}
