:root{color:#172235;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;background:#f4f8ff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.auth-page{background:radial-gradient(at 50% 0,#e6f2ff 0,#0000 52%),#f7f9fc;place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-wrap{width:min(100%,432px)}.auth-card{background:#fff;border:1px solid #e7edf4;border-radius:20px;overflow:hidden;box-shadow:0 18px 55px #183c6512}.brand{color:inherit;border-bottom:1px solid #f0f3f6;justify-content:center;align-items:center;gap:11px;padding:25px 24px 21px;text-decoration:none;display:flex}.brand img{width:42px;height:42px}.brand span{gap:2px;display:grid}.brand strong{letter-spacing:-.03em;font-size:20px}.brand small{color:#718096;font-size:12px}.card-content{padding:28px 32px 30px}.form-heading{text-align:center;margin:0 0 25px}.form-heading h1{color:#18263a;letter-spacing:-.035em;margin:0;font-size:23px}.form-heading p{color:#718096;margin:8px 0 0;font-size:14px;line-height:1.5}.form{gap:17px;display:grid}.field{color:#334155;gap:8px;font-size:13px;font-weight:600;display:grid}.field-row{justify-content:space-between;align-items:center;display:flex}.field-row a,.switch-auth a{color:#1477e8;font-weight:600;text-decoration:none}.field-row a:hover,.switch-auth a:hover{text-decoration:underline}.field input{color:#1e293b;width:100%;height:47px;font:inherit;border:1px solid #d8e0e9;border-radius:9px;outline:none;padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:#2583ed;box-shadow:0 0 0 3px #2583ed1c}.field input::placeholder{color:#9aa7b5;font-weight:400}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:58px}.password-toggle{color:#64748b;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.primary-button{color:#fff;text-align:center;width:100%;min-height:47px;font:inherit;cursor:pointer;background:#1477e8;border:0;border-radius:9px;justify-content:center;align-items:center;padding:12px 16px;font-size:14px;font-weight:650;text-decoration:none;transition:background .15s,transform .15s;display:flex}.primary-button:hover{background:#0867d0}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{cursor:not-allowed;background:#9dbce0}.button-link{margin-top:20px}.form-error{color:#b42318;background:#fff2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:11px 12px;font-size:13px;line-height:1.45}.divider{color:#8995a4;align-items:center;gap:14px;margin:21px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:#e7edf2;flex:1;height:1px}.google-button{color:#334155;width:100%;min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e0e9;border-radius:9px;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.google-button:hover{background:#f8fafc}.google-button:disabled{opacity:.6;cursor:wait}.google-g{color:#4285f4;font:700 19px Arial}.switch-auth{text-align:center;color:#64748b;margin:21px 0 0;font-size:13px}.switch-auth a{margin-left:4px}.auth-footer{text-align:center;color:#8995a4;gap:8px;margin:18px 8px 0;font-size:11px;line-height:1.7;display:grid}.auth-footer p{margin:0}.auth-footer button,.agree button{color:#2378d0;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px}.auth-footer button:hover,.agree button:hover{text-decoration:underline}.agree{color:#64748b;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;display:flex}.agree input{accent-color:#1477e8;flex:none;width:16px;height:16px;margin:2px 0 0}.password-rules{color:#8793a1;grid-template-columns:1fr 1fr;gap:5px 10px;margin:-9px 0 0;padding:0;font-size:11px;list-style:none;display:grid}.password-rules li:before{content:"○";margin-right:6px}.password-rules li[data-valid=true]{color:#16834b}.password-rules li[data-valid=true]:before{content:"✓"}.notice{text-align:center;color:#64748b;overflow-wrap:anywhere;margin:0 0 20px;font-size:13px}.notice strong{color:#334155}.resend{margin:18px auto 0;display:block}.text-button{color:#1477e8;font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.text-button:hover{text-decoration:underline}.text-button:disabled{color:#98a3b1;cursor:default}.success-message{text-align:center;color:#246b3e;background:#f0fbf4;border:1px solid #bde5cb;border-radius:9px;padding:14px;font-size:13px;line-height:1.5}.success-message p{margin:0 0 10px}.success-message a{color:#1477e8;font-weight:600}.success-mark{color:#18864b;background:#e8f8ed;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto;font-size:28px;font-weight:700;display:grid}.legal-dialog{border:0;border-radius:15px;width:min(92vw,800px);max-width:none;height:min(90dvh,760px);max-height:none;padding:0;overflow:hidden;box-shadow:0 24px 80px #10233f40}.legal-dialog::backdrop{backdrop-filter:blur(2px);background:#14223788}.legal-header,.legal-footer{justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.legal-header{border-bottom:1px solid #e9eef3}.legal-header h2{margin:0;font-size:17px}.legal-header p{color:#758294;margin:4px 0 0;font-size:12px}.legal-frame-wrap{background:#fff;height:calc(100% - 112px);min-height:0;position:relative}.legal-dialog iframe{z-index:1;background:#fff;border:0;width:100%;height:100%;display:block;position:relative}.legal-loading{z-index:2;color:#64748b;background:#fff;place-items:center;margin:0;font-size:13px;display:grid;position:absolute;inset:0}.legal-loading[hidden]{display:none}.legal-footer{border-top:1px solid #e9eef3;justify-content:flex-end;height:44px}.icon-button{color:#536174;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;line-height:1}.icon-button:hover{background:#e8eef5}@media (width<=480px){.auth-page{padding:20px 12px}.card-content{padding:24px 21px 25px}.brand{padding:21px 18px 18px}.form-heading h1{font-size:21px}.legal-dialog{border-radius:0;width:100vw;height:100dvh}.legal-header,.legal-footer{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
