:root{--blue: #1E4FD8;--blue-dark: #163FB8;--blue-soft: #E8EEFF;--blue-light: #8EA9F2;--ink: #0E1A33;--muted: #5B6478;--line: #E3E8F2;--ground: #F5F7FB;--surface: #FFFFFF;--green: #0E7A4E;--green-soft: #E3F5EC;--amber: #8A5200;--amber-soft: #FFF3DC;--red: #B42318;--red-soft: #FDECEA;--purple: #5B3FC4;--purple-soft: #EFEBFF;--gray: #475066;--gray-soft: #EEF1F6;--radius: 14px;--font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--ground);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue)}.btn{height:54px;border-radius:var(--radius);border:0;padding:0 20px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-white{background:#fff;color:var(--blue)}.btn-outline{background:transparent;color:#fff;border:1.5px solid var(--blue-light)}.auth{min-height:100%;background:var(--surface);display:flex;justify-content:center}.auth-inner{width:100%;max-width:440px;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 40px) 24px calc(env(safe-area-inset-bottom) + 28px)}.back{width:44px;height:44px;margin-left:-10px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:12px;cursor:pointer;color:var(--ink)}.auth h1{margin:12px 0 0;font-size:28px;font-weight:800;letter-spacing:-.5px}.auth .sub{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}.icon-badge{width:72px;height:72px;border-radius:22px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;margin-top:24px}.fields{display:flex;flex-direction:column;gap:14px;margin-top:24px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:14px;font-weight:600}.label-row{display:flex;justify-content:space-between;align-items:baseline}.input{width:100%;height:50px;border:1.5px solid #D5DCE8;border-radius:12px;padding:0 14px;font-size:16px;background:#fff;outline:none}.input:focus{border-color:var(--blue)}.input.bad{border-color:var(--red)}.input.good{border-color:var(--green)}select.input{padding:0 10px}.input-wrap{position:relative}.input-wrap .input{padding-right:64px}.show-btn{position:absolute;right:4px;top:3px;height:44px;padding:0 12px;border:0;background:transparent;font-size:14px;font-weight:700;color:var(--blue);cursor:pointer}.hint{font-size:13px;color:var(--muted)}.hint.good{color:var(--green);font-weight:600}.hint.bad,.error-text{font-size:13px;color:var(--red);font-weight:600}.notice{border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.5;margin-top:18px}.notice.error{background:var(--red-soft);color:#7a1a12}.notice.ok{background:var(--green-soft);color:#1f4a37}.notice.info{background:var(--blue-soft);color:#1a2c66}.strength{display:flex;gap:6px;margin-top:4px}.strength span{flex:1;height:5px;border-radius:3px;background:var(--line)}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#3a4358;margin-top:16px}.check input{width:20px;height:20px;margin:0;accent-color:var(--blue);flex:none}.btn-block{width:100%;margin-top:20px}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--blue);height:48px}.btn-line{background:#fff;color:var(--ink);border:1.5px solid #D5DCE8;height:50px}.link-btn{border:0;background:transparent;padding:0;font-weight:700;color:var(--blue);cursor:pointer;font-size:inherit}.link-btn:disabled{color:var(--muted);cursor:default}.spacer{flex:1;min-height:24px}.foot{text-align:center;font-size:14px;color:var(--muted)}.foot a{font-weight:700;text-decoration:none}.code-row{display:flex;gap:10px}.code-row .input{width:0;flex:1;height:60px;text-align:center;font-size:24px;font-weight:700;padding:0}.steps{display:flex;gap:6px;margin-top:8px}.steps span{flex:1;height:5px;border-radius:3px;background:var(--line)}.steps span.on{background:var(--blue)}.loading-screen{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--blue)}
