/* AdsPower Reddit Panel — operator console
   Base: "Ops Terminal" layout, themed Reddit-orange, with bento stat tiles
   and model-coloured avatars. Cyan is reserved for links + the live log. */
:root{
  --bg:#0a0c0f; --bg-2:#0d1015;
  --panel:#111419; --panel-2:#141920; --panel-3:#181e26;
  --line:#1e242d; --line-2:#252d38;
  --grid:rgba(120,140,160,.035);
  --txt:#e6ebf1; --txt-2:#9aa6b3; --txt-3:#5f6b78; --txt-4:#454f5a;
  --violet:#ff6a3d; --violet-2:#ff4500;   /* Reddit-orange accent (var name kept so every rule inherits) */
  --cyan:#2ee6d6; --cyan-dim:#15b8ab;
  --green:#37e08a; --amber:#f5b13d; --red:#ff5c6c;
  --pink:#ff77c8; --blue:#4a9eff;
  --accent:var(--violet);
  --mono:"SF Mono",ui-monospace,"JetBrains Mono","Cascadia Code",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:var(--sans);color:var(--txt);
  background:
    linear-gradient(0deg,var(--grid) 1px,transparent 1px) 0 0/100% 26px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/26px 100%,
    radial-gradient(1200px 600px at 80% -10%,rgba(255,69,0,.06),transparent 60%),
    var(--bg);
  -webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45;
}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#232b35;border-radius:6px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:#2f3946;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}
button{font-family:var(--sans)}

.app{display:grid;grid-template-columns:236px 1fr;height:100vh;overflow:hidden}

/* ===== SIDEBAR ===== */
.side{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--bg-2),var(--bg));display:flex;flex-direction:column;min-height:0}
.brand{display:flex;align-items:center;gap:10px;padding:15px 16px 14px;border-bottom:1px solid var(--line)}
.logo{width:30px;height:30px;border-radius:7px;background:linear-gradient(150deg,#1a1633,#0d1015);border:1px solid var(--line-2);display:grid;place-items:center;flex:none}
.logo::before{content:"";width:12px;height:12px;border-radius:3px;background:conic-gradient(from 180deg,var(--violet),var(--cyan),var(--violet));box-shadow:0 0 12px rgba(255,69,0,.6)}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt b{font-size:13px;letter-spacing:.2px;font-weight:650}
.brand-txt span{font-size:10px;color:var(--txt-3);font-family:var(--mono);letter-spacing:.5px}
.side-scroll{overflow-y:auto;flex:1;min-height:0;padding:12px 10px 8px}
.nav{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:pointer;color:var(--txt-2);font-size:13px;font-weight:540;transition:background .12s,color .12s}
.nav-item svg{width:15px;height:15px;opacity:.8;flex:none}
.nav-item:hover{background:var(--panel-2);color:var(--txt)}
.nav-item.active{background:linear-gradient(90deg,rgba(255,69,0,.16),rgba(255,69,0,.03));color:#fff}
.nav-item.active svg{opacity:1;color:var(--violet)}
.nav-item .lead-badge{margin-left:auto}
.view{display:flex;flex-direction:column;min-height:0;flex:1}
.view.hidden{display:none}
.side-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--txt-4);padding:8px 8px 6px;font-weight:600}
.grp{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--txt-2);font-size:12.5px;transition:background .12s,color .12s;position:relative}
.grp:hover{background:var(--panel-2);color:var(--txt)}
.grp.active{background:linear-gradient(90deg,rgba(255,69,0,.12),rgba(255,69,0,.02));color:var(--txt)}
.grp.active::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--violet);box-shadow:0 0 8px var(--violet)}
.grp .gname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grp .cnt{font-family:var(--mono);font-size:10.5px;color:var(--txt-3);background:var(--panel-2);border:1px solid var(--line);padding:1px 6px;border-radius:20px;min-width:24px;text-align:center}
.grp.active .cnt{color:var(--violet);border-color:rgba(255,69,0,.3)}
.dot{width:7px;height:7px;border-radius:50%;flex:none}
.side-foot{border-top:1px solid var(--line);padding:11px 14px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2.2s infinite}
.pulse.off{background:var(--red);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(55,224,138,.5)}70%{box-shadow:0 0 0 7px rgba(55,224,138,0)}100%{box-shadow:0 0 0 0 rgba(55,224,138,0)}}
.side-foot .lbl{font-size:11px;color:var(--txt-2)}
.side-foot .sub{font-size:10px;color:var(--txt-4);font-family:var(--mono);margin-left:auto}
/* second line: when the profile list last came in from AdsPower */
.sync-foot{flex-basis:100%;font-size:10px;color:var(--txt-4);font-family:var(--mono);margin-top:5px}
.sync-foot.bad{color:var(--red)}

/* ===== MAIN ===== */
.main{display:flex;flex-direction:column;min-width:0;min-height:0}
.topbar{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(17,20,25,.6),transparent);backdrop-filter:blur(6px)}
.topbar h1{margin:0;font-size:15px;font-weight:640;letter-spacing:.2px}
.topbar .crumb{font-size:11px;color:var(--txt-3);font-family:var(--mono)}
.conn{display:flex;align-items:center;gap:7px;white-space:nowrap;margin-left:6px;background:rgba(55,224,138,.08);border:1px solid rgba(55,224,138,.22);color:var(--green);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:550;font-family:var(--mono)}
.conn.bad{background:rgba(255,92,108,.08);border-color:rgba(255,92,108,.25);color:var(--red)}
.conn .pulse{background:currentColor;animation:none}
.spacer{flex:1}
/* white-space:nowrap — on a 1100px laptop the toolbar ran out of room and every two-word
   button ("New profile", "Check status", "Sign out") broke onto two lines, doubling the
   height of the bar. Buttons keep their label on one line and the row scrolls instead. */
.btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt);padding:6px 12px;border-radius:7px;font-size:12px;font-weight:520;cursor:pointer;transition:border-color .12s,background .12s,transform .05s}
.btn:hover{background:var(--panel-3);border-color:#313b47}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn svg{width:13px;height:13px;opacity:.85}
.btn.primary{background:linear-gradient(180deg,var(--violet),var(--violet-2));border:none;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 14px rgba(255,69,0,.22)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.danger{background:linear-gradient(180deg,#ff6b78,#e23b4c);border:none;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 14px rgba(255,92,108,.25)}
.btn.danger:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;border-color:var(--line)}
.mini{background:none;border:none;color:var(--txt-3);cursor:pointer;font-size:11px}
.mini:hover{color:var(--txt)}
.mini-warn{border:1px solid transparent;border-radius:6px;padding:2px 8px}
.mini-warn.on{color:var(--amber);border-color:rgba(245,177,61,.35);background:rgba(245,177,61,.1)}
/* generic hide helper (only .view.hidden / .modal.hidden existed before).
   !important so it always beats an element's own display rule regardless of order */
.hidden{display:none!important}
/* image-mode segmented control (One pool / By position) in the Post modal */
.mode-seg{display:flex;gap:8px;margin:4px 0 12px}
.mode-seg .mseg{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt-2);padding:9px 12px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:550;transition:border-color .12s,background .12s,color .12s}
.mode-seg .mseg:hover{border-color:#313b47}
.mode-seg .mseg.on{background:rgba(255,69,0,.12);border-color:rgba(255,69,0,.5);color:var(--txt)}
.mode-seg .mseg .sub{font-size:10.5px;font-weight:400;color:var(--txt-4);text-align:left}
.mode-seg .mseg.on .sub{color:var(--violet)}
/* one batch per image position */
.slot-row{background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;margin-bottom:8px}
.slot-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.slot-n{font-size:12px;font-weight:650;color:var(--violet);background:rgba(255,69,0,.12);border:1px solid rgba(255,69,0,.3);border-radius:20px;padding:2px 10px}
.mini-btn{background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt-2);padding:4px 10px;border-radius:7px;font-size:11.5px;cursor:pointer}
.mini-btn:hover{background:var(--panel-3);border-color:#313b47;color:var(--txt)}
.slot-count{font-family:var(--mono);font-size:10px;color:var(--txt-3);background:var(--panel);border:1px solid var(--line-2);border-radius:20px;padding:2px 9px}
.slot-rm{margin-left:auto;background:none;border:none;color:var(--txt-4);font-size:16px;line-height:1;cursor:pointer;padding:0 4px}
.slot-rm:hover{color:var(--red)}
.slot-imgs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;align-items:center}
.slot-thumb{position:relative;width:40px;height:40px;flex:none}
.slot-thumb img{width:40px;height:40px;object-fit:cover;border-radius:7px;border:1px solid var(--line-2);background:var(--panel-3);display:block}
.slot-ix{position:absolute;bottom:2px;left:2px;font-family:var(--mono);font-size:8.5px;font-weight:700;color:#fff;background:rgba(10,12,15,.72);border-radius:4px;min-width:13px;height:13px;line-height:13px;text-align:center;padding:0 2px}
/* pacing segmented control in the Mass follow modal */
.pace-seg{display:flex;gap:8px;margin-top:6px}
.pace-seg .pace{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt-2);padding:9px 12px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:550;transition:border-color .12s,background .12s,color .12s}
.pace-seg .pace:hover{border-color:#313b47}
.pace-seg .pace.on{background:rgba(255,69,0,.12);border-color:rgba(255,69,0,.5);color:var(--txt)}
.pace-seg .pace .sub{font-size:10.5px;font-weight:400;color:var(--txt-4)}
.pace-seg .pace.on .sub{color:var(--violet)}
/* segmented All / Problems log filter */
.logseg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line-2);border-radius:8px;padding:2px;gap:2px}
.logseg .seg{background:none;border:none;color:var(--txt-3);cursor:pointer;font-size:11px;font-weight:550;padding:3px 10px;border-radius:6px;transition:background .12s,color .12s}
.logseg .seg:hover{color:var(--txt)}
.logseg .seg.on{background:var(--violet);color:#fff}
.logseg .seg-warn.on{background:var(--amber);color:#1a1305}

/* filter row */
.filters{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.search{display:flex;align-items:center;gap:8px;flex:1;max-width:340px;background:var(--panel);border:1px solid var(--line-2);border-radius:7px;padding:6px 10px}
.search svg{width:14px;height:14px;color:var(--txt-3);flex:none}
.search input{background:none;border:none;outline:none;color:var(--txt);font-size:12.5px;width:100%;font-family:var(--sans)}
.search input::placeholder{color:var(--txt-4)}
.selwrap{position:relative;display:inline-flex;align-items:center}
.selwrap svg{position:absolute;right:9px;width:12px;height:12px;color:var(--txt-3);pointer-events:none}
.toggle-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line-2);border-radius:7px;padding:6px 10px;font-size:12px;color:var(--txt-2);cursor:pointer;user-select:none}
.toggle-chip:hover{border-color:#313b47;color:var(--txt)}
.toggle-chip input{accent-color:var(--red);cursor:pointer}
.toggle-chip .tag{font-family:var(--mono);font-size:10px;color:var(--red);background:rgba(255,92,108,.1);border:1px solid rgba(255,92,108,.25);border-radius:20px;padding:1px 6px;min-width:18px;text-align:center}
select.sel{appearance:none;-webkit-appearance:none;background:var(--panel);border:1px solid var(--line-2);border-radius:7px;padding:6px 26px 6px 10px;font-size:12px;color:var(--txt);cursor:pointer;font-family:var(--sans)}
select.sel:focus{outline:none;border-color:var(--violet)}
.filters .right{margin-left:auto;font-size:11px;color:var(--txt-3);font-family:var(--mono)}
.filters .right b{color:var(--violet)}

/* bento stat tiles */
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:11px 18px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.tile{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;position:relative;overflow:hidden}
.tile .k{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--txt-3);display:flex;align-items:center;gap:6px}
.tile .k .d{width:6px;height:6px;border-radius:50%}
.tile .v{font-family:var(--mono);font-size:22px;font-weight:640;line-height:1.15;margin-top:3px}
.tile.green .v{color:var(--green)} .tile.amber .v{color:var(--amber)} .tile.red .v{color:var(--red)} .tile.violet .v{color:var(--violet)} .tile.cyan .v{color:var(--cyan)}

/* content grid */
.content{flex:1;min-height:0;display:grid;grid-template-columns:1fr 316px;overflow:hidden}
.tablewrap{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}
.bulk{display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,69,0,.06),transparent 70%);flex-wrap:wrap}
.bulk .count{font-family:var(--mono);font-size:12px;color:var(--violet);font-weight:600;background:rgba(255,69,0,.1);border:1px solid rgba(255,69,0,.25);padding:3px 9px;border-radius:6px}
.bulk .sepp{width:1px;height:18px;background:var(--line-2);margin:0 4px}
.bulk .btn{padding:5px 10px;font-size:11.5px}
.bulk-remark{display:flex;align-items:center;gap:6px}
.bulk-remark input{background:var(--panel);border:1px solid var(--line-2);color:var(--txt);padding:5px 10px;border-radius:7px;font-size:12px;outline:none;font-family:var(--sans);width:190px;transition:border-color .12s}
.bulk-remark input::placeholder{color:var(--txt-4)}
.bulk-remark input:focus{border-color:var(--violet);background:rgba(255,69,0,.04)}

.tscroll{overflow:auto;flex:1;min-height:0}
table{width:100%;border-collapse:collapse;font-size:12.5px}
thead th{position:sticky;top:0;z-index:2;background:var(--bg-2);text-align:left;font-weight:600;color:var(--txt-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;padding:9px 9px;border-bottom:1px solid var(--line-2);white-space:nowrap}
tbody td{padding:0 9px;height:40px;border-bottom:1px solid rgba(30,36,45,.55);white-space:nowrap;vertical-align:middle}
tbody tr{transition:background .1s}
tbody tr:hover{background:rgba(255,255,255,.018)}
tbody tr.sel{background:rgba(255,69,0,.05)}
tbody tr.sel:hover{background:rgba(255,69,0,.07)}
.serial{font-family:var(--mono);color:var(--txt-4);font-size:11px}
.pcell{display:flex;align-items:center;gap:9px}
.avatar{width:26px;height:26px;border-radius:7px;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:#0a0c0f;font-family:var(--sans)}
.pname{font-weight:550;color:var(--txt)}
.pname-link{color:inherit;text-decoration:none;cursor:pointer;transition:color .12s}
.pname-link:hover{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.pname .sub{display:block;font-size:10px;color:var(--txt-4);font-family:var(--mono);font-weight:400;margin-top:-1px}
.handle{font-family:var(--mono);font-size:11.5px;color:var(--cyan)}
.uname{font-family:var(--mono);font-size:11.5px;color:var(--txt-2)}
.grp-cell{display:inline-flex;align-items:center;gap:6px;color:var(--txt-2);font-size:11.5px}

/* inline-editable cells */
.cell-input{background:transparent;border:none;border-bottom:1px dashed transparent;color:var(--txt);padding:3px 2px;width:96px;font-size:12px;font-family:var(--sans);outline:none}
.cell-input.mono{font-family:var(--mono);font-size:11.5px}
.cell-input.remark{width:240px}
.cell-input.method{width:140px}
tr:hover .cell-input{border-bottom-color:rgba(120,140,160,.25)}
.cell-input:focus{border-bottom-color:var(--violet);background:rgba(255,69,0,.04)}
.cell-input::placeholder{color:var(--txt-4);font-style:italic}
/* themed dropdown pill: appearance:none + a CSS-drawn chevron (NO svg data-uri) */
.selwrap{position:relative;display:inline-flex;align-items:center}
.selwrap::after{content:"";position:absolute;right:9px;top:0;bottom:0;margin:auto;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--txt-3);pointer-events:none;transition:border-top-color .12s}
.selwrap:hover::after{border-top-color:var(--txt-2)}
.selwrap select{appearance:none;-webkit-appearance:none;background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;color:var(--txt);padding:4px 24px 4px 10px;font-size:12px;font-weight:500;font-family:var(--sans);cursor:pointer;outline:none;min-width:82px;transition:border-color .12s,background .12s}
.selwrap select:hover{border-color:#323c48;background:var(--panel-3)}
.selwrap select:focus{border-color:var(--violet);box-shadow:0 0 0 2px rgba(255,69,0,.15)}
.selwrap select option{background:var(--panel-2);color:var(--txt)}
/* colour-coded value pills (Model: Mimi=pink/Nina=violet · Type: Slave=blue/Funnel=green) */
.selwrap select.nsel-pink{color:var(--pink);border-color:rgba(255,119,200,.4);background:rgba(255,119,200,.09);font-weight:600}
.selwrap select.nsel-violet{color:var(--violet);border-color:rgba(255,69,0,.4);background:rgba(255,69,0,.1);font-weight:600}
.selwrap select.nsel-blue{color:var(--blue);border-color:rgba(74,158,255,.4);background:rgba(74,158,255,.1);font-weight:600}
.selwrap select.nsel-green{color:var(--green);border-color:rgba(55,224,138,.4);background:rgba(55,224,138,.1);font-weight:600}
.selwrap select.nsel-muted{color:var(--txt-3)}
.selwrap:hover select.nsel-pink{border-color:var(--pink)}
.selwrap:hover select.nsel-violet{border-color:var(--violet)}
.selwrap:hover select.nsel-blue{border-color:var(--blue)}
.selwrap:hover select.nsel-green{border-color:var(--green)}

.cbx{appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:4px;border:1.5px solid #2c3540;background:var(--panel);cursor:pointer;position:relative;vertical-align:middle}
.cbx:checked{background:var(--violet);border-color:var(--violet)}
.cbx:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #0a0c0f;border-width:0 2px 2px 0;transform:rotate(43deg)}

.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.2px;padding:2px 8px 2px 6px;border-radius:20px;text-transform:lowercase}
.badge .d{width:6px;height:6px;border-radius:50%}
.b-active{color:var(--green);background:rgba(55,224,138,.09);border:1px solid rgba(55,224,138,.2)}
.b-active .d{background:var(--green);box-shadow:0 0 6px var(--green)}
.b-logged_out{color:var(--amber);background:rgba(245,177,61,.08);border:1px solid rgba(245,177,61,.2)}
.b-logged_out .d{background:var(--amber)}
.b-needs_verification{color:var(--amber);background:rgba(245,177,61,.08);border:1px solid rgba(245,177,61,.2)}
.b-needs_verification .d{background:var(--amber);box-shadow:0 0 6px rgba(245,177,61,.6)}
.b-banned{color:var(--red);background:rgba(255,92,108,.09);border:1px solid rgba(255,92,108,.22)}
.b-banned .d{background:var(--red);box-shadow:0 0 6px var(--red)}
.b-unknown{color:var(--txt-3);background:rgba(120,140,160,.06);border:1px solid var(--line-2)}
.b-unknown .d{background:var(--txt-3)}
.empty-row{padding:40px;text-align:center;color:var(--txt-3)}

/* ===== RIGHT RAIL ===== */
.rail{display:flex;flex-direction:column;min-height:0;background:var(--bg-2)}
.rail-sec{border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.rail-hd{display:flex;align-items:center;gap:8px;padding:10px 14px 9px}
.rail-hd h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--txt-2);font-weight:640}
.rail-hd .tag{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--txt-4)}
.jobs{padding:0 12px 12px;display:flex;flex-direction:column;gap:9px;max-height:260px;overflow-y:auto}
.job{flex:none;background:var(--panel);border:1px solid var(--line-2);border-radius:9px;padding:11px 12px;position:relative;overflow:hidden}
.job.run{border-color:rgba(255,69,0,.25);box-shadow:0 0 20px rgba(255,69,0,.05)}
.job .top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.job-on{font-family:var(--mono);font-size:10.5px;color:var(--txt-3);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-on .acc{color:var(--cyan)}
.job-on:empty{display:none}
.job .id{font-family:var(--mono);font-size:11px;color:var(--txt-3)}
.job .name{font-size:12px;font-weight:560}
.job .st{margin-left:auto;font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:20px}
.job .st.running{color:var(--violet);background:rgba(255,69,0,.1);border:1px solid rgba(255,69,0,.25)}
.job .st.queued{color:var(--txt-3);background:var(--panel-2);border:1px solid var(--line-2)}
.job .st.done{color:var(--green);background:rgba(55,224,138,.08);border:1px solid rgba(55,224,138,.2)}
.job .st.error,.job .st.stopped{color:var(--red);background:rgba(255,92,108,.08);border:1px solid rgba(255,92,108,.2)}
.bar{height:6px;border-radius:20px;background:#0c0f13;border:1px solid var(--line);overflow:hidden;position:relative}
.bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--violet-2),var(--violet));box-shadow:0 0 10px rgba(255,69,0,.4)}
.bar i.stripe::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:sweep 1.6s linear infinite}
@keyframes sweep{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.job .meta{display:flex;align-items:center;gap:10px;margin-top:8px;font-family:var(--mono);font-size:10.5px;color:var(--txt-3)}
.job .meta .ok{color:var(--green)} .job .meta .bad{color:var(--red)}
.job .meta .stop{margin-left:auto;color:var(--red);background:rgba(255,92,108,.08);border:1px solid rgba(255,92,108,.2);padding:2px 8px;border-radius:6px;cursor:pointer;font-size:10.5px}
.job .meta .stop:hover{background:rgba(255,92,108,.14)}

.console-sec{flex:1;min-height:0}
.console{flex:1;min-height:0;overflow-y:auto;font-family:var(--mono);font-size:11px;line-height:1.7;padding:4px 12px 14px;background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.ln{display:flex;gap:9px;padding:1px 0}
.ln .t{color:var(--txt-4);flex:none}
.ln .lv{flex:none;width:30px;font-weight:600}
.ln .m{color:var(--txt-2);overflow-wrap:anywhere}
.ln .m .acc{color:var(--cyan)}
.lv-info{color:var(--txt-3)} .lv-success{color:var(--green)} .lv-warn{color:var(--amber)} .lv-error{color:var(--red)}
.ln.error .m{color:#e79aa2} .ln.success .m{color:#bfeed3}
.caret{color:var(--cyan);animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ===== MODALS ===== */
/* ===== ACTIVITY VIEW ===== */
.activity{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:12px;overflow:hidden}
.act-bar{display:flex;align-items:center;gap:10px}
.act-grid{display:grid;grid-template-columns:420px 1fr;gap:14px;min-height:0;flex:1}
.act-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.act-jobs{overflow-y:auto;display:flex;flex-direction:column;gap:4px;min-height:0}
.act-cat{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt-4);margin:10px 0 4px;display:flex;align-items:center;gap:6px}
.act-cat:first-child{margin-top:0}
.act-cat .n{color:var(--txt-3)}
.aj-row{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;cursor:pointer;font-size:12px}
.aj-row:hover{border-color:#313b47}
.aj-row.sel{border-color:var(--violet);background:rgba(255,69,0,.06)}
.aj-row.hasfail{border-color:rgba(255,92,108,.32);background:linear-gradient(90deg,rgba(255,92,108,.07),var(--bg-2) 55%)}
.aj-row.hasfail.sel{border-color:var(--red)}
.aj-id{font-family:var(--mono);font-size:10.5px;color:var(--txt-4);flex:none;min-width:26px}
.aj-acc{color:var(--cyan);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aj-counts{font-family:var(--mono);font-size:10.5px;flex:none}
.aj-counts .ok{color:var(--green)} .aj-counts .bad{color:var(--red)}
.aj-st{font-family:var(--mono);font-size:9.5px;padding:2px 7px;border-radius:20px;flex:none}
.aj-st.done{color:var(--green);background:rgba(55,224,138,.08)} .aj-st.running{color:var(--violet);background:rgba(255,69,0,.1)}
.aj-st.stopped,.aj-st.error{color:var(--red);background:rgba(255,92,108,.08)} .aj-st.queued{color:var(--txt-3);background:var(--panel-2)}
.aj-time{color:var(--txt-4);font-size:10px;flex:none}
#actConsole{flex:1}
/* day dividers in the timeline */
.act-day{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt-4);margin:12px 0 5px;display:flex;align-items:center;gap:6px;position:sticky;top:0;background:var(--panel);padding:2px 0;z-index:1}
.act-day:first-child{margin-top:0}
.act-day .n{color:var(--txt-3)}
/* action-type badge inside a job row */
.aj-type{font-size:9.5px;font-weight:600;padding:2px 8px;border-radius:6px;flex:none;letter-spacing:.2px;white-space:nowrap;border:1px solid transparent}
.aj-type.a-post{color:var(--violet);background:rgba(255,69,0,.12);border-color:rgba(255,69,0,.25)}
.aj-type.a-warm{color:var(--amber);background:rgba(245,177,61,.1);border-color:rgba(245,177,61,.22)}
.aj-type.a-scroll{color:var(--cyan);background:rgba(46,230,214,.1);border-color:rgba(46,230,214,.22)}
.aj-type.a-follow{color:var(--pink);background:rgba(255,119,200,.1);border-color:rgba(255,119,200,.22)}
.aj-type.a-setup{color:var(--blue);background:rgba(74,158,255,.1);border-color:rgba(74,158,255,.22)}
.aj-type.a-login{color:var(--green);background:rgba(55,224,138,.1);border-color:rgba(55,224,138,.22)}
.aj-type.a-check{color:var(--txt-3);background:var(--panel-2);border-color:var(--line-2)}
.aj-type.a-webcheck{color:var(--cyan);background:rgba(46,230,214,.1);border-color:rgba(46,230,214,.22)}
.aj-type.a-msg{color:var(--pink);background:rgba(255,119,200,.1);border-color:rgba(255,119,200,.22)}
/* filter chips */
.chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt-2);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:520;cursor:pointer;transition:border-color .12s,background .12s,color .12s}
.chip:hover{border-color:#313b47;color:var(--txt)}
.chip.on{background:rgba(255,69,0,.12);border-color:rgba(255,69,0,.45);color:var(--txt)}
.chip-n{font-family:var(--mono);font-size:10px;color:var(--txt-3);background:var(--bg-2);border-radius:20px;padding:0 6px;min-width:18px;text-align:center}
.chip.on .chip-n{color:var(--violet)}
.chip.issues{border-color:rgba(255,92,108,.35);color:var(--red)}
.chip.issues:hover{border-color:rgba(255,92,108,.6)}
.chip.issues.on{background:rgba(255,92,108,.14);border-color:var(--red);color:#ff8a96}
.chip.issues .chip-n{color:var(--red);background:rgba(255,92,108,.12)}
/* ===== PROXIES VIEW ===== */
.proxy-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:0;flex:1;padding-right:2px}
.px-row{display:flex;align-items:stretch;gap:12px;padding:11px 13px;background:var(--panel);border:1px solid var(--line-2);border-radius:11px;border-left:3px solid var(--line-2)}
.px-row.px-ok{border-left-color:var(--green)}
.px-row.px-warn{border-left-color:var(--amber);background:linear-gradient(90deg,rgba(245,177,61,.05),var(--panel) 60%)}
.px-row.px-danger{border-left-color:var(--red);background:linear-gradient(90deg,rgba(255,92,108,.07),var(--panel) 55%)}
.px-row.px-none{border-left-color:#39424e;opacity:.9}
.px-count{flex:none;width:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--mono);font-size:22px;font-weight:680;color:var(--txt);line-height:1;border-right:1px solid var(--line-2);padding-right:8px}
.px-row.px-danger .px-count{color:var(--red)} .px-row.px-warn .px-count{color:var(--amber)} .px-row.px-ok .px-count{color:var(--green)}
.px-count span{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--txt-4);margin-top:3px}
.px-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.px-addr{font-family:var(--mono);font-size:13px;color:var(--txt);display:flex;align-items:center;gap:8px}
.px-type{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--txt-3);background:var(--panel-2);border:1px solid var(--line-2);padding:1px 7px;border-radius:20px;font-family:var(--sans);font-weight:600}
.px-note{font-size:11px;color:var(--txt-3)}
.px-row.px-danger .px-note{color:var(--red)} .px-row.px-warn .px-note{color:var(--amber)}
.px-profs{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.px-prof{font-family:var(--mono);font-size:10.5px;color:var(--cyan);background:rgba(46,230,214,.07);border:1px solid rgba(46,230,214,.16);padding:2px 8px;border-radius:6px}

.modal{position:fixed;inset:0;background:rgba(4,6,9,.66);display:flex;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(3px)}
/* confirm dialog sits ABOVE other modals (it can appear over the Post/Follow params modal) */
#mConfirm{z-index:80}
.confirm-box{width:440px}
.confirm-body{font-size:13.5px;line-height:1.6;color:var(--txt-2);margin:6px 0 4px}
.confirm-warn{margin-top:12px;padding:9px 11px;border-radius:8px;background:rgba(245,177,61,.1);border:1px solid rgba(245,177,61,.3);color:var(--amber);font-size:12.5px;line-height:1.5}
.sel-hidden{color:var(--amber);font-weight:600;font-family:var(--sans)}
.count.has-hidden{background:rgba(245,177,61,.1);border-color:rgba(245,177,61,.3);color:var(--amber)}
#clearSel{color:var(--txt-3)}
#clearSel:hover{color:var(--red)}
.modal.hidden{display:none}
.modal-box{background:var(--panel);border:1px solid var(--line-2);border-radius:14px;padding:20px;width:640px;max-width:94vw;max-height:90vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.modal-box h3{margin:0 0 14px;font-size:15px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-box label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--txt-3)}
.modal-box label.full{margin-top:10px}
.modal-box .input{background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);padding:8px 10px;border-radius:8px;font-size:13px;outline:none;font-family:var(--sans)}
.modal-box .input:focus{border-color:var(--violet)}
.modal-box textarea.input{resize:vertical}
.checkline{flex-direction:row!important;align-items:center;gap:8px;margin-top:12px;color:var(--txt-2)}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.lead-badge{font-family:var(--mono);font-size:10px;background:rgba(255,69,0,.15);border:1px solid rgba(255,69,0,.3);color:var(--violet);padding:1px 6px;border-radius:20px;margin-left:2px}
.img-source{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.img-list{margin-top:8px;display:flex;flex-direction:column;gap:4px;max-height:170px;overflow-y:auto}
.img-list:empty{display:none}
.img-item{display:flex;align-items:center;gap:9px;padding:5px 8px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:7px;font-size:12px;cursor:grab}
.img-item.dragging{opacity:.4}
.img-item .ih{color:var(--txt-4);cursor:grab;letter-spacing:-2px}
.img-item .idx{font-family:var(--mono);font-size:10px;color:var(--violet);background:rgba(255,69,0,.12);border-radius:20px;min-width:18px;text-align:center;padding:1px 0}
.img-item .in{flex:1;font-family:var(--mono);color:var(--txt-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.img-thumb{width:34px;height:34px;flex:none;object-fit:cover;border-radius:6px;background:var(--panel-3);border:1px solid var(--line-2)}
.img-thumb.broken{visibility:hidden}
.img-item .rm{background:none;border:none;color:var(--txt-4);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}
.img-item .rm:hover{color:var(--red)}
.leads-file-row{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.leads-file-row .btn{white-space:nowrap}

/* ===== LEADS / MASS FOLLOW VIEW ===== */
.leadview{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:14px;overflow:hidden}
.leadview-bar{display:flex;align-items:center;gap:8px}
.lead-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.lead-tiles .tile .v{font-size:24px}
.lead-grid{display:grid;grid-template-columns:340px 1fr;gap:14px;min-height:0;flex:1}
.lead-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.by-account{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:6px}
.ba-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px}
.ba-row.pick{cursor:pointer}
.ba-row.pick:hover{border-color:#313b47}
.ba-row .cbx{flex:none}
.ba-av{width:26px;height:26px;border-radius:7px;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:#0a0c0f}
.ba-name{font-weight:550;flex:1 1 auto;min-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.ba-count{font-family:var(--mono);color:var(--green);font-weight:640;flex:none;min-width:16px;text-align:right}
.ba-count small{color:var(--txt-4);font-weight:400}
/* ===== LEADS POOL VIEW ===== */
.leadpool{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:12px;overflow:hidden}
.lp-top{display:flex;align-items:center;gap:10px}
.lp-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.lp-chipsbar{display:flex;align-items:center}
.lp-selbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,92,108,.06);border:1px solid rgba(255,92,108,.2);border-radius:9px}
.lp-selbar .count{font-family:var(--mono);font-size:12px;color:var(--red);font-weight:600;background:rgba(255,92,108,.1);border:1px solid rgba(255,92,108,.25);padding:3px 9px;border-radius:6px}
.danger-link{background:none;border:none;color:var(--red);cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:2px}
.danger-link:hover{filter:brightness(1.15)}
.lp-tablewrap{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.lp-table{width:100%;border-collapse:collapse;font-size:12.5px}
.lp-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-2);text-align:left;font-weight:600;color:var(--txt-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;padding:9px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.lp-table td{padding:7px 10px;border-bottom:1px solid rgba(30,36,45,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-table tbody tr:hover{background:var(--panel-2)}
.lp-table tbody tr.sel{background:rgba(255,69,0,.07)}
.lp-user{font-family:var(--mono);max-width:220px}
.lp-link{color:var(--cyan);text-decoration:none;cursor:pointer}
.lp-link:hover{text-decoration:underline;text-underline-offset:2px;filter:brightness(1.15)}
.lp-name{color:var(--txt-2);max-width:180px}
.lp-num{font-family:var(--mono);color:var(--txt-3);text-align:right}
.lp-country{color:var(--txt-3);text-transform:uppercase;font-size:11px}
.lp-byc{color:var(--txt-4);font-size:11px}
.lp-by{font-family:var(--mono);color:var(--green)}
.ld-st{font-size:9.5px;font-weight:600;padding:2px 8px;border-radius:20px}
.ld-violet{color:var(--violet);background:rgba(255,69,0,.12)} .ld-green{color:var(--green);background:rgba(55,224,138,.1)}
.ld-amber{color:var(--amber);background:rgba(245,177,61,.1)} .ld-red{color:var(--red);background:rgba(255,92,108,.1)} .ld-muted{color:var(--txt-3);background:var(--panel-2)}
.lp-rm{background:none;border:none;color:var(--txt-4);font-size:16px;line-height:1;cursor:pointer;padding:0 4px;border-radius:5px}
.lp-rm:hover{color:var(--red);background:rgba(255,92,108,.1)}
.lp-foot{display:flex;align-items:center;font-size:11px}
/* All leads / Follow log tabs */
.lead-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:0}
.ltab{background:none;border:none;border-bottom:2px solid transparent;color:var(--txt-3);cursor:pointer;font-size:12.5px;font-weight:550;padding:6px 10px;margin-bottom:-1px}
.ltab:hover{color:var(--txt)}
.ltab.on{color:var(--txt);border-bottom-color:var(--violet)}
/* imported-leads browser table */
.leads-table{overflow-y:auto;display:flex;flex-direction:column;gap:3px;min-height:0;flex:1}
.ld-row{display:flex;align-items:center;gap:9px;padding:6px 9px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:7px;font-size:12px}
.ld-user{font-family:var(--mono);color:var(--cyan);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-meta{color:var(--txt-4);font-size:10.5px;flex:none;white-space:nowrap}
.ld-by{color:var(--txt-4);font-size:10px;flex:none}
.ld-st{font-size:9.5px;font-weight:600;padding:2px 8px;border-radius:20px;flex:none}
.ld-violet{color:var(--violet);background:rgba(255,69,0,.12)} .ld-green{color:var(--green);background:rgba(55,224,138,.1)}
.ld-amber{color:var(--amber);background:rgba(245,177,61,.1)} .ld-red{color:var(--red);background:rgba(255,92,108,.1)}
.leads-foot{display:flex;align-items:center;gap:10px;margin-top:8px}
.leads-foot .hint{margin-left:auto}
/* mass-select + filter bar above the picker */
.fa-bar{display:flex;align-items:center;gap:8px;margin:2px 0 9px;flex-wrap:wrap}
.fa-bar .chips{flex:1}
/* model / type / status pills inside a picker row */
.ba-model{font-size:11px;color:var(--txt-3);flex:none}
.ba-type{font-size:9.5px;font-weight:650;padding:2px 8px;border-radius:20px;flex:none;letter-spacing:.2px}
.ba-type.t-funnel{color:var(--green);background:rgba(55,224,138,.12);border:1px solid rgba(55,224,138,.28)}
.ba-type.t-slave{color:var(--blue);background:rgba(74,158,255,.12);border:1px solid rgba(74,158,255,.28)}
.ba-type.t-other{color:var(--txt-3);background:var(--panel-2);border:1px solid var(--line-2)}
.ba-st{flex:none;font-size:9.5px;padding:2px 7px}
.ba-row.is-banned{border-color:rgba(255,92,108,.32);background:linear-gradient(90deg,rgba(255,92,108,.07),var(--bg-2) 55%)}
.chip.t-funnel{border-color:rgba(55,224,138,.35);color:var(--green)}
.chip.t-funnel.on{background:rgba(55,224,138,.14);border-color:var(--green)}
.chip.t-slave{border-color:rgba(74,158,255,.35);color:var(--blue)}
.chip.t-slave.on{background:rgba(74,158,255,.14);border-color:var(--blue)}
.chip.t-other{color:var(--txt-3)}
.follow-log{overflow-y:auto;font-family:var(--mono);font-size:11.5px;min-height:0}
.fl-row{display:flex;align-items:center;gap:10px;padding:5px 4px;border-bottom:1px solid rgba(30,36,45,.5)}
.fl-row:last-child{border-bottom:none}
.fl-acc{color:var(--cyan);flex:none;min-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-arrow{color:var(--txt-4)}
.fl-user{color:var(--txt);flex:1}
.fl-time{color:var(--txt-4);flex:none}
.lead-empty{color:var(--txt-4);text-align:center;padding:30px;font-size:12px}
@media(max-width:1100px){.lead-grid{grid-template-columns:1fr}.lead-tiles{grid-template-columns:repeat(3,1fr)}}
.lead-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.lead-stats .ls{background:var(--bg-2);border:1px solid var(--line-2);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.lead-stats .ls .k{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--txt-3)}
.lead-stats .ls .v{font-family:var(--mono);font-size:19px;font-weight:640}
.lead-stats .violet .v{color:var(--violet)} .lead-stats .green .v{color:var(--green)} .lead-stats .amber .v{color:var(--amber)}
.split-box{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.split-box > div{background:var(--bg-2);border:1px solid var(--line-2);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.split-box .k{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--txt-3)}
.split-box .v{font-family:var(--mono);font-size:19px;font-weight:640;color:var(--violet)}
.assign-preview{margin-top:10px;border:1px solid var(--line-2);border-radius:9px;background:var(--bg-2);max-height:150px;overflow-y:auto}
.assign-preview:empty{display:none}
.ap-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid rgba(30,36,45,.5);font-size:12px}
.ap-row:last-child{border-bottom:none}
.ap-acc{font-family:var(--mono);color:var(--cyan);flex:none;min-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-arrow{color:var(--txt-4);flex:none}
.ap-body{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px;min-width:0}
.ap-bio{color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-bio.skip{color:var(--txt-4);font-style:italic}
.ap-bio .nl{color:var(--violet);opacity:.65;font-size:10px;padding:0 2px}
.ap-pic{color:var(--green);font-family:var(--mono);flex:none}
.ap-dot{color:var(--txt-4)}
.ap-empty{padding:8px 10px;color:var(--txt-4);font-size:11px}
/* thumbnails inside the Post per-account preview */
.ap-pics{display:flex;gap:3px;flex:none}
.ap-thumb{width:30px;height:30px;object-fit:cover;border-radius:5px;border:1px solid var(--line-2);background:var(--panel-3)}
.ap-thumb.broken{visibility:hidden;width:0;border:none}
/* Post per-account image groups (reorder within / move between accounts) */
.pp-hd{display:flex;align-items:center;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt-4);margin:2px 2px 8px}
.pp-tip{text-transform:none;letter-spacing:0;color:var(--txt-4);font-size:11px}
.pp-row{padding:9px 11px;border-radius:11px;background:var(--bg-2);border:1px solid var(--line-2);margin-bottom:7px;transition:border-color .12s,box-shadow .12s}
.pp-row:last-of-type{margin-bottom:0}
.pp-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.pp-av{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:9px;font-weight:700;color:#0a0c0f}
.pp-head .ap-acc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-n{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--txt-3);background:var(--panel);border:1px solid var(--line-2);border-radius:20px;padding:2px 9px;flex:none}
.pp-imgs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:56px;padding:6px;border:1.5px dashed var(--line-2);border-radius:10px;background:rgba(0,0,0,.12);transition:background .12s,border-color .12s}
.pp-imgs.over{border-color:var(--violet);background:rgba(255,69,0,.08)}
.pp-imgs:empty::after{content:"text only — drop an image here to add one";color:var(--txt-4);font-size:11px;font-style:italic}
.pp-thumb{position:relative;width:52px;height:52px;border-radius:9px;cursor:grab;flex:none;transition:transform .1s,box-shadow .12s}
.pp-thumb:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.45);z-index:2}
.pp-thumb:active{cursor:grabbing}
.pp-thumb.dragging{opacity:.35;transform:scale(.88)}
.pp-thumb img{width:52px;height:52px;object-fit:cover;border-radius:9px;border:1px solid var(--line-2);background:var(--panel-3);display:block}
.pp-thumb.broken{display:none}
.pp-idx{position:absolute;bottom:3px;left:3px;font-family:var(--mono);font-size:9px;font-weight:700;color:#fff;background:rgba(10,12,15,.72);border-radius:5px;min-width:15px;height:15px;line-height:15px;text-align:center;padding:0 3px;pointer-events:none}
.pp-thumb .pp-rm{position:absolute;top:-6px;right:-6px;width:17px;height:17px;border-radius:50%;border:none;background:var(--panel-3);color:var(--txt-2);font-size:12px;line-height:1;cursor:pointer;display:none;box-shadow:0 1px 5px rgba(0,0,0,.55);z-index:3}
.pp-thumb:hover .pp-rm{display:block}
.pp-thumb .pp-rm:hover{background:var(--red);color:#fff}
.pp-caret{width:3px;align-self:stretch;min-height:52px;border-radius:2px;background:var(--violet);box-shadow:0 0 9px 1px var(--violet);flex:none;animation:ppCaret .8s ease-in-out infinite}
@keyframes ppCaret{0%,100%{opacity:1}50%{opacity:.4}}
.pp-cap{margin-top:8px;color:var(--txt);font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-cap.skip{color:var(--txt-4);font-style:italic}
.pp-cap .nl{color:var(--violet);opacity:.65;font-size:10px;padding:0 2px}
/* a caption part marked ||…|| that will be blurred as a spoiler */
.spoiler-mark{background:rgba(255,69,0,.18);box-shadow:inset 0 0 0 1px rgba(255,69,0,.4);border-radius:4px;padding:0 3px;color:var(--txt)}
.pp-note{padding:8px 4px 2px;color:var(--amber);font-size:11px}
/* Edit-profile per-account photo assignment (drag to move/swap) */
.pa-list{max-height:340px}
.pa-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid rgba(30,36,45,.5);font-size:12px}
.pa-row:last-child{border-bottom:none}
.pa-row.drop{background:rgba(255,69,0,.12);outline:1px dashed var(--violet);outline-offset:-2px}
.pa-acc{font-family:var(--mono);color:var(--cyan);flex:none;width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pa-photo{position:relative;flex:none;width:44px;height:44px;border-radius:8px;cursor:grab}
.pa-photo[draggable="true"]:hover{outline:2px solid var(--violet);outline-offset:1px}
.pa-photo.dragging{opacity:.4}
.pa-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--line-2);background:var(--panel-3);display:block}
.pa-thumb.broken{visibility:hidden}
.pa-photo .pa-rm{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:none;background:var(--panel-3);color:var(--txt-3);font-size:12px;line-height:1;cursor:pointer;display:none;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.pa-photo:hover .pa-rm{display:block}
.pa-photo .pa-rm:hover{background:var(--red);color:#fff}
.pa-photo.empty{display:grid;place-items:center;width:auto;min-width:80px;height:44px;padding:0 8px;border:1px dashed var(--line-2);border-radius:8px;cursor:default}
.pa-nopic{color:var(--txt-4);font-size:10.5px;font-style:italic;white-space:nowrap}
.pa-bio{flex:1;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pa-bio .skip{color:var(--txt-4);font-style:italic}
.pa-bio .nl{color:var(--violet);opacity:.65;font-size:10px;padding:0 2px}
.hint{color:var(--txt-3);font-size:12px;line-height:1.6}
.hint code{background:var(--panel-3);padding:1px 5px;border-radius:4px;font-family:var(--mono)}
.mono{font-family:var(--mono)}

#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--panel-3);border:1px solid var(--line-2);color:var(--txt);padding:10px 16px;border-radius:9px;z-index:100;font-size:13px;opacity:0;transition:opacity .2s;box-shadow:0 10px 40px rgba(0,0,0,.4)}

/* responsive: drop the rail below the table on narrow screens */
@media(max-width:1180px){
  .content{grid-template-columns:1fr;grid-template-rows:1fr auto}
  .rail{border-top:1px solid var(--line);max-height:44vh}
  .tablewrap{border-right:none}
  .stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){.app{grid-template-columns:1fr}.side{display:none}}

/* ===== REDDIT-SPECIFIC ===== */
/* subreddit token chips (in list cards + the post-run preview) */
.sub-chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;color:var(--violet);background:rgba(255,69,0,.09);border:1px solid rgba(255,69,0,.22);padding:2px 8px;border-radius:20px;white-space:nowrap}
.sub-chips{display:flex;flex-wrap:wrap;gap:5px}
/* Subreddit Lists view */
.sublists{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:14px;overflow:hidden}
.sl-top{display:flex;align-items:center;gap:10px}
.sl-grid{display:grid;grid-template-columns:380px 1fr;gap:14px;min-height:0;flex:1}
.sl-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.sl-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:0}
.sl-card{background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:11px 13px;cursor:pointer;transition:border-color .12s}
.sl-card:hover{border-color:#313b47}
.sl-card.active{border-color:var(--violet);background:rgba(255,69,0,.05)}
.sl-card .sl-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px}
.sl-card .sl-n{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--violet);background:rgba(255,69,0,.1);border:1px solid rgba(255,69,0,.25);border-radius:20px;padding:1px 8px}
.sl-card .sl-prev{margin-top:6px;color:var(--txt-3);font-family:var(--mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-card .sl-del{background:none;border:none;color:var(--txt-4);cursor:pointer;font-size:14px;padding:0 2px}
.sl-card .sl-del:hover{color:var(--red)}
.sl-editor{display:flex;flex-direction:column;min-height:0;flex:1;gap:10px}
.sl-editor textarea{flex:1;min-height:180px;resize:none}
/* post-run modal preview rows */
.pr-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(30,36,45,.5);font-size:12px}
.pr-row:last-child{border-bottom:none}
.pr-acc{font-family:var(--mono);color:var(--cyan);flex:none;width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-subs{flex:1;color:var(--txt-2);min-width:0}
.pr-count{flex:none;font-family:var(--mono);color:var(--violet);font-size:11px}
/* grok title preview chips */
.tg-list{margin-top:8px;display:flex;flex-direction:column;gap:4px;max-height:190px;overflow-y:auto}
.tg-item{padding:6px 9px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:7px;font-size:12.5px;color:var(--txt)}
.tg-item .tg-len{float:right;font-family:var(--mono);font-size:10px;color:var(--txt-4)}
/* editable u/username cell */
.uname-cell{display:inline-flex;align-items:center;gap:4px}
.uname-edit{opacity:0;font-size:11px;padding:0 2px}
tr:hover .uname-edit{opacity:.7}
.uname-edit:hover{opacity:1}
.pname-txt{font-weight:550;color:var(--txt)}

/* ============================================================
   POLISH PASS — richer empty states, tiles, accent depth
   (appended last so these override the base rules)
   ============================================================ */

/* onboarding hero shown when there are no profiles yet */
.empty-state{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:440px;padding:48px 24px;animation:esIn .4s ease}
@keyframes esIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.es-icon{width:66px;height:66px;border-radius:19px;display:grid;place-items:center;margin-bottom:20px;
  background:radial-gradient(120% 120% at 30% 20%,rgba(255,106,61,.30),rgba(255,69,0,.06));
  border:1px solid rgba(255,69,0,.32);box-shadow:0 0 0 6px rgba(255,69,0,.04),0 14px 34px rgba(255,69,0,.16)}
.es-icon svg{width:30px;height:30px;color:var(--violet)}
.es-title{font-size:19px;font-weight:680;letter-spacing:.2px;color:var(--txt)}
.es-sub{font-size:13px;color:var(--txt-3);margin-top:8px;max-width:360px;line-height:1.55}
.es-cta{margin-top:20px;padding:9px 18px;font-size:13px}
.es-steps{display:flex;align-items:stretch;gap:0;margin-top:36px;flex-wrap:wrap;justify-content:center}
.es-step{display:flex;align-items:center;gap:11px;padding:11px 16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);border-radius:13px;text-align:left}
.es-step .es-n{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;color:#fff;background:linear-gradient(180deg,var(--violet),var(--violet-2));flex:none;box-shadow:0 2px 9px rgba(255,69,0,.34)}
.es-step div{display:flex;flex-direction:column;line-height:1.28}
.es-step b{font-size:12.5px;color:var(--txt);font-weight:600}
.es-step span{font-size:10.5px;color:var(--txt-4)}
.es-line{align-self:center;width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--line-2),transparent)}

/* right-rail empty (jobs) */
.rail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:30px 14px;color:var(--txt-3);font-size:12.5px}
.rail-empty svg{width:26px;height:26px;color:var(--txt-4);opacity:.7;margin-bottom:3px}
.rail-empty span{font-size:11px;color:var(--txt-4)}
/* live-log placeholder while nothing has streamed yet */
.console:empty::after{content:"Waiting for activity…";display:block;padding:16px 4px;color:var(--txt-4);font-family:var(--mono);font-size:11px;opacity:.65}

/* stat tiles: colored top accent + hover lift, punchier number */
.tile{transition:border-color .15s,transform .12s,box-shadow .15s}
.tile::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--txt-4),transparent 72%);opacity:.55}
.tile.green::after{background:linear-gradient(90deg,var(--green),transparent 72%);opacity:.8}
.tile.amber::after{background:linear-gradient(90deg,var(--amber),transparent 72%);opacity:.8}
.tile.red::after{background:linear-gradient(90deg,var(--red),transparent 72%);opacity:.8}
.tile.violet::after{background:linear-gradient(90deg,var(--violet),transparent 72%);opacity:.85}
.tile.cyan::after{background:linear-gradient(90deg,var(--cyan),transparent 72%);opacity:.8}
.tile:hover{transform:translateY(-2px);border-color:#2f3947;box-shadow:0 8px 24px rgba(0,0,0,.30)}
.tile .v{font-size:25px;letter-spacing:-.6px}
.tile .k{letter-spacing:.8px}

/* warmer, deeper primary button */
.btn.primary{background:linear-gradient(180deg,#ff8354,#ff4d0a);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 14px rgba(255,69,0,.30)}
.btn.primary:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 6px 22px rgba(255,69,0,.44)}
/* the Post-run toolbar button gets a touch more presence */
.bulk .btn.act.primary{padding:6px 13px;font-weight:600}

/* generic empty rows a bit more generous */
.empty-row{padding:52px 24px;font-size:13px}
.lead-empty{padding:44px 24px;line-height:1.6}

/* topbar title crispness + a soft warm underglow on the header */
.topbar{position:relative}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(255,69,0,.35),transparent 40%)}
.topbar h1{font-weight:680}
/* hero action row (Sync + Create a profile) */
.es-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:center}
.es-actions .es-cta{margin-top:0}
/* saved-proxy store (Proxies view) */
.px-addbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.px-addbar .input{background:var(--panel);border:1px solid var(--line-2);color:var(--txt);padding:8px 10px;border-radius:8px;font-size:13px;outline:none;font-family:var(--sans)}
.px-addbar #pxLabel{width:190px}
.px-addbar #pxUrl{flex:1;min-width:240px}
.px-addbar .input:focus{border-color:var(--violet)}
.px-row{align-items:center}
.px-used{font-family:var(--mono);font-size:10.5px;color:var(--green);background:rgba(55,224,138,.08);border:1px solid rgba(55,224,138,.2);padding:2px 9px;border-radius:20px;flex:none}
.px-used.off{color:var(--txt-4);background:var(--panel-2);border-color:var(--line-2)}
.px-del{background:none;border:none;color:var(--txt-4);font-size:18px;line-height:1;cursor:pointer;padding:0 8px;flex:none;border-radius:6px}
.px-del:hover{color:var(--red);background:rgba(255,92,108,.1)}
/* ===== PER-ACCOUNT DASHBOARD ===== */
.acctdash{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:12px;overflow:hidden}
.ad-top{display:flex;align-items:center;gap:12px}
.ad-id{display:flex;align-items:center;gap:10px}
.ad-av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:700;color:#0a0c0f;font-size:14px;flex:none}
.ad-idtext{line-height:1.2}
.ad-name{font-size:15px;font-weight:650}
.ad-sub{font-size:11px;color:var(--txt-4);font-family:var(--mono)}
.ad-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:11px}
.ad-meta .field{display:flex;align-items:center}
.ad-meta .k{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--txt-4);margin-right:7px}
.ad-meta .cell-input{border:1px solid var(--line-2);border-radius:7px;padding:5px 9px;background:var(--panel-2)}
.ad-meta .cell-input:focus{border-color:var(--violet);background:rgba(255,69,0,.04)}
.ad-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0;flex:1}
.ad-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.ad-panel .lp-tablewrap{flex:1;min-height:0}
#adLog{flex:1;min-height:0;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-radius:9px}
@media(max-width:1100px){.ad-grid{grid-template-columns:1fr}.ad-stats{grid-template-columns:repeat(2,1fr)}}
/* calm down UNSET inline dropdowns so a table of empty rows isn't a wall of grey boxes */
.selwrap.unset select{background:transparent;border-color:transparent;color:var(--txt-4);min-width:auto;padding:4px 20px 4px 6px;font-weight:400}
.selwrap.unset::after{border-top-color:var(--txt-4);opacity:.45}
.selwrap.unset:hover select,tr:hover .selwrap.unset select{background:var(--panel-2);border-color:var(--line-2);color:var(--txt-3)}
.selwrap.unset:hover::after{opacity:.8}
/* ===== calmer, less-busy Accounts table ===== */
.stats{display:block;padding:11px 18px}
.statline{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--txt-2)}
.stat-total b{font-family:var(--mono);font-size:17px;color:var(--txt);font-weight:700;margin-right:3px}
.statdot{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);color:var(--txt-2)}
.statdot i{width:7px;height:7px;border-radius:50%}
.statdot b{color:var(--txt);font-weight:650}
.statdot span{color:var(--txt-4);font-family:var(--sans)}
/* roomier rows + bigger avatar */
tbody td{height:56px;padding:0 14px}
thead th{padding:10px 14px}
.avatar{width:30px;height:30px;border-radius:9px;font-size:12px}
.pname .uline{color:var(--cyan)}
tbody tr:hover{background:rgba(255,255,255,.022)}
/* bulk-edit block only appears once you select accounts */
.bulkedit{display:inline-flex;align-items:center;gap:8px}
/* ============================================================
   PLAIN MODE — flat, no grid "net", minimal decoration
   ============================================================ */
body{background:var(--bg)!important}          /* remove the grid lines + glow → flat */
.topbar{background:var(--bg-2);backdrop-filter:none}
.topbar::after{display:none}
.side{background:var(--bg-2)}
.filters{background:var(--bg-2)}
.stats{background:var(--bg-2)}
.bulk{background:transparent}
.nav-item.active{background:rgba(255,69,0,.13)}
.grp.active{background:rgba(255,69,0,.08)}
.grp.active::before{box-shadow:none}
.console{background:var(--bg-2)}
#adLog{background:var(--bg-2)}
/* flatter buttons + tiles (no glow) */
.btn.primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.btn.primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.tile{background:var(--panel)}
.tile:hover{transform:none;box-shadow:none;border-color:var(--line-2)}
.tile::after{display:none}
/* take the Jobs/Live-log rail OFF the Accounts screen → full-width table */
.content{grid-template-columns:1fr}
.rail{display:none}
.tablewrap{border-right:none}
/* base styling for .input fields OUTSIDE modals (the Subreddit Lists name + textarea
   were rendering browser-default WHITE — this makes every .input dark-themed) */
.input{background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);border-radius:8px;padding:8px 11px;font-size:13px;outline:none;font-family:var(--sans)}
.input::placeholder{color:var(--txt-4)}
.input:focus{border-color:var(--violet)}
textarea.input{resize:vertical;line-height:1.55}
/* ===== Post-run COMPOSE BOARD ===== */
.pc-pool{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:22px}
.pc-pool .pp-thumb.pool{width:46px;height:46px;cursor:grab;border-radius:8px}
.pc-pool .pp-thumb.pool img{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--line-2);background:var(--panel-3)}
.pc-pool .pp-thumb.pool:hover{outline:2px solid var(--violet);outline-offset:1px}
.pc-board{margin-top:8px;display:flex;flex-direction:column;gap:8px;max-height:440px;overflow-y:auto;padding-right:2px}
.pc-group{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:var(--txt-2);margin:8px 0 2px}
.pc-av{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0c0f;flex:none}
.pc-gn{font-family:var(--mono);font-size:10px;color:var(--txt-4);background:var(--panel-2);border:1px solid var(--line-2);border-radius:20px;padding:1px 7px}
.pc-card{background:var(--bg-2);border:1px solid var(--line-2);border-radius:11px;padding:10px 11px}
.pc-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pc-sub{font-family:var(--mono);font-size:12.5px;color:var(--violet);font-weight:600}
.pc-n{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--txt-4);background:var(--panel);border:1px solid var(--line-2);border-radius:20px;padding:1px 8px}
.pc-cap{width:100%;background:var(--panel);border:1px solid var(--line-2);color:var(--txt);border-radius:8px;padding:7px 9px;font-size:12.5px;font-family:var(--sans);outline:none;resize:vertical;line-height:1.45}
.pc-cap:focus{border-color:var(--violet)}
.pc-imgs{margin-top:8px}
/* per-post "add pictures" tile */
.pc-add{width:52px;height:52px;border-radius:9px;border:1.5px dashed var(--line-2);background:transparent;color:var(--txt-4);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none;transition:border-color .12s,color .12s}
.pc-add:hover{border-color:var(--violet);color:var(--violet)}
/* per-account subreddit block in the composer */
.sb-block{background:var(--bg-2);border:1px solid var(--line-2);border-radius:11px;padding:10px 11px;margin-bottom:8px}
.sb-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.sb-acc{font-family:var(--mono);color:var(--cyan);font-size:12.5px;font-weight:600}
/* "these subreddits came from the list pinned to this profile" */
.sb-pinned{font-size:10.5px;color:var(--txt-3);background:var(--panel-2);border:1px solid var(--line);
  padding:2px 8px;border-radius:20px;white-space:nowrap}
.sb-block .sb-subs{width:100%}
/* account-setup modal */
.su-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.su-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--txt-3)}
.su-grid label.full{grid-column:1/-1}
.su-pics{display:flex;align-items:center;gap:8px;margin-top:10px}
.su-pics .pp-thumb{width:52px;height:52px}
.su-pics .pp-thumb img{width:52px;height:52px;object-fit:cover;border-radius:9px;border:1px solid var(--line-2)}
.su-toggles{display:flex;flex-direction:column;gap:8px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:11px;padding:11px 13px}


/* restored-composition banner in the Post-run screen.
   An author `display` beats the browser's own [hidden]{display:none}, so without the
   rule below the JS setting `hidden` left an empty bordered strip sitting in the
   composer whenever there was nothing to restore. */
[hidden]{display:none !important}
.pr-restored{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--bg-2);border:1px solid var(--line);border-radius:8px;
  padding:9px 12px;margin:4px 0 10px;color:var(--txt-2);font-size:13px}
.pr-restored b{color:var(--txt)}
.pr-restored .btn{padding:5px 10px;font-size:12px}


/* ✨ title suggestions on a post card */
.pc-gen{background:none;border:1px solid var(--line);color:var(--txt-2);border-radius:6px;
  cursor:pointer;font-size:12px;line-height:1;padding:4px 7px;margin-left:8px}
.pc-gen:hover{border-color:var(--accent);color:var(--txt)}
.pc-gen:disabled{opacity:.5;cursor:default}
.pc-gen-out{display:flex;flex-direction:column;gap:4px;margin:6px 0 2px}
.pc-gen-pick{text-align:left;background:var(--bg-2);border:1px solid var(--line);color:var(--txt-2);
  border-radius:6px;padding:6px 9px;font-size:13px;cursor:pointer}
.pc-gen-pick:hover{border-color:var(--accent);color:var(--txt)}


/* pause / resume on a running job */
.job .hold{margin-left:10px;cursor:pointer;color:var(--txt-3);font-size:12px;
  border:1px solid var(--line);border-radius:6px;padding:2px 8px}
.job .hold:hover{color:var(--txt);border-color:var(--txt-3)}
.job .hold.on{color:var(--green);border-color:var(--green)}
.job.paused{opacity:.85}
.job.paused .bar i{animation:none;opacity:.5}
.st.paused{color:var(--amber)}


/* ---- accounts table: sortable, resizable, hideable columns ---- */
#acctHead th{position:relative}
.th-sortable{cursor:pointer;user-select:none}
.th-sortable:hover{color:var(--txt-2)}
#acctHead th.sorted{color:var(--txt)}
.th-arrow{font-size:11px;color:var(--accent)}
.th-grip{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize}
.th-grip:hover{background:linear-gradient(90deg,transparent,var(--accent))}
.th-cols{width:34px;text-align:right}
.th-cols button{background:none;border:0;color:var(--txt-4);cursor:pointer;font-size:15px;
  line-height:1;padding:2px 6px;border-radius:5px}
.th-cols button:hover{color:var(--txt);background:var(--bg-2)}
.cols-menu{position:absolute;right:8px;top:34px;z-index:40;min-width:190px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.45)}
.cm-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-4);
  padding:4px 8px 6px}
.cm-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;
  font-size:13px;color:var(--txt-2);cursor:pointer;text-transform:none;letter-spacing:0}
.cm-row:hover{background:var(--bg-2);color:var(--txt)}
.cm-reset{width:100%;margin-top:4px;background:none;border:1px solid var(--line);
  color:var(--txt-3);border-radius:6px;padding:6px;font-size:12px;cursor:pointer}
.cm-reset:hover{color:var(--txt);border-color:var(--txt-4)}

/* ---- sidebar: hide groups you don't use here ---- */
.grp{position:relative}
.grp-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:0;
  background:none;border:0;color:var(--txt-4);cursor:pointer;font-size:12px;padding:2px 5px;
  border-radius:5px}
.grp:hover .grp-eye{opacity:1}
.grp-eye:hover{color:var(--txt);background:var(--bg-2)}
.grp:hover .cnt{opacity:0}
.grp.ghosted{opacity:.45}
.grp-hidden{padding:6px 12px;font-size:12px;color:var(--txt-4);cursor:pointer}
.grp-hidden:hover{color:var(--txt-2)}

/* widths in <colgroup> are only authoritative under a fixed layout */
#viewAccounts table{table-layout:fixed}
#viewAccounts td{overflow:hidden;text-overflow:ellipsis}
#viewAccounts td .pname-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}

/* ---- Account health: what happened to the accounts, by day ---- */
.hl-stats{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.hl-tile{flex:1;min-width:130px;background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.hl-n{font-size:22px;font-weight:600;line-height:1}
.hl-l{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-4)}
.hl-day{margin-bottom:16px}
.hl-dayhead{display:flex;align-items:baseline;gap:10px;font-size:13px;color:var(--txt);
  font-weight:600;padding:0 2px 6px}
.hl-daycount{font-size:12px;font-weight:400;color:var(--txt-4)}
.hl-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);
  border-radius:8px;margin-bottom:6px;background:var(--panel);font-size:13px}
.hl-row.bad{border-color:rgba(220,80,80,.28)}
.hl-acct{color:var(--txt);cursor:pointer;font-weight:500}
.hl-acct:hover{color:var(--accent)}
.hl-u{color:var(--txt-4);font-size:12px}
.hl-change{display:flex;align-items:center;gap:7px;margin-left:auto}
.hl-arrow{color:var(--txt-4)}
.hl-when{color:var(--txt-4);font-size:12px;min-width:56px;text-align:right}
.statdot.alert{cursor:pointer;color:var(--txt-2)}
.statdot.alert:hover{color:var(--txt)}

/* ---- Run control: one card per running profile, steered on its own ---- */
.rc-wrap{display:flex;flex-direction:column;min-height:0;flex:1;padding:16px 18px;gap:12px;overflow:hidden}
.rc-bar{display:flex;align-items:center;gap:10px;flex:none}
.rc-list{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:12px}
.rc-list:empty{display:none}

.rc-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.rc-card.paused{border-color:rgba(245,177,61,.28)}
.rc-card.stalled{border-color:rgba(255,92,108,.28)}

.rc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rc-who{font-size:14px;font-weight:640;color:var(--txt)}
.rc-counts{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--txt-3)}
.rc-counts b{color:var(--txt);font-weight:600}
.rc-bad{color:var(--red)}

.badge.b-rc-running{color:var(--green);background:rgba(55,224,138,.09);border:1px solid rgba(55,224,138,.2)}
.badge.b-rc-running .d{background:var(--green);box-shadow:0 0 6px var(--green)}
.badge.b-rc-paused{color:var(--amber);background:rgba(245,177,61,.08);border:1px solid rgba(245,177,61,.22)}
.badge.b-rc-paused .d{background:var(--amber)}
.badge.b-rc-proxy{color:var(--red);background:rgba(255,92,108,.09);border:1px solid rgba(255,92,108,.22)}
.badge.b-rc-proxy .d{background:var(--red);box-shadow:0 0 6px var(--red)}

.rc-act{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--txt-2)}
.rc-actx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-clock{font-family:var(--mono);font-size:11.5px;color:var(--accent);border:1px solid var(--line-2);
  background:var(--panel-2);border-radius:20px;padding:1px 8px;flex:none}
.rc-clock:empty{display:none}

.rc-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.rc-btns .rc-moveall-wrap{margin-left:auto}
.rc-btns .rc-noother{margin-left:auto;font-size:11.5px}
.rc-moveall{min-width:170px}

.rc-queue{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;
  display:flex;flex-direction:column;gap:3px;max-height:320px;overflow-y:auto}
.rc-none{color:var(--txt-4);font-size:12px;padding:6px 2px}

.rc-item{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:7px;
  background:var(--bg-2);border:1px solid var(--line);font-size:12.5px}
.rc-item.st-running{border-color:rgba(255,69,0,.3);background:rgba(255,69,0,.05)}
.rc-item.st-failed{border-color:rgba(255,92,108,.28)}
.rc-item.st-skipped,.rc-item.st-moved,.rc-item.st-done{opacity:.72}
.rc-pos{font-family:var(--mono);font-size:10.5px;color:var(--txt-4);min-width:20px;text-align:right;flex:none}
.rc-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--txt-4)}
.rc-item.st-running .rc-dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}
.rc-item.st-done .rc-dot{background:var(--green)}
.rc-item.st-failed .rc-dot{background:var(--red);box-shadow:0 0 6px var(--red)}
.rc-item.st-skipped .rc-dot,.rc-item.st-moved .rc-dot{background:var(--amber)}
.rc-sub{color:var(--txt);font-weight:540;flex:none;max-width:190px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.rc-cap{color:var(--txt-3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-link{color:var(--cyan);text-decoration:none;flex:none;font-size:13px}
.rc-link:hover{color:var(--txt)}
.rc-acts{display:flex;align-items:center;gap:6px;flex:none;margin-left:4px}
.rc-acts .mini{padding:2px 6px}
.rc-acts .selwrap.sm select{min-width:96px;padding:2px 22px 2px 8px;font-size:11.5px}
/* a profile that has worked through its queue while the run is still going */
.badge.b-rc-done{color:var(--txt-3);border-color:var(--line-2)}
.badge.b-rc-done .d{background:var(--txt-4)}


/* the picture each queued post will publish */
.rc-thumb{position:relative;flex:none;width:34px;height:34px;border-radius:6px;
  overflow:hidden;background:var(--bg-2);border:1px solid var(--line-2)}
.rc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rc-thumb.none,.rc-thumb.missing{border-style:dashed}
.rc-thumb.missing img{display:none}
.rc-more{position:absolute;right:0;bottom:0;background:rgba(0,0,0,.72);color:#fff;
  font-size:9px;font-style:normal;line-height:1;padding:2px 3px;border-top-left-radius:5px}
.rc-item{gap:9px}

/* ---- Members (VA logins) ---- */
.mb-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.mb-list{display:flex;flex-direction:column;gap:8px}
.mb-row{display:grid;grid-template-columns:minmax(180px,1.4fr) auto minmax(120px,1fr) auto auto;
  gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:11px 14px}
.mb-row.off{opacity:.55}
.mb-who{display:flex;align-items:center;gap:10px;min-width:0}
.mb-av{width:30px;height:30px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--txt-2);flex:none}
.mb-id{min-width:0}
.mb-name{font-size:13px;color:var(--txt);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb-mail{font-size:11.5px;color:var(--txt-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mb-you{font-size:10px;color:var(--txt-4);border:1px solid var(--line-2);border-radius:4px;padding:1px 4px}
.mb-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mb-perm,.mb-when{font-size:12px;color:var(--txt-3)}
.mb-acts{display:flex;gap:6px;justify-self:end}
.mb-acts .mini[disabled]{opacity:.4;cursor:default}
.mini.danger{color:var(--red);border-color:rgba(255,92,108,.3)}
.badge.b-role-admin{color:var(--accent);border-color:rgba(255,69,0,.35)}
.badge.b-role-va{color:var(--txt-3)}
.badge.b-off{color:var(--txt-4)}
.badge.b-on{color:var(--green);border-color:rgba(80,200,120,.3)}
.badge.b-on .d{background:var(--green)}
.mb-note{margin-top:12px;padding:9px 11px;border-radius:8px;background:var(--bg-2);
  border:1px solid var(--line);font-size:12.5px;color:var(--txt-3)}
.mb-pw{margin-top:14px;padding:12px;border-radius:9px;background:var(--bg-2);border:1px solid var(--accent)}
.mb-pw-t{font-size:12px;color:var(--txt-2);margin-bottom:7px}
.mb-pw-v{display:flex;align-items:center;gap:9px}
.mb-pw-v code{flex:1;font-family:var(--mono);font-size:14px;color:var(--txt);background:var(--panel);
  border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.mb-pw-n{margin-top:7px;font-size:11.5px;color:var(--txt-4)}
.whoami{display:flex;align-items:center;gap:9px;margin-right:4px;font-size:12px;color:var(--txt-3)}
.whoami .wa-name{color:var(--txt-2)}
.whoami .wa-out{background:none;border:1px solid var(--line);color:var(--txt-3);border-radius:6px;white-space:nowrap;
  padding:4px 9px;font-size:11.5px;cursor:pointer}
.whoami .wa-out:hover{color:var(--txt);border-color:var(--txt-4)}

/* shown only while the panel has no accounts at all */
.firstrun{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:14px;
  padding:10px 16px;background:var(--panel-2);border-bottom:1px solid var(--line);
  font-size:12.5px;color:var(--txt-2)}
.firstrun .btn{padding:5px 11px;font-size:12px;white-space:nowrap}

/* Settings: a short visible list, the rest folded away */
.set-sec{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--txt-4);
  margin:16px 0 8px}
.set-sec:first-of-type{margin-top:4px}
.set-more{margin-top:14px;border:1px solid var(--line);border-radius:9px;background:var(--bg-2)}
.set-more>summary{cursor:pointer;padding:10px 13px;font-size:13px;color:var(--txt-2);
  list-style:none;display:flex;align-items:center;gap:8px}
.set-more>summary::-webkit-details-marker{display:none}
.set-more>summary::before{content:"›";color:var(--txt-4);transition:transform .12s;display:inline-block}
.set-more[open]>summary::before{transform:rotate(90deg)}
.set-more>summary:hover{color:var(--txt)}
.set-more .set-note{color:var(--txt-4);font-size:11.5px;font-weight:400}
.set-more .grid2,.set-more .checkline{padding:0 13px 12px}
.set-more[open]>summary{border-bottom:1px solid var(--line)}
.set-more .grid2{padding-top:12px}

/* brand: the Reddit mark, flat like everything else (no gradient, no glow) */
.logo{background:var(--accent);border-color:var(--accent)}
.logo::before{content:none}
.logo svg{width:19px;height:19px;color:#fff;display:block}
/* timestamps in the accounts table */
.tcell{color:var(--txt-3);font-size:12px;white-space:nowrap}
.tcell .never{color:var(--txt-4)}

/* dragging a column header to move it */
#acctHead th[data-col]{cursor:grab}
#acctHead th.th-dragging{opacity:.45;cursor:grabbing}
#acctHead th.th-drop{box-shadow:inset 3px 0 0 var(--accent)}

/* proxy cell + its rotate button */
.pxcell{font-size:11.5px;color:var(--txt-3);white-space:nowrap;display:flex;align-items:center;gap:6px}
.px-host{overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}
.px-rot{background:none;border:1px solid var(--line-2);color:var(--txt-4);border-radius:5px;
  cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;flex:none}
.px-rot:hover{color:var(--accent);border-color:var(--accent)}
.px-rot:disabled{opacity:.5;cursor:default}

/* ---- Add / edit member form ---- */
.mb-form{display:flex;flex-direction:column;gap:14px}
.mb-who-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.mb-field{display:flex;flex-direction:column;gap:5px}
.mb-field>span:first-child{font-size:11.5px;color:var(--txt-3);letter-spacing:0;text-transform:none}
.mb-field>span:first-child i{color:var(--txt-4);font-style:normal}
.mb-pwrow{display:flex;gap:8px}
.mb-pwrow .input{flex:1;min-width:0}
.mb-pwrow .btn{white-space:nowrap;padding:7px 12px;font-size:12px}

/* a permission block */
.mb-block{border:1px solid var(--line);border-radius:9px;background:var(--bg-2);overflow:hidden}
.mb-block + .mb-block{margin-top:10px}
.mb-block-h{display:flex;align-items:center;gap:9px;padding:9px 12px;
  border-bottom:1px solid var(--line);font-size:12.5px;color:var(--txt);font-weight:500}
.mb-block-n{color:var(--txt-4);font-size:11.5px;font-weight:400;margin-right:auto}
.mb-all,.mb-none{background:none;border:1px solid var(--line-2);color:var(--txt-4);
  border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer}
.mb-all:hover,.mb-none:hover{color:var(--txt);border-color:var(--txt-4)}
.mb-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
  gap:2px 10px;padding:9px 10px}
/* .modal-box label is column-flex, which stacked every box above its text — undo that */
.modal-box .mb-check{display:flex;flex-direction:row;align-items:center;gap:8px;
  font-size:12.5px;color:var(--txt-2);cursor:pointer;padding:5px 6px;border-radius:6px;
  text-transform:none;letter-spacing:0}
.modal-box .mb-check:hover{background:var(--panel)}
.modal-box .mb-check input{flex:none;margin:0}
.modal-box .mb-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* search + filters now live on the right of the action row */
.bulk-filters{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.bulk-filters .search{max-width:260px}
.bulk-filters .search input{font-size:12.5px}
.bulk-filters .sel{font-size:12.5px}
.bulk-filters .showcount{color:var(--txt-4);font-size:11.5px;white-space:nowrap}
.bulk{flex-wrap:wrap;row-gap:8px}

/* ---- top bar: one tidy row that never reflows ---- */
.bulk{flex-wrap:nowrap;row-gap:0;align-items:center}
.bulk-filters{flex-wrap:nowrap;min-width:0}
.bulk-filters .search{max-width:230px;min-width:120px;flex:1 1 auto}
.bulk-filters .selwrap{flex:none}
.bulk-filters .sel{min-width:104px}

/* selecting rows opens its own bar instead of stretching the one above */
.bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:9px 12px;margin:0 0 -1px;border:1px solid var(--line);border-radius:9px 9px 0 0;
  background:rgba(255,69,0,.05);border-bottom-color:transparent}
.bulkbar.hidden{display:none}
.bulkbar .bb-n{font-size:12.5px;color:var(--txt-2);white-space:nowrap}
.bulkbar .bb-n b{color:var(--accent)}
.bulkbar .bulk-remark{display:flex;gap:7px;align-items:center;flex:1;min-width:220px;max-width:420px}
.bulkbar .bulk-remark .input{flex:1;min-width:0}
.bulkbar .bb-clear{margin-left:auto;background:none;border:1px solid var(--line);
  color:var(--txt-3);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer;white-space:nowrap}
.bulkbar .bb-clear:hover{color:var(--txt);border-color:var(--txt-4)}

/* ---- History: one flat header row, counts live on the filters ---- */
#viewHistory .lp-top{gap:10px;margin-bottom:12px}
#viewHistory .lp-chipsbar{gap:10px;margin-bottom:12px;flex-wrap:wrap}
#viewHistory .chips{display:flex;gap:7px;flex-wrap:wrap}
#viewHistory .chip{border-radius:7px;padding:6px 11px;font-size:12px;font-weight:500;
  background:var(--bg-2);border-color:var(--line)}
#viewHistory .chip:hover{color:var(--txt);border-color:var(--txt-4)}
#viewHistory .chip.on{background:rgba(255,69,0,.09);border-color:var(--accent);color:var(--txt)}
#viewHistory .chip-n{background:transparent;font-size:11.5px;padding:0 0 0 2px;min-width:0}
.lp-today{margin-left:auto;font-size:12px;color:var(--txt-4);white-space:nowrap}
.lp-today b{color:var(--txt-2)}
/* the table itself: quieter, more scannable */
#viewHistory .lp-table th{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--txt-4);font-weight:500;padding:10px 12px}
#viewHistory .lp-table td{padding:10px 12px;font-size:12.5px;color:var(--txt-2)}
#viewHistory .lp-table tr:hover td{background:rgba(255,255,255,.015)}

/* the picture each history row published */
.hp-thumb{position:relative;display:block;width:64px;height:64px;border-radius:7px;
  overflow:hidden;background:var(--bg-2);border:1px solid var(--line-2)}
.hp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hp-thumb[data-shot]{cursor:zoom-in;transition:border-color .12s,transform .06s}
.hp-thumb[data-shot]:hover{border-color:var(--orange,#e8622b);transform:scale(1.03)}
.hp-thumb.none,.hp-thumb.missing{border-style:dashed}
.hp-thumb.missing img{display:none}
/* how many pictures the post went out with (a gallery) */
.hp-more{position:absolute;right:3px;bottom:3px;background:rgba(0,0,0,.72);color:#fff;
  font-size:10px;font-style:normal;line-height:1;padding:3px 5px;border-radius:5px;font-weight:600}
.hp-more::before{content:"▦ "}

/* ---- full-size viewer for a post's pictures ---- */
.shots{position:fixed;inset:0;z-index:120;background:rgba(6,8,11,.9);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center}
.shots.hidden{display:none}
.shots img{max-width:82vw;max-height:82vh;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.6)}
.shots-x{position:absolute;top:16px;right:18px;background:rgba(255,255,255,.08);border:1px solid var(--line-2);
  color:var(--txt);width:34px;height:34px;border-radius:8px;font-size:15px;cursor:pointer}
.shots-x:hover{background:rgba(255,255,255,.16)}
.shots-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);
  border:1px solid var(--line-2);color:var(--txt);width:44px;height:64px;border-radius:10px;
  font-size:26px;line-height:1;cursor:pointer}
.shots-nav:hover{background:rgba(255,255,255,.18)}
.shots-nav.prev{left:20px}
.shots-nav.next{right:20px}
.shots-foot{position:absolute;bottom:18px;display:flex;gap:12px;align-items:center;
  font-family:var(--mono);font-size:11px;color:var(--txt-3)}
.shots-n{color:var(--txt);background:rgba(255,255,255,.08);padding:3px 9px;border-radius:20px}

/* who scheduled a run — Logs, Run control and History all use it */
.by-chip{font-family:var(--mono);font-size:10px;color:var(--txt-3);background:var(--panel-2);
  border:1px solid var(--line);padding:2px 7px;border-radius:20px;white-space:nowrap;
  max-width:110px;overflow:hidden;text-overflow:ellipsis}

/* ---- keep horizontal scrolling INSIDE the table ----
   A flex/grid child defaults to min-width:auto, so a wide table pushes its parents wider
   and the whole page slides sideways — taking the sidebar with it. Pinning min-width:0
   down the chain makes .tscroll the thing that scrolls, which is what it is for. */
.content,.tablewrap,.tscroll,#viewAccounts{min-width:0;max-width:100%}
.tscroll{overflow-x:auto;overflow-y:visible}
body{overflow-x:hidden}

/* ---- empty states that used to be blank rectangles ---- */
/* the live-log console before anything has run */
.log-idle{display:flex;flex-direction:column;gap:4px;padding:14px 12px;color:var(--txt-3);font-size:12px;
  font-family:var(--font,inherit)}
.log-idle span{color:var(--txt-4);font-size:11px}
/* the accounts table filtered down to nothing — distinct from "no profiles at all" */
.no-match td{text-align:center;padding:34px 16px;color:var(--txt-2)}
.no-match b{display:block;font-size:13px;margin-bottom:4px}
.no-match span{display:block;color:var(--txt-4);font-size:11.5px;margin-bottom:12px}

/* ---- Worker app setup (Members) ---- */
.wk-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--txt-4);vertical-align:middle}
.wk-dot.on{background:var(--green);box-shadow:0 0 0 3px rgba(55,224,138,.15)}
.wk-box{display:flex;flex-direction:column;gap:2px}
.wk-status{margin:8px 0}
.wk-stat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--txt-2);background:var(--panel-2);border:1px solid var(--line);padding:5px 11px;border-radius:20px}
.wk-stat.on{color:var(--green);border-color:rgba(55,224,138,.25)}
.wk-sec{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--txt-3);margin:16px 0 8px}
.wk-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:2px 0 4px}
.btn.danger{color:var(--red);border-color:rgba(255,92,108,.25)}
.btn.danger:hover{background:rgba(255,92,108,.08)}

/* ---- History: the "open this post" button ---- */
/* was a bare ↗ in cyan; it is the one thing on the row you actually click, so it gets
   the Reddit-orange accent and enough of a target to hit without aiming */
.go-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:8px;color:var(--violet);background:rgba(255,106,61,.10);
  border:1px solid rgba(255,106,61,.28);text-decoration:none;
  transition:background .14s,border-color .14s,transform .08s,box-shadow .14s}
.go-link svg{width:14px;height:14px}
.go-link:hover{background:linear-gradient(135deg,var(--violet),var(--violet-2));
  border-color:transparent;color:#fff;transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(255,69,0,.35)}
.go-link:active{transform:translateY(0);box-shadow:none}
.go-link.none{color:var(--txt-4);background:none;border-style:dashed;
  border-color:var(--line);cursor:default;font-size:12px}
.go-link.none:hover{transform:none;box-shadow:none;background:none;color:var(--txt-4);
  border-color:var(--line)}

/* ---- History: pick a day / a range ---- */
.lp-datebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:0 2px 12px;border-bottom:1px solid var(--line);margin-bottom:2px}
.dchips{display:flex;gap:6px;flex-wrap:wrap}
.dchip{background:var(--panel-2);border:1px solid var(--line);color:var(--txt-3);
  padding:5px 11px;border-radius:20px;font-size:11.5px;cursor:pointer;white-space:nowrap;
  transition:border-color .12s,color .12s,background .12s}
.dchip:hover{color:var(--txt);border-color:var(--line-2)}
.dchip.on{color:var(--violet);border-color:rgba(255,106,61,.4);background:rgba(255,106,61,.10);font-weight:600}
.drange{display:flex;align-items:center;gap:7px;margin-left:auto;background:var(--panel-2);
  border:1px solid var(--line);border-radius:9px;padding:4px 9px}
.drange > svg{width:14px;height:14px;color:var(--txt-4);flex:none}
.dinput{background:none;border:none;color:var(--txt);font-family:var(--mono);font-size:11.5px;
  padding:2px 3px;border-radius:5px;outline:none;color-scheme:dark;cursor:pointer}
.dinput:hover,.dinput:focus{background:var(--panel-3);color:var(--violet)}
.dinput::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer;opacity:.7}
.dinput::-webkit-calendar-picker-indicator:hover{opacity:1;filter:invert(.55) sepia(1) saturate(6) hue-rotate(-13deg)}
.dsep{color:var(--txt-4);font-size:11px}
.dclear{background:none;border:none;color:var(--txt-4);cursor:pointer;font-size:12px;
  padding:2px 4px;border-radius:5px;line-height:1}
.dclear:hover{color:var(--red);background:rgba(255,92,108,.10)}
