/* PARUCNC: a modular foundation connected by an AI-inspired light network. */
.login-wrap { background:#07162e; grid-template-columns:minmax(0,1.5fr) minmax(420px,1fr); }
.login-visual { background:radial-gradient(ellipse at 90% 80%,#123b64 0,transparent 55%),linear-gradient(145deg,#061227,#10274a); }
.login-visual::before { content:""; position:absolute; inset:0; background:url('../images/login-framework.svg') center bottom / cover no-repeat; }
.login-visual::after { background:linear-gradient(90deg,rgba(5,16,37,.6),transparent 85%); pointer-events:none; }
.login-visual .visual-inner { padding:52px 64px 36px; gap:40px; }
.login-visual .v-brand .name { display:flex; flex-direction:column; font-size:22px; letter-spacing:.07em; line-height:1.1; font-weight:800; }
.login-visual .v-brand .name small { font-size:9px; letter-spacing:.21em; margin-top:7px; color:#aac7e6; font-weight:500; }
.login-visual .v-brand .mark { background:rgba(100,183,228,.12); border-color:#6287ad; }
.login-visual .v-copy { align-self:flex-start; margin-top:38px; margin-bottom:auto; max-width:530px; }
.login-visual .v-copy .tag { color:#9aeeef; background:rgba(18,98,117,.25); border:1px solid #327185; letter-spacing:.15em; font-size:10px; }
.login-visual .v-copy h1 { font-size:clamp(30px,3.1vw,52px); line-height:1.28; letter-spacing:-.045em; text-shadow:0 2px 25px #061227; }
.login-visual .v-copy h1 span:last-child { color:#8bcddd; }
.login-visual .v-copy p { max-width:400px; color:#b4c9df; line-height:1.85; }
.login-visual .v-features { display:flex; gap:8px; margin-top:24px; }
.login-visual .v-features .chip { padding:8px 10px; font-size:10px; border-radius:4px; background:#102544a6; border-color:#34516b; }
.login-visual .v-foot { color:#a4bed8; letter-spacing:.08em; }
.login-panel { margin:24px 24px 24px 0; min-height:calc(100dvh - 48px); border-radius:20px; background:linear-gradient(155deg,#fff,#f1f5fb); box-shadow:0 24px 70px #0003; padding:100px 48px; }
.login-panel .login-box { max-width:360px; }
.login-box .lb-welcome { font-size:28px; color:#14294a; }
.login-box .btn-login { height:46px; background:linear-gradient(110deg,#224d90,#246d9e); box-shadow:0 6px 16px #1a4e8c25; }
.login-field .form-control { height:46px; }
@media(min-width:1600px) { .login-visual .visual-inner { padding:64px 80px 40px; } .login-visual .v-copy { margin-top:70px; } }
@media(max-width:1100px) and (min-width:901px) { .login-visual .visual-inner { padding:40px 32px; } .login-visual .v-copy h1 { font-size:32px; } .login-visual .v-features { flex-wrap:wrap; } }
@media(max-width:900px) { .login-wrap { background:#07162e url('../images/login-framework.svg') center / cover no-repeat; padding:32px 20px; } .login-panel { margin:0 auto; max-width:500px; min-height:calc(100dvh - 64px); padding:100px 32px 40px; border-radius:18px; } .login-box .quick-row { right:28px; } }
@media(max-width:480px) { .login-wrap { padding:20px 14px; } .login-panel { min-height:calc(100dvh - 40px); padding:88px 24px 32px; } }
