/* Revisión con el cliente 2026-09: número judicial, incidentes, audiencias, IA y carga de documentos. */

/* Expedientes: el número judicial es la referencia principal; el ID interno queda secundario. */
.case-judicial-number { font-weight: 700; font-size: .95rem; color: var(--brand-forest); letter-spacing: .01em; word-break: break-all; }
.case-subject-label { display: block; margin-top: .35rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--brand-muted); }
.case-card h4 { margin-top: .1rem; }
.case-internal-code { display: inline-block; font-size: .72rem; opacity: .75; margin-bottom: .35rem; }
.case-incident-badge { display: inline-flex; gap: .35rem; align-items: center; margin-top: .4rem; padding: .2rem .55rem; border-radius: 6px; line-height: 1.3; font-size: .75rem; background: var(--calendar-next-action-soft); color: var(--calendar-next-action); border: 1px solid currentColor; }
.case-incident-badge.is-parent { background: var(--brand-soft-green); color: var(--brand-success); }
.case-card.is-incident { border-left: 4px solid var(--calendar-next-action); }

.case-incident-panel { margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid var(--brand-line); border-radius: 10px; background: var(--brand-canvas); }
.case-incident-header, .case-incident-parent { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; }
.case-incident-parent span { display: flex; flex-direction: column; flex: 1 1 220px; }
.case-incident-list { display: grid; gap: .5rem; margin-top: .6rem; }
.case-incident-item { display: flex; gap: .75rem; align-items: center; width: 100%; text-align: left; padding: .55rem .75rem; border: 1px solid var(--brand-line); border-radius: 8px; background: var(--brand-white); color: var(--brand-charcoal); }
.case-incident-item span { display: flex; flex-direction: column; flex: 1; }
.case-incident-item:hover, .case-incident-item:focus-visible { border-color: var(--brand-sage); outline: none; box-shadow: 0 0 0 3px var(--brand-soft-green); }

/* Audiencias: referencia del expediente visible en la agenda. */
.hearing-case-ref { font-size: .8rem; font-weight: 600; color: var(--calendar-hearing); margin-bottom: .2rem; word-break: break-word; }
.hearing-case-ref.is-incident { color: var(--calendar-next-action); }

/* Análisis IA: datos judiciales separados, evidencia y estado detectado/confirmado. */
.ai-judicial-section { margin: 1rem 0; padding: 1rem; border: 1px solid var(--brand-line); border-radius: 12px; background: var(--brand-white); }
.ai-judicial-section header { margin-bottom: .75rem; }
.ai-judicial-section header h5 { margin: 0 0 .2rem; display: flex; gap: .4rem; align-items: center; }
.ai-judicial-section header small { color: var(--brand-muted); }
.ai-judicial-row { display: grid; grid-template-columns: minmax(130px, 200px) 1fr; gap: .75rem; padding: .6rem 0; border-top: 1px solid var(--brand-line); }
.ai-judicial-row.is-highlight { background: var(--brand-warning-soft); margin: 0 -1rem; padding: .75rem 1rem; }
.ai-judicial-label { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--brand-muted); }
.ai-judicial-value { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.ai-judicial-value strong { word-break: break-word; }
.ai-judicial-value select { max-width: 520px; }
.ai-state { align-self: flex-start; font-size: .72rem; padding: .1rem .5rem; border-radius: 999px; border: 1px solid currentColor; }
.ai-state::before { margin-right: .3rem; font-family: "Material-Design-Iconic-Font"; }
.ai-state.is-detected { color: var(--brand-warning); background: var(--brand-warning-soft); }
.ai-state.is-detected::before { content: "\f1f7"; }
.ai-state.is-confirmed { color: var(--brand-success); background: var(--brand-success-soft); }
.ai-state.is-confirmed::before { content: "\f269"; }
.ai-state.is-missing { color: var(--brand-muted); background: var(--brand-ivory); }
.ai-evidence { font-size: .8rem; color: var(--brand-muted); display: flex; flex-wrap: wrap; gap: .4rem; align-items: baseline; }
.ai-evidence q { font-style: italic; }
.ai-page { font-size: .72rem; padding: 0 .4rem; border-radius: 4px; background: var(--brand-ivory); }
.ai-apply-option { display: flex; gap: .45rem; align-items: center; font-weight: 600; margin: .15rem 0 0; cursor: pointer; }
.ai-apply-option input, .ai-selectable input { width: 18px; height: 18px; flex: 0 0 auto; }
.ai-hearing-candidate { display: flex; flex-direction: column; gap: .2rem; padding: .5rem 0; border-bottom: 1px dashed var(--brand-line); }
.ai-hearing-candidate:last-child { border-bottom: 0; }
.ai-judicial-empty { margin: 0; color: var(--brand-muted); }
.ai-selectable { display: flex; flex-direction: column; gap: .1rem; }
.ai-selectable label { display: flex; gap: .5rem; align-items: flex-start; margin: 0; cursor: pointer; }
.ai-selectable small { margin-left: 1.65rem; color: var(--brand-muted); }

/* Carga de documentos: estados distinguibles sin depender solo del color. */
.document-upload-dropzone, #document-upload-modal .custom-file, #document-upload-modal input[type=file] { border: 2px dashed var(--brand-sage) !important; background: var(--brand-soft-green) !important; }
#document-upload-modal input[type=file]:focus-visible { outline: 3px solid var(--brand-forest); outline-offset: 2px; }
.document-view-ai, .document-ai-inline, .document-apply-ai { font-weight: 600; }
.document-view-ai::after, .document-ai-inline::after { content: " (IA)"; font-weight: 400; }
.module-card.is-new-upload { border: 2px solid var(--brand-success) !important; box-shadow: 0 0 0 4px var(--brand-success-soft); }
.module-card.is-new-upload::before { content: "Recién cargado"; display: inline-block; margin: .35rem .5rem 0; padding: .05rem .5rem; font-size: .72rem; font-weight: 700; border-radius: 999px; color: var(--brand-white); background: var(--brand-success); }

@media (max-width: 575.98px) {
    .ai-judicial-row { grid-template-columns: 1fr; gap: .25rem; }
    .ai-judicial-row.is-highlight { margin: 0 -.5rem; padding: .75rem .5rem; }
}
