/* AI generation progress, errors and decisions (ADR-0029). Neutral surfaces, one teal accent. */
.ai-panel{grid-template-rows:auto minmax(0,1fr) auto}
.ai-panel .mini-form h2{margin-bottom:8px}
.ai-stages{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.ai-stages li{display:flex;align-items:center;gap:12px;min-height:36px;font-size:17px;color:var(--muted)}
.ai-stages li>span[aria-hidden]{width:26px;height:26px;flex:0 0 26px;border-radius:50%;border:2px solid var(--line);display:inline-grid;place-items:center;font-size:14px;font-weight:900}
.ai-stages li.done{color:var(--ink)}
.ai-stages li.done>span[aria-hidden]{border-color:var(--teal);background:var(--pale);color:var(--teal)}
.ai-stages li.current{color:var(--ink);font-weight:800}
.ai-stages li.current>span[aria-hidden]{border-color:var(--teal);border-top-color:transparent;animation:ai-turn 1.1s linear infinite}
@keyframes ai-turn{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ai-stages li.current>span[aria-hidden]{animation:none;border-top-color:var(--teal);background:var(--teal)}}
.ai-note{font-size:15px;line-height:1.5;color:var(--muted);margin:14px 0 8px}
.ai-error h2{color:#8a3a2b}
.ai-error p{font-size:16px;line-height:1.55;margin:0}
.ai-privacy{font-size:13px;margin:12px 0 4px}
.mini-form .ai-extra textarea{min-height:80px}
.mini-form>.btn.link{min-height:44px;padding:4px 0}
.ai-status{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--paper);font-size:15px;line-height:1.5;margin-bottom:8px}
.ai-status p,.generation-action .ai-status p{margin:0 0 6px;font-size:15px;line-height:1.5;color:var(--ink)}
.ai-status p:last-child{margin-bottom:0}
.ai-status.ai-error{border-color:#e6c1b7;background:#fdf6f3}
.ai-status.ai-conflict{border-color:var(--teal)}
.ai-proposal{background:var(--bg);border-radius:8px;padding:8px 10px;margin:4px 0 10px;overflow-wrap:anywhere}
.ai-proposal p,.generation-action .ai-proposal p{white-space:pre-line;margin:4px 0 0;color:var(--muted)}
.ai-proposal-list{margin:6px 0 0;padding-left:22px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.ai-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ai-actions .btn{flex:1 1 auto;min-height:44px;font-size:14px}
[data-paid-slot]:empty{display:none}
.paid-action{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.paid-action p{font-size:14px;line-height:1.5;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}
.generation-action .paid-action .btn{width:100%;min-height:44px}
.generation-action>[data-action=ai-cancel]{width:100%;min-height:44px}
.generation-action.decision{margin-top:0}
.warning-list{margin:6px 0 0;padding-left:20px;font-size:14px;line-height:1.5;color:var(--ink)}
dialog.choice>form{display:none}
.choice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.choice-actions .btn{flex:1 1 auto;min-height:44px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.large-text .ai-stages li{font-size:19px}
.large-text .ai-status,.large-text .ai-privacy{font-size:16px}
@media(max-width:450px){.ai-stages li{font-size:16px;min-height:32px}.ai-privacy{font-size:12px}.mini-form .ai-extra textarea{min-height:64px}}
@media(max-height:650px){.ai-stages{gap:2px;margin-top:8px}.ai-stages li{min-height:30px;font-size:15px}.ai-privacy{margin:6px 0 0}.mini-form .ai-extra textarea{min-height:56px}}
@media(max-height:450px) and (min-width:500px){.mini-form .ai-extra textarea{min-height:56px;height:64px;max-height:64px}.mini-form:has(#sourceText) .ai-privacy{grid-column:1;grid-row:3}.mini-form:has(#sourceText)>.btn.link{grid-column:2;grid-row:3;justify-self:start;min-height:40px}}
#admin-ai h3{margin:24px 0 10px;font-size:17px}
.ai-connection{margin:8px 0}
.ai-connection.down{color:#8a3a2b}
