.login-page{background:var(--color-bg-primary);min-height:100dvh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-container{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-logo-container{margin-bottom:var(--space-4);justify-content:center;display:flex}.login-logo{object-fit:contain;width:auto;height:56px}html[data-theme=light] .logo-light-mode{display:none!important}html[data-theme=light] .logo-dark-mode,html[data-theme=dark] .logo-light-mode{display:block!important}html[data-theme=dark] .logo-dark-mode{display:none!important}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .logo-light-mode{display:block!important}html:not([data-theme=light]) .logo-dark-mode{display:none!important}}@media (prefers-color-scheme:light){html:not([data-theme=dark]) .logo-light-mode{display:none!important}html:not([data-theme=dark]) .logo-dark-mode{display:block!important}}.login-brand{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.login-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.login-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-xs)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-error{padding:var(--space-3);background:var(--color-error-subtle);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.login-submit{margin-top:var(--space-2);width:100%;height:44px;font-size:var(--text-md);font-weight:var(--weight-semibold)}.login-links{align-items:center;gap:var(--space-3);margin-top:var(--space-6);flex-direction:column;display:flex}.login-link{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-default)}.login-link:hover{color:var(--color-accent)}.login-link strong{color:var(--color-accent);font-weight:var(--weight-medium)}.input-field.error{border-color:var(--color-error)}.input-error-text{font-size:var(--text-xs);color:var(--color-error);margin-top:2px}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.form-control{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.form-control label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.form-control input{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3);font-size:var(--text-md);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-default);display:block}.form-control input:focus{border-color:var(--color-accent);outline:0}.form-control input.error{border-color:var(--color-error)}.input-container{margin:20px 0;position:relative}.input-field{width:100%;color:var(--color-text-primary);background-color:#0000;border:none;border-bottom:2px solid #ccc;outline:none;padding:10px;font-size:16px;display:block}.input-label{color:var(--color-text-secondary);pointer-events:none;font-size:16px;transition:all .3s;position:absolute;top:10px;left:10px}.input-highlight{background-color:var(--color-accent);width:0;height:2px;transition:all .3s;position:absolute;bottom:0;left:0}.input-field:focus+.input-label,.input-field:not(:placeholder-shown)+.input-label{color:var(--color-accent);font-size:12px;top:-15px;left:0}.input-field:focus~.input-highlight{width:100%}
