.login-page{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fafafa;display:flex;flex-direction:column}.login-page::-webkit-scrollbar{display:none}.login-page{scrollbar-width:none}.login-page .auth-header{flex-shrink:0;background:linear-gradient(160deg,#2e7d32,#43a047);padding:48px 28px 40px}.login-page .auth-header .auth-logo{height:48px;object-fit:contain;display:block;margin-bottom:20px}.login-page .auth-header .auth-headline{color:#fff;font-size:28px;font-weight:700;line-height:1.25;white-space:pre-line;margin:0}.login-page .auth-body{flex:1 0 auto;background:#fff;border-radius:24px 24px 0 0;margin-top:-16px;padding:28px 24px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.login-page .auth-actions{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:16px}.login-page .auth-btn{width:100%;height:52px;border:none;border-radius:26px;background:#2e7d32;color:#fff;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.login-page .auth-btn:active:not(:disabled){background:#1b5e20}.login-page .auth-btn:disabled{background:#c8e6c9;color:#eaf5ea;cursor:not-allowed}.login-page .auth-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:authSpin .7s linear infinite}.login-page .field-label{display:block;font-size:13px;font-weight:500;color:#1b5e20;margin-bottom:8px}.login-page .phone-input{width:100%;height:58px;padding:0 16px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;font-weight:500;letter-spacing:.5px;color:#1c1b1f;background:#fff;border:1.5px solid #2E7D32;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.login-page .phone-input::placeholder{color:#9e9aa5;font-weight:400}.login-page .phone-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321f}.login-page .phone-input.has-error{border-color:#d32f2f;background:#fff5f5}.login-page .phone-input.has-error:focus{box-shadow:0 0 0 3px #d32f2f1f}.login-page .field-error{display:block;margin-top:8px;font-size:12px;color:#d32f2f;min-height:16px}.login-page .legal{text-align:center;font-size:12px;line-height:1.5;color:#49454f}.login-page .legal a{color:#2e7d32;font-weight:500;text-decoration:none}.pin-page{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fafafa;display:flex;flex-direction:column}.pin-page::-webkit-scrollbar{display:none}.pin-page{scrollbar-width:none}.pin-page .auth-header{flex-shrink:0;background:linear-gradient(160deg,#2e7d32,#43a047);padding:48px 28px 40px}.pin-page .auth-header .auth-logo{height:48px;object-fit:contain;display:block;margin-bottom:20px}.pin-page .auth-header .auth-headline{color:#fff;font-size:28px;font-weight:700;line-height:1.25;white-space:pre-line;margin:0}.pin-page .auth-body{flex:1 0 auto;background:#fff;border-radius:24px 24px 0 0;margin-top:-16px;padding:28px 24px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.pin-page .auth-actions{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:16px}.pin-page .auth-btn{width:100%;height:52px;border:none;border-radius:26px;background:#2e7d32;color:#fff;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.pin-page .auth-btn:active:not(:disabled){background:#1b5e20}.pin-page .auth-btn:disabled{background:#c8e6c9;color:#eaf5ea;cursor:not-allowed}.pin-page .auth-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.pin-page .back-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:4px 0;margin-bottom:24px;background:none;border:none;color:#49454f;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;cursor:pointer}.pin-page .back-btn svg{width:16px;height:16px}.pin-page .pin-label{font-size:14px;font-weight:500;color:#49454f;margin:0 0 16px}.pin-page .pin-reset-note{margin-bottom:24px;padding:12px 14px;border-radius:12px;background:#fff4e5;border:1px solid #FFD8A8;color:#8a5000;font-size:13px;line-height:1.45}.pin-page .pin-input{width:100%;height:58px;padding:0 16px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:24px;font-weight:600;letter-spacing:8px;text-align:center;color:#1c1b1f;background:#fff;border:1.5px solid #2E7D32;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.pin-page .pin-input::placeholder{color:#9e9aa5;font-weight:400;letter-spacing:8px}.pin-page .pin-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321f}.pin-page .pin-input.has-error{border-color:#d32f2f;background:#fff5f5}.pin-page .pin-input.has-error:focus{box-shadow:0 0 0 3px #d32f2f1f}.pin-page .pin-input:disabled{opacity:.6;cursor:not-allowed}.pin-page .pin-error{display:block;margin-top:14px;font-size:12px;color:#d32f2f}.pin-page .link-btn{align-self:center;padding:6px 8px;background:none;border:none;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:#49454f;cursor:pointer}.pin-page .pin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1300;animation:pinFade .15s ease}@keyframes pinFade{0%{opacity:0}to{opacity:1}}.pin-page .pin-modal{width:100%;max-width:340px;background:#fff;border-radius:20px;padding:24px}.pin-page .pin-modal h3{margin:0 0 8px;font-size:18px;font-weight:700;color:#1c1b1f}.pin-page .pin-modal p{margin:0 0 20px;font-size:14px;line-height:1.5;color:#49454f}.pin-page .pin-modal .pin-modal-actions{display:flex;justify-content:flex-end;gap:8px}.pin-page .pin-modal .modal-btn{padding:10px 18px;border-radius:20px;border:none;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.pin-page .pin-modal .modal-btn.ghost{background:transparent;color:#49454f}.pin-page .pin-modal .modal-btn.solid{background:#2e7d32;color:#fff}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden}body{overscroll-behavior:none}button,a{-webkit-user-select:none;user-select:none}.scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scroll-container::-webkit-scrollbar{display:none}.scroll-container{-ms-overflow-style:none;scrollbar-width:none}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease forwards}.slide-up{animation:slideUp .4s ease forwards}.page{height:100%;width:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-frame{width:100%;height:100%;display:flex;justify-content:center;align-items:stretch;background:transparent}.mobile-frame>*{width:100%;flex:1}@media (min-width: 600px){.mobile-frame{background:#ddd}.mobile-frame>*{max-width:430px;flex:none;box-shadow:0 0 48px #0000002e}}
