/*
 * Design System do Painel Master — base visual v1
 *
 * Convenção obrigatória para novos componentes:
 * - .ds-*  componente compartilhado do painel;
 * - .is-*  estado visual;
 * - data-* comportamento JavaScript;
 * - nunca estilizar tags genéricas para resolver uma tela isolada.
 */
/* Audio preview: one compact action; full text stays in a bounded native dialog. */
.ds-audio-review { min-width:0; }
.ds-audio-review__actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--ds-space-2); }
.ds-account-area .ds-audio-review .ds-audio-review__trigger { width:auto; min-height:36px; padding:var(--ds-space-2) var(--ds-space-3); margin:0; font-size:13px; font-weight:650; background:transparent; color:var(--ds-color-text-muted); border-color:var(--ds-color-border); box-shadow:none; }
.ds-account-area .ds-audio-review .ds-audio-review__trigger::before { content:''; width:16px; height:16px; flex:none; background:currentColor; mask:url('/assets/icons/lucide/file-text.svg') center/contain no-repeat; }
.ds-account-area .ds-audio-review .ds-audio-review__trigger.is-busy::before { mask:url('/assets/icons/lucide/hourglass.svg') center/contain no-repeat; }
.ds-audio-review__dialog { width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; margin:auto; padding:var(--ds-space-5); overflow:auto; border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-panel); background:var(--ds-color-surface-raised); color:var(--ds-color-text); box-shadow:var(--ds-shadow-panel); }
.ds-audio-review__dialog::backdrop { background:color-mix(in srgb,var(--ds-color-canvas) 72%,transparent); }
.ds-audio-review__head { display:flex; align-items:center; justify-content:space-between; gap:var(--ds-space-3); }
.ds-audio-review__dialog .ds-audio-review__head h2 { margin:0; font-size:var(--ds-font-size-section-title); color:var(--ds-color-text-strong); }
.ds-audio-review__dialog p { margin:var(--ds-space-3) 0 var(--ds-space-4); color:var(--ds-color-text-muted); font-size:var(--ds-font-size-body); }
.ds-audio-review__dialog label { display:grid; gap:var(--ds-space-2); margin:0; }
.ds-account-area .ds-audio-review__dialog textarea { margin:0; width:100%; height:min(340px,45dvh); min-height:120px; max-height:340px; resize:none; overflow:auto; font-size:var(--ds-font-size-body); line-height:var(--ds-line-height-body); background:var(--ds-color-surface); color:var(--ds-color-text); }
.ds-account-area .ds-audio-review__dialog .ds-audio-review__close { width:40px; height:40px; min-height:40px; padding:0; flex:none; box-shadow:none; }
.ds-account-area .ds-audio-review__dialog .ds-audio-review__close::before { content:''; width:18px; height:18px; background:currentColor; mask:url('/assets/icons/lucide/x.svg') center/contain no-repeat; }
.ds-account-area .ds-audio-review__footer button::before { display:none; }
.ds-audio-review__footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:var(--ds-space-2); margin-top:var(--ds-space-4); }
.ds-audio-review__dialog .ds-audio-review__edit-status { min-height:20px; margin:var(--ds-space-2) 0 0; font-size:13px; color:var(--ds-color-text-muted); }
.ds-audio-review__dialog .ds-audio-review__edit-status.is-error { color:var(--ds-color-danger); }
.ds-audio-review :is(button,textarea):focus-visible { outline:2px solid var(--ds-color-action); outline-offset:2px; box-shadow:var(--ds-focus-ring); }
@media(max-width:480px) { .ds-audio-review__dialog { padding:var(--ds-space-4); } .ds-account-area .ds-audio-review .ds-audio-review__trigger { max-width:100%; text-align:left; } }
:root {
  --ds-font-sans: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ds-font-display: var(--ds-font-sans);
  /*
   * Contrato tipográfico permanente do painel:
   * - texto corrido: 15px / 1.55;
   * - título de página: 28–40px / 1.08;
   * - título de seção: 20–26px / 1.15;
   * - título de card: 18px / 1.2;
   * - rótulos: 11px. Não criar títulos maiores que 40px nas áreas logadas.
   * Exceções só cabem em peças de marketing fora do painel.
   */
  --ds-font-size-body: 15px;
  --ds-line-height-body: 1.55;
  --ds-font-size-page-title: clamp(28px, 2.6vw, 40px);
  --ds-line-height-page-title: 1.08;
  --ds-font-size-section-title: clamp(20px, 1.7vw, 26px);
  --ds-line-height-section-title: 1.15;
  --ds-font-size-card-title: 18px;
  --ds-font-size-label: 11px;
  --ds-content-max: 1280px;
  --ds-content-reading: 940px;
  --ds-content-form: 1180px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 24px;
  --ds-space-6: 32px;
  --ds-space-7: 40px;
  --ds-space-8: 48px;
  --ds-radius-control: 9px;
  --ds-radius-card: 13px;
  --ds-radius-panel: 18px;
  --ds-radius-pill: 999px;
  --ds-color-canvas: var(--bg);
  --ds-color-surface: var(--surface);
  --ds-color-surface-raised: var(--surface-2);
  --ds-color-surface-muted: var(--surface-3);
  --ds-color-border: var(--line);
  --ds-color-text: var(--text);
  --ds-color-text-strong: var(--white);
  --ds-color-text-muted: var(--muted);
  --ds-color-action: var(--blue);
  --ds-color-action-strong: var(--blue-bright);
  --ds-color-action-soft: var(--blue-soft);
  --ds-color-danger: var(--danger);
  --ds-color-notification: #c72c55;
  --ds-color-on-notification: #fff;
  --ds-color-highlight: var(--gold);
  --ds-color-success: #45bd84;
  --ds-color-warning: #d89a35;
  /* Destaques pontuais, sem substituir ação azul ou estados semânticos. */
  --ds-color-accent-purple: #8e66e8;
  --ds-color-accent-purple-ink: #ddd2ff;
  --ds-color-accent-purple-soft: color-mix(in srgb, #5c3bb5 16%, var(--ds-color-surface-raised));
  --ds-color-accent-green: #399972;
  --ds-color-accent-green-ink: #a6f0d1;
  --ds-color-accent-green-soft: color-mix(in srgb, #1ca878 12%, var(--ds-color-surface-raised));
  --ds-shadow-card: 0 8px 25px #0003;
  --ds-shadow-panel: 0 20px 60px #0008;
  --ds-transition-fast: 160ms ease;
  --ds-transition-base: 220ms ease;
  --ds-focus-ring: 0 0 0 3px var(--blue-soft);
  /* Navegação contextual: os módulos laterais compartilham estas medidas. */
  --ds-nav-rail-panel-x: 14px;
  --ds-nav-context-inset: 2px;
  --ds-nav-context-bottom: var(--ds-space-5);
  --ds-nav-context-first-offset: 10px;
  --ds-nav-context-control-height: 40px;
  --ds-nav-context-item-height: 42px;
  --ds-nav-rail-divider: color-mix(in srgb, var(--line) 76%, transparent);
  --ds-form-label-height: 24px;
  --ds-form-control-height: 48px;
}

:root[data-theme="light"] {
  --ds-color-accent-purple-ink: #5134a2;
  --ds-color-accent-purple-soft: #f5f0ff;
  --ds-color-accent-green-ink: #17633c;
  --ds-color-accent-green-soft: #e8f8ef;
}

body,
button,
input,
select,
textarea {
  font-family: var(--ds-font-sans);
}

/* Primitivos reutilizáveis. Novas telas devem compor estes elementos. */
.ds-eyebrow {
  margin: 0 0 var(--ds-space-3);
  color: var(--blue-bright);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ds-heading {
  margin: 0;
  color: var(--white);
  font-family: var(--ds-font-display);
  font-size: var(--ds-font-size-page-title);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: var(--ds-line-height-page-title);
}

.ds-heading em { color: var(--blue-bright); font-style: normal; }

.ds-copy {
  max-width: 680px;
  margin: var(--ds-space-3) 0 0;
  color: var(--muted);
  font-size: var(--ds-font-size-body);
  line-height: var(--ds-line-height-body);
}

/* Aplicação do contrato nas telas logadas, inclusive páginas legadas. */
.app-main {
  font-size: var(--ds-font-size-body);
}

.app-main .page-header h1,
.app-main .ds-page-header h1 {
  font-size: var(--ds-font-size-page-title) !important;
  line-height: var(--ds-line-height-page-title) !important;
  letter-spacing: -.05em !important;
}

.app-main .tool-card > h2,
.app-main .ds-card__title {
  font-size: var(--ds-font-size-section-title) !important;
  line-height: var(--ds-line-height-section-title) !important;
}

.ds-card {
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-card);
  background: linear-gradient(145deg, var(--surface-2), var(--surface));
  box-shadow: 0 8px 25px #0003;
  padding: var(--ds-space-5);
}

.ds-field:focus-visible,
.ds-button:focus-visible,
.ds-icon-button:focus-visible {
  outline: 0;
  box-shadow: var(--ds-focus-ring);
}

.ds-button,
.ds-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  min-height: 42px;
  border: 1px solid #329dff55;
  border-radius: var(--ds-radius-control);
  background: linear-gradient(180deg, #1595ff, #0565dc);
  color: #fff;
  font: 700 14px/1 var(--ds-font-sans);
  text-decoration: none;
  cursor: pointer;
}

/*
 * Componentes compartilhados para novas telas. Eles não substituem as
 * classes legadas automaticamente: cada tela é migrada de forma controlada.
 */
.ds-shell { min-height: 100vh; background: var(--ds-color-canvas); color: var(--ds-color-text); }
.ds-container { width: min(100%, var(--ds-content-max)); margin-inline: auto; }
.ds-container--reading { max-width: var(--ds-content-reading); }
.ds-section + .ds-section { margin-top: var(--ds-space-6); }
.ds-stack { display: grid; gap: var(--ds-space-4); }
.ds-stack--tight { gap: var(--ds-space-2); }
.ds-stack--loose { gap: var(--ds-space-6); }
.ds-grid { display: grid; gap: var(--ds-space-4); }
.ds-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ds-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ds-space-5); margin-bottom: var(--ds-space-6); }
.ds-page-header__content { min-width: 0; }
.ds-page-header__actions,
.ds-toolbar,
.ds-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-space-2); }
.ds-toolbar { justify-content: space-between; }
.ds-card { color: var(--ds-color-text); }
.ds-card--raised { box-shadow: var(--ds-shadow-panel); }
.ds-card--interactive { transition: border-color var(--ds-transition-fast), box-shadow var(--ds-transition-fast), transform var(--ds-transition-fast); }
.ds-card--interactive:hover { border-color: color-mix(in srgb, var(--ds-color-action) 48%, var(--ds-color-border)); box-shadow: 0 14px 34px #0005; transform: translateY(-1px); }
.ds-card--warning { border-color: color-mix(in srgb, var(--ds-color-warning) 48%, var(--ds-color-border)); background: linear-gradient(145deg, color-mix(in srgb, var(--ds-color-warning) 12%, var(--ds-color-surface-raised)), var(--ds-color-surface)); }
.ds-card--danger { border-color: color-mix(in srgb, var(--ds-color-danger) 48%, var(--ds-color-border)); background: linear-gradient(145deg, color-mix(in srgb, var(--ds-color-danger) 11%, var(--ds-color-surface-raised)), var(--ds-color-surface)); }
.ds-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ds-space-4); margin-bottom: var(--ds-space-4); }
.ds-card__title { margin: 0; color: var(--ds-color-text-strong); font-size: 20px; letter-spacing: -.03em; line-height: 1.2; }
.ds-card__footer { margin-top: var(--ds-space-5); padding-top: var(--ds-space-4); border-top: 1px solid var(--ds-color-border); }
.ds-button { padding: 0 var(--ds-space-4); transition: filter var(--ds-transition-fast), transform var(--ds-transition-fast), border-color var(--ds-transition-fast); }
.ds-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.ds-button:disabled,
.ds-button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; pointer-events: none; }
.ds-button--secondary { border-color: color-mix(in srgb, var(--ds-color-border) 72%, #8392a8); background: var(--ds-color-surface-muted); color: var(--ds-color-text-strong); box-shadow: none; }
.ds-button--secondary:hover { background: color-mix(in srgb, var(--ds-color-surface-muted) 75%, var(--ds-color-text)); }
.ds-button--ghost { border-color: transparent; background: transparent; box-shadow: none; color: var(--ds-color-action-strong); }

/* Padrão permanente: todo controle de abrir/fechar usa Lucide Chevron Down;
   nunca substituir por caracteres avulsos, como “V” ou setas em texto. */
.ds-disclosure-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  min-height: 36px;
  padding: 0 var(--ds-space-3);
  border: 1px solid color-mix(in srgb, var(--ds-color-action) 62%, var(--ds-color-border));
  border-radius: var(--ds-radius-pill);
  background: var(--ds-color-surface-raised);
  color: var(--ds-color-action-strong);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.ds-disclosure-pill__icon {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  margin-right: calc(var(--ds-space-2) * -1);
  border: 1px solid currentColor;
  border-radius: 50%;
}
.ds-disclosure-pill__icon::before {
  width: 12px;
  height: 12px;
  content: '';
  background: currentColor;
  -webkit-mask: url('/assets/icons/lucide/chevron-down.svg') center / contain no-repeat;
  mask: url('/assets/icons/lucide/chevron-down.svg') center / contain no-repeat;
  transition: transform var(--ds-transition-fast);
}
.ds-disclosure-pill[aria-expanded="true"] .ds-disclosure-pill__icon::before { transform: rotate(180deg); }
.ds-button--ghost:hover { border-color: var(--ds-color-action-soft); background: var(--ds-color-action-soft); }
.ds-button--danger { border-color: color-mix(in srgb, var(--ds-color-danger) 58%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-danger) 16%, var(--ds-color-surface)); color: #ffd9de; box-shadow: none; }
.ds-icon-button { width: 42px; padding: 0; }
.ds-field { display: grid; gap: var(--ds-space-2); margin: 0; color: var(--ds-color-text-strong); font-size: 12px; font-weight: 750; }
.ds-input,
.ds-select,
.ds-textarea { width: 100%; min-height: 42px; margin: 0; border: 1px solid color-mix(in srgb, var(--ds-color-border) 82%, #8293a8); border-radius: var(--ds-radius-control); background: var(--ds-color-canvas); color: var(--ds-color-text-strong); padding: 10px var(--ds-space-3); font: inherit; transition: border-color var(--ds-transition-fast), box-shadow var(--ds-transition-fast), background var(--ds-transition-fast); }
.ds-textarea { min-height: 120px; resize: vertical; line-height: 1.55; }
.ds-input:focus,
.ds-select:focus,
.ds-textarea:focus { outline: 0; border-color: var(--ds-color-action); box-shadow: var(--ds-focus-ring); }
.ds-help { margin: 0; color: var(--ds-color-text-muted); font-size: 12px; font-weight: 500; line-height: 1.5; }
.ds-alert { display: flex; align-items: flex-start; gap: var(--ds-space-3); padding: var(--ds-space-3) var(--ds-space-4); border: 1px solid var(--ds-color-border); border-radius: var(--ds-radius-control); background: var(--ds-color-surface-raised); color: var(--ds-color-text); line-height: 1.5; }
.ds-alert--info { border-color: color-mix(in srgb, var(--ds-color-action) 48%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-action) 10%, var(--ds-color-surface)); }
.ds-alert--success { border-color: color-mix(in srgb, var(--ds-color-success) 48%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-success) 11%, var(--ds-color-surface)); }
.ds-alert--warning { border-color: color-mix(in srgb, var(--ds-color-warning) 48%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-warning) 11%, var(--ds-color-surface)); }
.ds-alert--danger { border-color: color-mix(in srgb, var(--ds-color-danger) 48%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-danger) 11%, var(--ds-color-surface)); }
.ds-badge { display: inline-flex; align-items: center; min-height: 24px; gap: 5px; border: 1px solid var(--ds-color-border); border-radius: var(--ds-radius-pill); padding: 3px var(--ds-space-2); color: var(--ds-color-text-muted); font-size: 11px; font-weight: 800; line-height: 1; white-space: nowrap; }
.ds-badge--info { border-color: color-mix(in srgb, var(--ds-color-action) 48%, var(--ds-color-border)); background: var(--ds-color-action-soft); color: var(--ds-color-action-strong); }
.ds-badge--success { border-color: color-mix(in srgb, var(--ds-color-success) 50%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-success) 12%, transparent); color: #8fe5bd; }
.ds-badge--warning { border-color: color-mix(in srgb, var(--ds-color-warning) 50%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-warning) 12%, transparent); color: #f7c873; }
.ds-badge--danger { border-color: color-mix(in srgb, var(--ds-color-danger) 52%, var(--ds-color-border)); background: color-mix(in srgb, var(--ds-color-danger) 12%, transparent); color: #ff9cab; }

/* Semântica visual obrigatória: sucesso/ativo em verde, atenção em amarelo
   e indisponível, bloqueado ou desativado em vermelho. */
.ds-state--active,.ds-state--success { color: var(--ds-color-success)!important; }
.ds-state--warning,.ds-state--attention { color: var(--ds-color-warning)!important; }
.ds-state--inactive,.ds-state--disabled,.ds-state--danger { color: var(--ds-color-danger)!important; }
.tag.success,.tag.active,.tag.activated,.tag.enabled,.tag.completed { border-color: color-mix(in srgb,var(--ds-color-success) 52%,var(--ds-color-border))!important; background:color-mix(in srgb,var(--ds-color-success) 12%,transparent)!important; color:var(--ds-color-success)!important; }
.tag.warning,.tag.attention,.tag.pending { border-color: color-mix(in srgb,var(--ds-color-warning) 52%,var(--ds-color-border))!important; background:color-mix(in srgb,var(--ds-color-warning) 12%,transparent)!important; color:var(--ds-color-warning)!important; }
.tag.danger,.tag.error,.tag.failed,.tag.disabled,.tag.inactive,.tag.blocked { border-color: color-mix(in srgb,var(--ds-color-danger) 52%,var(--ds-color-border))!important; background:color-mix(in srgb,var(--ds-color-danger) 12%,transparent)!important; color:var(--ds-color-danger)!important; }
.ds-empty { display: grid; place-items: center; min-height: 160px; padding: var(--ds-space-6); border: 1px dashed var(--ds-color-border); border-radius: var(--ds-radius-card); color: var(--ds-color-text-muted); text-align: center; }
.ds-table-wrap { overflow-x: auto; }
.ds-table { width: 100%; border-collapse: collapse; color: var(--ds-color-text); font-size: 13px; }
.ds-table th { padding: var(--ds-space-3); border-bottom: 1px solid var(--ds-color-border); color: var(--ds-color-text-muted); font-size: 10px; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.ds-table td { padding: var(--ds-space-3); border-bottom: 1px solid color-mix(in srgb, var(--ds-color-border) 72%, transparent); background: transparent; color: inherit; }
.ds-tabs { display: flex; gap: 3px; overflow-x: auto; padding: 4px; border: 1px solid var(--ds-color-border); border-radius: var(--ds-radius-control); background: var(--ds-color-canvas); }
.ds-tabs__item { flex: 0 0 auto; min-height: 34px; border: 0; border-radius: 6px; background: transparent; box-shadow: none; color: var(--ds-color-text-muted); padding: 0 var(--ds-space-3); }
.ds-tabs__item:hover,
.ds-tabs__item.is-active,
.ds-tabs__item[aria-selected="true"] { background: var(--ds-color-surface-muted); color: var(--ds-color-text-strong); filter: none; transform: none; }

/* Regra de decisão: bloco premium para automações, limites e critérios. */
.ds-decision-rule {
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(250px, 1fr);
  align-items: center;
  column-gap: var(--ds-space-4);
  row-gap: var(--ds-space-2);
  margin-top: var(--ds-space-3);
  padding: var(--ds-space-3) var(--ds-space-4);
  border: 1px solid color-mix(in srgb, #9365e9 58%, var(--ds-color-border));
  border-radius: var(--ds-radius-card);
  background: linear-gradient(135deg, color-mix(in srgb, #a477ed 16%, var(--ds-color-surface-raised)), color-mix(in srgb, #7246ca 8%, var(--ds-color-surface)));
  box-shadow: inset 0 1px #fff2, 0 10px 24px #6e42bf14;
  width: min(100%, 680px);
  margin-right: auto;
  margin-left: auto;
}
.ds-decision-rule__choice {
  display: grid;
  grid-template-rows: var(--ds-form-label-height) var(--ds-form-control-height);
  align-content: center;
  align-items: end;
  justify-items: center;
  gap: var(--ds-space-2);
  padding-left: var(--ds-space-4);
  border-left: 1px solid color-mix(in srgb, #9365e9 35%, var(--ds-color-border));
}
.ds-decision-rule__field-title { display: flex; align-items: end; justify-content: center; color: var(--ds-color-text-strong); font-size: 12px; font-weight: 750; text-align: center; }
.ds-decision-rule__switch-row { display: inline-flex; align-items: center; justify-content: center; gap: var(--ds-space-2); color: var(--ds-color-text-muted); font-size: 11px; font-weight: 750; }
.ds-decision-rule__switch { position: relative; display: inline-flex; flex: 0 0 auto; width: 50px; height: 28px; cursor: pointer; }
.ds-decision-rule__switch input { position: absolute !important; inline-size: 1px !important; block-size: 1px !important; min-height: 0 !important; margin: -1px !important; padding: 0 !important; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.ds-decision-rule__switch-track { position: relative; display: block; width: 100%; height: 100%; border: 1px solid color-mix(in srgb, #9365e9 58%, var(--ds-color-border)); border-radius: 999px; background: color-mix(in srgb, #9365e9 13%, var(--ds-color-surface-raised)); box-sizing: border-box; transition: background var(--ds-transition-fast), border-color var(--ds-transition-fast); }
.ds-decision-rule__switch-track::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--ds-color-surface-raised); box-shadow: 0 1px 3px #24124a40; content: ""; transition: transform var(--ds-transition-fast); }
.ds-decision-rule__switch input:checked + .ds-decision-rule__switch-track { border-color: #168a62; background: #22a675; }
.ds-decision-rule__switch input:checked + .ds-decision-rule__switch-track::after { transform: translateX(22px); }
.ds-decision-rule__switch input:focus-visible + .ds-decision-rule__switch-track { outline: 3px solid #22a67538; outline-offset: 3px; }
.ds-decision-rule__switch:has(input:checked) + span { color: #157a57; }
.ds-decision-rule__configuration {
  display: grid;
  grid-template-columns: minmax(170px, 210px);
  align-content: center;
  align-items: center;
  justify-items: center;
  justify-content: center;
  gap: 0;
}
.ds-decision-rule__field { display: grid; grid-template-rows: var(--ds-form-label-height) var(--ds-form-control-height); gap: var(--ds-space-2); margin: 0; color: var(--ds-color-text-strong); font-size: 12px; font-weight: 750; text-align: center; }
.ds-decision-rule__field > input { box-sizing: border-box; width: 100%; height: var(--ds-form-control-height); min-height: var(--ds-form-control-height); margin: 0; border: 1px solid color-mix(in srgb, #8f65dd 48%, var(--ds-color-border)); border-radius: var(--ds-radius-control); background: var(--ds-color-surface-raised); color: var(--ds-color-text-strong); padding: 0 var(--ds-space-3); font: inherit; }
.ds-decision-rule__field > input:focus { outline: 0; border-color: #8958e2; box-shadow: 0 0 0 3px #8d60e02b; }
.ds-decision-rule__note { grid-column: 1 / -1; margin: 0; padding-top: var(--ds-space-2); border-top: 1px solid color-mix(in srgb, #9365e9 35%, var(--ds-color-border)); color: var(--ds-color-text-muted); font-size: 12px; line-height: 1.5; text-align: center; }
.ds-decision-rule__status { grid-column: 1 / -1; justify-self: center; margin: 0; padding: 7px 11px; border: 1px solid color-mix(in srgb, #22a675 60%, var(--ds-color-border)); border-radius: var(--ds-radius-pill); background: color-mix(in srgb, #22a675 13%, var(--ds-color-surface-raised)); color: #147653; font-size: 12px; font-weight: 750; line-height: 1.4; text-align: center; }
:root[data-theme="dark"] .ds-decision-rule { background: linear-gradient(135deg, #37265c, #211a3d); box-shadow: inset 0 1px #ffffff0d, 0 10px 24px #0004; }
:root[data-theme="dark"] .ds-decision-rule__status { color: #8be0bd; }
@media (max-width: 760px) {
  .ds-decision-rule { grid-template-columns: 1fr; align-items: stretch; }
  .ds-decision-rule__choice { min-height: 0; padding: var(--ds-space-3) 0 0; border-top: 1px solid color-mix(in srgb, #9365e9 35%, var(--ds-color-border)); border-left: 0; }
  .ds-decision-rule__configuration { grid-template-columns: 1fr; width: 100%; }
}

/* O menu e os submenus compartilham raio, contraste e foco visível. */
.sidebar .nav-group-toggle,
.sidebar .nav-group-panel a,
.sidebar .accordion-nav > a,
.sidebar .nav-subcategory-label {
  font-family: var(--ds-font-sans);
}

.brand-version { display: none; }
.nav-account-logout { margin: 7px 0 1px; padding-top: 7px; border-top: 1px solid var(--line); }
.nav-account-logout button { display: flex; width: 100%; align-items: center; gap: 12px; padding: 10px 11px; border: 1px solid transparent; border-radius: 9px; background: transparent; box-shadow: none; color: #b7c0ce; font: 700 14px/1 var(--ds-font-sans); text-align: left; }
.nav-account-logout button:hover { border-color: #ff758455; background: #ff5b6e12; color: #ffd4d9; filter: none; transform: none; }
.nav-account-logout i { width: 17px; color: #d9a1aa; font-size: 16px; font-style: normal; text-align: center; }

/* Shell do painel: estes seletores permanecem estáveis porque a navegação é
 * compartilhada por todas as áreas e contém estados controlados por JS. */
.beta { margin-left: auto; border: 1px solid #2b91ef77; border-radius: var(--ds-radius-pill); background: #087cff22; color: #73c3ff; padding: 3px 6px; font-size: 8px; font-weight: 800; letter-spacing: .06em; white-space: nowrap; }
.avatar { overflow: hidden; text-decoration: none; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.account a { display: block; min-width: 0; color: #bbc2cf; text-decoration: none; }
.account a strong { display: block; max-width: 165px; overflow: hidden; color: #e5edf9; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.account a span { display: block; color: #7fb7e6; font-family: ui-monospace, monospace; font-size: 10px; }
.sidebar { overflow: hidden; }
.sidebar nav.accordion-nav { display: block; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: 3px; }
.nav-overview { margin-bottom: 14px; }
.nav-overview .nav-label { margin-top: 0; }
.nav-group { margin: 8px 0; }
.nav-section-break { margin-top: 25px; }
.nav-group-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #2b3441; border-radius: 11px; background: linear-gradient(135deg, #191d25, #121419); box-shadow: none; color: #d9e3ef; padding: 13px 12px; font: 800 11px var(--ds-font-sans); letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.nav-group-toggle:hover { background: #202633; filter: none; transform: none; }
.nav-group-toggle[aria-expanded="true"] { border-color: #198eff66; background: linear-gradient(110deg, #087cff30, #087cff12); color: #fff; box-shadow: inset 3px 0 #168fff; }
.nav-group-chevron { color: #72bdff; font-size: 16px; line-height: 1; transition: transform var(--ds-transition-base); }
.nav-group-toggle[aria-expanded="true"] .nav-group-chevron { transform: rotate(180deg); }
.nav-coming-soon-toggle,
.nav-coming-soon-toggle:disabled { cursor: default; opacity: .72; }
.nav-coming-soon-toggle:disabled:hover { background: linear-gradient(135deg, #191d25, #121419); color: #d9e3ef; }
.nav-coming-soon-toggle .beta { margin-left: auto; }
.nav-coming-soon-link { pointer-events: none; cursor: default; opacity: .72; }
.nav-group-panel { display: grid; grid-template-rows: 0fr; opacity: .25; transition: grid-template-rows var(--ds-transition-base), opacity var(--ds-transition-fast); }
.nav-group-panel > div { min-height: 0; overflow: hidden; padding-top: 0; }
.nav-group-panel.open { grid-template-rows: 1fr; opacity: 1; }
.nav-group-panel.open > div { padding: 7px 0 4px; }
.nav-group-panel a { margin: 2px 0; }
.nav-subcategory-label { margin: 12px 12px 5px; color: #6f7b8c; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.nav-coming-soon { margin: 6px 12px 10px; color: #718096; font-size: 12px; font-style: italic; }
.support-banner { margin: 0 0 20px; padding: 12px 15px; border: 1px solid #d9993677; border-radius: 10px; background: #d9993619; color: #ffcf7d; font-weight: 700; }
.ticket-badge { display: grid; min-width: 19px; height: 19px; place-items: center; margin-left: auto; padding: 0 5px; border-radius: var(--ds-radius-pill); background: #ff5b6e; color: #fff; font-size: 10px; font-weight: 900; line-height: 1; }
.ticket-toast { position: fixed; right: 22px; bottom: 22px; z-index: 999; max-width: 340px; padding: 15px 18px; border: 1px solid #278deeee; border-radius: 12px; background: #16243a; box-shadow: 0 18px 45px #0009; color: #fff; opacity: 0; text-decoration: none; transform: translateY(14px); transition: opacity .25s ease, transform .25s ease; }
.ticket-toast.show { opacity: 1; transform: translateY(0); }
.sidebar-fixed-area { margin-top: auto; padding-top: 10px; }
.sidebar-fixed-area + .logout { margin-top: 8px; }
.sidebar-fixed-link { display: flex; width: 100%; align-items: center; gap: 12px; margin: 0; border: 1px solid #2b3441; border-radius: 11px; background: linear-gradient(135deg, #191d25, #121419); color: #d9e3ef; padding: 11px; font-weight: 700; text-decoration: none; }
.sidebar-fixed-link:hover { background: #202633; color: #fff; }
.sidebar-fixed-link.active { border-color: #198eff66; background: linear-gradient(110deg, #087cff30, #087cff12); color: #fff; }
.sidebar-fixed-link i { color: #9ba5b4; font-size: 16px; font-style: normal; text-align: center; }
.two-factor-reminder-dialog { width: min(470px, calc(100% - 32px)); border: 1px solid #258cff88; border-radius: var(--ds-radius-panel); background: var(--surface); box-shadow: 0 24px 90px #000; color: var(--text); padding: 26px; }
.two-factor-reminder-dialog::backdrop { background: #000b; }
.two-factor-reminder-dialog h2 { margin: 8px 0; color: var(--white); }
.two-factor-reminder-dialog p:not(.eyebrow) { color: var(--muted); line-height: 1.6; }
.two-factor-reminder-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.two-factor-reminder-actions form { margin: 0; }
.two-factor-reminder-actions a,
.two-factor-reminder-actions button { min-height: 42px; }
.project-context { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: var(--ds-space-3); min-height: 76px; margin: 0 0 var(--ds-space-5); padding: var(--ds-space-3); border: 1px solid color-mix(in srgb, var(--ds-color-action) 58%, var(--ds-color-border)); border-radius: var(--ds-radius-card); background: linear-gradient(115deg, color-mix(in srgb, var(--ds-color-action) 14%, var(--ds-color-surface-raised)), var(--ds-color-surface)); box-shadow: var(--ds-shadow-card); }
.project-context__icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid color-mix(in srgb, var(--ds-color-action) 55%, var(--ds-color-border)); border-radius: var(--ds-radius-control); background: color-mix(in srgb, var(--ds-color-action) 14%, var(--ds-color-surface-raised)); color: var(--ds-color-action-strong); }
.project-context__icon::before, .project-context__arrow { display: block; width: 18px; height: 18px; content: ''; background: currentColor; -webkit-mask: url('/assets/icons/lucide/folder.svg') center/contain no-repeat; mask: url('/assets/icons/lucide/folder.svg') center/contain no-repeat; }
.project-context__copy { display: grid; min-width: 0; gap: 3px; }
.project-context span { color: var(--ds-color-action-strong); font-size: var(--ds-font-size-label); font-weight: 900; letter-spacing: .11em; line-height: 1.2; }
.project-context strong { overflow: hidden; color: var(--ds-color-text-strong); font-size: 15px; font-weight: 800; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.project-context a { min-height: 42px; gap: var(--ds-space-2); margin: 0; color: var(--ds-color-text-strong); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.project-context__arrow { width: 16px; height: 16px; -webkit-mask-image: url('/assets/icons/lucide/arrow-right.svg'); mask-image: url('/assets/icons/lucide/arrow-right.svg'); }

/* Contrato do shell: no desktop, a navegação e o conteúdo usam rolagens
 * independentes. A página deixa de crescer além da viewport. */
@media (min-width: 841px) {
  body.has-app-shell { height: 100dvh; overflow: hidden; }
  .app-main { height: 100dvh; min-height: 0; max-width: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  .app-main--reading > * { width: min(100%, var(--ds-content-form)); margin-right: auto; margin-left: auto; }
}

/* Campos longos devem permanecer editáveis sem dominar a tela. Páginas que
 * precisarem de mais espaço declaram uma altura específica no CSS da tela. */
.app-main textarea { height: clamp(112px, 18vh, 220px); min-height: 112px; max-height: 300px; }
.app-main .muted { max-width: none; }

@media (max-width: 840px) {
  .ds-card { padding: var(--ds-space-4); }
  .ds-heading { font-size: clamp(28px, 9vw, 36px); }
  .ds-grid--2,
  .ds-grid--3 { grid-template-columns: 1fr; }
  .ds-page-header { flex-direction: column; margin-bottom: var(--ds-space-5); }
  .ds-page-header__actions { width: 100%; }
  .sidebar nav.accordion-nav { display: block; overflow: visible; }
  .nav-group { min-width: 0; }
  .nav-group-toggle { min-height: 45px; }
  .nav-group-panel a { white-space: normal; }
  .sidebar { overflow: visible; }
}

@media (min-width: 841px) {
  .brand-version { position: absolute; top: 51px; left: -17px; display: block !important; width: 78px; color: #7d91aa; font-size: 7px; font-weight: 800; letter-spacing: .01em; line-height: 1.1; text-align: center; white-space: nowrap; }
  .brand-mark { font-size: 15px !important; letter-spacing: -.08em; }
}

@media (max-width: 600px) {
  .project-context { grid-template-columns: 42px minmax(0, 1fr); align-items: start; }
  .project-context a { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 520px) {
  .ticket-toast { right: 12px; bottom: 12px; left: 12px; max-width: none; }
}

/* Prévia administrativa: usa um iframe para ativar os breakpoints reais da tela. */
.responsive-preview-dialog {
  width: min(1600px, calc(100vw - 28px));
  height: min(1000px, calc(100vh - 28px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-panel);
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 28px 90px #000b;
}

.responsive-preview-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.responsive-preview-trigger { width: 42px !important; padding: 0 !important; border-color: #258cff88 !important; background: #087cff14 !important; color: var(--blue-bright) !important; box-shadow: none !important; }
.responsive-preview-trigger > i { display: grid; place-items: center; width: 100%; height: 100%; font-family: "Segoe UI Variable", "Segoe UI", sans-serif; font-size: 15px; font-style: normal; font-weight: 900; line-height: 1; }
.responsive-preview-trigger > span { display: none !important; }
.responsive-preview-trigger:hover { background: #087cff2a !important; color: var(--white) !important; transform: none !important; }
.responsive-preview-shell { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.responsive-preview-header { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-4); padding: 18px 22px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.responsive-preview-header .ds-eyebrow { margin-bottom: 5px; }
.responsive-preview-header strong { color: var(--white); font-size: 15px; }
.responsive-preview-toolbar { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.responsive-preview-toolbar button { min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: none; color: var(--muted); font-size: 12px; }
.responsive-preview-toolbar button:hover,
.responsive-preview-toolbar button.is-active { border-color: #198eff66; background: var(--blue-soft); color: var(--white); transform: none; }
.responsive-preview-toolbar .responsive-preview-close { width: 34px; padding: 0; font-size: 23px; line-height: 1; }
.responsive-preview-note { margin: 0; padding: 10px 22px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.45; }
.responsive-preview-stage { display: flex; min-height: 0; flex: 1; align-items: stretch; justify-content: center; overflow: auto; padding: 18px; background: repeating-conic-gradient(#11141a 0 25%, #0d0f13 0 50%) 50% / 20px 20px; }
.responsive-preview-stage iframe { width: 1440px; min-width: 1440px; height: 100%; min-height: 680px; border: 1px solid #3b4350; border-radius: 10px; background: var(--bg); box-shadow: 0 20px 60px #0009; transition: width .2s ease, min-width .2s ease; }
.responsive-preview-stage[data-device="tablet"] iframe { width: 768px; min-width: 768px; }
.responsive-preview-stage[data-device="mobile"] iframe { width: 390px; min-width: 390px; }

@media (max-width: 840px) {
  .responsive-preview-trigger { display: none !important; }
}

@media (max-width: 650px) {
  .responsive-preview-dialog { width: calc(100vw - 12px); height: calc(100vh - 12px); }
  .responsive-preview-header { align-items: flex-start; flex-direction: column; padding: 15px; }
  .responsive-preview-toolbar { justify-content: flex-start; }
  .responsive-preview-note { padding: 9px 15px; }
  .responsive-preview-stage { padding: 12px; }
}

/* Administração · Produtos e Planos. Primitivos opt-in, sem efeito fora destas telas. */
.ds-admin-product{width:100%;max-width:var(--ds-content-form);margin-inline:auto;padding-bottom:var(--ds-space-8);container:ds-admin-product / inline-size;color:var(--ds-color-text);font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-product :is(.page-header,.tool-card,.ds-admin-product-heading)>div{min-width:0}
.ds-admin-product>.page-header{display:block;margin:0 0 var(--ds-space-5)}
.ds-admin-product .page-header h1{max-width:none;margin:0;font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);color:var(--ds-color-text-strong);letter-spacing:-.05em;text-wrap:wrap}
.ds-admin-product .page-header h1 em{color:var(--ds-color-action-strong);font-style:normal;white-space:normal}
.ds-admin-product .eyebrow{margin:0 0 var(--ds-space-2);font-size:var(--ds-font-size-label);line-height:1.5;color:var(--ds-color-action-strong)}
.ds-admin-product .page-header .muted,.ds-admin-product-heading .muted{max-width:none;margin:var(--ds-space-3) 0 0;line-height:var(--ds-line-height-body);font-size:var(--ds-font-size-body);color:var(--ds-color-text-muted)}
.ds-admin-product .page-header>.button{margin-top:var(--ds-space-4)}
.ds-admin-product .page-header>.button::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:url('/assets/icons/lucide/arrow-right.svg') center/contain no-repeat}
.ds-admin-product .tool-card{width:100%;max-width:none;margin:0 0 var(--ds-space-5);padding:var(--ds-space-5)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card)!important;background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;color:var(--ds-color-text)}
.ds-admin-product :is(h2,h3){color:var(--ds-color-text-strong);font-weight:750;letter-spacing:-.03em}
.ds-admin-product h2{margin:0;font-size:var(--ds-font-size-section-title);line-height:var(--ds-line-height-section-title)}
.ds-admin-product h3{font-size:var(--ds-font-size-card-title);line-height:1.3}
.ds-admin-product label{display:block;min-width:0;margin:0!important;color:var(--ds-color-text)!important;font-size:13px;font-weight:700;line-height:20px;text-transform:none}
.ds-admin-product :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){box-sizing:border-box;width:100%;min-width:0;margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-color-surface)!important;color:var(--ds-color-text)!important;font-family:var(--ds-font-sans);font-size:var(--ds-font-size-body)!important;font-weight:500;box-shadow:none!important}
.ds-admin-product :is(input:not([type=checkbox]):not([type=hidden]),select){height:var(--ds-form-control-height);min-height:var(--ds-form-control-height);max-height:var(--ds-form-control-height)}
.ds-admin-product textarea{height:112px;min-height:80px;max-height:180px;resize:vertical;line-height:var(--ds-line-height-body)}
.ds-admin-product input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;flex:none;accent-color:var(--ds-color-action)}
.ds-admin-product label>small{display:block;margin-top:var(--ds-space-2);font-size:12px;font-weight:400;line-height:1.5;color:var(--ds-color-text-muted)}
.ds-admin-product :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);box-sizing:border-box;min-width:0;min-height:var(--ds-form-control-height);margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font-size:14px;font-weight:750;line-height:20px;white-space:normal;text-align:center;overflow-wrap:anywhere;text-decoration:none}
.ds-admin-product :is(button,.button):hover{transform:none;filter:none}
.ds-admin-product :is(button,.button).secondary{border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);color:var(--ds-color-text);box-shadow:none}
.ds-admin-product button.danger{background:var(--ds-color-danger)!important;border-color:var(--ds-color-danger)!important;box-shadow:none!important}
.ds-admin-product button:not([type=button])::before{content:'';display:inline-block;width:18px;height:18px;flex:none;background:currentColor;mask:var(--ds-admin-action-icon,url('/assets/icons/lucide/save.svg')) center/contain no-repeat}
.ds-admin-product button>span[aria-hidden=true],.ds-admin-product :is(.navigation-save,.admin-menu-organizer__footer) button>span{display:none}
.ds-admin-product :is(input,select,textarea,button,.button,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)!important}
.ds-admin-product-heading{margin-bottom:var(--ds-space-5)}
.ds-admin-product-heading:has(h2)::before{content:'';float:left;width:40px;height:40px;margin:0 var(--ds-space-3) var(--ds-space-2) 0;background:var(--ds-color-action-strong);mask:var(--ds-admin-heading-icon,url('/assets/icons/lucide/settings-2.svg')) center/24px no-repeat}
.ds-admin-product summary{cursor:pointer;list-style:none}
.ds-admin-product summary::-webkit-details-marker{display:none}
.ds-admin-product summary::marker{content:''}
.ds-admin-product :is(.ds-admin-product-guide){display:flex;gap:var(--ds-space-3);padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);background:var(--ds-color-action-soft);color:var(--ds-color-text);margin:0 0 var(--ds-space-5)}
@container ds-admin-product (max-width:760px){.ds-admin-product .tool-card{padding:var(--ds-space-4)!important}}
@container ds-admin-product (max-width:520px){.ds-admin-product .page-header>.button{width:100%}}

/* Organização de menus: controles compartilhados entre Administração e Alunos. */
.ds-admin-product :is(.admin-menu-organizer__guide,.navigation-guide){display:flex;align-items:flex-start;gap:var(--ds-space-3);margin-bottom:var(--ds-space-5);padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);background:var(--ds-color-action-soft)}
.ds-admin-product :is(.admin-menu-organizer__guide,.navigation-guide)>span{width:24px;height:24px;flex:none;font-size:0;background:var(--ds-color-action-strong);mask:url('/assets/icons/lucide/info.svg') center/contain no-repeat}
.ds-admin-product :is(.admin-menu-organizer__guide,.navigation-guide) p{margin:0;line-height:var(--ds-line-height-body);color:var(--ds-color-text)}
.ds-admin-product :is(.admin-menu-move-controls,.student-nav-move-controls){display:flex;gap:var(--ds-space-2)}
.ds-admin-product :is([data-admin-menu-move],[data-student-navigation-move]){width:48px;height:48px;min-height:48px;flex:none;margin:0;padding:0;border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);color:var(--ds-color-action-strong);box-shadow:none;font-size:0}
.ds-admin-product :is([data-admin-menu-move],[data-student-navigation-move])::before{content:'';width:18px;height:18px;background:currentColor;mask:url('/assets/icons/lucide/arrow-up.svg') center/contain no-repeat}
.ds-admin-product :is([data-admin-menu-move=down],[data-student-navigation-move=down])::before{mask-image:url('/assets/icons/lucide/arrow-down.svg')}
.ds-admin-product :is(.admin-menu-drag,.navigation-drag){display:block;width:20px;height:24px;flex:none;font-size:0;background:var(--ds-color-text-muted);mask:url('/assets/icons/lucide/grip-vertical.svg') center/contain no-repeat;cursor:grab}
.ds-admin-product :is(.admin-menu-native-accordion,.student-menu-native-accordion)>summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-3);min-height:60px;padding:var(--ds-space-3) var(--ds-space-4);border-top:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted)}
.ds-admin-product :is(.admin-menu-native-accordion__icon,.student-menu-native-accordion__icon){width:20px;height:20px;font-size:0;background:var(--ds-color-action-strong);mask:url('/assets/icons/lucide/chevron-down.svg') center/contain no-repeat;transition:transform var(--ds-transition-fast)}
.ds-admin-product :is(.admin-menu-native-accordion,.student-menu-native-accordion)[open]>summary>:first-child{transform:rotate(180deg)}
.ds-admin-product :is(.admin-menu-native-accordion__title,.student-menu-native-accordion__title){font-size:13px;font-weight:750;color:var(--ds-color-text)}
.ds-admin-product :is(.admin-menu-native-accordion__action,.student-menu-native-accordion__action){font-size:12px;font-weight:700;color:var(--ds-color-action-strong)}
.ds-admin-product :is(.admin-menu-native-accordion__close,.student-menu-native-accordion__close){display:none}
.ds-admin-product :is(.admin-menu-native-accordion,.student-menu-native-accordion)[open] :is(.admin-menu-native-accordion__close,.student-menu-native-accordion__close){display:inline}
.ds-admin-product :is(.admin-menu-native-accordion,.student-menu-native-accordion)[open] :is(.admin-menu-native-accordion__open,.student-menu-native-accordion__open){display:none}
.ds-admin-product :is(.admin-menu-sort-items,.submenu-board .navigation-list){display:grid;gap:var(--ds-space-3);padding:var(--ds-space-4)}
.ds-admin-product :is(.admin-menu-drop-zone,.student-navigation-drop-zone){display:grid;min-height:48px;place-items:center;margin:0;padding:var(--ds-space-2);border:1px dashed var(--ds-color-border);border-radius:var(--ds-radius-control);color:var(--ds-color-text-muted);font-size:12px;text-align:center}
.ds-admin-product :is(.admin-menu-sort-items,.navigation-list).is-drop-target{background:var(--ds-color-action-soft)}
.ds-admin-product :is(.is-dragging,.dragging){opacity:.45}
.ds-admin-product .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ds-admin-product :is(.navigation-save,.admin-menu-organizer__footer){display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);margin-top:var(--ds-space-5);padding:var(--ds-space-5) 0;border-top:1px solid var(--ds-color-border)}
.ds-admin-product :is(.navigation-save,.admin-menu-organizer__footer) p{flex:1;margin:0;color:var(--ds-color-text-muted);font-size:13px;line-height:1.55}
@container ds-admin-product (max-width:520px){.ds-admin-product :is(.navigation-save,.admin-menu-organizer__footer){flex-direction:column;align-items:stretch}.ds-admin-product :is(.admin-menu-drag,.navigation-drag){display:none}.ds-admin-product :is(.admin-menu-native-accordion,.student-menu-native-accordion)>summary{gap:var(--ds-space-2);grid-template-columns:20px minmax(0,1fr) auto}}
/* Operação dos usuários: tipografia e controles compartilhados, opt-in. */
.ds-admin-operations{width:100%;max-width:var(--ds-content-form);margin-inline:auto;padding-bottom:var(--ds-space-8);container:ds-admin-operations / inline-size;color:var(--ds-color-text);font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-operations :is(.page-header,.tool-card,.ds-op-heading)>div{min-width:0}
.ds-admin-operations>*{min-width:0}
.ds-admin-operations .tool-card{min-width:0}
.ds-admin-operations{--ds-op-icon:url('/assets/icons/lucide/folder-open.svg')}
.ds-admin-operations a{color:var(--ds-color-action-strong)}
.ds-admin-operations>.page-header{display:block;margin:0 0 var(--ds-space-5)}
.ds-admin-operations .page-header h1{max-width:none;margin:0;font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);color:var(--ds-color-text-strong);letter-spacing:-.05em;text-wrap:wrap}
.ds-admin-operations h1 em{color:var(--ds-color-action-strong);font-style:normal;white-space:normal}
.ds-admin-operations p.eyebrow{margin:0 0 var(--ds-space-2);font-size:var(--ds-font-size-label);line-height:1.5;color:var(--ds-color-action-strong)}
.ds-admin-operations :is(p:not(.eyebrow),.muted){max-width:none;font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-operations .muted{color:var(--ds-color-text-muted)}
.ds-admin-operations .page-header .muted{margin:var(--ds-space-3) 0 0}
.ds-admin-operations .page-header>.button{margin-top:var(--ds-space-4)}
.ds-admin-operations .page-header>.button::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:url('/assets/icons/lucide/arrow-right.svg') center/contain no-repeat}
.ds-admin-operations .tool-card{width:100%;max-width:none;margin:0;padding:var(--ds-space-5);border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card);background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card);color:var(--ds-color-text)}
.ds-admin-operations :is(h2,h3,h4){color:var(--ds-color-text-strong);font-weight:750;letter-spacing:-.03em}
.ds-admin-operations h2{margin:0;font-size:var(--ds-font-size-section-title);line-height:var(--ds-line-height-section-title)}
.ds-admin-operations h3{font-size:var(--ds-font-size-card-title);line-height:1.3}
.ds-admin-operations h4{font-size:var(--ds-font-size-body);line-height:1.4}
.ds-admin-operations small{font-size:13px;line-height:1.5;color:var(--ds-color-text-muted)}
.ds-admin-operations label{display:block;min-width:0;margin:0!important;color:var(--ds-color-text);font-size:13px;font-weight:700;line-height:20px}
.ds-admin-operations :is(input:not([type=checkbox]):not([type=hidden]),select){box-sizing:border-box;width:100%;min-width:0;height:var(--ds-form-control-height);min-height:var(--ds-form-control-height);max-height:var(--ds-form-control-height);margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);background:var(--ds-color-surface);color:var(--ds-color-text);font:500 var(--ds-font-size-body)/1.4 var(--ds-font-sans)}
.ds-admin-operations :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);box-sizing:border-box;min-height:var(--ds-form-control-height);margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font:750 14px/20px var(--ds-font-sans);white-space:normal;text-decoration:none;text-align:center}
.ds-admin-operations :is(button,.button):hover{transform:none}
.ds-admin-operations :is(button,.button).secondary{border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);color:var(--ds-color-text);box-shadow:none}
.ds-admin-operations :is(input,select,button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)}
.ds-admin-operations :is(.monitor-filter-submit button,.process-history-filter button)::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:url('/assets/icons/lucide/search.svg') center/contain no-repeat}
.ds-admin-operations .ds-op-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);margin-bottom:var(--ds-space-5)}
.ds-admin-operations .ds-op-heading>div:first-child{flex:1}
.ds-admin-operations .ds-op-heading>div:first-child::before{content:'';float:left;width:40px;height:40px;margin-right:var(--ds-space-3);background:var(--ds-color-action-strong);mask:var(--ds-op-icon,url('/assets/icons/lucide/activity.svg')) center/24px no-repeat}
.ds-admin-operations .ds-op-heading>span{font-size:13px;color:var(--ds-color-text-muted)}
.ds-admin-operations .table-wrap{width:100%;max-width:100%;max-height:560px;margin:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control)}
.ds-admin-operations table{width:100%;margin:0;border-collapse:collapse;border-spacing:0;background:var(--ds-color-surface);font-size:14px;line-height:1.5}
.ds-admin-operations th{position:sticky;top:0;z-index:1;padding:var(--ds-space-4);border-bottom:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);color:var(--ds-color-text-muted);font-size:var(--ds-font-size-label);font-weight:750;letter-spacing:.06em;text-align:left;text-transform:uppercase}
.ds-admin-operations td{padding:var(--ds-space-4);border:0;border-bottom:1px solid var(--ds-color-border);background:transparent;color:var(--ds-color-text);vertical-align:top}
.ds-admin-operations tbody tr:last-child td{border-bottom:0}
.ds-admin-operations tbody tr:hover{background:var(--ds-color-action-soft)}
.ds-admin-operations :is(.monitor-status,.process-tag){display:inline-flex;align-items:center;min-height:28px;gap:var(--ds-space-1);margin-top:var(--ds-space-1);padding:var(--ds-space-1) var(--ds-space-2);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-pill);background:var(--ds-color-action-soft);color:var(--ds-color-action-strong);font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.ds-admin-operations :is(.monitor-status.good,.process-tag.completed){border-color:color-mix(in srgb,var(--ds-color-success) 50%,var(--ds-color-border));background:color-mix(in srgb,var(--ds-color-success) 10%,var(--ds-color-surface));color:var(--ds-color-success)}
.ds-admin-operations :is(.monitor-status.danger,.process-tag.failed){border-color:color-mix(in srgb,var(--ds-color-danger) 50%,var(--ds-color-border));background:color-mix(in srgb,var(--ds-color-danger) 10%,var(--ds-color-surface));color:var(--ds-color-danger)}
.ds-admin-operations :is(.process-tag.processing,.process-tag.running){border-color:color-mix(in srgb,var(--ds-color-warning) 50%,var(--ds-color-border));background:color-mix(in srgb,var(--ds-color-warning) 10%,var(--ds-color-surface));color:var(--ds-color-warning)}
.ds-admin-operations :is(.monitor-summary,.detail-grid,.process-grid){display:grid;gap:var(--ds-space-4);margin:0}
.ds-admin-operations :is(.monitor-summary,.detail-grid,.process-grid) .tool-card>p:not(.eyebrow){margin:var(--ds-space-3) 0 0}
.ds-admin-operations :is(.monitor-summary,.detail-grid,.process-grid) .tool-card::before{content:'';display:block;width:24px;height:24px;margin-bottom:var(--ds-space-3);background:var(--ds-color-action-strong);mask:var(--ds-op-icon,url('/assets/icons/lucide/folder-open.svg')) center/contain no-repeat}
.ds-admin-operations summary{cursor:pointer;list-style:none}
.ds-admin-operations summary::-webkit-details-marker{display:none}
.ds-admin-operations summary::marker{content:''}
.ds-admin-operations :is(.project-materials>details,.record-card,.process-history)>summary::after{content:'';width:20px;height:20px;flex:none;background:var(--ds-color-action-strong);mask:url('/assets/icons/lucide/chevron-down.svg') center/contain no-repeat}
.ds-admin-operations :is(.project-materials>details,.record-card,.process-history)[open]>summary::after{transform:rotate(180deg)}
.ds-admin-operations :is(.admin-delete-trigger,.danger-button){border:1px solid var(--ds-color-danger);background:color-mix(in srgb,var(--ds-color-danger) 10%,var(--ds-color-surface));color:var(--ds-color-danger);box-shadow:none}
.ds-admin-operations .admin-delete-trigger::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:url('/assets/icons/lucide/trash-2.svg') center/contain no-repeat}
.ds-admin-operations .admin-delete-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--ds-color-surface-raised);color:var(--ds-color-text)}
.ds-admin-operations .admin-delete-dialog p:not(.eyebrow){font-size:var(--ds-font-size-body)}
.ds-admin-operations .admin-delete-dialog__head h2{font-size:var(--ds-font-size-section-title)}
.ds-admin-operations .admin-delete-dialog__close{width:44px!important;height:44px!important;min-height:44px;padding:0;font-size:0!important}
.ds-admin-operations .admin-delete-dialog__close::before{content:'';width:20px;height:20px;background:currentColor;mask:url('/assets/icons/lucide/x.svg') center/contain no-repeat}
.ds-admin-operations .admin-delete-dialog label{margin-bottom:var(--ds-space-4)!important}
@container ds-admin-operations (max-width:760px){.ds-admin-operations .tool-card{padding:var(--ds-space-4)}.ds-admin-operations .ds-op-heading{align-items:flex-start;flex-direction:column}}
@container ds-admin-operations (max-width:520px){.ds-admin-operations .page-header>.button{width:100%}}

/* Administração · Agentes de IA. Opt-in compartilhado, sem afetar outras telas. */
.ds-admin-ai{--ds-ai-heading-icon:url('/assets/icons/lucide/info.svg');--ds-ai-action-icon:url('/assets/icons/lucide/save.svg');width:100%;max-width:var(--ds-content-form);margin-inline:auto;padding-bottom:var(--ds-space-8);container:ds-admin-ai / inline-size;color:var(--ds-color-text);font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-ai *{box-sizing:border-box}
.ds-admin-ai>*{min-width:0}
.ds-admin-ai a{color:var(--ds-color-action-strong)}
.ds-admin-ai>.page-header{display:block;margin:0 0 var(--ds-space-5)}
.ds-admin-ai .page-header h1{max-width:none;margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);letter-spacing:-.05em;text-wrap:wrap}
.ds-admin-ai h1 em{color:var(--ds-color-action-strong);font-style:normal;white-space:normal}
.ds-admin-ai .eyebrow{margin:0 0 var(--ds-space-2);color:var(--ds-color-action-strong);font-size:var(--ds-font-size-label);line-height:1.5}
.ds-admin-ai :is(p:not(.eyebrow),li){max-width:none;font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-ai .muted{color:var(--ds-color-text-muted)}
.ds-admin-ai .page-header .muted{margin:var(--ds-space-3) 0 0}
.ds-admin-ai .tool-card{width:100%;max-width:none;min-width:0;margin:0 0 var(--ds-space-5);padding:var(--ds-space-5)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card)!important;background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;color:var(--ds-color-text)}
.ds-admin-ai h2{margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-section-title);font-weight:750;line-height:var(--ds-line-height-section-title);letter-spacing:-.03em}
.ds-admin-ai small{font-size:13px;line-height:1.55;color:var(--ds-color-text-muted)}
.ds-admin-ai code{font-size:13px;overflow-wrap:anywhere;white-space:normal}
.ds-admin-ai label{display:block;min-width:0;margin:0!important;font-size:13px;font-weight:700;line-height:20px;color:var(--ds-color-text)}
.ds-admin-ai :is(input:not([type=hidden]),select,textarea){width:100%;min-width:0;margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-color-surface)!important;color:var(--ds-color-text)!important;font:500 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);box-shadow:none!important}
.ds-admin-ai :is(input:not([type=hidden]),select){height:var(--ds-form-control-height);min-height:var(--ds-form-control-height);max-height:var(--ds-form-control-height)}
.ds-admin-ai textarea{resize:vertical}
.ds-admin-ai label>small{display:block;margin-top:var(--ds-space-2);font-size:13px;font-weight:400}
.ds-admin-ai :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);min-width:0;min-height:var(--ds-form-control-height);margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font:750 14px/20px var(--ds-font-sans);text-align:center;white-space:normal;text-decoration:none}
.ds-admin-ai :is(button,.button):hover{transform:none}
.ds-admin-ai button::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:var(--ds-ai-action-icon,url('/assets/icons/lucide/save.svg')) center/contain no-repeat}
.ds-admin-ai button>span[aria-hidden=true]{display:none}
.ds-admin-ai :is(input,select,textarea,button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)!important}
.ds-ai-heading{display:flow-root;min-width:0;margin-bottom:var(--ds-space-5)}
.ds-ai-heading::before{content:'';float:left;width:40px;height:40px;margin-right:var(--ds-space-3);background:var(--ds-color-action-strong);mask:var(--ds-ai-heading-icon,url('/assets/icons/lucide/info.svg')) center/24px no-repeat}
.ds-admin-ai .ds-ai-heading .eyebrow{margin:0 0 var(--ds-space-2)}
@container ds-admin-ai (max-width:760px){.ds-admin-ai .tool-card{padding:var(--ds-space-4)!important}}

/* Atendimento e Suporte: componentes compartilhados opt-in. */
.ds-admin-support{--ds-support-heading-icon:url('/assets/icons/lucide/info.svg');--ds-support-action-icon:url('/assets/icons/lucide/save.svg');width:100%;max-width:var(--ds-content-form);margin-inline:auto;padding-bottom:var(--ds-space-8);container:ds-admin-support / inline-size;color:var(--ds-color-text);font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-support *{box-sizing:border-box}
.ds-admin-support>*{min-width:0}
.ds-admin-support a{color:var(--ds-color-action-strong)}
.ds-admin-support>.page-header{display:block;margin:0 0 var(--ds-space-5)}
.ds-admin-support .page-header h1{max-width:none;margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);letter-spacing:-.05em;text-wrap:wrap}
.ds-admin-support h1 em{color:var(--ds-color-action-strong);font-style:normal;white-space:normal}
.ds-admin-support .eyebrow{margin:0 0 var(--ds-space-2);color:var(--ds-color-action-strong);font-size:var(--ds-font-size-label);line-height:1.5}
.ds-admin-support :is(p:not(.eyebrow),li){max-width:none;font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-support .muted{color:var(--ds-color-text-muted)}
.ds-admin-support .page-header .muted{margin:var(--ds-space-3) 0 0}
.ds-admin-support .tool-card{width:100%;max-width:none;min-width:0;margin:0 0 var(--ds-space-5);padding:var(--ds-space-5)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card)!important;background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;color:var(--ds-color-text)}
.ds-admin-support h2{margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-section-title);font-weight:750;line-height:var(--ds-line-height-section-title);letter-spacing:-.03em}
.ds-admin-support small{font-size:13px;line-height:1.55;color:var(--ds-color-text-muted)}
.ds-admin-support code{font-size:13px;overflow-wrap:anywhere;white-space:normal}
.ds-admin-support label{display:block;min-width:0;margin:0!important;font-size:13px;font-weight:700;line-height:20px;color:var(--ds-color-text)}
.ds-admin-support :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){width:100%;min-width:0;margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-color-surface)!important;color:var(--ds-color-text)!important;font:500 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);box-shadow:none!important}
.ds-admin-support :is(input:not([type=hidden]):not([type=checkbox]),select){height:var(--ds-form-control-height);min-height:var(--ds-form-control-height);max-height:var(--ds-form-control-height)}
.ds-admin-support textarea{resize:vertical}
.ds-admin-support label>small{display:block;margin-top:var(--ds-space-2);font-size:13px;font-weight:400}
.ds-admin-support :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);min-width:0;min-height:var(--ds-form-control-height);margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font:750 14px/20px var(--ds-font-sans);text-align:center;white-space:normal;text-decoration:none}
.ds-admin-support :is(button,.button):hover{transform:none}
.ds-admin-support button::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:var(--ds-support-action-icon,url('/assets/icons/lucide/save.svg')) center/contain no-repeat}
.ds-admin-support button>span[aria-hidden=true]{display:none}
.ds-admin-support :is(input,select,textarea,button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)!important}
.ds-support-heading{display:flow-root;min-width:0;margin-bottom:var(--ds-space-5)}
.ds-support-heading::before{content:'';float:left;width:40px;height:40px;margin-right:var(--ds-space-3);background:var(--ds-color-action-strong);mask:var(--ds-support-heading-icon,url('/assets/icons/lucide/info.svg')) center/24px no-repeat}
.ds-admin-support .ds-support-heading .eyebrow{margin:0 0 var(--ds-space-2)}
@container ds-admin-support (max-width:760px){.ds-admin-support .tool-card{padding:var(--ds-space-4)!important}}


.ds-admin-support label:has(>input[type=checkbox]){display:flex;align-items:center;gap:var(--ds-space-2)}
.ds-admin-support input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;margin:0;accent-color:var(--ds-color-action)}
.ds-admin-support textarea{height:112px;min-height:80px;max-height:240px}
.ds-admin-support .tag{font-size:12px}
.ds-admin-support .button.secondary{color:var(--ds-color-text);border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);box-shadow:none}
.ds-admin-support button.secondary{color:var(--ds-color-text);border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);box-shadow:none}
.ds-admin-support code{color:var(--ds-color-action-strong)}
.ds-admin-support button[type=button]::before{content:none}

/* Usuários e logins: apresentação compartilhada opt-in, sem mudar regras. */
.ds-admin-accounts{--ds-accounts-heading-icon:url('/assets/icons/lucide/info.svg');--ds-accounts-action-icon:url('/assets/icons/lucide/save.svg');width:100%;max-width:var(--ds-content-form);margin-inline:auto;padding-bottom:var(--ds-space-8);container:ds-admin-accounts / inline-size;color:var(--ds-color-text);font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-accounts *{box-sizing:border-box}
.ds-admin-accounts>*{min-width:0}
.ds-admin-accounts a{color:var(--ds-color-action-strong)}
.ds-admin-accounts>.page-header{display:block;margin:0 0 var(--ds-space-5)}
.ds-admin-accounts .page-header h1{max-width:none;margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);letter-spacing:-.05em;text-wrap:wrap}
.ds-admin-accounts h1 em{color:var(--ds-color-action-strong);font-style:normal;white-space:normal}
.ds-admin-accounts .eyebrow{margin:0 0 var(--ds-space-2);color:var(--ds-color-action-strong);font-size:var(--ds-font-size-label);line-height:1.5}
.ds-admin-accounts :is(p:not(.eyebrow),li){max-width:none;font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-admin-accounts .muted{color:var(--ds-color-text-muted)}
.ds-admin-accounts .page-header .muted{margin:var(--ds-space-3) 0 0}
.ds-admin-accounts .tool-card{width:100%;max-width:none;min-width:0;margin:0 0 var(--ds-space-5);padding:var(--ds-space-5)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card)!important;background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;color:var(--ds-color-text)}
.ds-admin-accounts h2{margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-section-title);font-weight:750;line-height:var(--ds-line-height-section-title);letter-spacing:-.03em}
.ds-admin-accounts small{font-size:13px;line-height:1.55;color:var(--ds-color-text-muted)}
.ds-admin-accounts code{font-size:13px;overflow-wrap:anywhere;white-space:normal}
.ds-admin-accounts label{display:block;min-width:0;margin:0!important;font-size:13px;font-weight:700;line-height:20px;color:var(--ds-color-text)}
.ds-admin-accounts :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){width:100%;min-width:0;margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-color-surface)!important;color:var(--ds-color-text)!important;font:500 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);box-shadow:none!important}
.ds-admin-accounts :is(input:not([type=hidden]):not([type=checkbox]),select){height:var(--ds-form-control-height);min-height:var(--ds-form-control-height);max-height:var(--ds-form-control-height)}
.ds-admin-accounts textarea{resize:vertical}
.ds-admin-accounts label>small{display:block;margin-top:var(--ds-space-2);font-size:13px;font-weight:400}
.ds-admin-accounts :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);min-width:0;min-height:var(--ds-form-control-height);margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font:750 14px/20px var(--ds-font-sans);text-align:center;white-space:normal;text-decoration:none}
.ds-admin-accounts :is(button,.button):hover{transform:none}
.ds-admin-accounts button::before{content:'';width:18px;height:18px;flex:none;background:currentColor;mask:var(--ds-accounts-action-icon,url('/assets/icons/lucide/save.svg')) center/contain no-repeat}
.ds-admin-accounts button>span[aria-hidden=true]{display:none}
.ds-admin-accounts :is(input,select,textarea,button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)!important}
.ds-accounts-heading{display:flow-root;min-width:0;margin-bottom:var(--ds-space-5)}
.ds-accounts-heading::before{content:'';float:left;width:40px;height:40px;margin-right:var(--ds-space-3);background:var(--ds-color-action-strong);mask:var(--ds-accounts-heading-icon,url('/assets/icons/lucide/info.svg')) center/24px no-repeat}
.ds-admin-accounts .ds-accounts-heading .eyebrow{margin:0 0 var(--ds-space-2)}
@container ds-admin-accounts (max-width:760px){.ds-admin-accounts .tool-card{padding:var(--ds-space-4)!important}}


.ds-admin-accounts label:has(>input[type=checkbox]){display:flex;align-items:center;gap:var(--ds-space-2)}
.ds-admin-accounts input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;margin:0;accent-color:var(--ds-color-action)}
.ds-admin-accounts textarea{height:112px;min-height:80px;max-height:240px}
.ds-admin-accounts .tag{font-size:12px}
.ds-admin-accounts .button.secondary{color:var(--ds-color-text);border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);box-shadow:none}
.ds-admin-accounts button.secondary{color:var(--ds-color-text);border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);box-shadow:none}
.ds-admin-accounts code{color:var(--ds-color-action-strong)}
.ds-admin-accounts button[type=button]::before{content:none}

/* Cabeçalho alinhado inclusive quando o título quebra naturalmente. */
.ds-accounts-heading{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--ds-space-3);align-items:start}
.ds-accounts-heading::before{float:none;margin:0;grid-column:1;grid-row:1/span 2}
.ds-accounts-heading>:is(.eyebrow,h2){grid-column:2;min-width:0}

/* Estratégia: componentes opt-in compartilhados de análise e biblioteca. */
.ds-strategy-area{display:grid;gap:var(--ds-space-5)}
.ds-strategy-area :is(p,span,strong,small,h1,h2,h3,a){overflow-wrap:anywhere}
.ds-strategy-area .page-header{margin:0!important}
.ds-strategy-area .tool-card{margin:0}
.ds-strategy-area .secondary{border:1px solid var(--ds-color-border);background:var(--ds-color-surface-muted);color:var(--ds-color-text);box-shadow:none}
.ds-strategy-area .secondary:hover{border-color:var(--ds-color-action);background:var(--ds-color-action-soft);color:var(--ds-color-action-strong)}
.ds-strategy-area :is(.radar-form-grid button,[data-copy-radar],.radar-tag-actions button,.radar-retest button,.radar-delete-button,.chrome-toolbar button,.chrome-card-tools .button,a.button:not(.chrome-actions .button))::before{content:'';flex:0 0 18px;width:18px;height:18px;background:currentColor;mask:var(--ds-strategy-action-icon,url('/assets/icons/lucide/arrow-right.svg')) center/contain no-repeat}
.ds-strategy-area :is([data-copy-radar],[data-radar-tag-copy]){--ds-strategy-action-icon:url('/assets/icons/lucide/copy.svg')}
.ds-strategy-area [data-radar-tag-toggle]{--ds-strategy-action-icon:url('/assets/icons/lucide/code.svg')}
.ds-strategy-area :is(.radar-history-link,.radar-output>a.button){--ds-strategy-action-icon:url('/assets/icons/lucide/history.svg')}
.ds-strategy-area :is(.radar-delete-button,.chrome-danger){--ds-strategy-action-icon:url('/assets/icons/lucide/trash-2.svg')}
.ds-strategy-area .ds-strategy-filter{--ds-strategy-action-icon:url('/assets/icons/lucide/list-filter.svg')}
.ds-strategy-area .ds-strategy-create{--ds-strategy-action-icon:url('/assets/icons/lucide/folder-plus.svg')}
.ds-strategy-area .radar-retest button{--ds-strategy-action-icon:url('/assets/icons/lucide/scan-search.svg')}
.ds-strategy-area :is(.radar-card>h2,.radar-output>h2,.radar-history-card-heading h2,.saved-panel>h2){position:relative;padding-inline-start:36px}
.ds-strategy-area :is(.radar-card>h2,.radar-output>h2,.radar-history-card-heading h2,.saved-panel>h2)::before{content:'';position:absolute;inset-inline-start:0;top:2px;width:24px;height:24px;background:var(--ds-color-action-strong);mask:var(--ds-strategy-heading-icon,url('/assets/icons/lucide/scan-search.svg')) center/contain no-repeat}
.ds-strategy-area .radar-history-card-heading{--ds-strategy-heading-icon:url('/assets/icons/lucide/history.svg')}
.ds-strategy-area .saved-panel{--ds-strategy-heading-icon:url('/assets/icons/lucide/bookmark.svg')}
.ds-account-area.ds-strategy-area .ds-history-empty--radar::before{mask-image:url('/assets/icons/lucide/scan-search.svg')}
.ds-account-area.ds-strategy-area .ds-history-empty--creatives::before{mask-image:url('/assets/icons/lucide/bookmark.svg')}
.ds-strategy-area .ds-history-empty p{margin:0}
.ds-account-area.ds-strategy-area :is(.radar-form-grid input[name],.radar-form-grid select[name],.chrome-control-row input[name],.chrome-control-row select[name]){margin:0!important}
.ds-strategy-area .radar-form-grid label{display:grid;gap:var(--ds-space-2)}
.ds-strategy-area .sensitive-toggle{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;box-shadow:none}

/* Conta e atendimento: apresentação compartilhada, sem alterar outras telas. */
/* Conversa por pessoa + aula; details nativo, mesma composição nas duas áreas. */
:is(.ds-tutorial-area,.ds-comment-moderation) .tool-card.ds-conversation-shell{display:block;min-width:0;margin:0;padding:0;overflow:clip}
.ds-conversation-shell.is-new{border-color:var(--ds-color-action)}
.ds-tutorial-conversation :is([data-conversation-read],[data-conversation-new])[hidden]{display:none!important}
.ds-conversation-shell{scroll-margin-top:var(--ds-space-5)}
.ds-tutorial-conversation{min-width:0;container:ds-conversation / inline-size}
.ds-tutorial-conversation>summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto 20px;gap:var(--ds-space-4);align-items:center;min-height:88px;padding:var(--ds-space-4) var(--ds-space-5);color:var(--ds-color-text);cursor:pointer;list-style:none}
.ds-tutorial-conversation>summary::-webkit-details-marker{display:none}
.ds-tutorial-conversation>summary::after{content:none}
.ds-tutorial-conversation>summary:hover{background:var(--ds-color-action-soft)}
.ds-tutorial-conversation>summary:focus-visible{outline:2px solid var(--ds-color-action);outline-offset:-3px;box-shadow:var(--ds-focus-ring)}
.ds-conversation-heading{display:grid;gap:var(--ds-space-1);min-width:0}
.ds-conversation-heading strong{color:var(--ds-color-text-strong);font:750 var(--ds-font-size-card-title)/1.3 var(--ds-font-sans);overflow-wrap:anywhere}
.ds-conversation-heading small{color:var(--ds-color-text-muted);font:500 13px/1.5 var(--ds-font-sans);overflow-wrap:anywhere}
.ds-conversation-stats{display:flex;flex-wrap:wrap;justify-content:end;align-items:center;gap:var(--ds-space-2);max-width:300px;font:500 12px/1.5 var(--ds-font-sans);color:var(--ds-color-text-muted)}
.ds-conversation-stats>span:first-child{width:100%;text-align:end}
.ds-conversation-icon,.ds-conversation-chevron{display:block;flex:none;width:24px;height:24px;background:var(--ds-color-action-strong);mask:url('/assets/icons/lucide/messages-square.svg') center/contain no-repeat}
.ds-conversation-chevron{width:20px;height:20px;mask-image:url('/assets/icons/lucide/chevron-down.svg')}
.ds-tutorial-conversation[open]>summary .ds-conversation-chevron{transform:rotate(180deg)}
.ds-conversation-state,.ds-conversation-new{display:inline-flex;align-items:center;gap:var(--ds-space-1);padding:var(--ds-space-1) var(--ds-space-2);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);color:var(--ds-color-success);background:var(--ds-color-surface-muted);font:700 12px/1.5 var(--ds-font-sans);overflow-wrap:anywhere}
.ds-conversation-state.is-pending{color:var(--ds-color-warning)}
.ds-conversation-state.is-rejected{color:var(--ds-color-danger)}
.ds-conversation-new{color:var(--ds-color-accent-purple-ink);background:var(--ds-color-accent-purple-soft);border-color:var(--ds-color-accent-purple)}
.ds-conversation-body{display:grid;gap:var(--ds-space-5);min-width:0;padding:var(--ds-space-5);border-top:1px solid var(--ds-color-border)}
.ds-conversation-timeline{display:grid;gap:var(--ds-space-4);min-width:0}
.ds-conversation-thread{display:grid;gap:var(--ds-space-4);min-width:0;scroll-margin-block-start:var(--ds-space-5)}
.ds-conversation-thread>.tutorial-replies{margin:0}
.ds-conversation-thread [data-conversation-replies]:empty{display:none}
.ds-conversation-thread>.tutorial-staff-reply-form{scroll-margin-block-start:var(--ds-space-5)}
.ds-conversation-timeline>.tutorial-replies{margin:0}
.ds-conversation-timeline>[data-conversation-replies]:empty{display:none}
.ds-conversation-message{min-width:0;padding:var(--ds-space-4);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);background:var(--ds-color-surface)}
.ds-conversation-message>header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2);color:var(--ds-color-text-strong);font:700 14px/1.5 var(--ds-font-sans)}
.ds-conversation-message time{margin-inline-start:auto;color:var(--ds-color-text-muted);font:500 12px/1.5 var(--ds-font-sans)}
.ds-conversation-message>p{margin:var(--ds-space-3) 0 0;font:400 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);color:var(--ds-color-text);overflow-wrap:anywhere}
.ds-conversation-footer{display:flex;justify-content:center;min-width:0;padding-top:var(--ds-space-4);border-top:1px solid var(--ds-color-border)}
.ds-conversation-footer .button{min-width:160px}
.ds-support-reply-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-2);margin-inline-start:auto;color:var(--ds-color-text-muted);font:500 12px/18px var(--ds-font-sans)}
.ds-support-reply-meta>:is(time,span){display:inline-flex;align-items:center;gap:var(--ds-space-1);padding:var(--ds-space-1) var(--ds-space-2);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-control);background:var(--ds-color-surface-raised);white-space:nowrap}
.ds-support-reply-time::before,.ds-support-reply-date::before{content:'';display:block;flex:none;width:14px;height:14px;background:currentColor;mask:url('/assets/icons/lucide/clock.svg') center/contain no-repeat}
.ds-support-reply-date::before{mask-image:url('/assets/icons/lucide/calendar-days.svg')}
@container ds-conversation (max-width:680px){.ds-tutorial-conversation>summary{grid-template-columns:24px minmax(0,1fr) 20px;gap:var(--ds-space-3);padding:var(--ds-space-4)}.ds-conversation-stats{grid-column:2;max-width:none;justify-content:start}.ds-conversation-stats>span:first-child{width:auto;text-align:start}.ds-conversation-chevron{grid-column:3;grid-row:1/span 2}.ds-conversation-body{padding:var(--ds-space-4)}.ds-conversation-message time{margin-inline-start:0}.ds-support-reply-meta{margin-inline-start:0}}

.ds-account-area{width:100%;max-width:var(--ds-content-form);margin-inline:auto;container:ds-account-area / inline-size;color:var(--ds-color-text);font:var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);padding-bottom:var(--ds-space-8)}
.ds-account-area *{box-sizing:border-box}
.ds-account-area>*{min-width:0}
.ds-account-area .page-header{display:block;margin:0}
.ds-account-area .page-header h1{max-width:none;margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-page-title);line-height:var(--ds-line-height-page-title);letter-spacing:-.05em;text-wrap:wrap}
.ds-account-area h1 em{color:var(--ds-color-action-strong);font-style:normal}
.ds-account-area h2{max-width:none;margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-section-title);line-height:var(--ds-line-height-section-title);font-weight:750;letter-spacing:-.03em;overflow-wrap:anywhere}
.ds-account-area h3{margin:0;color:var(--ds-color-text-strong);font-size:var(--ds-font-size-card-title);line-height:1.2;letter-spacing:-.02em}
.ds-account-area :is(p,li){max-width:none;font-size:var(--ds-font-size-body);line-height:var(--ds-line-height-body)}
.ds-account-area .eyebrow{margin:0 0 var(--ds-space-2);color:var(--ds-color-action-strong);font-size:var(--ds-font-size-label);line-height:1.5}
.ds-account-area :is(.muted,small){color:var(--ds-color-text-muted)}
.ds-account-area small{font-size:13px;line-height:1.55}
.ds-account-area .page-header .muted{margin:var(--ds-space-3) 0 0}
.ds-account-area .tool-card{width:100%;max-width:none;min-width:0;margin:0;padding:var(--ds-space-5)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-card)!important;background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;color:var(--ds-color-text)}
.ds-account-area label{display:block;min-width:0;margin:0!important;font:700 13px/20px var(--ds-font-sans);color:var(--ds-color-text)}
.ds-account-area :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){width:100%;min-width:0;margin:var(--ds-space-2) 0 0!important;padding:var(--ds-space-3)!important;border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-color-surface)!important;color:var(--ds-color-text)!important;font:500 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);box-shadow:none!important}
.ds-account-area :is(input:not([type=hidden]):not([type=checkbox]),select){height:var(--ds-form-control-height);min-height:var(--ds-form-control-height)}
.ds-account-area input[type=file]{height:auto;min-height:var(--ds-form-control-height);overflow:hidden;font-size:13px}
.ds-account-area input::file-selector-button{margin-right:var(--ds-space-3);border:0;border-radius:var(--ds-radius-control);padding:var(--ds-space-1) var(--ds-space-2);background:var(--ds-color-action-soft);color:var(--ds-color-action-strong);font:700 13px/20px var(--ds-font-sans);cursor:pointer}
.ds-account-area textarea{height:128px;min-height:96px;max-height:240px;resize:vertical}
.ds-account-area :is(button,.button){display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);min-height:var(--ds-form-control-height);min-width:0;max-width:100%;margin:0;padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-control);font:750 14px/20px var(--ds-font-sans);white-space:normal;text-align:center;text-decoration:none}
.ds-account-area :is(button,.button):hover{transform:none}
.ds-account-area label:has(>input[type=checkbox]){display:flex;align-items:center;gap:var(--ds-space-2)}
.ds-account-area input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;margin:0;accent-color:var(--ds-color-action)}
.ds-account-area :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-color-action-strong);outline-offset:3px;box-shadow:var(--ds-focus-ring)!important}
@container ds-account-area (max-width:760px){.ds-account-area .tool-card{padding:var(--ds-space-4)!important}}

/* Aviso inferior aprovado: componente compartilhado, sem deslocar o conteúdo. */

.project-notice { position:fixed; z-index:80; right:var(--ds-space-5); bottom:var(--ds-space-5); display:grid; grid-template-columns:24px minmax(0,1fr) auto 32px; align-items:center; gap:var(--ds-space-3); width:min(440px,calc(100vw - 32px)); box-sizing:border-box; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-inline-start:4px solid var(--ds-color-action); border-radius:var(--ds-radius-card); background:var(--ds-color-surface); color:var(--ds-color-text-strong); box-shadow:var(--ds-shadow-card); font-family:var(--ds-font-sans); font-size:var(--ds-font-size-body); line-height:1.55; }
.project-notice[hidden] { display:none; }
.project-notice__count[hidden] { display:none; }
.project-notice--success { border-inline-start-color:var(--ds-color-success); }
.project-notice--error { border-inline-start-color:var(--ds-color-danger); grid-template-columns:24px minmax(0,1fr) 32px; }
.project-notice__message { min-width:0; overflow-wrap:anywhere; }
.project-notice__icon { width:24px; height:24px; background:var(--ds-color-action-strong); mask:url('/assets/icons/lucide/info.svg') center/contain no-repeat; }
.project-notice--success .project-notice__icon { background:var(--ds-color-success); mask-image:url('/assets/icons/lucide/circle-check.svg'); }
.project-notice--error .project-notice__icon { background:var(--ds-color-danger); mask-image:url('/assets/icons/lucide/circle-alert.svg'); }
.project-notice__count { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; }
.project-notice .project-notice__close { display:grid; place-items:center; flex:none; width:32px; min-width:32px; height:32px; min-height:32px; padding:0; border:0; border-radius:var(--ds-radius-control); background:transparent; color:var(--ds-color-text-muted); box-shadow:none; }
.project-notice__close::before { content:''; width:18px; height:18px; background:currentColor; mask:url('/assets/icons/lucide/x.svg') center/contain no-repeat; }
.project-notice__close:hover { background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); transform:none; }
.project-notice__close:focus-visible { outline:2px solid var(--ds-color-action); outline-offset:2px; }
@media(max-width:480px) { .project-notice { right:16px; bottom:16px; gap:var(--ds-space-2); padding:var(--ds-space-3); } }

/* Persona: componentes opt-in compartilhados entre gerador, histórico e dossiê. */
.ds-persona-area { display:grid; gap:var(--ds-space-5); --ds-persona-reading-height:340px; }
.ds-persona-area :is(p,strong,small,li,a,h1,h2) { overflow-wrap:anywhere; }
.ds-persona-area .tool-card { display:grid; gap:var(--ds-space-4); }
.ds-persona-area :is(.result-heading,.strategy-direction-heading) { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:var(--ds-space-4); }
.ds-persona-area :is(.result-heading,.strategy-direction-heading)>div:first-child { min-width:0; flex:1 1 280px; }
.ds-persona-area :is(.result-heading,.strategy-direction-heading)>div:first-child::before,
.ds-persona-area :is(.persona-guide,.history-heading,.complete-material)>div:first-child::before { content:none; }
.ds-persona-area :is(.persona-guide>h2,.persona-form>h2,.result-heading h2,.history-heading h2,.strategy-direction-heading h2,.complete-material h2) { position:relative; padding-inline-start:36px; }
.ds-persona-area :is(.persona-guide>h2,.persona-form>h2,.result-heading h2,.history-heading h2,.strategy-direction-heading h2,.complete-material h2)::before { content:''; position:absolute; left:0; top:0; width:24px; height:24px; background:var(--ds-color-action-strong); mask:var(--ds-persona-heading-icon,url('/assets/icons/lucide/user-round-pen.svg')) center/contain no-repeat; }
.ds-persona-area .persona-guide { --ds-persona-heading-icon:url('/assets/icons/lucide/lightbulb.svg'); }
.ds-persona-area .history-heading { --ds-persona-heading-icon:url('/assets/icons/lucide/history.svg'); }
.ds-persona-area .complete-material { --ds-persona-heading-icon:url('/assets/icons/lucide/file-text.svg'); }
.ds-persona-area .strategy-direction-heading { --ds-persona-heading-icon:url('/assets/icons/lucide/compass.svg'); }
.ds-persona-area :is(.persona-actions,.dossier-actions,.strategy-direction-actions,.strategy-edit-form>div) { display:flex; align-items:center; flex-wrap:wrap; gap:var(--ds-space-2); }
.ds-persona-area :is(.persona-actions,.dossier-actions)>* { flex:0 1 auto; }
.ds-persona-area .secondary { display:inline-flex; align-items:center; justify-content:center; gap:var(--ds-space-2); min-height:var(--ds-form-control-height); padding:var(--ds-space-3) var(--ds-space-4); margin:0; border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface-muted); color:var(--ds-color-text); box-shadow:none; font:750 14px/20px var(--ds-font-sans); white-space:normal; text-decoration:none; text-align:center; }
.ds-persona-area .secondary:hover { background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); border-color:var(--ds-color-action); }
.ds-persona-area :is(button,a.secondary)::before { content:''; width:18px; height:18px; flex:none; background:currentColor; mask:var(--ds-persona-action-icon,url('/assets/icons/lucide/sparkles.svg')) center/contain no-repeat; }
.ds-persona-area [data-copy-persona] { --ds-persona-action-icon:url('/assets/icons/lucide/copy.svg'); min-width:156px; }
.ds-persona-area a[href^='/persona-download'] { --ds-persona-action-icon:url('/assets/icons/lucide/download.svg'); }
.ds-persona-area .dossier-history-back { --ds-persona-action-icon:url('/assets/icons/lucide/arrow-left.svg'); }
.ds-persona-area [data-strategy-edit] { --ds-persona-action-icon:url('/assets/icons/lucide/pencil.svg'); }
.ds-persona-area [data-strategy-cancel] { --ds-persona-action-icon:url('/assets/icons/lucide/x.svg'); }
.ds-persona-area .strategy-edit-form button[type=submit] { --ds-persona-action-icon:url('/assets/icons/lucide/save.svg'); }
.ds-persona-area .strategy-direction-actions button { --ds-persona-action-icon:url('/assets/icons/lucide/circle-check.svg'); }
.ds-persona-area a[href='#persona-output'] { --ds-persona-action-icon:url('/assets/icons/lucide/file-text.svg'); }
.ds-persona-area :is(.strategy-direction,.complete-material) { display:grid; gap:var(--ds-space-4); min-width:0; padding:var(--ds-space-5); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-card); background:var(--ds-color-surface); }
.ds-persona-area .strategy-direction { border-color:var(--ds-color-action); background:var(--ds-color-action-soft); }
.ds-persona-area :is(.strategy-direction-heading,.complete-material)>div>p:not(.eyebrow) { margin:var(--ds-space-2) 0 0; color:var(--ds-color-text-muted); }
.ds-persona-area :is(.strategy-direction-output,.persona-output) { margin:0; padding:var(--ds-space-4); max-height:var(--ds-persona-reading-height); min-width:0; overflow:auto; border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); color:var(--ds-color-text); line-height:var(--ds-line-height-body); scrollbar-gutter:stable; }
.ds-persona-area .strategy-edit-form { display:grid; gap:var(--ds-space-3); margin:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); }
.ds-persona-area .strategy-edit-form textarea { height:var(--ds-persona-reading-height); min-height:180px; max-height:var(--ds-persona-reading-height); }
.ds-persona-area :is([hidden],.strategy-edit-form[hidden],.strategy-direction-output[hidden],.strategy-direction-actions[hidden]) { display:none!important; }
.ds-persona-area .strategy-direction-actions form { margin:0; min-width:0; }
.ds-persona-area .strategy-direction-actions button>span { display:none; }
.ds-persona-area .document-markdown { max-width:none; overflow-wrap:anywhere; }
.ds-persona-area .document-markdown h2 { margin:var(--ds-space-5) 0 var(--ds-space-2); font-size:18px; }
.ds-persona-area .document-markdown h3 { margin:var(--ds-space-4) 0 var(--ds-space-2); font-size:16px; }
.ds-persona-area .document-markdown h4 { margin:var(--ds-space-3) 0 var(--ds-space-2); font-size:15px; color:var(--ds-color-text-strong); }
.ds-persona-area .document-markdown p { margin:0 0 var(--ds-space-2); }
.ds-persona-area .document-markdown .document-list { display:grid; gap:var(--ds-space-1); margin:var(--ds-space-2) 0; padding-left:var(--ds-space-5); }
.ds-persona-area .document-markdown blockquote { margin:var(--ds-space-3) 0; padding:var(--ds-space-3); border-left:3px solid var(--ds-color-action); background:var(--ds-color-action-soft); }
.ds-persona-area .document-markdown hr { margin:var(--ds-space-4) 0; border:0; border-top:1px solid var(--ds-color-border); }
.ds-persona-area .document-markdown>:first-child { margin-top:0; }
.ds-persona-area label small { font-weight:400; }
.ds-persona-area .generation-progress { display:flex; align-items:center; gap:var(--ds-space-3); padding:var(--ds-space-4); border:1px solid var(--ds-color-action); border-radius:var(--ds-radius-control); background:var(--ds-color-action-soft); }
.ds-persona-area .generation-progress p { margin:var(--ds-space-1) 0 0; color:var(--ds-color-text-muted); }
.ds-persona-area .generation-spinner { flex:none; width:24px; height:24px; border:3px solid var(--ds-color-action); border-right-color:transparent; border-radius:50%; animation:ds-persona-spin 1s linear infinite; }
@keyframes ds-persona-spin { to { transform:rotate(360deg); } }
.ds-persona-area .persona-top-anchor { position:fixed; right:var(--ds-space-5); bottom:var(--ds-space-5); z-index:20; width:44px; height:44px; min-height:44px; padding:0; border:1px solid var(--ds-color-border); border-radius:50%; background:var(--ds-color-surface); color:var(--ds-color-action-strong); box-shadow:var(--ds-shadow-card); font-size:0; visibility:hidden; }
.ds-persona-area .persona-top-anchor { --ds-persona-action-icon:url('/assets/icons/lucide/arrow-up.svg'); }
.ds-persona-area .persona-top-anchor.is-visible { visibility:visible; }
body:has(.ds-action-notice:not([hidden])) .ds-persona-area .persona-top-anchor { visibility:hidden; }
@container ds-account-area (max-width:600px) {
  .ds-persona-area :is(.strategy-direction,.complete-material) { padding:var(--ds-space-4); }
  .ds-persona-area :is(.dossier-actions,.persona-actions,.strategy-direction-actions,.strategy-edit-form>div) { width:100%; }
  .ds-persona-area :is(.dossier-actions,.persona-actions,.strategy-direction-actions,.strategy-edit-form>div)>* { width:100%; }
  .ds-persona-area .strategy-direction-actions button { width:100%; }
  .ds-persona-area .strategy-edit-trigger { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ds-persona-area .generation-spinner { animation:none; } }

/* Oferta: componentes opt-in compartilhados entre gerador, histórico e resultado. */
.ds-offer-area { display:grid; gap:var(--ds-space-5); --ds-offer-reading-height:340px; }
.ds-offer-area :is(p,strong,small,li,a,h1,h2) { overflow-wrap:anywhere; }
.ds-offer-area .tool-card { display:grid; gap:var(--ds-space-4); }
.ds-offer-area :is(.result-heading,.phase-heading,.history-heading) { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:var(--ds-space-4); }
.ds-offer-area :is(.result-heading,.phase-heading,.history-heading)>div:first-child { min-width:0; flex:1 1 280px; }
.ds-offer-area :is(.offer-guide>h2,.offer-warning>h2,.offer-form-section>h2,.result-heading h2,.phase-heading h2,.history-heading h2) { position:relative; padding-inline-start:36px; }
.ds-offer-area :is(.offer-guide>h2,.offer-warning>h2,.offer-form-section>h2,.result-heading h2,.phase-heading h2,.history-heading h2)::before { content:''; position:absolute; left:0; top:0; width:24px; height:24px; background:var(--ds-color-action-strong); mask:var(--ds-offer-heading-icon,url('/assets/icons/lucide/hand-coins.svg')) center/contain no-repeat; }
.ds-offer-area :is(.offer-guide,.offer-warning) { --ds-offer-heading-icon:url('/assets/icons/lucide/lightbulb.svg'); }
.ds-offer-area .history-heading { --ds-offer-heading-icon:url('/assets/icons/lucide/history.svg'); }
.ds-offer-area .facts-card { --ds-offer-heading-icon:url('/assets/icons/lucide/list-checks.svg'); }
.ds-offer-area :is(.offer-result-actions,.strategy-actions,.form-actions) { display:flex; align-items:center; flex-wrap:wrap; gap:var(--ds-space-2); }
.ds-offer-area :is(.offer-result-actions,.strategy-actions)>* { flex:0 1 auto; min-width:0; margin:0; }
.ds-offer-area .secondary { display:inline-flex; align-items:center; justify-content:center; gap:var(--ds-space-2); min-height:var(--ds-form-control-height); max-width:100%; padding:var(--ds-space-3) var(--ds-space-4); margin:0; border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface-muted); color:var(--ds-color-text); box-shadow:none; font:750 14px/20px var(--ds-font-sans); white-space:normal; text-decoration:none; text-align:center; }
.ds-offer-area .secondary:hover { background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); border-color:var(--ds-color-action); }
.ds-offer-area :is(button,a.secondary,a.button)::before { content:''; width:18px; height:18px; flex:none; background:currentColor; mask:var(--ds-offer-action-icon,url('/assets/icons/lucide/sparkles.svg')) center/contain no-repeat; }
.ds-offer-area [data-copy-offer] { --ds-offer-action-icon:url('/assets/icons/lucide/copy.svg'); min-width:156px; }
.ds-offer-area a[href^='/offer-download'] { --ds-offer-action-icon:url('/assets/icons/lucide/download.svg'); }
.ds-offer-area .history-back { --ds-offer-action-icon:url('/assets/icons/lucide/arrow-left.svg'); }
.ds-offer-area [data-edit-facts] { --ds-offer-action-icon:url('/assets/icons/lucide/pencil.svg'); }
.ds-offer-area [data-cancel-facts] { --ds-offer-action-icon:url('/assets/icons/lucide/x.svg'); }
.ds-offer-area .facts-form button:not(.secondary) { --ds-offer-action-icon:url('/assets/icons/lucide/save.svg'); }
.ds-offer-area .approve-form button { --ds-offer-action-icon:url('/assets/icons/lucide/circle-check.svg'); }
.ds-offer-area :is(.phase-card,.generation-progress,.generation-failure) { display:grid; gap:var(--ds-space-3); min-width:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); }
.ds-offer-area :is(.phase-heading,.result-heading)>div>p:not(.eyebrow) { margin:var(--ds-space-2) 0 0; color:var(--ds-color-text-muted); }
.ds-offer-area :is(.offer-output,.strategy-output,.facts-preview,.facts-form) { max-height:var(--ds-offer-reading-height); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-color:var(--ds-color-border) var(--ds-color-surface); }
.ds-offer-area :is(.offer-output,.strategy-output) { margin:0; padding:var(--ds-space-4); min-width:0; border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); color:var(--ds-color-text); overflow-wrap:anywhere; line-height:var(--ds-line-height-body); }
.ds-offer-area .document-markdown { max-width:none; overflow-wrap:anywhere; }
.ds-offer-area .document-markdown h2 { margin:var(--ds-space-5) 0 var(--ds-space-2); padding:0; font-size:18px; }
.ds-offer-area .document-markdown h2::before { content:none; }
.ds-offer-area .document-markdown h3 { margin:var(--ds-space-4) 0 var(--ds-space-2); font-size:16px; }
.ds-offer-area .document-markdown h4 { margin:var(--ds-space-3) 0 var(--ds-space-2); font-size:15px; color:var(--ds-color-text-strong); }
.ds-offer-area .document-markdown p { margin:0 0 var(--ds-space-2); }
.ds-offer-area .document-markdown .document-list { display:grid; gap:var(--ds-space-1); margin:var(--ds-space-2) 0; padding-left:var(--ds-space-5); }
.ds-offer-area .document-markdown blockquote { margin:var(--ds-space-3) 0; padding:var(--ds-space-3); border-left:3px solid var(--ds-color-action); background:var(--ds-color-action-soft); }
.ds-offer-area .document-markdown hr { margin:var(--ds-space-4) 0; border:0; border-top:1px solid var(--ds-color-border); }
.ds-offer-area .document-markdown>:first-child { margin-top:0; }
.ds-offer-area label small { font-weight:400; }
.ds-offer-area :is(.generation-progress,.generation-failure) { grid-template-columns:24px minmax(0,1fr); border-color:var(--ds-color-action); background:var(--ds-color-action-soft); }
.ds-offer-area :is(.generation-progress,.generation-failure)::before { content:''; width:24px; height:24px; background:var(--ds-color-action-strong); mask:url('/assets/icons/lucide/clock.svg') center/contain no-repeat; }
.ds-offer-area :is(.generation-progress,.generation-failure)>* { grid-column:2; margin:0; min-width:0; }
.ds-offer-area :is(.generation-progress,.generation-failure)>strong { grid-row:1; }
.ds-offer-area :is(.generation-progress,.generation-failure) p { margin:0; color:var(--ds-color-text-muted); }
.ds-offer-area .generation-progress:has(.generation-spinner)::before { content:none; }
.ds-offer-area .generation-progress>.generation-spinner { grid-column:1; grid-row:1; }
.ds-offer-area .generation-progress>div { grid-row:1; }
.ds-offer-area .generation-spinner { width:24px; height:24px; border:3px solid var(--ds-color-action); border-right-color:transparent; border-radius:50%; animation:ds-offer-spin 1s linear infinite; }
.ds-offer-area .generation-failure { border-color:var(--ds-color-danger); background:color-mix(in srgb,var(--ds-color-danger) 7%,var(--ds-color-surface)); }
.ds-offer-area .generation-failure::before { background:var(--ds-color-danger); mask-image:url('/assets/icons/lucide/circle-alert.svg'); }
.ds-offer-area [hidden] { display:none!important; }
@keyframes ds-offer-spin { to { transform:rotate(360deg); } }
@container ds-account-area (max-width:600px) {
  .ds-offer-area :is(.offer-result-actions,.strategy-actions,.form-actions) { width:100%; }
  .ds-offer-area :is(.offer-result-actions,.strategy-actions,.form-actions)>* { width:100%; }
  .ds-offer-area .strategy-actions form button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ds-offer-area .generation-spinner { animation:none; } }

/* Página: componentes opt-in do gerador, histórico e entrega de arquitetura. */
.ds-page-area { display:grid; gap:var(--ds-space-5); --ds-page-reading-height:340px; }
.ds-page-area :is(p,strong,small,li,a,h1,h2) { overflow-wrap:anywhere; }
.ds-page-area .tool-card { display:grid; gap:var(--ds-space-4); }
.ds-page-area :is(.page-header,.result-heading,.history-heading) { display:flex; flex-direction:row; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:var(--ds-space-4); }
.ds-page-area .page-header>.ds-page-header__content { flex:1 1 520px; min-width:0; }
.ds-page-area :is(.result-heading,.history-heading)>div:first-child { flex:1 1 280px; min-width:0; }
.ds-page-area :is(.page-guide>h2,.page-warning>h2,.page-form-section>h2,.agent-delivery h2,.result-heading h2,.history-heading h2) { position:relative; padding-inline-start:36px; }
.ds-page-area :is(.page-guide>h2,.page-warning>h2,.page-form-section>h2,.agent-delivery h2,.result-heading h2,.history-heading h2)::before { content:''; position:absolute; left:0; top:0; width:24px; height:24px; background:var(--ds-color-action-strong); mask:var(--ds-page-heading-icon,url('/assets/icons/lucide/file-pen-line.svg')) center/contain no-repeat; }
.ds-page-area :is(.page-guide,.page-warning) { --ds-page-heading-icon:url('/assets/icons/lucide/lightbulb.svg'); }
.ds-page-area .history-heading { --ds-page-heading-icon:url('/assets/icons/lucide/history.svg'); }
.ds-page-area .agent-delivery { --ds-page-heading-icon:url('/assets/icons/lucide/external-link.svg'); }
.ds-page-area :is(.project-header-actions,.project-actions) { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ds-space-2); min-width:0; }
.ds-page-area .secondary { display:inline-flex; align-items:center; justify-content:center; gap:var(--ds-space-2); min-height:var(--ds-form-control-height); max-width:100%; margin:0; padding:var(--ds-space-3) var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface-muted); color:var(--ds-color-text); box-shadow:none; font:750 14px/20px var(--ds-font-sans); text-decoration:none; text-align:center; white-space:normal; }
.ds-page-area .secondary:hover { background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); border-color:var(--ds-color-action); }
.ds-page-area :is(button,a.secondary,a.button)::before { content:''; flex:none; width:18px; height:18px; background:currentColor; mask:var(--ds-page-action-icon,url('/assets/icons/lucide/file-pen-line.svg')) center/contain no-repeat; }
.ds-page-area :is(.page-agent-entry,.external-agent-link) { --ds-page-action-icon:url('/assets/icons/lucide/external-link.svg'); }
/* Entrada do Engenheiro: mesmo grupo nas telas de criação e arquitetura. */
.ds-page-area .ds-page-plugin-actions { display:grid; gap:var(--ds-space-2); width:320px; max-width:100%; min-width:0; flex:0 1 320px; }
.ds-page-area .agent-delivery>.ds-page-plugin-actions { flex:0 1 320px; }
.ds-page-area .ds-page-plugin-actions>a { width:100%; min-width:0; margin:0; white-space:normal; }
.ds-page-area .ds-page-connect { --ds-page-action-icon:url('/assets/icons/lucide/link.svg'); }
@container ds-account-area (max-width:600px) {
  .ds-page-area .ds-page-plugin-actions,.ds-page-area .agent-delivery>.ds-page-plugin-actions { width:100%; flex-basis:100%; }
}
.ds-page-area :is([data-copy-project],[data-copy-universal]) { --ds-page-action-icon:url('/assets/icons/lucide/copy.svg'); }
.ds-page-area [data-copy-project] { width:184px; min-width:184px; }
.ds-page-area [data-copy-universal] { width:260px; min-width:260px; }
.ds-page-area a[href^='/page-download'] { --ds-page-action-icon:url('/assets/icons/lucide/download.svg'); }
.ds-page-area .history-back { --ds-page-action-icon:url('/assets/icons/lucide/arrow-left.svg'); }
.ds-page-area :is(.queue-status,.status-pill) { display:inline-flex; align-items:center; gap:var(--ds-space-2); min-width:0; padding:var(--ds-space-1) var(--ds-space-2); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); color:var(--ds-color-text-muted); font:700 12px/20px var(--ds-font-sans); }
.ds-page-area :is(.queue-status,.status-pill)::before { content:''; flex:none; width:16px; height:16px; background:currentColor; mask:url('/assets/icons/lucide/clock.svg') center/contain no-repeat; }
.ds-page-area .queue-status-architecture_ready { color:var(--ds-color-success); border-color:var(--ds-color-success); }
.ds-page-area .queue-status-architecture_ready::before { mask-image:url('/assets/icons/lucide/circle-check.svg'); }
.ds-page-area .queue-status-failed { color:var(--ds-color-danger); border-color:var(--ds-color-danger); }
.ds-page-area .queue-status-failed::before { mask-image:url('/assets/icons/lucide/circle-alert.svg'); }
.ds-page-area .status-pill::before { mask-image:url('/assets/icons/lucide/eye.svg'); }
.ds-page-area :is(.queue-status-queued,.queue-status-processing,.queue-status-retrying) { color:var(--ds-color-action-strong); border-color:var(--ds-color-action); }
:root[data-theme=light] .ds-page-area .queue-status { color:var(--ds-color-text-muted)!important; }
:root[data-theme=light] .ds-page-area .queue-status-architecture_ready { color:var(--ds-color-success)!important; }
:root[data-theme=light] .ds-page-area .queue-status-failed { color:var(--ds-color-danger)!important; }
:root[data-theme=light] .ds-page-area :is(.queue-status-queued,.queue-status-processing,.queue-status-retrying) { color:var(--ds-color-action-strong)!important; }
.ds-page-area :is(.project-output,.page-ai-prompt) { max-height:var(--ds-page-reading-height); min-width:0; margin:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); color:var(--ds-color-text); overflow:auto; overflow-wrap:anywhere; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-color:var(--ds-color-border) var(--ds-color-surface); }
.ds-page-area :is(.ds-page-empty,.ds-page-failure) { display:grid; grid-template-columns:24px minmax(0,1fr); gap:var(--ds-space-2) var(--ds-space-3); margin:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); }
.ds-page-area :is(.ds-page-empty,.ds-page-failure)::before { content:''; grid-column:1; grid-row:1; width:24px; height:24px; background:var(--ds-color-action-strong); mask:url('/assets/icons/lucide/file-pen-line.svg') center/contain no-repeat; }
.ds-page-area .ds-page-failure { border-color:var(--ds-color-danger); background:color-mix(in srgb,var(--ds-color-danger) 7%,var(--ds-color-surface)); }
.ds-page-area .ds-page-failure::before { background:var(--ds-color-danger); mask-image:url('/assets/icons/lucide/circle-alert.svg'); }
.ds-page-area .ds-page-failure>* { grid-column:2; min-width:0; margin:0; }
.ds-page-area .ds-page-failure>strong { grid-row:1; }
.ds-page-area [hidden] { display:none!important; }
@container ds-account-area (max-width:600px) {
  .ds-page-area :is(.project-header-actions,.project-actions) { width:100%; }
  .ds-page-area :is(.project-header-actions,.project-actions)>* { width:100%; }
}

/* Histórico vazio compartilhado: Personas, Ofertas e Arquiteturas.
   A classe legada de Arquiteturas permanece como alias visual, sem mudar sua rota. */
.ds-account-area .ds-history-empty,
.ds-page-history .ds-page-empty { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:var(--ds-space-2) var(--ds-space-3); min-width:0; margin:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); color:var(--ds-color-text-muted); overflow-wrap:anywhere; }
.ds-account-area .ds-history-empty::before,
.ds-page-history .ds-page-empty::before { content:''; grid-column:1; grid-row:1; width:24px; height:24px; background:var(--ds-color-action-strong); mask:url('/assets/icons/lucide/file-pen-line.svg') center/contain no-repeat; }
.ds-account-area .ds-history-empty--persona::before { mask-image:url('/assets/icons/lucide/user-round-pen.svg'); }
.ds-account-area .ds-history-empty--offer::before { mask-image:url('/assets/icons/lucide/hand-coins.svg'); }

/* Nomes: aparência compartilhada do gerador e biblioteca; composição nos CSS de tela. */
.ds-names-area { display:grid; gap:var(--ds-space-5); overflow-wrap:anywhere; }
.ds-names-area .tool-card { display:grid; gap:var(--ds-space-4); }
.ds-names-area .page-header { display:block; }
.ds-names-area :is(p,dl,h3,h4,form) { margin:0; min-width:0; }
.ds-names-area .tool-card p:not(.eyebrow) { color:var(--ds-color-text-muted); }
.ds-names-area :is(.name-guide>h2,.name-warning>h2,.name-form>h2,.name-project-bar h2,.name-round-index h2,.name-round-heading h2,.name-round-control>h2,.saved-names-title h2) { position:relative; padding-left:36px; }
.ds-names-area :is(.name-guide>h2,.name-warning>h2,.name-form>h2,.name-project-bar h2,.name-round-index h2,.name-round-heading h2,.name-round-control>h2,.saved-names-title h2)::before { content:''; position:absolute; left:0; top:0; width:24px; height:24px; background:var(--ds-color-action-strong); mask:var(--ds-names-heading-icon,url('/assets/icons/lucide/metronome.svg')) center/contain no-repeat; }
.ds-names-area .name-guide { --ds-names-heading-icon:url('/assets/icons/lucide/lightbulb.svg'); }
.ds-names-area .name-warning { --ds-names-heading-icon:url('/assets/icons/lucide/clock.svg'); }
.ds-names-area .name-project-bar { --ds-names-heading-icon:url('/assets/icons/lucide/folder-open.svg'); }
.ds-names-area .name-round-index { --ds-names-heading-icon:url('/assets/icons/lucide/history.svg'); }
.ds-names-area .saved-names-title { --ds-names-heading-icon:url('/assets/icons/lucide/bookmark.svg'); }
.ds-names-area .secondary { min-height:var(--ds-form-control-height); padding:var(--ds-space-3) var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface-muted); color:var(--ds-color-text); box-shadow:none; font:750 14px/20px var(--ds-font-sans); }
.ds-names-area .secondary:hover { border-color:var(--ds-color-action); background:var(--ds-color-action-soft); color:var(--ds-color-action-strong); }
.ds-names-area :is(button,.button)::before { content:''; flex:none; width:18px; height:18px; background:currentColor; mask:var(--ds-names-action-icon,url('/assets/icons/lucide/metronome.svg')) center/contain no-repeat; }
.ds-names-area :is(.name-project-actions a,form:has(input[value="save_name"]) button) { --ds-names-action-icon:url('/assets/icons/lucide/bookmark.svg'); }
.ds-names-area :is(form:has(input[value="unsave_name"]) button,form:has(input[value="discard_name"]) button,.saved-name-delete) { --ds-names-action-icon:url('/assets/icons/lucide/trash-2.svg'); color:var(--ds-color-danger)!important; border-color:color-mix(in srgb,var(--ds-color-danger) 50%,var(--ds-color-border))!important; background:color-mix(in srgb,var(--ds-color-danger) 7%,var(--ds-color-surface))!important; }
.ds-names-area form:has(input[value="select_name"]) button { --ds-names-action-icon:url('/assets/icons/lucide/circle-check.svg'); }
.ds-names-area :is(form:has(input[value="replace_name"]) button,form:has(input[value="queue_round"]) button) { --ds-names-action-icon:url('/assets/icons/lucide/refresh-cw.svg'); }
.ds-names-area .saved-name-open { --ds-names-action-icon:url('/assets/icons/lucide/external-link.svg'); }
.ds-names-area :is(.name-selected span,.name-card-status b,.name-round-metrics span,.saved-name-card-head>span,.saved-names-title-actions>span) { display:inline-flex; align-items:center; min-width:0; padding:var(--ds-space-1) var(--ds-space-2); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); color:var(--ds-color-text-muted); background:var(--ds-color-surface); font:700 12px/20px var(--ds-font-sans); }
.ds-names-area :is(.name-selected span,.name-card-status b.selected,.saved-name-card-head>span) { color:var(--ds-color-success); border-color:var(--ds-color-success); }
.ds-names-area .name-card-status b.recommended { color:var(--ds-color-action-strong); border-color:var(--ds-color-action); }
.ds-names-area :is(.name-cards,.saved-names-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:var(--ds-space-4); }
.ds-names-area :is(.name-card,.saved-name-card) { display:flex; flex-direction:column; gap:var(--ds-space-3); min-width:0; padding:var(--ds-space-4); border:1px solid var(--ds-color-border); border-radius:var(--ds-radius-control); background:var(--ds-color-surface); }
.ds-names-area :is(.name-card.selected,.saved-name-card.selected) { border-color:var(--ds-color-success); box-shadow:inset 0 3px var(--ds-color-success); }
.ds-names-area .name-card.recommended { border-color:var(--ds-color-action); }
.ds-names-area :is(.name-card h3,.saved-name-card h4) { color:var(--ds-color-text-strong); font:750 var(--ds-font-size-card-title)/1.2 var(--ds-font-sans); }
.ds-names-area :is(.name-descriptor,.saved-name-descriptor) { color:var(--ds-color-action-strong)!important; }
.ds-names-area :is(.name-card,.saved-name-card) dl { display:grid; gap:var(--ds-space-3); }
.ds-names-area :is(.name-card,.saved-name-card) dl div { display:grid; gap:var(--ds-space-1); }
.ds-names-area :is(.name-card,.saved-name-card) dt { color:var(--ds-color-text-strong); font:700 13px/20px var(--ds-font-sans); }
.ds-names-area :is(.name-card,.saved-name-card) dd { margin:0; color:var(--ds-color-text-muted); font-size:15px; }
.ds-names-area :is(.name-actions,.saved-name-actions) { display:flex; flex-wrap:wrap; gap:var(--ds-space-2); min-width:0; }
.ds-names-area .saved-name-actions { margin-top:auto; }
.ds-names-area :is(.name-actions,.saved-name-actions)>* { min-width:0; max-width:100%; }
.ds-names-area .ds-name-failure { display:grid; grid-template-columns:24px minmax(0,1fr); gap:var(--ds-space-3); padding:var(--ds-space-4); border:1px solid var(--ds-color-danger); border-radius:var(--ds-radius-control); background:color-mix(in srgb,var(--ds-color-danger) 7%,var(--ds-color-surface)); }
.ds-names-area .ds-name-failure::before { content:''; width:24px; height:24px; background:var(--ds-color-danger); mask:url('/assets/icons/lucide/circle-alert.svg') center/contain no-repeat; }
.ds-account-area .ds-history-empty--names::before { mask-image:url('/assets/icons/lucide/bookmark.svg'); }
.ds-names-area [hidden] { display:none!important; }
@container ds-account-area (max-width:760px) {
 .ds-names-area :is(.name-cards,.saved-names-grid) { grid-template-columns:1fr; }
}
@container ds-account-area (max-width:600px) {
 .ds-names-area :is(.name-actions,.saved-name-actions)>* { flex:1 1 200px; }
 .ds-names-area :is(.name-actions,.saved-name-actions) :is(button,.button) { width:100%; }
}
