.repair-pdf-page{background:linear-gradient(#3b82f60e 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#3b82f60e 1px,#0000 1px) 0 0/42px 42px,radial-gradient(circle at 0 0,#3b82f62e,#0000 34%),radial-gradient(circle at 100% 0,#7dd3fc38,#0000 32%),linear-gradient(#f8fbff 0%,#eef7ff 48%,#fff 100%);width:100%;min-height:100vh;padding:96px 48px 72px;position:relative;overflow:hidden}.repair-pdf-page:before{content:"";filter:blur(120px);pointer-events:none;background:#60a5fa2e;border-radius:50%;width:420px;height:420px;animation:9s ease-in-out infinite floatGlowA;position:absolute;top:-150px;left:-140px}.repair-pdf-container{z-index:2;flex-direction:column;gap:28px;width:100%;max-width:none;margin:0;animation:.7s fadeRepairPage;display:flex;position:relative}.repair-pdf-container h1{letter-spacing:0;color:#0f172a;width:-moz-fit-content;width:fit-content;margin:0;font-size:clamp(2.8rem,5vw,5rem);font-weight:800;line-height:1;display:inline-block;position:relative}.repair-pdf-container h1:after{content:"";opacity:.9;background:linear-gradient(90deg,#2563eb,#7dd3fc00);border-radius:999px;width:120px;height:6px;position:absolute;bottom:-14px;left:0}.repair-header{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.repair-subtitle{color:#475569;max-width:860px;margin:8px 0 0;font-size:1.08rem;line-height:1.8}.repair-error{background:#fff5f5;border:1px solid #ef444438;border-radius:18px;flex-direction:column;gap:14px;padding:26px;animation:.45s fadeRepairCard;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #0f172a14}.repair-error:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ef44441a,#0000 60%);position:absolute;inset:0}.repair-error h3{z-index:2;color:#991b1b;margin:0;font-size:1.4rem;font-weight:700;position:relative}.repair-error p{z-index:2;color:#7f1d1d;margin:0;font-size:.98rem;line-height:1.7;position:relative}.repair-error button{z-index:2;cursor:pointer;color:#fff;background:linear-gradient(#ef4444,#dc2626);border:none;border-radius:12px;outline:none;width:-moz-fit-content;width:fit-content;margin-top:6px;padding:14px 20px;font-size:.95rem;font-weight:700;transition:transform .2s,opacity .2s,box-shadow .2s;position:relative;box-shadow:0 14px 34px #ef444433}.repair-error button:hover{transform:translateY(-2px)}.repair-pdf-container>*{transition:transform .25s,opacity .25s}.upload-wrapper,.repair-progress,.repair-result,.repair-error{animation:.45s fadeRepairCard}@keyframes fadeRepairPage{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeRepairCard{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatGlowA{0%{transform:translateY(0)translate(0)}50%{transform:translateY(18px)translate(12px)}to{transform:translateY(0)translate(0)}}@media (max-width:768px){.repair-pdf-page{padding:88px 16px 56px}.repair-pdf-container{gap:22px}.repair-pdf-container h1{font-size:2.4rem}.repair-subtitle{font-size:.98rem;line-height:1.7}.repair-error{border-radius:16px;padding:22px}.repair-error h3{font-size:1.2rem}.repair-error button{width:100%}.repair-pdf-container h1:after{width:80px;height:5px;bottom:-10px}}.upload-wrapper{width:100%}.upload-box{cursor:pointer;background:linear-gradient(#fff 0%,#f6fbff 100%);border:2px dashed #2563eb47;border-radius:18px;justify-content:center;align-items:center;width:100%;min-height:320px;padding:44px;transition:border-color .25s,transform .25s,background .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #0f172a14}.upload-box:hover{border-color:#2563eb8c;transform:translateY(-2px);box-shadow:0 22px 60px #2563eb1f}.upload-box:focus-visible{outline-offset:4px;outline:3px solid #2563eb3d}.upload-box.dragging{background:linear-gradient(#eff6ff 0%,#fff 100%);border-color:#2563eb;box-shadow:0 0 0 5px #2563eb1a,0 24px 64px #2563eb29}.upload-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;display:flex;position:relative}.upload-icon-wrapper{color:#2563eb;background:#eff6ff;border:1px solid #2563eb24;border-radius:18px;justify-content:center;align-items:center;width:76px;height:76px;display:flex;box-shadow:0 14px 34px #2563eb1f}.upload-icon{width:36px;height:36px}.upload-content h2{color:#0f172a;margin:6px 0 0;font-size:2rem;font-weight:750;line-height:1.15}.upload-content p{color:#475569;margin:0;font-size:1rem;line-height:1.6}.upload-limits{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.upload-limits span{color:#334155;background:#f8fbff;border:1px solid #2563eb24;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:8px 14px;font-size:.86rem;font-weight:650;display:inline-flex}.upload-limits svg{color:#2563eb;width:16px;height:16px}.upload-error{color:#b91c1c;background:#fff5f5;border:1px solid #ef444433;border-radius:12px;align-items:flex-start;gap:9px;margin-top:16px;padding:14px 16px;font-size:.92rem;line-height:1.5;display:flex}.upload-error svg{width:18px;min-width:18px;height:18px;margin-top:1px}.drag-overlay{z-index:10;-webkit-backdrop-filter:blur(8px);background:#eff6ffe0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drag-overlay-content{color:#1d4ed8;background:#fff;border:1px solid #2563eb2e;border-radius:16px;padding:20px 28px;font-size:1.05rem;font-weight:750;box-shadow:0 20px 50px #2563eb24}@media (max-width:768px){.upload-box{border-radius:16px;min-height:260px;padding:30px 18px}.upload-icon-wrapper{border-radius:16px;width:66px;height:66px}.upload-icon{width:31px;height:31px}.upload-content h2{font-size:1.55rem}.upload-content p{font-size:.95rem}.upload-limits{gap:8px}.upload-limits span{padding:7px 12px;font-size:.8rem}.drag-overlay-content{padding:18px 22px;font-size:.98rem}}.repair-result{flex-direction:column;gap:22px;width:100%;margin-top:28px;display:flex}.repair-success{background:linear-gradient(#fff 0%,#f0fdf4 100%);border:1px solid #22c55e2e;border-radius:18px;align-items:center;gap:18px;padding:26px;display:flex;box-shadow:0 18px 48px #0f172a14}.repair-success-icon{color:#16a34a;background:#dcfce7;border:1px solid #22c55e2e;border-radius:18px;justify-content:center;align-items:center;width:68px;min-width:68px;height:68px;display:flex;box-shadow:0 14px 34px #22c55e1f}.repair-success-icon svg{width:34px;height:34px}.repair-success h2{color:#0f172a;margin:0 0 7px;font-size:2rem;font-weight:750;line-height:1.15}.repair-success p{color:#475569;margin:0;font-size:.98rem;line-height:1.6}.repair-file-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb1f;border-radius:18px;align-items:center;gap:18px;padding:24px;display:flex;box-shadow:0 18px 48px #0f172a12}.repair-file-icon{color:#2563eb;background:#eff6ff;border:1px solid #2563eb24;border-radius:16px;justify-content:center;align-items:center;width:62px;min-width:62px;height:62px;display:flex}.repair-file-icon svg{width:30px;height:30px}.repair-file-info{flex-direction:column;gap:8px;min-width:0;display:flex}.repair-file-info h3{color:#0f172a;word-break:break-word;margin:0;font-size:1.08rem;font-weight:700;line-height:1.35}.repair-file-meta{flex-wrap:wrap;gap:12px;display:flex}.repair-file-meta span{color:#64748b;font-size:.92rem}.repair-download-error{color:#b91c1c;background:#fff5f5;border:1px solid #ef444433;border-radius:12px;align-items:flex-start;gap:9px;padding:14px 16px;font-size:.92rem;line-height:1.5;display:flex}.repair-download-error svg{width:18px;min-width:18px;height:18px;margin-top:1px}.repair-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.download-btn,.new-btn{cursor:pointer;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:14px 20px;font-size:.95rem;font-weight:750;transition:transform .2s,opacity .2s,box-shadow .2s,border-color .2s;display:inline-flex}.download-btn svg,.new-btn svg{width:18px;height:18px}.download-btn:hover,.new-btn:hover{transform:translateY(-2px)}.download-btn:focus-visible,.new-btn:focus-visible{outline-offset:3px;outline:3px solid #2563eb38}.download-btn{color:#fff;background:linear-gradient(#2563eb,#1d4ed8);box-shadow:0 16px 40px #2563eb3d}.download-btn:disabled{cursor:not-allowed;opacity:.72;box-shadow:none;transform:none}.new-btn{color:#1d4ed8;background:#fff;border:1px solid #2563eb29;box-shadow:0 12px 28px #0f172a0f}@media (max-width:768px){.repair-result{margin-top:22px}.repair-success{border-radius:16px;flex-direction:column;align-items:flex-start;padding:22px}.repair-success-icon{border-radius:16px;width:60px;min-width:60px;height:60px}.repair-success-icon svg{width:30px;height:30px}.repair-success h2{font-size:1.55rem}.repair-file-card{border-radius:16px;align-items:flex-start;padding:20px}.repair-file-icon{width:54px;min-width:54px;height:54px}.repair-file-icon svg{width:27px;height:27px}.repair-actions{flex-direction:column;align-items:stretch}.download-btn,.new-btn{width:100%}}.repair-details{width:100%}.details-toggle{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #2563eb24;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:50px;padding:14px 16px;font-size:.95rem;font-weight:750;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 12px 28px #0f172a0f}.details-toggle span{align-items:center;gap:9px;display:inline-flex}.details-toggle svg{width:18px;height:18px}.details-toggle:hover,.details-toggle.active{background:#eff6ff;border-color:#2563eb42;transform:translateY(-2px);box-shadow:0 16px 36px #2563eb1a}.details-toggle:focus-visible{outline-offset:3px;outline:3px solid #2563eb38}.details-box{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb1f;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;padding:18px;display:grid;box-shadow:0 18px 48px #0f172a12}.details-card{background:#fff;border:1px solid #94a3b833;border-radius:14px;align-items:center;gap:13px;min-width:0;padding:16px;display:flex}.details-card-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;display:flex}.details-card-icon.success{color:#16a34a;background:#dcfce7}.details-card-icon svg{width:20px;height:20px}.details-card span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.78rem;font-weight:750;display:block}.details-card strong{color:#0f172a;word-break:break-word;font-size:1rem;font-weight:750}.details-issues{background:#fff7ed;border:1px solid #f973162e;border-radius:14px;grid-column:1/-1;padding:16px}.details-issues-title{color:#c2410c;align-items:center;gap:8px;font-size:.92rem;font-weight:800;display:flex}.details-issues-title svg{width:18px;height:18px}.details-issues ul{color:#7c2d12;margin:12px 0 0;padding-left:20px;font-size:.92rem;line-height:1.6}@media (max-width:900px){.details-box{grid-template-columns:1fr}}@media (max-width:768px){.details-box{border-radius:14px;padding:14px}.details-card{padding:14px}}.repair-progress{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb1f;border-radius:18px;flex-direction:column;gap:24px;width:100%;margin-top:28px;padding:30px;display:flex;box-shadow:0 18px 48px #0f172a14}.repair-progress-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.repair-progress-icon{color:#2563eb;background:#eff6ff;border:1px solid #2563eb24;border-radius:18px;justify-content:center;align-items:center;width:68px;height:68px;display:flex}.repair-progress-icon svg{width:32px;height:32px}.repair-progress-icon:not(.failed) svg{animation:1.4s ease-in-out infinite progressPulse}.repair-progress-icon.failed{color:#dc2626;background:#fff5f5;border-color:#dc262629}.repair-progress-copy{min-width:0}.repair-progress-status{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.repair-progress-copy h2{color:#0f172a;margin:0;font-size:2rem;font-weight:750;line-height:1.15}.repair-progress-copy p{color:#475569;margin:8px 0 0;font-size:.98rem;line-height:1.6}.repair-progress-percent{color:#1d4ed8;background:#fff;border:1px solid #2563eb24;border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;font-size:1.2rem;font-weight:800;display:flex;box-shadow:0 12px 30px #2563eb1a}.repair-file-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f8fbff;border:1px solid #2563eb1f;border-radius:999px;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:12px;padding:9px 13px;font-size:.88rem;font-weight:650;overflow:hidden}.repair-progress-bar{background:#e2e8f0;border-radius:999px;width:100%;height:12px;overflow:hidden}.repair-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7dd3fc);height:100%;transition:width .45s}.repair-step-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.repair-step{background:#fff;border:1px solid #94a3b838;border-radius:16px;gap:13px;padding:18px;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex}.repair-step.active{background:#eff6ff;border-color:#2563eb47;transform:translateY(-2px);box-shadow:0 14px 32px #2563eb1a}.repair-step.completed{background:#f0fdf4;border-color:#22c55e2e}.repair-step-icon{color:#64748b;background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;display:flex}.repair-step-icon svg{width:19px;height:19px}.repair-step.active .repair-step-icon{color:#2563eb;background:#dbeafe}.repair-step.completed .repair-step-icon{color:#16a34a;background:#dcfce7}.repair-step-copy h3{color:#0f172a;margin:0;font-size:.96rem;font-weight:750}.repair-step-copy p{color:#64748b;margin:5px 0 0;font-size:.86rem;line-height:1.45}.repair-progress-note{color:#1d4ed8;background:#eff6ff;border:1px solid #2563eb24;border-radius:12px;padding:14px 16px;font-size:.92rem;line-height:1.5}@keyframes progressPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (max-width:1000px){.repair-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.repair-progress{border-radius:16px;margin-top:22px;padding:22px}.repair-progress-header{grid-template-columns:1fr}.repair-progress-icon{border-radius:16px;width:60px;height:60px}.repair-progress-percent{width:68px;height:68px}.repair-progress-copy h2{font-size:1.55rem}.repair-step-list{grid-template-columns:1fr}.repair-step{padding:16px}}
