/* Login page only; theme and shared components load first. */
.login-page { min-width: 320px; }
.login-shell { display: grid; place-items: center; align-content: center; gap: var(--ors-space-5); min-height: 100vh; padding: var(--ors-space-6) var(--ors-space-4); }
.login-brand { display: inline-flex; align-items: baseline; gap: var(--ors-space-2); margin: 0; white-space: nowrap; letter-spacing: -.025em; color: var(--ors-color-heading); }
.login-brand .brand-customer { font-size: 1.25rem; font-weight: 500; }
.login-brand .brand-label { color: var(--ors-color-accent); font-size: 1.375rem; font-weight: var(--ors-weight-bold); font-style: italic; }
.ors-theme .login-panel { display: grid; gap: var(--ors-space-4); width: min(380px, 100%); }
.login-panel h1 { margin: 0; color: var(--ors-color-heading); font-family: var(--ors-font-heading-family); font-size: var(--ors-font-title); font-weight: var(--ors-weight-bold); line-height: var(--ors-line-tight); }
.login-panel label { display: grid; gap: var(--ors-space-2); color: var(--ors-color-text); font-size: var(--ors-font-xs); font-weight: var(--ors-weight-medium); }
.login-panel input { width: 100%; font-weight: var(--ors-weight-regular); }
.ors-theme .login-panel .notice { margin: 0; }
.login-panel .button { width: 100%; }
