@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);:root{--brand-primary:#6366f1;--brand-primary-hover:#4f46e5;--brand-primary-rgb:99,102,241;--brand-secondary:#a61e69;--brand-secondary-rgb:166,30,105;--auth-bg:#f0f2f5;--auth-card-bg:#fff;--auth-card-shadow:0 2px 10px rgba(0,0,0,.1);--auth-heading-color:#000;--auth-subtext-color:#666;--auth-label-color:#333;--auth-input-border:#d1d5db;--auth-input-bg:#fff;--auth-input-color:#000;--auth-message-color:#555;--auth-message-strong:#333;--auth-error-bg:#fef2f2;--auth-error-border:#fecaca;--auth-error-color:#991b1b;--auth-success-bg:#f0fdf4;--auth-success-border:#bbf7d0;--auth-success-color:#166534;--auth-icon-info-bg:#eef2ff;--auth-icon-error-bg:#fef2f2;--auth-icon-error-color:#991b1b}@media (prefers-color-scheme:dark){:root{--brand-primary:#818cf8;--brand-primary-hover:#a5b4fc;--brand-primary-rgb:129,140,248;--auth-bg:#111827;--auth-card-bg:#1f2937;--auth-card-shadow:0 2px 10px rgba(0,0,0,.4);--auth-heading-color:#f3f4f6;--auth-subtext-color:#9ca3af;--auth-label-color:#d1d5db;--auth-input-border:#4b5563;--auth-input-bg:#374151;--auth-input-color:#f3f4f6;--auth-message-color:#9ca3af;--auth-message-strong:#e5e7eb;--auth-error-bg:#451a1a;--auth-error-border:#7f1d1d;--auth-error-color:#fca5a5;--auth-success-bg:#14532d;--auth-success-border:#166534;--auth-success-color:#86efac;--auth-icon-info-bg:#312e81;--auth-icon-error-bg:#451a1a;--auth-icon-error-color:#fca5a5}}*{box-sizing:border-box;margin:0;padding:0}body{align-items:center;background:var(--auth-bg);color:var(--auth-input-color);display:flex;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.login-container{background:var(--auth-card-bg);border-radius:8px;box-shadow:var(--auth-card-shadow);max-width:400px;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:var(--auth-heading-color);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.login-header p{color:var(--auth-subtext-color);font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--auth-label-color);display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.form-group input{background:var(--auth-input-bg);border:1px solid var(--auth-input-border);border-radius:6px;color:var(--auth-input-color);font-family:inherit;font-size:.95rem;padding:.625rem .75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.15);outline:none}.btn-login{background:var(--brand-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem;transition:background .2s;width:100%}.btn-login:hover{background:var(--brand-primary-hover)}.alert-error{background:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:6px;color:var(--auth-error-color)}.alert-error,.alert-success{font-size:.875rem;margin-bottom:1.25rem;padding:.75rem 1rem}.alert-success{background:var(--auth-success-bg);border:1px solid var(--auth-success-border);border-radius:6px;color:var(--auth-success-color)}.forgot-link{color:var(--brand-primary);display:block;font-size:.8125rem;margin-bottom:1.25rem;margin-top:-.75rem;text-align:right;text-decoration:none}.forgot-link:hover{text-decoration:underline}.back-link{color:var(--brand-primary);display:block;font-size:.875rem;margin-top:1.25rem;text-align:center;text-decoration:none}.back-link:hover{text-decoration:underline}.icon{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;margin:0 auto 1.25rem;width:48px}.icon svg{height:24px;width:24px}.icon-info{background:var(--auth-icon-info-bg)}.icon-info svg{color:var(--brand-primary)}.icon-error{background:var(--auth-icon-error-bg)}.icon-error svg{color:var(--auth-icon-error-color)}.message{color:var(--auth-message-color);font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.message strong{color:var(--auth-message-strong)}.links{display:flex;flex-direction:column;gap:.75rem}.links a{color:var(--brand-primary);font-size:.875rem;text-decoration:none}.links a:hover{text-decoration:underline}