:root{
  color-scheme:light;
  --navy:#07111f;
  --blue:#145bff;
  --blue-hover:#0b49d8;
  --orange:#ff7a1a;
  --text:#132033;
  --muted:#65758b;
  --line:rgba(13,42,79,.15);
  --danger:#c52c2c;
  --ok:#16794b;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
button,input{font:inherit}button{cursor:pointer}
.login-page{min-height:100vh;overflow:hidden;background:#06101d}
.login-shell{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:clamp(24px,5vw,74px);
  background:
    linear-gradient(90deg,rgba(3,10,20,.18),rgba(3,10,20,.08) 46%,rgba(3,10,20,.42)),
    url('/assets/cvm-login-bg.svg') center/cover no-repeat;
  isolation:isolate;
}
.login-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,16,.06),rgba(2,8,16,.25));z-index:-1}
.hero{position:absolute;inset:0;pointer-events:none}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at 68% 45%,transparent 0 26%,rgba(3,10,20,.16) 58%,rgba(3,10,20,.36) 100%)}
.hero__content{position:absolute;left:clamp(28px,5vw,78px);bottom:clamp(32px,7vh,78px);width:min(620px,45vw);z-index:1;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.42)}
.eyebrow{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(4,18,38,.38);backdrop-filter:blur(8px);font-size:.73rem;letter-spacing:.17em;font-weight:800;color:#e9f1ff;margin-bottom:12px}
.hero__content h1{margin:0 0 10px;font-size:clamp(2.3rem,4.1vw,4.7rem);letter-spacing:-.045em;line-height:.95}
.hero__content p{margin:0;max-width:560px;color:rgba(255,255,255,.86);font-size:clamp(.98rem,1.18vw,1.14rem);line-height:1.55}
.login-panel{position:relative;z-index:3;width:min(100%,430px);display:flex;flex-direction:column;gap:18px;align-items:stretch}
.login-card{width:100%;padding:32px;border-radius:20px;background:rgba(248,251,255,.88);border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand-lockup{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:26px}
.brand-lockup strong{display:block;letter-spacing:.1em;font-size:.95rem;color:#10243d}.brand-lockup span{display:block;color:var(--orange);font-size:.82rem;margin-top:2px;font-weight:800}
.login-copy{text-align:center}.login-copy h2{margin:0;font-size:1.72rem;letter-spacing:-.03em;color:#10243d}.login-copy p{margin:8px 0 26px;color:var(--muted);line-height:1.5;font-size:.92rem}
form label{display:block;font-size:.84rem;font-weight:750;color:#34465d;margin-bottom:7px}.field-wrap{margin-bottom:16px;position:relative}.field-wrap input{width:100%;height:50px;border-radius:11px;border:1px solid #cdd8e6;background:rgba(255,255,255,.82);color:#122034;padding:0 14px;outline:none;transition:border .18s ease,box-shadow .18s ease,background .18s ease}.field-wrap input::placeholder{color:#8491a3}.field-wrap input:focus{border-color:#4380ff;box-shadow:0 0 0 4px rgba(30,102,245,.12);background:#fff}.password-wrap input{padding-right:82px}
.icon-button{position:absolute;right:8px;top:7px;height:36px;border:0;border-radius:9px;padding:0 10px;color:#53677e;background:transparent;font-size:.76rem;font-weight:750}.icon-button:hover{background:#eef3fa;color:#0e4abf}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 16px}.remember{display:flex;align-items:center;gap:8px;margin:0;font-size:.78rem;color:#65758b;font-weight:550}.remember input{accent-color:var(--blue)}.link-button{border:0;background:transparent;color:#155bd7;font-size:.78rem;padding:0}.link-button:hover{color:#0a42a6;text-decoration:underline}
.feedback{min-height:20px;font-size:.8rem;line-height:1.4;margin-bottom:7px;color:var(--danger)}.feedback.ok{color:var(--ok)}
.primary-button{width:100%;height:52px;border:0;border-radius:11px;color:#fff;font-weight:850;letter-spacing:.01em;background:linear-gradient(135deg,#0957ee,#1c7aff);box-shadow:0 12px 30px rgba(20,91,255,.25);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px rgba(20,91,255,.34);background:linear-gradient(135deg,#0b51d7,#267fff)}.primary-button:disabled{opacity:.7;cursor:wait}.spinner{width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;display:none;animation:spin .7s linear infinite}.primary-button.loading .spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}
.security-note{display:flex;align-items:flex-start;gap:9px;padding-top:19px;margin-top:19px;border-top:1px solid rgba(15,43,79,.10);color:#66778d;font-size:.76rem;line-height:1.4}.security-dot{width:8px;height:8px;margin-top:3px;border-radius:50%;background:#2dbd74;box-shadow:0 0 0 4px rgba(45,189,116,.12);flex:0 0 auto}
footer{width:100%;display:flex;justify-content:space-between;gap:16px;color:rgba(255,255,255,.72);font-size:.71rem;text-shadow:0 2px 10px rgba(0,0,0,.36);padding:0 6px}
@media(max-width:980px){.login-shell{justify-content:center;padding:28px 18px}.hero__content{display:none}.hero__overlay{background:rgba(3,10,20,.32)}.login-panel{width:min(100%,420px)}}
@media(max-width:520px){.login-card{padding:26px 22px;border-radius:17px}.brand-lockup{margin-bottom:24px}.form-row{align-items:flex-start;flex-direction:column;gap:10px}footer{flex-direction:column;align-items:center;gap:4px}}
