@font-face{font-family:Figtree;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/figtree-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/outfit-latin.woff2)format("woff2")}:root{--brand-deep:#102f4e;--primary:#2d5e86;--primary-hover:#244e70;--brand-muted:#d2e2ec;--background:#f7f9fa;--foreground:#102f4e;--card:#fff;--muted:#e9f0f4;--muted-foreground:#536676;--border:#c5d5df;--destructive:#b42318;--destructive-bg:#fff0ee;--radius:.5rem;color:var(--foreground);background:var(--background);font-synthesis:none;font-family:Figtree,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}.app-shell{background:var(--background);width:100%;min-height:100vh;display:flex}.brand{width:42%;min-height:100vh;color:var(--background);background:var(--brand-deep);flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.brand-watermark{color:#f7f9fa09;-webkit-user-select:none;user-select:none;font-family:Outfit,sans-serif;font-size:clamp(15rem,22vw,23rem);font-weight:800;line-height:.75;position:absolute;bottom:-3.5rem;left:-3.5rem}.brand-content,.brand>p{z-index:1;position:relative}.brand-content{animation:.6s ease-out both fade-in}.brand-logo{object-fit:contain;object-position:left;width:12rem;height:auto;margin-bottom:3.5rem;display:block}.brand-heading{max-width:32rem}.eyebrow,.step-label,.mobile-brand>span,footer span{text-transform:uppercase;font-family:JetBrains Mono,monospace}.eyebrow{color:var(--brand-muted);letter-spacing:.08em;font-size:.75rem;font-weight:600}h1,h2{text-wrap:balance;font-family:Outfit,sans-serif}h1{letter-spacing:-.035em;margin:1.5rem 0 0;font-size:clamp(3rem,4.25vw,4rem);font-weight:700;line-height:1.05}.brand>p{color:#d2e2eccc;max-width:24rem;margin:0;font-size:1.125rem;line-height:1.65}.panel{flex:1;justify-content:center;align-items:center;min-height:100vh;padding:3.5rem;display:flex;overflow-y:auto}.panel-content,.mobile-brand{width:100%;max-width:28.75rem}.mobile-brand{display:none}.progress{align-items:center;width:100%;margin-bottom:3rem;display:flex}.progress span{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted-foreground);background:var(--background);border-radius:50%;flex:0 0 2rem;place-items:center;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;transition:border-color .18s,background-color .18s,color .18s;display:grid}.progress span.active,.progress span.done{border-color:var(--primary);color:var(--background);background:var(--primary)}.progress span svg{width:1rem;height:1rem}.progress i{background:var(--border);flex:1;height:1px;margin:0 .75rem;transition:background-color .18s}.progress i.done{background:var(--primary)}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.step-content{animation:.42s cubic-bezier(.16,1,.3,1) both step-enter}.step-header{margin-bottom:2rem}.step-label{color:var(--primary);letter-spacing:.04em;margin:0 0 .75rem;font-size:.75rem;font-weight:600}h2{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3vw,2.25rem);font-weight:700;line-height:1.1}.muted{color:var(--muted-foreground);margin:.75rem 0 0;line-height:1.6}form{gap:1.25rem;display:grid}label{color:var(--foreground);letter-spacing:.025em;text-transform:uppercase;gap:.5rem;font-size:.75rem;font-weight:600;display:grid}input,select{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:3rem;color:var(--foreground);background:var(--card);letter-spacing:0;text-transform:none;outline:none;padding:0 1rem;font-size:1rem;font-weight:400;transition:border-color .18s,box-shadow .18s}input::placeholder{color:#536676b3}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2d5e861a}.select-wrap{display:block;position:relative}select{appearance:none;padding-right:2.75rem}.chevron{pointer-events:none;width:1rem;height:1rem;color:var(--muted-foreground);position:absolute;top:50%;right:1rem;transform:translateY(-50%)}label small{color:var(--muted-foreground);letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:400;line-height:1.45}label small.field-error{color:var(--destructive)}input[aria-invalid=true]{border-color:var(--destructive)}.welcome{border-radius:var(--radius);color:var(--brand-deep);background:#d2e2ec8c;margin:0;padding:.75rem 1rem;font-size:.875rem}button{border:1px solid var(--primary);border-radius:var(--radius);width:100%;min-height:3rem;color:var(--background);background:var(--primary);cursor:pointer;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;transition:border-color .18s,background-color .18s,box-shadow .18s}button:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}button:focus-visible{outline:none;box-shadow:0 0 0 4px #2d5e862e}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{color:var(--primary);background:0 0}button.secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#d2e2ec80}.actions{gap:.75rem;display:grid}.login-alternatives{margin-top:.75rem}.error{border:1px solid #b4231833;border-left:3px solid var(--destructive);border-radius:var(--radius);color:#8b1d14;background:var(--destructive-bg);margin-bottom:1.5rem;padding:.9rem 1rem;font-size:.875rem;line-height:1.45}.status{gap:1.75rem;display:grid}.status .step-header{margin:0}.status-icon{width:3.5rem;height:3.5rem;color:var(--primary);background:var(--brand-muted);border-radius:50%;place-items:center;display:grid}.status-icon svg{width:1.75rem;height:1.75rem}.portal-content{max-width:31rem}.portal-state{gap:1.75rem;animation:.42s cubic-bezier(.16,1,.3,1) both step-enter;display:grid}.portal-state .step-header{margin:0}.portal-mark{width:3.75rem;height:3.75rem;color:var(--primary);background:var(--brand-muted);border-radius:1rem;place-items:center;display:grid}.portal-mark svg{width:2rem;height:2rem}.portal-actions{grid-template-columns:1fr 1fr}.auth-links{justify-content:space-between;gap:1rem;margin:1rem 0 0;display:flex}button.link{color:var(--primary);box-shadow:none;background:0 0;border:0;padding:0;font-size:.875rem;font-weight:600}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.spinner{border:3px solid var(--brand-muted);border-top-color:var(--primary);border-radius:50%;width:2.75rem;height:2.75rem;animation:.8s linear infinite spin}.processing{color:var(--muted-foreground);text-align:center;margin:1rem 0 0;font-size:.875rem}footer{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:center;align-items:center;gap:.5rem;margin-top:2.5rem;padding-top:1.75rem;display:flex}footer svg{width:1rem;height:1rem}footer span{letter-spacing:.04em;font-size:.625rem}@keyframes step-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1280px){.brand{padding:4rem}}@media (width<=1023px){.brand{display:none}.panel{flex-direction:column;justify-content:center;min-height:100vh;padding:2.5rem;display:flex}.mobile-brand{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.mobile-logo{background:var(--brand-deep);border-radius:.375rem;align-items:center;min-height:2.75rem;padding:.5rem .75rem;display:flex}.mobile-logo img{width:auto;height:1.75rem;display:block}.mobile-brand>span{color:var(--muted-foreground);letter-spacing:.04em;font-size:.625rem}}@media (width<=560px){.panel{justify-content:flex-start;padding:2rem 1.5rem}.mobile-brand,.progress{margin-bottom:2.5rem}.progress i{margin:0 .5rem}h2{font-size:2rem}.portal-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1023px){.identity-panel{justify-content:flex-start;padding:1rem}.identity-panel .mobile-brand{margin-bottom:1rem}.identity-panel .mobile-logo{min-height:2rem;padding:.35rem .55rem}.identity-panel .mobile-logo img{height:1.3rem}.identity-panel .progress{display:none}.identity-panel .step-header{margin-bottom:.85rem}.identity-panel .step-label{margin-bottom:.3rem;font-size:.65rem}.identity-panel h2{font-size:1.5rem;line-height:1.15}.identity-panel .step-header .muted{display:none}.identity-panel form{gap:.85rem}}.kyc-capture{min-width:0;margin-bottom:1.5rem}.kyc-steps{border:1px solid var(--border);background:#f7f9fc;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1.5rem;padding:.65rem;list-style:none;display:grid}.kyc-steps li{color:var(--muted-foreground);justify-content:center;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.kyc-steps li>span{background:#e8edf3;border-radius:50%;flex:none;place-items:center;width:1.65rem;height:1.65rem;font-size:.75rem;display:grid}.kyc-steps li.current{color:var(--primary)}.kyc-steps li.current>span{background:var(--primary);color:#fff;box-shadow:0 0 0 3px #dfeaf3}.kyc-steps li.done>span{color:#246c53;background:#e0f0e8}.kyc-heading{margin-bottom:1rem}.kyc-eyebrow{color:var(--primary);letter-spacing:.13em;font-size:.65rem;font-weight:700}.kyc-heading h3{letter-spacing:-.025em;color:var(--foreground);margin:.35rem 0 .45rem;font-size:1.2rem}.kyc-help{color:var(--muted-foreground);margin:0;font-size:.88rem;line-height:1.55}.kyc-document{gap:.75rem;min-width:0;display:grid;position:relative}.kyc-file{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kyc-document-preview{aspect-ratio:1.586;background:#f4f7fa;border:1px dashed #bdcddd;border-radius:16px;place-items:center;display:grid;overflow:hidden}.kyc-document-preview:has(img){border-style:solid}.kyc-document-preview:has(>.kyc-photo){place-items:stretch stretch}.kyc-document-preview img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.kyc-placeholder{text-align:center;color:var(--primary);flex-direction:column;align-items:center;gap:.55rem;padding:1rem;display:flex}.kyc-placeholder svg{width:56px;height:56px;margin-bottom:.25rem}.kyc-placeholder strong{font-size:.95rem}.kyc-placeholder>span:not(.kyc-spinner),.kyc-placeholder small{color:var(--muted-foreground);font-size:.78rem;line-height:1.45}.kyc-document-preview.is-processing{background:linear-gradient(110deg,#edf2f7 20%,#fafcfe 45%,#edf2f7 70%) 0 0/250% 100%;border-style:solid;animation:2.5s ease-in-out infinite kyc-shimmer}.kyc-spinner{border:2px solid #ccdce9;border-top-color:var(--primary);border-radius:50%;flex:none;width:26px;height:26px;animation:.8s linear infinite kyc-spin;display:inline-block}.kyc-capture button{border-radius:10px;width:100%;min-height:3rem;margin-top:.75rem}.kyc-caption{color:var(--muted-foreground);text-align:center;margin:.65rem 0;font-size:.75rem;line-height:1.5}.kyc-document .kyc-caption{margin:0}.kyc-stage{isolation:isolate;background:#18364b;border-radius:20px;width:100%;height:clamp(250px,43vh,370px);margin:0 auto;scroll-margin-top:1rem;position:relative;overflow:hidden}.kyc-stage .kyc-video{object-fit:cover;background:#18364b;width:100%;height:100%;max-height:none;margin:0;display:block;transform:scaleX(-1)}.kyc-face-frame{pointer-events:none;position:absolute;inset:0}.kyc-face-oval{aspect-ratio:3/4;border-radius:50%;max-width:78%;height:71%;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2000px #08182873}.kyc-face-oval svg{width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px;overflow:visible}.kyc-oval-track,.kyc-oval-progress{fill:none;stroke-width:8px}.kyc-oval-track{stroke:#fff}.kyc-oval-progress{stroke:#3ddc97;stroke-linecap:round}.kyc-face-oval.is-holding .kyc-oval-progress{transition:stroke-dashoffset .12s linear}.kyc-face-oval.is-done .kyc-oval-track{stroke:#3ddc97}.kyc-oval-check{color:#fff;background:#14915f;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.15rem;font-weight:700;display:grid;position:absolute;bottom:6%;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000059}.kyc-camera-badge{z-index:3;color:#fff;letter-spacing:.08em;background:#102a3dbb;border-radius:20px;align-items:center;gap:7px;padding:7px 10px;font-size:.58rem;display:flex;position:absolute;top:10px;left:10px}.kyc-camera-badge i{background:#8be3bf;border-radius:50%;width:6px;height:6px}.kyc-camera-instruction{z-index:3;color:#fff;text-align:center;text-shadow:0 1px 2px #000c,0 2px 14px #000000a6;margin:0;font-size:1.02rem;font-weight:700;line-height:1.35;position:absolute;bottom:14px;left:16px;right:16px}.kyc-voice{display:none}.kyc-stage .kyc-live-steps{z-index:3;background:#102a3dc7;border-radius:999px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 1.2rem);margin:0;padding:.28rem .55rem;display:flex;position:absolute;top:46px;left:50%;transform:translate(-50%)}.kyc-stage .kyc-live-steps li{color:#d5e2ec}.kyc-stage .kyc-live-steps li>span{color:#fff;background:#ffffff29}.kyc-stage .kyc-live-steps li.current{color:#fff}.kyc-stage .kyc-live-steps li.current>span{background:var(--primary)}.kyc-stage .kyc-live-steps li.done>span{color:#fff;background:#14915f}.kyc-capture button.kyc-face-placeholder{width:100%;min-height:0;color:inherit;font:inherit;text-align:center;cursor:pointer;background:radial-gradient(at top,#e4edf6,#f7fafc 70%);border:1px solid #dce6ef;border-radius:20px;flex-direction:column;align-items:center;margin-top:0;padding:1.75rem 1rem 1.25rem;display:flex}.kyc-capture button.kyc-face-placeholder:hover:not(:disabled){background:radial-gradient(at top,#dce8f4,#f7fafc 70%);border-color:#b7ccdf}.kyc-capture button.kyc-face-placeholder:disabled{cursor:default}.kyc-portrait-art{width:110px;height:128px;color:var(--primary);background:#ffffffa6;border:1px solid #b7ccdf;border-radius:50%;place-items:center;margin-bottom:1.25rem;display:grid;box-shadow:0 0 0 9px #ffffff50,0 0 0 10px #d9e5ef}.kyc-portrait-art svg{width:70px;height:70px}.kyc-face-placeholder>strong{color:#23465f;font-size:1.05rem}.kyc-face-placeholder p{color:var(--muted-foreground);margin:.5rem 0 1.15rem;font-size:.85rem;line-height:1.6}.kyc-face-tips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.kyc-face-tips span{color:#486477;background:#ffffffa6;border:1px solid #dce6ef;border-radius:7px;padding:.4rem .65rem;font-size:.7rem}.kyc-live-steps{justify-content:center;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.kyc-live-steps li{align-items:center;gap:.3rem;font-size:.62rem;font-weight:600;display:flex}.kyc-live-steps li>span{border-radius:50%;place-items:center;width:16px;height:16px;font-size:.58rem;display:grid}.kyc-selfie{object-fit:contain;background:#eef3f7;border-radius:16px;width:100%;max-height:350px;display:block}.kyc-hidden{display:none}.kyc-status{color:var(--primary);align-items:center;gap:.7rem;font-size:.85rem;display:flex}.kyc-ready{color:#246c53;background:#edf7f1;border-radius:10px;margin:.75rem 0 0;padding:.85rem;font-size:.85rem;font-weight:600}@keyframes kyc-spin{to{transform:rotate(360deg)}}@keyframes kyc-shimmer{0%,to{background-position:100% 0}50%{background-position:0 0}}@media (width<=600px){.kyc-capture{width:100%}.panel-content{min-width:0}}@media (prefers-reduced-motion:reduce){.kyc-capture *,.kyc-capture :before{transition:none!important;animation:none!important}}@media (width<=1023px){.identity-panel .kyc-capture{margin-bottom:0}.identity-panel .kyc-steps{border-radius:10px;margin-bottom:.8rem;padding:.5rem}.identity-panel .kyc-steps li>span{width:1.4rem;height:1.4rem}.identity-panel .kyc-eyebrow{display:none}.identity-panel .kyc-heading{margin-bottom:.65rem}.identity-panel .kyc-heading h3{margin:0 0 .3rem;font-size:1.05rem}.identity-panel .kyc-help{font-size:.8rem;line-height:1.4}.identity-panel .kyc-face-placeholder{border-radius:14px;padding:1rem}.identity-panel .kyc-portrait-art{width:66px;height:76px;margin:.25rem 0 .85rem}.identity-panel .kyc-portrait-art svg{width:48px;height:48px}.identity-panel .kyc-face-placeholder p{margin:.4rem 0 .65rem;font-size:.8rem}.identity-panel .kyc-capture button{min-height:44px;margin-top:.6rem}.identity-panel .kyc-capture button.kyc-face-placeholder,.identity-panel .kyc-document-preview button.kyc-photo{min-height:0;margin-top:0}.identity-panel .kyc-capture[data-ready=true] .kyc-selfie{border-radius:12px;width:auto;max-width:100%;height:140px;margin:0 auto}.identity-panel .kyc-retake{background:0 0;border:0;width:auto;margin:.25rem auto 0;padding:.5rem 1rem;font-size:.8rem;display:block}.identity-panel .kyc-ready{margin-top:.35rem;padding:.55rem .75rem;font-size:.8rem}}.kyc-capture button.kyc-photo,.kyc-capture button.kyc-photo:hover:not(:disabled){width:100%;height:100%;min-height:0;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block}.kyc-capture button.kyc-photo:disabled{cursor:default}.kyc-capture button.kyc-selfie-photo,.kyc-capture button.kyc-selfie-photo:hover:not(:disabled){border-radius:16px;height:auto;margin-top:.75rem;overflow:hidden}.kyc-capture button.kyc-empty-picker{width:100%;height:100%;color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;margin:0}.kyc-capture button.kyc-empty-picker:hover:not(:disabled){background:#e8f0f7}.kyc-capture button.kyc-empty-picker:focus-visible{outline:3px solid var(--primary);outline-offset:-4px}.kyc-capture button.kyc-empty-picker:disabled{cursor:not-allowed}.kyc-camera-dialog{color:#fff;background:#102a3d;border:0;border-radius:24px;width:min(680px,100vw - 40px);max-width:none;max-height:calc(100dvh - 32px);padding:20px}.kyc-camera-dialog::backdrop{background:#030e18cc}.kyc-camera-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.kyc-camera-header h2{margin:0;font-size:1.2rem}.kyc-capture .kyc-camera-header button{color:#18364b;background:#fff;width:auto;min-height:44px;margin:0;padding:8px 16px}.kyc-camera-dialog .kyc-stage{height:min(650px,100dvh - 140px)}.kyc-camera-dialog .kyc-face-oval{width:auto;max-width:none;height:min(57%,80vw);top:48%}.kyc-camera-dialog .kyc-camera-instruction{background:#102a3de8;border-radius:12px;padding:14px;bottom:16px}.kyc-camera-dialog .kyc-live-steps{top:14px}.kyc-camera-dialog .kyc-camera-badge{display:none}.kyc-direction{color:#fff;text-align:center;pointer-events:none;text-shadow:0 2px 8px #000;font-size:3.5rem;position:absolute;top:76%;left:5%;right:5%}@media (width<=600px){.kyc-camera-dialog{box-sizing:border-box;width:100vw;height:100dvh;max-height:none;padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));border-radius:0;margin:0}.kyc-camera-dialog .kyc-stage{height:calc(100% - 68px)}}
