/* ===== AI Bot Management (admin) ===== */
.bt-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.bt-head{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.bt-head .sp{flex:1}
.bt-banner{border-radius:14px;padding:12px 16px;margin-bottom:14px;font-size:.88rem;line-height:1.5}
.bt-banner.warn{background:#fff8e8;border:1px solid #f6e2b0;color:#6b5a34}
.bt-banner.bad{background:#fff0f3;border:1px solid #ffc9d6;color:#a3123f}
.bt-banner.ok{background:#eafaf3;border:1px solid #bdeed8;color:#0d6e47}
.bt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.bt-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 12px rgba(20,24,40,.05);transition:box-shadow .2s,border-color .2s}
.bt-card:hover{box-shadow:0 10px 26px rgba(20,24,40,.09)}
.bt-card.paused{background:#fafbfc}
.bt-card.paused .bt-av{filter:grayscale(.7);opacity:.8}
.bt-top{display:flex;gap:12px;align-items:center}
.bt-av{position:relative;width:62px;height:62px;flex-shrink:0}
.bt-av img,.bt-av .av{width:62px !important;height:62px !important;border-radius:50%;object-fit:cover;font-size:1.5rem}
.ai-chip{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:#21262e;color:#fff;font-size:.58rem;font-weight:900;padding:1px 6px;border-radius:999px;letter-spacing:.5px;white-space:nowrap;border:2px solid #fff}
.bt-top h4{font-size:1.02rem;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.t-act{background:#e9f9f2;color:#0d8a58}.t-pause{background:#f1f2f4;color:#6b7380}
.bt-pers{font-size:.86rem;color:#4a515c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.bt-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bt-nums div{background:var(--dark2);border-radius:10px;padding:8px;text-align:center}
.bt-nums b{display:block;font-size:1.1rem}
.bt-nums span{font-size:.7rem;color:var(--muted)}
.bt-flags{display:flex;gap:6px;flex-wrap:wrap}
.bt-flags span{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#f3f4f6;color:#4a515c}
.bt-flags span.on{background:#fff0f5;color:#e0175f}
.bt-card .acts{margin-top:2px}
.bt-card .acts .btn{padding:7px 10px;font-size:.8rem}
/* switch */
.sw{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;margin-left:auto;cursor:pointer}
.sw input{opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:#d5d9de;border-radius:999px;transition:.2s}
.sw i::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.sw input:checked+i{background:linear-gradient(45deg,#1ec18f,#12a46b)}
.sw input:checked+i::before{transform:translateX(20px)}
.sw.sm{width:38px;height:22px}.sw.sm i::before{width:16px;height:16px}.sw.sm input:checked+i::before{transform:translateX(16px)}
/* wide modal + forms */
.mbox.wide{max-width:920px;padding:0}
.mbox.wide .mh{position:sticky;top:0;background:#fff;z-index:3;padding:18px 24px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.mbox.wide .mh h3{font-size:1.2rem}
.mbox.wide .mb{padding:18px 24px}
.mbox.wide .mf{position:sticky;bottom:0;background:#fff;z-index:3;padding:12px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;align-items:center}
.mbox.wide .x{z-index:4}
.mbox.wide .mh .x{position:static;margin-left:auto;flex:none;line-height:1;padding:0 2px}
.mbox.wide .mf .btn{white-space:nowrap}
.fsec{margin-bottom:22px}
.fsec h5{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#fd267a;margin-bottom:10px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fgrid .full{grid-column:1/-1}
.fld label{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;font-weight:700;color:#4a515c;margin-bottom:5px}
.fld label small{font-weight:500;color:var(--muted)}
.fld input,.fld select,.fld textarea{width:100%}
.fld textarea{resize:vertical;min-height:70px;line-height:1.45}
.fld .hint{font-size:.74rem;color:var(--muted);margin-top:4px}
.req{color:#e0245e}
.chk{display:flex;gap:10px;align-items:center;background:var(--dark2);border-radius:10px;padding:10px 12px;font-size:.86rem;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:#fd267a;flex-shrink:0}
.ferr{background:#fff0f3;border:1px solid #ffc9d6;color:#a3123f;border-radius:10px;padding:10px 12px;font-size:.86rem;margin-bottom:14px;display:none}
.ferr.show{display:block}
.ph-edit{display:flex;gap:14px;align-items:center}
.ph-edit .prev{width:84px;height:84px;border-radius:14px;object-fit:cover;background:var(--dark2);display:grid;place-items:center;font-size:2rem;font-weight:800;color:#fff;flex-shrink:0;overflow:hidden}
.ph-edit .prev img{width:100%;height:100%;object-fit:cover}
.locked{background:#f6f7f9;border:1px dashed #cfd4da;border-radius:10px;padding:10px 12px;font-size:.76rem;color:#5b636e;white-space:pre-wrap;max-height:160px;overflow:auto}
/* personality editor */
.pe{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.pe-chat{border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;height:520px;background:#fff;position:sticky;top:76px}
.pe-chat .ch{padding:10px 14px;border-bottom:1px solid var(--line);font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:8px}
.tmsgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fafbfc}
.tb{max-width:85%;padding:8px 12px;border-radius:14px;font-size:.88rem;white-space:pre-wrap;word-wrap:break-word;line-height:1.4}
.tb.u{align-self:flex-end;background:#1786f8;color:#fff;border-bottom-right-radius:4px}
.tb.a{align-self:flex-start;background:#eef0f3;border-bottom-left-radius:4px}
.tb small{display:block;font-size:.64rem;opacity:.7;margin-top:3px}
.tb.sys{align-self:center;background:#fff8e8;color:#6b5a34;font-size:.78rem;text-align:center}
.tin{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.tin input{flex:1}
.typing-dots{display:inline-flex;gap:3px}.typing-dots i{width:6px;height:6px;border-radius:50%;background:#9aa1ab;animation:td 1s infinite}
.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}
@keyframes td{30%{transform:translateY(-3px);opacity:1}0%,60%,100%{opacity:.4}}
/* preview */
.pv{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}
.pv-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:linear-gradient(135deg,#ffb3cf,#fd267a);box-shadow:0 10px 26px rgba(0,0,0,.15)}
.pv-card img{width:100%;height:100%;object-fit:cover}
.pv-card .ini{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem;font-weight:900;color:#fff}
.pv-card .ov{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff}
.pv-card .ov h3{font-size:1.25rem;font-weight:800}
.pv-card .aiov{position:absolute;top:10px;left:10px;background:rgba(33,38,46,.88);color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px}
.ai-disc{background:#f3f6ff;border:1px solid #d6e0ff;color:#2a3d7a;border-radius:12px;padding:10px 12px;font-size:.84rem;margin:10px 0}
/* stats bars */
.sbars{display:flex;align-items:flex-end;gap:5px;height:110px;margin-top:8px}
.sbars .bar i{background:linear-gradient(0deg,#fd267a,#ff6036)}
.log-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.log-row .lt{color:var(--muted);font-size:.76rem;white-space:nowrap;min-width:110px}
.log-row code{font-size:.72rem;background:#f3f4f6;padding:1px 6px;border-radius:6px;word-break:break-word}
@media(max-width:760px){
  .fgrid,.pe,.pv{grid-template-columns:1fr}
  .pe-chat{position:static;height:440px}
  .mbox.wide{max-height:100vh;height:100%;border-radius:0}
  #modal:has(.mbox.wide){padding:0}
  .mbox.wide .mh,.mbox.wide .mb,.mbox.wide .mf{padding-left:16px;padding-right:16px}
  .mbox.wide .mf>.meta{display:none}
  .bt-grid{grid-template-columns:1fr}
  .pv-card{max-width:240px;margin:0 auto}
}

/* ---- bot Feed & Stories manager ---- */
.seg{display:inline-flex;background:#f1f2f6;border-radius:999px;padding:4px;gap:4px;margin-bottom:12px}
.seg button{border:0;background:none;padding:7px 14px;border-radius:999px;font-weight:700;font-size:.85rem;color:var(--muted);cursor:pointer}
.seg button.on{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.bc-new{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.bc-drop{width:150px;height:190px;border:2px dashed #d5d8e0;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-weight:700;font-size:.85rem;cursor:pointer;overflow:hidden;background:#fafbfc;flex:none}
.bc-drop #bcPrev{display:contents}
.bc-drop img{width:100%;height:100%;object-fit:cover}
.bc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bc-item,.bc-st{position:relative;border-radius:12px;overflow:hidden;background:#eee}
.bc-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.bc-stories{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.bc-st{width:120px;flex:none}
.bc-st img{width:120px;height:200px;object-fit:cover;display:block}
.bc-ov{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.72rem;line-height:1.3}
.bc-item .bc-ov{bottom:auto;top:0;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.bc-cap{font-size:.76rem;padding:6px 8px;background:#fff;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-del{position:absolute;top:6px;right:6px;border:0;background:rgba(255,255,255,.92);border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:.8rem}
@media(max-width:760px){.bc-drop{width:100%;height:220px}.bc-grid{grid-template-columns:repeat(2,1fr)}}
