*,:after,:before{box-sizing:border-box;margin:0;padding:0}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%;overflow:hidden}body{font-family:Inter,sans-serif;background:#1b1b1e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--kz-splash-bg:#1b1b1e;--kz-accent:#c8d400;--kz-accent-dark:#a8b200;--kz-login-bg:#fffeff;--kz-login-btn:#274e39;--kz-signup-btn:#f7f8e2;--kz-terms-color:#98b6f8;--kz-white:#ffffff;--kz-near-white:#fffeff;--kz-light-grey:#f0f0f0;--kz-border:#e2e2e2;--kz-text:#1a1a1a;--kz-text-secondary:#555555;--kz-text-muted:#999999;--kz-error:#c0392b;--kz-popup-cta:#274e39}#kazang-app{position:fixed;inset:0;align-items:center;justify-content:center}#kazang-app,.kz-frame{width:100%;height:100%;display:flex;background:var(--kz-splash-bg)}.kz-frame{position:relative;max-width:430px;max-height:100dvh;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,.5);flex-direction:column}.kz-screen{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(40px);transition:opacity .32s ease,transform .32s ease;overflow:hidden}.kz-screen.active{opacity:1;pointer-events:all;transform:translateX(0)}.kz-splash{position:absolute;inset:0;background:var(--kz-splash-bg);z-index:50;overflow:hidden}.kz-splash,.kz-splash-logo-area{display:flex;flex-direction:column;align-items:center;justify-content:center}.kz-splash-logo-area{gap:20px}.kz-splash-logo-img{width:220px;height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:kz-logo-drop .65s cubic-bezier(.34,1.3,.64,1) both}@keyframes kz-logo-drop{0%{opacity:0;transform:translateY(-28px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.kz-loading-overlay{position:absolute;inset:0;z-index:40;background:var(--kz-splash-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.kz-loading-logo{width:100px;height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:kz-pulse 1.8s ease-in-out infinite}@keyframes kz-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.96)}}.kz-spinner{width:44px;height:44px;border:3.5px solid rgba(200,212,0,.2);border-top:3.5px solid var(--kz-accent);border-radius:50%;animation:kz-spin .85s linear infinite}@keyframes kz-spin{to{transform:rotate(1turn)}}.kz-upgrade-overlay{position:absolute;inset:0;z-index:80;background:rgba(0,0,0,.65);display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .35s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.kz-upgrade-overlay--visible{opacity:1;pointer-events:all}.kz-upgrade-popup{width:100%;background:var(--kz-white);border-radius:20px 20px 0 0;padding:0 20px 24px;position:relative;transform:translateY(40px);transition:transform .38s cubic-bezier(.34,1.2,.64,1);max-height:80vh;overflow-y:auto}.kz-upgrade-overlay--visible .kz-upgrade-popup{transform:translateY(0)}.kz-upgrade-progress-track{height:3px;width:100%;background:var(--kz-light-grey);border-radius:2px 2px 0 0;overflow:hidden;margin-bottom:12px}.kz-upgrade-progress-bar{height:100%;background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent-dark));border-radius:2px;transition:width .1s linear}.kz-upgrade-close{position:absolute;top:12px;right:16px;width:28px;height:28px;border-radius:50%;background:var(--kz-light-grey);border:none;cursor:pointer;font-size:12px;color:var(--kz-text-secondary);display:flex;align-items:center;justify-content:center;transition:background .15s}.kz-upgrade-close:hover{background:var(--kz-border)}.kz-upgrade-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#1b1b1e,#2d2d32);border:2px solid var(--kz-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;box-shadow:0 3px 12px rgba(200,212,0,.2)}.kz-upgrade-title{font-size:15px;font-weight:800;color:var(--kz-login-btn);text-align:center;margin-bottom:5px;line-height:1.3}.kz-upgrade-body{font-size:12px;color:var(--kz-text-secondary);text-align:center;line-height:1.55;margin-bottom:12px}.kz-upgrade-benefits{list-style:none;margin-bottom:14px;display:flex;flex-direction:column;gap:7px}.kz-upgrade-benefits li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--kz-text);line-height:1.45}.kz-upgrade-bullet{font-size:14px;line-height:1.3;flex-shrink:0}.kz-upgrade-cta{width:100%;height:46px;border-radius:23px;border:none;cursor:pointer;font-size:12.5px;font-weight:800;letter-spacing:.6px;font-family:Inter,sans-serif;background:var(--kz-login-btn);color:var(--kz-white);transition:opacity .18s,transform .1s;margin-bottom:10px;text-transform:uppercase;box-shadow:0 3px 12px rgba(39,78,57,.3)}.kz-upgrade-cta:hover{opacity:.9}.kz-upgrade-cta:active{transform:scale(.98)}.kz-upgrade-support{text-align:center;font-size:11px;color:var(--kz-text-muted)}.kz-upgrade-support-link{background:none;border:none;cursor:pointer;font-size:11px;font-family:Inter,sans-serif;color:var(--kz-login-btn);font-weight:600;text-decoration:underline}.kz-login-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;background:var(--kz-login-bg);position:relative;overflow:hidden}.kz-login-header{width:100%;padding:max(44px,env(safe-area-inset-top,44px)) 5% 0;flex-shrink:0}.kz-login-header,.kz-login-logo-row{display:flex;align-items:center;justify-content:center}.kz-login-logo-row{width:90%;gap:0}.kz-login-logo-divider{width:1.5px;align-self:stretch;background:#d0d0d0;margin:4px clamp(10px,3vw,18px);flex-shrink:0}.kz-logo-kazang{width:52%;max-height:80px}.kz-logo-kazang,.kz-logo-lesaka{height:auto;object-fit:contain;flex-shrink:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.kz-logo-lesaka{width:42%;max-height:68px}.kz-login-form-wrap{width:100%;padding:clamp(32px,8vw,60px) 42px 0 20px;flex-shrink:0;display:flex;flex-direction:column;gap:10px}.kz-field-card-wrap{position:relative;width:100%;display:flex;align-items:center}.kz-field-card-wrap .kz-field-chevron{position:absolute;right:-22px;top:50%;transform:translateY(-50%);color:#8c9db5;font-size:10px;pointer-events:none;flex-shrink:0}.kz-field-card{width:100%;border:1.5px solid #e0e0e0;border-radius:14px;background:#ffffff;display:flex;align-items:center;height:58px;padding:0 16px;transition:border-color .18s,box-shadow .18s;position:relative}.kz-field-card:focus-within{border-color:#b0c4b8;box-shadow:0 0 0 3px rgba(39,78,57,.07)}.kz-field-card--error{border-color:var(--kz-error)}.kz-field-input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;font-weight:400;color:var(--kz-text);font-family:Inter,sans-serif;caret-color:var(--kz-login-btn)}.kz-field-input::placeholder{color:#8c9db5;font-weight:400;font-size:15px}.kz-field-chevron{color:#8c9db5;font-size:10px;flex-shrink:0;pointer-events:none}.kz-eye-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:4px 0 4px 8px;flex-shrink:0}.kz-eye-btn,.kz-eye-btn:hover{color:#4a6faa}.kz-field-error{font-size:11.5px;color:var(--kz-error);margin-top:-2px;padding-left:4px}.kz-login-btns{width:100%;padding:24px 20px 0;display:flex;gap:14px;flex-shrink:0}.kz-btn-signup{flex:1 1;height:54px;border-radius:27px;border:1px solid #dddec0;background:var(--kz-signup-btn);color:#333333;font-size:15px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:opacity .18s,transform .1s;letter-spacing:.1px}.kz-btn-signup:active{transform:scale(.97);opacity:.9}.kz-btn-login{flex:1 1;height:54px;border-radius:27px;border:none;background:var(--kz-login-btn);color:#ffffff;font-size:15px;font-weight:800;font-family:Inter,sans-serif;cursor:pointer;transition:opacity .18s,transform .1s;letter-spacing:.3px;box-shadow:0 4px 16px rgba(39,78,57,.28)}.kz-btn-login:active{transform:scale(.97);opacity:.92}.kz-login-links{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:18px;flex-shrink:0}.kz-login-link{background:none;border:none;cursor:pointer;font-size:13.5px;font-weight:400;color:#4a7c5e;font-family:Inter,sans-serif;letter-spacing:.1px;line-height:1.5;padding:1px 0}.kz-login-spacer{flex:1 1;min-height:16px}.kz-login-footer{width:100%;padding:0 32px max(28px,env(safe-area-inset-bottom,28px));text-align:center;flex-shrink:0}.kz-login-footer p{color:#888888}.kz-login-footer p,.kz-login-footer-link{font-size:12.5px;line-height:1.55;font-weight:400;text-align:center}.kz-login-footer-link{background:none;border:none;cursor:default;font-family:Inter,sans-serif;color:var(--kz-terms-color);text-decoration:none;display:block;margin-top:1px}.kz-otp-screen{width:100%;height:100%;background:var(--kz-login-bg);display:flex;flex-direction:column;position:relative;overflow:hidden}.kz-otp-navbar{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,14px)) 16px 14px;background:var(--kz-splash-bg);flex-shrink:0}.kz-otp-navbar-title{font-size:17px;font-weight:700;color:var(--kz-white);font-family:Inter,sans-serif}.kz-otp-back-btn{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--kz-white)}.kz-otp-content{flex:1 1;overflow-y:auto;padding:36px 28px 20px;flex-direction:column}.kz-otp-badge,.kz-otp-content{display:flex;align-items:center}.kz-otp-badge{width:68px;height:68px;border-radius:50%;background:#1b1b1e;border:2.5px solid var(--kz-accent);justify-content:center;margin-bottom:22px;box-shadow:0 4px 18px rgba(200,212,0,.2)}.kz-otp-title{font-size:21px;font-weight:800;color:var(--kz-text);text-align:center;margin-bottom:10px;line-height:1.3;font-family:Inter,sans-serif}.kz-otp-subtitle{font-size:13.5px;color:var(--kz-text-secondary);text-align:center;line-height:1.65;margin-bottom:32px}.kz-otp-input-wrap{width:100%;border:2px solid var(--kz-border);border-radius:14px;background:var(--kz-white);height:62px;display:flex;align-items:center;padding:0 18px;transition:border-color .18s;margin-bottom:14px}.kz-otp-input-wrap:focus-within{border-color:var(--kz-login-btn);box-shadow:0 0 0 3px rgba(39,78,57,.1)}.kz-otp-input-wrap--error{border-color:var(--kz-error);box-shadow:0 0 0 3px rgba(192,57,43,.1)}.kz-otp-input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-size:22px;font-weight:700;letter-spacing:.18em;color:var(--kz-text);font-family:Inter,sans-serif;caret-color:var(--kz-login-btn);text-align:center}.kz-otp-input::placeholder{color:#cccccc;letter-spacing:0;font-size:15px;font-weight:400}.kz-otp-timer-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;align-self:flex-start}.kz-otp-timer-label{font-size:12.5px;color:var(--kz-text-muted);font-family:Inter,sans-serif}.kz-otp-timer-value{font-size:13px;font-weight:700;color:var(--kz-login-btn);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:Inter,sans-serif}.kz-otp-timer-value--urgent{color:var(--kz-error)}.kz-otp-error{width:100%;background:#fff0f0;border:1px solid #ffd0d0;border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:9px;color:var(--kz-error);font-weight:500;margin-bottom:14px;line-height:1.4}.kz-otp-error,.kz-otp-resend-btn{font-size:13px;font-family:Inter,sans-serif}.kz-otp-resend-btn{background:none;border:none;cursor:pointer;font-weight:600;color:var(--kz-login-btn);text-decoration:underline;align-self:center;margin-top:4px}.kz-otp-resend-btn:disabled{color:var(--kz-text-muted);cursor:not-allowed;text-decoration:none}.kz-otp-btns{width:100%;padding:12px 28px max(28px,env(safe-area-inset-bottom,28px));flex-shrink:0}.kz-otp-verify-btn{width:100%;height:56px;border-radius:28px;border:none;cursor:not-allowed;font-size:16px;font-weight:700;font-family:Inter,sans-serif;background:#d0d0d0;color:#999999;transition:background .18s,color .18s,transform .1s}.kz-otp-verify-btn--ready{background:var(--kz-login-btn);color:var(--kz-white);cursor:pointer;box-shadow:0 4px 16px rgba(39,78,57,.3)}.kz-otp-verify-btn--ready:active{transform:scale(.98)}.kz-locked-screen{width:100%;height:100%;background:var(--kz-splash-bg);flex-direction:column;padding:40px 32px}.kz-locked-icon,.kz-locked-screen{display:flex;align-items:center;justify-content:center}.kz-locked-icon{width:80px;height:80px;border-radius:50%;background:rgba(200,212,0,.08);border:2px solid rgba(200,212,0,.25);margin-bottom:22px}.kz-locked-title{font-size:22px;font-weight:800;color:var(--kz-white);text-align:center;margin-bottom:10px}.kz-locked-body{font-size:14px;color:rgba(255,255,255,.65);text-align:center;line-height:1.65;margin-bottom:34px}.kz-locked-btn{width:100%;max-width:260px;height:52px;border-radius:26px;border:1.5px solid var(--kz-accent);background:transparent;color:var(--kz-accent);font-size:15px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:background .18s,color .18s}.kz-locked-btn:hover{background:var(--kz-accent);color:var(--kz-splash-bg)}