.lms-auth{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.lms-auth__brand{background:var(--surface-inverse);color:var(--neutral-100);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.lms-auth__logo{font-family:var(--font-display);color:#fff;letter-spacing:var(--tracking-snug);align-items:center;gap:10px;font-size:20px;font-weight:700;display:inline-flex}.lms-auth__mark{border-radius:var(--radius-md);background:var(--brand);color:#fff;width:36px;height:36px;font-family:var(--font-display);letter-spacing:-.04em;place-items:center;font-size:13px;font-weight:800;display:grid}.lms-auth__tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--neutral-400);letter-spacing:.04em;margin-top:14px}.lms-auth__pitch h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:#fff;margin-bottom:28px}.lms-auth__pitch ul{flex-direction:column;gap:14px;list-style:none;display:flex}.lms-auth__pitch li{font-size:var(--text-md);color:var(--neutral-200);align-items:center;gap:12px;display:flex}.lms-auth__pitch li svg{color:var(--primary-300);flex:none}.lms-auth__symbols{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--neutral-700);letter-spacing:.18em;-webkit-user-select:none;user-select:none;line-height:1.9}.lms-auth__panel{background:var(--surface-page);justify-content:center;align-items:center;padding:48px 32px;display:flex}.lms-auth__card{flex-direction:column;width:100%;max-width:420px;display:flex}.lms-auth__tabs{background:var(--surface-sunken);border-radius:var(--radius-md);align-self:flex-start;gap:4px;margin-bottom:28px;padding:4px;display:inline-flex}.lms-auth__tab{cursor:pointer;font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:7px 18px}.lms-auth__tab.is-active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-xs)}.lms-auth__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:6px}.lms-auth__hint{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:24px}.lms-auth__hint--role{margin-top:-12px}.lms-auth__rolelabel{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:8px;display:block}.lms-auth__roles{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.lms-auth__role{cursor:pointer;text-align:left;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.lms-auth__role svg{color:var(--text-tertiary)}.lms-auth__role.is-active{border-color:var(--border-brand);background:var(--brand-subtle);box-shadow:var(--shadow-focus);color:var(--primary-800)}.lms-auth__role.is-active svg{color:var(--brand)}.lms-auth__role-t{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--text-primary)}.lms-auth__role-d{font-size:var(--text-xs);color:var(--text-tertiary)}.lms-auth__fields{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.lms-auth__error{background:var(--surface-danger);color:var(--text-danger);border:1px solid var(--danger-100);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;display:flex}.lms-auth__switch{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-top:20px}.lms-auth__switch button{cursor:pointer;font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-link);background:0 0;border:none;padding:0}@media (max-width:860px){.lms-auth{grid-template-columns:1fr}.lms-auth__brand{display:none}}
