.case-progress {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.case-progress article {padding:1rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172b42}
.case-progress span,.case-progress strong {display:block}.case-progress strong {margin-top:.4rem;font-size:1.1rem}
.quick-find {display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.quick-find label {flex:1;min-width:220px}
.quick-find input {width:100%}.field-error {display:block;color:#a31515;margin:.4rem 0}
[aria-invalid="true"] {outline:2px solid #a31515;outline-offset:2px}
.purchase-progress {display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;background:#f0fdfa;border-radius:10px;list-style-position:inside}
.purchase-progress [aria-current="step"] {font-weight:700;text-decoration:underline;text-underline-offset:.3rem}
.scanner-shell .validation-result {font-size:1.25rem;min-height:120px}.scanner-shell .validation-result strong {font-size:1.6rem}
.scanner-shell #ticket-code {font-size:1.2rem;min-height:48px}
@media(max-width:640px) {.case-progress{grid-template-columns:1fr}.quick-find button{width:100%}.purchase-progress{font-size:.9rem;gap:.6rem}}

.workflow-review {max-width:560px;width:calc(100% - 32px);padding:28px;border:1px solid #cbd5e1;border-radius:16px;color:#172b42}
.record-workspace {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1400px;margin-inline:auto;align-items:start}
.record-workspace > .page-header,.record-workspace > .stats-grid,.record-workspace > .case-progress,.record-workspace > .quick-find,.record-workspace > p,.record-workspace > .sale-secondary,.record-workspace > a,.record-workspace > .row-actions {grid-column:1/-1}
.record-workspace > .panel,.record-workspace > .stats-grid,.record-workspace > .page-header,.record-workspace > .case-progress {margin:0}
.record-workspace > * {min-width:0}
.record-workspace > .record-origin {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 20px;border:1px solid #bcded6;border-left:4px solid #0f766e;border-radius:12px;background:#f0fdfa}
.record-origin p {margin:6px 0 0;font-size:.9rem;line-height:1.6;color:#52647a}
.record-return-link {width:fit-content;max-width:100%;margin-bottom:12px}
.record-workspace > .record-return-link {justify-self:start;margin:0}
.record-workspace > .stats-grid {grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.record-workspace .panel {padding:24px}
.record-workspace .panel h2 {font-size:1.15rem;line-height:1.4;margin:0 0 16px}
.record-workspace .panel > p {line-height:1.65;margin:12px 0}
.record-workspace .summary-list {grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);gap:12px 20px}
.record-workspace .summary-list dd {overflow-wrap:anywhere;margin:0}
.record-workspace .button {min-height:44px;white-space:normal}
.record-workspace .table-wrap {max-width:100%;overflow:auto}
.record-workspace .record-detail-shortcut {display:grid;gap:12px;align-content:start;background:#f8fafc}
.record-workspace .record-detail-shortcut h2,.record-workspace .record-detail-shortcut p {margin:0}
.record-detail-shortcut > button {justify-self:start}
.record-workspace .record-needs-attention {border-left:4px solid #b45309;background:#fffbeb}
.record-detail-dialog {width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #cbd5e1;border-radius:16px;color:#172b42;background:#fff;overflow:auto}
.record-detail-dialog::backdrop {background:rgba(15,23,42,.6)}
.record-dialog-toolbar {display:flex;justify-content:flex-end;position:sticky;top:0;background:#fff;padding:12px 20px;border-bottom:1px solid #e2e8f0;z-index:1}
.record-detail-dialog > .panel {padding:24px;margin:0;border:0;border-radius:0;box-shadow:none}
.record-detail-dialog h2 {font-size:1.3rem;margin:0 0 16px}
.record-detail-dialog p {line-height:1.65}
.record-detail-dialog .case-timeline {padding-left:24px}
.record-detail-dialog .case-timeline li {padding:12px 0;border-bottom:1px solid #e2e8f0}
.record-detail-dialog .table-wrap {max-width:100%;overflow:auto}
.record-detail-dialog summary {cursor:pointer;min-height:44px;padding-block:12px;font-weight:600}
@media(max-width:850px) {
 .record-workspace {grid-template-columns:minmax(0,1fr);gap:18px}
 .record-workspace .panel {padding:20px}
 .record-detail-dialog {width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
 .record-detail-dialog > .panel {padding:18px}
 .record-workspace .summary-list {grid-template-columns:minmax(0,1fr);gap:6px}
 .record-workspace .summary-list dd {margin-bottom:12px}
}
.workflow-review::backdrop {background:rgba(15,23,42,.55)}
.workflow-review p {line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.workflow-review .button {margin:8px 8px 0 0;min-height:44px}
.event-workspace [hidden],.reports-page [hidden],.sale-secondary [hidden] {display:none!important}
.event-card-nav a[aria-current="page"],.report-purpose a[aria-current="page"] {background:#e6f4f1;color:#115e59;font-weight:700;border-bottom:3px solid #0f766e}
.report-purpose {display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.report-purpose a {padding:14px 18px;border:1px solid #cbd5e1;border-radius:10px;text-decoration:none}
.sale-secondary > label {display:grid;gap:8px;margin:16px 0}

/* Record pages use independent stacks so short history cards cannot push tickets down. */
.record-workspace {gap:20px}
.record-workspace > .record-columns {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;align-items:start}
.record-main-column,.record-side-column {display:flex;flex-direction:column;gap:20px;min-width:0}
.record-workspace .record-columns .panel {margin:0;padding:24px;border-radius:14px}
.record-workspace .record-columns h2 {margin:0 0 16px;font-size:1.1rem}
.record-workspace .record-main-column .row-actions {display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}
.record-workspace .record-main-column .row-actions > .primary {order:-1}
.record-workspace .record-main-column .row-actions > form {margin:0}
.record-workspace .record-side-column .record-detail-shortcut {background:#fff;gap:10px;border-left:3px solid #cbd5e1;box-shadow:none}
.record-workspace .record-side-column .record-detail-shortcut h2 {margin:0;font-size:1rem}
.record-workspace .record-side-column .record-detail-shortcut p {margin:0;color:#52647a;font-size:.9rem;line-height:1.6}
.record-workspace .record-side-column .record-needs-attention {border-left-color:#b45309;background:#fffbeb}
.record-workspace > .stats-grid .stat {min-height:0;gap:8px;padding:16px 20px;justify-content:flex-start}
.record-workspace > .stats-grid .stat strong {margin:0;font-size:1.15rem}
.record-workspace > .case-progress {gap:12px}
.record-workspace > .case-progress article {padding:14px 18px;background:#f8fafc;border-color:#dbe5ee}
.record-workspace > .case-progress strong {font-size:1rem;margin-top:6px}
.record-workspace > p {margin:0;font-size:.9rem;color:#52647a;line-height:1.6}
.record-workspace > .page-header .row-actions {justify-content:flex-start}
.record-workspace .record-columns .summary-list {margin:0;line-height:1.6}
.record-workspace .record-columns table {margin-bottom:0}
.record-workspace .record-columns .panel-header {margin-bottom:16px;gap:12px;flex-wrap:wrap}
.record-workspace .record-columns .panel-header h2 {margin:0}
.record-workspace .record-columns details > summary {line-height:1.5;font-weight:650;cursor:pointer;min-height:44px;padding:10px 0}
@media(max-width:1000px) {
 .record-workspace > .record-columns {grid-template-columns:minmax(0,1fr)}
 .record-workspace .record-columns .panel {padding:20px}
}

.readiness-page {max-width:1280px;margin-inline:auto;display:grid;gap:24px}
.readiness-page > .page-header {margin:0;display:grid;gap:12px;justify-items:start}
.readiness-page .page-header h1,.readiness-page .page-header p {margin:0}
.readiness-page .panel {margin:0;padding:24px}
.readiness-page .panel > h2 {margin:0 0 16px;line-height:1.35}
.readiness-page .panel > h3 {margin:24px 0 12px;line-height:1.4}
.readiness-page .panel > p {margin:0 0 12px;line-height:1.65}
.readiness-page .panel > :last-child {margin-bottom:0}
.readiness-page .panel > a:not(.button) {display:inline-block;margin-top:8px;color:#0f766e;text-decoration:underline;text-underline-offset:3px}
.readiness-page .panel > ul {padding-left:22px;margin:0 0 12px;line-height:1.7}
.readiness-page .readiness-status {display:grid;gap:10px;justify-items:start}
.readiness-page .readiness-status > * {margin:0}
.readiness-page .readiness-status > h2 {margin:0}
.readiness-page .checkbox-row {display:flex;align-items:flex-start;gap:12px;line-height:1.6}
.readiness-page .checkbox-row input {flex:0 0 auto;width:18px;height:18px;margin-top:4px}
.readiness-page .form {gap:16px;margin-top:16px}
.readiness-columns {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;align-items:start}
.readiness-columns > * {min-width:0;display:grid;gap:20px;align-content:start}
.readiness-status {border-left:5px solid #0f766e}
.readiness-checks {list-style:none;padding:0;margin:16px 0}
.readiness-checks li {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e2e8f0}
.readiness-checks p {margin:6px 0 0}.readiness-checks .button {flex-shrink:0}
.readiness-warnings {margin-top:20px;padding:14px;background:#fffbeb;border-radius:10px}
.readiness-columns summary {cursor:pointer;font-weight:600;padding:10px 0;line-height:1.5}
.readiness-columns details.panel > summary {padding:0}
.readiness-columns details[open] > summary {margin-bottom:12px}
.readiness-columns dd {margin:0 0 12px}.readiness-columns dt {font-weight:600}
.staff-shell :is(a,button,input,select,textarea,summary):focus-visible,.public-shell :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #0f766e;outline-offset:3px}
.staff-shell .row-actions {gap:8px;flex-wrap:wrap}
.case-timeline time {font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:760px) {
 .readiness-columns {grid-template-columns:minmax(0,1fr);gap:20px}
 .readiness-page {gap:20px}
 .readiness-page .panel {padding:20px}
 .readiness-page .panel > .button {white-space:normal;max-width:100%}
 .readiness-checks li {align-items:flex-start}
 .staff-shell .button,.public-shell .button,.staff-shell summary {min-height:44px}
 .readiness-page .row-actions .button,.readiness-page form > .button {width:100%}
 .case-timeline {padding-left:20px}
}
