/* A compact, read-only spine shared by the existing case workspaces. */
.case-spine { margin: 0 0 1rem; border: 1px solid var(--border, #cbd5e1); border-radius: .75rem; background: var(--surface, #fff); color: var(--text-primary, #172033); overflow: hidden; }
.case-spine .case-spine-heading { font-size: .78rem; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; margin: 0; padding: .75rem 1rem .35rem; color: var(--text-secondary, #475569); }
.case-spine-axes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; padding: 0 1rem .75rem; }
.case-spine-axes > div { padding: .35rem 1rem .35rem 0; min-width: 0; }
.case-spine-axes > div + div { padding-left: 1rem; border-left: 1px solid var(--border, #cbd5e1); }
.case-spine-axes dt { color: var(--text-secondary, #475569); font-size: .78rem; font-weight: 600; }
.case-spine-axes dd { margin: .2rem 0; font-size: .94rem; line-height: 1.5; font-weight: 650; overflow-wrap: anywhere; }
.case-spine-axes small { display: block; color: var(--text-secondary, #475569); font-size: .74rem; line-height: 1.45; }
.case-spine-ledger { border-top: 1px solid var(--border, #cbd5e1); padding: .75rem 1rem; }
.case-spine-ledger-heading { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: baseline; justify-content: space-between; }
.case-spine-ledger-heading h3 { font-size: .95rem; margin: 0; }
.case-spine-ledger-heading > p { font-size: .8rem; font-weight: 650; margin: 0; }
.case-spine .case-spine-basis, .case-spine .case-spine-boundary { font-size: .76rem; line-height: 1.55; color: var(--text-secondary, #475569); margin: .35rem 0 .5rem; }
.case-spine .case-spine-boundary { margin: 0; padding: .6rem 1rem; border-top: 1px solid var(--border, #cbd5e1); }
.case-spine-ledger ul { padding: 0; margin: 0; list-style: none; }
.case-spine-ledger li { display: flex; gap: .65rem; align-items: flex-start; padding: .5rem 0; border-top: 1px solid var(--border, #cbd5e1); }
.case-spine-ledger li > div { min-width: 0; }
.case-spine-ledger li strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .025em; color: var(--text-secondary, #475569); }
.case-spine-ledger li p { margin: .1rem 0 0; font-size: .83rem; line-height: 1.5; overflow-wrap: anywhere; }
.case-spine-ledger button { flex: 0 0 auto; border: 1px solid var(--border, #cbd5e1); border-radius: .35rem; min-height: 2.35rem; min-width: 2.75rem; padding: .35rem .55rem; font: inherit; font-size: .8rem; font-weight: 700; color: inherit; background: transparent; cursor: pointer; }
.case-spine-ledger button:hover { background: var(--surface-hover, #eef2f6); }
.case-spine-ledger button:focus-visible, .case-spine-ledger summary:focus-visible { outline: 3px solid var(--accent, #2563eb); outline-offset: 3px; }
.case-spine-ledger summary { cursor: pointer; font-size: .8rem; padding: .6rem 0 .1rem; font-weight: 600; }
.case-spine[data-state="unconfirmed"] .case-spine-basis { font-weight: 600; }
.case-spine [hidden] { display: none !important; }
.signed-focus-mode .case-spine, .zen-focus-mode .case-spine { display: none; }
@media (max-width: 720px) {
  .case-spine-axes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem 0; }
  .case-spine-axes > div:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 420px) {
  .case-spine-axes { grid-template-columns: minmax(0,1fr); }
  .case-spine-axes > div + div { border-left: 0; border-top: 1px solid var(--border, #cbd5e1); padding: .6rem 0 0; }
}
@media (forced-colors: active) { .case-spine, .case-spine-ledger button { border-color: CanvasText; } }

.case-spine-review, .case-spine-measurements { border-top:1px solid var(--border,#cbd5e1); padding:.75rem 1rem; font-size:.83rem; line-height:1.5; overflow-wrap:anywhere; }
.case-spine-review p { margin:.25rem 0; }
.case-spine-measurements > summary { cursor:pointer; font-weight:650; }
.case-spine-measurements > summary:focus-visible { outline:3px solid var(--accent,#2563eb); outline-offset:3px; }
.case-spine-measurements .d6s { margin-top:.75rem; }

/* Owner metadata contains record paths, never CSS selectors. Keep long literal
 * paths and bilingual guidance readable at narrow widths and enlarged text. */
.case-spine [data-repair-coverage] { font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.case-spine [data-repair-rule] { margin:.6rem 0; padding:.5rem 0; border-top:1px solid var(--border,#cbd5e1); }
.case-spine button[data-repair-pointer] { display:block; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:start; margin:.4rem 0; }
