.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:linear-gradient(160deg,#1d4ed8,#2563eb 55%,#3b82f6);display:flex;flex-direction:column;justify-content:space-between;padding:48px;overflow:hidden}.login-brand__content{display:flex;flex-direction:column;gap:28px;flex:1}.login-brand__logo{display:flex;align-items:center;gap:12px}.login-brand__logo-icon{width:38px;height:38px;border-radius:9px;background:#fff3;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25)}.login-brand__logo-name{font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.02em}.login-brand__headline{font-size:1.875rem;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-.03em;max-width:320px}.login-brand__subline{font-size:.9rem;color:#ffffffb3;line-height:1.6;max-width:300px;margin-top:-12px}.login-brand__pills{display:flex;flex-wrap:wrap;gap:8px}.login-brand__pill{padding:4px 12px;border-radius:100px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:.75rem;font-weight:500;color:#ffffffd9}.login-brand__features{display:flex;flex-direction:column;gap:20px;margin-top:auto;padding-top:40px;border-top:1px solid rgba(255,255,255,.12)}.login-brand__feature{display:flex;align-items:flex-start;gap:12px}.login-brand__feature-icon{width:28px;height:28px;border-radius:7px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#ffffffd9;flex-shrink:0;margin-top:1px}.login-brand__feature-title{font-size:.8125rem;font-weight:600;color:#ffffffe6;margin:0 0 2px}.login-brand__feature-desc{font-size:.75rem;color:#ffffff8c;line-height:1.5;margin:0}.login-brand__footer{font-size:.75rem;color:#fff6;padding-top:24px}.login-form-panel{background:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px}.login-mobile-header{display:none}.login-form-inner{width:100%;max-width:380px;animation:fadeIn .4s ease-out}.login-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000d;display:flex;flex-direction:column;gap:24px}.login-form-header{display:flex;flex-direction:column;gap:4px}.login-form-header h1{font-size:1.375rem;font-weight:700;color:#111827;letter-spacing:-.02em;margin:0}.login-form-header p{font-size:.8125rem;color:#6b7280;margin:0}.login-form-fields{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:5px}.login-field label{font-size:.8125rem;font-weight:500;color:#374151}.login-input-wrapper{position:relative}.login-input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;transition:color .15s}.login-input-wrapper:focus-within .login-input-icon{color:#2563eb}.login-input-wrapper input{width:100%;height:38px;padding:0 40px 0 34px;border:1px solid #e5e7eb;border-radius:7px;font-size:.875rem;background:#fff;color:#111827;transition:border-color .15s,box-shadow .15s;outline:none;box-sizing:border-box}.login-input-wrapper input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-input-wrapper input::placeholder{color:#9ca3af}.login-input-wrapper input:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s}.login-password-toggle:hover:not(:disabled){color:#374151}.login-password-toggle:disabled{opacity:.4;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#dc2626;font-size:.8125rem}.login-submit{width:100%;height:38px;background:#2563eb;color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:8px}.login-submit:hover:not(:disabled){background:#1d4ed8}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-form-footer{text-align:center;font-size:.75rem;color:#9ca3af;margin-top:4px}.login-local-admin{margin-top:4px;border-top:1px dashed #e5e7eb;padding-top:16px}.login-local-admin__summary{cursor:pointer;font-size:.8125rem;font-weight:500;color:#2563eb;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 0}.login-local-admin__summary::-webkit-details-marker{display:none}.login-local-admin__summary:hover{color:#1d4ed8}.login-local-admin__body{display:flex;flex-direction:column;gap:12px;margin-top:12px}.login-local-admin__field{display:flex;flex-direction:column;gap:4px}.login-local-admin__field label{font-size:.75rem;font-weight:500;color:#374151}.login-local-admin__field input{width:100%;height:36px;padding:0 12px;border:1px solid #e5e7eb;border-radius:7px;font-size:.875rem;background:#fff;color:#111827;transition:border-color .15s,box-shadow .15s;outline:none;box-sizing:border-box}.login-local-admin__field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-local-admin__submit{width:100%;height:36px;background:#111827;color:#fff;border:none;border-radius:7px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s}.login-local-admin__submit:hover:not(:disabled){background:#1f2937}.login-local-admin__submit:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.login-page{grid-template-columns:1fr;background:#f3f4f6}.login-brand{display:none}.login-mobile-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.login-mobile-header__icon{width:34px;height:34px;border-radius:8px;background:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-mobile-header__name{font-size:1.125rem;font-weight:700;color:#111827;letter-spacing:-.02em}.login-mobile-header__tagline{font-size:.75rem;color:#6b7280}.login-form-panel{padding:48px 20px 32px;min-height:100vh;justify-content:flex-start}.login-form-card{padding:24px}}
