.navbar{position:sticky;top:0;z-index:1000;padding:1rem 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.navbar-content{display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:transform var(--transition-fast)}.navbar-brand:hover{transform:scale(1.05)}.brand-logo{height:50px;width:auto;object-fit:contain}.brand-info{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.brand-title{font-size:1.5rem;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-subtitle{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.navbar-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.5rem}.navbar-toggle span{width:25px;height:3px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-fast)}.navbar-menu{display:flex;align-items:center;gap:2rem}.navbar-link{color:var(--text-secondary);font-weight:500;text-decoration:none;position:relative;transition:color var(--transition-fast)}.navbar-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary-gradient);transition:width var(--transition-fast)}.navbar-link:hover,.navbar-link.active{color:var(--text-primary)}.navbar-link.active:after{width:100%}.btn-sm{padding:.625rem 1.25rem;font-size:.9375rem}@media (max-width: 1024px){.navbar-toggle{display:flex;min-width:44px;min-height:44px}.navbar-menu{position:fixed;top:70px;left:0;right:0;flex-direction:column;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:2rem;gap:1.5rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-lg)}.navbar-menu.active{transform:translateY(0);opacity:1;visibility:visible}.navbar-link{font-size:1.125rem;padding:.5rem 0;min-height:44px;display:flex;align-items:center}.navbar-link:after{display:none}.btn-sm{width:100%;justify-content:center}}@media (max-width: 375px){.navbar{padding:.75rem 0}.navbar-brand{font-size:1.25rem}.brand-icon{font-size:1.5rem}.navbar-menu{padding:1.5rem;gap:1rem}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:var(--spacing-2xl) 0 var(--spacing-lg);margin-top:var(--spacing-2xl)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;margin-bottom:var(--spacing-xs)}.brand-logo-footer{height:40px;width:auto;object-fit:contain}.footer-heading{color:var(--text-primary);font-size:1.125rem;margin-bottom:var(--spacing-xs)}.footer-text{color:var(--text-muted);line-height:1.6}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--primary)}.footer-info{list-style:none;display:flex;flex-direction:column;gap:.5rem;color:var(--text-secondary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-lg);border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}.footer-admin a{color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-admin a:hover{color:var(--primary)}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}.footer-bottom{flex-direction:column;gap:var(--spacing-sm);text-align:center}}.home-page{min-height:100vh}.hero{padding:var(--spacing-2xl) 0;min-height:80vh;display:flex;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(102,126,234,.15) 0%,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-50px,50px)}}.hero-content{max-width:800px;position:relative;z-index:1}.hero-title{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:var(--spacing-md);line-height:1.1}.hero-subtitle{font-size:clamp(1.125rem,2vw,1.375rem);color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.hero-actions{padding-top:var(--spacing-md);display:flex;gap:var(--spacing-md);flex-wrap:wrap}.features-section{padding:var(--spacing-2xl) 0;position:relative;z-index:2}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.feature-card{text-align:center;padding:var(--spacing-xl);border-radius:var(--radius-lg);transition:all var(--transition-normal);height:100%}.feature-card:hover{transform:translateY(-5px);background:var(--bg-card-hover);border-color:var(--primary)}.feature-icon{font-size:3rem;margin-bottom:var(--spacing-md);display:inline-block}.feature-card h3{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:1.6}.services-preview{padding:var(--spacing-2xl) 0;background:var(--bg-secondary)}.section-header{margin-bottom:var(--spacing-xl)}.section-header h2{margin-bottom:var(--spacing-sm)}.section-header p{font-size:1.125rem;color:var(--text-muted)}.service-card{text-align:center;padding:var(--spacing-xl)}.service-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.service-card h3{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.service-card p{color:var(--text-muted);margin-bottom:var(--spacing-md);min-height:60px}.service-price{font-size:1.5rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cta-section{padding:var(--spacing-2xl) 0}.cta-card{text-align:center;padding:var(--spacing-2xl);border-radius:var(--radius-xl)}.cta-card h2{margin-bottom:var(--spacing-md)}.cta-card p{font-size:1.125rem;margin-bottom:var(--spacing-xl)}.loading-container{display:flex;justify-content:center;padding:var(--spacing-2xl)}@media (max-width: 1024px){.hero{min-height:70vh;padding:var(--spacing-xl) 0}.hero-title{font-size:3rem}.hero-preview:before{width:600px;height:600px}}@media (max-width: 768px){.hero{min-height:60vh;padding:var(--spacing-xl) 0}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.feature-item{flex-direction:column;text-align:center}}.service-page{min-height:100vh}.page-header{padding:var(--spacing-2xl) 0 var(--spacing-xl);text-align:center;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.page-header h1{margin-bottom:var(--spacing-sm)}.page-header p{font-size:1.125rem;color:var(--text-muted);max-width:600px;margin:0 auto}.services-section{padding:var(--spacing-2xl) 0}.service-detail-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.service-header{display:flex;gap:var(--spacing-md);align-items:center}.service-icon-large{font-size:3.5rem;flex-shrink:0}.service-header h3{color:var(--text-primary);margin-bottom:.5rem}.service-price-large{font-size:1.75rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-top:0}.service-description{color:var(--text-secondary);line-height:1.6;flex-grow:1;margin-bottom:0}.btn-block{width:100%}.service-info{padding:var(--spacing-2xl) 0;background:var(--bg-secondary)}.info-card{padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center}.info-card h2{margin-bottom:var(--spacing-xl)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl)}.info-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.info-icon{font-size:3rem}.info-item h4{color:var(--text-primary);margin-bottom:.25rem}.info-item p{color:var(--text-muted);text-align:center;margin:0}.service-note{font-size:.875rem;color:var(--text-muted);font-style:italic;margin-bottom:0}.clinic-only-warning{background:#ff6b6b1a;border:1px solid var(--danger);border-radius:var(--radius-md);padding:var(--spacing-sm);text-align:left}.status-text.text-danger{color:var(--danger);font-weight:700;margin-bottom:.5rem}.explanation-text{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.service-footer{margin-top:0}@media (max-width: 768px){.service-header{flex-direction:row;text-align:left;align-items:center}.info-grid{grid-template-columns:1fr}}.tentang-page{min-height:100vh}.profile-section{padding:var(--spacing-2xl) 0}.profile-content{max-width:800px;margin:0 auto}.profile-text h2{margin-bottom:var(--spacing-md)}.profile-text p{font-size:1.125rem;line-height:1.8;margin-bottom:var(--spacing-md)}.doctors-section{padding:var(--spacing-2xl) 0;background:var(--bg-secondary)}.doctor-card{text-align:center;padding:var(--spacing-xl)}.doctor-avatar{font-size:5rem;margin-bottom:var(--spacing-md)}.doctor-card h3{color:var(--text-primary);margin-bottom:.5rem}.doctor-specialty{color:var(--primary);font-weight:600;margin-bottom:var(--spacing-md)}.doctor-bio{color:var(--text-muted);line-height:1.6}.vision-section{padding:var(--spacing-2xl) 0}.vision-card{padding:var(--spacing-xl)}.vision-card h3{font-size:1.75rem;margin-bottom:var(--spacing-md)}.vision-card p{font-size:1.125rem;line-height:1.8}.vision-card ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.vision-card li{color:var(--text-secondary);font-size:1.125rem;padding-left:1.5rem;position:relative}.vision-card li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.hours-section{padding:var(--spacing-2xl) 0;background:var(--bg-secondary)}.hours-card{padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center;max-width:800px;margin:0 auto}.hours-card h2{margin-bottom:var(--spacing-xl)}.hours-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-xl);align-items:center;margin-bottom:var(--spacing-xl)}.hours-item h4{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.hours-time{font-size:1.5rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.hours-note{color:var(--text-muted);font-size:.875rem}.hours-divider{width:2px;height:80px;background:var(--border)}.hours-footer{padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.hours-footer p{color:var(--text-secondary);font-size:1rem}@media (max-width: 768px){.hours-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.hours-divider{display:none}}.kontak-page{min-height:100vh;animation:fadeIn .5s ease-out;position:relative;overflow:hidden}.contact-section{padding:var(--spacing-2xl) 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--spacing-2xl);align-items:start}.card{padding:var(--spacing-xl);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.card h2{font-size:1.75rem;color:var(--primary);border-bottom:2px solid var(--primary-light);padding-bottom:.75rem;margin-bottom:2rem;font-weight:700}.contact-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.contact-item-card{background:var(--bg-secondary);padding:1.5rem;border-radius:var(--radius-md);transition:all .3s ease;border:1px solid transparent;display:flex;flex-direction:column;height:100%}.contact-item-card:hover{transform:translateY(-5px);background:var(--bg-card);border-color:var(--primary-light);box-shadow:var(--shadow-md)}.contact-item-card.full-width{grid-column:span 2}.contact-item-card h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.contact-item-card h3 svg{padding:6px;background:rgba(var(--primary-rgb),.1);border-radius:8px;box-sizing:content-box}.contact-item-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.schedule-list{margin-top:.5rem}.schedule-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.schedule-row:last-child{border-bottom:none}.schedule-day{font-weight:600;color:var(--text-primary)}.schedule-time{color:var(--text-secondary)}.faq-list{display:flex;flex-direction:column;gap:1.25rem}.faq-item{padding:1.25rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid transparent;transition:all .3s ease}.faq-item:hover{background:var(--bg-card);border-color:var(--secondary);transform:translate(5px)}.faq-item h3{font-size:1.05rem;color:var(--text-primary);margin-bottom:.75rem;font-weight:600;line-height:1.4}.faq-item p{color:var(--text-secondary);margin:0;line-height:1.6;font-size:.95rem}@media (max-width: 968px){.contact-grid,.contact-info-grid{grid-template-columns:1fr}.contact-item-card.full-width{grid-column:span 1}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;line-height:16px;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.appointment-page{min-height:100vh;padding-bottom:var(--spacing-2xl)}.appointment-section{padding:var(--spacing-2xl) 0}.appointment-steps{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;transition:opacity var(--transition-normal)}.step-indicator.active{opacity:1}.step-number{width:50px;height:50px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;transition:all var(--transition-normal)}.step-indicator.active .step-number{background:var(--primary-gradient);border-color:var(--primary);box-shadow:var(--shadow-glow)}.step-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.step-indicator.active .step-label{color:var(--text-primary)}.step-line{flex:1;height:2px;background:var(--border);margin:0 1rem;max-width:100px}.appointment-card{max-width:800px;margin:0 auto;padding:var(--spacing-2xl);border-radius:var(--radius-xl)}.appointment-card h2{margin-bottom:var(--spacing-md);text-align:center}.calendar-container{display:flex;justify-content:center;margin:var(--spacing-lg) 0}.react-calendar{background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:var(--font-family);color:var(--text-primary);width:100%;max-width:500px}.react-calendar__navigation button{color:var(--text-primary);font-weight:600;font-size:1rem;background:transparent;border-radius:var(--radius-sm)}.react-calendar__navigation button:enabled:hover{background:var(--bg-card-hover)}.react-calendar__navigation button:disabled{background:transparent;opacity:.5;cursor:not-allowed}.react-calendar__tile{color:var(--text-secondary);padding:1rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.react-calendar__tile:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary)}.react-calendar__tile--active{background:var(--primary-gradient)!important;color:#fff!important}.react-calendar__tile:disabled{background:var(--bg-card);color:var(--text-muted);opacity:.5;cursor:not-allowed}.react-calendar__month-view__days__day--weekend{color:var(--secondary)}.full-date{background:#f443!important;color:#f44!important;border:1px solid rgba(255,68,68,.5)!important}.holiday-date{background:var(--bg-card)!important;color:var(--text-muted)!important;opacity:.5;cursor:not-allowed}.calendar-legend{display:flex;gap:var(--spacing-lg);justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--border)}.legend-color.disabled{background:var(--bg-card);opacity:.5}.legend-color.available{background:var(--primary)}.legend-color.full1{background:#ff444480;border-color:#f44}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md);margin:var(--spacing-lg) 0}.time-slot{padding:1rem;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.time-slot:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:translateY(-2px)}.time-slot.selected{background:var(--primary-gradient);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-glow)}.appointment-info{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;gap:var(--spacing-lg);justify-content:center}.appointment-info p{margin:0;color:var(--text-secondary)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:space-between;margin-top:var(--spacing-lg)}.form-hint{display:block;margin-top:.25rem;font-size:.875rem;color:var(--text-muted)}.success-card{max-width:600px;margin:0 auto;padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center}.success-icon{font-size:5rem;margin-bottom:var(--spacing-md)}.success-card h2{margin-bottom:var(--spacing-lg)}.appointment-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;text-align:left}.summary-item{padding:.75rem 0;border-bottom:1px solid var(--border);color:var(--text-secondary)}.summary-item:last-child{border-bottom:none}.summary-item strong{color:var(--text-primary);margin-right:.5rem}.success-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg);flex-wrap:wrap}@media (max-width: 768px){.appointment-steps{padding:0 var(--spacing-sm)}.step-label{font-size:.75rem}.step-number{width:40px;height:40px;font-size:1rem}.step-line{max-width:50px;margin:0 .5rem}.appointment-card{padding:var(--spacing-lg)}.react-calendar{max-width:100%;padding:var(--spacing-sm)}.react-calendar__tile{padding:.75rem .5rem;font-size:.875rem}.react-calendar__navigation button{min-height:44px;font-size:.875rem}.time-slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.time-slot{padding:.875rem;font-size:1rem;min-height:44px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.appointment-info{flex-direction:column;gap:var(--spacing-sm)}.success-actions{flex-direction:column}.success-actions .btn{width:100%}}@media (max-width: 375px){.appointment-card{padding:var(--spacing-md)}.react-calendar__tile{padding:.5rem .25rem;font-size:.8125rem}.time-slots{grid-template-columns:1fr}.step-label{font-size:.6875rem}.step-number{width:36px;height:36px;font-size:.875rem}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--bg-primary)}.login-container{width:100%;max-width:450px}.login-card{padding:var(--spacing-2xl);border-radius:var(--radius-xl);animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.login-header h1{font-size:2rem;margin-bottom:var(--spacing-sm)}.login-header p{color:var(--text-muted);margin:0}.login-form{margin-top:var(--spacing-lg)}.login-footer{text-align:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.login-footer a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.login-footer a:hover{color:var(--primary)}@media (max-width: 480px){.login-card{padding:var(--spacing-lg)}}.admin-dashboard{min-height:100vh;padding-bottom:var(--spacing-2xl);background:var(--bg-primary)}.admin-header{padding:var(--spacing-lg) 0;margin-bottom:var(--spacing-xl);background:var(--bg-card);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-content{display:flex;justify-content:space-between;align-items:center}.admin-header h1{font-size:2rem;margin-bottom:.25rem}.admin-header p{font-size:.9rem;color:var(--text-secondary)}.admin-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xs);background:var(--bg-card);border-radius:var(--radius-full);border:1px solid var(--border);width:fit-content}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-normal)}.tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.tab-btn.active{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-glow)}.admin-split-layout{display:flex;gap:var(--spacing-xl);align-items:flex-start}.admin-calendar-side{flex:0 0 400px;position:sticky;top:20px}.admin-list-side{flex:1}.card-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.card-header-flex h2{font-size:1.5rem;margin-bottom:0}.calendar-container{padding:var(--spacing-sm);background:transparent}.react-calendar{width:100%!important;border:none!important;font-family:inherit!important;background:transparent!important;color:var(--text-primary)!important}.react-calendar__navigation{margin-bottom:var(--spacing-md)!important}.react-calendar__navigation button{min-width:44px;background:none;font-size:1rem;font-weight:700;color:var(--text-primary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.react-calendar__navigation button:enabled:hover{background-color:var(--bg-card-hover)!important}.react-calendar__month-view__weekdays{text-transform:uppercase;font-weight:700;font-size:.7rem;color:var(--text-muted)}.react-calendar__tile{padding:1.25em .5em!important;border-radius:var(--radius-lg)!important;transition:all var(--transition-fast)!important;position:relative;border:2px solid transparent!important;color:var(--text-primary)!important}.react-calendar__month-view__days__day--neighboringMonth{color:var(--text-muted)!important}.react-calendar__tile:enabled:hover{background-color:var(--bg-card-hover)!important;border-color:var(--border)!important}.react-calendar__tile--now{background:#667eea1a!important;color:var(--primary)!important;border:1px solid var(--primary)!important}.react-calendar__tile--active{background:var(--primary-gradient)!important;color:#fff!important;box-shadow:var(--shadow-glow)}.holiday-tile{background:#ff6b6b1a!important;color:var(--danger)!important;border:1px dashed var(--danger)!important}.booked-tile{background:#ffffff08!important}.busy-tile{background:#667eea0d!important}.full-tile{background:#00f2fe0d!important;color:var(--success)!important}.tile-appointment-count{position:absolute;top:6px;right:6px;background:var(--secondary-gradient);color:#fff;font-size:.65rem;min-width:18px;height:18px;padding:0 4px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 2px 8px #f5576c66}.react-calendar__tile--active .tile-appointment-count{background:#fff;color:var(--secondary);box-shadow:none}.appointments-table{width:100%;border-collapse:separate;border-spacing:0 8px}.appointments-table th{padding:var(--spacing-sm);text-align:left;font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase}.appointments-table tr td{background:#ffffff05;padding:var(--spacing-md);border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:all var(--transition-fast)}.appointments-table tr td:first-child{border-left:1px solid var(--border);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.appointments-table tr td:last-child{border-right:1px solid var(--border);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.appointments-table tr:hover td{background:#ffffff0d;border-color:var(--primary)}.wa-link{color:#25d366!important;font-weight:600;display:flex;align-items:center;gap:.5rem}.wa-link:hover{text-decoration:underline!important}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0000001a;border-radius:var(--radius-md);margin-top:var(--spacing-lg)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.legend-color{width:10px;height:10px;border-radius:50%}.legend-color.booked{background:var(--border)}.legend-color.holiday{background:var(--danger)}.legend-color.selected{background:var(--primary)}.badge{padding:.4rem .8rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;background:var(--bg-card);border:1px solid var(--border)}.badge-info{color:var(--primary);border-color:var(--primary);background:#667eea1a}.patient-info{display:flex;flex-direction:column}.patient-name{font-weight:700;color:var(--text-primary);font-size:.95rem}.patient-age{font-size:.75rem;color:var(--text-muted)}.stats-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.empty-state{padding:var(--spacing-2xl) 0;text-align:center}.empty-state p{font-size:1rem;color:var(--text-muted)}.holidays-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.holiday-item-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.holiday-item-card:hover{border-color:var(--danger);transform:translate(4px);background:#ff6b6b0d}.holiday-info{display:flex;flex-direction:column;gap:4px}.holiday-date-text{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:1rem}.holiday-note-text{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem}.holiday-info .icon{font-size:1rem;opacity:.8}.btn-delete-holiday{background:#ff6b6b1a;color:var(--danger);border:1px solid rgba(255,107,107,.2);width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.btn-delete-holiday:hover{background:var(--danger);color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.selected-dates-list{min-height:80px;background:#0000001a;border:1px dashed var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.badge-date{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-gradient);color:#fff;border:none;font-weight:600}.btn-remove-pill{background:none;border:none;color:#fffc;font-size:1.2rem;line-height:1;cursor:pointer;padding:0 2px;display:flex;align-items:center;justify-content:center}.btn-remove-pill:hover{color:#fff}.empty-selection{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}@media (max-width: 1024px){.admin-split-layout{flex-direction:column;gap:var(--spacing-lg)}.admin-calendar-side,.admin-list-side{width:100%;flex:none;position:static}.admin-calendar-side .card,.admin-list-side .card{padding:var(--spacing-md);max-width:450px;margin:0 auto;width:100%}.react-calendar{width:100%}}@media (max-width: 768px){:root{--spacing-lg: 1.25rem;--spacing-xl: 1.5rem}.admin-header{padding:var(--spacing-sm) 0}.header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.admin-header h1{font-size:1.5rem}.admin-tabs{width:100%;overflow-x:auto;white-space:nowrap;padding:4px;border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:.6rem 1.2rem;font-size:.85rem}.appointments-table,.appointments-table thead,.appointments-table tbody,.appointments-table th,.appointments-table td,.appointments-table tr{display:block}.appointments-table thead{display:none}.appointments-table tr.appointment-row{margin-bottom:var(--spacing-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appointments-table tr.appointment-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-gradient)}.appointments-table tr td{padding:0!important;border:none!important;background:transparent!important;margin-bottom:var(--spacing-xs)}.time-cell{display:inline-flex!important;background:var(--primary-gradient)!important;color:#fff!important;padding:4px 12px!important;border-radius:var(--radius-full)!important;font-size:.75rem!important;font-weight:800!important;margin-bottom:var(--spacing-sm)!important;box-shadow:var(--shadow-glow)}.patient-main-info{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.patient-name{font-size:1.1rem!important;font-weight:800!important;color:var(--text-primary)!important}.patient-age-badge{font-size:.7rem;padding:2px 8px;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary)}.address-cell{display:flex!important;align-items:flex-start;gap:.5rem;color:var(--text-secondary)!important;font-size:.85rem!important;line-height:1.4!important}.address-cell:before{content:"📍";font-size:.9rem}.action-cell{margin-top:var(--spacing-md)!important;margin-bottom:0!important}.wa-link{width:100%;height:48px;justify-content:center;background:#25d366!important;color:#fff!important;border-radius:var(--radius-md)!important;font-weight:700!important;font-size:.95rem!important;box-shadow:0 4px 12px #25d36633}.wa-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #25d3664d}.stats-footer{flex-direction:row;justify-content:space-between;gap:var(--spacing-xs)}}@media (max-width: 480px){.container{padding:0 var(--spacing-sm)}.admin-header h1{font-size:1.35rem}.card-header-flex{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.card-header-flex h2,.card-header-flex h3{font-size:1.2rem}.react-calendar__tile{padding:1em .25em!important;font-size:.9rem}.table-container{margin:0 -15px;padding:0 15px}.address-cell{min-width:150px;font-size:.8rem}.patient-age{font-size:.7rem}}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--dark-gradient: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);--primary: #667eea;--primary-dark: #5568d3;--secondary: #f5576c;--success: #00f2fe;--warning: #ffd93d;--danger: #ff6b6b;--bg-primary: #0f0f1e;--bg-secondary: #1a1a2e;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: #b8b8d1;--text-muted: #6b6b8c;--border: rgba(255, 255, 255, .1);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(102, 126, 234, .3);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(245,87,108,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm)}h1{font-size:clamp(2rem,5vw,3.5rem);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{color:var(--text-secondary);margin-bottom:var(--spacing-sm)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.875rem 1.75rem;border:none;border-radius:var(--radius-full);font-size:1rem;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #667eea80}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#ff5252;transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal)}.card:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.glass{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-md)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:.875rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:1rem;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.form-textarea{resize:vertical;min-height:100px}.spinner{width:40px;height:40px;border:4px solid var(--bg-card);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border-left:4px solid}.alert-success{background:#00f2fe1a;border-color:var(--success);color:var(--success)}.alert-error{background:#ff6b6b1a;border-color:var(--danger);color:var(--danger)}.alert-warning{background:#ffd93d1a;border-color:var(--warning);color:var(--warning)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.text-center{text-align:center}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-in{animation:slideIn .5s ease-out}@media (max-width: 768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem}.container{padding:0 var(--spacing-sm)}.btn{padding:.75rem 1.5rem;font-size:.9375rem}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}
