.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background-app);padding:2rem 1rem}.login-content{width:100%;max-width:480px;margin-bottom:10vh}.login-card{background:var(--color-background-content-primary);border-radius:var(--border-radius-xl);border:1px solid var(--color-border-sidebar);box-shadow:var(--shadow-xl);overflow:hidden}.google-section{padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--color-border-sidebar)}.email-section{background:var(--color-background-app)}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border-bottom:1px solid var(--color-border-sidebar);font-size:.875rem;animation:slideDown .3s ease-out}.alert.success{background:var(--color-status-success-bg, #d1fae5);border-bottom:1px solid var(--color-status-success-border, #6ee7b7);color:var(--color-status-success-text, #065f46)}.alert.error{background:var(--color-status-error-bg);border-bottom:1px solid var(--color-status-error-border);color:var(--color-status-error-text)}@media(max-width:640px){.login-container{padding:1rem}.google-section{padding:1.5rem 1.5rem 1rem}}.header-container{padding:1rem 2rem 0;text-align:center}.logo-section{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:0}.wire-logo-header{width:100%;max-width:300px;height:auto;-o-object-fit:contain;object-fit:contain}.logo-text{font-family:Barlow Condensed,sans-serif;font-size:2rem;font-weight:700;font-style:italic;color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:1.5px}.welcome-subtitle{font-size:.875rem;color:var(--color-text-tertiary);margin:0}@media(max-width:640px){.header-container{padding:1.5rem 1.5rem 1rem}.logo-text{font-size:1.75rem}}.login-form{padding:2rem}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1.5rem;font-size:.875rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert.error{background:var(--color-status-error-bg);border:1px solid var(--color-status-error-border);color:var(--color-status-error-text)}.alert svg{flex-shrink:0}.form-group{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem;transition:color var(--transition-medium)}.form-group:focus-within .form-label{color:var(--color-accent-primary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--color-text-tertiary);display:flex;align-items:center;pointer-events:none;transition:color var(--transition-medium)}.input-wrapper:focus-within .input-icon{color:var(--color-accent-primary)}.form-input{width:100%;padding:.875rem 1rem;background:var(--color-background-app);border:2px solid var(--color-border-sidebar);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-medium)}.form-input::-moz-placeholder{color:var(--color-text-tertiary)}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-background-content-primary);box-shadow:0 0 0 4px var(--color-accent-shadow)}.input-wrapper.error .form-input{border-color:var(--color-status-error-border)}.input-action{position:absolute;right:1rem;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:.5rem;display:flex;align-items:center;transition:all var(--transition-medium);border-radius:var(--border-radius-sm)}.input-action:hover{color:var(--color-accent-primary);background:var(--color-background-hover-light-alpha)}.field-error{color:var(--color-status-error-text);font-size:.8125rem;margin:.5rem 0 0;display:flex;align-items:center;gap:.25rem}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.checkbox-input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:20px;height:20px;min-width:20px;border:2px solid var(--color-border-sidebar);border-radius:4px;background:var(--color-background-app);position:relative;transition:all var(--transition-medium);display:flex;align-items:center;justify-content:center}.checkbox-label:hover .checkbox-custom{border-color:var(--color-accent-primary)}.checkbox-input:checked+.checkbox-custom{background:var(--color-accent-primary);border-color:var(--color-accent-primary)}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.checkbox-input:focus+.checkbox-custom{box-shadow:0 0 0 4px var(--color-accent-shadow)}.checkbox-text{font-size:.875rem;color:var(--color-text-secondary);transition:color var(--transition-medium)}.checkbox-label:hover .checkbox-text{color:var(--color-text-primary)}.link-text{font-size:.875rem;color:var(--color-accent-primary);text-decoration:none;font-weight:500;transition:all var(--transition-medium);position:relative}.link-text:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--color-accent-primary);transition:width var(--transition-medium)}.link-text:hover:after{width:100%}.link-text:hover{color:var(--color-accent-primary-dark)}.submit-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-primary-dark));border:none;border-radius:var(--border-radius-md);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-medium);box-shadow:0 4px 12px var(--color-accent-shadow);position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.submit-button:hover:before{left:100%}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-accent-shadow)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.signup-prompt{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--color-text-secondary)}.signup-link{color:var(--color-accent-primary);text-decoration:none;font-weight:600;margin-left:.25rem;transition:color var(--transition-medium)}.signup-link:hover{color:var(--color-accent-primary-dark);text-decoration:underline}.form-divider{position:relative;text-align:center;margin:1.5rem 0 1rem}.form-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border-sidebar),transparent)}.divider-text{position:relative;display:inline-block;padding:0 1rem;background:var(--color-background-content-primary);color:var(--color-text-tertiary);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:640px){.login-form{padding:1.5rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.google-button.svelte-1gl8rdi{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;background:#fff;border:2px solid var(--color-border-sidebar);border-radius:var(--border-radius-lg);font-size:.9375rem;font-weight:500;text-decoration:none;transition:all var(--transition-medium);box-shadow:0 1px 3px #00000014}.google-button.svelte-1gl8rdi:hover{border-color:#4285f4;transform:translateY(-1px);box-shadow:0 4px 12px #4285f426}.google-button.svelte-1gl8rdi:active{transform:translateY(0)}.google-icon.svelte-1gl8rdi{display:flex;align-items:center;flex-shrink:0}.google-text.svelte-1gl8rdi{color:#1f1f1f}.auth-unavailable.svelte-1gl8rdi{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:var(--color-status-warning-bg);border:1px solid var(--color-status-warning-border);border-radius:var(--border-radius-md);color:var(--color-status-warning-text);font-size:.875rem}.auth-unavailable.svelte-1gl8rdi svg:where(.svelte-1gl8rdi){flex-shrink:0}
