*{box-sizing:border-box} :root{--purple:#6d28d9;--purple2:#8b5cf6;--ink:#211832;--muted:#777187;--line:#e8e3ef;--bg:#faf9fc}body{margin:0;min-height:100vh;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}button,input{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,0.95fr) minmax(420px,1.05fr)}.brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,72px);color:#fff;background:radial-gradient(circle at 75% 20%,#7c3aed 0,transparent 28%),linear-gradient(145deg,#18052f,#2b1052 55%,#4c1d95)}.brand-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#c4b5fd,#8b5cf6);color:#24103e;font-weight:800;letter-spacing:-1px;box-shadow:0 8px 30px #09021455}.brand-copy{position:relative;z-index:1;max-width:480px;margin:auto 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#a78bfa;margin:0 0 15px}.brand-copy h1{font-size:clamp(38px,5vw,64px);line-height:1.08;letter-spacing:-2.5px;margin:0 0 22px}.brand-copy h1 span{color:#c4b5fd}.brand-description{font-size:15px;line-height:1.8;color:#d8cfea;max-width:370px}.brand-bottom{position:relative;z-index:1;font-size:12px;color:#ddd4ef;display:flex;align-items:center;gap:9px}.status-dot{width:8px;height:8px;border-radius:50%;background:#86efac;box-shadow:0 0 0 5px #86efac22}.orb{position:absolute;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.orb-one{width:430px;height:430px;right:-170px;top:12%}.orb-two{width:300px;height:300px;right:-105px;top:23%}.form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 28px;min-width:0}.form-wrap{width:min(100%,410px)}.form-heading{margin-bottom:30px}.form-heading h2{font-size:32px;letter-spacing:-1px;margin:0 0 9px}.form-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.form-panel label{display:block;font-size:12px;font-weight:700;margin:18px 0 8px}.form-panel input{width:100%;height:49px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;outline:none;color:var(--ink);transition:border .2s,box-shadow .2s}.form-panel input:focus{border-color:var(--purple2);box-shadow:0 0 0 4px #8b5cf61c}.password-wrap{position:relative}.password-wrap input{padding-right:68px}.show-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--purple);font-size:12px;font-weight:700;cursor:pointer}.primary-btn{width:100%;height:50px;margin-top:24px;padding:0 16px;border:0;border-radius:12px;color:#fff;background:linear-gradient(100deg,#6d28d9,#8b5cf6);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 10px 22px #6d28d92a;transition:transform .2s,box-shadow .2s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 13px 26px #6d28d938}.primary-btn:disabled{opacity:.6;cursor:wait;transform:none}.notice{display:none;margin-top:16px;border-radius:10px;padding:12px 13px;font-size:12px;line-height:1.5}.notice.show{display:block}.notice.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.notice.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.security-note{margin:28px 0 0;text-align:center;font-size:11px;color:#8a8498}.security-note span{color:#22c55e;font-size:9px;margin-right:5px}.form-panel footer{margin-top:50px;color:#a09aab;font-size:10px;text-align:center}.hidden{display:none!important}.otp-symbol{height:54px;width:54px;border-radius:16px;display:grid;place-items:center;background:#f0e9ff;color:var(--purple);font-size:26px;margin-bottom:16px}.otp-sent{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px}.text-btn{display:block;margin:17px auto 0;border:0;background:none;color:var(--purple);font-size:12px;font-weight:700;cursor:pointer}.small-note{font-size:11px;line-height:1.6;color:#8b8499;margin-top:17px}.mobile-brand{display:none;align-items:center;gap:12px;font-weight:800;letter-spacing:.5px;margin-bottom:35px}.mobile-brand .brand-mark{width:40px;height:40px;border-radius:12px}.mobile-brand span{font-size:12px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.brand-panel{display:none}.form-panel{min-height:100vh;justify-content:flex-start;padding:30px 22px 22px}.mobile-brand{display:flex;width:min(100%,410px)}.form-wrap{margin:auto 0}.form-heading h2{font-size:29px}.form-panel footer{margin-top:32px}}@media(max-width:360px){.form-panel{padding-left:16px;padding-right:16px}.form-heading h2{font-size:26px}}
