.request-panel { margin-top: 24px; padding: 24px; border: 1px solid rgba(120, 162, 255, .3); border-radius: 10px; background: rgba(94, 124, 255, .06); scroll-margin-top: 16px; }
.request-panel h3 { margin: 0 0 8px; font-size: 1.25rem; }
.request-panel p { font-size: 1rem; line-height: 1.55; color: var(--muted); }
.request-panel fieldset { padding: 0; border: 0; }
.request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.request-grid label, .request-notes { display: flex; flex-direction: column; gap: 8px; font-size: .875rem; font-weight: 600; }
.request-grid input, .request-notes textarea { width: 100%; min-width: 0; min-height: 48px; padding: 12px; font: inherit; font-size: 1rem; font-weight: 400; color: var(--paper); background: #101318; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; }
.request-notes { margin-top: 16px; }
.request-notes textarea { resize: vertical; min-height: 110px; line-height: 1.5; }
.request-notes textarea:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.request-panel .request-consent { font-size: .875rem; line-height: 1.6; margin: 16px 0; }
.request-panel .primary { width: 100%; justify-content: center; font-size: 1rem; }
.request-honey { display: none; }
.request-panel .request-status { margin: 16px 0 0; padding: 16px; border-radius: 6px; color: var(--paper); background: #171c26; overflow-wrap: anywhere; }
.request-status[data-kind="error"] { border: 1px solid #dc8383; }
.request-status[data-kind="success"] { border: 1px solid #79a7ff; }
.request-panel a { color: #8fb4ff; text-decoration: underline; text-underline-offset: 3px; }
.request-panel [disabled] { cursor: wait; }
#reviewDialog .dialog-actions button { font-size: .875rem; }
.request-recovery { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(120,162,255,.3); min-width: 0; }
.request-recovery h4 { margin: 0; font-size: 1.1rem; }
.request-recovery-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.request-recovery-actions button, .request-recovery-actions a { min-height: 44px; display: inline-flex; align-items: center; }
.request-recovery label { display: block; margin: 16px 0 8px; font-size: .875rem; }
.request-recovery textarea { display: block; width: 100%; min-width: 0; max-width: 100%; padding: 12px; color: var(--paper); background: #101318; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; font: inherit; font-size: 1rem; line-height: 1.5; resize: vertical; }
@media (max-width: 560px) { .request-panel { padding: 18px 14px; } .request-grid { grid-template-columns: 1fr; } }
