/* Admin → Scenepack AI chat */
.sai-wrap{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}
.sai{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;background:var(--panel);overflow:hidden;min-height:68vh;box-shadow:0 1px 2px rgba(10,26,58,.05),0 18px 44px -24px rgba(31,107,255,.35)}
.sai-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel))}
.sai-top b{display:block;font-size:1rem}.sai-top small{color:var(--muted);font-size:.78rem}
.sai-orb{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:1.1rem;box-shadow:0 8px 20px -8px var(--accent)}
.sai-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font:700 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#118a52}
.sai-live i{width:8px;height:8px;border-radius:50%;background:#19b46b;box-shadow:0 0 0 4px rgba(25,180,107,.18)}
.sai-live.busy{color:var(--accent)}.sai-live.busy i{background:var(--accent);animation:saiPulse 1s ease infinite}
.sai-log{flex:1;max-height:66vh;overflow:auto;padding:20px 18px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;background:radial-gradient(70% 40% at 50% 0,color-mix(in srgb,var(--accent) 5%,transparent),transparent)}
.sai-msg{display:flex;gap:10px;align-items:flex-start;animation:saiIn .3s ease both}
.sai-msg>i{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;background:var(--grad);color:#fff}
.sai-msg.me{flex-direction:row-reverse}.sai-msg.me>i{background:var(--bg2);color:var(--text);border:1px solid var(--line2)}
.sai-body{max-width:min(860px,92%);min-width:0;padding:12px 15px;border-radius:18px 18px 18px 6px;background:var(--bg2);border:1px solid var(--line);line-height:1.55;font-size:.94rem}
.sai-msg.me .sai-body{border-radius:18px 18px 6px 18px;background:var(--grad);color:#fff;border-color:transparent}
.sai-msg.me .sai-body *{color:inherit}
.sai-body code{font-family:var(--mono);font-size:.84em;background:var(--panel);padding:1px 6px;border-radius:6px}.sai-body ul{margin:6px 0 0;padding-left:18px}
.sai-filters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
.sai-fl{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font:600 .78rem var(--sans);cursor:pointer;transition:all .18s}
.sai-fl em{font-style:normal;font-size:.7rem;padding:1px 6px;border-radius:99px;background:var(--bg2);color:var(--muted)}
.sai-fl:hover{border-color:var(--accent)}.sai-fl.on{background:var(--grad);border-color:transparent;color:#fff}.sai-fl.on em{background:rgba(255,255,255,.25);color:#fff}
.sai-plan{display:grid;gap:10px;margin:10px 0}
.sai-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--panel);position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s;animation:saiIn .3s ease both}
.sai-row::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--line2)}
.sai-row:hover{box-shadow:0 14px 30px -18px rgba(31,107,255,.5);transform:translateY(-1px)}
.sai-row.sure::before,.sai-row.done::before{background:#19b46b}.sai-row.check::before{background:#e0a100}.sai-row.error::before{background:#d23b3b}.sai-row.wait::before{background:var(--grad)}
.sai-thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--bg2)}
.sai-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sai-thumb span{position:absolute;right:6px;bottom:6px;padding:2px 6px;border-radius:6px;background:rgba(5,13,28,.72);color:#fff;font-size:.62rem}
.sai-row.wait .sai-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:220% 100%;animation:saiSk 1.1s linear infinite}
.sai-main{min-width:0;display:grid;gap:7px}
.sai-line{display:flex;gap:10px;align-items:center;justify-content:space-between}.sai-line b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.sai-tag{flex:none;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg2);color:var(--muted);white-space:nowrap}
.sai-tag.sure,.sai-tag.done{background:#e3f6ec;color:#0d6b3a}.sai-tag.check{background:#fff3d1;color:#7a5400}.sai-tag.error{background:#fde4e4;color:#9b1c1c}.sai-tag.wait{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}
.sai-conf{position:relative;margin-bottom:12px;height:6px;border-radius:99px;background:var(--line);overflow:visible}
.sai-conf i{display:block;height:100%;border-radius:99px;background:var(--grad);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.sai-conf em{position:absolute;right:0;top:9px;font:700 .66rem var(--mono);font-style:normal;color:var(--muted)}
.sai-main select{width:100%;max-width:100%;padding:8px 10px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);font:inherit;font-size:.86rem}
.sai-chips{display:flex;gap:6px;flex-wrap:wrap}
.sai-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);font-size:.72rem;color:var(--muted)}
.sai-chip.warn{background:#fff6dd;border-color:#f0d58a;color:#7a5400}.sai-chip.bad{background:#fde8e8;border-color:#f1b4b4;color:#9b1c1c}.sai-chip.ok{background:#e6f7ee;border-color:#a8dcc0;color:#0d6b3a}
.sai-chip.shimmer{color:var(--accent);animation:saiPulse 1s ease infinite}
.sai-sw{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.sai-why{margin:0;font-size:.8rem;color:var(--accent)}.sai-warn{margin:0;font-size:.78rem;color:#9b6a00}.sai-bad{color:#c43030}.sai-more{color:var(--muted);font-size:.8rem}
.sai-rep{font-size:.8rem;color:var(--muted);display:flex;gap:6px;align-items:center}
.sai-x{width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);background:var(--panel);color:var(--muted);cursor:pointer;line-height:1;transition:all .18s}.sai-x:hover{background:#fde4e4;color:#9b1c1c;border-color:#f1b4b4}
.sai-sum{font-size:.84rem;color:var(--muted)}.sai-sum b{color:var(--text)}
.sai-seg{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--line);margin:6px 0 10px;gap:2px}
.sai-seg i{display:block;min-width:0;transition:flex .4s}.sai-seg .sure{background:#19b46b}.sai-seg .check{background:#e0a100}.sai-seg .none{background:var(--line2)}
.sai-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.sai-actions .btn[disabled]{opacity:.45;pointer-events:none}
.sai-prog{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:8px}.sai-prog i{display:block;height:100%;background:var(--grad);transition:width .25s ease}
.sai-miss{list-style:none;padding:0!important;display:grid;gap:4px;max-height:240px;overflow:auto;margin:6px 0 0}
.sai-miss li{display:flex;gap:8px;align-items:baseline;font-size:.8rem}.sai-miss .mono{color:var(--accent);font-size:.7rem}
.sai-drop{margin:0 16px;padding:14px 16px;border:2px dashed var(--line2);border-radius:18px;display:flex;gap:14px;align-items:center;cursor:pointer;color:var(--muted);transition:border-color .2s,background .2s,transform .2s}
.sai-drop b{display:block;color:var(--text)}.sai-drop span{font-size:.8rem}
.sai-drop-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);font-size:1.3rem;transition:transform .3s}
.sai-drop:hover,.sai-drop:focus-visible,.sai-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.sai-drop.over{transform:scale(1.012)}.sai-drop:hover .sai-drop-ic,.sai-drop.over .sai-drop-ic{transform:translateY(-3px)}
.sai-bar{display:flex;gap:8px;padding:12px 16px 16px;align-items:center}.sai-bar input[type=text]{flex:1;padding:12px 16px;border-radius:999px}
/* side panel */
.sai-side{position:sticky;top:92px;display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 1px 2px rgba(10,26,58,.05),0 18px 44px -24px rgba(31,107,255,.35)}
.sai-side h2{margin:6px 0 0;font:700 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.sai-ring{--p:0;width:150px;height:150px;margin:2px auto;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--panel) 74%,transparent 76%),conic-gradient(var(--accent) calc(var(--p)*1%),var(--line) 0)}
.sai-ring b{font-size:2rem;font-weight:900;letter-spacing:-.04em}.sai-ring span{font-size:.7rem;color:var(--muted)}
.sai-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sai-kpis div{padding:9px 6px;border-radius:13px;background:var(--bg2);text-align:center}.sai-kpis b{display:block;font-size:1.15rem}.sai-kpis span{font-size:.64rem;color:var(--muted)}
.sai-checks{margin:0;padding-left:18px;font-size:.8rem;color:var(--muted);display:grid;gap:4px}
:root[data-theme=dark] .sai-tag.sure,:root[data-theme=dark] .sai-tag.done{background:#0f3a26;color:#7ee2ad}:root[data-theme=dark] .sai-tag.check{background:#3d3000;color:#ffd666}:root[data-theme=dark] .sai-tag.error{background:#4a1515;color:#ff9c9c}
:root[data-theme=dark] .sai-chip.warn{background:#3d3000;border-color:#6b5600;color:#ffd666}:root[data-theme=dark] .sai-chip.bad{background:#4a1515;border-color:#7a2b2b;color:#ff9c9c}:root[data-theme=dark] .sai-chip.ok{background:#0f3a26;border-color:#1f6a46;color:#7ee2ad}
@keyframes saiIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes saiSk{to{background-position:-120% 0}}@keyframes saiPulse{50%{opacity:.45}}
@media(max-width:1180px){.sai-wrap{grid-template-columns:1fr}.sai-side{position:static;order:-1;grid-template-columns:auto 1fr;align-items:center;gap:16px}.sai-ring{width:104px;height:104px}.sai-ring b{font-size:1.4rem}.sai-side>h2,.sai-side>ul,.sai-side>p{display:none}}
@media(max-width:640px){.sai-row{grid-template-columns:1fr}.sai-x{position:absolute;top:8px;right:8px}.sai-body{max-width:100%}.sai-side{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sai-msg,.sai-row{animation:none}.sai-log{scroll-behavior:auto}.sai-prog i,.sai-conf i,.sai-seg i{transition:none}.sai-live.busy i,.sai-chip.shimmer,.sai-row.wait .sai-thumb::after{animation:none}}
/* the admin chat replaces the public floating assistant while it is open */
body:has(.sai) .ai-fab{display:none}
