/* Estilos exclusivos da releitura argumentativa; carregar após portal-publico.css. */
html[data-hub-page="argumenta"] #a25Flow { min-width: 0; color: #172033; }
html[data-hub-page="argumenta"] #workspaceView[hidden],
html[data-hub-page="argumenta"] #catalogView[hidden],
html[data-hub-page="argumenta"] #emptyState[hidden],
html[data-hub-page="argumenta"] .arg-hero[hidden],
html[data-hub-page="argumenta"] .arg-method[hidden],
html[data-hub-page="argumenta"] .arg-stepper[hidden],
html[data-hub-page="argumenta"] #a25Flow [hidden] { display: none !important; }
#a25Flow .a25-memory { border: 1px solid #d9d1ee; border-left: 5px solid #6d28d9; background: #fff; border-radius: 12px; padding: 14px 16px; color: #45355e; line-height: 1.55; }
#a25Flow .a25-step-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 12px; }
#a25Flow button, #a25Flow input, #a25Flow select, #a25Flow textarea { font: inherit; }
#a25Flow button { cursor: pointer; min-height: 44px; }
#a25Flow .a25-step-nav button { flex: 1 1 170px; border: 1px solid #c8bfdc; border-radius: 12px; background: #fff; color: #4c1d95; padding: 10px 12px; font-weight: 800; text-align: left; }
#a25Flow .a25-step-nav .a25-current { color: #fff; background: #5b21b6; border-color: #5b21b6; }
#a25Flow button:disabled { cursor: not-allowed; opacity: .58; }
#a25Flow .a25-panel { min-width: 0; border: 1px solid #d8d1e5; border-radius: 20px; padding: clamp(16px, 3vw, 28px); background: #fff; box-shadow: 0 10px 25px rgb(53 38 85 / 5%); margin: 18px 0; }
#a25Flow h3 { font-size: clamp(22px, 3vw, 30px); margin: 0 0 20px; line-height: 1.2; color: #25113f; }
#a25Flow h4 { font-size: 19px; line-height: 1.3; margin: 18px 0 10px; color: #38224e; }
#a25Flow h5 { font-size: 16px; line-height: 1.4; margin: 18px 0 7px; }
#a25Flow p, #a25Flow li { line-height: 1.6; }
#a25Flow .a25-help { color: #4b5563; font-size: 14px; line-height: 1.55; }
#a25Flow .a25-progress { font-weight: 800; color: #4c1d95; margin: 12px 0 4px; }
#a25Flow .a25-choice { min-width: 0; padding: 16px; margin: 20px 0; border: 1px solid #d9d1e5; border-radius: 14px; }
#a25Flow .a25-choice legend { max-width: 100%; padding: 0 7px; font-weight: 900; color: #38224e; line-height: 1.5; }
#a25Flow .a25-option { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; margin: 8px 0; border: 1px solid #ddd5e8; border-radius: 12px; padding: 12px; background: #fcfaff; cursor: pointer; color: #273142; line-height: 1.55; }
#a25Flow .a25-option input { flex: 0 0 auto; width: 19px; height: 19px; margin: 3px 0 0; accent-color: #6d28d9; }
#a25Flow .a25-option span { min-width: 0; overflow-wrap: anywhere; }
#a25Flow .a25-option:has(input:checked) { border-color: #6d28d9; background: #f1eaff; }
#a25Flow .a25-field { display: grid; gap: 8px; margin: 18px 0; min-width: 0; }
#a25Flow .a25-field label { display: block; font-weight: 900; color: #38224e; line-height: 1.45; }
#a25Flow .a25-field p { margin: 0; }
#a25Flow textarea, #a25Flow select { width: 100%; max-width: 100%; box-sizing: border-box; background: #fff; color: #172033; border: 1.5px solid #b9adc9; border-radius: 12px; padding: 12px; line-height: 1.55; }
#a25Flow textarea { resize: vertical; min-height: 112px; }
#a25Flow select { min-height: 44px; }
#a25Flow input[type="range"] { width: min(420px, 100%); min-height: 32px; accent-color: #6d28d9; }
#a25Flow output { color: #4c1d95; font-weight: 900; }
#a25Flow [aria-invalid="true"] { border-color: #9f1d20; }
#a25Flow .a25-primary, #a25Flow .a25-secondary { border-radius: 12px; border: 1px solid #5b21b6; padding: 12px 16px; font-weight: 900; line-height: 1.45; margin: 8px 8px 8px 0; white-space: normal; }
#a25Flow .a25-primary { background: #5b21b6; color: #fff; }
#a25Flow .a25-secondary { background: #f6f2ff; color: #4c1d95; }
#a25Flow .a25-primary:hover:not(:disabled) { background: #4c1d95; }
#a25Flow .a25-secondary:hover:not(:disabled) { background: #ebe1ff; }
#a25Flow .a25-feedback, #a25Flow .a25-action-status { background: #f7f4fc; border-left: 4px solid #6d28d9; padding: 12px 16px; margin: 16px 0; border-radius: 8px; overflow-wrap: anywhere; }
#a25Flow .a25-feedback p:first-child { margin-top: 0; }
#a25Flow .a25-feedback p:last-child { margin-bottom: 0; }
#a25Flow .a25-objection { margin: 18px 0; padding: 16px; border-left: 5px solid #a56800; border-radius: 10px; background: #fff7e6; color: #5d4511; font-weight: 800; line-height: 1.6; }
#a25Flow .a25-reference { border: 1px solid #d6c8ee; border-radius: 14px; padding: 16px 20px; background: #f8f4ff; }
#a25Flow .a25-reference h4 { margin-top: 0; }
#a25Flow .a25-self-review { margin-top: 24px; }
#a25Flow .a25-review-card { border-top: 2px solid #e8e0f3; padding-top: 8px; margin-top: 24px; }
#a25Flow .a25-review-card .a25-choice { background: #faf8fd; }
#a25Flow .a25-history { margin: 16px 0; padding: 12px 14px; border: 1px solid #d8d1e5; border-radius: 12px; }
#a25Flow summary { cursor: pointer; font-weight: 800; line-height: 1.6; min-height: 32px; color: #4c1d95; }
#a25Flow .a25-literal { white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; padding: 12px 14px; border-left: 3px solid #b8a2d9; margin: 10px 0; background: #faf8fd; color: #273142; font: inherit; line-height: 1.6; }
#a25Flow .a25-record { margin: 20px 0; border: 1px solid #cabddd; border-radius: 14px; padding: 16px; min-width: 0; }
#a25Flow .a25-record h4 { margin-top: 0; }
#a25Flow .a25-reset { margin-top: 24px; }
#a25Flow .a25-confirm { padding: 20px; margin: 12px 0; background: #fff8f0; border: 1px solid #ba7b30; border-radius: 14px; }
html[data-hub-page="argumenta"] #a25Flow :focus-visible,
html[data-hub-page="argumenta"] #thesisSearch:focus-visible,
html[data-hub-page="argumenta"] #axisFilters button:focus-visible,
html[data-hub-page="argumenta"] #thesisGrid button:focus-visible,
html[data-hub-page="argumenta"] #backToCatalog:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; }
#a25Flow [tabindex="-1"]:focus { outline: 3px solid #1d4ed8; outline-offset: 4px; }
@media (max-width: 640px) {
  #a25Flow .a25-step-nav { display: grid; grid-template-columns: 1fr; }
  #a25Flow .a25-choice { padding: 12px; }
  #a25Flow .a25-primary, #a25Flow .a25-secondary { width: 100%; margin-right: 0; }
  #a25Flow .a25-reference, #a25Flow .a25-record { padding: 14px; }
  #a25Flow .a25-feedback { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-hub-page="argumenta"] .arg-card,
  html[data-hub-page="argumenta"] .arg-primary,
  html[data-hub-page="argumenta"] #a25Flow * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
