.doc-capture{--cap-surface:#fff;--cap-surface-2:#eef4fc;--cap-ink:#0e1c2a;--cap-ink-2:#426080;--cap-ink-3:#8aaac0;--cap-bor:#16284012;--cap-bor-m:#1628401f;--cap-bor-s:#16284029;--cap-acc:#407dbf;--cap-acc-m:#2a5a8c;--cap-acc-l:#72a8dc;--cap-acc-s:#dceaf6;--cap-warn:#d97706;--cap-warn-s:#fef3c7;--cap-pass:#16a34a;--cap-pass-s:#dcfce7;--cap-fail:#dc2626}.doc-capture .cap-stage{color:#edf3fa;background:radial-gradient(125% 85% at 50% 32%,#1f3247 0%,#122436 46%,#0c1820 100%);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.doc-capture .cap-stage.center{text-align:center;justify-content:center;align-items:center;padding:30px 28px}.doc-capture .scan-panel{background:var(--cap-surface);padding:16px 22px calc(22px + env(safe-area-inset-bottom));color:var(--cap-ink);border-radius:28px 28px 0 0;flex-shrink:0;max-height:calc(100% - 24px);margin-top:auto;overflow-y:auto;box-shadow:0 -16px 40px -12px #00000080}.doc-capture .scan-panel-handle{background:var(--cap-bor-s);border-radius:100px;width:42px;height:5px;margin:0 auto 14px}.doc-capture .scan-panel h2{font-family:var(--f-display);color:var(--cap-ink);font-variation-settings:"SOFT" 70;letter-spacing:-.01em;font-size:21px;font-style:italic;font-weight:500}.doc-capture .scan-panel .sub{color:var(--cap-ink-2);margin-top:3px;font-size:12.5px;line-height:1.5}.doc-capture .edit-row{align-items:center;gap:12px;margin-top:14px;display:flex}.doc-capture .edit-row .lbl{color:var(--cap-ink-2);flex-shrink:0;align-items:center;gap:7px;width:92px;font-size:12.5px;font-weight:700;display:inline-flex}.doc-capture .edit-row .lbl svg{width:15px;height:15px}.doc-capture .edit-row .val{color:var(--cap-acc);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;width:42px;font-size:12px;font-weight:700}.doc-capture .cap-slider{appearance:none;background:var(--cap-bor-s);border-radius:100px;outline:none;flex:1;height:5px;margin:0}.doc-capture .cap-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--cap-acc);cursor:pointer;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 6px #0e1c3840}.doc-capture .cap-slider::-moz-range-thumb{background:var(--cap-acc);cursor:pointer;border:3px solid #fff;border-radius:50%;width:20px;height:20px}.doc-capture .edit-tools{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.doc-capture .tool-btn{background:var(--cap-surface-2);border:1px solid var(--cap-bor);min-width:0;height:50px;color:var(--cap-ink-2);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:7px;font-size:12.5px;font-weight:700;display:inline-flex}.doc-capture .tool-btn svg{width:18px;height:18px}.doc-capture .tool-btn.on{background:var(--cap-acc-s);color:var(--cap-acc);border-color:#407dbf4d}.doc-capture .aspect-seg{background:var(--cap-surface-2);border:1px solid var(--cap-bor);border-radius:100px;gap:3px;margin-top:14px;padding:3px;display:inline-flex}.doc-capture .aspect-seg button{height:32px;color:var(--cap-ink-2);cursor:pointer;background:0 0;border:none;border-radius:100px;padding:0 16px;font-size:12px;font-weight:700}.doc-capture .aspect-seg button.on{background:var(--cap-surface);color:var(--cap-ink);box-shadow:0 2px 5px -2px #0e1c3833}.doc-capture .thumb-strip{gap:12px;margin-top:12px;padding:4px 2px 8px;display:flex;overflow-x:auto}.doc-capture .thumb-strip::-webkit-scrollbar{display:none}.doc-capture .thumb{border:1px solid var(--cap-bor-m);background:linear-gradient(170deg,#f4f8fc,#dce6f0);border-radius:12px;flex-shrink:0;width:86px;height:110px;position:relative;overflow:hidden;box-shadow:0 4px 12px -6px #0e1c3840}.doc-capture .thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.doc-capture .thumb .pg-no{background:var(--ink-deep,#0e1c2a);color:#fff;z-index:2;border-radius:7px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:5px;left:5px}.doc-capture .thumb .pg-del{color:#fff;z-index:2;cursor:pointer;background:#dc2626eb;border:none;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:5px;right:5px}.doc-capture .thumb .pg-del svg{width:13px;height:13px}.doc-capture .thumb-add{border:1.5px dashed var(--cap-bor-s);background:var(--cap-surface-2);width:86px;height:110px;color:var(--cap-acc);cursor:pointer;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.doc-capture .thumb-add svg{width:22px;height:22px}.doc-capture .field-label{color:var(--cap-ink-2);letter-spacing:.02em;align-items:center;gap:6px;margin:18px 0 8px;font-size:12px;font-weight:700;display:flex}.doc-capture .field-label .opt{color:var(--cap-ink-3);font-weight:600}.doc-capture .req-star{color:var(--cap-fail);font-weight:800}.doc-capture .cat-grid{flex-wrap:wrap;gap:8px;display:flex}.doc-capture .cat-chip{background:var(--cap-surface-2);border:1.5px solid var(--cap-bor);height:40px;color:var(--cap-ink-2);cursor:pointer;border-radius:100px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.doc-capture .cat-chip svg{width:15px;height:15px}.doc-capture .cat-chip.on{background:var(--cap-acc);border-color:var(--cap-acc);color:#fff;box-shadow:0 8px 18px -10px #407dbf8c}.doc-capture .cap-note{border:1px solid var(--cap-bor);background:var(--cap-surface-2);width:100%;min-height:62px;font-family:var(--f-body);color:var(--cap-ink);resize:none;border-radius:14px;outline:none;padding:12px 14px;font-size:14px}.doc-capture .cap-note:focus{border-color:var(--cap-acc)}.doc-capture .cap-note::placeholder{color:var(--cap-ink-3)}.doc-capture .link-req{background:var(--cap-warn-s);border:1px solid #d9770638;border-radius:14px;align-items:center;gap:11px;margin-top:12px;padding:11px 13px;display:flex}.doc-capture .link-req.acc{background:var(--cap-acc-s);border-color:#407dbf38}.doc-capture .link-req .ic{width:34px;height:34px;color:var(--cap-warn);background:#d9770629;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-capture .link-req.acc .ic{color:var(--cap-acc);background:#407dbf29}.doc-capture .link-req .ic svg{width:17px;height:17px}.doc-capture .link-req .body{flex:1;min-width:0}.doc-capture .link-req .t{color:var(--cap-ink);font-size:12.5px;font-weight:700}.doc-capture .link-req .m{color:var(--cap-ink-2);margin-top:1px;font-size:11px}.doc-capture .up-stages{flex-direction:column;gap:4px;margin-top:8px;display:flex}.doc-capture .up-stage{align-items:center;gap:12px;padding:10px 0;display:flex}.doc-capture .up-stage .node{background:var(--cap-surface-2);width:34px;height:34px;color:var(--cap-ink-3);border:1.5px solid var(--cap-bor);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-capture .up-stage .node svg{width:17px;height:17px}.doc-capture .up-stage.done .node{background:var(--cap-pass-s);color:var(--cap-pass);border-color:#0000}.doc-capture .up-stage.active .node{background:var(--cap-acc);color:#fff;box-shadow:0 0 0 4px var(--cap-acc-s);border-color:#0000}.doc-capture .up-stage .body{flex:1;min-width:0}.doc-capture .up-stage .t{color:var(--cap-ink);font-size:13.5px;font-weight:700}.doc-capture .up-stage.upcoming .t{color:var(--cap-ink-3)}.doc-capture .up-stage .m{color:var(--cap-ink-2);margin-top:2px;font-size:11.5px}.doc-capture .up-bar{background:var(--cap-bor-s);border-radius:100px;height:5px;margin-top:5px;overflow:hidden}.doc-capture .up-bar .fill{background:var(--cap-acc);height:100%;transition:width .3s var(--ease);border-radius:100px}.doc-capture .cap-btn{border-radius:var(--r-btn,16px);width:100%;height:52px;font-family:var(--f-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.doc-capture .cap-btn svg{width:18px;height:18px}.doc-capture .cap-btn-primary{background:var(--cap-acc);color:#fff;margin-top:18px;box-shadow:0 10px 22px -12px #407dbfb3}.doc-capture .cap-btn-primary:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.doc-capture .cap-btn-secondary{background:var(--cap-surface-2);color:var(--cap-ink-2);border:1px solid var(--cap-bor)}.doc-capture .scan-cta-row{gap:10px;margin-top:16px;display:flex}.doc-capture .scan-cta-row .cap-btn{width:auto;margin-top:0}.doc-capture .scan-cta-row .cap-btn-secondary{flex:none;padding:0 22px}.doc-capture .scan-cta-row .cap-btn.grow{flex:1}.doc-capture .btn-light{color:#0e1c2a;height:52px;font-size:15px;font-weight:700;font-family:var(--f-body);cursor:pointer;background:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:9px;width:100%;display:inline-flex}.doc-capture .btn-light svg{width:18px;height:18px}.doc-capture .btn-on-dark{color:#fff;height:52px;font-size:15px;font-weight:700;font-family:var(--f-body);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff29;border-radius:16px;justify-content:center;align-items:center;gap:9px;width:100%;display:inline-flex}.doc-capture .btn-on-dark svg{width:18px;height:18px}.doc-capture .scan-success{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex;position:relative}.doc-capture .success-ring{background:radial-gradient(circle,#16a34a52,#16a34a0f 70%);border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;display:flex;box-shadow:0 0 60px -6px #4ade808c}.doc-capture .success-ring .core{background:linear-gradient(145deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:inset 0 2px #ffffff4d}.doc-capture .success-ring .core svg{color:#fff;width:36px;height:36px}.doc-capture .scan-success h1{font-family:var(--f-display);color:#fff;letter-spacing:-.02em;font-variation-settings:"SOFT" 60;margin-top:24px;font-size:30px;font-weight:500}.doc-capture .scan-success h1 em{color:#4ade80;font-variation-settings:"SOFT" 90;font-style:italic;font-weight:400}.doc-capture .scan-success p{color:#edf3faa8;max-width:270px;margin-top:10px;font-size:13.5px;line-height:1.55}.doc-capture .confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.doc-capture .confetti i{opacity:.9;width:8px;height:8px;animation:cap-confetti-fall 2.4s var(--ease) infinite;border-radius:2px;position:absolute}@keyframes cap-confetti-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}15%{opacity:.9}to{opacity:0;transform:translateY(380px)rotate(320deg)}}.doc-capture .scan-err{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px 28px;display:flex}.doc-capture .err-ico{border-radius:28px;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.doc-capture .err-ico svg{width:40px;height:40px}.doc-capture .err-ico.fail{color:#f87171;background:#f8717124;border:1px solid #f871714d}.doc-capture .err-ico.warn{color:#fbbf24;background:#fbbf2424;border:1px solid #fbbf2452}.doc-capture .scan-err h1{font-family:var(--f-display);color:#fff;letter-spacing:-.02em;font-variation-settings:"SOFT" 60;margin-top:22px;font-size:27px;font-weight:500;line-height:1.08}.doc-capture .scan-err h1 em{color:#f8a0a0;font-variation-settings:"SOFT" 90;font-style:italic;font-weight:400}.doc-capture .scan-err h1.w em{color:#fbbf24}.doc-capture .scan-err p{color:#edf3faa8;max-width:280px;margin-top:11px;font-size:13.5px;line-height:1.6}.doc-capture .err-meta{font-family:var(--f-mono);color:#edf3facc;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:8px;margin-top:16px;padding:8px 14px;font-size:11.5px;display:inline-flex}.doc-capture .err-meta svg{opacity:.8;width:13px;height:13px}.doc-capture .accept-row{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px;display:inline-flex}.doc-capture .accept-tag{font-family:var(--f-mono);color:#edf3fa8c;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:600}.doc-capture .cap-actions{flex-direction:column;gap:11px;width:100%;max-width:340px;margin-top:28px;display:flex}@media (prefers-reduced-motion:reduce){.doc-capture .confetti i{animation:none}.doc-capture .up-bar .fill{transition:none}}
