:root{--clr-accent:#5a8c28;--clr-accent-dark:#3f6218;--clr-accent-light:#6aa030;--clr-accent-muted:rgba(90,140,40,0.18);--clr-bg:#f0f2f5;--clr-surface:#ffffff;--clr-surface-2:#f5f7fa;--clr-surface-3:#e4e8ed;--clr-text:#111827;--clr-text-muted:#4b5563;--clr-text-faint:#9ca3af;--clr-border:rgba(0,0,0,0.08);--clr-border-accent:rgba(90,140,40,0.35);--clr-danger:#dc2626;--clr-input-bg:rgba(0,0,0,0.04);--clr-input-focus:rgba(0,0,0,0.07);--clr-shadow:rgba(0,0,0,0.10);--clr-divider:rgba(0,0,0,0.10);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--ease-out:cubic-bezier(0.16,1,0.3,1);--dur:240ms;--font-sans:"Segoe UI",system-ui,-apple-system,sans-serif;--text-sm:13px;--text-base:15px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--font-sans);font-size:var(--text-base);background:var(--clr-bg);color:var(--clr-text);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--clr-accent-light);outline-offset:2px;border-radius:var(--radius-sm)}.ob-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:48px 40px;width:100%;max-width:440px;box-shadow:0 12px 40px var(--clr-shadow)}@media (max-width:480px){.ob-card{padding:36px 24px}}.ob-logo{text-align:center;margin-bottom:32px}.ob-logo img{width:min(100%,200px);height:auto;max-height:64px;object-fit:contain;display:block;margin:0 auto 16px}.ob-title{font-size:22px;font-weight:700;color:var(--clr-text);text-align:center;margin-bottom:6px}.ob-subtitle{font-size:14px;color:var(--clr-text-muted);text-align:center;margin-bottom:32px}.ob-steps{display:flex;justify-content:center;gap:6px;margin-bottom:32px}.ob-step-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--clr-surface-3);border:1px solid var(--clr-border);transition:background var(--dur)}.ob-step-dot.active{background:var(--clr-accent);width:24px}.ob-step-dot.done{background:var(--clr-accent-dark)}.ob-field{margin-bottom:20px}.ob-label{display:block;color:var(--clr-text-muted);font-size:var(--text-sm);font-weight:500;margin-bottom:8px;letter-spacing:.02em}.ob-input{width:100%;padding:13px 16px;background:var(--clr-input-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text);font-size:var(--text-base);font-family:inherit;outline:none;transition:border-color var(--dur),background var(--dur)}.ob-input::placeholder{color:var(--clr-text-faint)}.ob-input:focus{border-color:var(--clr-border-accent);background:var(--clr-input-focus)}.ob-input:disabled{opacity:.5;cursor:not-allowed}.ob-password-wrap{position:relative}.ob-eye-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--clr-text-faint);display:flex;align-items:center;padding:0;transition:color var(--dur)}.ob-eye-btn:hover{color:var(--clr-text-muted)}.ob-phone-row{display:flex;gap:10px}.ob-select{padding:13px 12px;background:var(--clr-input-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text);font-size:var(--text-sm);font-family:inherit;outline:none;cursor:pointer;transition:border-color var(--dur),background var(--dur);max-width:160px;min-width:130px}.ob-select:focus{border-color:var(--clr-border-accent);background:var(--clr-input-focus)}.ob-otp-row{display:flex;gap:10px;justify-content:center;margin-bottom:28px}.ob-otp-box{width:48px;height:56px;text-align:center;font-size:22px;font-weight:600;background:var(--clr-input-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text);font-family:inherit;outline:none;transition:border-color var(--dur),background var(--dur);caret-color:var(--clr-accent)}.ob-otp-box:focus{border-color:var(--clr-border-accent);background:var(--clr-input-focus)}.ob-char-count{text-align:right;font-size:11px;color:var(--clr-text-faint);margin-top:4px}.ob-check-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.ob-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--clr-accent);cursor:pointer;flex-shrink:0;margin-top:2px}.ob-check-row label{font-size:var(--text-sm);color:var(--clr-text-muted);cursor:pointer;line-height:1.5}.ob-check-row a{color:var(--clr-accent-light);text-decoration:none}.ob-check-row a:hover{opacity:.85}.ob-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--dur),transform .15s var(--ease-out);letter-spacing:.02em}.ob-btn-primary{background:linear-gradient(135deg,var(--clr-accent) 0,var(--clr-accent-dark) 100%);color:#fff}.ob-btn-primary:hover:not(:disabled){opacity:.92}.ob-btn-primary:active:not(:disabled){transform:scale(.99)}.ob-btn-primary:disabled{opacity:.4;cursor:not-allowed}.ob-btn-ghost{background:var(--clr-surface-2);border:1px solid var(--clr-border);color:var(--clr-text-muted);margin-top:10px}.ob-btn-ghost:hover{background:var(--clr-surface-3);color:var(--clr-text)}.ob-error{color:var(--clr-danger);font-size:var(--text-sm);margin-bottom:16px;padding:10px 14px;background:rgba(224,80,80,.08);border:1px solid rgba(224,80,80,.25);border-radius:var(--radius-md)}.ob-field-error{color:var(--clr-danger);font-size:12px;margin-top:5px}.ob-footer{text-align:center;margin-top:28px;color:var(--clr-text-faint);font-size:var(--text-sm)}.ob-footer a{color:var(--clr-accent-light);text-decoration:none;font-weight:600}.ob-footer a:hover{opacity:.85}.ob-resend{text-align:center;font-size:var(--text-sm);color:var(--clr-text-faint);margin-top:16px}.ob-resend button{background:none;border:none;cursor:pointer;color:var(--clr-accent-light);font-size:var(--text-sm);font-family:inherit;padding:0}.ob-resend button:hover{opacity:.85}.ob-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.ob-modal{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:32px 28px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto}.ob-modal h2{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--clr-text)}.ob-modal li,.ob-modal p{font-size:var(--text-sm);color:var(--clr-text-muted);line-height:1.7;margin-bottom:10px}.ob-modal-close{margin-top:20px;width:100%}.ob-divider{height:1px;background:var(--clr-divider);margin:24px 0}