/*
 * AIVI Similar Lab styles.
 * Page-specific CSS for /english/similar-lab.
 * Shared question-preview card/edit shells remain in exam_page.css in this first split.
 */

/* Legacy Similar Question panel styles (from exam_page.css lines 135-234) */
.similar-question-panel {
  margin-top: 1rem;
}

.similar-question-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 1rem;
  align-items: start;
}

.similar-question-form,
.similar-question-result,
.similar-question-cards {
  display: grid;
  gap: .9rem;
  min-width: 0;
}

.similar-quick-paste {
  display: grid;
  gap: .7rem;
  padding: .85rem;
  border: 1px solid var(--exam-line);
  border-radius: 12px;
  background: #f8fafc;
}

.similar-quick-paste textarea {
  min-height: 160px;
}

.similar-gemini-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding: .85rem;
  border: 1px solid var(--exam-line);
  border-radius: 12px;
  background: #f8fafc;
}

.similar-gemini-options .question-gemini-status-card {
  flex: 1 1 100%;
  margin-top: .25rem;
}

.similar-request-status-card {
  padding: .85rem;
  border: 1px solid var(--exam-line);
  border-radius: 12px;
  background: #f8fafc;
  color: var(--exam-text);
}

.similar-request-status-card p {
  margin: .35rem 0 0;
  color: var(--exam-muted);
  line-height: 1.55;
}

.similar-question-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding: .85rem;
  border: 1px solid var(--exam-line);
  border-radius: 12px;
  background: #f8fafc;
}

.similar-question-toolbar .exam-builder-muted {
  margin-right: auto;
  font-weight: 900;
}

.similar-question-wide {
  grid-column: 1 / -1;
}

.similar-question-card {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid var(--exam-line);
  border-radius: 12px;
  background: #fff;
}

.similar-question-card.is-selected {
  border-color: #86efac;
  background: #f0fdf4;
}

.similar-question-edit-panel {
  border-top: 1px solid var(--exam-line);
  padding-top: .9rem;
}

@media (max-width: 960px) {
  .similar-question-layout {
    grid-template-columns: 1fr;
  }
}

/* AI Problem Variation LAB styles (from exam_page.css lines 1898-3447) */
.aivi-lab-page .exam-content-shell {
  display: block;
  gap: 0;
}

.aivi-lab-shell {
  width: 100%;
  max-width: 1440px;
}

.aivi-lab-hero .exam-hero-side {
  display: grid;
  align-content: center;
  gap: .55rem;
}

.aivi-lab-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  width: 100%;
  padding: .28rem;
  margin-top: 0;
  margin-bottom: 1.1rem;
  border: 1px solid var(--exam-line);
  border-radius: 999px;
  background: #fff;
  box-shadow: var(--exam-shadow);
}

.aivi-lab-tabs .question-create-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: .65rem 1rem;
  background: transparent;
  color: #475569;
  font-size: .88rem;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.aivi-lab-tabs .question-create-tab:hover {
  background: #eef2f7;
  color: #0f172a;
}

.aivi-lab-tabs .question-create-tab.is-active {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
  box-shadow: none;
}

.aivi-lab-panel {
  display: none;
  width: 100%;
  min-width: 0;
}

.aivi-lab-panel[hidden] {
  display: none !important;
}

.aivi-lab-panel.is-active {
  display: block;
}

.aivi-lab-panel-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-width: 0;
  margin-bottom: 1rem;
  padding: 1.05rem 1.15rem;
  border: 1px solid var(--exam-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--exam-shadow);
}

.aivi-lab-panel-intro > div {
  min-width: 0;
}

.aivi-lab-panel-intro .question-section-title {
  margin: 0;
  color: #0f172a;
  font-size: 1.18rem;
  font-weight: 950;
  letter-spacing: 0;
}

.aivi-lab-panel-intro .question-section-desc {
  margin: .35rem 0 0;
  color: #64748b;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.6;
}

.aivi-lab-panel-intro .exam-builder-pill {
  flex: 0 0 auto;
}

.aivi-lab-page .question-panel-card {
  width: 100%;
  min-width: 0;
  padding: 1.15rem;
}

.aivi-lab-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  min-width: 0;
}

.aivi-lab-card {
  display: grid;
  gap: .9rem;
  padding: 1rem;
  align-content: start;
}

.aivi-lab-card > .exam-section-head {
  margin-bottom: 0;
}

.aivi-lab-card-wide {
  grid-column: 1 / -1;
}

.aivi-lab-source-list,
.aivi-lab-option-grid {
  display: grid;
  gap: .6rem;
}

.aivi-lab-source-summary {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.aivi-lab-policy-summary {
  background: #ffffff;
}

.aivi-lab-policy-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.aivi-lab-policy-summary-grid div {
  min-width: 0;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #f8fafc;
  padding: .85rem .9rem;
}

.aivi-lab-policy-summary-grid strong {
  display: block;
  margin-bottom: .35rem;
  color: #0f172a;
  font-size: .92rem;
}

.aivi-lab-policy-summary-grid p {
  margin: 0;
  color: #475569;
  font-size: .84rem;
  font-weight: 750;
  line-height: 1.5;
}

.aivi-lab-selected-empty,
.aivi-lab-empty-state {
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  padding: 1rem;
  line-height: 1.65;
}

.aivi-lab-empty-state {
  display: grid;
  justify-items: start;
  gap: .5rem;
}

.aivi-lab-empty-state strong {
  color: #0f172a;
}

.aivi-lab-selected-detail {
  display: grid;
  gap: .65rem;
}

.aivi-lab-selected-card {
  width: 100%;
}

.aivi-lab-selected-card .question-preview-card-head {
  cursor: default;
}

.aivi-lab-selected-card .question-preview-card-head:hover .question-preview-summary-line {
  color: #334155;
}

.aivi-lab-selected-detail strong {
  color: #0f172a;
  line-height: 1.5;
}

.aivi-lab-selected-detail p {
  margin: 0;
  color: #64748b;
  font-size: .9rem;
}

.aivi-lab-selected-choices,
.aivi-lab-source-choices {
  display: grid;
  gap: .42rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aivi-lab-selected-choices {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.aivi-lab-selected-choice-list {
  padding-left: 1.25rem;
}

.aivi-lab-selected-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .5rem;
  margin-top: .35rem;
}

.aivi-lab-selected-status-grid div {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: .55rem .6rem;
}

.aivi-lab-selected-status-grid span,
.aivi-lab-selected-status-grid b {
  display: block;
  margin: 0;
}

.aivi-lab-selected-status-grid span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.aivi-lab-selected-status-grid b {
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.aivi-lab-selected-choices li,
.aivi-lab-source-choices li {
  display: flex;
  gap: .42rem;
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  color: #0f172a;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
  padding: .5rem .6rem;
}

.aivi-lab-selected-choices strong,
.aivi-lab-source-choices strong {
  flex: 0 0 auto;
}

.aivi-lab-selected-choices span,
.aivi-lab-source-choices span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.aivi-lab-selected-meta,
.aivi-lab-source-card-head,
.aivi-lab-source-card-actions,
.aivi-lab-generate-placeholder,
.aivi-lab-context-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.aivi-lab-selected-meta span,
.aivi-lab-source-badge {
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  font-size: .78rem;
  font-weight: 850;
  padding: .28rem .58rem;
}

.aivi-lab-source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .85rem;
}

.aivi-lab-source-card {
  display: grid;
  gap: .75rem;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #ffffff;
  padding: .95rem;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.aivi-lab-source-card.is-selected {
  border-color: #111827;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
  transform: translateY(-1px);
}

.aivi-lab-source-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: .96rem;
  line-height: 1.55;
}

.aivi-lab-source-card-head {
  justify-content: space-between;
}

.aivi-lab-source-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.aivi-lab-source-badge.is-muted {
  background: #f8fafc;
  color: #64748b;
}

.aivi-lab-source-badge.is-policy {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #166534;
}

.aivi-lab-source-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin: 0;
}

.aivi-lab-source-meta div {
  min-width: 0;
  border: 1px solid #edf2f7;
  border-radius: 10px;
  background: #f8fafc;
  padding: .52rem .6rem;
}

.aivi-lab-source-meta dt {
  margin: 0 0 .12rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.aivi-lab-source-meta dd {
  margin: 0;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.aivi-lab-source-search {
  display: grid;
  gap: .8rem;
  margin: .1rem 0 0;
}

.aivi-source-selected-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
  padding: .78rem .9rem;
}

.aivi-source-selected-notice[hidden] {
  display: none;
}

.aivi-source-selected-notice strong {
  display: block;
  color: #1e3a8a;
  font-size: .9rem;
  font-weight: 950;
}

.aivi-source-selected-notice p {
  margin: .18rem 0 0;
  color: #1e3a8a;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.45;
}

.aivi-source-search-reopen {
  flex: 0 0 auto;
}

.aivi-lab-source-search-toggle {
  justify-content: center;
  width: 100%;
  min-height: 42px;
}

.aivi-lab-source-search-panel {
  display: grid;
  gap: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 16px;
  background: #f8fafc;
  padding: 1rem;
}

.aivi-lab-source-search-panel.aivi-source-search-collapsed {
  display: none;
}

.aivi-lab-source-search-panel[hidden],
.aivi-lab-source-search-loading[hidden],
.aivi-lab-source-search-empty[hidden],
.aivi-lab-source-search-idle[hidden] {
  display: none;
}

.aivi-lab-source-filter-row {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(130px, 1fr)) minmax(120px, auto);
  gap: .6rem;
  align-items: end;
}

.aivi-lab-source-filter-row label {
  display: grid;
  gap: .25rem;
  color: #475569;
  font-size: .76rem;
  font-weight: 850;
}

.aivi-lab-source-filter-row input,
.aivi-lab-source-filter-row select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  font-size: .86rem;
  font-weight: 750;
  padding: .5rem .62rem;
}

.aivi-lab-source-search-actions {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
}

.aivi-lab-source-search-loading,
.aivi-lab-source-search-empty,
.aivi-lab-source-search-idle,
.aivi-lab-search-status {
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #fff;
  color: #64748b;
  padding: .85rem;
  font-size: .88rem;
  font-weight: 750;
}

.aivi-lab-search-status {
  border-style: solid;
  background: #f8fafc;
}

.aivi-lab-source-search-empty {
  display: grid;
  gap: .5rem;
}

.aivi-lab-source-search-empty strong {
  color: #0f172a;
}

.aivi-lab-empty-actions,
.aivi-lab-source-search-results {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.aivi-lab-source-search-results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .9rem;
}

.aivi-lab-search-result-card {
  width: 100%;
}

.aivi-lab-search-result-card .question-preview-card-head {
  cursor: default;
}

.aivi-lab-search-result-card .question-preview-card-head:hover .question-preview-summary-line {
  color: #334155;
}

.aivi-lab-search-result-meta {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.aivi-lab-page-size,
.aivi-lab-search-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}

.aivi-lab-page-size span {
  color: #475569;
  font-size: .82rem;
  font-weight: 850;
}

.aivi-lab-search-pagination {
  justify-content: center;
  padding-top: .2rem;
}

.aivi-lab-search-pagination[hidden] {
  display: none;
}

.aivi-lab-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 38px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: #334155;
  font-size: .82rem;
  font-weight: 850;
  padding: .42rem .65rem;
  cursor: pointer;
}

.aivi-lab-page-button.is-active {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
}

.aivi-lab-page-button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.aivi-lab-source-choices {
  grid-template-columns: 1fr;
}

.aivi-lab-generate-placeholder {
  justify-content: space-between;
  border-top: 1px solid #e2e8f0;
  padding-top: .8rem;
}

.aivi-lab-generate-placeholder span {
  color: #64748b;
  font-size: .86rem;
  font-weight: 750;
}

.aivi-lab-generate-notice {
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #f8fafc;
  color: #475569;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.55;
  padding: .8rem .9rem;
}

.aivi-lab-generated-list {
  display: grid;
  gap: .9rem;
  margin-top: .85rem;
}

.aivi-lab-generated-candidates {
  grid-column: 1 / -1;
  width: 100%;
}

.aivi-passage-lab-panel {
  scroll-margin-top: 84px;
}

.aivi-passage-lab-grid {
  margin-top: 0;
}

.aivi-passage-lab-textarea {
  width: 100%;
  min-height: 220px;
  resize: vertical;
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: .92rem;
  line-height: 1.6;
  padding: .9rem;
}

.aivi-passage-lab-textarea:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, .08);
  outline: none;
}

.aivi-passage-lab-message {
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #f8fafc;
  color: #334155;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.5;
  padding: .72rem .85rem;
}

.aivi-passage-lab-message[hidden] {
  display: none;
}

.aivi-passage-lab-message.is-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.aivi-passage-lab-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .7rem;
}

.aivi-passage-lab-options label {
  display: grid;
  gap: .32rem;
  min-width: 0;
}

.aivi-passage-lab-options span {
  color: #64748b;
  font-size: .76rem;
  font-weight: 850;
}

.aivi-passage-lab-options select {
  min-height: 38px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: .86rem;
  font-weight: 800;
  padding: .45rem .65rem;
}

.aivi-passage-lab-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  border-top: 1px solid #e2e8f0;
  padding-top: .8rem;
}

.aivi-passage-lab-actions span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 750;
}

.aivi-passage-context-card[hidden] {
  display: none;
}

.aivi-passage-safety-flags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.aivi-passage-safety-flags[hidden] {
  display: none;
}

.aivi-passage-safety-flags span {
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: .76rem;
  font-weight: 850;
  padding: .34rem .58rem;
}

.aivi-passage-candidate-section {
  margin-top: .2rem;
}

.aivi-copilot-panel {
  min-width: 0;
}

.aivi-copilot-hero {
  align-items: flex-start;
  border-color: var(--exam-line);
  background: #fff;
}

.aivi-copilot-hero-badges {
  justify-content: flex-end;
  max-width: 420px;
}

.aivi-copilot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  min-width: 0;
  margin-top: 0;
}

.aivi-copilot-card {
  min-width: 0;
}

.aivi-copilot-input-stack,
.aivi-copilot-flow {
  display: grid;
  gap: .75rem;
}

.aivi-copilot-input-stack label,
.aivi-copilot-flow div {
  display: grid;
  gap: .4rem;
}

.aivi-copilot-input-stack span,
.aivi-copilot-flow span {
  color: #334155;
  font-size: .82rem;
  font-weight: 900;
}

.aivi-copilot-input-stack textarea,
.aivi-copilot-prompt {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  padding: .8rem .85rem;
  font: inherit;
  line-height: 1.55;
  resize: vertical;
}

.aivi-copilot-input-stack textarea:focus,
.aivi-copilot-prompt:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.aivi-copilot-prompt-pills {
  margin-top: .75rem;
}

.aivi-copilot-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .85rem;
}

.aivi-copilot-action-row span,
.aivi-copilot-flow p,
.aivi-copilot-flow li {
  color: #64748b;
  font-size: .86rem;
  line-height: 1.55;
}

.aivi-copilot-flow div {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  padding: .75rem .85rem;
}

.aivi-copilot-flow p,
.aivi-copilot-flow ol {
  margin: 0;
}

.aivi-copilot-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.aivi-passage-candidate-card .question-preview-card-head {
  cursor: default;
}

.aivi-passage-choice-list li {
  display: flex;
  gap: .45rem;
  align-items: flex-start;
}

.aivi-passage-choice-list strong {
  flex: 0 0 auto;
}

.aivi-lab-generated-card {
  min-width: 0;
}

.aivi-lab-generated-card.is-selected {
  border-color: #86efac;
  background: #f0fdf4;
  box-shadow: 0 14px 30px rgba(22, 101, 52, .08);
}

.aivi-lab-generated-card.is-saved {
  border-color: #86efac;
  background: #f8fff9;
}

.aivi-lab-similar-candidate-card .question-preview-card-head {
  cursor: default;
}

.aivi-lab-similar-candidate-card .question-preview-card-head:hover .question-preview-summary-line {
  color: #334155;
}

.aivi-lab-similar-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .5rem;
  margin-top: .35rem;
}

.aivi-lab-similar-status-grid div {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: .55rem .6rem;
}

.aivi-lab-similar-status-grid span,
.aivi-lab-similar-status-grid b {
  display: block;
  margin: 0;
}

.aivi-lab-similar-status-grid span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.aivi-lab-similar-status-grid b {
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.aivi-lab-generated-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.aivi-lab-selection-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin: .9rem 0;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fbff;
  padding: .75rem .85rem;
}

.aivi-lab-selection-bar[hidden] {
  display: none;
}

.aivi-lab-selection-bar strong {
  display: block;
  color: #0f172a;
  font-size: .9rem;
}

.aivi-lab-selection-bar span {
  display: block;
  color: #64748b;
  font-size: .8rem;
  font-weight: 750;
}

.aivi-lab-select-all,
.aivi-lab-card-select {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #334155;
  font-size: .82rem;
  font-weight: 850;
  cursor: pointer;
}

.aivi-lab-select-all input,
.aivi-lab-card-select input {
  width: 1rem;
  height: 1rem;
  accent-color: #2563eb;
}

.aivi-lab-card-select {
  justify-content: flex-end;
}

.aivi-lab-card-select input:disabled + span {
  color: #94a3b8;
}

.aivi-lab-selection-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
}

.aivi-lab-generated-check {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 36px;
  padding: .45rem .7rem;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  cursor: pointer;
}

.aivi-lab-generated-check input {
  width: 16px;
  height: 16px;
  accent-color: #0f172a;
}

.aivi-lab-generated-check:has(input:disabled) {
  opacity: .6;
  cursor: not-allowed;
}

.aivi-lab-save-modal[hidden] {
  display: none;
}

.aivi-lab-save-summary {
  margin-top: .75rem;
}

.aivi-lab-option-card[aria-disabled="true"] .aivi-lab-option-form {
  opacity: .68;
}

.aivi-lab-option-disabled-note {
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #f8fafc;
  color: #64748b;
  padding: .72rem .8rem;
  font-size: .88rem;
  font-weight: 750;
}

.aivi-lab-option-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(300px, 1fr));
  gap: .85rem;
}

.aivi-lab-advanced-options {
  display: grid;
  gap: .65rem;
  grid-column: 1 / -1;
  border-top: 1px solid #e2e8f0;
  margin-top: .15rem;
  padding-top: .85rem;
}

.aivi-lab-advanced-toggle {
  justify-self: start;
}

.aivi-lab-advanced-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(300px, 1fr));
  gap: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  background: #f8fafc;
  padding: .9rem;
}

.aivi-lab-advanced-panel[hidden] {
  display: none;
}

.aivi-lab-option-group {
  display: grid;
  gap: .6rem;
  align-content: start;
  min-width: 0;
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #ffffff;
  padding: .9rem;
}

.aivi-lab-option-group-head {
  display: grid;
  gap: .2rem;
}

.aivi-lab-option-group-head strong {
  color: #0f172a;
  font-size: .94rem;
}

.aivi-lab-option-group-head span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 750;
  text-align: left;
}

.aivi-lab-option-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
}

.aivi-lab-option-button {
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  cursor: pointer;
  font-size: .84rem;
  font-weight: 850;
  min-height: 2.15rem;
  padding: .42rem .76rem;
}

.aivi-lab-option-button.is-active {
  background: #111827;
  border-color: #111827;
  color: #ffffff;
}

.aivi-lab-option-button.is-disabled,
.aivi-lab-option-button:disabled {
  background: #f1f5f9;
  color: #94a3b8;
  cursor: not-allowed;
}

.aivi-lab-option-button span {
  margin-left: .22rem;
  font-size: .7rem;
}

.aivi-lab-option-description {
  margin: 0;
  color: #64748b;
  font-size: .82rem;
  font-weight: 750;
}

.aivi-lab-option-summary {
  display: grid;
  gap: .6rem;
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  background: #f8fafc;
  padding: .95rem;
}

.aivi-lab-option-card .aivi-lab-option-summary dl {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.aivi-lab-option-summary strong {
  color: #0f172a;
}

.aivi-lab-option-summary p {
  margin: 0;
  color: #64748b;
  font-weight: 750;
}

.aivi-lab-option-summary dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .55rem;
  margin: 0;
}

.aivi-lab-option-summary div {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  padding: .58rem .65rem;
}

.aivi-lab-option-summary dt {
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.aivi-lab-option-summary dd {
  margin: .12rem 0 0;
  color: #0f172a;
  font-size: .86rem;
  font-weight: 850;
}

.aivi-ai-status-panel,
.aivi-lab-prompt-dry-run,
.aivi-lab-gemini-gate {
  display: grid;
  gap: .7rem;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: #eff6ff;
  padding: .9rem;
}

.aivi-lab-gemini-gate {
  background: #eff6ff;
}

.aivi-ai-consent-box {
  display: grid;
  gap: .35rem;
  width: 100%;
  padding: .75rem .85rem;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #fff;
}

.aivi-lab-gemini-consent {
  align-items: center;
  justify-content: flex-start;
  color: #1e3a8a;
  font-weight: 900;
}

.aivi-lab-gemini-consent input {
  width: 1rem;
  height: 1rem;
  accent-color: #2563eb;
}

.aivi-lab-gemini-consent-help {
  margin: 0;
  color: #1e3a8a;
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.45;
}

.aivi-ai-status-head,
.aivi-lab-prompt-status,
.aivi-lab-gemini-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.aivi-ai-status-head strong,
.aivi-lab-prompt-status strong,
.aivi-lab-gemini-status strong {
  display: block;
  color: #1e3a8a;
  font-size: .92rem;
  font-weight: 950;
}

.aivi-ai-status-head p,
.aivi-lab-prompt-status p,
.aivi-lab-gemini-status p,
.aivi-lab-gemini-disabled-note,
.aivi-lab-prompt-safe-note {
  margin: .18rem 0 0;
  color: #64748b;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.55;
}

.aivi-ai-status-toggle {
  flex: 0 0 auto;
}

.aivi-context-pack-toggle {
  white-space: nowrap;
}

.aivi-lab-prompt-summary[hidden],
.aivi-lab-gemini-summary[hidden] {
  display: none;
}

.aivi-lab-prompt-summary {
  width: 100%;
  min-width: 0;
  padding: .8rem .9rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

.aivi-ai-status-card {
  display: grid;
  gap: .7rem;
  width: 100%;
  max-width: 900px;
  padding: .8rem .9rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  color: #334155;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.55;
}

.aivi-ai-status-card.is-ready {
  border-color: #cbd5e1;
  background: #fff;
}

.aivi-lab-gemini-summary {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.aivi-ai-status-card-head {
  margin-bottom: -.1rem;
}

.aivi-ai-status-grid,
.aivi-lab-prompt-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .55rem;
}

.aivi-lab-gemini-summary .aivi-ai-status-grid {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  align-items: stretch;
}

.aivi-ai-status-grid div,
.aivi-lab-prompt-summary-grid div {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: .58rem .65rem;
}

.aivi-ai-status-grid span,
.aivi-ai-status-grid b,
.aivi-lab-prompt-summary-grid span,
.aivi-lab-prompt-summary-grid b {
  display: block;
}

.aivi-ai-status-grid span,
.aivi-lab-prompt-summary-grid span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.aivi-ai-status-grid b,
.aivi-lab-prompt-summary-grid b {
  margin-top: .12rem;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.aivi-lab-gemini-summary .aivi-ai-status-card-head,
.aivi-lab-gemini-summary .aivi-lab-prompt-safe-note,
.aivi-lab-gemini-summary .aivi-lab-gemini-disabled-note {
  width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.aivi-lab-dna-card {
  grid-column: 1 / -1;
}

.aivi-lab-dna-placeholder {
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  padding: 1rem;
  font-weight: 750;
}

.aivi-lab-dna-detail {
  display: grid;
  gap: .9rem;
}

.aivi-lab-dna-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .6rem;
}

.aivi-lab-dna-grid.is-placeholder-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.aivi-lab-dna-item {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #ffffff;
  padding: .75rem .8rem;
}

.aivi-lab-dna-item.is-placeholder {
  background: #f8fafc;
}

.aivi-lab-dna-item span,
.aivi-lab-dna-item strong {
  display: block;
}

.aivi-lab-dna-item span {
  color: #64748b;
  font-size: .74rem;
  font-weight: 850;
}

.aivi-lab-dna-item strong {
  margin-top: .18rem;
  color: #0f172a;
  font-size: .9rem;
  line-height: 1.35;
  overflow-wrap: break-word;
}

.aivi-lab-dna-rules {
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  background: #ffffff;
  padding: .85rem .95rem;
}

.aivi-lab-dna-rules strong {
  display: block;
  color: #0f172a;
  font-size: .9rem;
  font-weight: 850;
  margin-bottom: .45rem;
}

.aivi-lab-dna-rules ul {
  display: grid;
  gap: .35rem;
  margin: 0;
  padding-left: 1.05rem;
  color: #475569;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.5;
}

.aivi-lab-context-status {
  display: grid;
  gap: .7rem;
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  background: #f8fafc;
  padding: .9rem;
}

.aivi-lab-context-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
}

.aivi-lab-context-head strong {
  color: #0f172a;
}

.aivi-lab-context-head span,
.aivi-lab-context-status p {
  color: #64748b;
  font-size: .86rem;
  font-weight: 750;
}

.aivi-lab-context-status p {
  margin: 0;
  line-height: 1.6;
}

.aivi-lab-context-step {
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #ffffff;
  color: #64748b;
  font-size: .78rem;
  font-weight: 850;
  padding: .32rem .64rem;
}

.aivi-lab-context-step.is-done {
  border-color: #bbf7d0;
  background: #ecfdf5;
  color: #166534;
}

.aivi-lab-context-step.is-pending {
  background: #fff;
}

.aivi-lab-option-grid {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.aivi-lab-option-grid div {
  min-width: 0;
  padding: .8rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

.aivi-lab-option-grid span,
.aivi-lab-option-grid b {
  display: block;
}

.aivi-lab-option-grid span {
  color: #64748b;
  font-size: .76rem;
  font-weight: 850;
}

.aivi-lab-option-grid b {
  margin-top: .16rem;
  color: #0f172a;
  font-size: .9rem;
  overflow-wrap: anywhere;
}

.aivi-lab-policy-list {
  display: grid;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aivi-lab-policy-list li {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  padding: .72rem .8rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

.aivi-lab-policy-list strong {
  color: #0f172a;
  font-size: .88rem;
}

.aivi-lab-policy-list span {
  color: #475569;
  font-size: .84rem;
  font-weight: 800;
  text-align: right;
}

.aivi-lab-preview-card {
  box-shadow: none;
}

.aivi-lab-workbook-shell {
  display: grid;
  gap: 1rem;
  width: 100%;
  min-width: 0;
}

.aivi-lab-workbook-shell.question-workbook-placeholder-grid {
  align-items: start;
}

.aivi-lab-workbook-form {
  display: grid;
  gap: 1rem;
}

.aivi-lab-workbook-form .workbook-field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}

.aivi-lab-workbook-form .workbook-field-wide {
  grid-column: 1 / -1;
}

.aivi-lab-workbook-form .manual-field {
  display: grid;
  gap: .38rem;
}

.aivi-lab-workbook-form .manual-field label,
.aivi-lab-workbook-source-card .manual-field label {
  color: #334155;
  font-size: .82rem;
  font-weight: 900;
}

.aivi-lab-workbook-form input,
.aivi-lab-workbook-form select,
.aivi-lab-workbook-form textarea,
.aivi-lab-workbook-source-card input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-weight: 760;
  padding: .72rem .82rem;
}

.aivi-lab-workbook-form textarea {
  min-height: 110px;
  resize: vertical;
}

.aivi-lab-workbook-form .workbook-inline-actions,
.aivi-lab-workbook-builder-actions .manual-action-row,
.aivi-lab-workbook-cart .workbook-cart-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
}

.aivi-lab-workbook-source-grid.workbook-source-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.aivi-lab-workbook-source-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-content: stretch;
  gap: .8rem;
  min-height: 245px;
}

.aivi-lab-workbook-source-card .workbook-source-head {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}

.aivi-lab-workbook-source-card .workbook-source-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: .82rem;
  font-weight: 950;
}

.aivi-lab-workbook-source-card .workbook-source-count {
  justify-self: start;
}

.aivi-lab-workbook-source-card .workbook-source-note {
  margin: 0;
  color: #64748b;
  font-size: .83rem;
  font-weight: 750;
  line-height: 1.55;
}

.aivi-lab-workbook-cart,
.aivi-lab-workbook-selected,
.aivi-lab-workbook-recent-card {
  display: grid;
  gap: .9rem;
  padding: 1.15rem;
}

.aivi-lab-workbook-builder-actions {
  display: grid;
  gap: .9rem;
}

.aivi-lab-workbook-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .9rem;
}

.aivi-lab-workbook-message {
  margin-top: .8rem;
  padding: .78rem .9rem;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: .88rem;
  font-weight: 750;
}

.aivi-lab-workbook-message.is-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.aivi-lab-workbook-empty {
  padding: .9rem 1rem;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  background: #f8fafc;
  color: #64748b;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.6;
}

.aivi-lab-workbook-list {
  display: grid;
  gap: .7rem;
}

.aivi-lab-workbook-item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}

.aivi-lab-workbook-item:hover {
  border-color: #bfdbfe;
  background: #f8fafc;
}

.aivi-lab-workbook-index {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #ecfdf5;
  color: #047857;
  font-size: .86rem;
  font-weight: 950;
}

.aivi-lab-workbook-item-body {
  min-width: 0;
}

.aivi-lab-workbook-item-body h3 {
  margin: 0;
  color: #0f172a;
  font-size: .94rem;
  font-weight: 950;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.aivi-lab-workbook-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .45rem;
  color: #64748b;
  font-size: .78rem;
  font-weight: 780;
}

.aivi-lab-workbook-meta span,
.aivi-lab-workbook-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: .18rem .48rem;
  border-radius: 999px;
  background: #f8fafc;
}

.aivi-lab-workbook-badge {
  background: #ecfdf5;
  color: #047857;
}

.aivi-lab-workbook-badge.source-manual {
  background: #f5f3ff;
  color: #6d28d9;
}

.aivi-lab-workbook-badge.source-text {
  background: #eff6ff;
  color: #1d4ed8;
}

.aivi-lab-workbook-badge.source-csv {
  background: #ecfeff;
  color: #0e7490;
}

.aivi-lab-workbook-badge.source-similar {
  background: #faf5ff;
  color: #7e22ce;
}

.aivi-lab-workbook-badge.source-passage {
  background: #eef2ff;
  color: #3730a3;
}

.aivi-lab-workbook-badge.source-copilot {
  background: #f1f5f9;
  color: #334155;
}

.aivi-lab-workbook-badge.source-mock {
  background: #fff7ed;
  color: #c2410c;
}

.aivi-lab-workbook-cart-delete {
  justify-self: end;
}

@media (max-width: 960px) {
  .aivi-lab-grid {
    grid-template-columns: 1fr;
  }

  .aivi-lab-policy-summary-grid,
  .aivi-lab-source-search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aivi-lab-option-group {
    grid-template-columns: 1fr;
  }

  .aivi-lab-option-form,
  .aivi-lab-advanced-panel {
    grid-template-columns: 1fr;
  }

  .aivi-lab-source-filter-row {
    grid-template-columns: 1fr;
  }

  .aivi-copilot-grid {
    grid-template-columns: 1fr;
  }

  .aivi-lab-workbook-item {
    grid-template-columns: 1fr;
  }

  .aivi-lab-workbook-source-grid.workbook-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aivi-lab-workbook-form .workbook-field-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .aivi-lab-policy-summary-grid,
  .aivi-lab-source-search-results {
    grid-template-columns: 1fr;
  }

  .aivi-lab-tabs {
    border-radius: 18px;
  }

  .aivi-lab-workbook-source-grid.workbook-source-grid {
    grid-template-columns: 1fr;
  }

  .aivi-lab-tabs .question-create-tab {
    flex-basis: 100%;
  }
}
