
:root{
  --navy:#06111f;
  --navy-2:#0c1d33;
  --navy-3:#173a5b;
  --cyan:#59e1d8;
  --blue:#54a7ff;
  --ink:#17243a;
  --muted:#6f7d92;
  --line:#dfe6ef;
  --soft:#f3f7fb;
  --white:#fff;
  --danger:#a72c41;
  --success:#176a50;
  --shadow:0 30px 90px rgba(5,17,31,.20);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{color:var(--ink);background:var(--soft)}
a{color:inherit}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.86fr) minmax(560px,1.14fr);background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 47%,#f3f7fb 47%,#fff 100%)}
.auth-showcase{position:relative;overflow:hidden;padding:54px 58px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 15% 15%,rgba(89,225,216,.17),transparent 27%),radial-gradient(circle at 85% 82%,rgba(84,167,255,.18),transparent 34%)}
.auth-showcase:after{content:"";position:absolute;inset:0;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:54px 54px;pointer-events:none}
.brand,.showcase-copy,.benefits,.showcase-footer{position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:12px;width:max-content;text-decoration:none;color:#fff}
.brand-mark{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#06111f;font-weight:950;box-shadow:0 18px 45px rgba(89,225,216,.22)}
.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-size:1.14rem}.brand-text span{color:#8fa3bd;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.showcase-copy{max-width:570px;margin:64px 0}
.kicker{display:inline-block;color:#7fe9e1;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;margin-bottom:15px}
.showcase-copy h1{font-size:clamp(3.15rem,5.6vw,5.7rem);line-height:.97;letter-spacing:-.06em;margin:0 0 22px}
.showcase-copy h1 span{background:linear-gradient(100deg,#83eee5,#5e9fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.showcase-copy p{font-size:1.07rem;color:#bcc9da;max-width:530px;line-height:1.72;margin:0}
.benefits{display:grid;gap:12px;list-style:none;padding:0;margin:0;color:#cad5e4}
.benefits li{display:flex;align-items:center;gap:10px}.benefits b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:#79e5dc;background:rgba(89,225,216,.13)}
.showcase-footer{font-size:.78rem;color:#7f91a9;margin-top:35px}
.auth-panel{display:grid;place-items:center;padding:48px 42px}
.auth-card{width:min(730px,100%);padding:40px 43px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:var(--shadow)}
.login-card{width:min(560px,100%)}
.mobile-brand{display:none;margin-bottom:16px;font-weight:950;font-size:1.08rem}.mobile-brand span{color:#15818a}
.card-head{margin-bottom:27px}.card-head h2{font-size:2rem;line-height:1.08;letter-spacing:-.045em;margin:0 0 8px}.card-head p{color:var(--muted);margin:0}
.form-grid{display:grid;gap:16px}.two-col{grid-template-columns:1fr 1fr}
.field{display:block;margin-bottom:16px}.field-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:#344258;font-size:.82rem;font-weight:850}.field-label em{font-style:normal;color:#8b97a9;font-size:.7rem;font-weight:650}
.input{width:100%;height:51px;padding:0 15px;border:1px solid #d6deea;border-radius:12px;background:#fbfcfe;color:var(--ink);font:inherit;outline:none;transition:.2s ease}
.input:focus{border-color:#38bfc0;background:#fff;box-shadow:0 0 0 4px rgba(89,225,216,.13)}
.password-wrap{position:relative}.password-wrap .input{padding-right:69px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#147d84;font-size:.75rem;font-weight:900;cursor:pointer}
.password-rules{display:flex;gap:20px;flex-wrap:wrap;margin:-5px 0 18px;color:#8b97a8;font-size:.74rem}.password-rules span.valid{color:#16815e}
.check-row{display:flex;align-items:flex-start;gap:10px;margin:13px 0;color:#4f5d72;font-size:.87rem;line-height:1.48}.check-row input{width:17px;height:17px;margin-top:3px;accent-color:#34bfc0}.check-row a{color:#147d84;font-weight:850}
.remember-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 15px}.remember-row a{color:#147d84;font-size:.84rem;font-weight:850}
.message{min-height:23px;margin:13px 0;color:var(--danger);font-size:.87rem}.message.error,.message.success,.message.warning{padding:13px 14px;border-radius:12px}.message.error{background:#fff0f2;color:var(--danger)}.message.success{background:#e8f8f2;color:var(--success)}.message.warning{background:#fff6dc;color:#8b641b}.message a{font-weight:900;color:inherit}
.submit{width:100%;min-height:53px;border:0;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#72eadf,#4baaff);color:#06111f;font-weight:950;cursor:pointer;box-shadow:0 15px 36px rgba(77,179,235,.22);transition:.2s ease}
.submit:hover{transform:translateY(-2px)}.submit:disabled{opacity:.58;cursor:wait;transform:none}
.switch{text-align:center;color:#6f7c90;font-size:.87rem;margin:20px 0 0}.switch a{color:#147d84;font-weight:900}
.security-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#8a96a8;font-size:.72rem;margin-top:20px}.security-note b{color:#17825f}
.verification-actions{display:none;margin-top:10px;gap:9px}.verification-actions.show{display:flex}.secondary-btn{flex:1;min-height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#26364d;font-weight:850;cursor:pointer}
@media(max-width:980px){.auth-page{grid-template-columns:1fr;background:#f3f7fb}.auth-showcase{display:none}.auth-panel{padding:28px 18px}.mobile-brand{display:block}.auth-card{padding:34px 28px}}
@media(max-width:640px){.auth-panel{padding:13px}.auth-card{padding:27px 19px;border-radius:20px}.two-col{grid-template-columns:1fr}.card-head h2{font-size:1.72rem}.password-rules{display:grid;gap:4px}.remember-row{align-items:flex-start;flex-direction:column;gap:8px}}
