.ai-assistant-entry { display: inline-flex; align-items: center; gap: 6px; }
.ai-assistant-entry > .small { max-width: 240px; line-height: 1.25; }
.ai-assistant-modal { padding: 0 !important; }
.ai-assistant-modal .modal-dialog { position: fixed; inset-block: 0; inset-inline-end: 0; width: min(720px, 58vw); margin: 0; }
.ai-assistant-modal .modal-content { height: 100vh; border: 0; border-radius: 0; background:var(--sx-surface,#fff); box-shadow:var(--sx-shadow,-12px 0 30px rgba(15,23,42,.18)); }
.ai-assistant-workspace { --aa-line:var(--sx-border,#dfe5ec); --aa-soft:var(--sx-surface-muted,#f6f8fb); --aa-ink:var(--sx-ink,#172033); --aa-muted:var(--sx-muted,#667085); --aa-brand:var(--sx-brand,#176b59); --aa-brand-soft:var(--sx-brand-soft,#e5f1ed); display:flex; flex-direction:column; height:100%; color:var(--aa-ink); text-align:start; }
.ai-assistant-workspace__header { flex:0 0 auto; padding:18px 22px; border-color:var(--aa-line); background:var(--sx-surface,#fff); }
.ai-assistant-workspace__header .close { margin:0; margin-inline-start:12px; float:inline-end; }
.ai-assistant-workspace__title { display:flex; align-items:flex-start; gap:12px; }
.ai-assistant-workspace__mark { display:flex; align-items:center; justify-content:center; flex:0 0 38px; width:38px; height:38px; border-radius:var(--sx-radius,10px); color:#fff; background:var(--aa-brand); }
.ai-assistant-workspace__mark > i { display:block; font-size:18px; line-height:1; }
.ai-assistant-workspace__title h3 { margin:0; font-size:20px; font-weight:650; }
.ai-assistant-workspace__title p { margin:4px 0 0; color:var(--aa-muted); }
.ai-assistant-workspace__body { flex:1 1 auto; min-height:0; padding:18px 22px 28px; overflow:auto; background:var(--aa-soft); }
.ai-assistant-workspace__footer { flex:0 0 auto; padding:12px 18px; border-color:var(--aa-line); background:var(--sx-surface,#fff); }
.ai-assistant-card { margin-block-end:14px; padding:16px; border:1px solid var(--aa-line); border-radius:var(--sx-radius-lg,10px); background:var(--sx-surface,#fff); box-shadow:var(--sx-shadow-sm,none); }
.ai-assistant-card > h4 { margin:0 0 12px; font-size:15px; font-weight:700; }
.ai-assistant-recipe { display:flex; align-items:flex-start; gap:10px; padding:11px; border:1px solid var(--aa-line); border-radius:8px; cursor:pointer; }
.ai-assistant-recipe + .ai-assistant-recipe { margin-block-start:8px; }
.ai-assistant-recipe:has(input:checked) { border-color:var(--aa-brand); background:var(--aa-brand-soft); box-shadow:0 0 0 1px var(--aa-brand) inset; }
.ai-assistant-recipe input { margin-top:3px; }
.ai-assistant-recipe strong,.ai-assistant-recipe small { display:block; }
.ai-assistant-recipe small { margin-block-start:3px; color:var(--aa-muted); font-weight:400; }
.ai-assistant-scope-list { max-height:130px; margin:8px 0; padding-inline-start:22px; overflow:auto; }
.ai-assistant-history .list-group-item { display:flex; align-items:center; gap:8px; width:100%; }
.ai-assistant-history small { margin-inline-start:auto; color:var(--aa-muted); }
.ai-assistant-run__bar { display:flex; align-items:center; gap:8px; margin-block-end:12px; }
.ai-assistant-run__bar .btn { margin-inline-end:auto; padding-inline-start:0; }
.ai-assistant-progress { margin-block-end:14px; padding:11px 14px; border-radius:var(--sx-radius,8px); color:var(--aa-brand); background:var(--aa-brand-soft); }
.ai-assistant-summary { white-space:pre-wrap; }
.ai-assistant-coverage { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.ai-assistant-coverage > div { min-width:110px; padding:8px 10px; border-radius:7px; background:var(--aa-soft); }
.ai-assistant-coverage dt { font-size:11px; color:var(--aa-muted); overflow-wrap:anywhere; }
.ai-assistant-coverage dd { margin:2px 0 0; font-weight:700; overflow-wrap:anywhere; }
.ai-assistant-step { padding:14px 0; border-top:1px solid var(--aa-line); }
.ai-assistant-step:first-of-type { border-top:0; }
.ai-assistant-step > header { display:flex; justify-content:space-between; gap:12px; margin-block-end:12px; }
.ai-assistant-step.is-complete { border-inline-start:3px solid var(--sx-success,#2e9d64); padding-inline-start:12px; }
.ai-assistant-step.is-failed { border-inline-start:3px solid var(--sx-danger,#c64b55); padding-inline-start:12px; }
.ai-assistant-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.ai-assistant-field-wide { grid-column:1/-1; }
.ai-assistant-draft { min-height:190px; resize:vertical; white-space:pre-wrap; }
.ai-assistant-before-after { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; margin-block-end:12px; }
.ai-assistant-before-after > div { min-width:0; padding:10px; border-radius:7px; background:var(--aa-soft); overflow-wrap:anywhere; }
.ai-assistant-before-after small,.ai-assistant-before-after bdi { display:block; }
[dir=rtl] .ai-assistant-before-after > i { transform:rotate(180deg); }
.ai-assistant-metadata { display:grid; grid-template-columns:minmax(140px,.8fr) minmax(180px,1.2fr); gap:6px 12px; align-items:center; padding:10px 0; border-top:1px solid var(--aa-line); }
.ai-assistant-metadata > small { grid-column:1; color:var(--aa-muted); }
.ai-assistant-metadata > .form-control,.ai-assistant-metadata > .help-block { grid-column:2; grid-row:1/span 2; margin:0; }
.ai-assistant-receipt { display:flex; align-items:center; color:var(--sx-success,#24764c); }
.ai-assistant-inline-evidence,.ai-assistant-field-evidence { margin:8px 0 12px; padding:8px 10px; border-radius:var(--sx-radius,7px); background:var(--aa-soft); color:var(--aa-muted); }
.ai-assistant-inline-evidence summary,.ai-assistant-field-evidence summary { cursor:pointer; font-weight:600; }
.ai-assistant-inline-evidence p,.ai-assistant-field-evidence p { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-assistant-source-preview { margin-block-start:8px; }
.ai-assistant-source-preview + .ai-assistant-source-preview { padding-block-start:8px; border-top:1px solid var(--aa-line); }
.ai-assistant-source-preview dl,.ai-assistant-sources dl { display:grid; grid-template-columns:minmax(100px,.35fr) minmax(0,1fr); gap:3px 10px; margin:5px 0 0; }
.ai-assistant-source-preview dl > div,.ai-assistant-sources dl > div { display:contents; }
.ai-assistant-source-preview dt,.ai-assistant-sources dt { color:var(--aa-muted); font-weight:600; }
.ai-assistant-source-preview dd,.ai-assistant-sources dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-assistant-source-preview > small,.ai-assistant-sources li > small { display:block; margin-block-start:5px; color:var(--aa-muted); }
.ai-assistant-field-evidence { grid-column:1/-1; grid-row:auto; margin:0; }
.ai-assistant-sources-toggle { width:100%; padding:0; text-align:start; }
.ai-assistant-sources { margin-block-start:14px; padding-inline-start:24px; }
.ai-assistant-sources li + li { margin-block-start:12px; }
.ai-assistant-sources p { margin:3px 0; white-space:pre-wrap; }
.ai-assistant-workspace .form-control { max-width:100%; }
.ai-assistant-workspace button:focus-visible,.ai-assistant-workspace input:focus-visible,.ai-assistant-workspace select:focus-visible,.ai-assistant-workspace textarea:focus-visible { outline:2px solid var(--sx-focus,#167555); outline-offset:2px; }

@media (max-width: 767px) {
  .ai-assistant-modal .modal-dialog { inset:0; width:100%; }
  .ai-assistant-modal .modal-content { width:100%; }
  .ai-assistant-workspace__header { padding:14px 16px; }
  .ai-assistant-workspace__body { padding:14px; }
  .ai-assistant-fields { grid-template-columns:1fr; }
  .ai-assistant-field-wide { grid-column:auto; }
  .ai-assistant-workspace__footer { display:flex; flex-wrap:wrap; gap:8px; }
  .ai-assistant-workspace__footer .btn { flex:1 1 auto; margin:0; white-space:normal; }
}
@media (max-width: 390px) {
  .ai-assistant-workspace__title p { font-size:12px; }
  .ai-assistant-card { padding:12px; }
  .ai-assistant-metadata { grid-template-columns:1fr; }
  .ai-assistant-metadata > small,.ai-assistant-metadata > .form-control,.ai-assistant-metadata > .help-block { grid-column:1; grid-row:auto; }
  .ai-assistant-before-after { grid-template-columns:1fr; }
  .ai-assistant-before-after > i { transform:rotate(90deg); justify-self:center; }
  [dir=rtl] .ai-assistant-before-after > i { transform:rotate(90deg); }
}
@media (max-width: 320px) {
  .ai-assistant-workspace__header,.ai-assistant-workspace__body { padding-inline:10px; }
  .ai-assistant-workspace__mark { flex-basis:32px; width:32px; height:32px; }
  .ai-assistant-workspace__title h3 { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) { .ai-assistant-workspace * { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
