.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--tv-font);color:var(--tv-ink);background:var(--tv-surface-2, #f6f4fa)}.login-root .card{width:100%;max-width:380px;background:var(--tv-surface, #fff);border:1px solid var(--tv-line, #e4e0ea);border-radius:var(--tv-radius, 12px);padding:28px 24px;box-shadow:0 1px 3px #0000000f}.login-root h1{font-size:22px;margin:0 0 4px}.login-root .subtitle{color:var(--tv-ink-soft, #6b6474);margin:0 0 20px;font-size:14px}.login-root .lbl{display:block;font-size:13px;color:var(--tv-ink-soft, #6b6474);margin-bottom:14px}.login-root input[type=email],.login-root input[type=text],.login-root .password-field input{width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;font-size:15px;border:1px solid var(--tv-line, #e4e0ea);border-radius:8px;font-family:inherit}.login-root .password-field{position:relative}.login-root .password-field input{padding-right:44px}.login-root .password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:4px 6px}.login-root button.primary{width:100%;padding:11px;font-size:15px;font-weight:600;color:#fff;background:var(--tv-primary, #6d28d9);border:none;border-radius:8px;cursor:pointer;margin-top:4px}.login-root button.primary:disabled{opacity:.6;cursor:default}.login-root button.link{display:block;width:100%;margin-top:12px;padding:6px;background:transparent;border:none;color:var(--tv-ink-soft, #6b6474);font-size:13px;cursor:pointer;text-align:center}.login-root .msg{color:var(--tv-danger, #c0392b);font-size:13px;margin:0 0 14px}.login-root .role-buttons{display:flex;flex-direction:column;gap:10px;margin-top:4px}.login-root .role-button{display:block;text-align:left;padding:14px 16px;border:1px solid var(--tv-line, #e4e0ea);border-radius:10px;background:var(--tv-surface, #fff);cursor:pointer;transition:background .12s}.login-root .role-button:hover{background:var(--tv-surface-2, #f6f4fa)}.login-root .role-button strong{display:block;font-size:15px}.login-root .role-desc{display:block;color:var(--tv-ink-soft, #6b6474);font-size:12px;margin-top:3px}.login-root .card.confirm{text-align:center}.login-root .card.confirm .icon{font-size:40px;margin-bottom:8px}.login-root .card.confirm p{color:var(--tv-ink-soft, #6b6474);font-size:14px;line-height:1.5}
