/* CineStudio Video Editor — scoped to .ve-editor wrapper */
*{box-sizing:border-box;margin:0;padding:0}
/* Make the AppShell content area clip instead of scroll for the editor */
.cine-content:has(.ve-editor){overflow:hidden;padding:0}
.ve-editor{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#08090f;color:#e2e8f0;height:100%;display:flex;
  flex-direction:column;overflow:hidden;user-select:none}

.sp{flex:1}
.hbtn{padding:6px 14px;border:none;border-radius:5px;font-size:12px;
  font-weight:600;cursor:pointer}
.hbtn-exp{background:#2563eb;color:#fff}.hbtn-exp:hover{background:#1d4ed8}
.hbtn-sec{background:#1e293b;color:#94a3b8;border:1px solid #334155}
.hbtn-sec:hover{background:#263350;color:#e2e8f0}

/* ── MAIN AREA: media-lib left + right-col ── */
#main-area{display:flex;flex:1;min-height:0;overflow:hidden}

/* ── RIGHT COLUMN: previews on top, timeline below ── */
#right-col{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}

/* ── TWO PREVIEW PANELS ── */
#previews{display:flex;flex:1;min-height:0;border-bottom:2px solid #1e293b}

/* ── TIMELINE ROW ── */
#tl-row{display:flex;flex:0 0 300px;overflow:hidden}

.pnl-lbl{padding:4px 10px;font-size:12px;color:#fff;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #1e293b;
  flex-shrink:0;display:flex;align-items:center;gap:6px}
.pnl-hint{font-size:11px;color:#fff;font-weight:400;
  text-transform:none;letter-spacing:0}

#src-panel{flex:1;background:#050810;display:flex;flex-direction:column;
  border-right:1px solid #1e293b;min-width:0}
#src-drag-wrap{flex:1;display:flex;flex-direction:column;min-height:0;
  cursor:grab;position:relative}
#src-drag-wrap:active{cursor:grabbing}
#src-drag-wrap::after{content:'🎬  Drag to Timeline';position:absolute;
  bottom:38px;left:50%;transform:translateX(-50%);background:rgba(37,99,235,.88);
  color:#fff;font-size:11px;padding:4px 12px;border-radius:20px;opacity:0;
  transition:opacity .2s;pointer-events:none;white-space:nowrap}
#src-drag-wrap:hover::after{opacity:1}
#src-wrap{flex:1;display:flex;align-items:center;justify-content:center;
  background:#000;overflow:hidden}
#src-vid{max-width:100%;max-height:100%;outline:none;display:none;pointer-events:none}
#src-wave-cv{display:none;width:100%;height:100%;background:#050810;cursor:grab}
#src-wave-cv:active{cursor:grabbing}
.ph-msg{color:#334155;font-size:12px;text-align:center;padding:16px}

#io-bar{height:16px;background:#0a0e18;position:relative;flex-shrink:0}
#io-range{position:absolute;top:2px;height:12px;background:rgba(37,99,235,.45);border-radius:2px}
#io-in-ln{position:absolute;top:0;bottom:0;width:2px;background:#34d399}
#io-out-ln{position:absolute;top:0;bottom:0;width:2px;background:#f59e0b}
#io-play-ln{position:absolute;top:0;bottom:0;width:1px;background:#ef4444}
#io-lbls{position:absolute;inset:0;display:flex;justify-content:space-between;
  padding:1px 5px;font-size:11px;pointer-events:none}
#io-in-lb{color:#34d399}#io-out-lb{color:#f59e0b}#io-dur-lb{color:#fff}

#src-ctrls{padding:4px 8px;background:#0a0e18;border-top:1px solid #1e293b;
  display:flex;align-items:center;gap:5px;flex-shrink:0}
.cbtn{background:#1e293b;border:1px solid #334155;color:#94a3b8;
  padding:3px 9px;border-radius:4px;cursor:pointer;font-size:11px}
.cbtn:hover{background:#263350;color:#e2e8f0}
.cbtn-grn{background:#064e3b!important;color:#34d399!important;border-color:#065f46!important}
.cbtn-ylw{background:#451a03!important;color:#f59e0b!important;border-color:#78350f!important}
#src-time{font-size:13px;color:#fff;font-family:monospace;flex:1;text-align:right}

#tlp{flex:1;background:#050810;display:flex;flex-direction:column;min-width:0}
#tlp-wrap{flex:1;display:flex;align-items:center;justify-content:center;
  background:#000;overflow:hidden}
#tl-vid{max-width:100%;max-height:100%;outline:none;display:none}
#tlp-ctrls{padding:4px 8px;background:#0a0e18;border-top:1px solid #1e293b;
  display:flex;align-items:center;gap:6px;flex-shrink:0}
#tl-play-btn{background:#1e293b;border:1px solid #334155;color:#94a3b8;
  padding:4px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600}
#tl-play-btn:hover{background:#263350;color:#e2e8f0}
#tlp-time{font-size:13px;color:#fff;font-family:monospace;flex:1;text-align:right}

#media-lib{width:220px;flex-shrink:0;background:#0a0e18;
  border-right:2px solid #1e293b;display:flex;flex-direction:column;height:100%}
#lib-hdr{height:32px;flex-shrink:0;
  padding:0 8px;font-size:12px;font-weight:700;color:#fff;
  text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #1e293b;
  display:flex;align-items:center;justify-content:space-between}
#upload-label{padding:2px 7px;background:#1e3a5f;color:#60a5fa;
  border:1px solid #1e40af;border-radius:3px;font-size:10px;cursor:pointer}
#upload-label:hover{background:#1e40af;color:#fff}
#file-input{display:none}
#lib-grid{flex:1 1 0;overflow-y:auto;overflow-x:hidden;padding:6px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:5px;align-content:start;
  grid-auto-rows:min-content;
  scrollbar-width:thin;scrollbar-color:#475569 #0d1117}
#lib-grid::-webkit-scrollbar{width:7px}
#lib-grid::-webkit-scrollbar-track{background:#0d1117;border-radius:4px}
#lib-grid::-webkit-scrollbar-thumb{background:#475569;border-radius:4px;min-height:40px;border:1px solid #0d1117}
#lib-grid::-webkit-scrollbar-thumb:hover{background:#7c93b0}
.gi{background:#1e293b;border-radius:5px;overflow:hidden;cursor:grab;
  border:2px solid transparent;transition:border-color .15s;position:relative;
  min-width:0;min-height:0;align-self:start;justify-self:stretch;line-height:0}
.gi:hover{border-color:#3b82f6}
.gi.sel-media{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}
.gi-thumb-wrap{position:relative;width:100%;height:80px;background:#000;overflow:hidden;display:block}
.gi-thumb{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;border:0;margin:0;padding:0}
.gi-icon{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;font-size:20px;background:#1e293b;line-height:1}
.gi.importing{cursor:wait}
.gi-importing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;background:rgba(2,6,23,.58);color:#e2e8f0;
  font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.4px;
  pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.85)}
.gi-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(148,163,184,.35);
  border-top-color:#60a5fa;animation:giSpin .8s linear infinite}
@keyframes giSpin{to{transform:rotate(360deg)}}
.gi-name{padding:2px 4px;font-size:10px;color:#fff;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.gi-dur{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.8);
  color:#e2e8f0;font-size:8px;padding:1px 3px;border-radius:2px}
#lib-hint{flex-shrink:0;padding:4px 8px;font-size:11px;
  color:#fff;text-align:center;border-top:1px solid #111c2e}

#tl-section{flex:1;display:flex;flex-direction:column;overflow:hidden}
#tl-bar{height:30px;background:#0d1117;border-bottom:1px solid #1e293b;
  display:flex;align-items:center;padding:0 8px;gap:7px;flex-shrink:0}
#tl-pos{font-family:monospace;font-size:14px;color:#fff;min-width:80px}
.zbtn{background:#1e293b;border:1px solid #334155;color:#94a3b8;
  width:22px;height:22px;border-radius:3px;cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center}
.zbtn:hover{background:#263350;color:#fff}
.tl-hint2{font-size:11px;color:#fff}

#tl-scroll{flex:1;overflow-x:auto;overflow-y:hidden;position:relative}
#tl-inner{position:relative}
#ruler{height:20px;background:#0d1117;border-bottom:1px solid #1e293b;
  position:sticky;top:0;z-index:10}

.track-row{height:52px;display:flex;border-bottom:1px solid #0f1929;position:relative}
.track-lbl{position:sticky;left:0;z-index:5;width:72px;flex-shrink:0;
  background:#0d1117;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;
  font-size:9px;color:#fff;font-weight:700;text-transform:uppercase;
  border-right:1px solid #1e293b;letter-spacing:.5px}
.mute-btn{background:#1e293b;border:1px solid #334155;color:#94a3b8;
  font-size:9px;padding:2px 5px;border-radius:3px;cursor:pointer;line-height:1;
  font-weight:700;letter-spacing:0}
.mute-btn:hover{background:#374151;color:#e2e8f0}
.mute-btn.muted{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}
.track-body{flex:1;position:relative;height:100%;cursor:crosshair}
.track-body.dov{background:rgba(37,99,235,.1)!important}

.clip{position:absolute;top:6px;height:40px;border-radius:4px;cursor:grab;
  display:flex;align-items:center;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);min-width:6px;transition:box-shadow .1s}
.clip:hover{box-shadow:0 0 0 2px #60a5fa;z-index:5}
.clip.sel{box-shadow:0 0 0 2px #f59e0b;z-index:6}
.clip.vc{background:linear-gradient(135deg,#1e3a5f,#1e40af)}
.clip.ic{background:linear-gradient(135deg,#064e3b,#065f46)}
.clip.ac{background:rgba(76,29,149,.7)}
.clip.ac2{background:rgba(4,47,46,.7)}
.clip canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.clip-lbl{padding:0 5px;font-size:9px;color:rgba(255,255,255,.9);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;
  position:relative;z-index:2;pointer-events:none;
  text-shadow:0 1px 3px rgba(0,0,0,.8)}
.clip-vol{position:absolute;bottom:2px;right:18px;font-size:8px;
  color:rgba(255,255,255,.8);pointer-events:none;z-index:3;
  background:rgba(0,0,0,.4);padding:0 3px;border-radius:2px}
.clip-del{width:14px;height:14px;background:rgba(239,68,68,.85);
  border-radius:50%;display:none;align-items:center;justify-content:center;
  font-size:9px;margin-right:3px;cursor:pointer;flex-shrink:0;
  position:relative;z-index:3}
.clip:hover .clip-del{display:flex}
.clip-lock{font-size:9px;cursor:pointer;flex-shrink:0;opacity:0.7;
  position:relative;z-index:3;padding:0 2px;line-height:1;
  display:flex;align-items:center}
.clip-lock:hover{opacity:1;filter:brightness(1.4)}
#cut-icon{position:absolute;top:20px;display:none;pointer-events:none;
  font-size:22px;color:#fff;z-index:30;transform:translateX(-50%) rotate(-45deg);
  text-shadow:0 0 6px rgba(0,0,0,.9);filter:drop-shadow(0 0 3px #ef4444);
  transition:opacity .15s}
@keyframes cutFlash{0%{opacity:1;transform:translateX(-50%) rotate(-45deg) scale(1.3)}
  100%{opacity:0;transform:translateX(-50%) rotate(-45deg) scale(0.8)}}
#cut-icon.flashing{display:block;animation:cutFlash .4s ease-out forwards}
#ph{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;
  z-index:20;pointer-events:none;left:52px}
#ph::before{content:'▼';position:absolute;top:-1px;left:50%;
  transform:translateX(-50%);color:#ef4444;font-size:10px;line-height:1}

#tl-in-mk,#tl-out-mk{position:absolute;top:0;height:20px;width:2px;
  background:#f59e0b;z-index:21;pointer-events:none;display:none}
#tl-range{position:absolute;top:0;height:20px;
  background:rgba(245,158,11,0.28);z-index:19;pointer-events:none;display:none}

#shortcuts{padding:2px 8px;background:#07090e;border-top:1px solid #111;
  font-size:11px;color:#e2e8f0;text-align:center;flex-shrink:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#shortcuts kbd{background:#1e293b;border:1px solid #334155;border-radius:2px;
  padding:0 3px;font-size:10px;color:#f1f5f9}

.ve-editor ::-webkit-scrollbar{width:4px;height:4px}
.ve-editor ::-webkit-scrollbar-track{background:#0d1117}
.ve-editor ::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}

#seq-badge{font-size:11px;font-weight:700;color:#60a5fa;background:#1e3a5f;
  border:1px solid #3b82f6;border-radius:4px;padding:4px 10px;cursor:pointer;
  white-space:nowrap;letter-spacing:.3px}
#seq-badge:hover{background:#1e40af;color:#fff;border-color:#60a5fa}

#seq-modal{display:none;position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,.65);align-items:center;justify-content:center}
#seq-modal.open{display:flex}
#seq-box{background:#0d1117;border:1px solid #334155;border-radius:8px;
  padding:18px 22px;min-width:280px;box-shadow:0 12px 40px rgba(0,0,0,.7)}
#seq-box h3{font-size:13px;font-weight:700;color:#f1f5f9;
  margin-bottom:14px;letter-spacing:.5px;text-transform:uppercase}
.seq-row{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;font-size:12px;color:#94a3b8}
.seq-row label{font-weight:600}
.seq-sel{background:#1e293b;border:1px solid #334155;color:#e2e8f0;
  padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer}
.seq-sel:focus{outline:none;border-color:#3b82f6}
.seq-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.seq-pre{background:#1e293b;border:1px solid #334155;color:#94a3b8;
  padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer}
.seq-pre:hover{background:#263350;color:#fff}
.seq-pre.active{background:#1e3a5f;border-color:#3b82f6;color:#60a5fa}
.seq-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.seq-ok{background:#2563eb;color:#fff;border:none;border-radius:5px;
  padding:6px 16px;font-size:12px;font-weight:600;cursor:pointer}
.seq-ok:hover{background:#1d4ed8}
.seq-cancel{background:#1e293b;color:#94a3b8;border:1px solid #334155;
  border-radius:5px;padding:6px 12px;font-size:12px;cursor:pointer}
.seq-cancel:hover{background:#263350;color:#e2e8f0}

#ctx-menu{display:none;position:fixed;z-index:999;background:#1e293b;
  border:1px solid #334155;border-radius:6px;padding:4px 0;min-width:160px;
  box-shadow:0 8px 24px rgba(0,0,0,.6)}
#ctx-menu .cm-item{padding:7px 14px;font-size:12px;color:#e2e8f0;cursor:pointer;
  display:flex;align-items:center;gap:8px}
#ctx-menu .cm-item:hover{background:#2563eb;color:#fff}
#ctx-menu .cm-sep{height:1px;background:#334155;margin:3px 0}

#vu-panel{width:58px;flex-shrink:0;background:#07090e;border-left:2px solid #1e293b;
  display:flex;flex-direction:column;align-items:center;overflow:hidden}
#vu-title{font-size:9px;color:#475569;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;padding:4px 0 2px 0;flex-shrink:0}
#vu-canvas{flex:1;width:100%}

/* ── AI Auto Edit Button ── */
.hbtn-ai{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;border:none}
.hbtn-ai:hover{background:linear-gradient(135deg,#6d28d9,#1d4ed8)}

/* ── AI Auto Edit Modal ── */
#ai-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.75);
  align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#ai-modal.open{display:flex}
#ai-box{background:#0f1118;border:1px solid #1e293b;border-radius:12px;
  width:680px;max-width:90vw;max-height:85vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.8)}
#ai-header{display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid #1e293b}
#ai-header h3{font-size:16px;color:#fff;font-weight:700;margin:0}
.ai-close-btn{background:none;border:none;color:#64748b;font-size:22px;
  cursor:pointer;padding:0 4px;line-height:1}
.ai-close-btn:hover{color:#fff}
.ai-desc{font-size:12px;color:#94a3b8;margin:0 0 12px;line-height:1.5}

#ai-step1,#ai-step2,#ai-step3,#ai-step4{padding:16px 20px 20px}

/* Notes input */
#ai-notes-row{margin-bottom:12px}
#ai-notes-row label{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px;font-weight:600}
#ai-notes{width:100%;padding:8px 10px;background:#1a1d2a;border:1px solid #334155;
  border-radius:6px;color:#e2e8f0;font-size:12px;outline:none}
#ai-notes:focus{border-color:#2563eb}

/* Clip list header */
#ai-clip-hdr{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px;padding:0 2px}
.ai-clip-sel-all{font-size:11px;color:#94a3b8;display:flex;align-items:center;gap:6px}
.ai-clip-sel-all input{accent-color:#2563eb}
.ai-clip-count{font-size:11px;color:#64748b}

/* Clip list */
#ai-clip-list{max-height:320px;overflow-y:auto;border:1px solid #1e293b;
  border-radius:8px;background:#0a0c14}
.ai-clip-row{display:flex;align-items:center;gap:10px;padding:8px 12px;
  border-bottom:1px solid #1e293b;transition:background .15s}
.ai-clip-row:last-child{border-bottom:none}
.ai-clip-row:hover{background:rgba(37,99,235,.06)}
.ai-clip-row input[type="checkbox"]{accent-color:#2563eb;flex-shrink:0}
.ai-clip-icon{font-size:14px;flex-shrink:0}
.ai-clip-info{flex:1;min-width:0}
.ai-clip-name{font-size:12px;color:#e2e8f0;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;font-weight:500}
.ai-clip-dur{font-size:10px;color:#64748b;margin-top:1px}
.ai-clip-retake{flex-shrink:0}
.ai-retake-btn{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;
  border:1px solid #334155;background:transparent;color:#64748b;cursor:pointer}
.ai-retake-btn:hover{border-color:#ef4444;color:#ef4444}
.ai-retake-btn.active{background:rgba(239,68,68,.15);border-color:#ef4444;color:#ef4444}

/* Buttons */
#ai-step1-btns,#ai-step3-btns{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}
.ai-btn{padding:8px 18px;border:none;border-radius:6px;font-size:12px;
  font-weight:600;cursor:pointer;transition:all .15s}
.ai-btn-pri{background:#2563eb;color:#fff}
.ai-btn-pri:hover{background:#1d4ed8}
.ai-btn-pri:disabled{background:#1e293b;color:#475569;cursor:not-allowed}
.ai-btn-sec{background:#1e293b;color:#94a3b8;border:1px solid #334155}
.ai-btn-sec:hover{background:#263350;color:#e2e8f0}
.ai-btn-exp{background:linear-gradient(135deg,#059669,#10b981);color:#fff}
.ai-btn-exp:hover{background:linear-gradient(135deg,#047857,#059669)}

/* Progress bar */
#ai-progress-wrap{text-align:center;padding:40px 20px}
#ai-progress-bar{width:100%;height:6px;background:#1e293b;border-radius:3px;
  overflow:hidden;margin-bottom:14px}
#ai-progress-fill,#ai-export-fill{height:100%;border-radius:3px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);transition:width .4s ease;width:0}

/* EDL Review columns */
#ai-edl-columns{display:flex;gap:12px;margin-bottom:14px}
.ai-edl-col{flex:1;background:#0a0c14;border:1px solid #1e293b;border-radius:8px;
  padding:10px;max-height:200px;overflow-y:auto}
.ai-edl-col h4{font-size:11px;color:#94a3b8;text-transform:uppercase;
  letter-spacing:.5px;margin:0 0 8px;font-weight:700}
.ai-edl-col-disc h4{color:#f87171}
.ai-edl-item{font-size:11px;padding:4px 6px;border-radius:4px;margin-bottom:3px;
  display:flex;align-items:center;gap:6px}
.ai-edl-item.keep{color:#34d399;background:rgba(52,211,153,.06)}
.ai-edl-item.disc{color:#f87171;background:rgba(248,113,113,.06);text-decoration:line-through;opacity:.7}

/* Trim section */
#ai-trim-section{margin-bottom:4px}
#ai-trim-section h4{font-size:11px;color:#94a3b8;text-transform:uppercase;
  letter-spacing:.5px;margin:0 0 8px;font-weight:700}
#ai-trim-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.ai-trim-item{background:#0a0c14;border:1px solid #1e293b;border-radius:6px;padding:8px 10px}
.ai-trim-name{font-size:11px;color:#e2e8f0;font-weight:600;margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-trim-vals{display:flex;gap:8px}
.ai-trim-vals label{font-size:10px;color:#64748b}
.ai-trim-vals input{width:60px;padding:3px 5px;background:#1a1d2a;border:1px solid #334155;
  border-radius:4px;color:#e2e8f0;font-size:11px;text-align:center}
.ai-trim-vals input:focus{border-color:#2563eb;outline:none}

/* ── NEW TRACK COLORS ── */
.clip.ac-ai{background:rgba(168,85,247,.55)}
.clip.ac-dub{background:rgba(234,179,8,.35)}
.clip.ac-sfx{background:rgba(239,68,68,.4)}

/* ── CONTEXT MENU AI ── */
.cm-ai{color:#a78bfa}
.cm-ai:hover{background:#2e1065!important;color:#c4b5fd}

/* ── AI AUDIO PANEL ── */
#ai-audio-panel{display:none;flex-direction:column;position:fixed;right:8px;top:50%;
  transform:translateY(-50%);width:260px;max-height:480px;
  background:#0c1021;border:1px solid #1e293b;border-radius:10px;
  box-shadow:0 8px 32px rgba(0,0,0,.6);z-index:100;overflow:hidden;
  font-size:12px}
#ai-panel-header{display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;border-bottom:1px solid #1e293b;background:#0a0e1a}
#ai-panel-title{font-size:12px;font-weight:700;color:#e2e8f0}
#ai-panel-close{background:none;border:none;color:#94a3b8;font-size:16px;
  cursor:pointer;padding:0 4px;line-height:1}
#ai-panel-close:hover{color:#fff}
#ai-panel-body{padding:12px;display:flex;flex-direction:column;gap:10px;
  overflow-y:auto;max-height:400px}
.ai-field{display:flex;flex-direction:column;gap:3px}
.ai-field label{font-size:10px;color:#64748b;text-transform:uppercase;
  letter-spacing:.5px;font-weight:600}
.ai-field select,.ai-field textarea{background:#1a1d2a;border:1px solid #334155;
  border-radius:5px;padding:6px 8px;color:#e2e8f0;font-size:11px;
  font-family:inherit;outline:none;resize:vertical}
.ai-field select:focus,.ai-field textarea:focus{border-color:#6366f1}
.ai-field textarea{min-height:54px}
