.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(to right,#edf2f7,#e2e8f0)}.login-container .login-card{background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 8px 24px #0000001a;width:100%;max-width:400px}.login-container .login-card h2{text-align:center;margin-bottom:1.5rem;font-size:1.75rem;color:#2d3748}.login-container .login-card form{display:flex;flex-direction:column}.login-container .login-card form label{font-size:.95rem;margin-bottom:.5rem;color:#4a5568}.login-container .login-card form input{padding:.75rem;margin-bottom:1.2rem;border-radius:8px;border:1px solid #cbd5e0;font-size:1rem;transition:border .3s}.login-container .login-card form input:focus{border-color:#3182ce;outline:none}.login-container .login-card form button{background-color:#3182ce;color:#fff;padding:.75rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .3s}.login-container .login-card form button:hover{background-color:#2b6cb0}.login-container .login-card form .error{color:#e53e3e;font-size:.9rem;margin-bottom:1rem;text-align:center}.login-container .login-card .switch-link{margin-top:1rem;text-align:center;font-size:.9rem}.login-container .login-card .switch-link a{color:#3182ce;text-decoration:none}.login-container .login-card .switch-link a:hover{text-decoration:underline}.register-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(to right,#edf2f7,#e2e8f0)}.register-container .register-card{background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 8px 24px #0000001a;width:100%;max-width:400px}.register-container .register-card h2{text-align:center;margin-bottom:1.5rem;font-size:1.75rem;color:#2d3748}.register-container .register-card form{display:flex;flex-direction:column}.register-container .register-card form label{font-size:.95rem;margin-bottom:.5rem;color:#4a5568}.register-container .register-card form input,.register-container .register-card form select{padding:.75rem;margin-bottom:1.2rem;border-radius:8px;border:1px solid #cbd5e0;font-size:1rem;transition:border .3s}.register-container .register-card form input:focus,.register-container .register-card form select:focus{border-color:#3182ce;outline:none}.register-container .register-card form button{background-color:#3182ce;color:#fff;padding:.75rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .3s}.register-container .register-card form button:hover{background-color:#2b6cb0}.register-container .register-card form .error{color:#e53e3e;font-size:.9rem;margin-bottom:1rem;text-align:center}.register-container .register-card .switch-link{margin-top:1rem;text-align:center;font-size:.9rem}.register-container .register-card .switch-link a{color:#3182ce;text-decoration:none}.register-container .register-card .switch-link a:hover{text-decoration:underline}.dashboard-container{max-width:700px;margin:2rem auto;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 2px 16px #00000012}.dashboard-container h1{text-align:center;margin-bottom:2rem;color:#2d3e50}.dashboard-container .dashboard-cards{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.dashboard-container .dashboard-card{display:block;width:220px;padding:1.5rem;background:#f5f8fa;border-radius:12px;text-decoration:none;color:#2d3e50;box-shadow:0 1px 6px #0000000f;transition:box-shadow .2s,transform .2s}.dashboard-container .dashboard-card h2{margin:0 0 .5rem;font-size:1.3rem}.dashboard-container .dashboard-card p{margin:0;color:#6b7b8a;font-size:1rem}.dashboard-container .dashboard-card:hover{box-shadow:0 4px 18px #0000001f;transform:translateY(-4px) scale(1.03);background:#eaf6ff}.user-details-card{background:#eaf6ff;border-radius:12px;box-shadow:0 1px 6px #3498db14;padding:1.5rem 2rem;margin-bottom:2rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.user-details-card h2{margin-top:0;color:#2980b9;font-size:1.2rem;margin-bottom:1rem;letter-spacing:.5px}.user-details-card p{margin:.5rem 0;font-size:1.05rem;color:#2d3e50}.user-details-card p strong{color:#2980b9;margin-right:.5rem}.appointments-container{padding:2rem;max-width:900px;margin:0 auto}.appointments-container h2{text-align:center;margin-bottom:2rem;font-size:2rem}.appointments-container .appointments-list{display:flex;flex-direction:column;gap:1.5rem}.appointments-container .appointment-card{padding:1rem 1.5rem;border:1px solid #ccc;border-radius:10px;background:#f9f9f9;transition:box-shadow .2s ease}.appointments-container .appointment-card:hover{box-shadow:0 2px 8px #0000001a}.appointments-container .appointment-card p{margin:.4rem 0}.appointments-container .appointment-card strong{color:#333}.appointments-container .appointment-card select{margin-left:.5rem;padding:.2rem .7rem;border-radius:5px;border:1px solid #b0b0b0;font-size:1rem;background:#f5f8fa;transition:border .2s}.appointments-container .appointment-card select:focus{border:1.5px solid #3498db;outline:none}.success-message{background:#e6ffed;color:#218838;border:1px solid #b7ebc6;padding:.7rem 1.2rem;border-radius:6px;margin-bottom:1rem;text-align:center;font-weight:500}.sidebar{width:220px;height:100vh;background:#0a2540;color:#fff;padding:2rem 1rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:1000}.sidebar .sidebar-title{font-size:1.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.sidebar .sidebar-links{list-style:none;padding:0;margin:0;flex-grow:1}.sidebar .sidebar-links li{margin:1rem 0;cursor:pointer;padding:.5rem 1rem;border-radius:6px;display:flex;align-items:center;transition:background .2s ease}.sidebar .sidebar-links li svg{margin-right:10px}.sidebar .sidebar-links li:hover{background:#173b62}.sidebar .sidebar-links li.active{background:#1e4e7a}.sidebar .sidebar-links li a{color:inherit;text-decoration:none;display:flex;align-items:center;width:100%}.book-container{display:flex;justify-content:center;padding:2rem;background:#f9f9f9;min-height:100vh}.book-card{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:100%;box-shadow:0 0 10px #0000001a}h2{text-align:center;margin-bottom:1.5rem}form{display:flex;flex-direction:column}label{margin-top:1rem;font-weight:500}input,select,textarea{padding:.6rem;margin-top:.4rem;border-radius:6px;border:1px solid #ccc;font-size:1rem}textarea{min-height:80px;resize:vertical}button{margin-top:1.5rem;padding:.8rem;background-color:#1976d2;color:#fff;font-size:1rem;border:none;border-radius:8px;cursor:pointer}button:hover{background-color:#125aa5}.error{color:red;margin-top:.5rem}.success{color:green;margin-top:.5rem}body{margin:0;font-family:Arial,sans-serif;background:#f0f2f5}.navbar{background:#333;padding:10px}.navbar a{color:#fff;margin-right:15px;text-decoration:none}.form-container{max-width:400px;margin:40px auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 0 10px #0000001a}.form-container h2{text-align:center}.form-container form{display:flex;flex-direction:column}.form-container form input{margin-bottom:12px;padding:10px;font-size:14px}.form-container form button{padding:10px;background-color:#333;color:#fff;border:none;cursor:pointer}html,body,#root{height:100%;margin:0;font-family:Segoe UI,sans-serif}.protected-layout{display:flex;min-height:100vh}.main-content{margin-left:220px;padding:2rem;width:calc(100% - 220px);background-color:#f8f9fa;overflow-x:hidden}
