:root{--bg-void:#04060b;--bg-deep:#080c14;--bg-surface:#0c1220;--bg-raised:#111827;--bg-elevated:#162032;--bg-glass:rgba(12,18,32,0.72);--accent:#3b82f6;--accent-bright:#60a5fa;--accent-dim:#1d4ed8;--accent-glow:rgba(59,130,246,0.4);--accent-glow-intense:rgba(59,130,246,0.6);--accent-surface:rgba(59,130,246,0.06);--accent-surface-hover:rgba(59,130,246,0.12);--cyan:#22d3ee;--cyan-dim:#0891b2;--cyan-glow:rgba(34,211,238,0.35);--success:#10b981;--success-bright:#34d399;--success-glow:rgba(16,185,129,0.4);--success-surface:rgba(16,185,129,0.08);--danger:#ef4444;--danger-bright:#f87171;--danger-glow:rgba(239,68,68,0.4);--danger-surface:rgba(239,68,68,0.08);--warning:#f59e0b;--warning-surface:rgba(245,158,11,0.08);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--text-ghost:#334155;--border-ghost:rgba(148,163,184,0.06);--border-subtle:rgba(148,163,184,0.1);--border-medium:rgba(148,163,184,0.18);--border-accent:rgba(59,130,246,0.3);--font-heading:var(--font-plus-jakarta-sans),"Plus Jakarta Sans",system-ui,sans-serif;--font-body:var(--font-plus-jakarta-sans),"Plus Jakarta Sans",system-ui,sans-serif;--font-mono:var(--font-jetbrains-mono),"JetBrains Mono",monospace;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--shadow-glow:0 0 40px -8px var(--accent-glow);--shadow-glow-lg:0 0 80px -12px var(--accent-glow-intense);--shadow-card:0 4px 24px -4px rgba(0,0,0,0.4),0 0 0 1px var(--border-ghost);--shadow-elevated:0 12px 48px -8px rgba(0,0,0,0.6)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6}body:before{background:radial-gradient(ellipse 800px 500px at 15% 5%,rgba(59,130,246,.07) 0,transparent 70%),radial-gradient(ellipse 600px 400px at 85% 85%,rgba(34,211,238,.04) 0,transparent 70%),radial-gradient(ellipse 400px 300px at 50% 50%,rgba(59,130,246,.03) 0,transparent 70%)}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body:after{background-image:linear-gradient(rgba(148,163,184,.03) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.03) 1px,transparent 0);background-size:60px 60px}.app-container{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.app-header{justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--border-ghost);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);background:rgba(4,6,11,.75);position:sticky;top:0;z-index:100}.app-header,.app-logo{display:flex;align-items:center}.app-logo{gap:12px}.app-logo-icon{width:38px;height:38px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--accent),var(--cyan-dim));display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:17px;font-weight:800;color:white;box-shadow:0 0 24px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.15);position:relative}.app-logo-icon:after{content:"";position:absolute;inset:-2px;border-radius:calc(var(--r-sm) + 2px);border:1px solid rgba(59,130,246,.25)}.app-logo-text{font-family:var(--font-heading);font-weight:700;font-size:18px;letter-spacing:-.03em;color:var(--text-primary)}.app-logo-text span{background:linear-gradient(135deg,var(--accent-bright),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.18);padding:4px 12px;border-radius:100px}.app-main{flex:1 1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.screen{width:100%;max-width:500px;animation:screenReveal .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes screenReveal{0%{opacity:0;transform:translateY(20px) scale(.98);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.screen-header{margin-bottom:28px}.screen-title{font-family:var(--font-heading);font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1.15;margin-bottom:10px}.screen-title-gradient{background:linear-gradient(135deg,var(--text-primary) 40%,var(--accent-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.screen-subtitle{color:var(--text-secondary);font-size:15px;line-height:1.65;font-weight:400}.steps{display:flex;align-items:center;gap:6px;margin-bottom:32px}.step-pip{height:3px;border-radius:100px;flex:1 1;background:var(--border-subtle);transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.step-pip.active{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.step-pip.completed{background:var(--success)}.step-pip.active:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:32px;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .3s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);opacity:0;transition:opacity .3s ease}.card:hover:before{opacity:1}.card:hover{border-color:var(--border-medium)}.input-group{margin-bottom:28px}.input-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.input-label-icon{font-size:14px;opacity:.7}.input-wrapper{position:relative}.input-field{width:100%;background:var(--bg-deep);border:1.5px solid var(--border-medium);border-radius:var(--r-md);padding:16px 20px;font-family:var(--font-mono);font-size:22px;font-weight:500;letter-spacing:.08em;color:var(--text-primary);transition:all .25s ease;outline:none}.input-field::placeholder{color:var(--text-ghost);font-weight:400;font-family:var(--font-body);font-size:16px;letter-spacing:.02em}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-surface),var(--shadow-glow);background:var(--bg-surface)}.input-field.has-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-surface)}.input-hint{color:var(--text-muted)}.input-error,.input-hint{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px}.input-error{color:var(--danger-bright);animation:shakeX .4s ease}@keyframes shakeX{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:var(--r-md);font-family:var(--font-heading);font-size:14px;font-weight:600;letter-spacing:-.01em;border:none;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{width:100%;background:linear-gradient(135deg,var(--accent) 0,var(--accent-dim) 100%);color:white;box-shadow:0 4px 24px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.1)}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 50%);opacity:0;transition:opacity .25s ease}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--accent-glow-intense),inset 0 1px 0 rgba(255,255,255,.15)}.btn-primary:not(:disabled):hover:before{opacity:1}.btn-primary:not(:disabled):active{transform:translateY(0)}.btn-ghost{width:100%;background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-ghost:not(:disabled):hover{background:var(--accent-surface);border-color:var(--border-accent);color:var(--accent-bright)}.btn-success{width:100%;background:linear-gradient(135deg,var(--success) 0,#059669 100%);color:white;box-shadow:0 4px 24px var(--success-glow),inset 0 1px 0 rgba(255,255,255,.1)}.capture-wrapper{position:relative;width:100%;max-width:500px;aspect-ratio:3/4;border-radius:var(--r-xl);overflow:hidden;background:#000;box-shadow:var(--shadow-elevated),0 0 0 1px var(--border-ghost)}.capture-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.capture-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.capture-overlay svg{width:100%;height:100%}.oval-bg{fill:rgba(0,0,0,.55)}.oval-stroke{fill:none;stroke-width:2.5;transition:all .4s ease}.oval-stroke.idle{stroke:rgba(148,163,184,.35);stroke-dasharray:8 6;animation:dashSpin 6s linear infinite}.oval-stroke.found{stroke:var(--accent-bright);stroke-dasharray:none;filter:drop-shadow(0 0 10px var(--accent-glow))}.oval-stroke.locked{stroke:var(--success);stroke-dasharray:none;filter:drop-shadow(0 0 14px var(--success-glow))}@keyframes dashSpin{to{stroke-dashoffset:-56}}.capture-corners{position:absolute;inset:0;pointer-events:none;z-index:3}.corner-mark{position:absolute;width:24px;height:24px;border-color:var(--accent);border-style:solid;border-width:0;opacity:.5;transition:opacity .3s ease,border-color .3s ease}.corner-mark.locked{border-color:var(--success);opacity:.8}.corner-tl{top:12%;left:15%;border-top-width:2px;border-left-width:2px;border-top-left-radius:8px}.corner-tr{top:12%;right:15%;border-top-width:2px;border-right-width:2px;border-top-right-radius:8px}.corner-bl{bottom:22%;left:15%;border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:8px}.corner-br{bottom:22%;right:15%;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:8px}.scan-line{position:absolute;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-bright),transparent);z-index:4;opacity:0;pointer-events:none;animation:scanDown 3s ease-in-out infinite}.scan-line.active{opacity:.6}@keyframes scanDown{0%{top:14%}50%{top:68%}to{top:14%}}.capture-hud{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 24px;background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.4) 60%,transparent);z-index:5;flex-direction:column;gap:16px}.capture-hud,.capture-status{display:flex;align-items:center}.capture-status{gap:8px;font-size:14px;font-weight:500;color:white;text-shadow:0 1px 8px rgba(0,0,0,.6)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:all .3s ease}.status-dot.searching{background:var(--accent);animation:statusPulse 1.5s ease-in-out infinite}.status-dot.locked{background:var(--success);box-shadow:0 0 8px var(--success-glow)}@keyframes statusPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.auto-capture-ring{width:72px;height:72px;position:relative;display:flex;align-items:center;justify-content:center}.auto-capture-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.auto-capture-ring .ring-bg{fill:none;stroke:rgba(255,255,255,.15);stroke-width:3}.auto-capture-ring .ring-progress{fill:none;stroke:var(--success);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--success-glow));transition:stroke-dashoffset .1s linear}.auto-capture-ring .ring-label{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--success-bright);z-index:1;letter-spacing:.05em}.capture-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.capture-loading-text{color:white;font-size:13px;font-weight:500;letter-spacing:.02em}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:48px 32px;text-align:center;height:100%}.camera-error-icon{font-size:56px;opacity:.4}.camera-error-msg{font-size:15px;color:var(--text-secondary);line-height:1.6}.processing{flex-direction:column;text-align:center;gap:36px;padding:20px 0}.processing,.processing-orb{display:flex;align-items:center}.processing-orb{width:160px;height:160px;position:relative;justify-content:center}.orb-ring{position:absolute;border-radius:50%;border:1.5px solid var(--border-subtle)}.orb-ring:first-child{inset:0;border-color:var(--accent);opacity:.6;animation:orbSpin 2.5s linear infinite;border-top-color:transparent;border-right-color:transparent}.orb-ring:nth-child(2){inset:14px;border-color:var(--cyan);opacity:.4;animation:orbSpin 3.5s linear infinite reverse;border-bottom-color:transparent;border-left-color:transparent}.orb-ring:nth-child(3){inset:28px;border-color:var(--accent-bright);opacity:.3;animation:orbSpin 4.5s linear infinite;border-top-color:transparent}@keyframes orbSpin{to{transform:rotate(1turn)}}.orb-core{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,var(--accent-surface-hover) 0,transparent 70%);display:flex;align-items:center;justify-content:center;font-size:28px;animation:orbPulse 2s ease-in-out infinite;z-index:1}@keyframes orbPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.processing-label{font-family:var(--font-heading);font-size:20px;font-weight:600;letter-spacing:-.02em}.processing-step{font-size:14px;color:var(--text-secondary);animation:stepFade .35s ease forwards;min-height:20px}@keyframes stepFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.loading-dots{display:inline-flex;gap:3px;margin-left:2px;vertical-align:middle}.loading-dots span{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:dotPop 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes dotPop{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.result{text-align:center}.result-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}.result-badge.clear{color:var(--success-bright);background:var(--success-surface);border:1px solid rgba(16,185,129,.2)}.result-badge.fraud{color:var(--danger-bright);background:var(--danger-surface);border:1px solid rgba(239,68,68,.2)}.result-badge.error{color:var(--warning);background:var(--warning-surface);border:1px solid rgba(245,158,11,.2)}.result-icon{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:44px;animation:iconPop .7s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.result-icon.clear{background:var(--success-surface);border:2px solid rgba(16,185,129,.25);box-shadow:0 0 48px var(--success-glow),0 0 96px rgba(16,185,129,.15)}.result-icon.fraud{background:var(--danger-surface);border:2px solid rgba(239,68,68,.25);box-shadow:0 0 48px var(--danger-glow),0 0 96px rgba(239,68,68,.15)}.result-icon.error{background:var(--warning-surface);border:2px solid rgba(245,158,11,.25)}@keyframes iconPop{0%{opacity:0;transform:scale(.2) rotate(-10deg)}60%{transform:scale(1.15) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}.result-title{font-family:var(--font-heading);font-size:24px;font-weight:700;letter-spacing:-.03em;margin-bottom:10px}.result-title.clear{color:var(--success-bright)}.result-title.fraud{color:var(--danger-bright)}.result-title.error{color:var(--warning)}.result-desc{color:var(--text-secondary);font-size:15px;line-height:1.65;margin-bottom:28px;max-width:380px;margin-left:auto;margin-right:auto}.result-data{background:var(--bg-deep);border:1px solid var(--border-ghost);border-radius:var(--r-md);overflow:hidden;margin-bottom:28px}.result-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px}.result-row+.result-row{border-top:1px solid var(--border-ghost)}.result-row-label{font-size:13px;color:var(--text-muted);font-weight:400}.result-row-value{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary)}.result-actions{display:flex;flex-direction:column;gap:10px}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.15);border-top-color:white;border-radius:50%;animation:orbSpin .7s linear infinite}.spinner-lg{width:36px;height:36px;border-width:2.5px}@media (max-width:640px){.app-header{padding:12px 16px}.app-main{padding:24px 16px}.screen-title{font-size:24px}.card{padding:24px;border-radius:var(--r-md)}.input-field{font-size:20px;padding:14px 16px}.capture-wrapper{border-radius:var(--r-lg)}}div[role=dialog].identy-face-dialog.ui-dialog{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;z-index:999999!important;position:fixed!important;top:45vh!important;left:50vw!important;transform:translate(-50%,-50%)!important;margin:0!important}div[role=dialog].identy-face-dialog.ui-dialog .ui-dialog-titlebar{display:none!important}div[role=dialog].identy-face-dialog.ui-dialog .ui-dialog-content,div[role=dialog].identy-face-dialog.ui-dialog .ui-widget-content{padding:0!important;background:transparent!important;border:none!important;overflow:hidden!important}div[role=dialog].identy-face-dialog.identy-capture-dialog .identy_container,div[role=dialog].identy-face-dialog.identy-rotation-dialog .identy_container{margin:0!important}.ui-widget-overlay{background:#09244F!important;opacity:1!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:999998!important}div[role=dialog].identy-face-dialog.identy-capture-dialog .feedback-layer .feedback-text{background:rgba(15,23,42,.8)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff!important;font-weight:600!important;padding:12px 24px!important;border-radius:100px!important;font-size:16px!important;box-shadow:0 4px 12px rgba(0,0,0,.3)!important;max-width:90vw!important;position:absolute!important;top:40px!important;left:50%!important;transform:translateX(-50%)!important;z-index:99999999!important;width:auto!important}div[role=dialog].identy-face-dialog.identy-capture-dialog .identy_bottom_feedback,div[role=dialog].identy-face-dialog.identy-capture-dialog .table-row:last-child h3{display:none!important}