.appeal-page {
  width: min(960px, calc(100% - 32px));
  margin: 0 auto;
  padding: 72px 0 90px;
}

.appeal-hero { max-width: 700px; margin-bottom: 26px; }
.appeal-hero h1 { margin: 7px 0 12px; font-size: clamp(2.1rem, 5vw, 3.5rem); letter-spacing: -.04em; }
.appeal-hero p, .appeal-card > p { color: var(--muted); line-height: 1.7; }
.appeal-page .eyebrow { color: #69d9ee; text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 850; }

.appeal-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: 18px; align-items: start; }
.appeal-card { min-width: 0; padding: 26px; border-color: rgba(95, 113, 143, .32); background: linear-gradient(145deg, rgba(24, 31, 43, .96), rgba(15, 20, 28, .98)); }
.appeal-card h2 { margin: 0 0 8px; }
.appeal-card label { display: flex; justify-content: space-between; gap: 8px; margin: 18px 0 7px; color: #dce4ef; font-size: .82rem; font-weight: 750; }
.appeal-card label span { color: var(--muted); font-weight: 450; }
.appeal-card input, .appeal-card textarea {
  width: 100%; box-sizing: border-box; padding: 13px 14px;
  border: 1px solid #2a3749; border-radius: 10px;
  outline: none; color: #edf2fa; background: #0b1017; font: inherit;
}
.appeal-card input:focus, .appeal-card textarea:focus { border-color: #6b9fff; box-shadow: 0 0 0 3px rgba(107, 159, 255, .13); }
.appeal-card textarea { min-height: 190px; resize: vertical; line-height: 1.55; }
.appeal-card .btn { width: 100%; justify-content: center; margin-top: 16px; }

.appeal-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.appeal-heading h2 { margin: 7px 0 0; overflow-wrap: anywhere; }
.appeal-status { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #3a4658; border-radius: 999px; font-size: .7rem; font-weight: 850; text-transform: capitalize; white-space: nowrap; }
.status-pending, .status-under_review { color: #ffd77a; border-color: #715c29; background: rgba(113, 92, 41, .15); }
.status-accepted { color: #79e5ad; border-color: #276346; background: rgba(39, 99, 70, .15); }
.status-denied { color: #ff949b; border-color: #71383d; background: rgba(113, 56, 61, .15); }

.appeal-facts { display: grid; margin: 22px 0 0; }
.appeal-facts div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 13px 0; border-top: 1px solid #273140; }
.appeal-facts dt { color: var(--muted); font-size: .76rem; }.appeal-facts dd { min-width: 0; margin: 0; color: #e3e9f1; font-weight: 700; overflow-wrap: anywhere; }
.appeal-response { margin-top: 18px; padding: 16px; border: 1px solid #2d4562; border-radius: 11px; background: rgba(35, 58, 85, .25); }.appeal-response p { margin-bottom: 0; line-height: 1.6; }
.appeal-message { margin-bottom: 18px; padding: 14px 16px; border: 1px solid #334155; border-radius: 11px; background: #111923; }.appeal-message.success { border-color: #276346; color: #8aedba; }.appeal-message.error { border-color: #71383d; color: #ff9ca3; }

@media (max-width: 760px) {
  .appeal-page { padding-top: 38px; }
  .appeal-grid { grid-template-columns: 1fr; }
  .appeal-heading { display: block; }.appeal-status { display: inline-block; margin-top: 12px; }
  .appeal-facts div { grid-template-columns: 1fr; gap: 4px; }
  .appeal-card { padding: 20px; }
}
