*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scrollbar-width:none;-ms-overflow-style:none;font-size:16px}html::-webkit-scrollbar{width:0;height:0;display:none}body{color:#2d2d2d;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;background:#dee8de;min-height:100dvh;font-family:Lato,sans-serif;font-weight:400;line-height:1.6;overflow-x:hidden}#root{min-height:100dvh}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}button,[role=button]{min-height:44px}.login-screen{box-sizing:border-box;flex-direction:column;min-height:100dvh;padding:32px 24px;display:flex}.login-header{text-align:center;margin:32px 0 24px}.login-wordmark{letter-spacing:2px;margin:0;font-size:36px;font-weight:400}.login-subtitle{color:#5a5a5a;margin:8px 0 0;font-size:14px}.login-card{box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:440px;margin:0 auto;padding:24px}.login-footer{text-align:center;margin:24px auto 16px}.login-switch{color:#1f3d3f;cursor:pointer;font-size:14px;text-decoration:underline;transition:color .2s}.login-switch:hover{color:#32a9b0}.login-register{color:#5a5a5a;margin-top:14px;font-size:14px;display:block}.login-register a{color:#1f3d3f;font-weight:600;text-decoration:underline}.form{flex-direction:column;gap:20px;display:flex}.form-title{font-family:var(--font-display,"Marcellus", serif);color:#2d2d2d;margin:0;font-size:28px}.form-hint{color:#5a5a5a;margin:-8px 0 0;font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:#5a5a5a;font-size:13px;font-weight:500}.field-prefixed{background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;align-items:stretch;display:flex}.field-prefixed .field-prefix{color:#5a5a5a;border-right:1px solid #d6d2cc;padding:12px 14px;font-size:16px}.field-prefixed input{color:#2d2d2d;background:0 0;border:0;outline:none;flex:1;padding:12px 14px;font-size:18px}.field-error{color:#b33a3a;font-size:12px}.btn-primary{color:#fff;cursor:pointer;background:#32a9b0;border:0;border-radius:10px;padding:14px 16px;font-size:16px;font-weight:600}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.otp-grid{grid-template-columns:repeat(6,1fr);gap:8px;min-width:0;display:grid}.otp-grid input{text-align:center;color:#2d2d2d;box-sizing:border-box;background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;width:100%;min-width:0;padding:12px 0;font-size:22px}.otp-resend{text-align:center;margin-top:4px}.otp-resend .muted{color:#5a5a5a;font-size:13px}.otp-resend .link{color:#32a9b0;cursor:pointer;background:0;border:0;padding:0;font-size:14px;text-decoration:underline}.otp-edit-phone{text-align:center;margin-top:16px}.otp-edit-phone .link{color:#32a9b0;cursor:pointer;background:0;border:0;padding:0;font-size:14px;text-decoration:underline}.field>input[type=email],.field>input[type=password]{color:#2d2d2d;background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;outline:none;padding:12px 14px;font-size:16px}.field>input:focus,.field-prefixed:focus-within{border-color:#32a9b0}.muted{color:#5a5a5a}.form-hint a{color:#1f3d3f;font-weight:600;text-decoration:underline}.form-hint a:hover{color:#32a9b0}.reg-screen{min-height:100dvh;padding:32px 24px calc(24px + env(safe-area-inset-bottom));padding-top:calc(32px + env(safe-area-inset-top));box-sizing:border-box;background:#faf8f5;flex-direction:column;display:flex}.reg-header{text-align:center;margin:16px 0 20px}.reg-wordmark{letter-spacing:2px;color:#2d2d2d;margin:0;font-family:Marcellus,serif;font-size:32px;font-weight:400}.reg-wordmark-y{color:#32a9b0}.reg-subtitle{color:#5a5a5a;margin:8px 0 0;font-size:14px}.reg-card{box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:440px;margin:0 auto;padding:24px;box-shadow:0 2px 12px #0000000a}.reg-progress{box-sizing:border-box;width:100%;max-width:440px;margin:0 auto 12px}.reg-progress-label{color:#5a5a5a;letter-spacing:.3px;margin-bottom:6px;font-size:12.5px;font-weight:600}.reg-progress-track{gap:6px;display:flex}.reg-progress-seg{background:#e8e4df;border-radius:2px;flex:1;height:4px}.reg-progress-seg[data-done=true]{background:#32a9b0}.reg-form{flex-direction:column;gap:18px;display:flex}.reg-title{color:#2d2d2d;margin:0;font-family:Marcellus,serif;font-size:26px}.reg-hint{color:#5a5a5a;margin:-8px 0 0;font-size:14px;line-height:1.5}.reg-field{flex-direction:column;gap:6px;display:flex}.reg-label{color:#5a5a5a;font-size:13px;font-weight:600}.reg-optional{color:#5a5a5a;font-weight:400}.reg-field input,.reg-field select{color:#2d2d2d;box-sizing:border-box;appearance:none;background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:Lato,sans-serif;font-size:16px}.reg-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A5A5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}.reg-field input:focus,.reg-field select:focus{border-color:#32a9b0;box-shadow:0 0 0 3px #32a9b02e}.reg-field input[aria-invalid=true]{border-color:#b33a3a}.reg-field-error{color:#b33a3a;font-size:12.5px}.reg-field-help{color:#5a5a5a;font-size:12.5px}.reg-prefixed{background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;align-items:stretch;display:flex}.reg-prefixed:focus-within{border-color:#32a9b0;box-shadow:0 0 0 3px #32a9b02e}.reg-prefixed .reg-prefix{color:#5a5a5a;border-right:1px solid #d6d2cc;align-items:center;padding:12px 14px;font-size:16px;display:flex}.reg-prefixed input{box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;min-width:0}.reg-prefixed input:focus{box-shadow:none}.reg-row{gap:12px;display:flex}.reg-row>*{flex:1;min-width:0}.reg-chips{gap:10px;display:flex}.reg-chip{color:#5a5a5a;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e8e4df;border-radius:10px;flex:1;padding:11px 12px;font-family:Lato,sans-serif;font-size:14px;font-weight:600}.reg-chip[aria-pressed=true]{color:#1f3d3f;background:#32a9b01f;border-color:#32a9b0}.reg-chip:focus-visible{outline-offset:2px;outline:2px solid #32a9b0}.reg-btn-primary{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#32a9b0;border:0;border-radius:10px;padding:14px 16px;font-family:Lato,sans-serif;font-size:16px;font-weight:600}.reg-btn-primary:disabled{opacity:.6;cursor:not-allowed}.reg-btn-primary:focus-visible{outline-offset:2px;outline:2px solid #1f3d3f}.reg-link{color:#1f3d3f;cursor:pointer;background:0;border:0;padding:0;font-family:Lato,sans-serif;font-size:14px;font-weight:600;text-decoration:underline}.reg-link:disabled{opacity:.6;cursor:not-allowed}.reg-back{color:#1f3d3f;cursor:pointer;background:0;border:0;align-items:center;gap:4px;padding:0;font-family:Lato,sans-serif;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.reg-otp-grid{grid-template-columns:repeat(6,1fr);gap:8px;min-width:0;display:grid}.reg-otp-grid input{text-align:center;color:#2d2d2d;box-sizing:border-box;appearance:none;background:#faf8f5;border:1px solid #d6d2cc;border-radius:10px;outline:none;width:100%;min-width:0;padding:12px 0;font-family:Lato,sans-serif;font-size:22px}.reg-otp-grid input:focus{border-color:#32a9b0;box-shadow:0 0 0 3px #32a9b02e}.reg-otp-meta{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.reg-muted{color:#5a5a5a;font-size:13px}.reg-alert{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45}.reg-notice{color:#1f3d3f;background:#edf3ed;border:1px solid #dee8de;border-radius:10px;padding:14px;font-size:14px;line-height:1.5}.reg-done{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.reg-done-badge{color:#1f3d3f;background:#32a9b01f;border-radius:32px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.reg-footer{text-align:center;margin:22px auto 8px}
