/* Beneficiary cases — public intake & tracking pages (contact.html, case.html). Builds on volunteer.css tokens. */
.cs-hero{padding-bottom:24px}
.cs-card{background:var(--vx-panel);border:1px solid var(--vx-line);border-radius:var(--vx-radius);padding:26px;margin-top:22px;box-shadow:var(--vx-shadow)}
.cs-card h2{margin-top:0}
.cs-steps{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cs-steps li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--vx-muted);border:1px solid var(--vx-line);border-radius:999px;padding:7px 10px}
.cs-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--vx-panel-2);font-size:11px}
.cs-steps li.active{color:var(--vx-accent-strong);border-color:var(--vx-accent);background:var(--vx-accent-soft)}
.cs-steps li.active span{background:var(--vx-accent);color:#fff}
.cs-steps li.done span{background:var(--vx-accent-soft);color:var(--vx-accent-strong)}
.cs-form fieldset{border:0;padding:0;margin:0;min-width:0}
.cs-form legend{font-size:22px;font-weight:700;margin-bottom:14px;padding:0}
.cs-step.hidden{display:none}
.cs-kind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.cs-kind{display:grid;gap:4px;border:1px solid var(--vx-line);background:var(--vx-panel-2);border-radius:14px;padding:14px;cursor:pointer;position:relative}
.cs-kind input{position:absolute;inset-inline-start:12px;top:14px;width:auto;margin:0}
.cs-kind strong{padding-inline-start:24px}
.cs-kind small{color:var(--vx-muted);line-height:1.6;padding-inline-start:24px}
.cs-kind:has(input:checked){border-color:var(--vx-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--vx-accent) 22%,transparent)}
.cs-kind--urgent:has(input:checked){border-color:var(--vx-danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--vx-danger) 22%,transparent)}
.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cs-field{display:grid;gap:6px;margin-bottom:12px}
.cs-field label{font-size:13px;font-weight:600}
.cs-field input,.cs-field select,.cs-field textarea,.cs-inline-form input{width:100%;border:1px solid var(--vx-line);background:var(--vx-panel);border-radius:var(--vx-radius-sm);padding:11px 12px;font-size:14px;color:var(--vx-text)}
.cs-field textarea{resize:vertical;line-height:1.7}
.cs-field.hidden,[data-academy-only].hidden,[data-incident-only].hidden{display:none}
.cs-req{color:var(--vx-danger)}
.cs-hint{display:block;font-size:12px;color:var(--vx-muted);line-height:1.6;margin-top:6px}
.cs-note{background:var(--vx-panel-2);border-right:3px solid var(--vx-accent);padding:12px 14px;border-radius:10px;margin:0 0 14px;color:var(--vx-muted);line-height:1.8;font-size:13px}
.cs-note.cs-note--danger{border-right-color:var(--vx-danger);color:var(--vx-danger)}
.cs-subtitle{font-size:16px;margin:18px 0 10px}
.cs-error{color:var(--vx-danger);background:var(--vx-danger-soft);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.7;margin:10px 0 0}
.cs-honeypot{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.cs-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:18px}
.cs-actions--start{justify-content:flex-start}
.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--vx-radius-sm);padding:11px 18px;text-decoration:none;cursor:pointer;border:1px solid transparent;font-weight:600}
.primary-action{background:var(--vx-accent);color:#fff}.primary-action:hover{background:var(--vx-accent-strong)}
.secondary-action{background:var(--vx-panel);border-color:var(--vx-line);color:var(--vx-text)}.secondary-action:hover{background:var(--vx-panel-2)}
button[disabled]{opacity:.6;cursor:progress}
.cs-otp-field input{font-size:28px;letter-spacing:.4em;text-align:center;max-width:260px}
.cs-success{text-align:center;padding:10px 0}
.cs-case-no{font-size:40px;font-weight:800;margin:4px 0 14px;color:var(--vx-accent-strong);letter-spacing:.04em}
.cs-track-box{text-align:right;background:var(--vx-panel-2);border:1px dashed var(--vx-line);border-radius:14px;padding:14px;margin:14px 0}
.cs-track-box label{display:block;font-size:12px;color:var(--vx-muted);margin-bottom:6px}
.cs-track-box input{width:100%;border:1px solid var(--vx-line);border-radius:10px;padding:10px;background:var(--vx-panel);font-size:13px}
.cs-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px}
.cs-policy-list{padding-right:20px;line-height:1.9;color:var(--vx-muted)}
.cs-policy-list strong{color:var(--vx-text)}
/* case.html */
.cs-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start}
.cs-badges{display:flex;gap:6px;flex-wrap:wrap}
.cs-badge{font-size:12px;border-radius:999px;padding:5px 10px;border:1px solid var(--vx-line);background:var(--vx-panel-2)}
.cs-badge--new,.cs-badge--acknowledged{background:var(--vx-blue-soft);color:var(--vx-blue);border-color:transparent}
.cs-badge--in_progress,.cs-badge--awaiting_submitter{background:var(--vx-warn-soft);color:var(--vx-warn);border-color:transparent}
.cs-badge--resolved,.cs-badge--closed{background:var(--vx-accent-soft);color:var(--vx-accent-strong);border-color:transparent}
.cs-badge--rejected,.cs-badge--merged{background:var(--vx-danger-soft);color:var(--vx-danger);border-color:transparent}
.cs-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:16px 0}
.cs-meta div{background:var(--vx-panel-2);border-radius:10px;padding:10px}.cs-meta span,.cs-meta strong{display:block}.cs-meta span{font-size:11px;color:var(--vx-muted)}.cs-meta strong{font-size:13px;margin-top:3px}
.cs-timeline{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.cs-timeline li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;border-right:2px solid var(--vx-line);padding-right:12px}
.cs-timeline li.submitter{border-right-color:var(--vx-blue)}.cs-timeline li.staff{border-right-color:var(--vx-accent)}
.cs-timeline time{font-size:11px;color:var(--vx-muted);line-height:1.6}
.cs-timeline p{margin:0;line-height:1.75;white-space:pre-wrap}.cs-timeline small{display:block;color:var(--vx-muted);font-size:11px}
.cs-stars{display:flex;gap:6px;flex-direction:row-reverse;justify-content:flex-end}
.cs-stars input{display:none}.cs-stars label{font-size:30px;cursor:pointer;color:var(--vx-line)}
.cs-stars input:checked~label,.cs-stars label:hover,.cs-stars label:hover~label{color:#d9a622}
@media (max-width:760px){.cs-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-kind-grid,.cs-grid{grid-template-columns:1fr}.cs-card{padding:18px}.cs-inline-form{grid-template-columns:1fr}.cs-timeline li{grid-template-columns:1fr}.cs-case-no{font-size:30px}}
