.login-modal-backdrop{-webkit-backdrop-filter:var(--liquid-blur-subtle);z-index:10000;background:#0f172a99;justify-content:center;align-items:center;padding:0;animation:.4s ease-out modalBackdropFadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .login-modal-backdrop{background:#000000bf}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}.login-modal{background:var(--liquid-bg);-webkit-backdrop-filter:var(--liquid-blur);border:1px solid var(--liquid-border);width:100vw;max-width:none;height:100vh;max-height:none;box-shadow:var(--liquid-shadow), var(--liquid-shadow-glow);will-change:transform;backface-visibility:hidden;border-radius:0;animation:.5s cubic-bezier(.25,.46,.45,.94) slideInFromRight;position:relative;overflow-y:auto}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (width>=1024px){.login-modal-backdrop{justify-content:center;align-items:center;padding:20px}.login-modal{border-radius:var(--radius-apple-2xl,28px);width:90vw;max-width:500px;height:auto;max-height:80vh;margin:auto;animation:.5s cubic-bezier(.25,.46,.45,.94) slideInFromTop;position:relative;inset:auto}}@media (width<=1023px){.login-modal-backdrop{justify-content:stretch!important;align-items:stretch!important;padding:0!important}.login-modal{border-radius:0!important;width:100vw!important;max-width:none!important;height:100vh!important;max-height:none!important;margin:0!important;position:fixed!important;inset:0!important}}.login-modal-header{border-bottom:1px solid var(--liquid-border);background:var(--liquid-bg);-webkit-backdrop-filter:var(--liquid-blur-subtle);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;min-height:80px;padding:20px 24px;display:flex;position:sticky;top:0}.login-title{color:var(--ink-950,#0f172a);background:linear-gradient(135deg, var(--trust-primary,#006064) 0%, var(--electric-blue,#2563eb) 100%);-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700}.login-close-button{background:var(--liquid-bg);border:1px solid var(--liquid-border);border-radius:var(--radius-apple-sm,12px);color:var(--ink-700,#334155);cursor:pointer;-webkit-backdrop-filter:var(--liquid-blur-subtle);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;padding:8px;transition:color .4s cubic-bezier(.23,1,.32,1),background-color .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .4s cubic-bezier(.23,1,.32,1);display:flex}.login-close-button:hover{background:var(--liquid-bg-hover);border-color:var(--liquid-border-strong);box-shadow:var(--shadow-sm);transform:scale(1.05)}.login-modal-body{flex-direction:column;justify-content:flex-start;min-height:calc(100vh - 80px);padding:24px;display:flex}@media (width>=768px) and (width<=1023px){.login-modal-header{padding:24px 32px}.login-modal-body{padding:32px}}@media (width>=1024px){.login-modal-body{justify-content:center;min-height:auto;padding:32px}.login-modal-header{min-height:auto}}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--ink-700,#334155);margin-bottom:4px;font-size:.875rem;font-weight:600}.login-modal .glass-input{background:var(--liquid-bg);-webkit-backdrop-filter:var(--liquid-blur-subtle);border:1px solid var(--liquid-border);border-radius:var(--radius-apple-md,16px);color:var(--ink-900,#1e293b);box-shadow:var(--shadow-xs);outline:none;padding:14px 16px;font-size:1rem;transition:color .4s cubic-bezier(.23,1,.32,1),background-color .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .4s cubic-bezier(.23,1,.32,1)}.login-modal .glass-input::placeholder{color:var(--ink-400,#94a3b8)}.login-modal .glass-input:focus{border-color:var(--trust-primary,#006064);background:var(--liquid-bg-hover);box-shadow:0 0 0 3px #0060641f, var(--shadow-sm)}.login-modal .glass-input:disabled{opacity:.6;cursor:not-allowed}.login-modal .glass-input.error{border-color:var(--action-primary,#d93636);background:#ff6b6b1a}.error-message{color:var(--action-primary,#d93636);margin-top:4px;font-size:.75rem}.general-error{border-radius:var(--radius-apple-sm,12px);text-align:center;color:var(--action-primary,#d93636);background:#ff6b6b1a;border:1px solid #ff6b6b4d;padding:12px 16px}.form-actions{flex-direction:column;gap:16px;margin-top:8px;display:flex}.glass-button.primary.large{min-height:52px;padding:14px 24px;font-size:1rem;font-weight:600}.glass-button.loading{cursor:not-allowed;position:relative}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.forgot-password-link{color:var(--trust-secondary,#00838f);cursor:pointer;text-align:center;background:0 0;border:none;padding:8px;font-size:.875rem;text-decoration:underline;transition:color .3s}.forgot-password-link:hover{color:var(--trust-primary,#006064)}.forgot-password-link:disabled{opacity:.6;cursor:not-allowed}.forgot-password-description{color:var(--ink-600,#475569);text-align:center;margin-bottom:20px;font-size:.875rem;line-height:1.5}.login-close-button:focus-visible{outline:2px solid var(--trust-primary,#006064);outline-offset:2px}.login-modal .glass-input:focus-visible{outline:2px solid var(--trust-primary,#006064);outline-offset:-2px}.login-modal .glass-button:focus-visible{outline:2px solid var(--trust-primary,#006064);outline-offset:2px}
