.login-shell{min-height:100vh;padding:var(--space-6) var(--space-5);background:var(--surface-sunken);font-family:var(--font-sans);color:var(--text-body);flex-direction:column;justify-content:center;align-items:center;display:flex}.brand-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-7);display:flex}.brand-mark{flex-shrink:0;width:auto;height:36px;display:block}.brand-suffix{font-family:var(--font-sans);font-weight:var(--font-weight-bold);color:var(--color-brand-primary);letter-spacing:.08em;text-transform:uppercase;border-left:1px solid var(--border-subtle);padding-left:var(--space-3);margin-left:6px;font-size:13px}.login-card{background:var(--surface-card);border-radius:var(--radius-m);width:100%;max-width:400px;box-shadow:var(--shadow-card);padding:40px}.login-card-inner{gap:var(--space-6);flex-direction:column;display:flex}.login-heading h1{font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--text-heading-l);color:var(--text-heading);letter-spacing:-.01em;margin:0 0 6px}.login-heading p{font-family:var(--font-sans);font-size:var(--text-body-m);color:var(--text-muted);line-height:var(--leading-normal);margin:0}.field-group{gap:var(--space-4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--text-caption);color:var(--text-heading);letter-spacing:.02em}.field input{border:1.5px solid var(--border-subtle);border-radius:var(--radius-s);width:100%;min-height:48px;font-family:var(--font-sans);font-size:var(--text-body-m);color:var(--text-heading);background:var(--white);transition:border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);outline:none;padding:12px 14px}.field input::placeholder{color:var(--ink-300)}.field input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px #0066ff26}.field-hint{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--text-muted);margin-top:5px}.pw-row{position:relative}.pw-row input{border:1.5px solid var(--border-subtle);border-radius:var(--radius-s);width:100%;min-height:48px;font-family:var(--font-sans);font-size:var(--text-body-m);color:var(--text-heading);background:var(--white);transition:border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);outline:none;padding:12px 64px 12px 14px}.pw-row input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px #0066ff26}.pw-toggle{font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--text-caption);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text-link)}.row-between{justify-content:flex-end;align-items:center;display:flex}.forgot-link{font-family:var(--font-sans);font-size:var(--text-body-s);color:var(--text-link);font-weight:var(--font-weight-medium);text-decoration:none}.forgot-link:hover{color:var(--text-link-hover)}.submit-btn{border-radius:var(--radius-pill);background:var(--color-brand-primary);width:100%;min-height:52px;color:var(--text-on-brand);font-family:var(--font-sans);font-weight:var(--font-weight-bold);font-size:var(--text-body-m);cursor:pointer;transition:background var(--duration-base) var(--ease-standard), transform .12s var(--ease-standard);border:none}.submit-btn:hover:not(:disabled){background:var(--color-brand-primary-hover)}.submit-btn:active:not(:disabled){background:var(--color-brand-primary-active);transform:scale(.99)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-error{font-size:var(--text-body-s);font-weight:var(--font-weight-bold);color:#b42318;margin:0}.login-footer{margin-top:var(--space-7);text-align:center;font-family:var(--font-sans);font-size:var(--text-body-s);color:var(--text-muted)}.login-footer a{color:var(--text-link);font-weight:var(--font-weight-bold);text-decoration:none}.login-footer a:hover{color:var(--text-link-hover)}@media (max-width:520px){.login-shell{padding-top:var(--space-8);justify-content:flex-start}.brand-row{margin-bottom:var(--space-6)}.login-card{padding:28px 22px}}
