:root{}*{box-sizing:border-box}body{margin:0;min-width:320px}.login-page{min-height:100vh;padding:var(--space-8);background:var(--color-background);display:grid;place-items:center}.login-shell{width:min(1060px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:60px;align-items:center}.login-brand{padding:28px}.login-brand-lockup{display:flex;align-items:center;width:fit-content;max-width:100%;padding:0;background:transparent}.login-brand img{display:block;width:min(300px,62%);height:auto;max-height:83px;object-fit:contain}.login-brand-lockup .product-divider{width:1px;height:64px;margin:0 var(--space-5);background:var(--color-border-strong);flex:0 0 auto}.login-brand-lockup .product-wordmark{color:var(--color-text);font-family:var(--font-heading);font-size:2.795rem;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.login-brand-note{max-width:400px;margin:30px 0 0;color:var(--color-text-muted);font-size:1.08rem;line-height:1.6}.login-card{padding:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-floating)}.eyebrow{margin:0 0 8px;color:var(--color-primary);font-size:.75rem;font-weight:600;letter-spacing:.16em}.login-card h1{margin:0;color:var(--color-text);font-size:2rem;letter-spacing:-.04em}.login-intro{margin:10px 0 26px;color:var(--color-text-muted);line-height:1.55}.login-card form{display:grid;gap:var(--space-4)}.login-card label{display:grid;gap:8px;color:var(--color-text-soft);font-weight:600}.login-card input{width:100%;min-width:0;padding:13px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color .15s,box-shadow .15s}.login-card input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.login-card button{border:1px solid transparent;border-radius:var(--radius-sm);padding:13px 16px;background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.login-card button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-subtle)}.error{min-height:1.4em;margin:0;color:var(--color-error-strong);line-height:1.4}.login-security{margin:25px 0 0;padding-top:18px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.87rem}@media(max-width:850px){.login-shell{grid-template-columns:1fr;gap:var(--space-8);max-width:520px}.login-brand{padding:0}.login-brand-note{margin-top:16px}.login-brand-lockup{justify-content:center}.login-brand-note{text-align:center;margin-left:auto;margin-right:auto}}@media(max-width:560px){.login-brand-lockup{padding:0}.login-page{padding:22px 16px}.login-brand-lockup{gap:var(--space-3)}.login-brand img{width:120px;max-height:34px}.login-brand-lockup .product-divider{height:32px;margin:0 4px}.login-brand-lockup .product-wordmark{font-size:1.365rem}.login-card{padding:26px 22px;border-radius:18px}.login-card h1{font-size:1.75rem}.login-brand-note{font-size:.95rem;margin-top:14px}.login-security{font-size:.8rem}}

.login-message{display:none;margin:0 0 var(--space-4);padding:11px 13px;border-radius:var(--radius-sm);line-height:1.4}.login-message.show{display:block}.login-message.error{background:var(--color-error-soft);color:var(--color-error-strong)}.login-message.success{background:var(--color-success-soft);color:var(--color-success-strong)}.login-message.info{background:var(--color-brand-soft);color:var(--color-primary-active)}
.login-methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:0 0 var(--space-5);padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.login-card .login-method{min-height:42px;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);box-shadow:none}.login-card .login-method:hover{transform:none;box-shadow:none;background:var(--color-surface-hover)}.login-card .login-method.active{background:var(--color-primary);color:var(--color-on-primary)}
.login-panel[hidden],.otp-verify[hidden]{display:none}.login-form{display:grid;gap:var(--space-4)}.otp-verify{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}
.phone-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch}.phone-field>span{display:grid;place-items:center;padding:0 14px;border:1px solid var(--color-border-strong);border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-soft);font-weight:600}.login-card .phone-field input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.otp-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.login-card .button-quiet{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-soft)}.login-card .button-quiet:hover{background:var(--color-surface-hover);box-shadow:none}.otp-expiry{margin:0;color:var(--color-text-muted);font-size:.9rem}
@media(max-width:560px){.otp-actions{grid-template-columns:1fr}.login-card .button-quiet{min-height:46px}}