.ai-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.ai-scope-note { margin: -12px 0 18px; border: 1px solid #b9ccec; border-radius: 14px; background: var(--blue-50); color: var(--navy-900); font-size: .9rem; font-weight: 750; line-height: 1.55; padding: 13px 15px; }
.ai-card { display: flex; min-width: 0; flex-direction: column; gap: 14px; margin: 0; }
.ai-card .section-heading, .ai-knowledge-panel .section-heading, .ai-question-panel .section-heading, .ai-usage-panel .section-heading { margin-bottom: 0; }
.ai-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ai-form-grid .field { margin: 0; }
.ai-model-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.section-copy { margin: -4px 0 0; color: var(--muted); font-size: .88rem; }
.switch-field { display: flex; align-items: center; gap: 10px; border-radius: 12px; background: var(--blue-50); cursor: pointer; font-weight: 750; padding: 11px 12px; }
.switch-field input { width: 19px; height: 19px; margin: 0; accent-color: var(--blue-600); }
.inline-alert { margin: 0; border-radius: 11px; background: #fff3d2; color: #734b00; font-size: .88rem; font-weight: 700; padding: 11px 13px; }
.ai-knowledge-panel { margin-bottom: 18px; }
.ai-upload-form { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(145px, .8fr) 110px 100px minmax(190px, 1fr) auto; gap: 12px; align-items: end; margin-top: 18px; border-radius: 16px; background: #f7f9fd; padding: 16px; }
.ai-upload-form .field { min-width: 0; margin: 0; }
.ai-upload-form input[type="file"] { max-width: 100%; background: #fff; }
.ai-material-list { display: grid; gap: 10px; margin-top: 18px; }
.ai-priority-copy { margin-top: 12px; }
.ai-delete-copy { margin-top: 6px; color: #8a342d; }
.ai-material-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.ai-material-copy { display: grid; min-width: 0; gap: 4px; }
.ai-material-copy strong, .ai-material-copy span { overflow-wrap: anywhere; }
.ai-material-copy > span { color: var(--muted); font-size: .86rem; }
.ai-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 18px; align-items: start; }
.ai-question-panel, .ai-usage-panel { margin: 0; }
.class-ai-question-panel { margin-top: 22px; }
.ai-bottom-grid .class-ai-question-panel { margin-top: 0; }
.ai-question-form { display: grid; gap: 12px; margin-top: 16px; }
.ai-question-form .field { margin: 0; }
.ai-question-form .button { justify-self: start; }
.ai-question-progress { display: flex; min-height: 42px; align-items: center; gap: 11px; border-radius: 12px; background: var(--blue-50); color: var(--blue-700); font-weight: 800; padding: 10px 13px; }
.ai-question-progress[hidden] { display: none; }
.ai-question-progress .spinner { width: 22px; height: 22px; flex: none; }
.ai-question-form .form-message:empty { display: none; }
.ai-answer-box { display: grid; gap: 12px; margin-top: 18px; border: 1px solid #b9ccec; border-radius: 16px; background: var(--blue-50); padding: 16px; }
.ai-answer-heading { display: flex; }
.ai-answer-text { margin: 0; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.ai-metric-grid div { display: grid; gap: 4px; border-radius: 13px; background: var(--blue-50); padding: 14px; }
.ai-metric-grid span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.ai-metric-grid strong { font-size: 1.12rem; }

@media (max-width: 900px) {
  .ai-settings-grid, .ai-bottom-grid { grid-template-columns: 1fr; }
  .ai-upload-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-upload-form .button { align-self: end; }
}

@media (max-width: 680px) {
  .ai-form-grid, .ai-upload-form, .ai-material-row { grid-template-columns: 1fr; }
  .ai-material-row .status-badge { justify-self: start; }
  .ai-material-row .button { justify-self: start; }
}
