/* Header data and editors reuse the shared fields, panels and fabula dialog. */
.case-card-page { container: case-card / inline-size; }
.case-card-page .case-summary-row { grid-template-columns: minmax(0, 1fr) 210px; align-items: stretch; gap: var(--case-gap); }
.case-summary-row .case-header-summary { display: grid; grid-template-columns: minmax(180px, .25fr) minmax(0, 1fr); align-items: stretch; gap: var(--case-gap); padding: 0; }
.case-header-identity { min-width: 0; background: var(--sa-color-blue-soft); }
.case-header-number { margin: 0; }
.case-header-number .case-fact { padding: 0; border: 0; }
.case-header-identity .case-flags { flex-direction: column; align-items: flex-start; width: auto; margin-top: var(--case-gap); padding: 0; border: 0; }
.case-header-identity .case-badge { max-width: 100%; white-space: normal; text-align: left; justify-content: flex-start; overflow-wrap: anywhere; }
.case-header-summary [data-header-deadline] { flex-direction: column; align-items: flex-start; gap: .25em; min-width: 0; max-width: 100%; white-space: normal; text-align: left; overflow-wrap: anywhere; }
.case-summary-row .case-header-main { display: flex; flex-direction: column; padding-left: var(--case-gap); border-left: 1px solid var(--sa-color-border); }
.case-summary-row .case-header-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 1; gap: 0; }
.case-header-facts > .case-fact:nth-child(n) { position: relative; grid-column: auto; padding: 0 var(--case-gap) var(--case-gap) calc(30px + var(--case-gap)); border: 0; }
.case-header-facts > .case-fact:nth-child(3n + 1) { padding-left: 30px; }
.case-header-facts > .case-fact:nth-child(3n + 2), .case-header-facts > .case-fact:nth-child(3n + 3) { border-left: 1px solid var(--sa-color-border); }
.case-header-facts > .case-fact:nth-child(n + 4) { padding-top: var(--case-gap); padding-bottom: 0; border-top: 1px solid var(--sa-color-border); }
.case-header-facts .case-fact dt { position: relative; }
.case-header-facts dt .case-icon { position: absolute; left: -30px; top: 0; color: var(--case-accent); }
.case-header-facts .case-fact dd { align-items: flex-start; }
.case-header-facts .case-header-value { align-items: flex-start; }
.case-summary-row .case-header-tools { padding-top: var(--case-gap); border-top: 1px solid var(--sa-color-border); }
.case-summary-row .case-header-tools .case-text-button { min-width: 0; flex-shrink: 1; text-align: left; justify-content: flex-start; }
.case-summary-row .case-actions { display: flex; flex-direction: column; justify-content: center; padding: 0 0 0 var(--case-gap); border-left: 1px solid var(--sa-color-border); gap: var(--case-gap); }
.case-summary-row .case-actions > .sa-button { width: 100%; justify-content: flex-start; white-space: normal; text-align: left; }
@container case-card (max-width: 1200px) {
    .case-card-page .case-summary-row { grid-template-columns: minmax(0, 1fr); }
    .case-summary-row .case-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 0; border-top: 1px solid var(--sa-color-border); padding: var(--case-gap) 0 0; }
}
@container case-card (max-width: 760px) {
    .case-summary-row .case-header-summary { grid-template-columns: minmax(0, 1fr); }
    .case-header-identity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--case-gap); }
    .case-header-identity .case-flags { margin-top: 0; }
    .case-summary-row .case-header-main { padding-left: 0; border-left: 0; }
    .case-summary-row .case-header-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .case-header-facts > .case-fact:nth-child(n) { padding: var(--case-gap) var(--case-gap) var(--case-gap) calc(30px + var(--case-gap)); border: 0; }
    .case-header-facts > .case-fact:nth-child(2n + 1) { padding-left: 30px; }
    .case-header-facts > .case-fact:nth-child(2n) { border-left: 1px solid var(--sa-color-border); }
    .case-header-facts > .case-fact:nth-child(n + 3) { border-top: 1px solid var(--sa-color-border); }
}
@container case-card (max-width: 520px) {
    .case-header-identity { grid-template-columns: minmax(0, 1fr); }
    .case-header-identity .case-flags { flex-direction: row; flex-wrap: wrap; }
    .case-summary-row .case-header-facts { grid-template-columns: minmax(0, 1fr); }
    .case-header-facts > .case-fact:nth-child(n) { padding: var(--case-gap) 0 var(--case-gap) 30px; border: 0; }
    .case-header-facts > .case-fact + .case-fact { border-top: 1px solid var(--sa-color-border); }
    .case-summary-row .case-actions { grid-template-columns: minmax(0, 1fr); }
}
.case-header-main { flex: 1; min-width: 0; }
.case-header-summary .case-fact--number dd { white-space: normal; }
.case-header-summary .case-fact > small { display: block; margin-top: 4px; color: var(--sa-color-muted); font-size: 10px; }
.case-header-tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
.case-header-tools:empty { display: none; }
.case-header-summary button.case-badge { border: 0; cursor: pointer; font-family: inherit; }
.case-header-value { display: inline-flex; align-items: center; gap: 8px; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.case-header-value:hover { text-decoration: underline; }
.case-header-empty-action { color: var(--sa-color-blue); }
.case-header-summary .case-flags:empty { display: none; }
.case-header-warning { color: #a15c10; }
.case-header-state { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 2px 4px; }
.case-header-dialog { width: min(760px, calc(100vw - 24px)); }
.case-header-dialog-content { display: grid; gap: 16px; }
.case-header-form, .case-header-section { display: grid; gap: 14px; }
.case-court-picker, .case-category-picker { position: relative; align-self: start; }
.case-court-control, .case-category-control { position: relative; min-width: 0; }
.case-court-control input, .case-category-control input { padding-right: 65px; }
.case-court-clear, .case-court-toggle, .case-category-clear, .case-category-toggle { position: absolute; top: 1px; bottom: 1px; width: 30px; padding: 0; border: 0; background: transparent; color: var(--sa-color-muted); cursor: pointer; font: inherit; font-size: 20px; }
.case-court-clear, .case-category-clear { right: 32px; }
.case-court-toggle, .case-category-toggle { right: 3px; }
.case-court-clear:hover, .case-court-toggle:hover, .case-category-clear:hover, .case-category-toggle:hover { color: var(--sa-color-blue); }
.case-court-popup, .case-category-popup { border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius-control); background: #fff; box-shadow: 0 8px 24px rgb(20 45 75 / 14%); overflow: hidden; }
.case-court-popup[hidden], .case-court-clear[hidden], .case-court-legacy[hidden], .case-category-popup[hidden], .case-category-clear[hidden] { display: none; }
.case-court-list, .case-category-list { max-height: 240px; overflow-y: auto; overscroll-behavior: contain; }
.case-category-list { max-height: min(240px, 35vh); }
.case-court-option, .case-category-option { display: grid; gap: 3px; padding: 10px 12px; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.case-court-option + .case-court-option, .case-category-option + .case-category-option { border-top: 1px solid var(--sa-color-border); }
.case-court-option:hover, .case-court-option[aria-selected="true"], .case-category-option:hover, .case-category-option[aria-selected="true"] { background: var(--sa-color-surface-alt, #eef3f8); }
.case-category-option { font-size: 13px; font-weight: 400; line-height: 1.5; }
.case-category-selection { color: var(--sa-color-muted); font-size: 12px; font-weight: 400; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.case-court-name { font-size: 13px; font-weight: 600; }
.case-court-meta, .case-court-status, .case-court-legacy, .case-category-status { color: var(--sa-color-muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
.case-court-status, .case-category-status { padding: 9px 12px; border-top: 1px solid var(--sa-color-border); }
.case-court-legacy { display: block; margin-top: 4px; }
.case-header-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.case-header-fields .legal-field, .case-header-form .legal-field { min-width: 0; }
.case-header-wide { grid-column: 1 / -1; }
.case-header-form input[type="checkbox"] { width: 16px; min-height: auto; height: 16px; margin-right: 8px; accent-color: var(--sa-color-blue); }
.case-header-list { display: grid; gap: 10px; }
.case-header-record { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius-control); overflow-wrap: anywhere; }
.case-header-record h3, .case-header-record p { margin: 0; }
.case-header-record h3 { font-size: 14px; }
.case-header-record .case-avatar { vertical-align: middle; margin-right: 8px; }
.case-header-record-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.case-header-record dl { display: grid; grid-template-columns: minmax(90px, .4fr) 1fr; gap: 6px; margin: 0; font-size: 12px; }
.case-header-record dt { color: var(--sa-color-muted); }
.case-header-record dd { margin: 0; white-space: pre-wrap; }
.case-header-dialog--history { width: min(860px, calc(100vw - 24px)); overflow: hidden; }
.case-header-dialog--history .case-header-dialog-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 6px; }
.case-header-dialog--history [data-header-dialog-message]:empty { display: none; }
.case-history-record { gap: 12px; padding: 16px; }
.case-history-group { display: grid; gap: 10px; min-width: 0; }
.case-history-group + .case-history-group { padding-top: 14px; border-top: 1px solid var(--sa-color-border); }
.case-history-group h4, .case-history-group h5 { margin: 0; font-size: 13px; line-height: 1.5; }
.case-history-action { color: var(--sa-color-blue); font-size: 12px; font-weight: 600; }
.case-history-record .case-history-fields { grid-template-columns: minmax(130px, .3fr) minmax(0, 1fr); gap: 8px 16px; line-height: 1.6; }
.case-history-change { display: grid; gap: 6px; }
.case-history-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.case-history-value { min-width: 0; padding: 10px 12px; border-radius: var(--sa-radius-control); background: var(--sa-color-surface-alt, #f4f7fb); }
.case-history-value-label { display: block; margin-bottom: 4px; font-size: 11px; color: var(--sa-color-muted); }
.case-history-value p { white-space: pre-wrap; font-size: 13px; line-height: 1.6; }
.case-history-additional summary { cursor: pointer; color: var(--sa-color-blue); font-size: 12px; }
.case-history-additional[open] summary { margin-bottom: 12px; }
@media (max-width: 600px) {
    .case-history-record { padding: 12px; }
    .case-history-record .case-history-fields, .case-history-comparison { grid-template-columns: minmax(0, 1fr); }
    .case-history-record .case-history-fields { gap: 3px; }
    .case-history-fields dd + dt { margin-top: 8px; }
}
.case-header-participant-filter { max-width: 320px; margin: 16px 0; }
.case-participant-filters { margin: 16px 0; }
.case-participant-roles { padding-top: 14px; border-top: 1px solid var(--sa-color-border); }
.case-participant-roles h3 { margin: 0; }
.case-participant-role-heading { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.case-participant-role-heading .case-badge { white-space: normal; }
.case-participant-role-list { display: grid; gap: 6px; font-size: 12px; }
.case-participant-check { display: flex; gap: 8px; align-items: start; font-size: 12px; line-height: 1.5; }
.case-participant-editor details > .case-header-fields { margin-top: 12px; }
.case-participant-editor [hidden] { display: none !important; }
.case-participant-legacy { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; max-height: 220px; overflow: auto; }
.case-participant-directories > .legal-panel { padding: 24px; margin-top: 20px; }
.case-participant-contexts { display: grid; gap: 8px; border: 1px solid var(--sa-color-border); border-radius: var(--sa-radius-control); padding: 12px; }
.case-participant-directories .case-participant-check input { width: 16px; height: 16px; accent-color: var(--sa-color-blue); }
.case-header-create-details { display: grid; gap: 12px; }
.case-header-create-details summary { cursor: pointer; }
.case-header-create-details > .case-header-fields { margin-top: 12px; }
.case-header-summary[aria-busy="true"] [data-case-field] { color: var(--sa-color-muted); }
/* Real case titles can be much longer than the sample heading. Keep them clear of the quote. */
@media (min-width: 1401px) {
    .case-card-page .service-page-banner__content { width: 43%; }
    .case-card-page[data-case-view="documents"] .service-page-banner__content,
    .case-card-page[data-case-view="calendar"] .service-page-banner__content { width: 51%; }
}
@media (max-width: 600px) {
    .case-header-fields { grid-template-columns: minmax(0, 1fr); }
    .case-header-dialog { padding: 14px; }
    .case-header-summary .case-header-tools { gap: 7px 12px; }
    .case-header-form select, .case-header-form input { font-size: 16px; }
}
