:root{--primary:#00D4AA;--primary-hover:#00b894;--text-main:#111827;--text-muted:#6b7280;--bg-white:#ffffff;--border-color:#e5e7eb}body{margin:0;padding:0;font-family:Inter,sans-serif;background:#fff}.login-wrapper{display:flex;min-height:100vh;width:100%;background:#fff;overflow:hidden}.login-visual{flex:1;position:relative;background-image:url(/login%20background.png);background-size:cover;background-position:50%;display:flex;flex-direction:column;justify-content:flex-end;padding:3rem;color:white}.visual-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.1));z-index:1}.visual-content{position:relative;z-index:2;max-width:480px}.visual-content h1{font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.visual-content p{font-size:1.125rem;color:rgba(255,255,255,.9);max-width:400px}.login-content{flex:1;max-width:600px;display:flex;flex-direction:column;justify-content:center;padding:2rem 4rem;background:#fff}.form-container{width:100%;max-width:420px;margin:0 auto}.login-header{margin-bottom:2.5rem;text-align:left}.brand-logo{display:inline-block;font-size:1.5rem;font-weight:800;color:var(--primary);text-decoration:none;margin-bottom:3rem;letter-spacing:-.02em}.title{font-size:2rem;font-weight:700;color:var(--text-main);margin:0 0 .5rem;letter-spacing:-.01em}.subtitle{color:var(--text-muted);font-size:.95rem;margin:0}.login-form{gap:1.25rem}.input-group,.login-form{display:flex;flex-direction:column}.input-group{gap:.5rem}.password-field{position:relative}.password-input{padding-right:3rem}.password-toggle{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:9999px;background:transparent;color:#6b7280;cursor:pointer;padding:0;transition:color .2s ease,background-color .2s ease}.password-toggle:hover{color:var(--primary);background:rgba(0,212,170,.08)}.password-toggle:focus-visible{outline:3px solid rgba(0,212,170,.25);outline-offset:2px}.password-toggle:disabled{opacity:.65;cursor:not-allowed}.input-group label{font-size:.875rem;font-weight:600;color:#374151}.modern-input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s;color:#111827;background:#f9fafb}.modern-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(0,212,170,.1)}.form-actions{justify-content:space-between;margin-bottom:.5rem}.checkbox-label,.form-actions{display:flex;align-items:center}.checkbox-label{gap:.5rem;font-size:.875rem;color:#4b5563;cursor:pointer;user-select:none}.checkbox-label input{width:1rem;height:1rem;border-radius:4px;border:1px solid #d1d5db;accent-color:var(--primary)}.forgot-pass-link{font-size:.875rem;font-weight:600;color:var(--primary);text-decoration:none;transition:color .15s}.forgot-pass-link:hover{text-decoration:underline;color:var(--primary-hover)}.primary-btn{width:100%;padding:.875rem;background:var(--primary);color:white;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s,background-color .2s;display:flex;justify-content:center;align-items:center}.primary-btn:hover{background:var(--primary-hover)}.primary-btn:active{transform:translateY(1px)}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.loader{width:1.25rem;height:1.25rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-banner{background:#fef2f2;border:1px solid #fee2e2;color:#b91c1c;border-radius:6px;display:flex;align-items:center;gap:.5rem}.error-banner,.success-banner{padding:.75rem;font-size:.875rem}.success-banner{background:#ecfdf5;border:1px solid #d1fae5;color:#047857;border-radius:6px}.register-row{margin-top:1.5rem;text-align:center;font-size:.95rem;color:#6b7280}.register-row a{color:var(--text-main);font-weight:600;text-decoration:none;margin-left:.25rem}.register-row a:hover{color:var(--primary);text-decoration:underline}@media (max-width:900px){.login-wrapper{position:relative;align-items:center;justify-content:center;padding:1rem;background-image:url(/login%20background.png);background-size:cover;background-position:50%;background-repeat:no-repeat;min-height:100dvh}.login-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.55),rgba(15,23,42,.38));z-index:0}.login-visual{display:none}.login-content{position:relative;z-index:1;flex:1;max-width:100%;width:min(100%,340px);padding:1rem;margin:0 auto;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.3);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.18);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.brand-logo{display:block;margin-bottom:2rem}.brand-logo,.login-header{text-align:center}.form-container{max-width:100%}}@media (max-width:480px){.login-wrapper{padding:.75rem}.login-content{width:100%;padding:1.25rem;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 50px rgba(15,23,42,.2)}.title{font-size:1.75rem}.subtitle{font-size:.9rem}.login-form{gap:1rem}.password-input{padding-right:3.1rem}.password-toggle{right:.6rem;width:1.9rem;height:1.9rem}.primary-btn{min-height:48px}}@media (min-width:768px) and (max-width:1024px) and (any-pointer:coarse){.login-wrapper{padding:1.25rem;min-height:100dvh}.login-content{width:min(100%,480px);padding:1.5rem 2rem;border-radius:22px;max-width:100%}.form-container{max-width:100%}.login-header{margin-bottom:2rem}.title{font-size:2.15rem}.subtitle{font-size:1rem}.login-form{gap:1rem}.modern-input{padding:.95rem 1rem}}@media (min-width:1025px) and (max-width:1366px) and (any-pointer:coarse){.login-wrapper{align-items:center;justify-content:center;padding:1.5rem;gap:1.25rem;min-height:100dvh}.login-visual{display:flex;flex:1.08;padding:2.5rem}.login-content{flex:0.92;width:min(100%,520px);max-width:520px;padding:2rem 2.5rem}.form-container{max-width:100%}.title{font-size:2.2rem}}