/* JurisprudencIA: specialist-review evidence, proposals and feedback layout. */
.review-page {
    width: 100%; max-width: 1050px; min-width: 0; margin: auto; line-height: 1.6;
    display: flex; flex-direction: column; box-sizing: border-box;
}
.review-page > * { min-width: 0; max-width: 100%; }
.review-page a, .review-banner a { color: var(--accent-secondary); }
.review-banner, .review-case {
    border: 1px solid var(--color-warning); border-radius: 12px; padding: 1rem;
    background: var(--bg-surface); overflow-wrap: anywhere; box-sizing: border-box;
}
.review-banner[hidden] { display: none; }
.review-banner p { margin: 0.5rem 0; }
.review-case { margin: 1rem 0; }
.review-case > summary { cursor: pointer; font-weight: 600; }
.review-case h3, .review-case h4 { margin: 1rem 0 0.5rem; }
.review-case blockquote {
    border-left: 3px solid var(--accent-secondary); padding-left: 0.75rem;
    margin: 0.75rem 0; font-size: 0.9rem;
}
.review-case table { border-collapse: collapse; width: 100%; font-size: 0.85rem; }
.review-case td, .review-case th { border: 1px solid var(--border-color); padding: 0.5rem; text-align: left; }
.review-table-scroll { overflow-x: auto; }
.review-field { margin: 0.75rem 0; padding: 0.75rem; border: 1px solid var(--border-color); border-radius: 8px; }
.review-field > summary { cursor: pointer; }
.review-feedback { display: grid; gap: 0.5rem; margin: 1rem 0; }
.review-feedback textarea { min-height: 110px; resize: vertical; }
.review-feedback textarea, .review-feedback select, .review-feedback input {
    width: 100%; padding: 0.75rem; color: var(--text-primary); background: var(--bg-base);
    border: 1px solid var(--border-color); border-radius: 8px; font: inherit;
}
.review-feedback label { color: var(--text-secondary); }
#review-download { margin: 1rem 0; }
@media (max-width: 600px) { .review-page { padding: 1rem; } }
/* Specialist decisions: keep field editors and actions usable on mobile. */
.review-answer { border: 1px solid var(--border-color); border-radius: 8px; padding: 12px; }
.review-answer label { display: block; margin-top: 10px; }
.review-answer select, .review-answer textarea, .review-answer input { box-sizing: border-box; width: 100%; max-width: 100%; }
.review-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.review-save-status { overflow-wrap: anywhere; }
#review-download[hidden] { display: none; }
/* Reversible human exclusions are visible independently of model classification. */
.corpus-decision { margin-block: 1rem; padding: 1rem; border: 1px solid var(--border-color); border-radius: 10px; overflow-wrap: anywhere; }
.corpus-decision.corpus-discarded { border-color: var(--color-warning); }
.corpus-decision h3 { margin: 0 0 0.5rem; }
.corpus-decision button { font: inherit; color: var(--text-primary); background: var(--bg-base); border: 1px solid var(--border-color); border-radius: 8px; padding: 0.65rem; margin: 0.3rem; cursor: pointer; }
.corpus-decision button:disabled { opacity: 0.5; cursor: default; }
.corpus-decision a { color: var(--accent-secondary); }
.corpus-decision [hidden] { display: none !important; }
.corpus-decision-status:empty { display: none; }
.corpus-decision-access { color: var(--color-danger); margin-top: 0.5rem; font-weight: 500; }
.corpus-decision-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.corpus-decision-actions button { min-height: 44px; margin: 0; }
.corpus-decision-actions [data-corpus-action="refresh"] { min-width: 44px; }
.corpus-decision-actions [data-corpus-action="edit"] { border-color: var(--color-danger); }
.corpus-decision-summary { margin-bottom: 0.75rem; }
.corpus-decision-editor label { display: block; margin-block: 0.5rem; }
.corpus-decision textarea { width: 100%; box-sizing: border-box; max-width: 100%; color: var(--text-primary); background: var(--bg-base); border: 1px solid var(--border-color); border-radius: 8px; padding: 0.75rem; font: inherit; }
.corpus-decision-summary p { margin-block: 0.4rem; }
.corpus-decision-summary small { display: block; margin-top: 0.4rem; }
.corpus-decision small { color: var(--text-secondary); }
.review-session-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-block: 1rem; }
/* Guided editing exposes one question and keeps optional reference material folded. */
.review-page { padding: 2rem; gap: 0.6rem; }
.review-page h1 { margin-bottom: 0.25rem; }
.review-page > p { margin: 0.35rem 0; }
.review-page select, .review-page button { font: inherit; }
.review-page select { color: var(--text-primary); background: var(--bg-base); border: 1px solid var(--border-color); border-radius: 8px; padding: 0.75rem; max-width: 100%; }
.review-page button { cursor: pointer; }
.review-page button:disabled { cursor: default; opacity: 0.5; }
.review-page button:not(.btn-action-panel) { color: var(--text-primary); background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 8px; padding: 0.6rem 0.85rem; }
.review-page :focus-visible { outline: 2px solid var(--accent-secondary); outline-offset: 3px; }
.review-case[hidden], .review-answer[hidden] { display: none; }
.review-guide { display: grid; gap: 0.5rem; padding: 1rem; background: var(--bg-base); border-radius: 10px; }
.review-guide progress { width: 100%; accent-color: var(--accent-secondary); height: 0.65rem; }
.review-progress-text, .review-current-step { margin: 0; color: var(--text-secondary); font-size: 0.9rem; }
.review-guide-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.review-answer { padding: 1.25rem; margin-block: 0.5rem; }
.review-answer > summary { cursor: pointer; font-size: 1.05rem; font-weight: 600; }
.review-answer-indicator { display: inline-block; margin-left: 0.75rem; color: var(--accent-secondary); font-size: 0.85rem; }
.review-question-help { color: var(--text-secondary); font-size: 0.95rem; }
.review-proposal, .review-criteria { padding: 0.75rem; margin-block: 0.75rem; background: var(--bg-base); border-radius: 8px; }
.review-page details > summary { cursor: pointer; }
.review-reference, .review-closing, .review-tools { border-top: 1px solid var(--border-color); padding-block: 1rem; }
.review-closing label { display: block; margin-top: 0.75rem; }
.review-tools > button { margin: 0.75rem 0.5rem 0 0; }
.review-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 0.75rem; }
.review-actions [data-action="submit"] { background: var(--bg-base); border: 1px solid var(--border-color); color: var(--text-primary); box-shadow: none; }
.review-save-status { margin-block: 0.25rem; color: var(--text-secondary); }
@media (max-width: 600px) {
    .review-page { padding: 1rem; }
    .review-answer { padding: 0.85rem; }
    .review-guide-actions button { flex: 1 1 40%; }
    .review-actions button { flex: 1 1 auto; }
}
