/* ===================== OG STUDIO ===================== */
:root{ --sx-bg:#0b0b0d; --sx-panel:#141417; --sx-panel2:#1a1a1f; --sx-line:rgba(255,255,255,.08);
  --sx-ink:#ece8dd; --sx-mut:#9a958a; --sx-ok:#46c98a; --sx-rev:#e0b34a; --sx-draft:#7d8089; }

/* nav pill -> studio button */
/* OG STUDIO nav pill — original clean design (small cream-gold) */
.nav-links a.prime-pill.studio-pill{ text-decoration:none; cursor:pointer;
  font-size:10.5px; font-weight:800; letter-spacing:.5px; color:var(--noir);
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  padding:4px 9px; border-radius:999px; white-space:nowrap; }
.nav-links a.prime-pill.studio-pill:hover{ background:linear-gradient(135deg,var(--gold-soft),var(--gold)); }
.nav-links a.prime-pill.studio-pill.active{ box-shadow:0 0 16px rgba(203,182,130,.5); }

/* layout */
.studio{ display:flex; min-height:100vh; box-sizing:border-box; padding-top:56px; background:var(--sx-bg); color:var(--sx-ink); }
.studio-side{ width:236px; flex:0 0 236px; background:var(--sx-panel); border-right:1px solid var(--sx-line);
  padding:22px 14px; position:sticky; top:56px; align-self:flex-start; height:calc(100vh - 56px); display:flex; flex-direction:column; }
.sx-brand{ font-size:20px; letter-spacing:.14em; color:var(--gold); padding:4px 10px 18px; }
.sx-brand b{ color:var(--sx-ink); font-weight:800; }
.sx-nav-list{ display:flex; flex-direction:column; gap:3px; }
.sx-nav{ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:9px; background:none; border:0;
  color:var(--sx-mut); font:inherit; font-size:14.5px; font-weight:600; cursor:pointer; text-align:left; transition:all .15s; }
.sx-nav svg{ width:20px; height:20px; fill:currentColor; flex:0 0 20px; }
.sx-nav:hover{ background:var(--sx-panel2); color:var(--sx-ink); }
.sx-nav.active{ background:linear-gradient(90deg,rgba(203,182,130,.16),rgba(203,182,130,.05)); color:var(--gold); box-shadow:inset 3px 0 0 var(--gold); }
.sx-side-foot{ margin-top:auto; display:flex; flex-direction:column; gap:6px; padding-top:16px; border-top:1px solid var(--sx-line); }
.sx-mini{ background:var(--sx-panel2); border:1px solid var(--sx-line); color:var(--sx-mut); padding:9px 12px; border-radius:8px;
  font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.sx-mini:hover{ color:var(--sx-ink); border-color:rgba(203,182,130,.4); }
.sx-mini.full{ width:100%; margin-top:10px; }

.studio-stage{ flex:1; min-width:0; display:flex; flex-direction:column; }
.studio-bar{ display:flex; align-items:center; justify-content:space-between; padding:14px 30px;
  border-bottom:1px solid var(--sx-line); background:rgba(20,20,23,.6); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); position:sticky; top:56px; z-index:5; }
.sx-who{ display:flex; align-items:center; gap:12px; }
.sx-av{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--saddle,#8a6d3b));
  color:#1a1407; font-weight:800; display:grid; place-items:center; font-size:15px; }
.sx-name{ font-weight:700; font-size:14.5px; }
.sx-mail{ font-size:12px; color:var(--sx-mut); }
.sx-tag{ color:var(--gold); letter-spacing:.06em; }
.sx-admin{ display:inline-flex; align-items:center; gap:9px; background:var(--sx-panel2); border:1px solid var(--sx-line);
  color:var(--sx-mut); padding:9px 15px; border-radius:999px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:all .15s; }
.sx-admin .sx-dot{ width:8px; height:8px; border-radius:50%; background:var(--sx-draft); }
.sx-admin.on{ color:var(--gold); border-color:rgba(203,182,130,.55); background:rgba(203,182,130,.1); }
.sx-admin.on .sx-dot{ background:var(--gold); box-shadow:0 0 8px var(--gold); }

.studio-main{ padding:26px 30px 60px; max-width:1180px; }
.sx-sec{ animation:sxIn .25s ease both; }
@keyframes sxIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
.sx-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.sx-head h1{ font-size:26px; font-weight:800; margin:0; }
.sx-scope{ font-size:13px; font-weight:600; color:var(--sx-mut); letter-spacing:0; }

/* range picker */
.sx-range{ display:inline-flex; gap:4px; background:var(--sx-panel); border:1px solid var(--sx-line); border-radius:10px; padding:4px; }
.sx-rg{ background:none; border:0; color:var(--sx-mut); padding:7px 13px; border-radius:7px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:all .15s; }
.sx-rg:hover{ color:var(--sx-ink); }
.sx-rg.on{ background:var(--gold); color:#1a1407; }

/* projected note */
.sx-note{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:rgba(224,179,74,.08); border:1px solid rgba(224,179,74,.25);
  color:#d8cdb3; padding:11px 15px; border-radius:10px; font-size:13px; margin-bottom:18px; }
.sx-note--rev{ background:rgba(70,201,138,.07); border-color:rgba(70,201,138,.22); }
.sx-note-dot{ width:8px; height:8px; border-radius:50%; background:var(--sx-rev); flex:0 0 8px; }
.sx-note--rev .sx-note-dot{ background:var(--sx-ok); }
.sx-link{ background:none; border:0; color:var(--gold); font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; padding:0; }

/* KPI cards */
.sx-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.sx-kpi{ background:var(--sx-panel); border:1px solid var(--sx-line); border-radius:13px; padding:16px 18px; }
.sx-kpi-l{ font-size:12.5px; color:var(--sx-mut); font-weight:600; }
.sx-kpi-v{ font-size:30px; font-weight:800; margin:6px 0 4px; letter-spacing:-.5px; }
.sx-kpi-s{ font-size:12px; color:var(--sx-mut); }
.sx-up{ color:var(--sx-ok); font-weight:700; }

/* cards + grids */
.sx-grid{ display:grid; grid-template-columns:1.7fr 1fr; gap:16px; margin-bottom:16px; }
.sx-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sx-card{ background:var(--sx-panel); border:1px solid var(--sx-line); border-radius:14px; padding:18px 20px; }
.sx-card--wide{ grid-column:auto; }
.sx-card-h{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.sx-card-h h3{ font-size:15px; font-weight:700; margin:0; }
.sx-muted{ color:var(--sx-mut); font-size:12.5px; }
.sx-lead{ color:var(--sx-ink); font-size:14px; margin:0 0 10px; }
.sx-lead b{ color:var(--gold); }

/* charts */
.chart{ width:100%; height:auto; display:block; overflow:visible; }
.ch-line{ fill:none; stroke:var(--gold); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.ch-dot{ fill:var(--gold); stroke:#1a1407; stroke-width:1.5; }
.ch-grid{ stroke:var(--sx-line); stroke-width:1; vector-effect:non-scaling-stroke; }
.ch-yl,.ch-xl{ fill:var(--sx-mut); font-size:11px; font-family:inherit; }
.ch-bar{ fill:var(--gold); opacity:.85; }

/* horizontal bars */
.hbars{ display:flex; flex-direction:column; gap:11px; }
.hbar{ display:grid; grid-template-columns:140px 1fr 56px; align-items:center; gap:10px; font-size:12.5px; }
.hbar-l{ color:var(--sx-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hbar-track{ height:9px; background:var(--sx-panel2); border-radius:5px; overflow:hidden; }
.hbar-track i{ display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-soft,#e9dbbd)); border-radius:5px; }
.hbar-v{ color:var(--sx-mut); text-align:right; font-weight:700; }

/* realtime + top list */
.sx-rt{ text-align:left; margin-bottom:6px; }
.sx-rt-v{ font-size:30px; font-weight:800; color:var(--gold); }
.sx-rt-l{ font-size:12px; color:var(--sx-mut); }
.sx-toplist{ display:flex; flex-direction:column; gap:9px; }
.sx-toprow{ display:flex; align-items:center; gap:11px; }
.sx-toprk{ color:var(--sx-mut); font-weight:800; width:14px; }
.sx-toprow img{ width:54px; height:32px; object-fit:cover; border-radius:5px; flex:0 0 54px; background:#000; }
.sx-topmeta{ display:flex; flex-direction:column; min-width:0; }
.sx-topt{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sx-topv{ font-size:11.5px; color:var(--sx-mut); }

/* latest */
.sx-latest-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.sx-latest-row img{ width:150px; height:84px; object-fit:cover; border-radius:8px; background:#000; }
.sx-latest-t{ font-size:17px; font-weight:700; }
.sx-latest-d{ font-size:12.5px; color:var(--sx-mut); margin:3px 0 8px; }
.sx-latest-stats{ display:flex; gap:26px; margin-left:auto; flex-wrap:wrap; }
.sx-latest-stats div{ display:flex; flex-direction:column; }
.sx-latest-stats b{ font-size:19px; font-weight:800; }
.sx-latest-stats span{ font-size:11.5px; color:var(--sx-mut); }

/* status badges + chips */
.sx-badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:11.5px; font-weight:700; }
.sx-badge.ok{ background:rgba(70,201,138,.14); color:var(--sx-ok); }
.sx-badge.rev{ background:rgba(224,179,74,.16); color:var(--sx-rev); }
.sx-badge.draft{ background:rgba(125,128,137,.18); color:var(--sx-draft); }
.sx-chips{ display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.sx-chip{ background:var(--sx-panel); border:1px solid var(--sx-line); color:var(--sx-mut); padding:8px 14px; border-radius:999px;
  font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.sx-chip i{ font-style:normal; opacity:.7; margin-left:3px; }
.sx-chip.on{ background:rgba(203,182,130,.14); color:var(--gold); border-color:rgba(203,182,130,.45); }

/* tables */
.sx-table{ display:flex; flex-direction:column; }
.sx-tr{ display:grid; grid-template-columns:2.4fr 1fr 1fr .8fr .8fr .6fr 1fr; align-items:center; gap:10px;
  padding:11px 8px; border-bottom:1px solid var(--sx-line); font-size:13px; }
.sx-table--admin .sx-tr{ grid-template-columns:2.4fr 1.2fr 1fr 1fr .9fr 1fr; }
.sx-tr--head{ color:var(--sx-mut); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.sx-tr[data-film]{ cursor:pointer; }
.sx-tr[data-film]:hover{ background:var(--sx-panel2); }
.c-proj{ display:flex; align-items:center; gap:12px; min-width:0; }
.c-proj img{ width:64px; height:38px; object-fit:cover; border-radius:5px; background:#000; flex:0 0 64px; }
.c-proj-t{ display:flex; flex-direction:column; min-width:0; }
.c-proj-t b{ font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-proj-t i{ font-style:normal; font-size:11.5px; color:var(--sx-mut); }
.c-num{ text-align:right; font-variant-numeric:tabular-nums; }
.c-date,.c-cr{ color:var(--sx-mut); font-size:12.5px; }
.sx-ad{ font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:5px; }
.sx-ad.on{ background:rgba(70,201,138,.14); color:var(--sx-ok); }
.sx-ad.off{ background:rgba(125,128,137,.16); color:var(--sx-draft); }
.sx-search{ background:var(--sx-panel2); border:1px solid var(--sx-line); color:var(--sx-ink); border-radius:8px; padding:8px 12px; font:inherit; font-size:13px; min-width:200px; }
.sx-search.full{ width:100%; margin:6px 0 12px; }

/* payout */
.sx-payout{ text-align:left; }
.sx-pay-bal{ font-size:30px; font-weight:800; color:var(--gold); }
.sx-pay-l{ font-size:12px; color:var(--sx-mut); margin-bottom:12px; }
.sx-pay-bar{ height:9px; background:var(--sx-panel2); border-radius:5px; overflow:hidden; margin-bottom:7px; }
.sx-pay-bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-soft,#e9dbbd)); }
.sx-pay-th{ font-size:12px; color:var(--sx-mut); }

/* empty */
.sx-empty{ text-align:center; padding:70px 20px; }
.sx-empty-ic{ font-size:46px; }
.sx-empty h2{ margin:14px 0 6px; }
.sx-empty p{ color:var(--sx-mut); margin:0 0 18px; }

/* ===== verify gate ===== */
.studio--gate{ display:grid; place-items:center; padding:50px 20px; }
.vg-card{ width:min(520px,94vw); background:var(--sx-panel); border:1px solid var(--sx-line); border-radius:18px; padding:34px 34px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.5); }
.vg-badge{ display:inline-block; background:linear-gradient(135deg,var(--gold),var(--saddle,#8a6d3b)); color:#1a1407;
  font-weight:800; letter-spacing:.12em; font-size:12px; padding:6px 13px; border-radius:999px; }
.vg-card h1{ font-size:25px; font-weight:800; margin:16px 0 8px; }
.vg-sub{ color:var(--sx-mut); font-size:14px; margin:0 0 20px; }
.vg-f{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.vg-f span{ font-size:12.5px; color:var(--sx-mut); font-weight:600; }
.vg-f span i{ font-style:normal; opacity:.7; }
.vg-f input{ background:var(--sx-bg); border:1px solid var(--sx-line); border-radius:9px; padding:12px 14px; color:var(--sx-ink); font:inherit; font-size:14px; transition:border-color .15s; }
.vg-f input:focus{ outline:none; border-color:var(--gold); }
.vg-f input.err{ border-color:#e0564a; }
.vg-check{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--sx-ink); margin:4px 0 18px; cursor:pointer; }
.vg-check input{ margin-top:2px; accent-color:var(--gold); }
.vg-check.err span{ color:#e0746a; }
.vg-go{ width:100%; justify-content:center; }
.vg-fine{ font-size:11.5px; color:var(--sx-mut); margin:14px 0 0; text-align:center; }

/* ===== modal ===== */
.sx-modal{ position:fixed; inset:0; background:rgba(0,0,0,.66); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  display:grid; place-items:center; z-index:200; padding:20px; animation:sxIn .2s ease both; }
.sx-modal-card{ width:min(460px,94vw); max-height:86vh; overflow:auto; background:var(--sx-panel); border:1px solid var(--sx-line);
  border-radius:16px; padding:24px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.sx-modal-card.wide{ width:min(620px,94vw); }
.sx-modal-h{ display:flex; align-items:center; justify-content:space-between; }
.sx-modal-h h2{ font-size:19px; font-weight:800; margin:0; }
.sx-x{ background:none; border:0; color:var(--sx-mut); font-size:18px; cursor:pointer; }
.sx-modal-sub{ color:var(--sx-mut); font-size:13.5px; margin:8px 0 14px; }
.sx-modal-f{ display:flex; align-items:center; justify-content:space-between; margin-top:16px; gap:10px; }
.sx-steps{ color:var(--sx-ink); font-size:13.5px; line-height:1.6; padding-left:20px; margin:0 0 8px; }
.sx-steps code{ background:var(--sx-panel2); padding:1px 6px; border-radius:5px; font-size:12px; color:var(--gold); }
.cl-list{ max-height:48vh; overflow:auto; display:flex; flex-direction:column; gap:2px; margin-top:4px; }
.cl-row{ display:grid; grid-template-columns:22px 56px 1fr auto; align-items:center; gap:10px; padding:7px 6px; border-radius:8px; cursor:pointer; }
.cl-row:hover{ background:var(--sx-panel2); }
.cl-row input{ accent-color:var(--gold); }
.cl-row img{ width:56px; height:32px; object-fit:cover; border-radius:4px; background:#000; }
.cl-t{ font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cl-y{ font-size:11px; color:var(--sx-mut); }
.cl-count{ color:var(--sx-mut); font-size:13px; }

@media (max-width:880px){
  .studio-side{ display:none; }
  .sx-kpis{ grid-template-columns:repeat(2,1fr); }
  .sx-grid,.sx-grid2{ grid-template-columns:1fr; }
  .studio-main{ padding:20px 16px 50px; }
}

/* ===== approvals / requests ===== */
.sx-badge-n{ font-style:normal; margin-left:auto; background:var(--gold); color:#1a1407; font-size:11px; font-weight:800;
  min-width:18px; height:18px; padding:0 5px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; }
.sx-req{ display:flex; flex-direction:column; gap:10px; }
.sx-req-row{ display:flex; align-items:center; gap:14px; padding:13px 16px; background:var(--sx-panel); border:1px solid var(--sx-line); border-radius:12px; }
.sx-req-row img{ width:64px; height:38px; object-fit:cover; border-radius:5px; background:#000; flex:0 0 64px; }
.sx-req-av{ width:40px; height:40px; border-radius:50%; background:var(--sx-panel2); color:var(--gold); font-weight:800; display:grid; place-items:center; flex:0 0 40px; }
.sx-req-meta{ min-width:0; flex:1; }
.sx-req-t{ font-weight:700; font-size:14px; }
.sx-req-s{ font-size:12.5px; color:var(--sx-mut); }
.sx-req-acts{ display:flex; gap:8px; flex:0 0 auto; }
.sx-approve,.sx-reject{ border:1px solid var(--sx-line); background:var(--sx-panel2); color:var(--sx-ink); font:inherit; font-size:13px; font-weight:700;
  padding:8px 16px; border-radius:8px; cursor:pointer; transition:all .15s; }
.sx-approve{ background:rgba(70,201,138,.14); color:var(--sx-ok); border-color:rgba(70,201,138,.4); }
.sx-approve:hover{ background:var(--sx-ok); color:#06210f; }
.sx-reject:hover{ border-color:#e0564a; color:#e0746a; }
.sx-req-group{ margin-bottom:22px; }
.sx-req-group h3{ font-size:15px; margin:0 0 10px; }
.sx-req-empty{ color:var(--sx-mut); font-size:14px; padding:30px; text-align:center; background:var(--sx-panel); border:1px dashed var(--sx-line); border-radius:12px; }

/* pending / rejected gate */
.vg-status{ margin:6px 0 18px; }
.vg-pending .vg-badge{ margin-bottom:4px; }
.vg-card .sx-mini{ margin-top:8px; }
.vg-card .sx-mini.full{ width:100%; }
.sx-pending-ic{ font-size:40px; margin-bottom:6px; }
