body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7fafc;color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.6}.App{min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-google{background:#fff;border:2px solid #e2e8f0;color:#4285f4}.btn-google:hover{border-color:#4285f4;box-shadow:0 2px 8px #4285f433}.btn-link{background:none;border:none;color:#667eea;padding:0;text-decoration:underline}.btn-link:hover{color:#5a6fd8}.btn-sm{font-size:.85rem;padding:.5rem 1rem}.google-icon{height:20px;width:20px}.form-input{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;font-size:.95rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group{margin-bottom:1.25rem}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:2.5rem;margin-bottom:1rem;width:2.5rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.alert{border-radius:.5rem;font-weight:500;margin-bottom:1.5rem;padding:1rem}.alert-error{border:1px solid #feb2b2}.alert-error,.error-message{background:#fed7d7;color:#c53030}.error-message{border:1px solid #feb2b2;border-radius:.5rem;font-size:.9rem;margin-bottom:1.25rem;padding:.875rem 1rem}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:28rem;padding:2.5rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h2{color:#1a202c;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:#718096;font-size:.95rem}.auth-form{margin-bottom:1.5rem}.divider{align-items:center;color:#a0aec0;display:flex;font-size:.85rem;margin:1.5rem 0}.divider:after,.divider:before{background:#e2e8f0;content:"";flex:1 1;height:1px}.divider span{padding:0 1rem}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:#718096;font-size:.9rem}.auth-footer a{color:#667eea;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.dashboard{background:#f7fafc;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem 0}.header-content{align-items:center;display:flex;justify-content:space-between}.header-left h1{color:#1a202c;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.header-left p{color:#718096;font-size:.95rem}.dashboard-content{padding:2rem 0}.tabs{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.tab{background:none;border:none;border-radius:.5rem;color:#718096;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:.875rem 1.5rem;transition:all .2s ease}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.tab:hover:not(.active){background:#f7fafc;color:#4a5568}.tab-content{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:2rem}.section-header{margin-bottom:2rem}.section-header h2{color:#1a202c;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.section-header p{color:#718096;font-size:.95rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:1rem;padding:1.5rem}.stat-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem}.stat-content h3{color:#718096;font-size:.85rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.stat-number{color:#1a202c;font-size:1.875rem;font-weight:700}.slots-grid{display:flex;flex-direction:column;gap:2rem}.date-section{border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.date-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}.date-header h3{color:#2d3748;font-size:1.125rem;font-weight:600}.time-slots{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:1.5rem}.time-slot{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.time-slot:hover{background:#edf2f7;border-color:#667eea}.slot-time{color:#2d3748;font-size:.9rem;font-weight:500}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.booking-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-date{color:#1a202c;font-size:1.125rem;font-weight:600}.booking-details{display:flex;flex-wrap:wrap;gap:1.5rem}.detail{display:flex;flex-direction:column;gap:.25rem}.detail .label{color:#718096;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.detail .value{color:#2d3748;font-weight:500}.status{border-radius:9999px;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.status-confirmed{background:#c6f6d5;color:#22543d}.status-cancelled{background:#fed7d7;color:#c53030}.admin-table{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.table-header{grid-gap:1rem;background:#2d3748;color:#fff;display:grid;font-size:.85rem;font-weight:600;gap:1rem;grid-template-columns:1.5fr 1.5fr 2fr .8fr 1fr;letter-spacing:.05em;padding:1rem 1.5rem;text-transform:uppercase}.table-body{display:flex;flex-direction:column}.table-row{grid-gap:1rem;align-items:center;border-bottom:1px solid #e2e8f0;display:grid;gap:1rem;grid-template-columns:1.5fr 1.5fr 2fr .8fr 1fr;padding:1rem 1.5rem;transition:background-color .2s ease}.table-row:hover{background:#f7fafc}.table-row:last-child{border-bottom:none}.patient-info{display:flex;flex-direction:column;gap:.25rem}.patient-name{color:#1a202c;font-weight:600}.patient-role{color:#718096;font-size:.8rem;text-transform:capitalize}.contact-info{color:#4a5568;font-size:.9rem}.appointment-time{color:#2d3748;font-size:.9rem;font-weight:500}.booked-date{color:#718096;font-size:.85rem}.empty-state{color:#718096;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#4a5568;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem}.error-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-card{background:#fff;border-radius:1rem;box-shadow:0 10px 25px -5px #0000001a;padding:3rem;text-align:center}.error-card h2{color:#c53030;font-size:1.5rem;margin-bottom:1rem}.error-card p{color:#718096}@media (max-width:768px){.container{padding:0 .75rem}.auth-card{padding:2rem 1.5rem}.dashboard-content{padding:1.5rem 0}.tab-content{padding:1.5rem}.tabs{flex-direction:column;gap:0}.tab{padding:1rem;text-align:center}.header-content{flex-direction:column;gap:1rem;text-align:center}.stats-grid,.time-slots{grid-template-columns:1fr}.time-slot{text-align:center}.booking-header,.time-slot{flex-direction:column;gap:.75rem}.booking-header{align-items:flex-start}.booking-details{flex-direction:column;gap:1rem}.table-header{display:none}.table-row{border-bottom:1px solid #e2e8f0;gap:.75rem;grid-template-columns:1fr;padding:1.5rem}.table-row .col{display:flex;flex-direction:column;gap:.25rem}.table-row .col:before{color:#718096;content:attr(data-label);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}}@media (max-width:480px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}.dashboard-header{padding:1rem 0}.header-left h1{font-size:1.5rem}.tab-content{padding:1rem}.section-header{margin-bottom:1.5rem}.empty-state{padding:3rem 1rem}.empty-icon{font-size:3rem}.booking-card,.stat-card{padding:1rem}}
/*# sourceMappingURL=main.465e4bc6.css.map*/