:root{--primary-navy:#4a634a;--accent-turquoise:#8fbc8f;--sidebar-accent:#6b8e6b;--light-cream:#faf9f6}*,:after,:before{box-sizing:border-box}body{background:linear-gradient(135deg,var(--light-cream) 0,#e3ebe3 100%);flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;margin:0;min-height:100vh;padding:0}.alert,body{align-items:center;display:flex}.alert{border:none;border-radius:10px;gap:10px;margin-bottom:25px;padding:15px 20px}.alert-danger{background:rgba(239,68,68,.1);border-left:4px solid #dc2626;color:#dc2626}.alert-info{background:rgba(59,130,246,.1);border-left:4px solid var(--primary-navy);color:var(--primary-navy)}.form-errors{align-items:center;color:#dc2626;display:flex;font-size:.875rem;gap:5px;margin-top:5px}.form-group{margin-bottom:25px}.form-label{color:var(--primary-navy);display:block;font-size:.95rem;font-weight:600;margin-bottom:10px}.input-group{position:relative}.input-icon{color:var(--primary-navy);left:15px;opacity:.6;position:absolute;top:50%;transform:translateY(-50%);z-index:3}.form-control{background-color:var(--light-cream);border:1px solid rgba(30,58,95,.15);border-radius:10px;color:var(--primary-navy);font-size:1.05rem;padding:16px 15px 16px 50px;transition:all .3s ease;width:100%}.input-group .password-toggle{color:rgba(30,58,95,.6);cursor:pointer;font-size:1.05rem;line-height:1;position:absolute;right:15px;top:50%;transform:translateY(-50%);z-index:4}.input-group .form-control{padding-right:50px}.form-control:focus{background-color:#fff;border-color:var(--sidebar-accent);box-shadow:0 0 0 3px rgba(107,142,107,.15);outline:none}.form-check-input{border:2px solid var(--primary-navy);border-radius:4px;cursor:pointer;height:20px;width:20px}.form-check-input:checked{background-color:var(--accent-turquoise);border-color:var(--accent-turquoise)}.form-check-label{color:var(--primary-navy);flex:1;font-weight:500;line-height:1.4}.login-container,.register-container{margin:0 auto;max-width:480px;padding:20px;width:min(480px,calc(100% - 32px))}.login-card,.register-card{background:#fff;border:1px solid rgba(30,58,95,.1);border-radius:16px;box-shadow:0 15px 35px rgba(30,58,95,.2);margin:40px auto;max-height:640px;overflow:hidden;transition:all .3s ease}.login-card:hover,.register-card:hover{box-shadow:0 20px 40px rgba(30,58,95,.25);transform:translateY(-5px)}.login-body,.register-body{padding:36px 32px 32px}.login-header,.register-header{padding:36px 32px 30px;position:relative;text-align:center}.login-header{background:linear-gradient(135deg,var(--sidebar-accent) 0,var(--primary-navy) 100%);color:#fff}.register-header{background:linear-gradient(135deg,var(--sidebar-accent) 0,var(--menu-5-color,#7c3aed) 100%);color:#fff}.login-icon,.register-icon{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.3);border-radius:50%;display:flex;font-size:2.2rem;height:90px;justify-content:center;margin:0 auto 20px;width:90px}.login-title,.register-title{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:8px}.login-subtitle,.register-subtitle{color:hsla(0,0%,100%,.9);font-size:1rem;margin-bottom:0;opacity:.9}.btn-login,.btn-register{align-items:center;background:linear-gradient(135deg,var(--sidebar-accent) 0,var(--primary-navy) 100%);border:none;border-radius:10px;color:#fff;display:flex;font-size:1.15rem;font-weight:600;gap:10px;justify-content:center;padding:16px 20px;transition:all .3s ease;width:100%}.btn-login:hover,.btn-register:hover{box-shadow:0 8px 20px rgba(237,49,136,.3);transform:translateY(-2px)}.login-footer,.register-footer{border-top:1px solid rgba(30,58,95,.1);margin-top:25px;padding-top:20px;text-align:center}.login-link,.register-link{color:var(--accent-turquoise);font-weight:600;text-decoration:none;transition:all .3s ease}.login-link:hover,.register-link:hover{color:var(--primary-navy);text-decoration:underline}@media (max-width:480px){.login-container,.register-container{margin-top:16px;padding:15px;width:auto}.login-body,.login-header,.register-body,.register-header{padding:30px 20px 25px}.login-icon,.register-icon{font-size:1.8rem;height:70px;width:70px}.login-title,.register-title{font-size:1.5rem}}@media (max-width:768px){body{padding:20px 0}.login-card,.register-card{margin:20px auto;width:100%}.login-header,.register-header{padding:35px 24px 28px}.login-body,.register-body{padding:32px 24px 28px}}