/* Arete Elite — ops dashboard. Premium dark theme. */
:root{
  --bg:#0a0c10; --bg2:#11141b; --panel:#141821; --panel2:#1a1f2b;
  --line:#232a38; --line2:#2e3647;
  --txt:#e7ecf4; --mut:#8a93a6; --mut2:#5f6878;
  --red:#ff4d5e; --green:#33d684; --amber:#ffb23e; --cyan:#36c5d6; --blue:#5b8cff;
  --shadow:0 10px 40px rgba(0,0,0,.45);
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:radial-gradient(1200px 700px at 70% -10%, #141a26 0%, var(--bg) 55%) fixed;
  color:var(--txt);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.boot{display:grid;place-items:center;height:100vh;color:var(--mut)}
button{font:inherit;cursor:pointer;border:0;border-radius:10px;color:var(--txt);background:var(--panel2)}
button:hover{filter:brightness(1.12)}
button:disabled{opacity:.45;cursor:default;filter:none}
input,textarea,select{font:inherit;color:var(--txt);background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--blue)}
a{color:var(--cyan)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ── Login ─────────────────────────────────────────── */
.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px}
.login{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:32px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}
.brand b{font-size:18px;letter-spacing:.3px}
.login h1{font-size:15px;color:var(--mut);font-weight:500;margin:0 0 22px}
.login label{display:block;font-size:12px;color:var(--mut);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.6px}
.login button.primary{width:100%;margin-top:22px;background:linear-gradient(180deg,#5b8cff,#3f6fe0);padding:12px;font-weight:600}
.err{color:var(--red);font-size:13px;margin-top:14px;min-height:18px}

/* ── Shell ─────────────────────────────────────────── */
.top{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--line);background:rgba(10,12,16,.82);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.top .brand b{font-size:16px}
.tabs{display:flex;gap:4px;margin-left:8px}
.tab{padding:7px 14px;border-radius:9px;color:var(--mut);background:transparent;font-weight:500}
.tab.on{color:var(--txt);background:var(--panel2)}
.spacer{flex:1}
.who{color:var(--mut);font-size:13px}
.who b{color:var(--txt)}
.ghost{background:transparent;border:1px solid var(--line2);padding:7px 12px;color:var(--mut)}

.wrap{max-width:1500px;margin:0 auto;padding:18px 20px}

/* ── Review layout ─────────────────────────────────── */
.review{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
.list-col{position:sticky;top:74px;height:calc(100vh - 92px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.list-head{padding:12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.search{padding:9px 11px}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12px;padding:5px 10px;border-radius:20px;background:var(--bg2);color:var(--mut);border:1px solid var(--line)}
.chip.on{color:#04130b;background:var(--green);border-color:var(--green);font-weight:600}
.chip.pend.on{background:var(--mut);color:#0a0c10}
.chip.needs_edit.on{background:var(--amber);color:#1a1102}
.chip.rejected.on{background:var(--red);color:#1a0306}
.chip.approved.on{background:var(--green);color:#04130b}
.list{overflow-y:auto;flex:1}
.row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--bg2);cursor:pointer}
.row:hover{background:var(--panel2)}
.row.sel{background:var(--panel2);box-shadow:inset 3px 0 0 var(--blue)}
.row .nm{flex:1;min-width:0}
.row .nm b{display:block;font-size:13.5px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .nm small{color:var(--mut2);font-size:11px}
.dotmark{width:8px;height:8px;border-radius:50%;flex:none;background:var(--mut2)}
.dotmark.approved{background:var(--green)}
.dotmark.needs_edit{background:var(--amber)}
.dotmark.rejected{background:var(--red)}
.dotmark.pending{background:var(--mut2)}
.vflag{font-size:10px;color:var(--cyan);border:1px solid var(--line2);border-radius:5px;padding:1px 4px}

/* ── Detail ────────────────────────────────────────── */
.detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.empty{display:grid;place-items:center;height:60vh;color:var(--mut)}
.dhead{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}
.dhead h2{margin:0;font-size:22px;text-transform:capitalize}
.dhead .meta{color:var(--mut);font-size:13px;margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}
.pill{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--bg2);border:1px solid var(--line2);color:var(--mut)}
.status-badge{font-size:12px;padding:6px 12px;border-radius:8px;font-weight:600;text-transform:capitalize}
.status-badge.pending{background:var(--bg2);color:var(--mut)}
.status-badge.approved{background:rgba(51,214,132,.16);color:var(--green)}
.status-badge.needs_edit{background:rgba(255,178,62,.16);color:var(--amber)}
.status-badge.rejected{background:rgba(255,77,94,.16);color:var(--red)}

.dbody{display:grid;grid-template-columns:1fr 1fr;gap:0}
.media-col{padding:18px 20px;border-right:1px solid var(--line)}
.info-col{padding:18px 20px}
.media-box{background:#000;border:1px solid var(--line2);border-radius:12px;overflow:hidden;margin-bottom:12px;position:relative;aspect-ratio:3/4;display:grid;place-items:center}
.media-box video,.media-box img{width:100%;height:100%;object-fit:contain;display:block}
.media-tabs{display:flex;gap:6px;margin-bottom:10px}
.media-tabs button{padding:6px 12px;font-size:13px;background:var(--bg2);color:var(--mut);border:1px solid var(--line)}
.media-tabs button.on{background:var(--panel2);color:var(--txt);border-color:var(--line2)}
.pending-media{color:var(--mut);text-align:center;padding:30px;font-size:13px}
.pending-media .big{font-size:32px;margin-bottom:8px;opacity:.5}

.muscles{display:flex;gap:18px;margin-bottom:14px;flex-wrap:wrap}
.muscles .grp small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mut);margin-bottom:4px}
.mtag{display:inline-block;font-size:12px;padding:3px 9px;border-radius:7px;margin:0 4px 4px 0;text-transform:capitalize}
.mtag.prim{background:rgba(255,77,94,.16);color:var(--red);border:1px solid rgba(255,77,94,.3)}
.mtag.sec{background:rgba(51,214,132,.14);color:var(--green);border:1px solid rgba(51,214,132,.28)}

.instr h4{margin:16px 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--cyan)}
.instr ol,.instr ul{margin:0;padding-left:20px;color:var(--txt)}
.instr li{margin:4px 0}
.instr .summary{color:var(--mut);font-style:italic;margin:0 0 4px}

/* ── Verdict bar ───────────────────────────────────── */
.verdict{border-top:1px solid var(--line);padding:16px 20px;background:var(--bg2)}
.verdict-btns{display:flex;gap:10px;margin-bottom:12px}
.vb{flex:1;padding:13px;font-weight:600;border:1px solid var(--line2);background:var(--panel2);display:flex;flex-direction:column;align-items:center;gap:3px}
.vb small{font-weight:400;color:var(--mut);font-size:11px}
.vb.approve.on{background:rgba(51,214,132,.18);border-color:var(--green);color:var(--green)}
.vb.edit.on{background:rgba(255,178,62,.18);border-color:var(--amber);color:var(--amber)}
.vb.reject.on{background:rgba(255,77,94,.18);border-color:var(--red);color:var(--red)}
.flagrow{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.fl{font-size:12px;padding:5px 10px;border-radius:8px;background:var(--panel2);color:var(--mut);border:1px solid var(--line)}
.fl.on{background:rgba(91,140,255,.18);color:var(--blue);border-color:var(--blue)}
.verdict textarea{min-height:54px;resize:vertical;margin-bottom:10px}
.submit-row{display:flex;align-items:center;gap:12px}
.submit-row .save{background:linear-gradient(180deg,#5b8cff,#3f6fe0);padding:11px 24px;font-weight:600}
.submit-row .saved{color:var(--green);font-size:13px}
.kbd{font-size:11px;color:var(--mut2);margin-left:auto}
.kbd b{background:var(--panel2);border:1px solid var(--line2);border-radius:5px;padding:1px 6px;color:var(--mut)}

/* ── Cards / metrics (admin tabs) ──────────────────── */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card .k{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut)}
.card .v{font-size:30px;font-weight:700;margin-top:6px;letter-spacing:-.5px}
.card .v.green{color:var(--green)} .card .v.red{color:var(--red)} .card .v.amber{color:var(--amber)} .card .v.cyan{color:var(--cyan)}
.card .sub{font-size:12px;color:var(--mut);margin-top:4px}
.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:18px}
.section h3{margin:0 0 14px;font-size:14px}
.bars{display:flex;flex-direction:column;gap:7px}
.bar{display:grid;grid-template-columns:120px 1fr 80px;align-items:center;gap:10px;font-size:13px}
.bar .track{height:18px;background:var(--bg2);border-radius:6px;overflow:hidden}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:6px}
.bar .amt{text-align:right;color:var(--mut);font-variant-numeric:tabular-nums}
.note{color:var(--mut);font-size:12.5px;line-height:1.6;margin-top:10px}
.warn{background:rgba(255,178,62,.1);border:1px solid rgba(255,178,62,.3);color:var(--amber);border-radius:10px;padding:12px 14px;font-size:13px}
table.feed{width:100%;border-collapse:collapse;font-size:13px}
table.feed td{padding:7px 8px;border-bottom:1px solid var(--bg2);color:var(--mut)}
table.feed td b{color:var(--txt)}
.hrow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--bg2)}
.hrow .ind{width:10px;height:10px;border-radius:50%}
.ind.ok{background:var(--green);box-shadow:0 0 10px var(--green)} .ind.bad{background:var(--red)} .ind.warn{background:var(--amber)}
.hrow .hl{flex:1} .hrow .hv{color:var(--mut);font-variant-numeric:tabular-nums}

.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:50}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px;width:360px;box-shadow:var(--shadow)}
.modal h3{margin:0 0 16px}

@media(max-width:1100px){.review{grid-template-columns:1fr}.list-col{position:static;height:auto;max-height:340px}.dbody{grid-template-columns:1fr}.media-col{border-right:0;border-bottom:1px solid var(--line)}}

/* ── Reviewer focus mode ───────────────────────────── */
.ftop{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line);background:rgba(10,12,16,.82);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.ftag{margin-left:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:2px 10px}
.fprog{color:var(--mut);font-size:13px;font-variant-numeric:tabular-nums}
.fwrap{max-width:1080px;margin:0 auto;padding:22px 20px 130px}
.fcard{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}
.fmedia{position:sticky;top:80px;background:#000;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;display:grid;place-items:center}
.fmedia video,.fmedia img{width:100%;height:100%;object-fit:contain;background:#000}
.finfo h2{margin:0 0 10px;font-size:23px}
.fbar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.4)}
.fbar .fbtn{flex:1;max-width:340px}
.fbtn{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line);border-radius:12px;padding:13px 18px;font-size:16px;font-weight:700;color:var(--txt);background:var(--panel);cursor:pointer;transition:transform .05s,box-shadow .15s}
.fbtn small{font-weight:500;font-size:11.5px;color:var(--mut)}
.fbtn:active{transform:translateY(1px)}
.fbtn.good{border-color:var(--green);color:var(--green)}
.fbtn.good:hover{background:rgba(51,214,132,.12);box-shadow:0 0 0 1px var(--green)}
.fbtn.issue{border-color:var(--amber);color:var(--amber)}
.fbtn.issue:hover{background:rgba(255,178,62,.1);box-shadow:0 0 0 1px var(--amber)}
.fbtn.submit{border-color:var(--amber);color:#1a1206;background:var(--amber);flex:0 0 auto;flex-direction:row}
.fbtn:disabled{opacity:.4;cursor:default}
.fissuebox{display:flex;align-items:center;gap:10px;flex:1}
.fissuebox[hidden]{display:none}
.fissuebox input{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--txt);font-size:14px}
.fhint{margin-left:auto;color:var(--mut);font-size:12px}
.fhint b{color:var(--txt);background:var(--bg2);border-radius:5px;padding:1px 6px;font-weight:600}
.fdone{max-width:480px;margin:8vh auto;text-align:center}
.fdone .big{font-size:54px;color:var(--green);line-height:1}
.fdone h2{margin:14px 0 8px} .fdone .sub{color:var(--mut);font-size:13px}
@media(max-width:900px){.fcard{grid-template-columns:1fr}.fmedia{position:static;aspect-ratio:16/10}.fbar{flex-wrap:wrap}.fhint{display:none}}
