code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing-page{background-color:#fcf9f3;color:#1a1a1a;font-family:Inter,sans-serif;min-height:100vh}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.material-symbols-outlined.fill-1{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.hims-card{background:#fff;border:1px solid #00000005;border-radius:1rem;box-shadow:0 4px 20px -2px #00000008;transition:transform .4s cubic-bezier(.165,.84,.44,1),box-shadow .4s ease}.hims-card:hover{box-shadow:0 30px 60px -12px #00000014;transform:translateY(-8px)}.sidebar-transition{transition:transform .6s cubic-bezier(.16,1,.3,1)}html{scroll-behavior:smooth}::selection{background-color:#d49d8c4d}@media (max-width:768px){.landing-page h1{font-size:3rem!important}.landing-page h2{font-size:2.5rem!important}}.dob-group .dob-selects{gap:8px}.dob-group select{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;flex:1 1;font-size:.95rem;min-width:100px;padding:10px}.booking-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:2rem 0}.container{margin:0 auto;max-width:1400px;padding:0 2rem}.back-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:2rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-button:hover{background:#333;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.booking-header{color:#333;margin-bottom:3rem;padding:3rem 0;text-align:center}.booking-subtitle{color:#999;font-size:.9rem;font-weight:400;letter-spacing:2px;margin-bottom:1rem;text-transform:uppercase}.booking-title{color:#000;font-size:3rem;font-weight:700;letter-spacing:-1px;margin-bottom:.5rem}.doctor-name{color:#666;font-size:1.3rem;font-weight:300;margin-top:.5rem}.booking-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-top:2rem}.available-slots-section,.patient-form-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2.5rem}.available-slots-section h2,.patient-form-section h2{color:#000;font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin-bottom:2rem}.no-slots{color:#666;padding:3rem 2rem;text-align:center}.no-slots p{font-size:1rem;line-height:1.6;margin-bottom:.5rem}.slots-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:500px;overflow-y:auto;padding:.5rem}.slot-button{border:2px solid #e5e5e5;border-radius:8px;padding:1.25rem 1rem;transition:all .3s ease}.slot-button:hover{background:#f5f5f5;border-color:#000;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.slot-button.selected{background:#000;border-color:#000}.slot-date{font-size:.9rem;margin-bottom:.5rem;text-transform:capitalize}.slot-time{font-size:.9rem;font-weight:400;opacity:.9}.patient-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.95rem}.required{color:#000}.form-group input{border:2px solid #e5e5e5;padding:.875rem}.error-message{background:#fee}.submit-button{border-radius:8px;font-size:1rem;letter-spacing:.5px;margin-top:1rem;padding:1.125rem 2.5rem;text-transform:uppercase;transition:all .3s ease}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.submit-button:disabled{background:#ccc;opacity:.6}.error,.loading{color:#333;font-size:1.5rem;font-weight:300;padding:3rem;text-align:center}.error{color:#e74c3c}.success-message{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 auto;max-width:600px;padding:4rem 3rem;text-align:center}.success-message h2{color:#000;font-size:2rem;font-weight:700;margin-bottom:1rem}.success-message p{color:#666;font-size:1.1rem;font-weight:300;line-height:1.6}@media (max-width:968px){.booking-content{gap:2rem;grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (max-width:768px){.booking-title{font-size:2rem}.doctor-name{font-size:1.1rem}.container{padding:0 1rem}.available-slots-section,.patient-form-section{padding:1.5rem}.booking-header{margin-bottom:2rem;padding:2rem 0}}.doctor-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fcf9f3;color:#1a1a1a;display:flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.dashboard-sidebar{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;height:100vh;min-width:280px;overflow-y:auto;position:fixed;width:280px;z-index:50}.sidebar-brand{padding:2rem 2rem 1rem}.sidebar-brand-inner{align-items:center;cursor:pointer;display:flex;gap:.75rem;margin-bottom:2.5rem}.sidebar-brand-icon{align-items:center;background:#1a1a1a;border-radius:.5rem;color:#d49d8c;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sidebar-brand-icon .material-symbols-outlined{font-size:1.5rem}.sidebar-brand-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 2rem}.sidebar-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:#d49d8c1a;color:#1a1a1a}.sidebar-item.active{background:#1a1a1a;color:#fff}.sidebar-item .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.sidebar-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.sidebar-footer{margin-top:auto;padding:2rem}.sidebar-profile{align-items:center;background:#fcf9f3;border-radius:.75rem;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:.75rem}.sidebar-profile-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.sidebar-profile-info{display:flex;flex-direction:column}.sidebar-profile-role{color:#1a1a1a66;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sidebar-profile-name{color:#1a1a1a;font-size:.875rem;font-weight:600}.sidebar-logout{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-logout:hover{color:#dc2626}.sidebar-logout .material-symbols-outlined{font-size:1.25rem}.dashboard-main-area{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}.doctor-dashboard .dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;display:flex;height:80px;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:40}.doctor-dashboard .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.doctor-dashboard .header-content h1{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0}.header-actions{align-items:center;display:flex;gap:1.5rem}.header-notification-btn{background:none;border:none;color:#1a1a1a99;cursor:pointer;padding:.5rem;position:relative;transition:color .2s}.header-notification-btn:hover{color:#1a1a1a}.header-notification-dot{background:#d49d8c;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:8px;top:8px;width:8px}.dashboard-main{margin:0 auto;max-width:1200px;padding:2.5rem;width:100%}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem}.summary-card{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.5rem;transition:all .3s ease}.summary-card:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.summary-card.highlight{border-left:4px solid #d49d8c}.summary-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.summary-card-icon{align-items:center;background:#d49d8c1a;border-radius:.5rem;color:#d49d8c;display:flex;justify-content:center;padding:.5rem}.summary-card-icon .material-symbols-outlined{font-size:1.25rem}.summary-card-badge{border-radius:9999px;font-size:.75rem;font-weight:700;padding:.25rem .5rem}.summary-card-badge.positive{background:#f0fdf4;color:#16a34a}.summary-card-badge.negative{background:#fef2f2;color:#f87171}.summary-card-label{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.summary-card-value{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.875rem;font-weight:700;letter-spacing:-.5px}.tab-content-wrapper{width:100%}.appointments-section{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;overflow:hidden;transition:all .3s ease}.appointments-section:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.appointments-section h2{border-bottom:1px solid #1a1a1a0d;font-size:1.25rem;letter-spacing:-.3px;margin:0;padding:1.5rem}.appointments-section h2,.appointments-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-weight:700}.appointments-section h3{font-size:1.1rem;margin:1rem 1.5rem .75rem}.no-appointments{color:#1a1a1a80;font-size:.875rem;padding:3rem 2rem;text-align:center}.appointments-list{display:flex;flex-direction:column;padding:0}.appointment-card{align-items:center;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .2s ease}.appointment-card:last-child{border-bottom:none}.appointment-card:hover{background:#fcf9f380}.appointment-header{align-items:center;display:flex;flex:1 1;gap:1rem}.appointment-header h3{border:none;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin:0;padding:0}.appointment-details{align-items:center;display:flex;flex:1 1;gap:2rem}.appointment-details p{color:#1a1a1a99;font-size:.875rem;line-height:1.5;margin:0}.appointment-details strong{color:#1a1a1a66;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-badge{font-size:.75rem;white-space:nowrap}.status-confirmed,.status-scheduled{background:#f0fdf4;color:#15803d}.status-pending,.status-requested{background:#fffbeb;color:#b45309}.status-cancelled{color:#b91c1c}.patient-form{padding:1.5rem}.form-group label{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em}.form-group input,.form-group select{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26}.form-group input::placeholder{color:#1a1a1a4d}.form-group small{color:#1a1a1a66;display:block;font-size:.75rem;margin-top:.375rem}.dob-group .dob-selects{display:flex;flex-wrap:wrap;gap:.5rem}.dob-group input,.dob-group select{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;flex:1 1;font-family:Manrope,sans-serif;font-size:.875rem;min-width:100px;padding:.75rem}.dob-group input:focus,.dob-group select:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0 1.5rem 1.5rem}.slot-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;cursor:pointer;font-family:Manrope,sans-serif;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.slot-button:hover{border-color:#d49d8c;box-shadow:0 4px 12px #d49d8c26}.slot-button.selected{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.slot-date{font-size:.875rem;font-weight:600}.slot-time{color:#1a1a1a80;font-size:.75rem;margin-top:.25rem}.slot-button.selected .slot-time{color:#ffffffb3}.submit-button{background:#1a1a1a;border:none;border-radius:.5rem;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;margin-left:1.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.submit-button:hover{background:#1a1a1ae6}.submit-button:disabled{cursor:not-allowed;opacity:.5}.success-message{background:#f0fdf4;border-radius:.5rem;color:#16a34a;font-size:.875rem;font-weight:600;margin:0 1.5rem 1rem;padding:.75rem 1.5rem}.logout-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.8rem;padding:.625rem 1.25rem;transition:all .2s ease}.logout-button:hover{border-color:#dc2626;color:#dc2626}.help-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.help-section{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1.25rem;transition:all .2s ease}.help-section:hover{border-color:#d49d8c}.help-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .5rem;padding:0}.help-section p{color:#1a1a1a99;font-size:.875rem;line-height:1.6;margin:0}.error-container,.loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:400px}.loading{color:#1a1a1a80;font-size:.875rem}.error{margin:1rem 1.5rem;padding:.75rem 1.5rem}.calendar-controls{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding:0 1.5rem}.calendar-controls h3{color:#1a1a1a;font-family:Playfair Display,serif;font-weight:700;margin:0;text-transform:capitalize}.calendar-nav{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.calendar-nav:hover{background:#1a1a1a;color:#fff}.calendar-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,minmax(120px,1fr));padding:0 1.5rem 1.5rem}.calendar-weekday{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em;padding:.5rem 0;text-align:center;text-transform:uppercase}.calendar-cell{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;display:flex;flex-direction:column;gap:.375rem;min-height:120px;padding:.5rem;transition:all .2s}.calendar-cell:hover{border-color:#d49d8c}.calendar-cell.empty{background:#fcf9f380;border-style:dashed}.calendar-day-number{color:#1a1a1a;font-size:.875rem;font-weight:600}.calendar-events{display:flex;flex:1 1;flex-direction:column;gap:.375rem}.calendar-event{background:#fcf9f3cc;border-left:3px solid #d49d8c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem}.calendar-event-title{color:#1a1a1a;font-weight:600}.calendar-event-time{color:#1a1a1a80;font-size:.7rem}.calendar-event.status-confirmed{border-left-color:#16a34a}.calendar-event.status-requested{border-left-color:#d97706}.calendar-event.status-cancelled{border-left-color:#dc2626}.calendar-no-events{color:#1a1a1a4d;font-size:.75rem}.availability-popup{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;box-shadow:0 10px 30px -10px #00000026;display:flex;flex-direction:column;gap:.375rem;padding:.75rem;position:absolute;right:5px;top:30px;width:160px;z-index:50}.availability-popup input{border:1px solid #1a1a1a1a;border-radius:.375rem;font-family:Manrope,sans-serif;font-size:.8rem;padding:.5rem;width:100%}.availability-popup input:focus{border-color:#d49d8c;outline:none}.availability-popup button{font-family:Manrope,sans-serif;font-size:.75rem;padding:.375rem}.sidebar-toggle{align-items:center;background:#1a1a1a;border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 20px #0003;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:fixed;right:1.5rem;width:48px;z-index:100}.sidebar-overlay{display:none}@media (max-width:1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(7,minmax(80px,1fr))}}@media (max-width:768px){.doctor-dashboard{display:block}.dashboard-sidebar{left:-280px;position:fixed;transition:left .3s ease}.dashboard-sidebar.open{left:0}.sidebar-overlay{background:#0000004d;display:none;inset:0;position:fixed;z-index:49}.sidebar-overlay.visible{display:block}.sidebar-toggle{display:flex}.dashboard-main-area{margin-left:0}.doctor-dashboard .dashboard-header{height:64px;padding:0 1.5rem}.doctor-dashboard .header-content h1{font-size:1.25rem}.dashboard-main{padding:1.5rem}.summary-cards{grid-template-columns:1fr}.appointments-section{border-radius:.5rem}.calendar-grid{gap:.25rem;grid-template-columns:repeat(7,minmax(60px,1fr));padding:0 1rem 1rem}}.appointment-info{flex:1 1}.appointment-info strong{color:#1a1a1a;font-size:.875rem}.appointment-info div{color:#1a1a1a80;font-size:.8rem;margin-top:.25rem}.appointment-actions{align-items:center;display:flex;gap:.5rem}.patient-completion-form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.patient-completion-form h4{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;margin:.5rem 0}.patient-completion-form p{color:#1a1a1a99;font-size:.875rem}.patient-completion-form input{border:1px solid #1a1a1a1a;border-radius:.375rem;font-family:Manrope,sans-serif;font-size:.875rem;padding:.625rem .75rem;width:100%}.patient-completion-form input:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.calendar-section{background:#0000;border:none;box-shadow:none;overflow:visible}.calendar-section:hover{border-color:#0000;box-shadow:none}.calendar-section h2{border-bottom:none;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.25rem;padding:0}.calendar-section .muted{color:#1a1a1a66;font-size:.875rem;margin-bottom:1.5rem}.calendar-section .calendar-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:0}.calendar-section .calendar-controls h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:500;letter-spacing:-.5px;margin:0;text-transform:capitalize}.calendar-section .calendar-nav{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:9999px;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;gap:.375rem;letter-spacing:.05em;padding:.5rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.calendar-section .calendar-nav:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.calendar-section .calendar-grid{grid-gap:0;background:#fff;border:1px solid #1a1a1a0f;border-radius:1.5rem;box-shadow:0 8px 40px -12px #00000014;display:grid;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.calendar-section .calendar-weekday{border-bottom:1px solid #1a1a1a0d;color:#1a1a1a59;font-size:.65rem;font-weight:700;letter-spacing:.15em;padding:1rem 0;text-align:center;text-transform:uppercase}.calendar-section .calendar-cell{background:#fff;border-bottom:1px solid #1a1a1a0a;border-right:1px solid #1a1a1a0a;display:flex;flex-direction:column;gap:.375rem;min-height:110px;padding:.75rem;position:relative;transition:background .2s ease}.calendar-section .calendar-cell:hover{background:#fcf9f399}.calendar-section .calendar-cell.empty{background:#fcf9f34d;border-bottom:1px solid #1a1a1a08;border-right:1px solid #1a1a1a08;opacity:.35}.calendar-section .calendar-day-number{color:#1a1a1a;font-size:.875rem;font-weight:700}.calendar-section .calendar-events{display:flex;flex:1 1;flex-direction:column;gap:.25rem;margin-top:.25rem}.calendar-section .calendar-no-events{color:#1a1a1a33;font-size:.65rem;font-weight:500}.calendar-section .calendar-event{background:#1a1a1a0d;border-left:none;border-radius:9999px;display:flex;flex-direction:column;font-size:.6rem;font-weight:700;gap:.125rem;letter-spacing:.08em;padding:.25rem .625rem;text-transform:uppercase}.calendar-section .calendar-event-title{font-size:.6rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-section .calendar-event-time{font-size:.55rem;font-weight:500;opacity:.7}.calendar-section .calendar-event.status-confirmed{background:#dcfce7;border-left:none;color:#166534}.calendar-section .calendar-event.status-requested{background:#fef3c7;border-left:none;color:#92400e}.calendar-section .calendar-event.status-cancelled{background:#fef2f2;border-left:none;color:#991b1b}.calendar-section .calendar-event.status-completed{background:#e1f0fe;border-left:none;color:#2c78c5}.calendar-section .calendar-event.availability-slot{background:#1a1a1a;border-left:none;color:#fff}.calendar-section .day-menu-button{background:#0000!important;border:none!important;border-radius:.25rem;color:#1a1a1a40;cursor:pointer!important;font-size:14px!important;line-height:1!important;opacity:0;padding:2px 4px!important;position:absolute!important;right:6px!important;top:6px!important;transition:all .2s ease}.calendar-section .calendar-cell:hover .day-menu-button{opacity:1}.calendar-section .day-menu-button:hover{background:#1a1a1a0d!important;color:#1a1a1a}.cal-context-menu{animation:calFadeIn .15s ease-out;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;box-shadow:0 12px 40px -8px #00000026;padding:.375rem;position:absolute;right:6px;top:28px;width:180px;z-index:50}@keyframes calFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-context-item{align-items:center;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:500;gap:.5rem;padding:.625rem .75rem;transition:background .15s ease}.cal-context-item:hover{background:#fcf9f3cc}.cal-context-item.danger:hover{background:#fef2f2;color:#dc2626}.cal-modal-overlay{align-items:center;animation:calFadeIn .2s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000059;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:5000}.cal-modal-overlay.z-high{z-index:6000}.cal-modal-overlay.z-higher{z-index:8000}.cal-modal-overlay.z-highest{z-index:9999}.cal-modal{animation:calSlideUp .25s ease-out;background:#fff;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;max-width:95vw;padding:2rem;width:420px}@keyframes calSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cal-modal h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .375rem}.cal-modal p{color:#1a1a1a80;font-size:.875rem;line-height:1.5;margin:0 0 1.25rem}.cal-modal p strong{color:#1a1a1a;font-weight:600}.cal-modal-error{background:#fef2f2;border-left:3px solid #dc2626;border-radius:.5rem;color:#dc2626;font-size:.8rem;font-weight:500;margin-bottom:.875rem;padding:.625rem .875rem}.cal-modal label{color:#1a1a1a66;display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.375rem;text-transform:uppercase}.cal-modal input[type=time]{border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;margin-bottom:.875rem;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.cal-modal input[type=time]:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.cal-btn-primary{background:#1a1a1a;border:none;border-radius:9999px;box-shadow:0 4px 16px #1a1a1a26;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;padding:.75rem;text-transform:uppercase;transition:all .2s ease;width:100%}.cal-btn-primary:hover{background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a33}.cal-btn-danger{background:#dc2626;border:none;border-radius:9999px;box-shadow:0 4px 16px #dc262626;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;padding:.75rem;text-transform:uppercase;transition:all .2s ease;width:100%}.cal-btn-danger:hover{background:#b91c1c}.cal-btn-secondary{background:#0000;border:1px solid #1a1a1a1a;border-radius:9999px;color:#1a1a1a99;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;margin-bottom:.375rem;padding:.625rem;transition:all .2s ease;width:100%}.cal-btn-secondary:hover{background:#1a1a1a0a;border-color:#1a1a1a33;color:#1a1a1a}.cal-slot-btn{background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:500;margin-bottom:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.cal-slot-btn:hover{background:#fcf9f380;border-color:#1a1a1a;box-shadow:0 2px 8px #0000000a}.calendar-legend{align-items:center;display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.calendar-legend-items{align-items:center;display:flex;gap:1.5rem}.calendar-legend-item{align-items:center;color:#1a1a1a59;display:flex;font-size:.65rem;font-weight:700;gap:.5rem;letter-spacing:.1em;text-transform:uppercase}.calendar-legend-dot{border-radius:50%;height:8px;width:8px}.calendar-legend-dot.confirmed{background:#dcfce7}.calendar-legend-dot.requested{background:#fef3c7}.calendar-legend-dot.available{background:#1a1a1a}@media (max-width:1024px){.calendar-section .calendar-grid{grid-template-columns:repeat(7,minmax(80px,1fr))}.calendar-section .calendar-cell{min-height:90px;padding:.5rem}}@media (max-width:768px){.calendar-section .calendar-grid{border-radius:.75rem;grid-template-columns:repeat(7,minmax(44px,1fr))}.calendar-section .calendar-cell{min-height:60px;padding:.375rem}.calendar-section .calendar-day-number{font-size:.75rem}.calendar-section .calendar-event{font-size:.5rem;padding:.125rem .375rem}.calendar-section .calendar-event-time{display:none}.calendar-section .calendar-controls h3{font-size:1.25rem}.cal-modal{padding:1.5rem;width:95vw}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 20px 60px -15px #0003;max-width:480px;padding:1.5rem;width:100%}.modal-header{align-items:center;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.modal-header h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;margin:0;padding:0}.modal-header button{background:none;border:none;color:#1a1a1a66;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s}.modal-header button:hover{color:#1a1a1a}.modal-body p{color:#1a1a1ab3;font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.modal-body strong{color:#1a1a1a;font-weight:600}.appointment-card{cursor:pointer}.complete-appointment-btn{background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-top:.75rem;padding:.75rem;transition:all .2s;width:100%}.complete-appointment-btn:hover{background:#1a1a1ad9}.complete-appointment-btn:disabled{cursor:not-allowed;opacity:.5}.no-show-btn{background:#fef2f2;border:1px solid #dc262633;border-radius:.5rem;color:#dc2626;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.75rem;transition:all .2s;width:100%}.no-show-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.no-show-btn:disabled{cursor:not-allowed;opacity:.5}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.7rem;font-weight:700;gap:.375rem;letter-spacing:.03em;padding:.25rem .75rem;text-transform:uppercase}.status-confirmed{background:#f0fdf4;color:#15803d}.status-completed{background:#eff6ff;color:#1d4ed8}.status-cancelled{background:#fef2f2;color:#dc2626}.status-requested{background:#fffbeb;color:#b45309}.appointments-archive-subtabs,.appointments-subtabs{background:#fcf9f3;display:flex;gap:.5rem;padding:1rem 1.5rem}.subtab{background:#fff;border:none;border-radius:.375rem;box-shadow:0 1px 3px #0000000d;color:#1a1a1a66;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.subtab:hover{color:#1a1a1a}.subtab.active{background:#1a1a1a;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600}.create-note-modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.create-note-modal{animation:cnSlideUp .35s ease-out;background:#fcf9f3;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@keyframes cnSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.create-note-header{align-items:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffe6;border-bottom:1px solid #1a1a1a0d;border-radius:1rem 1rem 0 0;display:flex;justify-content:space-between;padding:1.75rem 2rem}.create-note-header-content{flex:1 1}.create-note-header h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .25rem}.create-note-patient-name{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin:0}.create-note-close-btn{align-items:center;background:#1a1a1a0d;border:none;border-radius:50%;color:#1a1a1a80;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .2s;width:40px}.create-note-close-btn:hover{background:#1a1a1a1a;color:#1a1a1a}.create-note-form{display:flex;flex:1 1;flex-direction:column;gap:2rem;overflow-y:auto;padding:2rem}.create-note-section{display:flex;flex-direction:column;gap:.75rem}.create-note-label{align-items:center;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:700;gap:.5rem;letter-spacing:-.2px;margin-bottom:.25rem}.label-icon{color:#1a1a1a66;font-size:1.25rem}.create-note-hint{color:#1a1a1a80;font-size:.85rem;font-style:normal;line-height:1.5;margin:0}.category-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.category-option{align-items:flex-start;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .25s ease}.category-option:hover{background:#fff;border-color:#1a1a1a40;box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.category-option.selected{background:#fff;border-color:#1a1a1a;box-shadow:0 4px 16px #00000014}.category-option input[type=radio]{accent-color:#1a1a1a;cursor:pointer;flex-shrink:0;height:18px;margin-top:.25rem;width:18px}.category-option-content{flex:1 1}.category-option-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.375rem}.category-icon{align-items:center;background:#1a1a1a0d;border-radius:.5rem;display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s;width:40px}.category-option.selected .category-icon,.category-option:hover .category-icon{background:#1a1a1a;color:#fff}.category-label{color:#1a1a1a;font-size:.95rem;font-weight:700}.category-description{color:#1a1a1a80;font-size:.8rem;line-height:1.5;margin:0}.create-note-textarea{background:#fff;border:1px solid #1a1a1a1a;border-radius:.75rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.9rem;line-height:1.6;min-height:200px;padding:1.25rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.create-note-textarea:focus{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.create-note-textarea::placeholder{color:#1a1a1a4d;font-style:normal}.character-count{color:#1a1a1a59;font-size:.75rem;font-weight:500;margin-top:.5rem;text-align:right}.character-warning{color:#d49d8c;font-weight:700;margin-left:.5rem}.create-note-error{align-items:center;background:#fef2f2;border-left:3px solid #dc2626;border-radius:.5rem;color:#dc2626;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.875rem 1.25rem}.error-icon{flex-shrink:0;font-size:1.1rem}.create-note-actions{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffe6;border-top:1px solid #1a1a1a0d;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 2rem}.create-note-cancel-btn,.create-note-submit-btn{align-items:center;border:none;border-radius:9999px;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:700;gap:.5rem;padding:.75rem 1.75rem;transition:all .2s ease}.create-note-cancel-btn{background:#0000;border:1px solid #1a1a1a26;color:#1a1a1a99}.create-note-cancel-btn:hover:not(:disabled){background:#1a1a1a0d;border-color:#1a1a1a4d;color:#1a1a1a}.create-note-submit-btn{background:#1a1a1a;box-shadow:0 4px 16px #1a1a1a33;color:#fff}.create-note-submit-btn:hover:not(:disabled){background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a40;transform:scale(1.02)}.create-note-submit-btn:active:not(:disabled){transform:scale(.98)}.create-note-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.create-note-modal-overlay{padding:0}.create-note-modal{border-radius:0;max-height:100vh}.create-note-header{border-radius:0;padding:1.25rem 1.5rem}.create-note-form{padding:1.5rem}.category-options{grid-template-columns:1fr}.create-note-textarea{min-height:150px}.create-note-actions{flex-direction:column-reverse;padding:1rem 1.5rem}.create-note-cancel-btn,.create-note-submit-btn{justify-content:center;width:100%}}.onboarding-modal-overlay{align-items:center;background-color:#00000073;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:3000}.onboarding-modal{animation:slideUp .35s ease-out;background:#fcf9f3;border-radius:1rem;box-shadow:0 25px 80px -15px #00000040;display:flex;flex-direction:column;max-height:95vh;max-width:1000px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{align-items:flex-start;background:#fff;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding:1.75rem 2rem}.onboarding-header h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .25rem}.onboarding-header p{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin:0}.close-btn{align-items:center;background:#1a1a1a0d;border:none;border-radius:50%;color:#1a1a1a80;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.close-btn:hover{background:#1a1a1a1a;color:#1a1a1a}.onboarding-progress{background:#fff9;border-bottom:1px solid #1a1a1a0d;padding:1.25rem 2rem}.progress-bar{background:#1a1a1a0f;border-radius:9999px;height:6px;margin-bottom:.625rem;overflow:hidden;width:100%}.progress-fill{background:#1a1a1a;border-radius:9999px;height:100%;transition:width .5s ease-out}.onboarding-progress p{color:#1a1a1a66;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.onboarding-content{flex:1 1;overflow-y:auto;padding:2rem}.form-section-content h3{align-items:center;border-bottom:none;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;gap:.75rem;letter-spacing:-.3px;margin:0 0 1.5rem;padding-bottom:0}.form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:1/-1}.form-group label{color:#1a1a1a99;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#1a1a1a4d}.checkbox-group{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:.5rem}.checkbox-item{align-items:center;background:#fff;border:1px solid #1a1a1a14;border-radius:.75rem;cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;transition:border-color .15s ease}.checkbox-item:hover{border-color:#1a1a1a40}.checkbox-item input[type=checkbox]{accent-color:#1a1a1a;border-radius:.25rem;cursor:pointer;flex-shrink:0;height:18px;width:18px}.checkbox-item input[type=checkbox]:checked+label{color:#1a1a1a;font-weight:600}.checkbox-item label{color:#1a1a1ab3;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none}.error-message{background:#fef2f2;border-left:3px solid #dc2626;border-radius:.5rem;color:#dc2626;font-size:.875rem;font-weight:500;margin:.75rem 2rem;padding:.875rem 1.25rem}.onboarding-actions{align-items:center;background:#fff;border-top:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding:1.25rem 2rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:9999px;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:700;gap:.5rem;padding:.75rem 1.75rem;transition:all .2s ease}.btn-secondary{background:#0000;border:1px solid #1a1a1a26;color:#1a1a1a99}.btn-secondary:hover:not(:disabled){background:#1a1a1a0d;border-color:#1a1a1a4d;color:#1a1a1a}.btn-secondary:disabled{cursor:not-allowed;opacity:.35}.btn-primary{background:#1a1a1a;box-shadow:0 4px 16px #1a1a1a33}.btn-primary:hover:not(:disabled){background:#1a1a1ad9;box-shadow:0 6px 20px #1a1a1a40;transform:scale(1.02)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.follow-up-badge{color:#d49d8c;font-size:.75rem;font-weight:700;margin-left:.5rem}.info-banner{align-items:flex-start;background:#1a1a1a08;border:1px solid #1a1a1a14;border-radius:.75rem;color:#1a1a1a;display:flex;font-size:.85rem;gap:.75rem;line-height:1.5;margin-bottom:1rem;padding:1rem 1.25rem}.info-banner span{flex-shrink:0;font-size:1.1rem;margin-top:.1rem}@media (max-width:768px){.checkbox-group,.form-grid{grid-template-columns:1fr}.onboarding-modal{border-radius:0;max-height:100vh}.onboarding-header{border-radius:0;padding:1.25rem 1.5rem}.onboarding-content{padding:1.5rem}.onboarding-actions,.onboarding-progress{padding:1rem 1.5rem}}.patient-clinical-notes{padding:0}.btn-new-note{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-new-note:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-icon{font-size:1.25rem;font-weight:700}.note-form{background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.5rem;width:100%}.form-group textarea{min-height:100px;resize:vertical}.btn-submit{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background-color .2s}.btn-submit:hover:not(:disabled){background-color:#218838}.btn-submit:disabled{background-color:#6c757d;cursor:not-allowed}.no-notes{color:#666;padding:2rem;text-align:center}.notes-timeline{display:flex;flex-direction:column;gap:1rem}.note-item{background-color:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:1rem}.note-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.note-category{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.note-category-history{background-color:#e3f2fd;color:#1976d2}.note-category-symptom{background-color:#fff3e0;color:#f57c00}.note-category-visit{background-color:#f3e5f5;color:#7b1fa2}.note-category-general{background-color:#e8f5e9;color:#388e3c}.note-date{color:#666;flex:1 1;font-size:.85rem;text-align:right}.btn-delete-note{align-items:center;background:none;border:none;color:#dc3545;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:24px}.btn-delete-note:hover{color:#c82333}.note-content{word-wrap:break-word;color:#333;line-height:1.6;white-space:pre-wrap}.patient-lab-reports{padding:1rem}.documents-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.documents-header h3{color:#333;font-size:1.25rem;margin:0}.btn-upload{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.btn-upload:hover:not(:has(input:disabled)){background-color:#0056b3}.btn-upload:has(input:disabled){background-color:#6c757d;cursor:not-allowed}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem}.no-documents{color:#666;padding:2rem;text-align:center}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;padding:1rem;transition:box-shadow .2s}.document-item:hover{box-shadow:0 4px 8px #00000026}.document-icon{flex-shrink:0;font-size:2rem}.document-info{flex:1 1;min-width:0}.document-name{color:#007bff;cursor:pointer;font-weight:500;margin-bottom:.25rem;transition:color .2s;word-break:break-word}.document-name:hover{color:#0056b3;text-decoration:underline}.document-meta{color:#666;display:flex;font-size:.85rem;gap:.5rem}.btn-delete-document{align-items:center;background:none;border:none;color:#dc3545;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:32px}.btn-delete-document:hover{color:#c82333}.patients-section{display:flex;flex-direction:column;height:100%}.patients-split-container{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;display:flex;gap:0;height:calc(100vh - 200px);min-height:600px;overflow:hidden}.patients-list-panel{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;min-width:340px;overflow:hidden;width:380px}.patients-header{background:#fff;border-bottom:1px solid #1a1a1a0d;padding:1.5rem}.patients-header h2{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0 0 1rem}.patients-search-container{position:relative;width:100%}.patients-search-input{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.patients-search-input:focus{border-color:#d49d8c;box-shadow:0 0 0 3px #d49d8c26;outline:none}.patients-search-input::placeholder{color:#1a1a1a4d}.patients-search-clear{align-items:center;background:none;border:none;color:#1a1a1a4d;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .2s;width:24px}.patients-search-clear:hover{color:#1a1a1a}.patients-list-container{flex:1 1;overflow-y:auto;padding:.5rem}.patients-cards-list{display:flex;flex-direction:column;gap:.375rem}.patient-card{align-items:center;background:#fff;border:1px solid #0000;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:all .2s ease}.patient-card:hover{background:#fcf9f3cc;border-color:#d49d8c4d}.patient-card.selected{background:#fcf9f3;border-color:#d49d8c;box-shadow:0 2px 8px #d49d8c26}.patient-card-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c33;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:40px;justify-content:center;width:40px}.patient-card.selected .patient-card-avatar{border-color:#d49d8c}.patient-card-info{flex:1 1;min-width:0}.patient-card-name{color:#1a1a1a;font-size:.875rem;font-weight:600;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-details{color:#1a1a1a66;display:flex;flex-direction:column;font-size:.75rem;gap:.125rem}.patient-card-email,.patient-card-phone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-status{flex-shrink:0}.status-badge-active{background:#d49d8c1a;border-radius:9999px;color:#d49d8c;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .625rem;text-transform:uppercase}.patients-detail-panel{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.patient-detail-empty{align-items:center;color:#1a1a1a59;display:flex;font-size:.95rem;height:100%;justify-content:center}.patient-detail-content{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.patient-detail-header{align-items:flex-start;border-bottom:1px solid #1a1a1a0d;display:flex;justify-content:space-between;padding-bottom:1.5rem}.patient-detail-header-left{align-items:center;display:flex;gap:1rem}.patient-detail-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:56px;justify-content:center;width:56px}.patient-detail-title{display:flex;flex-direction:column;gap:.375rem}.patient-detail-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.375rem;font-weight:700;letter-spacing:-.3px}.patient-detail-meta{align-items:center;display:flex;gap:1rem}.patient-detail-id{color:#1a1a1a66;font-size:.8rem;font-weight:500}.patient-new-appointment-btn{align-items:center;background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s;white-space:nowrap}.patient-new-appointment-btn:hover{background:#1a1a1ad9;box-shadow:0 4px 12px #00000026}.patient-new-appointment-btn:active{transform:translateY(0)}.patient-detail-section{display:flex;flex-direction:column;gap:.75rem}.section-title{align-items:center;color:#1a1a1a;display:flex;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:700;gap:.5rem;letter-spacing:-.3px;margin:0}.section-content{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;box-shadow:0 2px 8px #00000008;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.info-item{align-items:center;display:flex;font-size:.875rem;gap:.75rem}.info-icon{color:#d49d8c;flex-shrink:0;font-size:1rem}.info-label{color:#1a1a1a66;font-size:.8rem;font-weight:600;letter-spacing:.05em;min-width:120px;text-transform:uppercase}.info-value{color:#1a1a1a;font-weight:500}.info-value-allergies,.info-value-medications{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.allergy-tag,.medication-tag{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:9999px;color:#1a1a1a;display:inline-block;font-size:.8rem;font-weight:500;padding:.3rem .625rem}.allergy-tag.no-allergies{background:#fffbeb;border-color:#d49d8c4d;color:#b45309}.medication-tag{background:#d49d8c1a;border-color:#d49d8c33;color:#1a1a1a}.medication-tag.prescribed{background:#f0fdf4;border-color:#16a34a33;color:#15803d}.notes-content{border:none;box-shadow:none}.notes-content,.notes-content .patient-clinical-notes{background:#0000;padding:0}.notes-content .notes-timeline{display:flex;flex-direction:column;gap:.5rem}.notes-content .note-item{background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1rem;transition:border-color .2s}.notes-content .note-item:hover{border-color:#d49d8c}.lab-reports-content{border:none;box-shadow:none}.lab-reports-content,.lab-reports-content .patient-lab-reports{background:#0000;padding:0}.appointments-history-list{display:flex;flex-direction:column;gap:.5rem}.appointment-history-item{align-items:center;background:#fff;border:1px solid #1a1a1a0d;border-radius:.5rem;display:flex;justify-content:space-between;padding:.875rem 1rem;transition:all .2s}.appointment-history-item:hover{border-color:#d49d8c;box-shadow:0 2px 8px #d49d8c1a}.appointment-history-left{align-items:center;display:flex;flex:1 1;gap:1rem}.appointment-history-icon{color:#d49d8c;flex-shrink:0;font-size:1.1rem}.appointment-history-date{color:#1a1a1a;font-size:.875rem;font-weight:600;min-width:100px}.appointment-history-description{color:#1a1a1a80;font-size:.8rem}.appointment-history-right{flex-shrink:0}.appointment-history-badge{background:#1a1a1a;border-radius:9999px;color:#fff;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.3rem .625rem;text-transform:uppercase}.patient-detail-actions{border-top:1px solid #1a1a1a0d;display:flex;gap:.75rem;padding-top:1rem}.patient-action-button{align-items:center;background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:flex;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.625rem 1.25rem;text-transform:uppercase;transition:all .2s ease}.patient-action-button:hover{background:#1a1a1a;border-color:#1a1a1a;box-shadow:0 4px 12px #0000001a;color:#fff}.patient-action-button.secondary{background:#fff}.patient-action-button.secondary:hover{background:#1a1a1a;color:#fff}.loading,.no-appointments{color:#1a1a1a66;padding:2rem}.error,.loading,.no-appointments{font-size:.875rem;text-align:center}.error{background:#fef2f2;border-radius:.5rem;color:#dc2626;margin:.75rem;padding:.75rem}@media (max-width:1024px){.patients-split-container{flex-direction:column;height:auto}.patients-list-panel{border-bottom:1px solid #1a1a1a0d;border-right:none;max-height:400px;min-width:0;width:100%}.patients-detail-panel{min-height:500px}}@media (max-width:768px){.patient-detail-content{gap:1.25rem;padding:1rem}.patient-detail-header{align-items:flex-start;flex-direction:column;gap:1rem}.patient-new-appointment-btn{justify-content:center;width:100%}.patient-detail-actions{flex-direction:column}.patient-action-button{justify-content:center;width:100%}.info-item{flex-wrap:wrap}.info-label{min-width:auto}}.patient-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fcf9f3;color:#1a1a1a;display:flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.patient-dashboard .dashboard-sidebar{background:#fff;border-right:1px solid #1a1a1a0d;display:flex;flex-direction:column;height:100vh;min-width:280px;overflow-y:auto;position:fixed;width:280px;z-index:50}.patient-dashboard .sidebar-brand{padding:2rem 2rem 1rem}.patient-dashboard .sidebar-brand-inner{align-items:center;cursor:pointer;display:flex;gap:.75rem;margin-bottom:2.5rem}.patient-dashboard .sidebar-brand-icon{align-items:center;background:#1a1a1a;border-radius:.5rem;color:#d49d8c;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.patient-dashboard .sidebar-brand-icon .material-symbols-outlined{font-size:1.5rem}.patient-dashboard .sidebar-brand-name{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px}.patient-dashboard .sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 2rem}.patient-dashboard .sidebar-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.patient-dashboard .sidebar-item:hover{background:#d49d8c1a;color:#1a1a1a}.patient-dashboard .sidebar-item.active{background:#1a1a1a;color:#fff}.patient-dashboard .sidebar-item .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.patient-dashboard .sidebar-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 24}.patient-dashboard .sidebar-footer{margin-top:auto;padding:2rem}.patient-dashboard .sidebar-profile{align-items:center;background:#fcf9f3;border-radius:.75rem;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:.75rem}.patient-dashboard .sidebar-profile-avatar{align-items:center;background:#1a1a1a;border:2px solid #d49d8c;border-radius:50%;color:#d49d8c;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.patient-dashboard .sidebar-profile-info{display:flex;flex-direction:column}.patient-dashboard .sidebar-profile-role{color:#1a1a1a66;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.patient-dashboard .sidebar-profile-name{color:#1a1a1a;font-size:.875rem;font-weight:600}.patient-dashboard .sidebar-logout{align-items:center;background:none;border:none;border-radius:.5rem;color:#1a1a1a99;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.patient-dashboard .sidebar-logout:hover{color:#dc2626}.patient-dashboard .sidebar-logout .material-symbols-outlined{font-size:1.25rem}.patient-dashboard .dashboard-main-area{background:#fcf9f3;display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}.patient-dashboard .dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;display:flex;height:80px;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:40}.patient-dashboard .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.patient-dashboard .header-content h1{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0}.patient-dashboard .header-actions{align-items:center;display:flex;gap:1.5rem}.patient-dashboard .header-notification-btn{background:none;border:none;color:#1a1a1a99;cursor:pointer;padding:.5rem;position:relative;transition:color .2s}.patient-dashboard .header-notification-btn:hover{color:#1a1a1a}.patient-dashboard .header-notification-dot{background:#d49d8c;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:8px;top:8px;width:8px}.patient-dashboard .dashboard-main{margin:0 auto;max-width:1200px;padding:2.5rem;width:100%}.patient-dashboard .summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem}.patient-dashboard .summary-card{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;padding:1.5rem;transition:all .3s ease}.patient-dashboard .summary-card:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.patient-dashboard .summary-card.highlight{border-left:4px solid #d49d8c}.patient-dashboard .summary-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.patient-dashboard .summary-card-icon{align-items:center;background:#d49d8c1a;border-radius:.5rem;color:#d49d8c;display:flex;justify-content:center;padding:.5rem}.patient-dashboard .summary-card-icon .material-symbols-outlined{font-size:1.25rem}.patient-dashboard .summary-card-label{color:#1a1a1a80;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.patient-dashboard .summary-card-value{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.875rem;font-weight:700;letter-spacing:-.5px}.patient-dashboard .appointments-section{background:#fff;border:1px solid #1a1a1a0d;border-radius:.75rem;box-shadow:0 4px 20px -5px #0000000d;overflow:hidden;transition:all .3s ease}.patient-dashboard .appointments-section:hover{border-color:#d49d8c;box-shadow:0 10px 30px -10px #d49d8c33}.patient-dashboard .appointments-section h2{border-bottom:1px solid #1a1a1a0d;color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;margin:0;padding:1.5rem}.patient-dashboard .appointments-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;margin:1rem 1.5rem .75rem}.patient-dashboard .no-appointments{color:#1a1a1a80;font-size:.875rem;padding:3rem 2rem;text-align:center}.patient-dashboard .appointments-list{display:flex;flex-direction:column;padding:0}.patient-dashboard .appointment-card{align-items:center;border-bottom:1px solid #1a1a1a0d;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .2s ease}.patient-dashboard .appointment-card:last-child{border-bottom:none}.patient-dashboard .appointment-card:hover{background:#fcf9f380}.patient-dashboard .appointment-header{align-items:center;display:flex;flex:1 1;gap:1rem}.patient-dashboard .appointment-header h3{border:none;color:#1a1a1a;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin:0;padding:0}.patient-dashboard .appointment-details{align-items:center;display:flex;flex:1 1;gap:2rem}.patient-dashboard .appointment-details p{color:#1a1a1a99;font-size:.875rem;line-height:1.5;margin:0}.patient-dashboard .appointment-details strong{color:#1a1a1a66;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.patient-dashboard .status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.375rem;padding:.25rem .75rem;white-space:nowrap}.patient-dashboard .status-confirmed,.patient-dashboard .status-scheduled{background:#f0fdf4;color:#15803d}.patient-dashboard .status-pending,.patient-dashboard .status-requested{background:#fffbeb;color:#b45309}.patient-dashboard .status-cancelled{background:#fef2f2;color:#b91c1c}.patient-dashboard .status-completed{background:#eff6ff;color:#1d4ed8}.patient-dashboard .slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0 1.5rem 1.5rem}.patient-dashboard .slot-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;cursor:pointer;font-family:Manrope,sans-serif;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.patient-dashboard .slot-button:hover{border-color:#d49d8c;box-shadow:0 4px 12px #d49d8c26}.patient-dashboard .slot-button.selected{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.patient-dashboard .slot-date{font-size:.875rem;font-weight:600}.patient-dashboard .slot-time{color:#1a1a1a80;font-size:.75rem;margin-top:.25rem}.patient-dashboard .slot-button.selected .slot-time{color:#ffffffb3}.patient-dashboard .submit-button{background:#1a1a1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;margin-left:1.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.patient-dashboard .submit-button:hover{background:#1a1a1ae6}.patient-dashboard .submit-button:disabled{cursor:not-allowed;opacity:.5}.patient-dashboard .success-message{background:#f0fdf4;border-radius:.5rem;color:#16a34a;font-size:.875rem;font-weight:600;margin:0 1.5rem 1rem;padding:.75rem 1.5rem}.patient-dashboard .logout-button{background:#fff;border:1px solid #1a1a1a1a;border-radius:.5rem;color:#1a1a1a;cursor:pointer;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.patient-dashboard .logout-button:hover{border-color:#dc2626;color:#dc2626}.patient-dashboard .help-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.patient-dashboard .help-section{background:#fcf9f3;border:1px solid #1a1a1a0d;border-radius:.5rem;padding:1.25rem;transition:all .2s ease}.patient-dashboard .help-section:hover{border-color:#d49d8c}.patient-dashboard .help-section h3{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .5rem;padding:0}.patient-dashboard .help-section p{color:#1a1a1a99;font-size:.875rem;line-height:1.6;margin:0}.patient-dashboard .error-container,.patient-dashboard .loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:400px}.patient-dashboard .loading{color:#1a1a1a80;font-size:.875rem}.patient-dashboard .error{background:#fef2f2;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin:1rem 1.5rem;padding:.75rem 1.5rem;text-align:center}.patient-dashboard .sidebar-toggle{align-items:center;background:#1a1a1a;border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 20px #0003;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;position:fixed;right:1.5rem;width:48px;z-index:100}.patient-dashboard .sidebar-overlay{display:none}@media (max-width:1024px){.patient-dashboard .summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.patient-dashboard{display:block}.patient-dashboard .dashboard-sidebar{left:-280px;position:fixed;transition:left .3s ease}.patient-dashboard .dashboard-sidebar.open{left:0}.patient-dashboard .sidebar-overlay{background:#0000004d;display:none;inset:0;position:fixed;z-index:49}.patient-dashboard .sidebar-overlay.visible{display:block}.patient-dashboard .sidebar-toggle{display:flex}.patient-dashboard .dashboard-main-area{margin-left:0}.patient-dashboard .dashboard-header{height:64px;padding:0 1.5rem}.patient-dashboard .header-content h1{font-size:1.25rem}.patient-dashboard .dashboard-main{padding:1.5rem}.patient-dashboard .summary-cards{grid-template-columns:1fr}.patient-dashboard .appointments-section{border-radius:.5rem}}.logo{cursor:pointer;display:flex;flex-direction:column}.logo-main{color:#666;font-size:1.8rem;font-weight:300;letter-spacing:2px;line-height:1}.logo-sub{color:#999;font-size:.9rem;font-weight:300;letter-spacing:1px;margin-top:.2rem}.navbar{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 2px 4px #0000000d;padding:1rem 0;position:sticky;top:0;z-index:100}.nav-container{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.nav-links{display:flex;flex:1 1;gap:2rem;justify-content:center}.nav-links a{color:#666;font-size:.95rem;font-weight:400;text-decoration:none;transition:color .3s ease}.nav-links a:hover{color:#000}.nav-contact{align-items:center;display:flex;gap:1rem}.phone-icon{font-size:1.2rem}.phone-number{color:#666;font-size:.95rem;font-weight:400}.schedule-btn{background:#000;border:none;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:background .3s ease}.schedule-btn:hover{background:#333}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#666}.loading-spinner-small{min-height:100px}.loading-spinner-small .loading-spinner{border-width:2px;height:30px;width:30px}.loading-spinner-medium{min-height:200px}.loading-spinner-medium .loading-spinner{height:50px;width:50px}.loading-spinner-large{min-height:400px}.loading-spinner-large .loading-spinner{border-width:4px;height:70px;width:70px}.loading-message{color:#666;font-size:.95rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;border-radius:4px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.error-message-error{background-color:#fee;border:1px solid #fcc;color:#c33}.error-message-warning{background-color:#fff8e1;border:1px solid #ffcc80;color:#f57c00}.error-message-info{background-color:#e3f2fd;border:1px solid #90caf9;color:#1976d2}.error-text{flex:1 1;font-size:.9rem}.error-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.7;padding:0;transition:opacity .2s}.error-dismiss:hover{opacity:1}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;letter-spacing:.5px;text-transform:uppercase;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-small{font-size:.8rem;padding:.4rem .8rem}.btn-medium{font-size:.9rem;padding:.6rem 1.2rem}.btn-large{font-size:1rem;padding:.8rem 1.6rem}.btn-primary{background:#000;color:#fff}.btn-primary:hover:not(:disabled){background:#333}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover:not(:disabled){background:#e5e5e5}.btn-danger{background:#c33;color:#fff}.btn-danger:hover:not(:disabled){background:#a22}.btn-outline{background:#0000;border:1px solid #000;color:#000}.btn-outline:hover:not(:disabled){background:#000;color:#fff}*{margin:0;padding:0}.admin-login-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.login-wrapper{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:2rem}.login-container{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000000d;max-width:450px;padding:3rem;width:100%}.login-header{margin-bottom:2.5rem;text-align:center}.login-header h1{color:#000;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.login-header p{color:#999;font-size:.9rem;font-weight:400;letter-spacing:1px;margin:0;text-transform:uppercase}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{letter-spacing:.3px}.form-group input{background:#fff;border:1px solid #e5e5e5;border-radius:8px;color:#333;font-family:inherit;font-size:1rem;padding:.85rem 1rem;transition:border-color .3s ease}.form-group input:focus{border-color:#000;outline:none}.form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-group input::placeholder{color:#999}.login-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-top:.5rem;padding:.85rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.login-button.secondary{background:#666}.login-button.secondary:hover:not(:disabled){background:#555}.login-button:hover:not(:disabled){background:#333;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.login-button:disabled{background:#999;box-shadow:none;cursor:not-allowed;transform:none}.login-footer{margin-top:2rem;text-align:center}.back-to-home{background:none;border:none;color:#666;cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem;text-decoration:none;transition:color .3s ease}.back-to-home:hover:not(:disabled){color:#000}.back-to-home:disabled{cursor:not-allowed;opacity:.6}.loading{padding:2rem}.create-user-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.create-user-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.create-user-modal-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:1.5rem}.create-user-modal-header h2{color:#000;font-size:1.5rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-button:hover{background:#f0f0f0;color:#000}.create-user-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#000;outline:none}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-actions{border-top:1px solid #e5e5e5;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.cancel-button,.submit-button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button{background:#f5f5f5;color:#666}.cancel-button:hover:not(:disabled){background:#e5e5e5}.submit-button{background:#000;color:#fff}.submit-button:hover:not(:disabled){background:#333}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.error-message{border-radius:6px;margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.create-user-modal-content{max-width:100%}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.admin-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.dashboard-container{margin:0 auto;max-width:1400px;padding:2rem}.dashboard-header{align-items:flex-start;border-bottom:2px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.dashboard-header h1{color:#000;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.dashboard-header p{color:#666;font-size:1rem;margin:0}.logout-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.logout-button:hover{background:#333;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.admin-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.section-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.admin-section h2{color:#000;font-size:1.5rem;font-weight:600;margin:0}.create-user-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.create-user-button:hover{background:#333;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f9f9f9}.users-table th{border-bottom:2px solid #e5e5e5;color:#333;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f0f0f0;color:#666;padding:1rem}.users-table tbody tr:hover{background:#f9f9f9}.users-table tbody tr:last-child td{border-bottom:none}.delete-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.delete-button:hover:not(:disabled){background:#c82333;box-shadow:0 2px 4px #dc35454d;transform:translateY(-1px)}.delete-button:disabled{cursor:not-allowed;opacity:.6}.no-data{color:#999;font-style:italic;padding:2rem!important;text-align:center}.role-badge{border-radius:6px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.4rem .8rem;text-transform:uppercase}.role-badge.role-admin{background:#fee;color:#c33}.role-badge.role-doctor{background:#eef;color:#337}.role-badge.role-patient{background:#efe;color:#363}.status-badge{border-radius:6px;display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.status-badge.enabled{background:#efe;color:#363}.status-badge.disabled{background:#fee;color:#c33}.info-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-card{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;text-align:center}.info-card-label{color:#666;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.info-card-value{color:#000;font-size:2rem;font-weight:700}.loading{color:#666;font-size:1rem;padding:3rem;text-align:center}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;margin:2rem 0;padding:1.5rem}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem}.dashboard-header h1{font-size:2rem}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.create-user-button{width:100%}.info-cards{grid-template-columns:1fr}}.App{margin:0;min-height:100vh;padding:0}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}
/*# sourceMappingURL=main.d04b7758.css.map*/