/* Report and appeal records use the shared white surface and status tokens. */
.appeals-intro{margin-bottom:var(--space-20)}
.appeals-intro h2{margin:0;color:var(--ink);font-size:var(--font-size-hero-mobile);line-height:var(--line-height-body)}
.appeals-intro p{margin:var(--space-6) 0 0;color:var(--ink-2);font-size:var(--font-size-small)}
.case-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-24)}
.case-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:var(--touch-target-min);padding:var(--space-10) var(--space-18);border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink-2);font-size:var(--font-size-body);transition:background var(--motion-duration),color var(--motion-duration),border-color var(--motion-duration)}
.case-tabs a:hover{background:var(--bg);color:var(--brand)}
.case-tabs a.on{background:var(--brand);border-color:var(--brand);color:var(--card);font-weight:var(--font-weight-semibold)}
.case-tabs a.on:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.case-tabs a span{font-variant-numeric:tabular-nums}
.case-list-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-12);margin-bottom:var(--space-14)}
.case-count{margin:0;color:var(--ink-muted-readable);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}
.case-list{display:grid;gap:var(--space-16);min-width:0}
.report-row,.appeal-row{min-width:0;padding:var(--space-20);border:var(--border-width) solid var(--line);border-radius:var(--web-surface-radius);background:var(--card);box-shadow:var(--web-surface-shadow)}
.report-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap}
.report-row-head h3{margin:0;min-width:0;color:var(--ink);font-size:var(--font-size-list-title);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}
.report-status{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-10);border-radius:var(--radius-pill);font-size:var(--font-size-badge);font-weight:var(--font-weight-semibold);color:var(--ink-2);background:var(--bg);white-space:nowrap}
.report-status.is-pending{color:var(--amber);background:var(--amber-soft)}
.report-status.is-done{color:var(--green-ink);background:var(--green-soft)}
.report-fields{display:grid;gap:var(--space-12);margin:var(--space-16) 0 0;font-size:var(--font-size-small)}
.report-fields>div{display:grid;grid-template-columns:var(--space-80) minmax(0,1fr);gap:var(--space-12);align-items:baseline}
.report-fields dt{color:var(--ink-2)}
.report-fields dd{margin:0;min-width:0;color:var(--ink);overflow-wrap:anywhere}
.report-fields>.report-progress{padding:var(--space-12) var(--space-14);background:var(--bg);border-radius:var(--radius-input)}
.report-target{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6);color:var(--ink-2)}
.report-target b{font-weight:var(--font-weight-semibold);color:var(--ink)}
.report-target a,.report-target b{overflow-wrap:anywhere;max-width:100%}
.report-target .hint{flex-basis:100%}
.report-detail{white-space:pre-wrap;overflow-wrap:anywhere}
.report-progress .hint{margin-top:var(--space-6)}
.report-context{margin-top:var(--space-4);font-size:var(--font-size-small);color:var(--ink-2)}
.report-context summary{cursor:pointer;display:list-item;min-height:var(--touch-target-min);padding:var(--space-10) 0;color:var(--brand);width:fit-content;max-width:100%;border-radius:var(--radius-tag)}
.report-context p{margin:var(--space-4) 0 0;padding:var(--space-12) var(--space-14);background:var(--bg);border-radius:var(--radius-input);white-space:pre-wrap;overflow-wrap:anywhere}
.report-row-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap;margin-top:var(--space-14);padding-top:var(--space-14);border-top:var(--border-width) solid var(--line)}
.report-meta{display:flex;align-items:center;gap:var(--space-6) var(--space-12);flex-wrap:wrap;color:var(--ink-muted-readable);font-size:var(--font-size-caption)}
.report-actions{display:flex;align-items:center;gap:var(--space-10);flex-wrap:wrap}
.report-actions .btn{min-height:var(--touch-target-min)}
#reportWithdrawConfirm[hidden],.appeal-compose[hidden],#appealError[hidden]{display:none}
.report-dialog-copy{color:var(--ink-2);font-size:var(--font-size-body);margin-bottom:var(--space-16)}
.case-tabs a:focus-visible,.report-history a:focus-visible,.report-history button:focus-visible,.report-context summary:focus-visible,.appeal-history button:focus-visible,.case-account summary:focus-visible{outline:var(--focus-width) solid var(--brand);outline-offset:var(--focus-offset)}
.appeal-compose{margin:0 0 var(--space-20);padding:var(--space-20);border:var(--border-width) solid var(--line);border-radius:var(--web-surface-radius);background:var(--card);box-shadow:var(--web-surface-shadow)}
.case-compose-heading{margin-bottom:var(--space-18)}
.case-compose-heading h3{margin:0;font-size:var(--font-size-section-title);color:var(--ink)}
.case-compose-heading p{margin:var(--space-6) 0 0;color:var(--ink-2);font-size:var(--font-size-small)}
.case-account{margin-bottom:var(--space-20);padding:var(--space-12) var(--space-16);border:var(--border-width) solid var(--line);border-radius:var(--web-surface-radius)}
.case-account summary{cursor:pointer;min-height:var(--touch-target-min);padding:var(--space-10) 0;color:var(--ink-2);font-size:var(--font-size-small)}
.case-restriction{padding:var(--space-12) 0;border-top:var(--border-width) solid var(--line)}
.case-restriction p{margin-top:var(--space-4);font-size:var(--font-size-small)}
.case-empty{padding:var(--space-28) var(--space-20);border:var(--border-width) solid var(--line);border-radius:var(--web-surface-radius)}
.case-empty h3{font-size:var(--font-size-card-title)}
.case-empty p{margin:var(--space-6) 0 var(--space-16);color:var(--ink-2);font-size:var(--font-size-small)}
@media(max-width:640px){
  .appeals-intro{margin-bottom:var(--space-16)}
  .case-tabs{margin-bottom:var(--space-20)}
  .report-row,.appeal-row,.appeal-compose{padding:var(--space-18)}
  .report-fields>div{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
  .report-target .text-link{min-height:var(--touch-target-min);display:inline-flex;align-items:center}
  .report-row-footer{align-items:flex-start;flex-direction:column}
  .report-actions{width:100%}
  .report-actions .btn{flex:0 1 auto}
}
