/* Fabula uses shared panels, fields, buttons and drawer controls. */
.case-card-page { --legal-control-height: var(--sa-control-height); }
.case-working-selector { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.case-working-selector .legal-field { flex: 1 1 240px; max-width: 560px; }
.case-working-selector p { flex-basis: 100%; }
.case-fabula-card h3 { margin: 12px 2px 0; font-size: 14px; }
.case-fabula-text { max-width: none; white-space: pre-wrap; overflow-wrap: anywhere; }
.case-fabula-text.is-collapsed { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.case-fabula-meta { margin: 0; color: var(--sa-color-muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.case-fabula-goal { white-space: pre-wrap; overflow-wrap: anywhere; }
.case-fabula-byline { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 14px; }
.case-fabula-analysis { display: grid; gap: 9px; border-top: 1px solid var(--sa-color-border); margin-top: 12px; padding-top: 12px; }
.case-fabula-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.case-fabula-analysis details { font-size: 12px; }
.case-fabula-analysis li { margin: 8px 0; }
.case-fabula-analysis a:not(.sa-button) { color: var(--sa-color-blue); }
.case-fabula-dialog { box-sizing: border-box; width: min(580px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 20px; border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius); background: var(--sa-color-card); color: var(--sa-color-text); font: 14px/1.5 var(--sa-font-main); overflow: auto; }
.case-fabula-dialog::backdrop { background: #142d4866; }
.case-fabula-dialog[open] { display: flex; flex-direction: column; gap: 16px; }
.case-fabula-dialog p { margin: 0; }
.case-fabula-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; }
.case-fabula-dialog h2 { margin: 0; font-size: 20px; }
.case-fabula-dialog h3 { margin: 0 0 8px; font-size: 14px; }
.case-fabula-dialog-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; padding-top: 12px; border-top: 1px solid var(--sa-color-border); }
.case-fabula-dialog--editor { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(650px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; box-shadow: -12px 0 36px #1d37601f; overflow: hidden; }
.case-fabula-form { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 12px; }
.case-fabula-scroll { overflow-y: auto; min-height: 0; flex: 1; display: flex; flex-direction: column; gap: 16px; padding: 0 3px 6px; overscroll-behavior: contain; }
.case-fabula-form .legal-field { gap: 5px; }
.case-fabula-form textarea { min-height: 90px; resize: vertical; }
.case-fabula-form [data-fabula-input] { min-height: 260px; }
.case-fabula-notice, .case-fabula-conflict { border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius-control); padding: 12px; background: var(--sa-color-blue-soft); font-size: 12px; }
.case-fabula-conflict { display: grid; gap: 10px; }
.case-fabula-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; margin: 8px 0; }
.case-fabula-dialog--history { width: min(840px, calc(100vw - 24px)); }
.case-fabula-history { display: grid; gap: 12px; }
.case-fabula-history > details { padding: 12px; border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius-control); }
.case-fabula-history summary { cursor: pointer; }
.case-fabula-diff { padding: 10px; background: var(--sa-color-control-bg); border-radius: var(--sa-radius-control); white-space: pre-wrap; overflow-wrap: anywhere; }
.case-fabula-diff del { background: #ffe6e8; }
.case-fabula-diff ins { background: #e1f5eb; text-decoration: none; }
.case-fabula-dialog [data-working-case-create-form] { display: grid; gap: 16px; }
@media (max-width: 600px) {
    .case-fabula-dialog--editor { padding: 14px; }
    .case-fabula-dialog--editor .case-fabula-dialog-actions { padding-bottom: env(safe-area-inset-bottom); }
    .case-fabula-dialog .legal-field textarea, .case-fabula-dialog .legal-field input { font-size: 16px; }
    .case-fabula-byline { flex-wrap: wrap; }
    .case-fabula-dialog-actions .sa-button { flex: 1 1 auto; }
}
