.auth-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:4rem 0;background:linear-gradient(135deg,#2e7d320d,#ff6b350d);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-green),var(--accent-orange),var(--primary-green))}.auth-card{max-width:500px;margin:0 auto;background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 20px 35px -10px #2e7d3233;border:1px solid var(--border);transition:all .3s ease;position:relative;z-index:1}.auth-card:hover{box-shadow:0 25px 40px -12px #2e7d3240;border-color:var(--primary-green-light)}.auth-card h2{text-align:center;margin-bottom:.5rem;color:var(--primary-green-dark);font-size:1.75rem;position:relative;display:inline-block;width:auto}.auth-card h2,.auth-card h2:after{left:50%;transform:translateX(-50%)}.auth-card h2:after{content:"";position:absolute;bottom:-8px;width:50px;height:3px;background:var(--accent-orange);border-radius:2px}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.875rem}.form-group label .required{color:var(--error);margin-left:2px}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;font-size:.95rem;transition:all .3s ease;outline:none;background:#fff;color:var(--text-dark)}.form-group input:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px #2e7d321a}.form-group input::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:0}.alert{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.alert i{font-size:1rem;flex-shrink:0}.alert-error{background:#ef44441a;color:var(--error);border:1px solid #ef444433}.alert-success{background:#10b9811a;color:var(--success);border:1px solid #10b98133}.alert-info{background:#2e7d321a;color:var(--primary-green);border:1px solid #2e7d3233}.auth-options{justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.auth-options,.checkbox{display:flex;align-items:center}.checkbox{gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-muted)}.checkbox input{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary-green)}.forgot-link{font-size:.875rem;color:var(--primary-green);text-decoration:none;transition:color .3s ease}.forgot-link:hover{color:var(--accent-orange);text-decoration:underline}.btn-submit{width:100%;background:var(--primary-green);color:#fff;border:none;padding:.875rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.btn-submit:hover{background:var(--primary-green-dark);transform:translateY(-2px);box-shadow:0 5px 15px #2e7d324d}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.demo-credentials{margin-top:1.5rem;padding:1rem;background:var(--bg-light);border-radius:.5rem;font-size:.8rem;border:1px solid var(--border)}.demo-credentials p{margin-bottom:.5rem;font-weight:600;color:var(--primary-green-dark);display:flex;align-items:center;gap:.5rem}.demo-credentials p i{color:var(--accent-orange)}.demo-credentials ul{list-style:none;padding:0;margin:0}.demo-credentials li{margin-bottom:.25rem;color:var(--text-muted);font-size:.75rem;display:flex;align-items:center;gap:.5rem}.demo-credentials li strong{color:var(--primary-green);min-width:60px}.auth-footer{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}.auth-footer a{color:var(--primary-green);text-decoration:none;font-weight:600;transition:color .3s ease}.auth-footer a:hover{color:var(--accent-orange);text-decoration:underline}.social-login{margin-top:1.5rem;text-align:center}.social-login p{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem;position:relative}.social-login p:after,.social-login p:before{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border)}.social-login p:before{left:0}.social-login p:after{right:0}.social-buttons{gap:1rem}.btn-social,.social-buttons{display:flex;justify-content:center}.btn-social{flex:1 1;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;background:#fff;cursor:pointer;transition:all .3s ease;font-size:.875rem;font-weight:500;color:var(--text-dark)}.btn-social:hover{border-color:var(--primary-green);transform:translateY(-2px);box-shadow:0 5px 15px #2e7d321a}.btn-social.google i{color:#db4437}.btn-social.facebook i{color:#4267b2}.password-strength{margin-top:.5rem;display:flex;gap:.5rem;align-items:center}.strength-bar{flex:1 1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.strength-fill{height:100%;width:0;transition:width .3s ease}.strength-fill.weak{background:var(--error);width:33%}.strength-fill.medium{background:var(--warning);width:66%}.strength-fill.strong{background:var(--success);width:100%}.strength-text{font-size:.7rem;color:var(--text-muted)}@media (max-width:768px){.auth-page{padding:3rem 0}.auth-card{margin:0 1rem;padding:1.75rem}.auth-card h2{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.auth-options{flex-direction:column;align-items:flex-start}.forgot-link{align-self:flex-end}.social-buttons{flex-direction:column}.btn-social{justify-content:center}}@media (max-width:480px){.auth-card{padding:1.5rem}.auth-card h2{font-size:1.35rem}.auth-subtitle{font-size:.8rem}.form-group input{padding:.625rem .875rem;font-size:.875rem}.btn-submit{padding:.75rem;font-size:.875rem}.demo-credentials li{flex-direction:column;align-items:flex-start;gap:.25rem}.demo-credentials li strong{min-width:auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:fadeIn .5s ease}.user-type-toggle{display:flex;gap:1rem;margin-bottom:2rem;background:var(--bg-light);padding:.5rem;border-radius:1rem}.type-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#0000;color:var(--text-muted);font-family:var(--font-primary)}.type-btn i{font-size:1.25rem}.type-btn.active{background:var(--primary-green);color:#fff;box-shadow:var(--shadow-md)}.type-btn.active i{color:#fff}.type-btn:not(.active):hover{background:#2e7d321a;color:var(--primary-green)}.form-section-title{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-green-soft)}.form-section-title i{font-size:1.25rem;color:var(--primary-green)}.form-section-title span{font-size:1rem;font-weight:600;color:var(--text-dark);font-family:var(--font-primary)}textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.9rem;font-family:var(--font-secondary);resize:vertical;transition:all .3s ease}textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #2e7d321a}.file-input{padding:.5rem;border:1px dashed var(--border);border-radius:.5rem;background:var(--bg-light);cursor:pointer}.file-input:hover{border-color:var(--primary-green);background:#2e7d320d}.form-hint{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.25rem}@media (max-width:768px){.user-type-toggle{flex-direction:column;gap:.5rem}.type-btn{padding:.75rem;font-size:.9rem}.form-section-title{margin:1rem 0 .75rem}}.doctor-register-page .auth-card{max-width:900px}.doctor-register-header{text-align:left;margin-bottom:2rem}.doctor-register-header i{font-size:3rem;color:var(--primary-green);margin-bottom:1rem}.doctor-register-header h2{font-size:1.75rem;margin-bottom:.5rem}.doctor-register-header p{color:var(--text-muted)}.back-link{margin-top:1rem}.back-link a{color:var(--text-muted);font-size:.85rem;text-decoration:none}.back-link a:hover{color:var(--primary-green)}