.customer-confirmation,.download-confirm-page { color:#202523; font:14px/1.65 "Sora","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
.workstation-choice[hidden],.workstation-choice [hidden] { display:none !important; }
.workstation-choice .confirmation-check { margin:0; }
.workstation-choice .field-hint { margin:8px 0 0; }
.customer-confirmation { position:fixed; inset:auto; margin:0; transform:translate(-50%,-50%); width:min(480px,calc(100% - 32px)); box-sizing:border-box; max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; padding:28px; border:1px solid #e0e6e2; border-radius:18px; background:#fff; box-shadow:0 24px 80px rgb(17 28 22 / 16%),0 3px 12px rgb(17 28 22 / 5%); scrollbar-width:thin; scrollbar-color:#cbd6ce transparent; }
.customer-confirmation::backdrop { background:rgb(22 31 26 / 26%); }
.customer-confirmation:focus { outline:none; }
.customer-confirmation--terms[open] { display:flex;flex-direction:column;overflow:hidden;border-radius:8px;padding:16px;width:min(460px,calc(100% - 24px)); }
.customer-confirmation--terms > * { flex-shrink:0; }
.customer-confirmation--terms .confirmation-header { margin-bottom:4px; }
.customer-confirmation.customer-confirmation--terms h2 { font-size:18px;letter-spacing:0; }
.customer-confirmation--terms .confirmation-kicker { display:none; }
.customer-confirmation--terms .confirmation-notice { flex:1 1 auto;min-height:72px;overflow:auto;overscroll-behavior:contain;margin:8px 0;padding-right:2px; }
.customer-confirmation--terms .confirmation-notice li { font-size:14px;font-weight:400;color:#35433a;line-height:1.45;margin-bottom:5px;padding-left:23px; }
.confirmation-typed { display:flex;flex-direction:column;gap:5px;padding-top:8px;border-top:1px solid #e0e6e2;font-size:14px;line-height:1.5;color:#202523; }
.confirmation-typed input { width:100%;min-width:0;box-sizing:border-box;min-height:44px;border:1px solid #a5b5aa;border-radius:6px;padding:10px 12px;background:#fff;color:#202523;font:inherit;font-size:16px;letter-spacing:0; }
.confirmation-typed input:focus-visible { outline:2px solid #2563eb;outline-offset:2px; }
.customer-confirmation--terms .confirmation-actions { margin-top:8px; }
.customer-confirmation--terms .customer-primary,.customer-confirmation--terms .customer-secondary { border-radius:6px;font-size:14px; }
.customer-confirmation--terms .confirmation-actions .customer-secondary { flex-basis:88px;padding-inline:10px;white-space:nowrap; }
.customer-confirmation--terms.customer-confirmation--compact { overflow:auto; }
.customer-confirmation--terms.customer-confirmation--compact .confirmation-notice { flex:none;overflow:visible; }
.confirmation-header { margin-bottom:22px; }
.confirmation-kicker { display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#718178;font-size:11px;font-weight:500;letter-spacing:.08em; }
.confirmation-kicker::before { content:"";width:18px;height:2px;border-radius:2px;background:#789485; }
.customer-confirmation h2 { margin:0;color:#181d1a;font-size:25px;font-weight:700;line-height:1.35;letter-spacing:-.035em; }
.confirmation-subject { display:grid; grid-template-columns:42px minmax(0,1fr); gap:11px 14px; padding:17px 18px; margin:0; border:1px solid #e8ede9;border-radius:12px;background:#f7f9f7; }
.confirmation-subject dt { align-self:center;color:#829087;font-size:12px; }.confirmation-subject dd { margin:0;color:#28372e;font-size:13px;font-weight:600;overflow-wrap:anywhere;line-height:1.65; }
.confirmation-notice { padding:0;margin:22px 0;list-style:none;counter-reset:confirmation-notice; }
.confirmation-notice li { position:relative;padding-left:29px;margin:0 0 11px;color:#657068;font-size:12px;line-height:1.8;counter-increment:confirmation-notice; }
.confirmation-notice li::before { content:counter(confirmation-notice,decimal-leading-zero);position:absolute;left:0;top:1px;color:#99a39c;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums; }
.confirmation-notice li:last-child { margin-bottom:0; }
.confirmation-check { display:flex;align-items:flex-start;gap:10px;padding:17px 0 0;margin-top:20px;border-top:1px solid #edf0ed;color:#3c4941;font-size:12px;font-weight:500;cursor:pointer; }
.confirmation-check input { margin:2px 0 0;width:17px;height:17px;accent-color:#456c57;flex-shrink:0;cursor:pointer; }
.confirmation-download-formats { border:0;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0; }
.confirmation-download-formats legend { padding:0;margin-bottom:10px;color:#68776d;font-size:11px;font-weight:500; }
.confirmation-format-choice { display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;box-sizing:border-box;padding:11px 13px;border:1px solid #e0e6e1;border-radius:10px;color:#69736d;background:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease; }
.confirmation-format-choice:hover { border-color:#a2b2a7;background:#fafcfb; }
.confirmation-format-choice:has(input:checked) { border-color:#789784;background:#f0f6f2;color:#34523e;box-shadow:inset 0 0 0 1px rgb(120 151 132 / 10%); }
.confirmation-format-choice:has(input:focus-visible) { outline:2px solid #9db6a6;outline-offset:3px; }
.confirmation-format-choice input { margin:0;width:15px;height:15px;flex-shrink:0;accent-color:#456c57;cursor:pointer; }
.confirmation-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:22px; }
.confirmation-actions .customer-secondary { flex:0 0 96px; }
.confirmation-actions .customer-primary { flex:1; }
.customer-primary,.customer-secondary { min-height:46px;box-sizing:border-box;border:1px solid #dce3de;border-radius:10px;padding:12px 16px;font:600 13px/1.4 "Sora","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;cursor:pointer;text-decoration:none;text-align:center;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease; }
.customer-primary { background:#1b211d;color:#fff;border-color:#1b211d; }.customer-secondary { background:#fff;color:#657168; }
.customer-primary:hover:not(:disabled) { background:#35453b;border-color:#35453b; }.customer-secondary:hover { background:#f4f7f4;color:#29372e;border-color:#b8c5bc; }
.customer-primary:disabled { background:#dce2dd;color:#77817a;border-color:#dce2dd;cursor:not-allowed; }
.customer-primary:focus-visible,.customer-secondary:focus-visible,.confirmation-check input:focus-visible { outline:2px solid #86a492;outline-offset:3px; }
.download-confirm-page { margin:0;background:#f6f8f7; }.download-confirm-main { max-width:620px;margin:0 auto;padding:32px 24px 60px; }.download-brand { color:#172c27;text-decoration:none;font-weight:800; }.download-confirm-main h1 { font-size:26px;margin:30px 0 22px; }
.card-repair { letter-spacing:0; }.card-repair [hidden] { display:none !important; }
.card-repair-dialog { inset:auto; left:50%; top:50%; margin:0; transform:translate(-50%,-50%); padding:24px; width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:1px solid #e0e6e2; border-radius:20px; background:linear-gradient(180deg,#fff 0%,#f8fbf9 100%); box-shadow:0 28px 90px rgb(17 28 22 / 22%),0 4px 18px rgb(17 28 22 / 8%); }
.card-repair-dialog::backdrop { background:rgb(22 31 26 / 34%); backdrop-filter:blur(2px); }
.card-repair-dialog[open] { display:block; }
.card-repair-dialog .card-repair-heading { padding-bottom:14px; border-bottom:1px solid #edf1ee; }
.card-repair .stack-form { margin:0; }.card-repair .form-group { margin-bottom:18px; }
.card-repair-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px; }
.card-repair-heading strong { font-size:16px; }.card-repair-heading>span { color:#267458;font-size:12px; }
.card-repair-details { display:grid;grid-template-columns:86px minmax(0,1fr);gap:11px 14px;font-size:13px;padding:0 0 18px;border-bottom:1px solid #e4e9e6;margin:0; }
.card-repair-details dt { color:#7b827e; }.card-repair-details dd { margin:0;overflow-wrap:anywhere;color:#252e29; }
.card-repair-task { padding:18px 0;border-bottom:1px solid #e4e9e6; }.card-repair-task-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap; }.card-repair-task-heading strong { font-size:14px; }.card-repair-task-heading span { font-size:11px;color:#7b827e; }
.card-repair-task p { font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:10px 0; }
.card-repair-actions { display:flex;flex-direction:column;gap:10px;margin-top:18px; }.card-repair-actions .btn { width:100%;font-size:14px; }
.card-repair-alert { padding:12px 14px;margin:16px 0 0;background:#fff3ef;border-left:3px solid #cc7860;font-size:12px;color:#9a4b3b;line-height:1.7;overflow-wrap:anywhere; }
@media(max-width:520px) {
  .customer-confirmation { padding:16px 18px;border-radius:15px; }
  .customer-confirmation[open] { display:flex;flex-direction:column; }
  .customer-confirmation > * { flex-shrink:0; }
  .customer-confirmation h2 { font-size:22px; }
  .confirmation-header { margin-bottom:12px; }
  .confirmation-subject { padding:12px;gap:6px 10px; }
  .confirmation-notice { flex:0 1 auto;min-height:80px;overflow:auto;overscroll-behavior:contain;margin:12px 0;padding-right:7px;scrollbar-width:thin;scrollbar-color:#bdcec2 transparent; }
  .confirmation-notice li { margin-bottom:7px; }
  .confirmation-notice li:last-child { margin-bottom:0; }
  .confirmation-download-formats { margin-top:14px;gap:8px; }
  .confirmation-download-formats legend { margin-bottom:6px; }
  .confirmation-format-choice { min-height:44px;padding:9px 10px;gap:7px;font-size:11px; }
  .confirmation-check { margin-top:14px;padding-top:12px; }
  .confirmation-actions { margin-top:12px; }
  .confirmation-actions .customer-primary,.confirmation-actions .customer-secondary { min-height:44px;padding:11px 14px; }
  .confirmation-actions .customer-secondary { flex-basis:82px; }
  .download-confirm-main { padding:22px 16px; }
  .card-repair-details { grid-template-columns:72px minmax(0,1fr);gap:10px; }
}
@media(prefers-reduced-motion:reduce) { .confirmation-format-choice,.customer-primary,.customer-secondary { transition:none; } }

/* 401 修复进度：与兑换队列进度条同风格 */
.repair-progress { margin:16px 0 18px; }
.repair-progress progress { display:block;width:100%;height:4px;accent-color:#678c73;border:0;border-radius:8px;overflow:hidden; }
.repair-progress progress::-webkit-progress-bar { background:#edf2ee;border-radius:8px; }
.repair-progress progress::-webkit-progress-value { background:#678c73;border-radius:8px; }
.repair-progress progress::-moz-progress-bar { background:#678c73;border-radius:8px; }
.repair-progress progress:indeterminate { background:linear-gradient(90deg,#edf2ee 0%,#91af9b 50%,#edf2ee 100%);background-size:200% 100%;animation:queuePulse 1.8s linear infinite; }
.repair-progress progress:indeterminate::-webkit-progress-bar { background:transparent; }
.repair-progress-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;font-size:11px;color:#99a29c;counter-reset:repair-step;text-align:center; }
.repair-progress-steps li { position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;counter-increment:repair-step; }
.repair-progress-steps li::before { content:counter(repair-step,decimal-leading-zero);z-index:1;display:grid;place-items:center;width:27px;height:27px;box-sizing:border-box;border:1px solid #e5eae6;border-radius:50%;background:#fff;color:#a0aaa2;font-size:9px;font-weight:500;font-variant-numeric:tabular-nums; }
.repair-progress-steps li:not(:last-child)::after { content:"";position:absolute;left:calc(50% + 20px);top:13px;width:calc(100% - 40px);height:1px;background:#e8eee9; }
.repair-progress-steps .is-done { color:#698572; }
.repair-progress-steps .is-done::before { color:#57715f;background:#f0f6f1;border-color:#dce8df; }
.repair-progress-steps .is-current { color:#365240;font-weight:600; }
.repair-progress-steps .is-current::before { color:#fff;background:#56785f;border-color:#56785f;box-shadow:0 0 0 4px #f0f5f1; }
.repair-progress-steps .is-error { color:#9a4b3b; }
.repair-progress-steps .is-error::before { color:#9a4b3b;background:#fff3ef;border-color:#e5c6bd; }
/* 修复耗时显示 */
.repair-progress-meta { display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:11px;color:#718177;font-variant-numeric:tabular-nums; }
.repair-progress-meta:empty { display:none; }
.card-repair #repairStopButton { border-color:#d8b3a8;color:#9a4b3b;background:#fff; }
.card-repair #repairStopButton:hover:not(:disabled) { background:#fff3ef;border-color:#cc7860;color:#7d3728; }
