@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:wght@400;500;600;700&display=swap";.navbar{z-index:1000;transition:all var(--transition-base);padding:1rem 0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);background:#fffffff2;padding:.6rem 0;box-shadow:0 1px 20px #00000014}.navbar-inner{max-width:var(--container-max);padding:0 var(--container-padding);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-logo{z-index:1001;align-items:center;gap:.5rem;display:flex}.navbar-logo img{width:auto;height:45px;transition:var(--transition-base)}.navbar.scrolled .navbar-logo img{height:38px}.navbar-links{align-items:center;gap:.25rem;display:flex}.navbar-links a{color:var(--white);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:.5rem 1rem;font-size:.9rem;font-weight:500;position:relative}.navbar.scrolled .navbar-links a{color:var(--gray-700)}.navbar-links a:hover,.navbar-links a.active{color:var(--primary);background:#0e749014}.navbar-links a:after{content:"";background:var(--accent);border-radius:var(--radius-full);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.navbar-links a:hover:after,.navbar-links a.active:after{width:60%}.navbar-cta{align-items:center;gap:.75rem;display:flex}.navbar-cta .btn{padding:.6rem 1.5rem;font-size:.85rem}.navbar-whatsapp{color:#fff;border-radius:var(--radius-full);width:40px;height:40px;transition:all var(--transition-base);background:#25d366;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 10px #25d3664d}.navbar-whatsapp:hover{transform:scale(1.1);box-shadow:0 4px 20px #25d36680}.menu-toggle{z-index:1001;background:0 0;flex-direction:column;gap:5px;padding:.5rem;display:none}.menu-toggle span{background:var(--white);border-radius:var(--radius-full);width:24px;height:2px;transition:all var(--transition-base);display:block}.navbar.scrolled .menu-toggle span{background:var(--gray-700)}.menu-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.menu-toggle{display:flex}.navbar-links{background:var(--white);width:80%;max-width:320px;height:100vh;transition:right var(--transition-slow);flex-direction:column;align-items:flex-start;gap:.25rem;padding:5rem 1.5rem 2rem;position:fixed;top:0;right:-100%;box-shadow:-10px 0 40px #00000026}.navbar-links.open{right:0}.navbar-links a{border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--gray-700)!important}.navbar-links a:hover{background:var(--primary-50);color:var(--primary)!important}.navbar-cta{display:none}.navbar-cta-mobile{border-top:1px solid var(--gray-200);flex-direction:column;gap:.75rem;width:100%;margin-top:1rem;padding-top:1rem;display:flex}.mobile-overlay{z-index:999;background:#0006;display:none;position:fixed;inset:0}.mobile-overlay.open{display:block}}@media (width>=769px){.navbar-cta-mobile{display:none}}.footer{background:linear-gradient(135deg, var(--gray-900) 0%, #0c2d3a 100%);color:var(--gray-300);padding-top:var(--space-3xl);position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent), var(--primary));height:3px;position:absolute;top:0;left:0;right:0}.footer-grid{gap:var(--space-xl);max-width:var(--container-max);padding:0 var(--container-padding);grid-template-columns:1fr;margin:0 auto;display:grid}@media (width>=640px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width>=768px){.footer-grid{gap:var(--space-2xl);grid-template-columns:2fr 1fr 1fr 1fr}}.footer-brand .footer-logo{margin-bottom:var(--space-md);align-items:center;gap:.75rem;display:flex}.footer-brand .footer-logo img{filter:brightness(0)invert();width:auto;height:50px}.footer-brand p{color:var(--gray-400);margin-bottom:var(--space-lg);font-size:.9rem;line-height:1.7}.footer-social{gap:.75rem;display:flex}.footer-social a{border-radius:var(--radius-md);width:40px;height:40px;color:var(--gray-300);transition:all var(--transition-base);background:#ffffff14;border:1px solid #ffffff1f;justify-content:center;align-items:center;display:flex}.footer-social a:hover{background:var(--primary);border-color:var(--primary);color:var(--white);transform:translateY(-3px)}.footer-social a.whatsapp:hover{background:#25d366;border-color:#25d366}.footer-social a.facebook:hover{background:#1877f2;border-color:#1877f2}.footer-column h4{color:var(--white);margin-bottom:var(--space-lg);padding-bottom:.75rem;font-size:1rem;font-weight:700;position:relative}.footer-column h4:after{content:"";background:var(--accent);border-radius:var(--radius-full);width:30px;height:2px;position:absolute;bottom:0;left:0}.footer-column ul{flex-direction:column;gap:.6rem;display:flex}.footer-column ul li a{color:var(--gray-400);transition:all var(--transition-fast);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.footer-column ul li a:hover{color:var(--white);transform:translate(4px)}.footer-contact-item{margin-bottom:var(--space-md);align-items:flex-start;gap:.75rem;display:flex}.footer-contact-item .icon{width:36px;height:36px;color:var(--primary-light);border-radius:var(--radius-md);background:#0e749026;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.footer-contact-item .info{color:var(--gray-400);font-size:.9rem;line-height:1.5}.footer-contact-item .info strong{color:var(--gray-200);margin-bottom:2px;display:block}.footer-bottom{margin-top:var(--space-2xl);padding:var(--space-lg) 0;border-top:1px solid #ffffff14}.footer-bottom-inner{max-width:var(--container-max);padding:0 var(--container-padding);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;display:flex}.footer-bottom p{color:var(--gray-500);font-size:.8rem}.footer-bottom p span{color:var(--accent);font-weight:600}.whatsapp-float{z-index:999;color:#fff;border-radius:var(--radius-full);width:56px;height:56px;transition:all var(--transition-base);background:#25d366;justify-content:center;align-items:center;animation:2s ease-in-out infinite pulse-glow-green;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #25d36666}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px #25d36699}@keyframes pulse-glow-green{0%,to{box-shadow:0 4px 20px #25d36666}50%{box-shadow:0 4px 30px #25d366b3}}.back-to-top{z-index:998;background:var(--primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;transition:all var(--transition-base);opacity:0;pointer-events:none;border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:1.5rem;right:5rem;transform:translateY(20px);box-shadow:0 4px 15px #0e749066}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--primary-dark);transform:translateY(-3px);box-shadow:0 6px 20px #0e749080}.hero{height:100vh;min-height:600px;max-height:900px;position:relative;overflow:hidden}.hero-slides{width:100%;height:100%;position:relative}.hero-slide{opacity:0;width:100%;height:100%;transition:opacity 1s ease-in-out;position:absolute;top:0;left:0}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(135deg,#083344d9 0%,#0e749099 50%,#e8a8304d 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{text-align:center;z-index:2;width:90%;max-width:700px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);color:var(--white);margin-bottom:var(--space-lg);background:#ffffff1f;border:1px solid #fff3;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;animation:.8s ease-out fadeInDown;display:inline-flex}.hero-title{font-family:var(--font-serif);color:var(--white);margin-bottom:var(--space-md);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;line-height:1.15;animation:.8s ease-out .2s both fadeInUp}.hero-title span{color:var(--accent-light)}.hero-subtitle{color:#ffffffd9;margin-bottom:var(--space-xl);font-size:clamp(.95rem,2vw,1.15rem);line-height:1.7;animation:.8s ease-out .4s both fadeInUp}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;animation:.8s ease-out .6s both fadeInUp;display:flex}.hero-dots{z-index:3;gap:.5rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-dot{border-radius:var(--radius-full);cursor:pointer;width:10px;height:10px;transition:all var(--transition-base);background:#fff6;border:none;padding:0}.hero-dot.active{background:var(--accent);width:32px}.about{background:var(--gray-50);position:relative;overflow:hidden}.about:before{content:"";background:radial-gradient(circle,#0e74900f,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-100px}.about-grid{gap:var(--space-2xl);grid-template-columns:1fr;align-items:center;display:grid}@media (width>=768px){.about-grid{gap:var(--space-3xl);grid-template-columns:1fr 1fr}}.about-image{position:relative}.about-image-wrapper{border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);position:relative;overflow:hidden}.about-image-wrapper img{object-fit:cover;width:100%;height:400px}.about-experience-badge{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;padding:1.25rem 1.5rem;animation:3s ease-in-out infinite float;position:absolute;bottom:-20px;right:-10px}@media (width<=767px){.about-experience-badge{bottom:-15px;right:10px}}.about-experience-badge .number{font-size:2.25rem;font-weight:800;line-height:1;display:block}.about-experience-badge .label{text-transform:uppercase;letter-spacing:.08em;opacity:.9;font-size:.75rem;font-weight:600}.about-content .section-badge{margin-bottom:var(--space-md)}.about-content .section-title{margin-bottom:var(--space-sm)}.doctor-credentials{margin-top:var(--space-md);margin-bottom:var(--space-lg);background:linear-gradient(135deg, var(--primary-50), #0e74900f);border-left:3px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1rem 1.25rem}.doctor-name{color:var(--gray-900);margin-bottom:.15rem;font-size:1.15rem;font-weight:700}.doctor-qualifications{color:var(--primary);letter-spacing:.03em;margin-bottom:.1rem;font-size:.85rem;font-weight:600}.doctor-title{color:var(--gray-600);font-size:.88rem;font-weight:500}.about-text{color:var(--gray-600);margin-bottom:var(--space-lg);font-size:.95rem;line-height:1.8}.about-features{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.about-feature{align-items:center;gap:.6rem;display:flex}.about-feature .icon{background:var(--primary-50);width:36px;height:36px;color:var(--primary);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.about-feature span{color:var(--gray-700);font-size:.88rem;font-weight:500}.services{background:var(--white);position:relative}.services-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (width>=640px){.services-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.services-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr)}}.service-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;transition:transform var(--transition-base);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{box-shadow:var(--shadow-xl);border-color:#0000;transform:translateY(-6px)}.service-icon{background:linear-gradient(135deg, var(--primary-50), #0e74901a);width:64px;height:64px;color:var(--primary);border-radius:var(--radius-lg);margin:0 auto var(--space-md);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.service-card:hover .service-icon{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--white);transform:scale(1.1)}.service-card h3{color:var(--gray-900);margin-bottom:var(--space-sm);font-size:1.05rem;font-weight:700}.service-card p{color:var(--gray-500);font-size:.88rem;line-height:1.6}.treatments{background:linear-gradient(135deg, var(--primary-900) 0%, #0c3d4d 100%);color:var(--white);position:relative;overflow:hidden}.treatments:before{content:"";background:radial-gradient(circle,#e8a8301a,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.treatments .section-badge{color:var(--accent-light);background:#e8a83026}.treatments .section-title{color:var(--white)}.treatments .section-subtitle{color:#ffffffb3}.treatments .accent-line{background:linear-gradient(90deg, var(--accent), var(--accent-light))}.treatments-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=640px){.treatments-grid{grid-template-columns:1fr 1fr}}@media (width>=1024px){.treatments-grid{grid-template-columns:repeat(4,1fr)}}.treatment-card{border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base);background:#ffffff0f;border:1px solid #ffffff1a}.treatment-card:hover{background:#ffffff1f;border-color:#e8a8304d;transform:translateY(-6px);box-shadow:0 20px 40px #0003}.treatment-icon{width:60px;height:60px;color:var(--accent-light);border-radius:var(--radius-lg);margin:0 auto var(--space-md);transition:all var(--transition-base);background:#e8a83026;justify-content:center;align-items:center;display:flex}.treatment-card:hover .treatment-icon{background:var(--accent);color:var(--white);transform:scale(1.1)rotate(5deg)}.treatment-card h3{color:var(--white);margin-bottom:var(--space-sm);font-size:1rem;font-weight:700}.treatment-card p{color:#ffffffa6;font-size:.85rem;line-height:1.6}.cta-section{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);padding:var(--space-3xl) 0;text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";background:radial-gradient(circle,#ffffff14,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;left:-20%}.cta-section:after{content:"";background:radial-gradient(circle,#e8a83026,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-50%;right:-20%}.cta-content{z-index:1;position:relative}.cta-title{font-family:var(--font-serif);color:var(--white);margin-bottom:var(--space-md);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700}.cta-text{color:#ffffffd9;margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto;font-size:1.05rem}.cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.appointment-page{background:var(--gray-50);min-height:100vh;padding-top:80px}.appointment-hero{background:linear-gradient(135deg, var(--primary-900) 0%, var(--primary-dark) 50%, var(--primary) 100%);padding:var(--space-3xl) 0;text-align:center;position:relative;overflow:hidden}.appointment-hero:before{content:"";background:radial-gradient(circle,#e8a8301a,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-30%}.appointment-hero-content{z-index:1;position:relative}.appointment-hero h1{font-family:var(--font-serif);color:var(--white);margin-bottom:var(--space-sm);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.appointment-hero p{color:#fffc;font-size:1rem}.appointment-container{max-width:700px;padding:var(--space-2xl) var(--container-padding);z-index:2;margin:-2rem auto 0;position:relative}.appointment-card{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);animation:.5s ease-out fadeInUp;overflow:hidden}.appointment-tabs{background:var(--gray-100);display:flex}.appointment-tab{color:var(--gray-500);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:600;display:flex;position:relative}.appointment-tab.active{color:var(--primary);background:var(--white)}.appointment-tab.active:after{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;position:absolute;top:0;left:0;right:0}.appointment-tab:hover:not(.active){color:var(--gray-700);background:#ffffff80}.appointment-form-content{padding:var(--space-xl)}.form-group{margin-bottom:var(--space-lg)}.form-label{color:var(--gray-700);margin-bottom:.4rem;font-size:.88rem;font-weight:600;display:block}.form-label .required{color:var(--danger);margin-left:2px}.form-input{width:100%;color:var(--gray-800);background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-lg);transition:all var(--transition-fast);padding:.8rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 4px #0e74901a}.form-input::placeholder{color:var(--gray-400)}.form-input.error{border-color:var(--danger)}.form-error{color:var(--danger);align-items:center;gap:.3rem;margin-top:.3rem;font-size:.8rem;display:flex}.form-input[type=date]{cursor:pointer}.time-slots-label{color:var(--gray-700);margin-bottom:var(--space-sm);font-size:.88rem;font-weight:600}.time-slots{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.time-slot-card{cursor:pointer;position:relative}.time-slot-card input[type=radio]{opacity:0;width:0;height:0;position:absolute}.time-slot-content{background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-lg);transition:all var(--transition-base);flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem 1rem;display:flex}.time-slot-card input:checked+.time-slot-content{border-color:var(--primary);background:var(--primary-50);box-shadow:0 0 0 4px #0e74901a}.time-slot-card:hover .time-slot-content{border-color:var(--primary-light)}.time-slot-content .slot-label{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.time-slot-content .slot-time{color:var(--gray-800);font-size:1rem;font-weight:700}.time-slot-content .slot-period{color:var(--gray-500);font-size:.78rem}.working-days-note{background:var(--accent-50);border-radius:var(--radius-md);color:var(--gray-600);margin-top:var(--space-md);border:1px solid #e8a83033;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.working-days-note svg{color:var(--accent);flex-shrink:0}.form-submit{width:100%;margin-top:var(--space-md)}.appointment-success{text-align:center;padding:var(--space-3xl) var(--space-xl)}.success-icon{background:linear-gradient(135deg, var(--success), #059669);width:80px;height:80px;color:var(--white);border-radius:var(--radius-full);margin:0 auto var(--space-lg);animation:scaleIn .5s var(--transition-spring);justify-content:center;align-items:center;display:flex}.appointment-success h3{color:var(--gray-900);margin-bottom:var(--space-sm);font-size:1.35rem;font-weight:700}.appointment-success p{color:var(--gray-500);margin-bottom:var(--space-xl)}.appointment-success .patient-id{background:var(--primary-50);border:1px dashed var(--primary);border-radius:var(--radius-lg);color:var(--primary);margin-bottom:var(--space-xl);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;display:inline-flex}.appointment-info{gap:var(--space-lg);max-width:700px;margin:0 auto var(--space-2xl);padding:0 var(--container-padding);grid-template-columns:1fr;display:grid}@media (width>=640px){.appointment-info{grid-template-columns:1fr 1fr 1fr}}.info-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.info-card .icon{background:var(--primary-50);width:44px;height:44px;color:var(--primary);border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-card .text h4{color:var(--gray-800);font-size:.85rem;font-weight:700}.info-card .text p{color:var(--gray-500);font-size:.8rem}.admin-login{min-height:100vh;padding:var(--space-lg);background:linear-gradient(135deg,#0e7490 0%,#0c5e75 50%,#083344 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.admin-login:before{content:"";background:radial-gradient(circle,#e8a83026,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:20%;left:10%}.admin-login:after{content:"";background:radial-gradient(circle,#ffffff1a,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:10%;right:10%}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);width:100%;max-width:420px;padding:var(--space-2xl);z-index:1;background:#fffffff2;border:1px solid #fffc;animation:.5s ease-out fadeInUp;position:relative;box-shadow:0 25px 50px -12px #00000040}.login-header{text-align:center;margin-bottom:var(--space-xl)}.login-header img{height:60px;margin:0 auto var(--space-lg)}.login-header h1{color:var(--gray-900);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.login-header p{color:var(--gray-500);font-size:.9rem}.login-form .form-group{margin-bottom:var(--space-lg)}.login-form .form-label{color:var(--gray-700)}.login-form .form-input{background:var(--gray-50);border:2px solid var(--gray-200);color:var(--gray-800)}.login-form .form-input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 4px #0e749026}.login-form .form-input::placeholder{color:var(--gray-400)}.login-error{border-radius:var(--radius-md);color:var(--danger);margin-bottom:var(--space-lg);background:#ef44441a;border:1px solid #ef444433;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.admin-layout{background:#f1f5f9;min-height:100vh;display:flex}.admin-sidebar{border-right:1px solid var(--gray-200);z-index:100;width:260px;transition:transform var(--transition-base);background:#fff;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 10px #00000008}.admin-sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}@media (width<=768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-overlay.open{display:block}}.sidebar-header{border-bottom:1px solid var(--gray-200);padding:1.25rem 1.5rem}.sidebar-logo{align-items:center;gap:.75rem;display:flex}.sidebar-logo img{height:38px}.sidebar-logo span{color:var(--primary);letter-spacing:.02em;font-size:.9rem;font-weight:800}.sidebar-nav{padding:var(--space-md);flex-direction:column;flex:1;gap:.35rem;display:flex}.sidebar-link{color:var(--gray-600);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.sidebar-link:hover{color:var(--primary);background:var(--primary-50)}.sidebar-link.active{color:var(--white);background:linear-gradient(135deg, var(--primary), var(--primary-dark));box-shadow:0 4px 12px #0e749040}.sidebar-link.active .sidebar-icon{color:var(--white)}.sidebar-section-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.1em;padding:1rem 1rem .5rem;font-size:.7rem;font-weight:700}.sidebar-footer{border-top:1px solid var(--gray-200);background:var(--gray-50);padding:1rem 1.25rem}.sidebar-user{align-items:center;gap:.75rem;display:flex}.sidebar-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:38px;height:38px;color:var(--white);border-radius:var(--radius-full);justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-info .name{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.sidebar-user-info .role{color:var(--gray-500);text-transform:capitalize;font-size:.72rem}.sidebar-logout{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.4rem}.sidebar-logout:hover{color:var(--danger);background:#ef44441a}.admin-main{flex:1;min-height:100vh;margin-left:260px}@media (width<=768px){.admin-main{margin-left:0}}.admin-header{border-bottom:1px solid var(--gray-200);z-index:50;background:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #00000005}.admin-header-left{align-items:center;gap:1rem;display:flex}.admin-menu-btn{color:var(--gray-600);cursor:pointer;background:0 0;border:none;padding:.4rem;display:none}@media (width<=768px){.admin-menu-btn{display:flex}}.admin-page-title{color:var(--gray-900);font-size:1.25rem;font-weight:800}.admin-content{padding:1.75rem 2rem}.dashboard-stats{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem;display:grid}@media (width>=480px){.dashboard-stats{grid-template-columns:1fr 1fr}}@media (width>=1024px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}.stat-card{border:1px solid var(--gray-200);border-radius:var(--radius-xl);transition:all var(--transition-base);box-shadow:var(--shadow-sm);background:#fff;align-items:flex-start;gap:1rem;padding:1.35rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-200);transform:translateY(-3px)}.stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.primary{background:var(--primary-50);color:var(--primary)}.stat-icon.accent{background:var(--accent-50);color:var(--accent-dark)}.stat-icon.success{color:var(--success);background:#ecfdf5}.stat-icon.info{color:var(--info);background:#eff6ff}.stat-info h3{color:var(--gray-900);margin-bottom:.25rem;font-size:1.85rem;font-weight:800;line-height:1}.stat-info p{color:var(--gray-500);font-size:.85rem;font-weight:500}.stat-info .trend{border-radius:var(--radius-full);align-items:center;gap:.25rem;margin-top:.35rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.stat-info .trend.up{color:var(--success);background:#d1fae5}.admin-table-card{border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.admin-table-header{border-bottom:1px solid var(--gray-200);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.admin-table-header h3{color:var(--gray-900);font-size:1.05rem;font-weight:700}.admin-search{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);align-items:center;gap:.5rem;min-width:220px;padding:.55rem .85rem;display:flex}.admin-search input{color:var(--gray-800);background:0 0;border:none;width:100%;font-size:.85rem}.admin-search input::placeholder{color:var(--gray-400)}.admin-search svg{color:var(--gray-400);flex-shrink:0}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;text-align:left;background:var(--gray-50);border-bottom:1px solid var(--gray-200);white-space:nowrap;padding:.85rem 1.5rem;font-size:.78rem;font-weight:700}.admin-table td{color:var(--gray-700);border-bottom:1px solid var(--gray-100);white-space:nowrap;padding:.95rem 1.5rem;font-size:.9rem}.admin-table tr:hover td{background:var(--gray-50)}.admin-table tr.selected-row td{background:#f0fdfa}.admin-table .patient-name{color:var(--gray-900);font-weight:700}.status-badge{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:.3rem;padding:.35rem .85rem;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge.pending{color:#d97706;background:#fef3c7}.status-badge.confirmed{color:#2563eb;background:#dbeafe}.status-badge.completed{color:#059669;background:#d1fae5}.status-badge.cancelled{color:#dc2626;background:#fee2e2}.status-badge.needs_approval{color:#7c3aed;background:#f3e8ff}.action-btns{gap:.4rem;display:flex}.action-btn{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md);width:34px;height:34px;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-btn:hover{background:var(--primary-50);color:var(--primary);border-color:var(--primary-200)}.action-btn.danger:hover{color:var(--danger);background:#fee2e2;border-color:#fca5a5}.admin-filters{flex-wrap:wrap;gap:.4rem;display:flex}.admin-filter-btn{color:var(--gray-600);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);padding:.45rem .95rem;font-size:.82rem;font-weight:600}.admin-filter-btn:hover,.admin-filter-btn.active{color:var(--white);background:var(--primary);border-color:var(--primary)}.patient-detail-header{border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.75rem;display:flex}.patient-avatar-lg{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:68px;height:68px;color:var(--white);border-radius:var(--radius-xl);flex-shrink:0;justify-content:center;align-items:center;font-size:1.75rem;font-weight:800;display:flex;box-shadow:0 4px 12px #0e749033}.patient-info-main{flex:1;min-width:0}.patient-info-main h2{color:var(--gray-900);margin-bottom:.35rem;font-size:1.35rem;font-weight:800}.patient-info-main .patient-meta{flex-wrap:wrap;gap:1.25rem;display:flex}.patient-info-main .patient-meta span{color:var(--gray-600);align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.patient-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}.patient-summary-cards{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}@media (width<=640px){.patient-summary-cards{grid-template-columns:1fr}}.patient-summary-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:#fff;padding:1.25rem}.patient-summary-card .value{color:var(--gray-900);font-size:1.65rem;font-weight:800}.patient-summary-card .label{color:var(--gray-500);margin-top:.2rem;font-size:.8rem;font-weight:600}.visit-timeline{padding:1.5rem}.visit-item{border-bottom:1px solid var(--gray-100);gap:1.25rem;padding:1.25rem 0;display:flex}.visit-item:last-child{border-bottom:none}.visit-dot{background:var(--primary);border-radius:var(--radius-full);flex-shrink:0;width:12px;height:12px;margin-top:6px;position:relative}.visit-dot:after{content:"";background:var(--gray-200);width:2px;height:calc(100% + 20px);position:absolute;top:16px;left:50%;transform:translate(-50%)}.visit-item:last-child .visit-dot:after{display:none}.visit-content{flex:1}.visit-date{color:var(--gray-500);margin-bottom:.3rem;font-size:.8rem;font-weight:600}.visit-treatment{color:var(--gray-900);margin-bottom:.25rem;font-size:.95rem;font-weight:700}.visit-notes{color:var(--gray-600);margin-bottom:.35rem;font-size:.85rem;line-height:1.5}.visit-charges{color:var(--accent-dark);font-size:.9rem;font-weight:800}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{border-radius:var(--radius-2xl);width:100%;max-width:520px;box-shadow:var(--shadow-2xl);background:#fff;animation:.3s ease-out scaleIn;overflow:hidden}.modal-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.modal-header h3{color:var(--gray-900);font-size:1.1rem;font-weight:700}.modal-close{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:.4rem}.modal-close:hover{color:var(--gray-700);background:var(--gray-200)}.modal-body{padding:1.75rem}.modal-body .form-input{background:var(--gray-50);border:2px solid var(--gray-200);color:var(--gray-900)}.modal-body .form-input:focus{border-color:var(--primary);background:var(--white)}.modal-body textarea.form-input{resize:vertical;min-height:80px}.modal-footer{border-top:1px solid var(--gray-200);background:var(--gray-50);justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;display:flex}.patient-id-card-printable{color:#fff;border-radius:var(--radius-xl);background:linear-gradient(135deg,#0e7490 0%,#0c5e75 100%);padding:1.75rem;position:relative;overflow:hidden;box-shadow:0 10px 25px #0e74904d}.patient-id-card-printable:after{content:"";background:radial-gradient(circle,#e8a83040,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-50px}.card-header{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.card-header img{filter:brightness(0)invert();height:40px}.card-clinic-title{text-align:right}.card-clinic-title h4{margin-bottom:.1rem;font-size:.95rem;font-weight:800}.card-clinic-title p{opacity:.85;font-size:.72rem}.card-body-info{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-patient-name{color:var(--white);margin-bottom:.35rem;font-size:1.35rem;font-weight:800}.card-patient-id-tag{background:var(--accent);color:var(--gray-900);border-radius:var(--radius-md);letter-spacing:.05em;margin-bottom:.75rem;padding:.3rem .8rem;font-size:.85rem;font-weight:800;display:inline-block}.card-details-grid{opacity:.9;font-size:.82rem;line-height:1.6}.card-qr-placeholder{border-radius:var(--radius-md);color:#0e7490;text-align:center;background:#fff;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:75px;height:75px;padding:6px;font-size:.65rem;font-weight:800;display:flex}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state svg{color:var(--gray-400);margin-bottom:1rem}.empty-state h4{color:var(--gray-700);margin-bottom:.3rem;font-size:1.05rem;font-weight:700}.empty-state p{color:var(--gray-500);font-size:.88rem}.table-pagination{border-top:1px solid var(--gray-200);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1.5rem;display:flex}.table-pagination span{color:var(--gray-500);font-size:.82rem;font-weight:500}.pagination-btns{gap:.35rem;display:flex}.page-btn{width:34px;height:34px;color:var(--gray-600);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.page-btn:hover{background:var(--gray-100);color:var(--gray-900)}.page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--white)}@media print{body *{visibility:hidden}.patient-id-card-printable,.patient-id-card-printable *{visibility:visible}.patient-id-card-printable{width:450px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.visit-actions{gap:.5rem;margin-top:.65rem;display:flex}.visit-action-btn{color:var(--primary);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.visit-action-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}.prescription-medicine-row{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);align-items:flex-start;gap:.5rem;margin-bottom:.5rem;padding:.75rem;display:flex}.medicine-fields{flex:1;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.medicine-fields .form-input{padding:.5rem .75rem;font-size:.85rem}@media (width<=540px){.medicine-fields{grid-template-columns:1fr}}.prescription-printable{border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--gray-800);background:#fff;padding:2rem}.rx-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.rx-logo-section{align-items:center;gap:.75rem;display:flex}.rx-logo{width:auto;height:50px}.rx-clinic-name{color:var(--primary);margin-bottom:.1rem;font-size:1.15rem;font-weight:800}.rx-clinic-address,.rx-clinic-phone{color:var(--gray-500);font-size:.78rem}.rx-doctor-info{text-align:right}.rx-doctor-info h3{color:var(--gray-900);margin-bottom:.1rem;font-size:1rem;font-weight:700}.rx-doctor-info p{color:var(--gray-500);font-size:.78rem}.rx-divider{background:linear-gradient(90deg, var(--primary), var(--accent), var(--primary));border-radius:var(--radius-full);height:2px;margin:1rem 0}.rx-patient-row{color:var(--gray-700);flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.rx-section{margin:1.25rem 0}.rx-section-label{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8rem;font-weight:700}.rx-section-content{color:var(--gray-700);font-size:.9rem;line-height:1.6}.rx-symbol{color:var(--primary);margin-bottom:.75rem;font-size:2.5rem;font-weight:700;line-height:1}.rx-medicines-table{border-collapse:collapse;width:100%;font-size:.88rem}.rx-medicines-table th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:2px solid var(--gray-200);padding:.6rem .75rem;font-size:.75rem;font-weight:700}.rx-medicines-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:.6rem .75rem}.rx-signature{text-align:right;margin-top:2.5rem}.rx-signature-line{background:var(--gray-400);width:200px;height:1px;margin-bottom:.35rem;margin-left:auto}.rx-signature p{color:var(--gray-800);font-size:.95rem;font-weight:700}.rx-signature span{color:var(--gray-500);font-size:.78rem}.invoice-printable{border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--gray-800);background:#fff;padding:2rem}.invoice-header{justify-content:space-between;align-items:flex-start;display:flex}.invoice-logo-section{align-items:center;gap:.75rem;display:flex}.invoice-logo{width:auto;height:50px}.invoice-clinic-name{color:var(--primary);margin-bottom:.1rem;font-size:1.15rem;font-weight:800}.invoice-logo-section p{color:var(--gray-500);font-size:.78rem}.invoice-meta{text-align:right}.invoice-title{color:var(--primary);letter-spacing:.1em;margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.invoice-meta div{color:var(--gray-600);margin-bottom:.15rem;font-size:.85rem}.invoice-divider{background:linear-gradient(90deg, var(--primary), var(--accent), var(--primary));border-radius:var(--radius-full);height:2px;margin:1.25rem 0}.invoice-patient-section{margin-bottom:1.5rem}.invoice-patient-section h4{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.invoice-patient-details{color:var(--gray-700);flex-wrap:wrap;gap:1.5rem;font-size:.9rem;display:flex}.invoice-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.9rem}.invoice-table th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:2px solid var(--gray-200);padding:.75rem 1rem;font-size:.78rem;font-weight:700}.invoice-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:.85rem 1rem}.invoice-total-row td{border-bottom:none;border-top:2px solid var(--gray-300);color:var(--gray-900);padding-top:1rem}.invoice-notes{background:var(--gray-50);border-radius:var(--radius-md);color:var(--gray-600);margin-bottom:1.5rem;padding:.85rem 1rem;font-size:.85rem}.invoice-footer{justify-content:space-between;align-items:flex-end;margin-top:2rem;display:flex}.invoice-signature{text-align:center}.invoice-signature-line{background:var(--gray-400);width:180px;height:1px;margin-bottom:.35rem}.invoice-signature p{color:var(--gray-500);font-size:.82rem}.invoice-thank-you{text-align:right;color:var(--gray-500);font-size:.85rem}.invoice-thank-you strong{color:var(--primary);font-size:.95rem;display:block}.invoice-disclaimer{text-align:center;color:var(--gray-400);border-top:1px solid var(--gray-100);margin-top:1.5rem;padding-top:1rem;font-size:.72rem}.settings-page{flex-direction:column;gap:1.5rem;display:flex}.settings-section{border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.settings-section-header{border-bottom:1px solid var(--gray-100);background:var(--gray-50);align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.settings-section-icon{background:var(--primary-50);width:42px;height:42px;color:var(--primary);border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-section-header h3{color:var(--gray-900);margin-bottom:.15rem;font-size:1rem;font-weight:700}.settings-section-header p{color:var(--gray-500);font-size:.82rem}.settings-fields{padding:1.5rem}.settings-fields .form-group{margin-bottom:1.25rem}.settings-fields .form-group:last-child{margin-bottom:0}.settings-fields .form-label{color:var(--gray-700);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.settings-fields .form-input{border:2px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50);width:100%;color:var(--gray-900);transition:all var(--transition-fast);padding:.7rem 1rem;font-size:.9rem}.settings-fields .form-input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 4px #0e74901a}.settings-fields-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.settings-fields-row{grid-template-columns:1fr}}.form-hint{color:var(--gray-400);margin-top:.35rem;font-size:.78rem;display:block}.working-days-grid{flex-wrap:wrap;gap:.5rem;display:flex}.working-day-btn{color:var(--gray-600);background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);padding:.55rem 1.15rem;font-size:.85rem;font-weight:600}.working-day-btn:hover{border-color:var(--primary);color:var(--primary)}.working-day-btn.active{background:var(--primary);border-color:var(--primary);color:var(--white);box-shadow:0 2px 8px #0e749040}.settings-save-bar{border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;justify-content:flex-end;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.settings-saved-msg{color:var(--success);align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;animation:.3s ease-out fadeInRight;display:inline-flex}.files-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.file-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all var(--transition-fast);position:relative;overflow:hidden}.file-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.file-thumbnail{cursor:pointer;background:var(--gray-100);width:100%;height:140px;position:relative;overflow:hidden}.file-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base)}.file-thumbnail:hover img{transform:scale(1.05)}.file-thumbnail-overlay{color:#fff;opacity:0;transition:opacity var(--transition-fast);background:#0000004d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.file-thumbnail:hover .file-thumbnail-overlay{opacity:1}.file-thumbnail.file-pdf{color:var(--danger);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;display:flex}.file-thumbnail.file-pdf span{letter-spacing:.1em;font-size:.75rem;font-weight:700}.file-info{padding:.65rem}.file-name{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.8rem;font-weight:600;overflow:hidden}.file-meta{color:var(--gray-400);font-size:.72rem}.file-upload-area{border:2px dashed var(--gray-300);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);text-align:center;color:var(--gray-400);flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.file-upload-area:hover{border-color:var(--primary);background:var(--primary-50);color:var(--primary)}.file-upload-area h4{color:var(--gray-600);margin-top:.75rem;font-size:1rem;font-weight:700}.file-upload-area p{color:var(--gray-400);margin-top:.25rem;font-size:.82rem}.lightbox-overlay{z-index:2000;background:#000000d9}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-close{color:#fff;cursor:pointer;z-index:10;transition:opacity var(--transition-fast);background:0 0;border:none;padding:.5rem;position:absolute;top:-2.5rem;right:0}.lightbox-close:hover{opacity:.7}.lightbox-image{object-fit:contain;border-radius:var(--radius-lg);max-width:90vw;max-height:80vh;box-shadow:0 25px 50px #00000080}.lightbox-caption{color:#ffffffb3;text-align:center;margin-top:1rem;font-size:.85rem}@media print{body *{visibility:hidden}.patient-id-card-printable,.patient-id-card-printable *{visibility:visible}.patient-id-card-printable{width:450px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prescription-printable,.prescription-printable *{visibility:visible}.prescription-printable{width:700px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;position:absolute;top:5%;left:50%;transform:translate(-50%)}.invoice-printable,.invoice-printable *{visibility:visible}.invoice-printable{width:650px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;position:absolute;top:5%;left:50%;transform:translate(-50%)}.no-print{display:none!important}.modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}}:root{--primary:#0e7490;--primary-dark:#0c5e75;--primary-light:#22a3c3;--primary-50:#ecfeff;--primary-100:#cffafe;--primary-200:#a5f3fc;--primary-900:#083344;--accent:#e8a830;--accent-dark:#d4952a;--accent-light:#f0c060;--accent-50:#fffbeb;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Playfair Display", Georgia, serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-glow:0 0 20px #0e74904d;--shadow-gold:0 0 20px #e8a8304d;--glass-bg:#ffffff14;--glass-border:#ffffff26;--glass-bg-light:#ffffffd9;--glass-border-light:#ffffff80;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--container-max:1200px;--container-padding:1rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;font-family:var(--font-sans);font-size:inherit;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);font-size:inherit;outline:none}ul,ol{list-style:none}.container{max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.section{padding:var(--space-3xl) 0}.section-title{font-family:var(--font-serif);color:var(--gray-900);margin-bottom:var(--space-sm);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.2}.section-subtitle{color:var(--gray-500);max-width:600px;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.7}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-header .section-subtitle{margin:0 auto;margin-top:var(--space-sm)}.section-badge{background:var(--primary-50);color:var(--primary);border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-md);align-items:center;gap:.4rem;padding:.35rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.accent-line{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:var(--radius-full);width:60px;height:3px;margin-top:var(--space-md)}.section-header .accent-line{margin:var(--space-md) auto 0}.btn{border-radius:var(--radius-lg);transition:all var(--transition-base);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:active:after{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--white);box-shadow:0 4px 15px #0e749059}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0e749073}.btn-accent{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:var(--white);box-shadow:0 4px 15px #e8a83059}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 25px #e8a83073}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:var(--white);transform:translateY(-2px)}.btn-white{background:var(--white);color:var(--primary);box-shadow:var(--shadow-md)}.btn-white:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-lg{border-radius:var(--radius-xl);padding:1rem 2.25rem;font-size:1.05rem}.btn-sm{padding:.5rem 1.25rem;font-size:.85rem}.glass-card{background:var(--glass-bg-light);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.glass-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #0e74904d}50%{box-shadow:0 0 25px #0e749080}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-fade-up{animation:.6s ease-out forwards fadeInUp}.animate-fade-down{animation:.6s ease-out forwards fadeInDown}.animate-fade-left{animation:.6s ease-out forwards fadeInLeft}.animate-fade-right{animation:.6s ease-out forwards fadeInRight}.animate-scale-in{animation:.5s ease-out forwards scaleIn}.animate-float{animation:3s ease-in-out infinite float}.stagger-children>*{opacity:0;animation:.5s ease-out forwards fadeInUp}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(6){animation-delay:.6s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (width>=640px){:root{--container-padding:1.5rem}}@media (width>=768px){:root{--container-padding:2rem}.section{padding:var(--space-4xl) 0}}@media (width>=1024px){:root{--container-padding:2rem}}
