@import './theme-tokens.css';
*{box-sizing:border-box}
html{background:var(--background);color:var(--text-primary);font-family:var(--font-sans)}
body{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.login-shell{width:min(100%,940px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:white;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.login-context{padding:48px;background:var(--surface-1);border-right:1px solid var(--border-subtle);border-radius:14px 0 0 14px}
.login-logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--accent-primary);color:white;font-size:24px;font-weight:800;margin-bottom:32px}
.login-context h1{font-size:30px;line-height:1.25;letter-spacing:-.8px;margin:0 0 16px;overflow-wrap:anywhere}
.login-context p{color:var(--text-secondary);line-height:1.7;margin:0;font-size:15px}
.login-card{padding:48px;min-width:0}
.login-card h2{font-size:23px;margin:0 0 8px}.login-card>p{color:var(--text-muted);font-size:14px;line-height:1.7;margin:0 0 28px}
.login-form{display:grid;gap:12px}.login-form label{font-size:14px;font-weight:600}
.login-form input{width:100%;min-width:0;min-height:48px;font:inherit;font-size:16px;padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:white;color:var(--text-primary)}
.login-form button{margin-top:8px;min-height:48px;border:0;border-radius:var(--radius-sm);background:var(--accent-primary);color:white;font:inherit;font-weight:600;cursor:pointer;padding:12px;white-space:normal}
.login-form button:hover{background:var(--accent-primary-strong)}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px}
.login-error{padding:12px;margin:0 0 20px;border:1px solid #f2c5cb;border-radius:var(--radius-sm);background:#fff3f4;color:var(--accent-red);font-size:14px;overflow-wrap:anywhere}
.login-note{font-size:12px;color:var(--text-muted);line-height:1.7;margin:24px 0 0}
@media(max-width:700px){.login-shell{grid-template-columns:minmax(0,1fr);max-width:460px}.login-context{border-right:0;border-bottom:1px solid var(--border-subtle);padding:24px;border-radius:14px 14px 0 0}.login-logo{margin-bottom:16px}.login-context h1{font-size:24px}.login-context p{font-size:14px}.login-card{padding:24px}}
@media(max-height:520px){body{display:block}.login-shell{margin:0 auto}.login-context,.login-card{padding:24px}.login-logo{margin-bottom:12px}}

.login-form button{min-height:var(--button-toolbar-height);font-size:var(--button-font);border-radius:var(--button-radius)}
.login-form button:disabled{color:var(--disabled-text);background:var(--surface-3);cursor:not-allowed}
@media(max-width:640px){.login-form button{min-height:44px}}
