:root{--green:#9fe870;--forest:#163300;--ink:#0e0f0c;--sub:#454745;--line:#e4e6e0;--bg:#fff;--card:#f2f5ef;--radius:20px;--danger:#a8200d;--amber:#edc843;--font:"Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}input,select{font-family:inherit}html,body,*{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible){outline:none}.shell{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.wide{max-width:1200px}.topbar{justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.logo{letter-spacing:-.5px;color:var(--forest);align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.logo .dot{background:var(--green);border-radius:50%;width:12px;height:12px;display:inline-block}h1{letter-spacing:-1.2px;color:var(--forest);font-size:clamp(28px,7vw,40px);font-weight:800;line-height:1.1}h2{letter-spacing:-.6px;color:var(--forest);font-size:24px;font-weight:750}h3{font-size:17px;font-weight:700}.sub{color:var(--sub);font-size:15px}.tiny{color:var(--sub);font-size:12.5px}.btn{border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 28px;font-size:16px;font-weight:700;transition:transform .15s cubic-bezier(.2,.9,.3,1.4),box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--green);color:var(--forest)}.btn-primary:hover{background:#8ede59;box-shadow:0 6px 20px #9fe87073}.btn-dark{background:var(--forest);color:#fff}.btn-dark:hover{box-shadow:0 6px 20px #1633004d}.btn-ghost{color:var(--forest);border:2px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--forest)}.btn:disabled{opacity:.45;pointer-events:none}.btn-sm{width:auto;padding:9px 18px;font-size:14px}.card{background:var(--card);border-radius:var(--radius);padding:22px}.card-white{border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.field{margin-bottom:16px}.field label{color:var(--forest);margin-bottom:6px;font-size:13.5px;font-weight:650;display:block}.input{border:1.5px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:14px 16px;font-size:16px;transition:border-color .18s,box-shadow .18s}.input:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px #9fe87066}.input.err{border-color:var(--danger)}.hint{color:var(--sub);margin-top:4px;font-size:12.5px}.hint.err{color:var(--danger)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:650;transition:all .18s}.chip.on{background:var(--forest);color:var(--green);border-color:var(--forest)}input[type=range]{-webkit-appearance:none;background:linear-gradient(to right, var(--forest) 0%, var(--forest) var(--pct,50%), var(--line) var(--pct,50%));border-radius:3px;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--green);border:3px solid var(--forest);cursor:grab;border-radius:50%;width:28px;height:28px;transition:transform .12s;box-shadow:0 2px 8px #0000002e}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}.badge{border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;display:inline-block}.b-submitted{color:#1a49b8;background:#e8f0fe}.b-under_review{color:#8a6a00;background:#fff3d6}.b-approved,.b-accepted{color:var(--forest);background:#dff5cc}.b-disbursed{background:var(--forest);color:var(--green)}.b-rejected{color:var(--danger);background:#fbe2de}.b-declined{color:var(--sub);background:#eee}.stepper{gap:6px;margin:8px 0 20px;display:flex}.stepper i{background:var(--line);border-radius:2px;flex:1;height:4px;transition:background .3s}.stepper i.on{background:var(--green)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.rise{animation:.45s cubic-bezier(.2,.8,.3,1) both rise}.rise-1{animation-delay:60ms}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.18s}.pop{animation:.5s cubic-bezier(.3,1.4,.5,1) both pop}.screen{animation:.38s cubic-bezier(.2,.8,.3,1) both rise}.big-num{font-variant-numeric:tabular-nums;letter-spacing:-1.5px;color:var(--forest);font-size:clamp(34px,9vw,48px);font-weight:800}.kv{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:14.5px;display:flex}.kv:last-child{border-bottom:none}.kv b{color:var(--forest);font-weight:700}#toast{background:var(--forest);color:#fff;opacity:0;z-index:99;border-radius:999px;max-width:90vw;padding:12px 22px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.2,.8,.3,1.3);position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(80px)}#toast.show{opacity:1;transform:translate(-50%)}.spinner{border:3px solid var(--line);border-top-color:var(--forest);border-radius:50%;width:26px;height:26px;margin:0 auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.drop{border:2px dashed var(--line);text-align:center;color:var(--sub);cursor:pointer;background:#fff;border-radius:14px;padding:16px;font-size:14px;transition:all .2s}.drop:hover,.drop.has{border-color:var(--forest)}.drop.has{color:var(--forest);background:#f4fbee;border-style:solid;font-weight:650}.drop-label{justify-content:center;align-items:center;gap:8px;display:inline-flex}.doc-row{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:13px;margin-bottom:12px;padding:15px 16px;transition:all .18s;display:flex}.doc-row:hover{border-color:var(--forest)}.doc-row.done{border-color:var(--forest);background:#f4fbee}.doc-row .doc-ic{background:var(--card);width:42px;height:42px;color:var(--sub);border-radius:12px;flex:none;justify-content:center;align-items:center;transition:all .18s;display:flex}.doc-row.done .doc-ic{background:var(--green);color:var(--forest)}.doc-row b{font-size:14.5px}.linkbtn{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12.5px;font-weight:650}.navrow{align-items:center;gap:10px;margin-bottom:14px;display:flex}.backbtn{border:1.5px solid var(--line);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .15s;display:flex}.backbtn:hover{border-color:var(--forest);transform:translate(-2px)}main{flex:1;padding:0 20px 40px}.selfie-stage{width:190px;height:190px;margin:8px auto 14px;position:relative}.selfie-face{border:3px dashed var(--forest);border-radius:50%;animation:2.4s infinite breathe;position:absolute;inset:0}@keyframes breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.figure-head{background:var(--forest);border-radius:50%;width:54px;height:54px;position:absolute;top:27%;left:50%;transform:translate(-50%)}.figure-body{background:var(--forest);border-radius:46px 46px 0 0;width:92px;height:50px;position:absolute;top:57%;left:50%;transform:translate(-50%)}.selfie-card{background:var(--green);border:2.5px solid var(--forest);box-sizing:border-box;border-radius:8px;width:84px;height:54px;padding:7px 8px;animation:3s cubic-bezier(.3,1,.4,1) infinite raise;position:absolute;top:50%;left:50%}.selfie-card i{background:var(--forest);opacity:.75;border-radius:2px;height:4px;margin-bottom:4px;display:block}.selfie-card i:first-child{width:55%}.selfie-card i:nth-child(2){width:80%}.selfie-card i:nth-child(3){width:65%}.selfie-card:before{content:"";background:var(--forest);opacity:.8;border-radius:4px;width:16px;height:20px;position:absolute;top:7px;right:7px}@keyframes raise{0%,12%{opacity:0;transform:translate(-50%,120px)rotate(-14deg)}38%,78%{opacity:1;transform:translate(8px,28px)rotate(0)}95%,to{opacity:0;transform:translate(8px,28px)rotate(0)}}.selfie-tips div{color:var(--sub);align-items:center;gap:10px;margin:8px 0;font-size:13.5px;display:flex}.scan-stage{width:220px;height:150px;margin:6px auto 16px;position:relative}.scan-card{border:2.5px solid var(--forest);background:#fff;border-radius:12px;padding:12px 14px;position:absolute;inset:10px 20px}.scan-card i{background:var(--line);border-radius:3px;height:5px;margin-bottom:7px;display:block}.scan-card i:first-child{background:var(--forest);opacity:.7;width:60%}.scan-card i:nth-child(2){width:85%}.scan-card i:nth-child(3){width:70%}.scan-card i:nth-child(4){width:45%}.scan-card:after{content:"";background:var(--card);border:1.5px solid var(--line);border-radius:5px;width:26px;height:32px;position:absolute;top:12px;right:12px}.scan-line{background:var(--green);border-radius:2px;height:3px;animation:2.2s ease-in-out infinite sweep;position:absolute;left:12px;right:12px;box-shadow:0 0 12px 2px #9fe870cc}@keyframes sweep{0%,to{top:14px}50%{top:130px}}.scan-corners{position:absolute;inset:0}.scan-corners b{border:3px solid var(--forest);width:22px;height:22px;position:absolute}.scan-corners b:first-child{border-bottom:0;border-right:0;border-radius:6px 0 0;top:0;left:0}.scan-corners b:nth-child(2){border-bottom:0;border-left:0;border-radius:0 6px 0 0;top:0;right:0}.scan-corners b:nth-child(3){border-top:0;border-right:0;border-radius:0 0 0 6px;bottom:0;left:0}.scan-corners b:nth-child(4){border-top:0;border-left:0;border-radius:0 0 6px;bottom:0;right:0}.dp-input{cursor:pointer;position:relative}.dp-pop{z-index:30;border:1.5px solid var(--line);background:#fff;border-radius:16px;padding:14px;animation:.22s cubic-bezier(.3,1.3,.5,1) both pop;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 32px #0e0f0c24}.dp-head{gap:8px;margin-bottom:10px;display:flex}.dp-head select{border:1.5px solid var(--line);background:#fff;border-radius:10px;flex:1;padding:9px 10px;font-size:15px;font-weight:650}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-grid span{text-align:center;color:var(--sub);padding:4px 0;font-size:11.5px;font-weight:700}.dp-grid button{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:14px;font-weight:600;transition:all .12s}.dp-grid button:hover{background:var(--card)}.dp-grid button.sel{background:var(--forest);color:var(--green)}.dp-grid button:disabled{opacity:.25;cursor:default}.consent-row{cursor:pointer;border-bottom:1px solid var(--line);color:var(--forest);align-items:flex-start;gap:11px;padding:11px 0;font-size:14px;line-height:1.45;display:flex}.consent-row:last-child{border-bottom:none}.consent-row input{width:20px;height:20px;accent-color:var(--forest);cursor:pointer;flex:none;margin-top:1px}.src-opt{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:13px;margin-bottom:10px;padding:14px 16px;transition:all .18s;display:flex}.src-opt:hover{border-color:var(--forest)}.src-opt.sel{border-color:var(--forest);background:#f4fbee;box-shadow:0 2px 10px #1633000f}.src-opt .src-ic{border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;transition:all .18s;display:flex}.src-opt b{color:var(--forest);font-size:14.5px}.src-opt .src-tick{border:1.5px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;transition:all .18s;display:flex}.src-opt .src-tick.on{background:var(--green);border-color:var(--forest);color:var(--forest)}.soc{align-items:center;gap:12px;margin-bottom:12px;display:flex}.soc .icb{color:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:800;display:flex}.inst{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:14.5px;display:flex}.inst:last-child{border:none}.inst .st{font-size:12px;font-weight:700}.st-paid{color:var(--forest)}.st-overdue{color:var(--danger)}.st-upcoming{color:var(--sub)}.st-due,.st-partial{color:#8a6a00}.contact-card{border:1.5px solid var(--line);border-radius:14px;margin-bottom:12px;padding:14px;position:relative}.contact-card .rm{position:absolute;top:10px;right:10px}.mini{border:1.5px solid var(--line);color:var(--danger);background:#fff;border-radius:8px;padding:5px 8px;font-size:12px}.cc-badge{border:1.5px solid var(--line);color:var(--forest);background:var(--card);border-radius:12px;flex:none;padding:12px 13px;font-weight:700}.contract-box{border:1.5px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:14px;max-height:300px;padding:16px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.7;overflow-y:auto}.sign-pad{border:2px dashed var(--forest);background:#fdfff9;border-radius:14px;padding:4px 14px}.cam-bg{z-index:60;background:#0e0f0ceb;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.cam-bg video{border-radius:18px;width:min(92vw,420px);transform:scaleX(-1)}.cam-shutter{background:var(--green);cursor:pointer;border:5px solid #fff;border-radius:50%;width:72px;height:72px}.plan-opt{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;margin-bottom:12px;padding:16px;transition:all .15s}.plan-opt:hover{border-color:var(--forest)}.plan-opt.sel{border-color:var(--forest);background:#f4fbee}.payout-stage{width:230px;height:120px;margin:0 auto 22px;position:relative}.payout-bank{background:var(--forest);width:64px;height:64px;color:var(--green);border-radius:16px;justify-content:center;align-items:center;animation:1.1s infinite bank-bump;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}@keyframes bank-bump{0%,55%,to{transform:translateY(-50%)scale(1)}65%{transform:translateY(-50%)scale(1.08)}}.payout-coin{background:var(--green);border:3px solid var(--forest);width:34px;height:34px;color:var(--forest);border-radius:50%;justify-content:center;align-items:center;margin-top:-17px;font-size:16px;font-weight:800;animation:1.1s cubic-bezier(.45,0,.6,1) infinite coin-fly;display:flex;position:absolute;top:50%;left:0}.payout-coin.c2{width:26px;height:26px;margin-top:-13px;font-size:12px;animation-delay:.36s}.payout-coin.c3{width:20px;height:20px;margin-top:-10px;font-size:10px;animation-delay:.72s}@keyframes coin-fly{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1;transform:translate(18px)scale(1)}78%{opacity:1}to{opacity:0;transform:translate(150px)scale(.45)}}.payout-trail{border-radius:2px;height:3px;margin-top:-1.5px;position:absolute;top:50%;left:8px;right:76px;overflow:hidden}.payout-trail:before{content:"";background:repeating-linear-gradient(90deg, var(--line) 0 14px, transparent 14px 26px);animation:.5s linear infinite trail-move;position:absolute;inset:0}@keyframes trail-move{to{transform:translate(-26px)}}.payout-zip{background:var(--green);opacity:.8;border-radius:2px;width:22px;height:3px;position:absolute}.payout-zip.z1{animation:1s ease-in infinite zip;top:24%;left:12%}.payout-zip.z2{animation:1s ease-in .45s infinite zip;top:74%;left:26%}@keyframes zip{0%{opacity:0;transform:translate(0)}25%{opacity:.8}to{opacity:0;transform:translate(110px)}}.advisor-row{background:#f4fbee;border-bottom:none;border-radius:12px;margin:0 -10px 2px;padding:10px}.congrats-card{text-align:center;background:var(--forest);color:#fff;border-radius:20px;margin-bottom:14px;padding:22px 18px 20px;animation:.5s cubic-bezier(.3,1.4,.5,1) both pop;position:relative;overflow:hidden}.congrats-card .halo{pointer-events:none;background:radial-gradient(circle,#9fe8706b 0%,#9fe87000 65%);border-radius:50%;width:190px;height:190px;margin:-95px;animation:2.2s ease-out .5s infinite halo-pulse;position:absolute;top:42%;left:50%}@keyframes halo-pulse{0%{opacity:.9;transform:scale(.7)}70%{opacity:0;transform:scale(1.25)}to{opacity:0}}.congrats-kicker{letter-spacing:.4px;color:var(--green);text-transform:uppercase;font-size:13px;font-weight:700}.congrats-amount{letter-spacing:-1px;color:#fff;font-variant-numeric:tabular-nums;margin:2px 0;font-size:40px;font-weight:800;line-height:1.15;animation:.6s cubic-bezier(.3,1.4,.5,1) .15s both amount-in}@keyframes amount-in{0%{opacity:0;transform:scale(.62)}to{opacity:1;transform:none}}.congrats-sub{color:#ffffffd1;font-size:13.5px}.congrats-badge{background:var(--green);color:var(--forest);border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:6px 14px;font-size:12.5px;font-weight:750;animation:.45s cubic-bezier(.3,1.4,.5,1) 1s both pop;display:inline-flex}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-12px;left:var(--x,50%);background:var(--c,var(--green));opacity:0;width:8px;height:13px;animation:confetti-fall var(--t,2.1s) cubic-bezier(.25,.4,.6,1) var(--d,0s) both;border-radius:2px;position:absolute}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}8%{opacity:1}82%{opacity:1}to{transform:translateY(300px) rotate(var(--r,520deg));opacity:0}}
