:root{--ink:#faf6f0;--ink-soft:#faf6f0b8;--brand:#ff5c5c;--ok:#2fbf6b;--ok-deep:#178a48;--bad:#ff7a7a;--bad-deep:#b01c1c;--warn:#f0c75e;--blur:24px;--font:"Sora", system-ui, sans-serif;--display:"Fraunces", Georgia, serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--pad:clamp(8px, 2.5vw, 16px);--gap:clamp(8px, 2vw, 12px);--btn-h:clamp(48px, 7vh, 56px);--radius:clamp(16px, 4vw, 22px)}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:-.014em;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#0c0908}button{font:inherit;color:inherit;cursor:pointer;appearance:none;touch-action:manipulation}img{max-width:100%;height:auto}canvas.pdf-page{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;max-width:100%}.glass-field{z-index:0;pointer-events:none;background:radial-gradient(900px 520px at 12% -8%,#d628286b,#0000 55%),radial-gradient(700px 480px at 92% 8%,#ff96502e,#0000 50%),radial-gradient(680px 520px at 70% 110%,#288c6429,#0000 55%),linear-gradient(168deg,#1a1210 0%,#0c0908 50%,#12100e 100%);position:fixed;inset:0;overflow:hidden}.glass-blob{filter:blur(42px);opacity:.7;mix-blend-mode:screen;border-radius:50%;position:absolute}.glass-blob-a{background:radial-gradient(circle,#ff46468c,#0000 68%);width:min(46vmax,520px);height:min(46vmax,520px);top:-10%;left:-16%}.glass-blob-b{background:radial-gradient(circle,#ffaa5a59,#0000 70%);width:min(38vmax,440px);height:min(38vmax,440px);top:24%;right:-14%}.glass-blob-c{background:radial-gradient(circle,#46c89640,#0000 70%);width:min(40vmax,460px);height:min(40vmax,460px);bottom:-20%;left:28%}.glass-shine,.glass-aurora,.glass-caustic,.glass-prism,.glass-grain{display:none}.glass-vignette{background:radial-gradient(80% 70% at 50% 40%,#0000 45%,#00000073 100%);position:absolute;inset:0}.glass-panel{border-radius:var(--radius);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.4);backdrop-filter:blur(var(--blur)) saturate(1.4);background:linear-gradient(155deg,#fff3,#ffffff0f 45%,#ffffff1a),#ffecdc0f;border:1px solid #ffffff2e;position:relative;box-shadow:0 18px 48px #00000059,inset 0 1px #ffffff59}.glass-chip{background:#ffffff1a;border:1px solid #ffffff2e}.liquid-lift{animation:none}.app-shell{z-index:1;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.app-shell.review-mode{height:100dvh;max-height:100dvh;overflow:hidden}.page{z-index:2;width:min(920px,100%);padding:var(--pad);padding-left:calc(var(--pad) + var(--safe-left));padding-right:calc(var(--pad) + var(--safe-right));flex:1;min-width:0;min-height:0;margin:0 auto;position:relative}.page.review-layout{gap:var(--gap);padding-top:calc(8px + var(--safe-top));padding-bottom:calc(8px + var(--safe-bottom));flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.steps{display:none}.pdf-stage{border-radius:var(--radius);background:#2a2320;border:1px solid #ffffff24;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000059}.pdf-stage.glass-panel{-webkit-backdrop-filter:none;backdrop-filter:none;isolation:auto;background:#2a2320}.pdf-stage.glass-panel:before,.pdf-stage.glass-panel:after{content:none;display:none}.pdf-toolbar{background:#00000040;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.pdf-toolbar button{color:var(--ink);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;min-width:44px;min-height:36px;padding:0 10px;font-size:.8rem;font-weight:600}.pdf-toolbar button:disabled{opacity:.35;cursor:not-allowed}.pdf-toolbar span{color:var(--ink-soft);font-size:.8rem}.pdf-scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#3a322e;flex:1 1 0;min-width:0;min-height:0;padding:clamp(6px,1.5vw,12px);overflow:hidden auto}.pdf-page{background:#fff;border-radius:4px;width:100%;max-width:100%;height:auto;margin:0 auto 10px;display:block;box-shadow:0 8px 24px #0000004d}.pdf-page:last-child{margin-bottom:0}.pdf-skeleton{z-index:3;background:#14100e8c;place-items:center;display:grid;position:absolute;inset:0}.pdf-skeleton-card{aspect-ratio:1/1.32;background:linear-gradient(110deg,#ffffff0f 20%,#ffffff38 50%,#ffffff0f 80%) 0 0/200% 100%;border:1px solid #ffffff2e;border-radius:12px;width:min(200px,55%);animation:1.3s ease-in-out infinite shimmer}.pdf-error{text-align:center;color:#ffb4b4;margin:0;padding:12px;font-size:.9rem}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.action-bar{gap:var(--gap);z-index:5;flex:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);width:100%;max-width:min(440px,100%);margin:0 auto;padding:0;display:grid}.error-toast{text-align:center;word-break:break-word;border-radius:14px;flex-shrink:0;padding:10px 12px}.error-toast p{color:#ffc2c2;margin:0 0 8px;font-size:.88rem}.error-toast .btn{width:auto;max-width:100%;min-height:44px;margin:0 auto;padding:8px 16px}.btn{min-height:var(--btn-h);width:100%;font-family:var(--font);letter-spacing:-.02em;white-space:nowrap;border:none;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px clamp(8px,2.5vw,14px);font-size:clamp(.85rem,2.8vw,.95rem);font-weight:600;transition:transform .14s,opacity .14s;display:inline-flex}.btn svg{flex-shrink:0;width:18px;height:18px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-approve{color:#fff;background:linear-gradient(#45d485 0%,#178a48 100%);box-shadow:0 10px 24px #178a4859}.btn-reject{color:#ffe0e0;background:#ff505024;border:1px solid #ff828259}.btn-reject-solid{color:#fff;background:linear-gradient(#ff6a6a 0%,#b01c1c 100%)}.btn-primary{color:#fff;background:linear-gradient(#ff5c5c 0%,#c01f1f 100%)}.btn-ghost{color:var(--ink);background:#ffffff1a;border:1px solid #ffffff2e}.center-state{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));text-align:center;z-index:2;flex:1;place-items:center;display:grid;position:relative}.center-card{border-radius:clamp(18px,4vw,24px);width:min(400px,100%);padding:clamp(20px,4vw,28px) clamp(16px,4vw,22px)}.center-card h2{font-family:var(--display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.55rem,6vw,2.2rem);font-style:italic;font-weight:600;line-height:1.15}.center-card p{color:var(--ink-soft);margin:0;font-size:clamp(.88rem,3.2vw,.95rem);line-height:1.5}.center-card .hint{letter-spacing:.04em;text-transform:uppercase;color:#faf6f073;margin-top:16px;font-size:.75rem}.center-card.success h2{color:var(--ok)}.center-card.rejected h2{color:var(--bad)}.center-card.expired h2{color:var(--warn)}.spinner{border:3px solid #ffffff1f;border-top-color:var(--brand);border-radius:50%;width:40px;height:40px;margin:0 auto 14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:80;padding:max(12px, var(--safe-top)) max(12px, var(--safe-right)) max(12px, var(--safe-bottom)) max(12px, var(--safe-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;place-items:end center;display:grid;position:fixed;inset:0}.modal-sheet{width:min(520px,100%);max-width:100%;padding:18px 16px calc(16px + var(--safe-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:24px 24px 18px 18px;max-height:min(90dvh,90vh,900px);overflow:auto}.modal-sheet h3{font-family:var(--display);letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.35rem,5vw,1.8rem);font-style:italic;font-weight:600}.modal-sheet p{color:var(--ink-soft);margin:0 0 12px;font-size:clamp(.86rem,3vw,.92rem);line-height:1.45}.sig-pad{margin-bottom:4px}.sig-canvas-wrap{touch-action:none;background:#fff;border:1px solid #ffffff59;border-radius:14px;margin-bottom:10px;overflow:hidden}.sig-canvas-wrap canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:clamp(140px,28vh,200px);display:block}.sig-clear{min-height:44px;margin-bottom:8px}.modal-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:4px;display:grid}.boot-screen{z-index:1;min-height:100dvh;padding:calc(20px + var(--safe-top)) calc(16px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(16px + var(--safe-left));place-items:center;display:grid;position:relative}.boot-card{text-align:center;border-radius:clamp(20px,5vw,28px);width:min(340px,100%);padding:clamp(22px,5vw,28px) clamp(16px,4vw,22px) clamp(20px,4vw,24px)}.boot-halo{display:none}.boot-orb-ring{background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:clamp(96px,28vw,120px);height:clamp(96px,28vw,120px);margin:0 auto 18px;display:grid;box-shadow:inset 0 1px #ffffff4d}.boot-orb-ring:before{display:none}.boot-orb-core{place-items:center;display:grid}.boot-doc{aspect-ratio:1/1.28;background:linear-gradient(#fff,#f3ebe0);border:1px solid #ffffff80;border-radius:8px;flex-direction:column;gap:6px;width:clamp(48px,14vw,58px);padding:10px 8px;display:flex;box-shadow:0 8px 18px #00000040}.boot-doc span{background:#e6ddd0;border-radius:999px;height:5px;display:block}.boot-doc span:first-child{width:70%}.boot-doc span:nth-child(2){width:90%}.boot-doc span:nth-child(3){width:55%}.boot-track{background:#ffffff1f;border-radius:999px;width:min(180px,70%);height:4px;margin:0 auto 14px;overflow:hidden}.boot-bar{border-radius:inherit;background:linear-gradient(90deg,#ff4d4d,#ff9a6b);width:40%;height:100%;animation:1s ease-in-out infinite boot-slide}.boot-title{font-family:var(--display);letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(1.35rem,5.5vw,1.75rem);font-style:italic;font-weight:600}.boot-sub{color:var(--ink-soft);margin:0;font-size:clamp(.84rem,3vw,.9rem)}.boot-screen.is-submit .boot-bar{background:linear-gradient(90deg,#178a48,#6dffb0)}@keyframes boot-slide{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media (width<=380px){.btn{gap:4px;padding-left:8px;padding-right:8px;font-size:.82rem}.btn svg{width:16px;height:16px}.action-bar{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}@media (height<=500px) and (orientation:landscape){:root{--btn-h:44px;--gap:6px}.page.review-layout{padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom))}.boot-orb-ring{width:72px;height:72px;margin-bottom:10px}.boot-card{padding:14px 16px}.modal-backdrop{place-items:center}.modal-sheet{border-radius:16px;max-height:min(94dvh,94vh)}.sig-canvas-wrap canvas{height:110px}}@media (width>=768px){.modal-backdrop{place-items:center}.modal-sheet{border-radius:24px}}@media (width>=1024px){.page.review-layout{padding-top:14px;padding-bottom:calc(14px + var(--safe-bottom))}}@media (width<=768px){.glass-blob{opacity:.45;filter:blur(26px)}}@media (prefers-reduced-motion:reduce){.boot-bar,.pdf-skeleton-card,.spinner{animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-panel,.modal-backdrop{background:#241c18f2}}
