.login{background:var(--bg);grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100vh;display:grid}.login-brand{background:var(--navy-950);color:#fff;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";border:1px solid #7cc0f524;border-radius:50%;width:440px;height:440px;position:absolute;inset:auto -120px -160px auto;box-shadow:0 0 0 60px #7cc0f508,0 0 0 120px #7cc0f505}.login-brand-inner{flex-direction:column;gap:14px;max-width:420px;margin-inline:auto;display:flex;position:relative}.login-back{color:#9fb1d4;font-size:var(--fs-sm);transition:color .15s var(--ease), background-color .15s var(--ease);border-radius:6px;align-self:flex-start;align-items:center;gap:6px;margin-bottom:28px;padding:4px 8px 4px 4px;font-weight:600;text-decoration:none;display:inline-flex}.login-back svg{width:16px;height:16px}.login-back:hover{color:#fff;background:#ffffff0f}.login-mark{border-radius:24px;width:104px;height:104px}.login-brand h1{font-size:var(--fs-3xl);letter-spacing:-.03em;margin-top:8px;font-weight:800}.login-tagline{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--sky)}.login-points{color:#c9d4ea;font-size:var(--fs-sm);flex-direction:column;gap:12px;margin:20px 0 0;padding:0;list-style:none;display:flex}.login-points li{align-items:baseline;gap:12px;display:flex}.login-points .dot{border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.dot-blue{background:#4e95ea}.dot-orange{background:var(--orange-500)}.dot-green{background:var(--green-500)}.login-main{justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-card{flex-direction:column;gap:24px;width:min(440px,100%);display:flex}.login-head{flex-direction:column;gap:6px;display:flex}.login-head h2{font-size:var(--fs-2xl);font-weight:750}.login-head p{font-size:var(--fs-sm)}.login-icon{background:var(--primary-soft);width:44px;height:44px;color:var(--primary-strong);border-radius:12px;place-items:center;margin-bottom:8px;display:grid}.login-icon svg{width:22px;height:22px}.login-icon.ok{background:var(--green-soft);color:var(--green)}.pw-wrap{position:relative}.pw-wrap .input{padding-right:44px}.pw-toggle{width:34px;height:34px;color:var(--text-3);cursor:pointer;transition:color .15s var(--ease), background-color .15s var(--ease);background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text);background:var(--surface-2)}.pw-toggle svg{width:18px;height:18px}.login-demo{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:20px;display:flex}.login-demo h3{font-size:var(--fs-base)}.login-demo ul{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.demo-btn{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:100%;transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background-color .15s var(--ease);align-items:center;gap:12px;padding:10px 12px;display:flex}.demo-btn:hover:not(:disabled){border-color:var(--primary-line);box-shadow:var(--shadow)}.demo-btn:disabled{opacity:.6;cursor:not-allowed}.demo-btn[aria-busy=true]{opacity:1;border-color:var(--primary)}.demo-ico{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.demo-ico svg{width:18px;height:18px}.role-superadmin{color:var(--navy-800);background:#e8edf7}.role-admin{background:var(--green-soft);color:var(--green)}.role-member{background:var(--primary-soft);color:var(--primary-strong)}.demo-text{flex-direction:column;flex:1;min-width:0;display:flex}.demo-text strong{font-size:var(--fs-sm)}.demo-text span{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.demo-go{font-size:var(--fs-xs);color:var(--primary-strong);white-space:nowrap;font-weight:700}.login-switch{font-size:var(--fs-sm);color:var(--text-2);text-align:center}.linklike{color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.linklike:hover{color:var(--primary-strong)}@media (max-width:900px){.login{grid-template-columns:minmax(0,1fr)}.login-brand{padding:24px 20px 28px}.login-brand-inner{flex-flow:wrap;align-items:center;gap:4px 14px;max-width:none;margin:0}.login-back{width:100%;margin-bottom:8px}.login-mark{border-radius:14px;width:56px;height:56px}.login-brand h1{font-size:var(--fs-xl);margin:0}.login-tagline{font-size:var(--fs-sm);width:100%}.login-points{display:none}.login-main{align-items:flex-start;padding:28px 20px 48px}}
