.ai-assist-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-assist-grid>div,.ai-assist-grid>.job-error{grid-column:1/-1}
.ai-assist-grid p{color:var(--muted)}
.ai-assist-grid form .button,.ai-assist-grid>.button{width:100%;justify-content:center}
.job-error{color:#ee9696;margin:0;padding:14px 18px;border:1px solid rgba(238,150,150,.28);border-radius:10px;background:rgba(90,30,30,.18)}

.ai-workspace{margin-top:22px;display:grid;gap:16px}
.ai-poll-pill{
  display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(94,224,160,.28);background:rgba(38,180,100,.1);color:#6ee7a8;font-size:12px
}
.ai-poll-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#5ee0a0;box-shadow:0 0 0 0 rgba(94,224,160,.7);animation:ai-pulse 1.6s infinite}
.ai-filters{display:flex;flex-wrap:wrap;gap:8px}
.ai-filter{
  display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  border:1px solid var(--line);background:#101116;color:#b7bbc6;font-size:13px
}
.ai-filter strong{min-width:1.5ch;color:#fff}
.ai-filter:hover{border-color:#3a3f4d;color:#fff}
.ai-filter.is-active{border-color:#4f6fb8;background:#151a28;color:#fff}
.ai-board{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);gap:14px;min-height:560px;align-items:stretch}
.ai-queue,.ai-detail{
  border:1px solid var(--line);border-radius:14px;background:#101116;min-height:0;display:flex;flex-direction:column
}
.ai-queue-list{list-style:none;margin:0;padding:8px;overflow:auto;display:grid;gap:6px;flex:1}
.ai-queue-row{display:grid;gap:8px;padding:8px;border-radius:12px;border:1px solid transparent;background:#0c0d12}
.ai-queue-row.is-selected{border-color:#4f6fb8;background:#151a28}
.ai-queue-item{
  display:grid;grid-template-columns:auto 1fr;grid-template-areas:"chip time" "title title" "meta meta";
  gap:4px 10px;padding:4px;border-radius:8px
}
.ai-queue-item .status-chip{grid-area:chip;justify-self:start}
.ai-queue-item time{grid-area:time;justify-self:end;color:#7f8491;font-size:11px}
.ai-queue-item strong{grid-area:title;font-size:14px}
.ai-queue-item small{grid-area:meta;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-queue-row:hover{border-color:#2f3340}
.ai-queue-row.is-selected:hover{border-color:#4f6fb8}
.ai-queue-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px 4px}
.ai-queue-actions .button{padding:7px 11px;font-size:12px}
.ai-detail{overflow:hidden}
.ai-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}
.ai-detail-head h2{margin:8px 0 4px;font-size:22px;letter-spacing:-.03em}
.ai-detail-head p{margin:0;color:var(--muted);font-size:13px}
.ai-detail-head a{color:#c9d7ff}
.ai-detail-head small{display:block;margin-top:8px;color:var(--muted)}
.ai-detail-result{
  flex:1;min-height:0;overflow:auto;margin:0;padding:20px;white-space:pre-wrap;
  font:13px/1.7 DM Mono,ui-monospace,monospace;color:#d5d7de;background:#0c0d11;border:0
}
.ai-detail-actions{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 18px;
  border-top:1px solid var(--line);color:var(--muted);font-size:12px;background:#0f1015
}
.ai-detail-actions.top{padding:0;border:0;background:transparent;flex-shrink:0}
.ai-waiting{display:grid;place-items:center;gap:14px;flex:1;padding:48px 24px;text-align:center;color:var(--muted)}
.ai-waiting.quiet{place-items:start center}
.ai-spinner{
  width:28px;height:28px;border-radius:50%;border:2px solid #2a2e3a;border-top-color:#6ea0ff;animation:ai-spin .8s linear infinite
}
.ai-empty{padding:36px 22px;color:var(--muted)}
.ai-empty.wide{padding:64px 28px}
.ai-empty h2{margin:0 0 8px;color:#fff;font-size:18px}
.ai-empty p{margin:0;max-width:36ch}
.status-chip.status-review{color:#f0c674;border-color:rgba(240,198,116,.28);background:rgba(120,90,20,.18)}
.status-chip.status-queued,.status-chip.status-running{color:#9db7ff;border-color:rgba(120,150,255,.28);background:rgba(50,70,140,.18)}
.status-chip.status-accepted{color:#6ee7a8;border-color:rgba(75,210,130,.28);background:rgba(38,180,100,.12)}
.status-chip.status-failed,.status-chip.status-rejected{color:#f0a0a0;border-color:rgba(240,120,120,.28);background:rgba(90,30,30,.18)}
.status-chip.connected{color:#6ee7a8;border-color:rgba(75,210,130,.28);background:rgba(38,180,100,.12)}

@keyframes ai-spin{to{transform:rotate(360deg)}}
@keyframes ai-pulse{
  0%{box-shadow:0 0 0 0 rgba(94,224,160,.55)}
  70%{box-shadow:0 0 0 8px rgba(94,224,160,0)}
  100%{box-shadow:0 0 0 0 rgba(94,224,160,0)}
}

@media(max-width:980px){
  .ai-board{grid-template-columns:1fr;min-height:0}
  .ai-queue{max-height:280px}
  .ai-detail{min-height:420px}
  .ai-detail-head{flex-direction:column}
}
@media(max-width:700px){
  .ai-assist-grid{grid-template-columns:1fr}
}
