/* AI previews, the AI settings tab and the calendar feed dialog (assets/js/ext/ai.js, import_export.js) */

.ai-modal .modal-body { max-height: 75vh; overflow: auto; }
.ai-box { display: flex; flex-direction: column; gap: 10px; }
.ai-question { margin: 0; padding: 6px 10px; border-left: 3px solid var(--accent); color: var(--fg-muted); }
.ai-status { display: flex; align-items: center; gap: 8px; min-height: 1.5em; }
.ai-preview:not(:empty) { border: 1px solid var(--border); border-radius: 6px; padding: 8px 12px; max-height: 50vh; overflow: auto; background: var(--bg); }
.ai-error { color: #d44c47; }
.ai-actions { flex-wrap: wrap; }
.ai-spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--border); border-top-color: var(--accent); animation: ai-spin .8s linear infinite; }
@keyframes ai-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ai-spinner { animation-duration: 3s; } }

.inline-toolbar .tb-ai { color: #9065b0; font-weight: 600; white-space: nowrap; }

.ai-state { padding: 8px 12px; border-radius: 6px; background: var(--bg-gray); }
.ai-state.on { background: var(--bg-green); }
.ai-state.off { background: var(--bg-yellow); }

.form textarea.input { resize: vertical; min-height: 4em; font: inherit; }
.ical .row-gap .input { flex: 1; min-width: 0; font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
