@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400;1,700&display=swap";:root{--primary-color: #4a90e2;--secondary-color: #50e3c2;--doctor-bg: linear-gradient(135deg, #4075d0 0%, #658dd3 100%);--patient-bg: linear-gradient(135deg, #f7907b 0%, #fb81b8 100%);--text-dark: #333;--text-light: #fff}body{margin:0;font-family:Inter,sans-serif;background-color:#f4f7f6;color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}body{margin:0;padding:0;font-family:Poppins,sans-serif;overflow-x:hidden}.creative-landing{display:flex;width:100vw;height:100vh;position:relative;background:#0f172a}.split-side{flex:1;height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;transition:all .6s cubic-bezier(.25,1,.5,1);cursor:pointer;overflow:hidden;padding:2rem}.creative-landing.hover-left .patient-side,.creative-landing.hover-right .doctor-side{flex:2}.patient-side{background:linear-gradient(135deg,#df7c7c,#f45d5d)}.doctor-side{background:linear-gradient(135deg,#0d9488,#0f766e)}.side-content{z-index:10;max-width:400px;opacity:.9;transition:opacity .4s ease,transform .4s ease}.floating-icon{font-size:5rem;margin-bottom:1rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));transition:transform .5s ease}h2{font-size:3rem;font-weight:700;margin-bottom:1rem;letter-spacing:-1px}.description{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;opacity:.9;font-weight:300}.action-btn{padding:1rem 2rem;font-size:1rem;font-weight:600;border:2px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:50px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.split-side:hover .action-btn{background:#fff;color:#333;border-color:#fff;transform:translateY(-5px);box-shadow:0 10px 20px #0003}.split-side:hover .floating-icon{transform:scale(1.1) rotate(5deg)}.center-brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;pointer-events:none}.brand-circle{width:140px;height:140px;background:#fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 30px #0003}.brand-circle h1{font-size:1.2rem;color:#333;font-weight:700;line-height:1;margin-bottom:5px}.brand-circle span{color:#0d9488}.brand-circle p{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:1px;font-weight:600}.bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.1) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.1) 0%,transparent 20%);opacity:.6;z-index:1}@media(max-width:768px){.creative-landing{flex-direction:column}.center-brand{display:none}.split-side{width:100%;height:50%;padding:1rem}h2{font-size:2rem}.floating-icon{font-size:3rem}.creative-landing.hover-left .patient-side,.creative-landing.hover-right .doctor-side{flex:1}}.auth-container{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;transition:background .5s ease;padding:40px 20px;box-sizing:border-box;overflow-y:auto}.auth-container.doctor{background:var(--doctor-bg)}.auth-container.patient{background:var(--patient-bg)}.auth-box{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:3rem;border-radius:24px;width:100%;max-width:480px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 25px 50px -12px #00000059,inset 0 0 0 1px #fff9;text-align:center;animation:floatUp .8s cubic-bezier(.2,.8,.2,1);position:relative;border:1px solid rgba(255,255,255,.4)}@keyframes floatUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-box h2{color:#1a202c;margin-top:0;font-size:2.2rem;margin-bottom:.5rem;font-weight:800;letter-spacing:-.025em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.auth-box h3{color:#718096;margin-bottom:2.5rem;font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.doctor .auth-box h3{color:#2c5282}.patient .auth-box h3{color:#b83280}.input-group{text-align:left;margin-bottom:1.5rem;position:relative}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#4a5568;font-size:.9rem;transform-origin:left;transition:all .2s}.input-group:focus-within label{transform:scale(1.05)}.doctor .input-group:focus-within label{color:#3182ce}.patient .input-group:focus-within label{color:#d53f8c}.input-group input,.input-group select{width:100%;padding:16px 20px;border:2px solid #edf2f7;border-radius:12px;font-size:1rem;box-sizing:border-box;transition:all .3s cubic-bezier(.4,0,.2,1);background-color:#fffc;font-family:inherit;appearance:none;box-shadow:inset 0 1px 2px #0000000d}.input-group select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.2rem center;background-size:1rem}.input-group input:focus,.input-group select:focus{background-color:#fff;border-color:#63b3ed;outline:none;box-shadow:0 4px 6px -1px #4299e126,0 2px 4px -1px #4299e11a;transform:translateY(-2px)}.patient .input-group input:focus,.patient .input-group select:focus{border-color:#f687b3;box-shadow:0 4px 6px -1px #ed64a626,0 2px 4px -1px #ed64a61a}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:1rem;box-shadow:0 10px 15px -3px #4299e166;position:relative;overflow:hidden}.patient .submit-btn{background:linear-gradient(135deg,#ed64a6,#d53f8c);box-shadow:0 10px 15px -3px #ed64a666}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 20px 25px -5px #4299e180,0 10px 10px -5px #4299e166}.patient .submit-btn:hover{box-shadow:0 20px 25px -5px #ed64a680,0 10px 10px -5px #ed64a666}.submit-btn:active{transform:translateY(-1px);box-shadow:0 5px 10px -5px #0003}.toggle-text{margin-top:2.5rem;font-size:.95rem;color:#718096}.toggle-text span{color:#3182ce;cursor:pointer;font-weight:700;margin-left:6px;position:relative;display:inline-block;text-decoration:none;border:none;outline:none}.patient .toggle-text span{color:#d53f8c}.toggle-text span:hover{text-decoration:none;border:none;outline:none}.toggle-text span:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:-2px;left:0;background-color:currentColor;transform-origin:bottom right;transition:transform .25s ease-out}.toggle-text span:hover:after{transform:scaleX(1);transform-origin:bottom left}.error-msg{color:#9b2c2c;background-color:#fff5f5;padding:1rem;border-radius:8px;margin-bottom:2rem;font-size:.9rem;text-align:left;border-left:4px solid #f56565;box-shadow:0 2px 4px #0000000d}.back-btn{margin-top:2rem;background:transparent;border:1px solid #cbd5e0;color:#718096;cursor:pointer;font-size:.9rem;padding:10px 20px;border-radius:9999px;transition:all .2s;font-weight:500}.back-btn:hover{color:#2d3748;border-color:#a0aec0;background-color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.patient-dashboard-container{min-height:100vh;background-color:#fff;font-family:Inter,sans-serif;color:#333}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;border-bottom:1px solid #eaeaea;background-color:#fff;position:sticky;top:0;z-index:100}.logo{font-size:1.5rem;font-weight:700;color:#4a90e2;cursor:pointer}.nav-links{display:flex;gap:3rem;align-items:center}.nav-link{cursor:pointer;font-weight:500;color:#888;transition:color .3s;font-size:1rem;position:relative;padding-bottom:5px}.nav-link:hover,.nav-link.active{color:#333}.nav-link.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:6px;height:6px;background-color:#4a90e2;border-radius:50%}.logout-button{background:transparent;border:1px solid #ddd;padding:8px 16px;border-radius:20px;cursor:pointer;transition:all .3s;font-size:.9rem;color:#d9534f;border-color:#d9534f}.logout-button:hover{background:#d9534f;color:#fff}.content-container{padding:4rem 5%;display:flex;justify-content:center;min-height:80vh}.view-appointments-section{width:100%;display:flex;justify-content:center;align-items:center}.quote-container{text-align:center;opacity:0;animation:fadeInQuote 2s ease-out forwards;max-width:800px}.quote-text{font-family:Playfair Display,serif;font-size:4rem;font-style:italic;color:#e0e0e0;margin:0;line-height:1.1;letter-spacing:-1px}.quote-author{margin-top:1rem;font-size:1.2rem;color:#ccc;font-style:italic}@keyframes fadeInQuote{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.book-appointment-section{width:100%;max-width:600px;animation:slideUp .5s ease-out}.book-appointment-section h2{text-align:center;margin-bottom:2rem;font-weight:600;color:#4a90e2}.booking-form{background:#f9f9f9;padding:2rem;border-radius:15px}.input-group label{display:block;margin-bottom:.5rem;font-weight:500}.input-group select,.input-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-bottom:1.5rem;font-family:inherit}.book-btn{width:100%;padding:14px;background-color:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.book-btn:hover{background-color:#357abd}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.appointments-list-container{width:100%;max-width:1000px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;animation:fadeIn .5s ease-out}.appointment-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000000d;border:1px solid #eee;transition:transform .2s}.appointment-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.appointment-card h3{margin:0 0 1rem;color:#4a90e2;font-size:1.2rem;font-weight:600}.appointment-card p{margin:.5rem 0;color:#555;font-size:.95rem}.status{display:inline-block;padding:6px 14px;border-radius:50px;font-size:.85rem;font-weight:700;margin-top:1rem;text-transform:capitalize;box-shadow:0 1px 2px #0000000d}.status.pending{background-color:#fffaf0;color:#d69e2e;border:1px solid #fbd38d}.status.confirmed{background-color:#f0fff4;color:#38a169;border:1px solid #9ae6b4}.status.completed{background-color:#ebf8ff;color:#3182ce;border:1px solid #90cdf4}.status.cancelled,.status.rejected{background-color:#fff5f5;color:#e53e3e;border:1px solid #feb2b2}.cancel-btn{display:block;width:100%;margin-top:1rem;padding:8px;background-color:transparent;border:1px solid #ff6b6b;color:#ff6b6b;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s}.cancel-btn:hover{background-color:#ff6b6b;color:#fff}:root{--primary-blue: #2c5282;--secondary-blue: #4299e1;--accent-red: #e53e3e;--accent-green: #38a169;--light-bg: #ebf8ff;--glass-bg: rgba(255, 255, 255, .95);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15)}.doctor-dashboard-container{min-height:100vh;background:linear-gradient(135deg,#f7fafc,#e2e8f0);font-family:Inter,system-ui,-apple-system,sans-serif}.doctor-navbar{background:#fff;padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:100}.doctor-logo{font-size:1.5rem;font-weight:800;color:var(--primary-blue);letter-spacing:-.5px}.logout-button{background:transparent;color:#e53e3e;border:2px solid #e53e3e;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#e53e3e;color:#fff;box-shadow:0 4px 6px #e53e3e33}.doctor-content-container{padding:3rem 5%;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:3rem;animation:fadeInDown .6s ease-out}.dashboard-header h1{color:#2d3748;margin-bottom:.5rem;font-size:2.8rem;font-weight:800;background:linear-gradient(to right,#2c5282,#4299e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dashboard-header h2{color:#4a5568;font-weight:500;font-size:1.5rem;margin-top:0;opacity:.9}.dashboard-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;animation:fadeInUp .5s ease-out}.dashboard-section h3{color:var(--primary-blue);font-size:1.25rem;margin-bottom:1.5rem;font-weight:600;border-bottom:2px solid #edf2f7;padding-bottom:.5rem;display:inline-block}.appointments-table{width:100%;border-collapse:collapse;border-spacing:0;margin-top:1rem}.appointments-table th{padding:16px;text-align:left;color:#4a5568;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;background-color:#f7fafc;border-bottom:2px solid #e2e8f0}.appointments-table tr{background:#fff;transition:background-color .2s}.appointments-table tbody tr{border-bottom:1px solid #edf2f7;box-shadow:none;border-radius:0}.appointments-table tbody tr td:first-child,.appointments-table tbody tr td:last-child{border-radius:0}.appointments-table td{padding:16px;color:#2d3748;font-weight:500;vertical-align:middle}.appointments-table tbody tr:hover{transform:none;box-shadow:none;background-color:#f8fafc;z-index:auto}.status-badge{padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-transform:capitalize;box-shadow:none;border:1px solid transparent}.status-badge.pending{background-color:#fffaf0;color:#d69e2e;border:1px solid #fbd38d}.status-badge.confirmed{background-color:#f0fff4;color:#38a169;border:1px solid #9ae6b4}.status-badge.completed{background-color:#ebf8ff;color:#3182ce;border:1px solid #90cdf4}.status-badge.cancelled,.status-badge.rejected{background-color:#fff5f5;color:#e53e3e;border:1px solid #feb2b2}.action-buttons{display:flex;gap:12px;opacity:1}.appointments-table tr:hover .action-buttons{opacity:1}.btn-accept,.btn-reject,.btn-done{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.btn-accept{background:#38a169;color:#fff}.btn-accept:hover{background:#2f855a;transform:none;box-shadow:none}.btn-reject{background:#e53e3e;color:#fff}.btn-reject:hover{background:#c53030;transform:none;box-shadow:none}.btn-done{background:#3182ce;color:#fff}.btn-done:hover{background:#2b6cb0;transform:none;box-shadow:none}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.content-container{padding:1.5rem}.dashboard-header h1{font-size:2rem}.appointments-table{display:block;overflow-x:auto}.btn-accept,.btn-reject,.btn-done{padding:6px 12px;font-size:.85rem}}
