.navbar{z-index:100;background:#fff;justify-content:space-between;align-items:center;height:80px;padding:0 60px;display:flex;position:relative;box-shadow:0 2px 10px #00000014}.navbar-brand{align-items:center;gap:12px;display:flex}.navbar-logo-image{object-fit:contain;width:55px;height:55px}.navbar-logo-text{color:#0f4c81;flex-direction:column;font-size:24px;font-weight:700;line-height:1.2;display:flex}.navbar-logo-text span{color:#64748b;margin-top:3px;font-size:12px;font-weight:500}.navbar-links{align-items:center;gap:30px;display:flex}.navbar-links a{color:#334155;font-weight:500;text-decoration:none}.active-link{color:#0f4c81!important;font-weight:700!important}.navbar-button{background:#0f4c81;border-radius:8px;padding:12px 22px;color:#fff!important}.menu-button{color:#0f4c81;cursor:pointer;background:0 0;border:none;display:none}@media (width<=768px){.navbar{padding:0 20px}.navbar-logo{font-size:22px}.menu-button{display:block}.navbar-logo-image{width:45px;height:45px}.navbar-logo-text{font-size:18px}.navbar-logo-text span{display:none}.navbar-links{background:#fff;flex-direction:column;align-items:center;gap:25px;padding:30px;display:none;position:absolute;top:80px;left:0;right:0;box-shadow:0 10px 20px #0000001a}.navbar-links.mobile-open{display:flex}.navbar-button{text-align:center;width:100%}}.footer{color:#fff;background:#0f4c81;padding:60px}.footer-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.footer h3,.footer h4{margin-bottom:15px}.footer a{color:#fff;margin:10px 0;text-decoration:none;display:block}.footer-bottom{text-align:center;border-top:1px solid #fff3;margin-top:40px;padding-top:20px}@media (width<=768px){.footer{padding:40px 20px}.footer-grid{text-align:center;grid-template-columns:1fr}.footer a{display:block}}.btn{border-radius:8px;padding:12px 25px;font-size:16px}.primary{color:#fff;background:#0f4c81}.secondary{color:#0f4c81;background:#fff;border:1px solid #0f4c81}.section-title{text-align:center;margin-bottom:40px}.section-title h2{color:#0f4c81;font-size:36px}.card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 5px 20px #00000014}.chat-button{color:#fff;cursor:pointer;z-index:1000;background:#0f4c81;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 8px 25px #0f4c814d}.chat-button:hover{transform:scale(1.06);box-shadow:0 10px 30px #0f4c8161}.chat-window{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;width:390px;height:600px;display:flex;position:fixed;bottom:100px;right:30px;overflow:hidden;box-shadow:0 20px 50px #0003}.chat-header{color:#fff;background:#0f4c81;padding:16px 18px}.chat-header-info{align-items:center;gap:11px;display:flex}.chat-header-icon{background:#ffffff29;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.chat-header-title{font-size:15px;font-weight:700}.chat-header-status{opacity:.85;align-items:center;gap:5px;margin-top:3px;font-size:11px;display:flex}.chat-header-status span{background:#86efac;border-radius:50%;width:7px;height:7px}.chat-body{scrollbar-width:thin;background:#fff;flex:1;padding:16px;overflow-y:auto}.bot-message,.user-message{white-space:normal;word-break:break-word;border-radius:15px;max-width:82%;margin-bottom:10px;padding:11px 14px;font-size:13px;line-height:1.5}.bot-message{color:#1e293b;background:#f1f5f9;border-bottom-left-radius:5px}.user-message{color:#fff;background:#0f4c81;border-bottom-right-radius:5px;margin-left:auto}.chat-options{flex-direction:column;gap:9px;margin-top:5px;display:flex}.chat-options button{color:#0f4c81;cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:11px;width:100%;padding:12px 14px;font-size:13px;font-weight:600;transition:all .2s}.chat-options button:hover{background:#eef6fb;border-color:#0f4c81;transform:translateY(-1px)}.chat-selection-section{margin-top:12px}.chat-selection-title{color:#1e293b;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.chat-provider-grid{flex-direction:column;gap:8px;display:flex}.chat-provider-button{color:#334155;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:11px;align-items:center;gap:9px;width:100%;padding:11px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.chat-provider-button:hover{color:#0f4c81;background:#eef6fb;border-color:#0f4c81}.chat-type-grid{flex-direction:column;gap:8px;display:flex}.chat-type-button{color:#334155;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:11px;width:100%;padding:12px;font-size:13px;font-weight:600;transition:all .2s}.chat-type-button:hover{color:#0f4c81;background:#eef6fb;border-color:#0f4c81}.chat-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:230px;padding:2px;display:grid;overflow-y:auto}.chat-date-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ec;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:58px;padding:8px;transition:all .2s;display:flex}.chat-date-button:hover{background:#eef6fb;border-color:#0f4c81}.chat-date-button.selected{color:#fff;background:#0f4c81;border-color:#0f4c81}.chat-date-weekday{text-transform:uppercase;opacity:.7;font-size:10px;font-weight:700}.chat-date-value{margin-top:3px;font-size:13px;font-weight:700}.chat-time-grid{box-sizing:border-box;width:100%;max-height:250px;padding:3px;overflow-y:auto;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;display:grid!important}.chat-time-button{box-sizing:border-box;color:#334155;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dbe3ec;border-radius:10px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:42px;padding:8px 4px;font-size:12px;font-weight:600;transition:all .2s;display:flex!important}.chat-time-button:hover{color:#0f4c81;background:#eef6fb;border-color:#0f4c81}.chat-time-button.selected{color:#fff;background:#0f4c81;border-color:#0f4c81;box-shadow:0 3px 8px #0f4c8140}.chat-empty{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:13px;font-size:12px;line-height:1.5}.chat-loading{color:#475569;background:#eff6ff;border-radius:9px;margin-bottom:10px;padding:9px 12px;font-size:12px}.chat-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:10px;padding:10px 12px;font-size:12px}.chat-confirmation{margin-top:12px}.chat-confirmation-title{color:#1e293b;align-items:center;gap:7px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.chat-confirmation-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:9px;padding:13px;display:flex}.chat-confirmation-card div{flex-direction:column;gap:2px;display:flex}.chat-confirmation-card strong{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10px}.chat-confirmation-card span{color:#1e293b;font-size:13px;font-weight:600}.chat-confirmation-actions{flex-direction:column;gap:8px;margin-top:10px;display:flex}.chat-confirm-button{color:#fff;cursor:pointer;background:#0f4c81;border:none;border-radius:10px;width:100%;padding:12px;font-size:13px;font-weight:700}.chat-confirm-button:hover{background:#0b3c66}.chat-confirm-button:disabled{opacity:.6;cursor:not-allowed}.chat-back-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:9px;font-size:12px;display:flex}.chat-success{text-align:center;color:#0f4c81;flex-direction:column;align-items:center;padding:25px 12px;display:flex}.chat-success h3{color:#1e293b;margin:12px 0 6px;font-size:17px}.chat-success p{color:#64748b;margin:0 0 18px;font-size:13px;line-height:1.5}.chat-success button{color:#fff;cursor:pointer;background:#0f4c81;border:none;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:600}.chat-input{background:#fff;border-top:1px solid #e2e8f0;align-items:center;padding:8px;display:flex}.chat-input input{color:#1e293b;border:none;outline:none;flex:1;min-width:0;padding:10px 9px;font-size:13px}.chat-input input::placeholder{color:#94a3b8}.chat-input button{color:#fff;cursor:pointer;background:#0f4c81;border:none;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:600}.chat-body::-webkit-scrollbar{width:5px}.chat-time-grid::-webkit-scrollbar{width:5px}.chat-date-grid::-webkit-scrollbar{width:5px}.chat-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.chat-time-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.chat-date-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.chat-body::-webkit-scrollbar-track{background:0 0}.chat-time-grid::-webkit-scrollbar-track{background:0 0}.chat-date-grid::-webkit-scrollbar-track{background:0 0}@media (width<=600px){.chat-button{width:55px;height:55px;bottom:18px;right:18px}.chat-window{border-radius:17px;width:auto;height:min(600px,100vh - 105px);bottom:85px;left:12px;right:12px}.chat-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.dashboard-layout{background:#f8fafc;min-height:100vh;display:flex}.dashboard-sidebar{z-index:100;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:250px;min-height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;height:82px;padding:0 24px;display:flex}.sidebar-logo-icon{color:#fff;background:#0e7490;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:flex}.sidebar-logo strong{color:#0f172a;font-size:16px;display:block}.sidebar-logo span{color:#94a3b8;margin-top:2px;font-size:11px;display:block}.sidebar-navigation{flex:1;padding:28px 14px}.sidebar-section-title{color:#94a3b8;letter-spacing:1.2px;margin:0 0 12px;padding:0 12px;font-size:10px;font-weight:700}.sidebar-link{color:#64748b;border-radius:8px;align-items:center;gap:13px;margin-bottom:5px;padding:12px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-link:hover{color:#0e7490;background:#f0fdfa}.sidebar-link.active{color:#0e7490;background:#ecfeff;font-weight:650}.sidebar-bottom{border-top:1px solid #f1f5f9;padding:18px 14px}.sidebar-logout{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:13px;width:100%;padding:12px 14px;font-size:14px;display:flex}.sidebar-logout:hover{color:#dc2626;background:#fef2f2}.sidebar-version{color:#cbd5e1;padding:15px 14px 5px;font-size:10px}.sidebar-version span{margin-top:3px;display:block}.dashboard-main{flex:1;min-width:0;margin-left:250px}.dashboard-topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:82px;padding:0 30px;display:flex}.topbar-left h2{color:#0f172a;margin:0;font-size:17px}.topbar-left span{color:#94a3b8;margin-top:3px;font-size:12px;display:block}.topbar-right{align-items:center;gap:24px;display:flex}.notification-button{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.notification-button:hover{background:#f1f5f9}.notification-dot{background:#ef4444;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.topbar-user{align-items:center;gap:11px;display:flex}.user-avatar{color:#0f766e;background:#ccfbf1;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:flex}.user-details strong{color:#334155;font-size:13px;display:block}.user-details span{color:#94a3b8;text-transform:capitalize;margin-top:2px;font-size:11px;display:block}.dashboard-page{min-height:calc(100vh - 82px);padding:0}@media (width<=800px){.dashboard-sidebar{width:70px}.sidebar-logo{justify-content:center;padding:0}.sidebar-logo>div:last-child,.sidebar-section-title,.sidebar-link span,.sidebar-logout span,.sidebar-version{display:none}.sidebar-link,.sidebar-logout{justify-content:center;padding:13px}.dashboard-main{margin-left:70px}.dashboard-topbar{padding:0 18px}.topbar-left{display:none}}@media (width<=550px){.user-details{display:none}.topbar-right{gap:10px}}.home{color:#1e293b;overflow:hidden}.hero{color:#fff;text-align:center;background-image:linear-gradient(#0f4c81bf,#0f4c81bf),url(/images/clinic-hero.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:700px;display:flex}.hero-overlay{width:100%;padding:80px 20px}.hero-content{max-width:900px;margin:auto}.hero-badge{color:#0f4c81;background:#fff;border-radius:50px;margin-bottom:25px;padding:12px 25px;font-weight:600;display:inline-block}.hero h1{margin-bottom:25px;font-size:64px;font-weight:800;line-height:1.15}.hero p{opacity:.95;max-width:750px;margin:0 auto 40px;font-size:20px;line-height:1.7}.hero-primary-btn{color:#0f4c81;background:#fff;border-radius:12px;padding:16px 35px;font-weight:700}.hero-secondary-btn{color:#fff;border:2px solid #fff;border-radius:12px;padding:14px 35px;font-weight:700}.hero-info{flex-wrap:wrap;justify-content:center;gap:25px;display:flex}.hero-info div{color:#334155;background:#fff;border-radius:18px;min-width:200px;padding:20px 30px;box-shadow:0 10px 30px #00000026}.hero-info h4{color:#0f4c81;margin-bottom:8px}.hero-info p{color:#64748b;margin:0;font-size:15px}.hero-container{flex-direction:column;align-items:center;max-width:900px;margin:auto;display:flex}.hero-tag{color:#0f4c81;background:#dff2ff;border-radius:50px;align-items:center;margin-bottom:25px;padding:12px 22px;font-weight:600;display:inline-flex}.hero h1{color:#0f172a;margin-bottom:25px;font-size:64px;font-weight:800;line-height:1.1}.hero h1 span{color:#d8d8d8}.hero-description{color:#64748b;max-width:750px;margin-bottom:40px;font-size:20px;line-height:1.7}.hero-actions{justify-content:center;gap:20px;margin-bottom:60px;display:flex}.hero-primary-btn,.hero-secondary-btn{border-radius:12px;align-items:center;gap:10px;padding:16px 32px;font-size:17px;font-weight:600;transition:all .3s;display:flex}.hero-primary-btn{color:#fff;background:#0f4c81}.hero-primary-btn:hover{background:#08365d;transform:translateY(-3px)}.hero-secondary-btn{color:#0f4c81;background:#fff;border:2px solid #0f4c81}.hero-stats{justify-content:center;gap:30px;display:flex}.stat-card{background:#fff;border-radius:16px;align-items:center;gap:15px;min-width:180px;padding:22px 30px;display:flex;box-shadow:0 10px 25px #00000014}.stat-card svg{color:#0f4c81;width:35px;height:35px}.stat-card h3{color:#0f4c81;margin:0;font-size:28px}.stat-card p{color:#64748b;margin:0;font-size:14px}.stats-section{background:#fff;padding:70px 8%}.stats-grid{grid-template-columns:repeat(4,1fr);gap:25px;display:grid}.stat-card{text-align:center;background:#f8fafc;border-radius:18px;padding:30px}.stat-card h2{color:#0284c7;margin-bottom:10px;font-size:38px}.stat-card p{color:#64748b}.services-section{background:#f8fafc;padding:80px 60px}.section-header h2{color:#0f4c81;margin-bottom:15px;font-size:38px}.section-header p{color:#64748b;font-size:18px}.service-card{background:#fff;border-radius:18px;padding:35px;transition:all .3s;box-shadow:0 10px 30px #00000014}.service-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026}.service-icon{color:#0f4c81;background:#eaf6ff;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:25px;display:flex}.service-card h3{color:#0f4c81;margin-bottom:15px;font-size:24px}.service-description{color:#475569;line-height:1.6}.service-card ul{padding:20px 0;list-style:none}.service-card li{color:#334155;margin-bottom:10px}.service-link{color:#0f4c81;font-weight:600}.why-section{background:#fff;padding:80px 8%}.section-header{text-align:center;max-width:700px;margin:0 auto 50px}.section-header h2{color:#0f172a;margin-bottom:15px;font-size:38px;font-weight:700}.section-header p{color:#64748b;font-size:17px;line-height:1.6}.why-grid{grid-template-columns:repeat(4,1fr);gap:25px;display:grid}.why-card{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:35px 25px;transition:all .3s}.why-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000014}.why-icon{color:#fff;background:#0284c7;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;margin:0 auto 20px;font-size:28px;font-weight:700;display:flex}.why-card h3{color:#0f172a;margin-bottom:15px;font-size:20px}.why-card p{color:#64748b;font-size:15px;line-height:1.6}@media (width<=1000px){.why-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.why-grid{grid-template-columns:1fr}.why-section{padding:60px 20px}}.testimonials-section{background:#f0f9ff;padding:80px 8%}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px;display:grid}.testimonial-card{background:#fff;border-radius:20px;padding:35px;transition:transform .3s;position:relative;box-shadow:0 10px 25px #00000014}.testimonial-card:hover{transform:translateY(-8px)}.testimonial-card:before{content:"“";color:#0284c7;opacity:.2;font-size:70px;position:absolute;top:5px;left:20px}.testimonial-text{color:#475569;margin-top:25px;font-size:17px;line-height:1.7}.testimonial-card h4{color:#0284c7;margin-top:20px;font-weight:600}.clinic-hours{text-align:left;background:#fff;border-radius:18px;align-items:center;gap:20px;margin-bottom:50px;padding:20px 30px;display:flex;box-shadow:0 10px 25px #00000014}.hours-icon{color:#0f4c81;background:#eaf6ff;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;display:flex}.clinic-hours h4{color:#0f4c81;margin:0 0 8px;font-size:20px}.clinic-hours p{color:#64748b;margin:4px 0;font-size:14px}@media (width<=1100px){.hero h1{font-size:52px}.services-grid,.why-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.cta-container{text-align:center;flex-direction:column}.cta-features{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero{min-height:650px}.hero h1{font-size:38px}.hero p{font-size:16px}.hero-actions{flex-direction:column;align-items:center}.hero-primary-btn,.hero-secondary-btn{width:80%}.hero-info{flex-direction:column;align-items:center}.hero-info div{width:90%}}@media (width<=480px){.hero h1{font-size:32px}.hero-tag{padding:10px 16px;font-size:14px}.service-card h3{font-size:21px}.cta-content h2{font-size:28px}.stat-card h2{font-size:32px}}.cta-section{background:linear-gradient(135deg,#0f4c81,#1e88e5);padding:80px 60px}.cta-container{color:#fff;justify-content:space-between;align-items:center;gap:50px;max-width:1200px;margin:auto;display:flex}.cta-content{max-width:650px}.cta-content h2{margin-bottom:20px;font-size:42px;line-height:1.2}.cta-content p{opacity:.9;margin-bottom:35px;font-size:18px;line-height:1.6}.cta-buttons{gap:20px;display:flex}.cta-primary,.cta-secondary{border-radius:10px;align-items:center;gap:10px;padding:15px 28px;font-weight:600;transition:all .3s;display:flex}.cta-primary{color:#0f4c81;background:#fff}.cta-primary:hover{transform:translateY(-3px)}.cta-secondary{color:#fff;border:2px solid #fff}.cta-secondary:hover{color:#0f4c81;background:#fff}.cta-features{color:#334155;background:#fff;border-radius:20px;min-width:350px;padding:30px;box-shadow:0 15px 40px #00000026}.cta-feature{border-bottom:1px solid #e2e8f0;align-items:center;gap:20px;padding:15px 0;display:flex}.cta-feature:last-child{border-bottom:none}.cta-feature svg{color:#0f4c81}.cta-feature h4{color:#0f4c81;margin-bottom:5px}.cta-feature p{color:#64748b;margin:0;font-size:14px}@media (width<=900px){.hero{text-align:center;flex-direction:column}.hero-content,.hero-image{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.services-grid,.why-section{grid-template-columns:1fr}.hero h1{font-size:38px}}@media (width<=500px){.stats-grid{grid-template-columns:1fr}}.about-page{color:#1e293b}.about-hero{text-align:center;background:linear-gradient(135deg,#eaf6ff,#fff);padding:100px 20px}.about-hero-content{max-width:850px;margin:auto}.about-hero span{color:#0f4c81;background:#dff2ff;border-radius:30px;padding:10px 20px;font-weight:600;display:inline-block}.about-hero h1{color:#0f172a;margin:25px 0;font-size:55px;line-height:1.2}.about-hero p{color:#64748b;font-size:20px;line-height:1.7}.about-story{grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:90px 8%;display:grid}.story-content h2{color:#0f4c81;font-size:38px}.story-content p{color:#64748b;font-size:17px;line-height:1.8}.story-highlights{gap:20px;margin-top:30px;display:flex}.story-highlights div{background:#f8fafc;border-radius:15px;padding:20px}.story-image img{border-radius:25px;width:100%}.mission-card,.vision-card{text-align:center;background:#f8fafc;border-radius:25px;max-width:900px;margin:30px auto;padding:45px}.mission-icon,.vision-icon{font-size:40px}.mission-card h2,.vision-card h2{color:#0f4c81}.values{background:#fff;padding:80px 8%}.section-heading{text-align:center;margin-bottom:50px}.values-grid{grid-template-columns:repeat(4,1fr);gap:25px;display:grid}.value-card{text-align:center;background:#f8fafc;border-radius:20px;padding:30px;transition:all .3s}.value-card:hover{transform:translateY(-8px);box-shadow:0 10px 30px #0000001a}.team{background:#f0f9ff;padding:90px 8%}.doctor-profile{background:#fff;border-radius:30px;align-items:center;gap:50px;max-width:1000px;margin:auto;padding:50px;display:flex;box-shadow:0 20px 50px #00000014}.doctor-avatar{background:linear-gradient(135deg,#0f4c81,#38bdf8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:220px;height:220px;display:flex;box-shadow:0 15px 35px #0f4c814d}.doctor-avatar span{color:#fff;font-size:70px;font-weight:800}.doctor-info h3{color:#0f172a;margin-bottom:8px;font-size:32px}.doctor-info h4{color:#0f4c81;margin-bottom:5px;font-size:20px}.credentials{color:#0284c7;font-weight:600}.doctor-description{color:#64748b;margin:20px 0;font-size:17px;line-height:1.7}.specialties{flex-wrap:wrap;gap:15px;margin-bottom:25px;display:flex}.specialty{color:#0f4c81;background:#eaf6ff;border-radius:30px;align-items:center;gap:8px;padding:10px 15px;font-size:14px;font-weight:600;display:flex}.doctor-highlights{flex-wrap:wrap;gap:25px;margin-bottom:30px;display:flex}.doctor-highlights div{color:#475569;align-items:center;gap:8px;font-size:14px;display:flex}.doctor-highlights svg{color:#0284c7}.doctor-button{color:#fff;background:#0f4c81;border-radius:12px;padding:15px 35px;font-weight:600;transition:all .3s;display:inline-block}.doctor-button:hover{background:#08365d;transform:translateY(-3px)}@media (width<=768px){.doctor-profile{text-align:center;flex-direction:column;padding:35px}.doctor-avatar{width:160px;height:160px}.doctor-avatar span{font-size:50px}.doctor-info h3{font-size:25px}.doctor-highlights,.specialties{justify-content:center}}@media (width<=900px){.about-story{grid-template-columns:1fr}.about-hero h1{font-size:38px}.values-grid{grid-template-columns:1fr}.team-single-card{text-align:center;flex-direction:column}.story-highlights{flex-direction:column}}.services-page{padding-bottom:60px}.services-hero{text-align:center;background:#eaf6ff;padding:80px}.services-hero h1{color:#0f4c81;font-size:48px}.services-container{padding:60px}.services-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.service-card{text-align:center}.service-icon{margin-bottom:20px;font-size:45px}.service-card h3{color:#0f4c81;margin-bottom:15px}.service-details{max-width:700px;margin:40px auto}.service-details li{margin:10px}.services-cta{color:#fff;text-align:center;background:#0f4c81;padding:60px}.careers-page{background:#f8fafc;padding:80px 8%}.careers-hero{text-align:center;max-width:800px;margin:auto}.careers-hero h1{color:#0f4c81;margin-bottom:20px;font-size:48px}.careers-hero p{color:#64748b;font-size:18px;line-height:1.7}.careers-content{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:60px;display:grid}.career-card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 10px 25px #00000014}.career-card svg{color:#0f4c81;margin-bottom:20px}.career-card h2{color:#0f4c81;margin-bottom:15px}.career-card p,.career-card li{color:#64748b;line-height:1.7}.career-card ul{padding-left:20px}.career-contact{background:#fff;border-radius:20px;align-items:center;gap:25px;margin-top:50px;padding:35px;display:flex;box-shadow:0 10px 25px #00000014}.career-contact svg,.career-contact h3{color:#0f4c81}.career-contact p{color:#64748b;line-height:1.6}.career-contact a{color:#0f4c81;align-items:center;gap:8px;font-weight:600;display:flex}@media (width<=768px){.careers-page{padding:60px 20px}.careers-hero h1{font-size:34px}.careers-content{grid-template-columns:1fr}.career-contact{text-align:center;flex-direction:column}}.contact-page{background:#f8fafc;padding:80px 8%}.contact-header{text-align:center;max-width:750px;margin:auto}.contact-header h1{color:#0f4c81;margin-bottom:20px;font-size:48px}.contact-header p{color:#64748b;font-size:18px;line-height:1.7}.contact-container{grid-template-columns:1fr 1.2fr;gap:40px;margin-top:60px;display:grid}.contact-info,.contact-form{background:#fff;border-radius:20px;padding:35px;box-shadow:0 10px 30px #00000014}.contact-info h2,.contact-form h2{color:#0f4c81;margin-bottom:30px}.contact-item{gap:18px;margin-bottom:25px;display:flex}.contact-item svg{color:#0f4c81}.contact-item h4{color:#1e293b;margin:0 0 5px}.contact-item p{color:#64748b;margin:0;line-height:1.5}.form-row{gap:20px;margin-bottom:20px;display:flex}.contact-form input,.contact-form textarea{border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:14px 16px;font-size:15px}.contact-form textarea{resize:none;margin-bottom:20px}.contact-form button{color:#fff;cursor:pointer;background:#0f4c81;border:none;border-radius:10px;padding:15px 30px;font-size:16px;font-weight:600}.contact-form button:hover{background:#08365d}.contact-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#0f4c81,#1e88e5);border-radius:20px;margin-top:60px;padding:45px}.contact-cta h2{font-size:34px}.contact-cta p{margin:15px 0 25px}.contact-cta a{color:#0f4c81;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-weight:600;display:inline-flex}@media (width<=900px){.contact-container{grid-template-columns:1fr}}@media (width<=600px){.contact-page{padding:60px 20px}.contact-header h1{font-size:34px}.form-row{flex-direction:column;gap:15px}.contact-info,.contact-form{padding:25px}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.book-appointment-page{box-sizing:border-box;background:#f5f8f7;min-height:100vh;padding:60px 20px 80px}.book-appointment-container{width:100%;max-width:1050px;margin:0 auto}.appointment-page-header{text-align:center;margin-bottom:40px}.appointment-page-header h1{color:#163c35;margin:0;font-size:42px;font-weight:700}.appointment-page-header p{color:#687b76;margin:12px 0 0;font-size:17px;line-height:1.6}.appointment-progress{justify-content:center;align-items:flex-start;gap:70px;margin-bottom:30px;display:flex}.progress-step{text-align:center;color:#a0ada9;flex-direction:column;align-items:center;min-width:100px;display:flex;position:relative}.progress-number{color:#71817d;background:#e0e8e5;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:8px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.progress-step.active{color:#16836d}.progress-step.active .progress-number{color:#fff;background:#16836d;box-shadow:0 4px 12px #16836d33}.progress-step span{white-space:nowrap;font-size:12px;font-weight:600}.appointment-error{box-sizing:border-box;color:#a33a3a;background:#fff0f0;border:1px solid #f0caca;border-radius:10px;width:100%;margin-bottom:20px;padding:14px 18px;font-size:14px}.appointment-form{box-sizing:border-box;background:#fff;border-radius:20px;width:100%;margin:0 auto;padding:42px;box-shadow:0 15px 50px #23483f14}.appointment-step{width:100%}.step-header{margin-bottom:30px}.step-header h2{color:#163c35;margin:0 0 8px;font-size:28px;font-weight:700}.step-header p{color:#71817d;margin:0;font-size:15px;line-height:1.6}.appointment-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.appointment-type-card{box-sizing:border-box;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe8e4;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:120px;padding:22px;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.appointment-type-card:hover{border-color:#16836d;transform:translateY(-2px);box-shadow:0 6px 20px #16836d14}.appointment-type-card.selected{background:#f0f8f5;border-color:#16836d;box-shadow:0 0 0 2px #16836d1a}.appointment-type-content{flex:1;padding-right:15px}.appointment-type-content h3{color:#24453e;margin:0 0 7px;font-size:17px;font-weight:700}.appointment-type-content p{color:#788782;margin:0;font-size:13px;line-height:1.55}.appointment-type-radio{flex-shrink:0;justify-content:center;align-items:center;display:flex}.radio-dot{box-sizing:border-box;background:#fff;border:2px solid #c9d5d1;border-radius:50%;width:20px;height:20px;transition:all .2s}.radio-dot.selected{background:#16836d;border-color:#16836d;box-shadow:inset 0 0 0 4px #fff}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.provider-card{box-sizing:border-box;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe8e4;border-radius:14px;align-items:center;gap:18px;width:100%;min-height:100px;padding:20px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.provider-card:hover{border-color:#16836d;box-shadow:0 5px 18px #16836d14}.provider-card.selected{background:#f0f8f5;border-color:#16836d}.provider-info{flex:1}.provider-info h3{color:#24453e;margin:0 0 5px;font-size:16px}.provider-info p{color:#778782;margin:0;font-size:14px}.date-time-layout{grid-template-columns:350px minmax(0,1fr);align-items:start;gap:40px;display:grid}.date-section{width:100%}.date-section label{color:#344f48;margin-bottom:10px;font-size:14px;font-weight:700;display:block}.appointment-date-picker{width:100%}.appointment-date-picker .rdp{width:100%;margin:0}.appointment-date-picker .rdp-months{justify-content:center;width:100%}.appointment-date-picker .rdp-month{width:100%}.appointment-date-picker .rdp-table{width:100%;max-width:100%}.appointment-date-picker .rdp-head_cell{color:#71817d;font-size:12px;font-weight:700}.appointment-date-picker .rdp-day{border-radius:8px;font-size:14px}.appointment-date-picker .rdp-day:not(.rdp-day_disabled):hover{background:#e4f3ef}.appointment-date-picker .rdp-day_selected{color:#fff!important;background:#16836d!important}.appointment-date-picker .rdp-day_today:not(.rdp-day_selected){color:#16836d;font-weight:800}.appointment-date-picker .rdp-day_disabled{color:#9ca3af!important;opacity:1!important;cursor:not-allowed!important;background:#f3f4f6!important}.appointment-date-picker .holiday-date{color:#15803d!important;opacity:1!important;cursor:not-allowed!important;background:#dcfce7!important}.time-section{min-width:0}.time-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.time-section-header h3{color:#24453e;margin:0;font-size:18px}.time-section-header span{color:#788782;text-align:right;font-size:13px}.time-section-header strong{color:#16836d}.time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:400px;padding-right:4px;display:grid;overflow-y:auto}.time-slot{color:#36564e;cursor:pointer;background:#fff;border:1px solid #d8e3df;border-radius:9px;min-height:46px;padding:10px 8px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s,color .2s,transform .2s}.time-slot:hover{background:#f0f8f5;border-color:#16836d;transform:translateY(-1px)}.time-slot.selected{color:#fff;background:#16836d;border-color:#16836d;box-shadow:0 4px 10px #16836d2e}.time-empty{box-sizing:border-box;text-align:center;color:#7a8985;background:#f8faf9;border:1px dashed #d4e0dc;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:30px;display:flex}.time-empty p{margin:0 0 8px;font-size:14px}.time-empty strong{color:#15803d;font-size:14px}.form-field{flex-direction:column;min-width:0;display:flex}.form-field.full-width{grid-column:1/-1}.form-field label{color:#344f48;margin-bottom:7px;font-size:14px;font-weight:700}.form-field input,.form-field textarea{box-sizing:border-box;color:#294d44;background:#fff;border:1px solid #d6e1dd;border-radius:9px;outline:none;width:100%;padding:12px 13px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-field textarea{resize:vertical;min-height:110px}.form-field input::placeholder,.form-field textarea::placeholder{color:#a2afab}.appointment-summary{box-sizing:border-box;background:#f3f8f6;border:1px solid #dcebe6;border-radius:13px;margin-bottom:30px;padding:22px}.appointment-summary h3{color:#21483f;margin:0 0 18px;font-size:17px}.summary-row{border-bottom:1px solid #e2ece8;justify-content:space-between;align-items:center;gap:20px;padding:10px 0;display:flex}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-row:first-of-type{padding-top:0}.summary-row span{color:#788782;font-size:13px}.summary-row strong{color:#294d44;text-align:right;font-size:14px}.step-actions{border-top:1px solid #edf1ef;justify-content:flex-end;align-items:center;gap:12px;margin-top:35px;padding-top:25px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:9px;min-height:46px;padding:0 25px;font-family:inherit;font-size:15px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}.primary-button{color:#fff;background:#16836d;box-shadow:0 4px 10px #16836d26}.primary-button:hover:not(:disabled){background:#126c5a;transform:translateY(-1px);box-shadow:0 6px 14px #16836d33}.primary-button:disabled{cursor:not-allowed;box-shadow:none;background:#aabdb7}.secondary-button{color:#36564e;background:#edf2f0}.appointment-loading{color:#71817d;flex-direction:column;justify-content:center;align-items:center;min-height:250px;display:flex}.appointment-loading p{margin-top:15px;font-size:14px}.loading-spinner{border:4px solid #dce9e5;border-top-color:#16836d;border-radius:50%;width:38px;height:38px;animation:.8s linear infinite appointment-spin}@keyframes appointment-spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:#71817d;background:#f8faf9;border:1px dashed #d5e1dd;border-radius:12px;padding:50px}.appointment-confirmation{box-sizing:border-box;text-align:center;background:#fff;border-radius:20px;max-width:650px;margin:50px auto;padding:50px;box-shadow:0 15px 50px #23483f14}.confirmation-icon{color:#16836d;background:#dff3ec;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 20px;font-size:35px;font-weight:700;display:flex}.appointment-confirmation h1{color:#163c35;margin:0;font-size:30px}.appointment-confirmation>p{color:#71817d;margin:12px 0 0;font-size:15px}.confirmation-details{box-sizing:border-box;text-align:left;background:#f5f8f7;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0;padding:25px;display:grid}.confirmation-row{min-width:0}.confirmation-row span{color:#80908b;margin-bottom:5px;font-size:12px;display:block}.confirmation-row strong{color:#294d44;word-break:break-word;font-size:14px;display:block}@media (width<=850px){.book-appointment-page{padding:45px 15px 60px}.appointment-progress{gap:30px}.date-time-layout{grid-template-columns:1fr;gap:30px}.date-section{max-width:400px;margin:0 auto}.time-section{width:100%}.time-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=650px){.book-appointment-page{padding:30px 12px 50px}.appointment-page-header{margin-bottom:30px}.appointment-page-header h1{font-size:32px}.appointment-page-header p{font-size:15px}.appointment-progress{justify-content:space-between;gap:5px;margin-bottom:25px}.progress-step{flex:1;min-width:auto}.progress-number{width:34px;height:34px}.progress-step span{white-space:normal;font-size:9px}.appointment-form{border-radius:16px;padding:25px 20px}.step-header h2{font-size:23px}.appointment-type-grid,.provider-grid,.form-grid{grid-template-columns:1fr}.appointment-type-card{min-height:105px;padding:18px}.provider-card{padding:17px}.time-section-header{flex-direction:column;gap:7px}.time-section-header span{text-align:left}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:350px}.form-field.full-width{grid-column:auto}.summary-row{flex-direction:column;align-items:flex-start;gap:4px}.summary-row strong{text-align:left}.step-actions{flex-direction:column-reverse;align-items:stretch}.primary-button,.secondary-button{width:100%}.confirmation-details{grid-template-columns:1fr}.appointment-confirmation{margin:25px auto;padding:35px 22px}}@media (width<=400px){.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-type-content h3{font-size:15px}.appointment-type-content p{font-size:12px}}*{box-sizing:border-box}.login-page{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-brand{background:linear-gradient(135deg,#075985 0%,#0e7490 50%,#0f766e 100%);min-height:100vh;position:relative;overflow:hidden}.login-brand:before{content:"";background:#ffffff14;border-radius:50%;width:500px;height:500px;position:absolute;top:-180px;left:-180px}.login-brand:after{content:"";background:#ffffff0f;border-radius:50%;width:600px;height:600px;position:absolute;bottom:-300px;right:-200px}.brand-overlay{z-index:2;align-items:center;min-height:100vh;padding:70px;display:flex;position:relative}.brand-content{max-width:600px}.brand-logo{color:#fff;align-items:center;gap:12px;margin-bottom:100px;font-size:21px;font-weight:700;display:flex}.logo-symbol{background:#ffffff2e;border:1px solid #ffffff4d;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:flex}.brand-eyebrow{letter-spacing:2px;color:#ffffffbf;margin-bottom:18px;font-size:13px;font-weight:700;display:block}.brand-message h1{color:#fff;letter-spacing:-2px;margin:0;font-size:clamp(42px,4vw,62px);line-height:1.08}.brand-message p{color:#ffffffc7;max-width:480px;margin-top:25px;font-size:17px;line-height:1.7}.brand-features{flex-direction:column;gap:16px;margin-top:45px;display:flex}.brand-feature{color:#ffffffe6;align-items:center;gap:12px;font-size:14px;display:flex}.feature-check{background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.login-panel{justify-content:center;align-items:center;padding:50px;display:flex}.login-container{width:100%;max-width:430px}.mobile-logo{display:none}.login-heading{margin-bottom:38px}.login-heading>span{letter-spacing:1.8px;color:#0e7490;font-size:12px;font-weight:700}.login-heading h2{letter-spacing:-1px;color:#0f172a;margin:10px 0 8px;font-size:38px}.login-heading p{color:#64748b;margin:0;font-size:15px}.login-form{flex-direction:column;gap:23px;display:flex}.form-group{flex-direction:column;gap:9px;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{opacity:.6;pointer-events:none;font-size:15px;position:absolute;left:16px}.input-wrapper input{color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:52px;padding:0 16px 0 46px;font-size:15px;transition:border-color .2s,box-shadow .2s}.input-wrapper input::placeholder{color:#94a3b8}.input-wrapper input:focus{border-color:#0e7490;box-shadow:0 0 0 4px #0e74901a}.password-label{justify-content:space-between;align-items:center;display:flex}.password-label a{color:#0e7490;font-size:13px;font-weight:600;text-decoration:none}.password-toggle{color:#0e7490;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:700;position:absolute;right:12px}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.login-error span{background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-weight:700;display:flex}.login-button{color:#fff;cursor:pointer;background:#0e7490;border:none;border-radius:10px;justify-content:center;align-items:center;gap:12px;height:54px;font-size:15px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.login-button:hover:not(:disabled){background:#155e75;transform:translateY(-1px);box-shadow:0 8px 20px #0e749033}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;color:#94a3b8;margin-top:50px;font-size:12px}.login-footer p{margin-bottom:8px}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:30px}.mobile-logo{color:#0f172a;justify-content:center;align-items:center;gap:10px;margin-bottom:60px;font-weight:700;display:flex}}@media (width<=480px){.login-panel{padding:25px 20px}.login-heading h2{font-size:32px}.login-heading{margin-bottom:30px}}.back-login{color:#64748b;align-items:center;gap:7px;margin-bottom:30px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.back-login:hover{color:#0f766e;transform:translate(-2px)}.auth-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:flex-start;gap:13px;margin-bottom:24px;padding:16px;display:flex}.auth-success svg{flex-shrink:0;margin-top:2px}.auth-success strong{margin-bottom:4px;font-size:14px;display:block}.auth-success p{color:#15803d;margin:0;font-size:13px;line-height:1.5}.security-note{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:10px;margin-top:24px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.security-note svg{color:#0f766e;flex-shrink:0}.success-login-button{justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex}.password-reset-success{text-align:center}.success-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 24px;display:flex}.password-reset-success .login-heading{text-align:center}.redirect-message{color:#64748b;margin:20px 0;font-size:14px}.password-requirements{color:#64748b;background:#f8fafc;border-radius:8px;flex-direction:column;gap:8px;margin-top:-4px;margin-bottom:8px;padding:12px 14px;font-size:12px;display:flex}.password-requirements div{align-items:center;gap:8px;display:flex}.password-requirements span{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:700;display:flex}.password-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:color .2s;display:flex}.password-toggle:hover{color:#0f766e}@media (width<=768px){.back-login{margin-bottom:24px}.auth-success{padding:14px}.security-note{margin-top:20px}}.dashboard{background:#f8fafc;min-height:100vh;padding:30px}.dashboard-header{margin-bottom:30px}.dashboard-header h1{margin:0;font-size:30px;font-weight:700}.dashboard-header p{color:#64748b;margin-top:6px}.dashboard-cards{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;display:grid}.dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:18px;padding:24px;display:flex}.card-icon{background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;display:flex}.card-content{flex-direction:column;gap:6px;display:flex}.card-label{color:#64748b;font-size:14px}.card-value{color:#0f172a;font-size:28px;font-weight:700}.dashboard-content{grid-template-columns:2fr 1fr;gap:20px;display:grid}.dashboard-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{margin:0;font-size:18px}.appointment-list{flex-direction:column;gap:12px;display:flex}.appointment-row{background:#f8fafc;border-radius:8px;grid-template-columns:90px 1fr 150px 100px;align-items:center;gap:15px;padding:15px;display:grid}.appointment-time{font-weight:600}.appointment-info{flex-direction:column;gap:4px;display:flex}.appointment-info span{color:#64748b;font-size:13px}.appointment-provider{color:#475569;font-size:14px}.appointment-status{color:#166534;text-align:center;background:#dcfce7;border-radius:20px;padding:5px 9px;font-size:12px}.patient-list{flex-direction:column;gap:15px;display:flex}.patient-row{align-items:center;gap:12px;display:flex}.patient-avatar{color:#0369a1;background:#e0f2fe;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.patient-info{flex-direction:column;gap:4px;display:flex}.patient-info span{color:#64748b;font-size:13px}.empty-state{text-align:center;color:#64748b;padding:40px 20px}.empty-icon{margin-bottom:10px;font-size:35px}.empty-state h3{color:#334155;margin-bottom:5px}.empty-state p{margin:0;font-size:14px}.dashboard-loading,.dashboard-error{text-align:center;padding:40px}.patients-page{padding:30px}.patients-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.patients-header h1{color:#0f172a;margin:0;font-size:28px}.patients-header p{color:#64748b;margin:6px 0 0;font-size:14px}.primary-button{color:#fff;cursor:pointer;background:#0e7490;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-size:14px;font-weight:600;display:flex}.primary-button:hover{background:#155e75}.secondary-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:11px 18px;font-weight:600}.patients-toolbar{align-items:center;gap:10px;margin-bottom:18px;display:flex}.patient-search{color:#94a3b8;background:#fff;border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:10px;width:350px;height:43px;padding:0 14px;display:flex}.patient-search input{color:#334155;border:none;outline:none;width:100%;font-size:14px}.refresh-button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.refresh-button:hover{background:#f8fafc}.patients-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.patients-table-wrapper{overflow-x:auto}.patients-table{border-collapse:collapse;width:100%;min-width:850px}.patients-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.6px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:15px 18px;font-size:11px;font-weight:700}.patients-table td{color:#475569;border-bottom:1px solid #f1f5f9;padding:16px 18px;font-size:13px}.patients-table tbody tr:hover{background:#fafafa}.patient-cell{align-items:center;gap:12px;display:flex}.patient-cell>div:last-child{flex-direction:column;gap:3px;display:flex}.patient-cell strong{color:#1e293b;font-size:14px}.patient-cell span{color:#94a3b8;font-size:11px}.table-actions{gap:5px;display:flex}.icon-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.icon-button:hover{color:#0e7490;background:#f1f5f9}.icon-button.danger:hover{color:#dc2626;background:#fef2f2}.empty-table{text-align:center;color:#94a3b8!important;padding:50px!important}.table-loading{text-align:center;color:#64748b;padding:50px}.patients-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:13px 15px;font-size:13px}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.patient-modal{background:#fff;border-radius:14px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0f172a33}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:23px 25px;display:flex}.modal-header>div:first-child{align-items:center;gap:13px;display:flex}.modal-title-icon{color:#0e7490;background:#ecfeff;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:19px}.modal-header p{color:#94a3b8;margin:4px 0 0;font-size:12px}.modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.modal-close:hover{background:#f1f5f9}.patient-form{padding:25px}.form-section{margin-bottom:25px}.form-section h3{color:#334155;margin:0 0 16px;font-size:14px}.form-field{flex-direction:column;gap:7px;display:flex}.form-field label{color:#475569;font-size:12px;font-weight:600}.form-field input,.form-field textarea{color:#334155;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px}.form-field input{height:43px}.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:#0e7490;box-shadow:0 0 0 3px #0e749014}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin-bottom:15px;padding:12px;font-size:13px}.modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;display:flex}@media (width<=700px){.patients-page{padding:20px}.patients-header{flex-direction:column;align-items:flex-start;gap:15px}.patient-search,.patients-toolbar{width:100%}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.patient-history-modal{background:#fff;border-radius:18px;flex-direction:column;width:min(1000px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 25px 60px #0f172a38,0 8px 20px #0f172a14}.history-modal-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.history-patient-info{align-items:center;gap:14px;display:flex}.history-avatar{color:#0369a1;background:#e0f2fe;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:700;display:flex}.history-patient-info h2{color:#111827;margin:0;font-size:20px;font-weight:700}.history-patient-info p{color:#6b7280;margin:3px 0 0;font-size:13px}.modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s,color .2s,transform .2s;display:flex}.modal-close:hover{color:#dc2626;background:#fee2e2;transform:scale(1.04)}.patient-history-summary{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 24px;display:grid}.history-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:13px 15px}.history-summary-card span{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.history-summary-card strong{color:#111827;word-break:break-word;font-size:14px;display:block}.patient-history-modal{overflow:hidden}.history-section{flex-shrink:0}.patient-history-modal>.history-section{overflow:visible}.history-section{border-bottom:1px solid #e5e7eb;padding:22px 24px}.history-section-title{align-items:center;gap:12px;margin-bottom:18px;display:flex}.history-section-icon{color:#2563eb;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.history-section-title h3{color:#111827;margin:0;font-size:16px;font-weight:700}.history-section-title p{color:#6b7280;margin:3px 0 0;font-size:12px}.medical-history-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.medical-history-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:15px}.medical-history-grid label,.history-appointment-details label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.medical-history-grid p{color:#374151;margin:0;font-size:14px;line-height:1.6}.appointment-history-list{flex-direction:column;gap:14px;display:flex}.history-appointment-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 2px 6px #0f172a0a}.history-date{color:#2563eb;align-items:flex-start;gap:10px;display:flex}.history-date strong{color:#111827;font-size:14px;font-weight:700;display:block}.history-date span{color:#6b7280;align-items:center;gap:5px;margin-top:4px;font-size:12px;display:flex}.history-status{text-transform:capitalize;border-radius:999px;margin-top:12px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.history-status.completed{color:#15803d;background:#dcfce7}.history-status.scheduled{color:#1d4ed8;background:#dbeafe}.history-status.cancelled,.history-status.canceled{color:#dc2626;background:#fee2e2}.history-status.pending{color:#b45309;background:#fef3c7}.history-appointment-details{border-top:1px solid #f1f5f9;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding-top:16px;display:grid}.history-appointment-details strong{color:#1f2937;align-items:center;gap:6px;font-size:13px;display:flex}.history-appointment-details p{color:#4b5563;margin:0;font-size:13px;line-height:1.5}.appointment-notes{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:8px;margin-top:16px;padding:14px}.notes-header{color:#374151;align-items:center;gap:7px;margin-bottom:7px;display:flex}.notes-header strong{font-size:13px}.appointment-notes p{color:#4b5563;margin:0;font-size:13px;line-height:1.6}.history-loading,.history-empty{text-align:center;color:#6b7280;padding:35px 20px}.history-empty svg{color:#94a3b8;margin-bottom:10px}.history-empty h4{color:#374151;margin:0 0 5px;font-size:15px}.history-empty p{margin:0;font-size:13px}.history-modal-footer{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;padding:16px 24px;display:flex}.secondary-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .2s}.secondary-button:hover{background:#f3f4f6}@media (width<=700px){.modal-backdrop{align-items:flex-start;padding:12px}.patient-history-modal{border-radius:14px;max-height:calc(100vh - 24px)}.patient-history-summary,.medical-history-grid,.history-appointment-details{grid-template-columns:1fr}.history-modal-header,.history-section,.history-modal-footer{padding-left:16px;padding-right:16px}}.patient-history-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex:1;min-height:0;overflow:hidden auto}.patient-history-scroll::-webkit-scrollbar{width:7px}.patient-history-scroll::-webkit-scrollbar-track{background:0 0}.patient-history-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.patient-history-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.appointments-page{box-sizing:border-box;background:#f5f8f7;min-height:100vh;padding:30px}.appointments-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.page-eyebrow{color:#16836d;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.appointments-header h1{color:#173f36;margin:0;font-size:32px;line-height:1.15}.appointments-header p{color:#71827d;margin:8px 0 0;font-size:14px}.appointments-header-actions{align-items:center;gap:10px;display:flex}.refresh-button,.new-appointment-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.refresh-button{color:#31564c;background:#fff;border:1px solid #d6e1de}.refresh-button:hover{background:#f6fbf9;border-color:#b9d5cd}.new-appointment-button{color:#fff;background:#16836d;border:1px solid #16836d}.new-appointment-button:hover{background:#126b59;border-color:#126b59;box-shadow:0 4px 12px #16836d2e}.refresh-button:disabled,.new-appointment-button:disabled{opacity:.55;cursor:not-allowed}.refresh-spinning{animation:.8s linear infinite appointment-spin}.appointments-error{color:#a23b3b;background:#fff4f4;border:1px solid #f0cccc;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:13px 16px;font-size:13px;display:flex}.appointments-error button{color:#a23b3b;cursor:pointer;background:0 0;border:none;border-radius:50%;width:25px;height:25px;padding:0;font-size:18px}.calendar-toolbar{background:#fff;border:1px solid #dfe8e4;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:16px 18px;display:flex;box-shadow:0 3px 14px #28463c0a}.calendar-date-area{flex-direction:column;gap:5px;display:flex}.calendar-title-row{color:#294c43;align-items:center;gap:9px;display:flex}.calendar-title-row h2{color:#294c43;margin:0;font-size:18px;font-weight:700}.calendar-duration-info{color:#87938f;align-items:center;gap:5px;font-size:11px;display:flex}.calendar-duration-info strong{color:#16836d;font-weight:750}.calendar-toolbar-right,.week-navigation{align-items:center;display:flex}.week-navigation button{color:#31564c;cursor:pointer;background:#fff;border:1px solid #d7e1de;border-right:none;height:36px;padding:0 13px;font-size:12px;font-weight:650}.week-navigation button:first-child{border-radius:8px 0 0 8px}.week-navigation button:last-child{border-right:1px solid #d7e1de;border-radius:0 8px 8px 0}.week-navigation button:hover{color:#16836d;background:#f6faf8}.calendar-container{background:#fff;border:1px solid #dfe8e4;border-radius:14px;width:100%;overflow:auto hidden;box-shadow:0 5px 25px #28463c0d}.calendar-wrapper{min-width:1100px}.calendar-header-row{background:#fff;border-bottom:1px solid #dfe8e4;grid-template-columns:85px repeat(7,minmax(145px,1fr));min-width:1100px;display:grid}.time-column-header{color:#8a9893;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid #e6ece9;justify-content:center;align-items:center;min-height:70px;font-size:11px;font-weight:750;display:flex}.day-header{background:#fff;border-left:1px solid #edf2f0;flex-direction:column;justify-content:center;align-items:center;min-height:70px;transition:background .15s;display:flex}.day-header span{color:#899792;text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:700}.day-header strong{color:#294c43;margin-top:4px;font-size:20px;line-height:1}.day-header.today{background:#eff8f5}.day-header.today strong{color:#16836d}.day-header.closed{background:#fafafa}.day-header.closed strong,.day-header.closed span{color:#aab4b1}.calendar-body{grid-template-columns:85px repeat(7,minmax(145px,1fr));min-width:1100px;display:grid;position:relative}.calendar-time-column{z-index:2;background:#fbfcfc;border-right:1px solid #e5ece9;position:relative}.calendar-time-slot{box-sizing:border-box;border-bottom:1px solid #edf1ef;position:relative}.time-label{color:#8b9995;white-space:nowrap;font-size:10px;font-weight:550;position:absolute;top:7px;right:9px}.calendar-day-column{background:#fff;border-left:1px solid #edf2f0;min-width:0;position:relative;overflow:hidden}.calendar-cell{box-sizing:border-box;background:linear-gradient(#0000 calc(100% - 1px),#edf1ef calc(100% - 1px));border-bottom:1px solid #edf1ef}.calendar-day-column{background:repeating-linear-gradient(#0000 0 31px,#e7eceaa6 32px,#0000 33px 63px,#dce4e1e6 64px)}.closed-day{background:repeating-linear-gradient(135deg,#fafafa 0 7px,#f6f7f7 7px 14px)}.closed-day .calendar-cell{opacity:.4}.closed-day-overlay{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.closed-day-overlay span{color:#9aa6a2;text-transform:uppercase;letter-spacing:.7px;background:#ffffffe6;border:1px solid #d9e0de;border-radius:20px;padding:6px 11px;font-size:10px;font-weight:750}.appointment-slot{z-index:30;box-sizing:border-box;min-width:0;padding:2px;position:absolute}.appointment-card{box-sizing:border-box;color:#21483e;text-align:left;cursor:pointer;background:#e5f4ef;border:none;border-left:4px solid #16836d;border-radius:7px;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;padding:7px 8px;transition:transform .12s,box-shadow .12s,background .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1e5a4b0d}.appointment-card:hover{background:#dff1eb;transform:translateY(-1px);box-shadow:0 5px 14px #1e5a4b29}.appointment-card:focus-visible{outline-offset:1px;outline:2px solid #16836d}.appointment-card-time{color:#53756c;white-space:nowrap;align-items:center;gap:4px;margin-bottom:3px;font-size:9px;font-weight:650;display:flex;overflow:hidden}.appointment-card-time span{color:#9aaba5}.appointment-card-patient{color:#21483e;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-bottom:2px;font-size:11px;font-weight:750;line-height:1.2;overflow:hidden}.appointment-card-title{color:#42665c;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:9px;line-height:1.25;overflow:hidden}.appointment-card-provider{color:#16836d;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-top:auto;font-size:8px;font-weight:700;line-height:1.15;overflow:hidden}.appointment-card-status{color:#16836d;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background:#ffffffa6;border-radius:10px;max-width:45%;padding:2px 5px;font-size:7px;font-weight:800;position:absolute;top:5px;right:5px;overflow:hidden}.appointments-loading{color:#71827d;justify-content:center;align-items:center;gap:10px;min-height:450px;font-size:13px;display:flex}.button-spinner{border:2px solid #d7e5e1;border-top-color:#16836d;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite appointment-spin}.appointment-modal-overlay{z-index:1000;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.appointment-modal{box-sizing:border-box;background:#fff;border-radius:17px;width:100%;max-width:520px;max-height:calc(100vh - 40px);padding:26px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.modal-close{color:#66736f;cursor:pointer;background:#f5f7f7;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:#294c43;background:#eaf0ee}.appointment-modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;padding-right:35px;display:flex}.modal-eyebrow{color:#16836d;letter-spacing:1.1px;font-size:10px;font-weight:800}.appointment-modal-header h2{color:#173f36;margin:5px 0 0;font-size:22px}.appointment-status-badge{color:#16836d;white-space:nowrap;background:#e7f5ef;border-radius:20px;align-items:center;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.appointment-patient-section{background:#f7faf9;border:1px solid #e4ebe8;border-radius:12px;align-items:center;gap:13px;margin-bottom:22px;padding:15px;display:flex}.patient-avatar{color:#16836d;background:#dff0ea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;font-size:17px;font-weight:800;display:flex}.appointment-patient-section h3{color:#203f37;margin:0;font-size:16px}.appointment-patient-section p{color:#75827e;margin:4px 0 0;font-size:12px}.appointment-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:22px;display:grid}.appointment-detail{background:#fff;border:1px solid #e7ecea;border-radius:10px;align-items:flex-start;gap:10px;min-width:0;padding:12px;display:flex}.detail-icon{color:#16836d;background:#edf7f4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.appointment-detail strong{color:#82908b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.appointment-detail p{color:#263f38;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.appointment-notes-detail{grid-column:1/-1;display:block}.appointment-notes-detail p{white-space:pre-wrap;margin-top:5px;line-height:1.5}.appointment-actions{border-top:1px solid #e9eeec;flex-direction:column;gap:9px;padding-top:18px;display:flex}.appointment-actions button{cursor:pointer;border-radius:9px;width:100%;height:40px;font-size:13px;font-weight:650}.appointment-actions button:disabled{opacity:.55;cursor:not-allowed}.check-in-button{color:#fff;background:#1f8f55;border:none}.check-in-button:hover{background:#177544}.edit-appointment-button{color:#31564c;background:#fff;border:1px solid #d6ddda}.edit-appointment-button:hover{background:#f6faf8}.delete-appointment-button{color:#c0392b;background:#fff;border:1px solid #eccaca}.delete-appointment-button:hover{background:#fff5f5}.appointment-form-modal{background:#fff;border-radius:17px;width:100%;max-width:680px;max-height:90vh;overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.appointment-form-header{border-bottom:1px solid #e5ebe9;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 25px;display:flex}.appointment-form-title{align-items:center;gap:12px;display:flex}.appointment-form-icon{color:#16836d;background:#e8f5f1;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.appointment-form-title span{color:#16836d;letter-spacing:1px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.appointment-form-title h2{color:#173f36;margin:0;font-size:20px}.appointment-form-title p{color:#7b8985;margin:4px 0 0;font-size:11px}.appointment-new-placeholder{color:#71827d;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:300px;padding:40px;display:flex}.appointment-new-placeholder svg{color:#16836d}.appointment-new-placeholder h3{color:#294c43;margin:5px 0 0;font-size:17px}.appointment-new-placeholder p{margin:0;font-size:12px}.placeholder-duration{background:#f1f7f5;border-radius:8px;padding:7px 11px}.placeholder-duration strong{color:#16836d}.form-cancel-button{color:#31564c;cursor:pointer;background:#fff;border:1px solid #d7dfdc;border-radius:9px;height:39px;margin-top:12px;padding:0 18px;font-size:13px;font-weight:650}.form-cancel-button:hover{background:#f6faf8}@media (width<=800px){.appointments-page{padding:18px}.appointments-header{flex-direction:column}.appointments-header-actions{width:100%}.refresh-button,.new-appointment-button{flex:1}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-toolbar-right,.week-navigation{width:100%}.week-navigation button{flex:1}}@media (width<=600px){.appointments-page{padding:14px}.appointments-header h1{font-size:27px}.calendar-duration-info{font-size:10px}.appointment-modal-overlay{padding:12px}.appointment-modal{max-height:calc(100vh - 24px);padding:20px}.appointment-details-grid{grid-template-columns:1fr}.appointment-notes-detail{grid-column:auto}.appointment-form-header{padding:18px}}.appointment-notes-modal{background:#fff;border-radius:16px;width:min(560px,100vw - 32px);animation:.2s ease-out notesModalIn;overflow:hidden;box-shadow:0 24px 70px #0f172a38}@keyframes notesModalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.appointment-notes-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 20px;display:flex}.appointment-notes-modal-header>div{min-width:0}.appointment-notes-modal-header .modal-eyebrow{letter-spacing:.09em;color:#64748b;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.appointment-notes-modal-header h2{color:#0f172a;margin:0;font-size:21px;font-weight:700;line-height:1.3}.appointment-notes-modal-header .modal-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .15s,color .15s,border-color .15s,transform .15s;display:flex}.appointment-notes-modal-header .modal-close:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.appointment-notes-modal-header .modal-close:active{transform:scale(.95)}.appointment-notes-form{padding:24px 26px 20px}.appointment-notes-form label{color:#334155;margin-bottom:9px;font-size:13px;font-weight:600;display:block}.appointment-notes-form textarea{box-sizing:border-box;color:#0f172a;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;min-height:190px;padding:14px 15px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .15s,box-shadow .15s,background .15s}.appointment-notes-form textarea::placeholder{color:#94a3b8}.appointment-notes-form textarea:hover{border-color:#94a3b8}.appointment-notes-form textarea:focus{border-color:#64748b;box-shadow:0 0 0 3px #64748b1f}.notes-character-count{text-align:right;color:#94a3b8;margin-top:7px;font-size:11px}.appointment-notes-actions{background:#f8fafc;border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:10px;padding:18px 26px 22px;display:flex}.notes-cancel-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;height:40px;padding:0 17px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.notes-cancel-button:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.notes-save-button{color:#fff;cursor:pointer;background:#0f766e;border:1px solid #0f766e;border-radius:9px;height:40px;padding:0 19px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.notes-save-button:hover:not(:disabled){background:#115e59;border-color:#115e59;box-shadow:0 4px 12px #0f766e33}.notes-save-button:active:not(:disabled){transform:translateY(1px)}.notes-save-button:disabled,.notes-cancel-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.appointment-notes-modal{border-radius:14px;width:calc(100vw - 24px)}.appointment-notes-modal-header,.appointment-notes-form{padding:20px}.appointment-notes-actions{padding:16px 20px 20px}.appointment-notes-form textarea{min-height:160px}.appointment-notes-actions button{flex:1}}.appointment-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px;animation:.2s modalBackdropIn;display:flex;position:fixed;inset:0;overflow-y:auto}.appointment-modal{background:#fff;border:1px solid #e5e7eb;border-radius:18px;flex-direction:column;width:min(920px,100%);max-height:calc(100vh - 48px);animation:.25s modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a33,0 8px 20px #0f172a14}.appointment-modal-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.appointment-modal-title{align-items:center;gap:14px;min-width:0;display:flex}.appointment-modal-icon{color:#2563eb;background:#eff6ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.appointment-modal-title h2{color:#111827;margin:0;font-size:20px;font-weight:700;line-height:1.3}.appointment-modal-title p{color:#6b7280;margin:4px 0 0;font-size:13px;line-height:1.4}.appointment-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .2s,color .2s,transform .2s;display:flex}.appointment-modal-close:hover{color:#111827;background:#f3f4f6;transform:rotate(2deg)}.appointment-modal-close:active{transform:scale(.95)}.appointment-modal-form{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#f8fafc;flex:1;min-height:0;padding:24px;overflow-y:auto}.appointment-modal-form::-webkit-scrollbar{width:7px}.appointment-modal-form::-webkit-scrollbar-track{background:0 0}.appointment-modal-form::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.appointment-modal-form::-webkit-scrollbar-thumb:hover{background:#94a3b8}.form-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:18px;padding:20px;box-shadow:0 1px 2px #0f172a08}.form-section:last-of-type{margin-bottom:0}.form-section-title{color:#1e3a8a;align-items:center;gap:9px;margin-bottom:18px;font-size:15px;font-weight:700;display:flex}.form-section-title svg{color:#2563eb}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-group{flex-direction:column;gap:7px;min-width:0;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151;font-size:13px;font-weight:600;line-height:1.4;display:block}.required{color:#dc2626;margin-left:3px}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:9px;outline:none;width:100%;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input,.form-group select{height:43px;padding:0 12px}.form-group textarea{resize:vertical;min-height:90px;padding:11px 12px;line-height:1.5}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-with-icon{width:100%;position:relative}.input-with-icon>svg{z-index:1;color:#6b7280;pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon input,.input-with-icon select{padding-left:39px}.form-group select{cursor:pointer;appearance:auto}.form-group input[type=date],.form-group input[type=time]{cursor:pointer}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{color:#9ca3af;cursor:not-allowed;opacity:.8;background:#f3f4f6}.appointment-modal-footer{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.appointment-modal-footer button{cursor:pointer;border-radius:9px;min-width:120px;height:42px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s}.appointment-modal-footer button:active{transform:scale(.98)}.btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.btn-secondary:hover{color:#111827;background:#f9fafb;border-color:#9ca3af}.btn-primary{color:#fff;background:#2563eb;border:1px solid #2563eb;box-shadow:0 2px 5px #2563eb33}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #2563eb40}.btn-primary:active{background:#1e40af}.appointment-modal-footer button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(15px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.appointment-modal-backdrop{align-items:flex-start;padding:12px}.appointment-modal{border-radius:14px;width:100%;max-height:calc(100vh - 24px)}.appointment-modal-header{padding:17px 18px}.appointment-modal-form{padding:16px}.form-section{border-radius:12px;padding:16px}.form-grid{grid-template-columns:1fr;gap:14px}.form-group.full-width{grid-column:auto}.appointment-modal-footer{padding:14px 16px}}@media (width<=480px){.appointment-modal-backdrop{padding:0}.appointment-modal{border-radius:0;width:100%;min-height:100vh;max-height:100vh}.appointment-modal-header{padding:15px}.appointment-modal-title{gap:10px}.appointment-modal-icon{width:38px;height:38px}.appointment-modal-title h2{font-size:17px}.appointment-modal-title p{font-size:12px}.appointment-modal-form{padding:12px}.form-section{margin-bottom:12px;padding:14px}.form-section-title{margin-bottom:15px;font-size:14px}.appointment-modal-footer{flex-direction:column-reverse;padding:12px}.appointment-modal-footer button{width:100%}}.providers-page{box-sizing:border-box;background:#f8fafc;width:100%;min-height:100%;padding:28px 32px 40px}.providers-header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.providers-title{align-items:center;gap:13px;display:flex}.providers-title-icon{color:#2563eb;background:#eaf2ff;border-radius:11px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.providers-header h1{color:#172033;letter-spacing:-.3px;margin:0;font-size:26px;font-weight:700}.providers-header p{color:#718096;margin:5px 0 0;font-size:13px}.providers-header-actions{align-items:center;gap:10px;display:flex}.refresh-provider-btn,.add-provider-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.refresh-provider-btn{color:#475569;background:#fff;border:1px solid #dbe3ed}.refresh-provider-btn:hover{background:#f8fafc;border-color:#cbd5e1}.refresh-provider-btn:disabled{opacity:.6;cursor:not-allowed}.add-provider-btn{color:#fff;background:#2563eb;border:1px solid #2563eb;box-shadow:0 3px 8px #2563eb29}@keyframes provider-spin{to{transform:rotate(360deg)}}.providers-toolbar{box-sizing:border-box;background:#fff;border:1px solid #e6ebf2;border-radius:11px;justify-content:space-between;align-items:center;min-height:62px;margin-bottom:20px;padding:10px 14px;display:flex}.provider-search{color:#94a3b8;background:#f8fafc;border:1px solid #e1e7ef;border-radius:8px;align-items:center;gap:10px;width:390px;padding:10px 12px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.provider-search:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.provider-search input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;font-size:13px}.provider-search input::placeholder{color:#94a3b8}.provider-count{color:#64748b;padding-right:6px;font-size:13px}.provider-count strong{color:#1e293b;font-weight:700}.providers-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;display:grid}.provider-card{background:#fff;border:1px solid #e6ebf2;border-radius:13px;min-width:0;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 5px #0f172a06}.provider-card:hover{border-color:#d6e0ec;transform:translateY(-2px);box-shadow:0 9px 25px #0f172a12}.provider-card-header{justify-content:space-between;align-items:center;display:flex}.provider-avatar{color:#2563eb;background:#eaf2ff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:15px;font-weight:700;display:flex}.provider-number{color:#64748b;background:#f1f5f9;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600}.provider-info{margin-top:16px}.provider-info h2{color:#172033;margin:0;font-size:17px;font-weight:650}.provider-specialty{color:#2563eb;align-items:center;gap:7px;margin-top:7px;font-size:12.5px;font-weight:600;display:flex}.provider-specialty svg{flex-shrink:0}.provider-contact{border-top:1px solid #eef2f6;flex-direction:column;gap:11px;margin-top:18px;padding-top:16px;display:flex}.contact-item{color:#64748b;align-items:center;gap:9px;min-width:0;font-size:12px;display:flex}.contact-item svg{color:#94a3b8;flex-shrink:0}.contact-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provider-card-footer{color:#94a3b8;border-top:1px solid #eef2f6;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:13px;font-size:10.5px;display:flex}.providers-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:300px;font-size:13px;display:flex}.provider-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:30px;height:30px;margin-bottom:12px;animation:.8s linear infinite provider-spin}.providers-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 15px;font-size:13px;display:flex}.providers-error button{color:#991b1b;cursor:pointer;background:0 0;border:none;font-weight:700}.no-providers{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:13px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;min-height:300px;display:flex}.empty-provider-icon{color:#2563eb;background:#eef4ff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.no-providers h3{color:#334155;margin:14px 0 5px;font-size:16px}.no-providers p{color:#94a3b8;margin:0;font-size:12px}.empty-add-provider-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:7px;margin-top:16px;padding:9px 14px;font-size:12px;font-weight:600;display:flex}.provider-modal{background:#fff;border-radius:14px;width:min(560px,100%);overflow:hidden;box-shadow:0 25px 60px #0f172a40}.provider-modal-header h2{color:#172033;margin:0;font-size:19px}.provider-modal-header p{color:#718096;margin:5px 0 0;font-size:12px}.provider-modal-close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.provider-modal-body{padding:35px 24px}.coming-soon-message{text-align:center;flex-direction:column;align-items:center;display:flex}.coming-soon-message h3{color:#334155;margin:14px 0 6px;font-size:16px}.coming-soon-message p{color:#94a3b8;max-width:360px;margin:0;font-size:12px;line-height:1.6}.provider-modal-footer{background:#fafbfd;border-top:1px solid #edf1f5;justify-content:flex-end;gap:9px;padding:15px 23px;display:flex}.modal-cancel-btn,.modal-save-btn{cursor:pointer;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 15px;font-size:12px;font-weight:600;display:inline-flex}.modal-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=800px){.providers-page{padding:22px 18px 30px}.providers-header{flex-direction:column;align-items:flex-start;gap:16px}.providers-header-actions{width:100%}.refresh-provider-btn,.add-provider-btn{flex:1}.provider-search{width:100%}.providers-toolbar{flex-direction:column;align-items:stretch;gap:10px}.provider-count{padding-left:4px}}@media (width<=500px){.providers-grid{grid-template-columns:1fr}.providers-title-icon{width:40px;height:40px}.providers-header h1{font-size:23px}.providers-header-actions{flex-direction:column}.refresh-provider-btn,.add-provider-btn{width:100%}}.providers-list{flex-direction:column;gap:12px;display:flex}.provider-row{box-sizing:border-box;background:#fff;border:1px solid #e5eaf0;border-radius:12px;justify-content:space-between;align-items:center;min-height:90px;padding:18px 22px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.provider-row:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 18px #0f172a0f}.provider-main{align-items:center;gap:15px;min-width:0;display:flex}.provider-avatar{color:#2563eb;background:#edf4ff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:14px;font-weight:700;display:flex}.provider-name-section{min-width:0}.provider-name-section h2{color:#172033;margin:0;font-size:15px;font-weight:650}.provider-specialty{color:#64748b;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.provider-specialty svg{color:#2563eb}.provider-details{align-items:center;gap:22px;margin-left:30px;display:flex}.provider-detail{color:#64748b;align-items:center;gap:7px;min-width:180px;font-size:12px;display:flex}.provider-detail svg{color:#94a3b8;flex-shrink:0}.provider-detail span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provider-id{color:#94a3b8;white-space:nowrap;min-width:55px;font-size:11px;font-weight:600}@media (width<=950px){.provider-row{flex-direction:column;align-items:flex-start;gap:15px}.provider-details{gap:18px;width:100%;margin-left:67px}}@media (width<=650px){.provider-details{flex-direction:column;align-items:flex-start;gap:8px;margin-left:0}.provider-detail{width:100%;min-width:0}}.add-provider-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:13px;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 3px 8px #2563eb2e}.add-provider-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 5px 14px #2563eb38}.add-provider-btn:active{transform:translateY(0)}.provider-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a85;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.provider-modal{background:#fff;border-radius:14px;width:100%;max-width:560px;max-height:calc(100vh - 40px);animation:.2s ease-out provider-modal-in;overflow:hidden;box-shadow:0 25px 70px #0f172a38}@keyframes provider-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.provider-modal-header{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex}.modal-title-row{align-items:center;gap:10px;display:flex}.modal-icon{color:#2563eb;background:#edf4ff;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.provider-modal-header h2{color:#172033;margin:0;font-size:18px;font-weight:700}.provider-modal-header p{color:#7b8798;margin:7px 0 0 46px;font-size:12px;line-height:1.5}.provider-modal-close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,color .2s;display:flex}.provider-modal-close:hover{color:#1e293b;background:#eef2f7}.provider-modal-body{max-height:calc(100vh - 190px);padding:22px 24px 24px;overflow-y:auto}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-group{flex-direction:column;gap:7px;margin-bottom:17px;display:flex}.form-group label{color:#334155;font-size:12px;font-weight:650}.form-group label span{color:#dc2626;margin-left:3px}.form-group input{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #dbe2ea;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:#a0aaba}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.input-with-icon input{padding-left:38px}.provider-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:11px 13px;font-size:12px;line-height:1.5}.provider-modal-footer{background:#fafbfd;border-top:1px solid #edf1f5;justify-content:flex-end;align-items:center;gap:9px;padding:15px 24px;display:flex}.modal-cancel-btn,.modal-save-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:39px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:650;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.modal-cancel-btn{color:#475569;background:#fff;border:1px solid #dbe2ea}.modal-cancel-btn:hover{background:#f8fafc}.modal-save-btn{color:#fff;background:#2563eb;border:none}.modal-save-btn:hover{background:#1d4ed8}.modal-save-btn:disabled,.modal-cancel-btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=600px){.provider-modal-overlay{padding:12px}.provider-modal{max-height:calc(100vh - 24px)}.provider-modal-header,.provider-modal-body{padding:18px}.provider-modal-footer{padding:14px 18px}.form-row{grid-template-columns:1fr;gap:0}.provider-modal-header p{margin-left:0}}.delete-provider-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-left:4px;transition:background .2s,color .2s,border-color .2s;display:flex}.delete-provider-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.delete-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.delete-modal{box-sizing:border-box;text-align:center;background:#fff;border-radius:14px;width:100%;max-width:400px;padding:28px;animation:.2s ease-out delete-modal-in;box-shadow:0 25px 70px #0f172a33}@keyframes delete-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.delete-modal-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 15px;display:flex}.delete-modal h2{color:#172033;margin:0;font-size:18px;font-weight:700}.delete-modal p{color:#64748b;max-width:330px;margin:10px auto 5px;font-size:13px;line-height:1.6}.delete-modal p strong{color:#334155;font-weight:650}.delete-warning{color:#b91c1c;margin-top:7px;font-size:11px;display:block}.delete-modal-actions{justify-content:center;gap:9px;margin-top:23px;display:flex}.delete-cancel-btn,.delete-confirm-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:39px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:650;display:inline-flex}.delete-cancel-btn{color:#475569;background:#fff;border:1px solid #dbe2ea}.delete-cancel-btn:hover{background:#f8fafc}.delete-confirm-btn{color:#fff;background:#dc2626;border:none}.delete-confirm-btn:hover{background:#b91c1c}.delete-cancel-btn:disabled,.delete-confirm-btn:disabled{opacity:.55;cursor:not-allowed}.users-page{box-sizing:border-box;background:#f7f9fc;width:100%;min-height:100%;padding:28px 32px 40px}.users-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;display:flex}.users-title{align-items:center;gap:14px;display:flex}.users-title-icon{color:#167477;background:#eaf3f4;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.users-title h1{color:#172033;letter-spacing:-.4px;margin:0;font-size:25px;font-weight:700}.users-title p{color:#718096;margin:4px 0 0;font-size:13px}.users-header-actions{align-items:center;gap:10px;display:flex}.users-refresh-btn,.users-add-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:650;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s;display:inline-flex}.users-refresh-btn{color:#475569;background:#fff;border:1px solid #dbe3eb}.users-refresh-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.users-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.users-add-btn{color:#fff;background:#167477;border:1px solid #167477;box-shadow:0 3px 8px #16747726}.users-add-btn:hover{background:#126366;border-color:#126366;transform:translateY(-1px);box-shadow:0 5px 12px #16747733}.users-toolbar{box-sizing:border-box;background:#fff;border:1px solid #e5eaf0;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;min-height:62px;margin-bottom:18px;padding:10px 14px;display:flex}.users-search{color:#94a3b8;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;width:min(480px,100%);height:40px;padding:0 12px;display:flex}.users-search:focus-within{background:#fff;border-color:#167477;box-shadow:0 0 0 3px #16747714}.users-search input{color:#334155;background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:12px}.users-search input::placeholder{color:#9aa7b6}.users-count{color:#64748b;white-space:nowrap;align-items:center;gap:5px;padding-right:5px;font-size:12px;display:flex}.users-count strong{color:#172033;font-size:13px}.users-error{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:12px 14px;font-size:12px;display:flex}.users-error button{color:#991b1b;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:700}.users-list{flex-direction:column;gap:8px;display:flex}.user-row{box-sizing:border-box;background:#fff;border:1px solid #e5eaf0;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.user-row:hover{border-color:#d4dce5;transform:translateY(-1px);box-shadow:0 4px 14px #0f172a0d}.user-main{align-items:center;gap:13px;min-width:0;display:flex}.user-avatar{color:#167477;letter-spacing:.3px;background:#eaf3f4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;font-size:13px;font-weight:750;display:flex}.user-name{min-width:0}.user-name h2{color:#172033;white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;font-size:14px;font-weight:700;overflow:hidden}.user-name>div{color:#7b8798;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.user-name svg{flex-shrink:0}.user-right{flex-shrink:0;align-items:center;gap:18px;display:flex}.role-badge{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:105px;height:28px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.role-badge.admin{color:#6d45b8;background:#f0eafe}.role-badge.receptionist{color:#2d8060;background:#edf7f2}.user-date{color:#94a3b8;text-align:right;white-space:nowrap;width:85px;font-size:10px}.delete-user-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,color .2s,border-color .2s;display:flex}.users-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:280px;display:flex}.users-loading p{margin:0;font-size:12px}.user-spinner{border:3px solid #e2e8f0;border-top-color:#167477;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite user-spin}@keyframes user-spin{to{transform:rotate(360deg)}}.users-list:empty:before{content:"No users found.";color:#94a3b8;background:#fff;border:1px solid #e5eaf0;border-radius:10px;justify-content:center;align-items:center;min-height:220px;font-size:13px;display:flex}.user-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.user-modal{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:calc(100vh - 40px);animation:.2s ease-out user-modal-in;overflow-y:auto;box-shadow:0 25px 70px #0f172a33}@keyframes user-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-modal-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.user-modal-header h2{color:#172033;margin:0;font-size:18px;font-weight:700}.user-modal-header p{color:#7b8798;margin:5px 0 0;font-size:11px;line-height:1.5}.user-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s,color .2s;display:flex}.user-modal-close:hover{color:#334155;background:#f1f5f9}.user-modal-body{flex-direction:column;gap:17px;padding:22px 24px;display:flex}.user-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.user-form-group{flex-direction:column;gap:7px;display:flex}.user-form-group label{color:#475569;font-size:11px;font-weight:650}.user-form-group input,.user-form-group select{box-sizing:border-box;color:#334155;background:#fff;border:1px solid #dce3ea;border-radius:7px;outline:none;width:100%;height:40px;padding:0 11px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.user-form-group input::placeholder{color:#a3afbd}.user-form-group input:focus,.user-form-group select:focus{border-color:#167477;box-shadow:0 0 0 3px #16747714}.user-form-group select{cursor:pointer}.user-form-error{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:7px;padding:10px 12px;font-size:11px;line-height:1.5}.user-modal-footer{background:#fafbfc;border-top:1px solid #edf0f4;border-radius:0 0 14px 14px;justify-content:flex-end;align-items:center;gap:9px;padding:16px 24px;display:flex}.user-cancel-btn,.user-save-btn{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:11px;font-weight:650;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.user-cancel-btn{color:#475569;background:#fff;border:1px solid #dbe2ea}.user-cancel-btn:hover:not(:disabled){background:#f8fafc}.user-save-btn{color:#fff;background:#167477;border:1px solid #167477;box-shadow:0 3px 8px #16747724}.user-save-btn:hover:not(:disabled){background:#126366;border-color:#126366}.user-cancel-btn:disabled,.user-save-btn:disabled{opacity:.55;cursor:not-allowed}@keyframes spin-animation{to{transform:rotate(360deg)}}@media (width<=900px){.users-page{padding:22px 20px 32px}.user-row{align-items:flex-start}.user-right{gap:10px}.user-date{display:none}}@media (width<=700px){.users-header{flex-direction:column;align-items:flex-start}.users-header-actions{width:100%}.users-refresh-btn,.users-add-btn{flex:1}.users-toolbar{flex-direction:column;align-items:stretch;padding:12px}.users-search{width:100%}.users-count{padding-left:2px}.user-row{flex-direction:column;gap:13px}.user-main{width:100%}.user-right{justify-content:space-between;width:100%}}@media (width<=520px){.users-page{padding:18px 14px 28px}.users-title h1{font-size:22px}.users-title p{font-size:11px}.user-form-row{grid-template-columns:1fr}.user-modal-header,.user-modal-body,.user-modal-footer{padding-left:18px;padding-right:18px}}.user-actions{align-items:center;gap:6px;display:flex}.edit-user-btn,.delete-user-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,color .2s,border-color .2s;display:flex}.edit-user-btn{color:#64748b}.edit-user-btn:hover{color:#167477;background:#f0fdfa;border-color:#b8e4df}.delete-user-btn{color:#94a3b8}.delete-user-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.appointment-settings-page{box-sizing:border-box;background:#f6f8fb;width:100%;min-height:100%;padding:30px}.appointment-settings-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;display:flex}.settings-title-row{align-items:center;gap:14px;display:flex}.settings-title-icon{color:#187c72;background:#e8f3f1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.settings-title-row h1{color:#17212b;letter-spacing:-.3px;margin:0 0 5px;font-size:25px;font-weight:700}.settings-title-row p{color:#6c7783;margin:0;font-size:14px}.settings-header-actions{align-items:center;gap:10px;display:flex}.settings-refresh-button,.settings-save-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.settings-refresh-button{color:#46515d;background:#fff;border:1px solid #dce2e8}.settings-refresh-button:hover:not(:disabled){background:#f3f6f8;border-color:#cbd3da}.settings-save-button{color:#fff;background:#187c72;border:1px solid #187c72;box-shadow:0 3px 8px #187c722e}.settings-save-button:hover:not(:disabled){background:#126b62;border-color:#126b62;transform:translateY(-1px)}.settings-refresh-button:disabled,.settings-save-button:disabled{opacity:.55;cursor:not-allowed}.settings-success,.settings-error{border-radius:9px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;font-size:14px;display:flex}.settings-success{color:#176b4b;background:#ecf9f3;border:1px solid #c8ead9}.settings-error{color:#a22d2d;background:#fff2f2;border:1px solid #f0cccc}.settings-success span,.settings-error span{flex:1}.settings-success button,.settings-error button{cursor:pointer;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:3px;display:flex}.appointment-settings-content{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;display:flex}.settings-card{background:#fff;border:1px solid #e3e8ed;border-radius:14px;padding:24px;box-shadow:0 3px 12px #1928370a}.settings-card-header{border-bottom:1px solid #edf0f3;align-items:flex-start;gap:13px;margin-bottom:22px;padding-bottom:20px;display:flex}.settings-card-icon{color:#187c72;background:#eef7f6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.settings-card-header h2{color:#202b35;margin:0 0 4px;font-size:17px;font-weight:700}.settings-card-header p{color:#77818c;margin:0;font-size:13px}.settings-form-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.settings-field{flex-direction:column;display:flex}.settings-field label{color:#303b45;margin-bottom:8px;font-size:13px;font-weight:600}.settings-field select,.settings-field input{color:#27313a;box-sizing:border-box;background:#fff;border:1px solid #d8dee4;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px;font-size:14px;transition:all .2s}.settings-field select:focus,.settings-field input:focus{border-color:#4b9e95;box-shadow:0 0 0 3px #4b9e951a}.field-help{color:#89929b;margin-top:7px;font-size:12px;line-height:1.4}.settings-toggle-list{border-top:1px solid #edf0f3;margin-top:25px}.settings-toggle-row{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.settings-toggle-row:last-child{border-bottom:none;padding-bottom:0}.settings-toggle-row strong{color:#303b45;margin-bottom:4px;font-size:14px;display:block}.settings-toggle-row p{color:#818b95;max-width:700px;margin:0;font-size:13px;line-height:1.5}.settings-switch{flex-shrink:0;width:46px;height:25px;display:inline-flex;position:relative}.settings-switch.small{width:40px;height:22px}.settings-switch input{opacity:0;pointer-events:none;position:absolute}.settings-switch span{cursor:pointer;background:#cdd4da;border-radius:50px;transition:all .2s;position:absolute;inset:0}.settings-switch span:before{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.settings-switch.small span:before{width:16px;height:16px}.settings-switch input:checked+span{background:#187c72}.settings-switch input:checked+span:before{transform:translate(21px)}.settings-switch.small input:checked+span:before{transform:translate(18px)}.business-hours-list{flex-direction:column;display:flex}.business-hours-row{border-bottom:1px solid #edf0f3;grid-template-columns:210px 1fr 80px;align-items:center;gap:20px;min-height:68px;display:grid}.business-hours-row:last-child{border-bottom:none}.business-day{align-items:center;gap:12px;display:flex}.business-day strong{color:#303b45;font-size:14px}.business-time-fields{align-items:center;gap:10px;display:flex}.business-time-fields input{color:#303b45;background:#fff;border:1px solid #d8dee4;border-radius:8px;outline:none;width:125px;height:39px;padding:0 10px;font-size:13px}.business-time-fields input:focus{border-color:#4b9e95;box-shadow:0 0 0 3px #4b9e951a}.business-time-fields input:disabled{color:#a1a9b0;cursor:not-allowed;background:#f3f5f7}.business-time-fields span{color:#89929b;font-size:13px}.business-status{border-radius:20px;justify-self:end;padding:5px 10px;font-size:11px;font-weight:700}.business-status.open{color:#18724e;background:#eaf7f1}.business-status.closed{color:#77818a;background:#f0f2f4}.appointment-types-list{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;display:grid}.appointment-type-item{background:#fafbfc;border:1px solid #e1e6ea;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 13px;display:flex}.appointment-type-item span{color:#37424c;font-size:13px;font-weight:500}.delete-setting-button{color:#89939d;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.delete-setting-button:hover{color:#c03939;background:#fff0f0}.add-setting-row{gap:10px;display:flex}.add-setting-row input{color:#303b45;border:1px solid #d8dee4;border-radius:8px;outline:none;flex:1;height:42px;padding:0 12px;font-size:13px}.add-setting-row input:focus{border-color:#4b9e95;box-shadow:0 0 0 3px #4b9e951a}.add-setting-button{color:#fff;cursor:pointer;white-space:nowrap;background:#187c72;border:1px solid #187c72;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:42px;padding:0 15px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.add-setting-button:hover{background:#126b62}.holidays-list{flex-direction:column;gap:9px;margin-bottom:18px;display:flex}.holiday-item{background:#fafbfc;border:1px solid #e1e6ea;border-radius:9px;grid-template-columns:180px 1fr auto;align-items:center;gap:15px;min-height:52px;padding:7px 10px 7px 14px;display:grid}.holiday-date{color:#187c72;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.holiday-item strong{color:#3a444e;font-size:13px}.add-holiday-row{grid-template-columns:180px 1fr auto;align-items:end;gap:12px;padding-top:5px;display:grid}.add-holiday-row>div{flex-direction:column;display:flex}.add-holiday-row label{color:#3a444e;margin-bottom:7px;font-size:12px;font-weight:600}.add-holiday-row input{box-sizing:border-box;color:#303b45;border:1px solid #d8dee4;border-radius:8px;outline:none;width:100%;height:42px;padding:0 11px;font-size:13px}.add-holiday-row input:focus{border-color:#4b9e95;box-shadow:0 0 0 3px #4b9e951a}.holiday-add-button{height:42px}.no-holidays{color:#929ba4;border:1px dashed #d6dde2;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:90px;margin-bottom:18px;display:flex}.no-holidays p{margin:0;font-size:13px}.settings-bottom-actions{justify-content:flex-end;gap:10px;padding:5px 0 30px;display:flex}.appointment-settings-loading{color:#78838d;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:400px;display:flex}.appointment-settings-loading p{margin:0;font-size:14px}.spin{animation:.9s linear infinite settings-spin}@keyframes settings-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.appointment-settings-page{padding:20px}.appointment-settings-header{flex-direction:column;align-items:flex-start}.settings-form-grid{grid-template-columns:1fr}.business-hours-row{grid-template-columns:1fr;gap:10px;padding:15px 0}.business-status{justify-self:start}.appointment-types-list,.add-holiday-row{grid-template-columns:1fr}}@media (width<=600px){.appointment-settings-page{padding:15px}.settings-card{padding:18px}.settings-header-actions{width:100%}.settings-refresh-button,.settings-save-button{flex:1}.settings-title-row h1{font-size:21px}.settings-title-row p{font-size:12px}.settings-toggle-row{align-items:flex-start}.business-time-fields{flex-wrap:wrap}.business-time-fields input{flex:1;min-width:110px}.add-setting-row{flex-direction:column}.holiday-item{grid-template-columns:1fr auto}.holiday-item strong{grid-area:2/1/auto/-1}.settings-bottom-actions{flex-direction:column}.settings-bottom-actions button{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{color:#334155;background:#f8fafc;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none}img{max-width:100%;display:block}.container{width:90%;max-width:1200px;margin:auto}.public-layout{flex-direction:column;min-height:100vh;display:flex}.public-layout main{flex:1}.dashboard-layout{min-height:100vh;display:flex}.sidebar{color:#fff;background:#0f4c81;width:260px;padding:25px}.sidebar h2{margin-bottom:40px}.sidebar nav{flex-direction:column;gap:20px;display:flex}.sidebar a{color:#fff}.dashboard-content{background:#f8fafc;flex:1}.dashboard-header{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;height:70px;padding:0 30px;display:flex}.dashboard-content main{padding:30px}
