.login-form,.form-group{margin-bottom:24px}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:968px){.login-container{grid-template-columns:1fr}.login-hero{min-height:40vh;padding:40px 20px}.login-hero-title{font-size:2.2rem}.login-hero-subtitle{font-size:1.1rem}.login-form-section{padding:40px 20px}.login-form-section:before{display:none}.nav-title{font-size:1.1rem}.hero-watermark{display:none}}@media (max-width:640px){.login-hero-title{font-size:1.8rem}.login-form-header h2{font-size:1.6rem}.login-form-wrapper{max-width:100%}.nav-title{display:none}.success-card{padding:30px 20px}.success-icon{width:48px;height:48px}.success-icon svg{width:28px;height:28px}.success-card h3{font-size:1.5rem}.password-label-row{flex-direction:column;align-items:flex-start;gap:6px}}:root{--primary:#1b3b32;--secondary:#8ac53e;--light-bg:#f4f7f6;--text-dark:#1b3b32;--text-gray:#6c757d;--text-light:#495057;--white:#fff;--success:#8ac53e;--success-light:#8ac53e1f;--error:#dc3545;--error-light:#f8d7da}.main-nav{background:var(--white);z-index:1000;padding:16px 0;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.container{max-width:1200px;margin:0 auto;padding:0 20px}.nav-container{justify-content:space-between;align-items:center;display:flex}.nav-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.nav-logo{align-items:center;display:flex}.nav-title{color:var(--text-dark);font-size:1.25rem;font-weight:700}.nav-actions{align-items:center;gap:20px;display:flex}.nav-cta-secondary{color:#1b3b32;background:#8ac53e;border-radius:8px;padding:10px 24px;font-weight:600;text-decoration:none;transition:all .3s}.nav-cta-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1b3b324d}.login-page{background:var(--light-bg);min-height:calc(100vh - 72px)}.login-container{grid-template-columns:1fr 1fr;min-height:calc(100vh - 72px);display:grid}.login-hero{color:var(--white);background:#1b3b32;border-top:4px solid #8ac53e;justify-content:center;align-items:center;padding:60px 40px;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";background:radial-gradient(circle,#ffffff14 0%,#0000 60%);border-radius:50%;width:500px;height:500px;position:absolute;top:-30%;left:-20%}.login-hero:after{content:"";background:radial-gradient(circle,#ffffff0d 0%,#0000 60%);border-radius:50%;width:350px;height:350px;position:absolute;bottom:-20%;right:-10%}.hero-watermark{pointer-events:none;z-index:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-hero-content{z-index:1;max-width:500px;position:relative}.login-hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.3px;background:#ffffff26;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:24px;padding:8px 20px;font-size:.85rem;font-weight:600;display:inline-block}.login-hero-title{letter-spacing:-.5px;margin-bottom:20px;font-size:3rem;font-weight:700;line-height:1.15}.login-hero-subtitle{opacity:.9;margin-bottom:40px;font-size:1.2rem;line-height:1.6}.login-features{flex-direction:column;gap:16px;display:flex}.login-feature{opacity:.95;align-items:center;gap:14px;font-size:1.05rem;display:flex}.feature-icon{background:#ffffff26;border-radius:50%;flex-shrink:0;width:22px;height:22px;padding:3px}.login-form-section{background:var(--white);justify-content:center;align-items:center;padding:60px 40px;display:flex;position:relative}.login-form-section:before{content:"";background:linear-gradient(to bottom,var(--primary),var(--secondary));width:4px;position:absolute;top:0;bottom:0;left:0}.login-form-wrapper{width:100%;max-width:440px}.login-form-header{text-align:center;margin-bottom:40px}.login-form-header h2{color:var(--text-dark);margin-bottom:12px;font-size:2rem;font-weight:700}.login-form-header p{color:var(--text-gray);font-size:1rem}.login-form,.form-group{margin-bottom:24px}.form-group label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.form-group input{background:#fafafa;border:2px solid #e2e8e5;border-radius:12px;width:100%;padding:16px 18px;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--primary);background:#fff;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #1b3b321a}.form-group input:disabled{background:var(--light-bg);cursor:not-allowed}.password-label-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.password-label-row label{margin-bottom:0}.forgot-password-link{color:#4a6d7c;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600;transition:color .3s}.forgot-password-link:hover{color:var(--primary);text-decoration:underline}.password-input-wrapper{position:relative}.password-input-wrapper input{background:#fafafa;border:2px solid #e2e8e5;border-radius:12px;width:100%;padding:16px 52px 16px 18px;font-family:inherit;font-size:1rem;transition:all .3s}.password-input-wrapper input:focus{border-color:var(--primary);background:#fff;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #1b3b321a}.password-input-wrapper input:disabled{background:var(--light-bg);cursor:not-allowed}.password-toggle{cursor:pointer;color:var(--text-gray);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .3s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover{color:var(--primary);background:#1b3b320f}.error-message{background:var(--error-light);color:var(--error);border:1px solid #dc354533;border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-size:.9rem;font-weight:500;animation:.3s errorSlideIn;display:flex}.error-message svg{flex-shrink:0;width:18px;height:18px}.welcome-banner{color:#1b3b32;background:linear-gradient(135deg,#8ac53e14,#8ac53e0a);border:1px solid #8ac53e33;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:16px 18px;font-size:.9rem;line-height:1.5;animation:.3s errorSlideIn;display:flex}.welcome-banner strong{margin-bottom:2px;font-weight:700;display:block}.welcome-banner span{opacity:.85;font-weight:400}.login-button{color:#1b3b32;cursor:pointer;background:#8ac53e;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 24px;font-size:1.05rem;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.login-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-button:hover:before{left:100%}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #1b3b324d}.login-button:disabled{opacity:.7;cursor:not-allowed}.button-icon{width:20px;height:20px}.spinner{width:20px;height:20px;animation:1s linear infinite spin}.mode-divider{text-align:center;margin-bottom:20px;position:relative}.mode-divider:before{content:"";background:#e2e8e5;height:1px;position:absolute;top:50%;left:0;right:0}.mode-divider span{background:var(--white);z-index:1;color:var(--text-gray);padding:0 16px;font-size:.9rem;font-weight:500;position:relative}.mode-toggle{text-align:center;margin-bottom:24px}.mode-toggle-button{color:var(--text-gray);cursor:pointer;background:0 0;border:2px solid #e2e8e5;border-radius:12px;align-items:center;gap:10px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.mode-toggle-button:hover{border-color:var(--primary);color:var(--primary);background:#1b3b320a;transform:translateY(-1px)}.login-info{background:linear-gradient(135deg,#1b3b320a,#8ac53e0a);border:1px solid #1b3b321f;border-radius:14px;gap:16px;padding:24px;display:flex}.info-icon{flex-shrink:0}.info-icon svg{width:24px;height:24px;stroke:var(--primary)}.info-content h4{color:var(--text-dark);margin-bottom:12px;font-size:1rem;font-weight:600}.info-content ol{color:var(--text-light);margin:0 0 12px 20px;padding:0}.info-content ol li{margin:6px 0;font-size:.95rem}.info-note{color:var(--secondary);margin:0;font-size:.95rem;font-weight:600}.success-card{border:2px solid var(--secondary);text-align:center;background:linear-gradient(135deg,#1b3b320f,#8ac53e0a);border-radius:16px;padding:40px}.success-icon{background:#8ac53e;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex;box-shadow:0 8px 20px #1b3b3240}.success-icon svg{stroke:#fff;width:36px;height:36px}.success-card h3{color:var(--primary);margin-bottom:16px;font-size:1.8rem;font-weight:700}.success-email{color:var(--text-dark);margin-bottom:12px;font-size:1rem}.success-email strong{color:var(--primary)}.success-instructions{color:var(--text-light);margin-bottom:24px;line-height:1.6}.success-actions{border-top:1px solid #1b3b3226;padding-top:24px}.success-actions p{color:var(--text-gray);margin-bottom:12px;font-size:.95rem}.retry-button{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 24px;font-family:inherit;font-weight:600;transition:all .3s}.retry-button:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #1b3b3233}.login-footer{text-align:center;border-top:1px solid #e2e8e5;margin-top:8px;padding-top:24px}.login-footer p{color:var(--text-gray);font-size:.95rem}.login-footer a{color:var(--primary);font-weight:600;text-decoration:none;transition:all .3s}.login-footer a:hover{color:var(--secondary);text-decoration:underline}@media (max-width:968px){.login-container{grid-template-columns:1fr}.login-hero{min-height:40vh;padding:40px 20px}.login-hero-title{font-size:2.2rem}.login-hero-subtitle{font-size:1.1rem}.login-form-section{padding:40px 20px}.login-form-section:before{display:none}.nav-title{font-size:1.1rem}.hero-watermark{display:none}}@media (max-width:640px){.login-hero-title{font-size:1.8rem}.login-form-header h2{font-size:1.6rem}.login-form-wrapper{max-width:100%}.nav-title{display:none}.success-card{padding:30px 20px}.success-icon{width:48px;height:48px}.success-icon svg{width:28px;height:28px}.success-card h3{font-size:1.5rem}.password-label-row{flex-direction:column;align-items:flex-start;gap:6px}}
