:root{--primary:#8a6d62;--secondary:#d4af8e;--accent:#6b8e23;--dark-grey:#2c2c2c;--text-main:#2c2c2c;--bg-light:#f9f7f5;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-light);color:var(--text-main);font-family:Montserrat,sans-serif;line-height:1.6;min-height:100vh}h1,h2,h3{font-family:Playfair Display,serif}.login-page{background-color:var(--bg-light);display:flex;justify-content:center;padding:50px 20px 80px}.login-form-wrapper{animation:slideUp .6s ease-out;background:var(--white);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);max-width:460px;padding:40px;width:100%}.login-title{color:var(--primary);font-size:2rem;margin-bottom:8px}.login-subtitle{color:#888;font-size:.95rem;font-weight:400;margin-bottom:35px}.login-alert{align-items:center;background-color:#fff0f0;border:1px solid #e8c4c4;border-left:4px solid #c0392b;border-radius:8px;color:#721c24;display:flex;font-size:.9rem;gap:10px;margin-bottom:25px;padding:12px 16px}.login-alert i{color:#c0392b;font-size:1.1rem}.login-connected{background-color:#f0f7f0;border:1px solid #c4e8c4;border-left:4px solid var(--accent);border-radius:8px;font-size:.9rem;margin-bottom:25px;padding:12px 16px}.login-connected a{color:var(--primary);font-weight:600;margin-left:8px;text-decoration:underline}.login-connected a:hover{color:var(--dark-grey)}.form-field{margin-bottom:22px}.form-field label{color:var(--dark-grey);display:block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.field-input{align-items:center;background-color:var(--white);border:2px solid #e0dcd8;border-radius:10px;display:flex;padding:0 16px;transition:all .3s ease}.field-input:focus-within{border-color:var(--secondary);box-shadow:0 0 0 3px hsla(28,45%,69%,.15)}.field-input i{color:var(--secondary);flex-shrink:0;font-size:1rem;text-align:center;width:20px}.field-input input{background:transparent;border:none;color:var(--text-main);flex-grow:1;font-family:Montserrat,sans-serif;font-size:.95rem;outline:none;padding:14px 12px}.field-input input::placeholder{color:#bbb}.login-btn{background-color:var(--primary);border:none;border-radius:10px;color:var(--white);cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;letter-spacing:1px;margin-top:10px;padding:15px;text-transform:uppercase;transition:all .3s ease;width:100%}.login-btn:hover{background-color:var(--dark-grey);box-shadow:0 6px 20px rgba(0,0,0,.15);transform:translateY(-2px)}.login-btn:active{transform:translateY(0)}.forgot-password-link{background:none;border:none;color:var(--primary);cursor:pointer;display:block;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;margin-top:15px;text-align:center;transition:color .2s;width:100%}.forgot-password-link:hover{color:var(--dark-grey);text-decoration:underline}.forgot-password-back{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:inline-flex;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;gap:6px;margin-top:20px;transition:color .2s}.forgot-password-back:hover{color:var(--primary)}.login-tabs{border-bottom:2px solid #e0dcd8;display:flex;gap:0;margin-bottom:30px}.login-tab{background:none;border:none;color:#aaa;cursor:pointer;flex:1;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:14px 0;position:relative;text-transform:uppercase;transition:all .3s ease}.login-tab.active{color:var(--primary)}.login-tab.active:after{background:var(--primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.login-tab:hover:not(.active){color:var(--dark-grey)}.login-panel{display:none}.login-panel.active{display:block}.register-feedback{font-size:.85rem;margin-bottom:10px;min-height:20px;text-align:center}.register-feedback.success{color:#2e7d32}.register-feedback.error{color:#c62828}.login-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-back{align-items:center;color:#999;display:inline-flex;font-size:.85rem;font-weight:500;gap:8px;margin-top:30px;text-decoration:none;transition:all .3s ease}.login-back:hover{color:var(--primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-page{padding:30px 15px 60px}.login-form-wrapper{padding:25px 20px}.login-title{font-size:1.6rem}.field-input input{padding:12px 10px}}