.auth{display:grid;grid-template-columns:1.02fr 1fr;min-height:100vh;background:var(--bg)}body,html{height:auto;min-height:100%}.auth__brand{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:clamp(40px,4vw,64px);color:#EAF7FA;background:radial-gradient(130% 100% at 12% 8%,rgba(49,194,211,.4) 0,transparent 46%),radial-gradient(120% 120% at 100% 100%,rgba(10,79,100,.55) 0,transparent 50%),linear-gradient(155deg,var(--teal-700) 0,var(--teal-900) 62%,#0B2A34 100%);isolation:isolate}.auth__brand:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:46px 46px;-webkit-mask-image:radial-gradient(110% 90% at 30% 20%,#000 0,transparent 72%);mask-image:radial-gradient(110% 90% at 30% 20%,#000 0,transparent 72%)}.auth__logo{display:flex;align-items:center;gap:12px}.auth__mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.auth__mark svg{width:22px;height:22px}.auth__word{font-family:var(--font-display);font-size:28px;line-height:1;letter-spacing:.01em}.auth__tagline{font-size:9.5px;text-transform:uppercase;letter-spacing:.24em;color:rgba(234,247,250,.62);font-weight:600;margin-top:3px}.auth__hero{margin-top:auto;max-width:460px}.auth__hero h1{font-size:clamp(30px,3.2vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.08}.auth__hero h1 em{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--teal-200)}.auth__hero p{margin-top:16px;font-size:var(--text-md);line-height:1.6;color:rgba(234,247,250,.78);max-width:420px}.auth__points{margin-top:34px;display:flex;flex-direction:column;gap:14px}.auth__point{display:flex;align-items:center;gap:13px;font-size:var(--text-base);color:rgba(234,247,250,.92)}.auth__point-ico{width:28px;height:28px;border-radius:8px;flex-shrink:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:var(--teal-200)}.auth__point-ico svg{width:15px;height:15px}.auth__quote{margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}.auth__quote p{font-size:var(--text-md);line-height:1.55;color:rgba(234,247,250,.9)}.auth__quote-by{display:flex;align-items:center;gap:11px;margin-top:15px}.auth__quote-av{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:linear-gradient(140deg,var(--teal-300),var(--teal-500));color:#06181E;display:grid;place-items:center;font-weight:700;font-size:13px}.auth__quote-name{font-size:var(--text-sm);font-weight:600}.auth__quote-role{font-size:var(--text-xs);color:rgba(234,247,250,.6)}.auth__panel{position:relative;display:flex;flex-direction:column;padding:clamp(28px,3vw,44px);background:var(--bg);background-image:radial-gradient(120% 90% at 100% 0,var(--bg-grad-1) 0,var(--bg-grad-2) 60%)}.auth__topbar{display:flex;align-items:center;gap:12px}.auth__topbar .auth__sp{flex:1}.auth__form-wrap{width:100%;max-width:396px;margin:auto;padding:32px 0}.auth__head{margin-bottom:26px}.auth__kicker{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);white-space:nowrap;padding:4px 11px;border-radius:var(--r-pill);margin-bottom:16px}.auth__kicker svg{width:13px;height:13px}.auth__title{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.03em;line-height:1.06;color:var(--text)}.auth__sub{font-size:var(--text-md);color:var(--text-2);margin-top:8px;line-height:1.5}.sso{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:var(--text-base);font-weight:600;color:var(--text);transition:var(--transition);white-space:nowrap}.sso:hover{border-color:var(--border-strong);background:var(--surface-2)}.sso svg{width:18px;height:18px}.auth__divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--text-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.auth__divider span{white-space:nowrap}.auth__divider:after,.auth__divider:before{content:"";height:1px;flex:1;background:var(--border)}.auth__form{gap:15px}.auth__form,.fld{display:flex;flex-direction:column}.fld{gap:7px}.fld__l{color:var(--text-2);display:flex;align-items:center;justify-content:space-between}.fld__l,.fld__link{font-size:var(--text-sm);font-weight:600}.fld__link{color:var(--accent);transition:var(--transition)}.fld__link:hover{color:var(--accent-hover);text-decoration:underline}.fld__box{position:relative;display:flex;align-items:center;height:46px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);transition:var(--transition)}.fld__box:hover{border-color:var(--border-strong)}.fld__box:focus-within{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}.fld__ico{display:grid;place-items:center;width:44px;flex-shrink:0;color:var(--text-3)}.fld__ico svg{width:17px;height:17px}.fld__box input{flex:1;min-width:0;height:100%;border:none;background:none;outline:none;font-family:inherit;font-size:var(--text-md);color:var(--text);padding:0 6px 0 0}.fld__box input::-moz-placeholder{color:var(--text-3)}.fld__box input::placeholder{color:var(--text-3)}.fld__eye{width:44px;flex-shrink:0;height:100%;display:grid;place-items:center;color:var(--text-3);background:none;border:none;transition:var(--transition)}.fld__eye:hover{color:var(--text-2)}.fld__eye svg{width:17px;height:17px}.fld__hint{font-size:var(--text-xs);color:var(--text-3)}.pw-meter{display:flex;gap:5px;margin-top:2px}.pw-meter span{height:4px;flex:1;border-radius:99px;background:var(--surface-3);transition:var(--transition)}.pw-meter[data-score="1"] span:first-child{background:var(--danger)}.pw-meter[data-score="2"] span:nth-child(-n+2){background:var(--warning)}.pw-meter[data-score="3"] span:nth-child(-n+3){background:var(--accent)}.pw-meter[data-score="4"] span{background:var(--success)}.chk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chk input{position:absolute;opacity:0;pointer-events:none}.chk__box{width:19px;height:19px;border-radius:6px;flex-shrink:0;margin-top:1px;border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;color:transparent;transition:var(--transition)}.chk__box svg{width:13px;height:13px;stroke-width:3}.chk input:checked+.chk__box{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chk input:focus-visible+.chk__box{box-shadow:var(--ring)}.chk__t{font-size:var(--text-sm);color:var(--text-2);line-height:1.45}.chk__t a{color:var(--accent);font-weight:600}.chk__t a:hover{text-decoration:underline}.auth__submit{width:100%;height:46px;border-radius:var(--r-md);margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-md);font-weight:600;border:1px solid transparent;box-shadow:0 2px 8px -2px rgba(14,116,144,.5);transition:var(--transition)}.auth__submit:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px -4px rgba(14,116,144,.55)}.auth__submit:active{transform:none;background:var(--accent-press)}.auth__submit svg{width:17px;height:17px}.auth__switch{margin-top:22px;text-align:center;font-size:var(--text-base);color:var(--text-2)}.auth__switch button{background:none;border:none;color:var(--accent);font-weight:600;font-size:inherit;font-family:inherit}.auth__switch button:hover{color:var(--accent-hover);text-decoration:underline}.auth__legal{margin-top:30px;text-align:center;font-size:var(--text-xs);color:var(--text-3);line-height:1.55}.auth__legal a{color:var(--text-2)}.auth__legal a:hover{color:var(--text);text-decoration:underline}.auth__row2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.auth[data-mode=login] [data-only=register],.auth[data-mode=register] [data-only=login]{display:none}@keyframes authIn{0%{transform:translateY(9px)}to{transform:none}}.auth__form-wrap.swap{animation:authIn .34s cubic-bezier(.2,.7,.2,1)}@media (max-width:940px){.auth{grid-template-columns:1fr}.auth__brand{display:none}}@media (max-width:480px){.auth__row2{grid-template-columns:1fr}.auth__panel{padding:20px}}