.failure-help-dialog { position:fixed; inset:0; margin:auto; overflow-y:auto; width:min(620px,calc(100vw - 32px)); max-height:85vh; box-sizing:border-box; padding:24px; border:1px solid #e4e7ec; border-radius:16px; background:#fff; color:#253044; box-shadow:0 20px 70px #18203333; font:15px/1.65 system-ui,sans-serif; }
.failure-help-dialog::backdrop { background:#17203370; }
.failure-help-dialog h2 { margin:0 0 12px; font-size:21px; }
.failure-help-dialog h3 { margin:18px 0 8px; font-size:16px; }
.failure-help-dialog p { white-space:pre-wrap; overflow-wrap:anywhere; }
.failure-help-dialog .failure-help-close { float:right; border:0; background:#f2f4f7; border-radius:8px; padding:5px 12px; cursor:pointer; }
.failure-help-dialog button,.failure-help-notice { font:inherit; cursor:pointer; }
.failure-help-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.failure-help-actions button { border:1px solid #d0d5dd; border-radius:9px; padding:9px 14px; background:#fff; color:#253044; }
.failure-help-actions .failure-help-primary { background:#d94d18; color:#fff; border-color:#d94d18; }
.failure-help-actions a { display:inline-flex; align-items:center; padding:9px 14px; border:1px solid #d0d5dd; border-radius:9px; color:#253044; text-decoration:none; }
.failure-help-feedback:empty { display:none; }
.failure-help-dialog button:disabled { cursor:wait; opacity:.6; }
.failure-help-note { padding:12px; border-radius:9px; background:#fff7ed; }
.failure-help-status { display:inline-block; margin:0 0 4px; padding:3px 10px; border-radius:20px; background:#f3f4f6; color:#596273; font-size:13px; }
.failure-help-progress h3 { margin:14px 0 6px; }
.failure-help-progress ol { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; }
.failure-help-progress li { padding:4px 8px; border-radius:6px; font-size:13px; color:#7c8594; background:#f4f5f7; }
.failure-help-progress li.past { color:#476556; background:#edf7f0; }
.failure-help-progress li.current { color:#a33d14; background:#fff0e4; font-weight:600; }
.failure-help-dialog .failure-help-task { margin:6px 0 0; color:#758092; font-size:12px; }
.failure-help-dialog textarea { width:100%; box-sizing:border-box; min-height:180px; padding:10px; font:inherit; border:1px solid #d0d5dd; border-radius:8px; }
.failure-help-notice { position:fixed; top:12px; right:12px; z-index:16000; max-width:calc(100vw - 24px); background:#fff7ed; color:#9a3412; border:1px solid #fdba74; border-radius:10px; padding:12px 16px; box-shadow:0 4px 18px #18203322; }
@media(max-width:600px) {
  .failure-help-dialog { padding:16px; max-height:90vh; max-height:90dvh; line-height:1.55; }
  .failure-help-dialog p { margin-block:8px; }
  .failure-help-dialog .failure-help-status { margin:0 0 4px; }
  .failure-help-dialog h2 { margin-bottom:8px; }
  .failure-help-progress h3 { margin-top:10px; }
  .failure-help-actions { margin-top:12px; }
  .failure-help-actions button,.failure-help-actions a { flex:1 1 100%; justify-content:center; }
}
