*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root,body,html{height:100%}:root{--primary-blue:#06c;--secondary-blue:#0052a3;--accent-cyan:#00d4ff;--accent-cyan-secondary:#09f;--light-blue:#f0f7ff;--dark-gray:#1a1a1a;--light-gray:#f8f9fa;--white:#fff;--danger:#c41e3a;--warning:#ff8c00;--success:#1a7e4d}.loading{color:#06c;color:var(--primary-blue);font-size:24px}.container{max-width:1200px;padding:20px}button{border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary{background-color:var(--primary-green);color:var(--white)}.btn-primary:hover{background-color:var(--secondary-green);box-shadow:0 4px 8px #27ae604d;transform:translateY(-2px)}.btn-secondary{background-color:#06c;background-color:var(--primary-blue);color:#fff;color:var(--white)}.btn-secondary:hover{background-color:#0052a3;background-color:var(--secondary-blue);box-shadow:0 4px 8px #2980b94d;transform:translateY(-2px)}.btn-danger{background-color:#c41e3a;background-color:var(--danger);color:#fff;color:var(--white)}.btn-danger:hover{background-color:#c0392b}.form-group{margin-bottom:20px}label{color:#1a1a1a;color:var(--dark-gray);display:block;font-weight:600;margin-bottom:8px}input,select,textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:16px;padding:12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary-green);box-shadow:0 0 5px #27ae6080;outline:none}.card{background-color:#fff;background-color:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px;transition:box-shadow .3s ease}.card:hover{box-shadow:0 4px 12px #00000026}.card-title{border-bottom:2px solid var(--primary-green);color:var(--primary-green);font-size:20px;margin-bottom:15px;padding-bottom:10px}.card-content{color:#666;line-height:1.6}table{border-collapse:collapse;margin-top:20px;width:100%}th{background-color:var(--primary-green);color:#fff;color:var(--white);font-weight:600;padding:15px;text-align:left}td{border-bottom:1px solid #ddd;padding:12px 15px}tr:hover{background-color:#f9f9f9}.badge{border-radius:20px;font-size:12px;font-weight:600;padding:5px 12px;text-transform:uppercase}.badge-success{background-color:#d5f4e6;color:#27ae60}.badge-pending{background-color:#ffebd4;color:#f39c12}.badge-completed{background-color:#d5f4e6;color:#27ae60}.badge-cancelled{background-color:#fadbd8;color:#e74c3c}.alert-warning{background-color:#fdebd0;border-left:4px solid #f39c12;color:#f39c12}.header{background:linear-gradient(135deg,var(--primary-green) 0,#06c 100%);background:linear-gradient(135deg,var(--primary-green) 0,var(--primary-blue) 100%);box-shadow:0 2px 8px #0000001a;color:#fff;color:var(--white);padding:20px 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo{color:#fff;color:var(--white);font-size:24px;font-weight:700}.header-actions{align-items:center;display:flex;gap:20px}.user-info{font-size:14px}.sidebar{background-color:#1a1a1a;background-color:var(--dark-gray);color:#fff;color:var(--white);left:0;min-height:100vh;padding:20px;position:fixed;top:0;width:250px}.sidebar-nav{list-style:none}.sidebar-nav li{margin:0}.sidebar-nav a{border-radius:5px;color:#fff;color:var(--white);display:block;margin-bottom:5px;padding:12px 15px;text-decoration:none;transition:all .3s ease}.sidebar-nav a.active,.sidebar-nav a:hover{background-color:var(--primary-green);padding-left:20px}.main-content{margin-left:250px;min-height:100vh;padding:20px}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,var(--primary-green) 0,var(--secondary-green) 100%);border-radius:8px;box-shadow:0 4px 12px #27ae604d;color:#fff;color:var(--white);padding:25px;text-align:center}.stat-card.blue{background:linear-gradient(135deg,#06c,#0052a3);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-blue) 100%);box-shadow:0 4px 12px #2980b94d}.stat-number{font-size:32px;font-weight:700;margin:10px 0}.stat-label{font-size:14px;opacity:.9}.modal{background-color:#00000080;height:100%;width:100%}.modal-content{background-color:#fff;background-color:var(--white);border-radius:8px;box-shadow:0 4px 20px #0000004d;padding:30px}.modal-header{border-bottom:2px solid var(--primary-green);color:var(--primary-green);font-size:24px;margin-bottom:20px;padding-bottom:10px}.modal-close{float:right;font-size:28px;font-weight:700}.modal-close:hover{color:#000}@media (max-width:768px){.sidebar{min-height:auto;position:relative;width:100%}.main-content{margin-left:0}.dashboard-grid{grid-template-columns:1fr}.header-content{flex-direction:column;gap:10px}table{font-size:14px}td,th{padding:8px}}.appointment-item{background-color:#fff;background-color:var(--white);border-left:4px solid var(--primary-green);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.appointment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.appointment-date{color:#06c;color:var(--primary-blue);font-size:16px;font-weight:700}.appointment-actions{display:flex;gap:10px}.btn-join-meeting{background:linear-gradient(135deg,var(--primary-green) 0,var(--secondary-green) 100%);border-radius:5px;color:var(--white);font-size:16px;padding:12px 20px}.btn-join-meeting:hover{box-shadow:0 4px 12px #27ae6066;transform:scale(1.05)}.btn-join-meeting:disabled{cursor:not-allowed;opacity:.5}.btn-download{background-color:#06c;background-color:var(--primary-blue);border:none;border-radius:5px;color:#fff;color:var(--white);cursor:pointer;font-size:14px;padding:10px 15px;transition:all .3s ease}.btn-download:hover{background-color:#0052a3;background-color:var(--secondary-blue)}.empty-state{color:#999;padding:40px}.empty-state-icon{font-size:48px;margin-bottom:20px}.empty-state-text{font-size:18px;margin-bottom:20px}.global-activity-notice{align-items:flex-start;background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;bottom:1rem;box-shadow:0 10px 24px #00000029;color:#1e3a8a;display:flex;gap:.6rem;padding:.75rem .8rem;position:fixed;right:1rem;width:min(360px,calc(100vw - 1.5rem));z-index:2500}.global-activity-notice-text{flex:1 1;font-size:.9rem;font-weight:600;line-height:1.4}.global-activity-notice-close{align-items:center;background:#dbeafe;border:none;border-radius:999px;color:#1e40af;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:1.5rem;justify-content:center;line-height:1;padding:0;width:1.5rem}.global-activity-notice-close:hover{background:#bfdbfe}.global-alert-overlay{align-items:center;background:#0206178c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:4000}.global-alert-popup{background:#fff;border:1px solid #0000;border-radius:16px;box-shadow:0 22px 50px #0f172a47;padding:1.25rem 1.25rem 1rem;position:relative;width:min(430px,100%)}.global-alert-popup.success{background:#f0fdf4;border-color:#86efac;color:#14532d}.global-alert-popup.error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.global-alert-popup.confirm{background:#eff6ff;border-color:#93c5fd;color:#1e3a8a}.global-alert-close{align-items:center;background:#fffc;border:none;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:700;height:1.8rem;justify-content:center;line-height:1;padding:0;position:absolute;right:.7rem;top:.7rem;width:1.8rem}.global-alert-title{font-size:1.05rem;font-weight:800;margin-bottom:.5rem}.global-alert-message{font-size:.95rem;line-height:1.5;white-space:pre-wrap}.global-alert-actions{display:flex;justify-content:flex-end;margin-top:1rem}.global-alert-button{background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;min-width:92px;padding:.7rem 1rem}.global-alert-button:hover{box-shadow:0 8px 18px #2563eb42;transform:translateY(-1px)}.global-alert-button.secondary{background:#dbeafe;color:#1e3a8a}.global-alert-button.secondary:hover{box-shadow:0 8px 18px #3b82f62e}@media (max-width:480px){.global-activity-notice{bottom:.75rem;left:.75rem;right:.75rem;width:auto}.global-alert-popup{border-radius:14px;padding:1rem 1rem .9rem}}:root{--lp-bg:#eef2f3;--lp-surface:#fff;--lp-text:#102131;--lp-text-muted:#647484;--lp-primary:#0aa27f;--lp-primary-dark:#05866a;--lp-border:#d8dee4;--lp-gradient-a:#64df85;--lp-gradient-b:#2da8f5}.landing-page{background:#eef2f3;background:var(--lp-bg);color:#102131;color:var(--lp-text);font-family:Manrope,Segoe UI,sans-serif;min-height:100%}.landing-page *{box-sizing:border-box}.navbar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#eef2f3f2;border-bottom:1px solid #d8dee4;border-bottom:1px solid var(--lp-border);height:80px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 16px;position:relative}.navbar-brand{align-items:center;color:#111827!important;display:inline-flex;gap:10px;opacity:1!important;text-decoration:none}.brand-icon{background:#0c9ab7;border-radius:12px;display:grid;height:38px;place-items:center;width:38px}.brand-name{color:#182534!important;font-size:33px;font-weight:800;letter-spacing:-.6px;line-height:1;text-shadow:none!important}.landing-page .navbar-brand .brand-name{color:#111827!important;opacity:1!important}.navbar-links{align-items:center;display:flex;gap:34px}.navbar-links.mobile{display:none}.landing-page .nav-link{align-items:center;background:#0000!important;border-radius:0;box-shadow:none!important;color:#4f5f6f!important;display:inline-flex;font-size:18px;font-weight:600;gap:0;line-height:1;opacity:1!important;padding:0;text-decoration:none}.landing-page .nav-link.active,.landing-page .nav-link:hover{background:#0000!important;color:#0b8f73!important}.landing-page .nav-link.active{box-shadow:none!important}.nav-login-link{color:#1b2735!important;font-weight:700}.nav-button{border:1px solid #0000;border-radius:12px;font-size:24px;font-weight:700;line-height:1;padding:13px 24px;text-decoration:none}.nav-signup{background:#0aa27f;background:var(--lp-primary);color:#fff}.nav-signup:hover{background:#05866a;background:var(--lp-primary-dark)}.mobile-menu-button{background:#0000;border:0;color:#1b2735;cursor:pointer;display:none}.hero{padding:54px 16px 18px}.hero-container{grid-gap:58px;align-items:center;display:grid;gap:58px;grid-template-columns:1.05fr 1fr;margin:0 auto;max-width:1280px}.hero-subtitle{align-items:center;background:#d8ece6;border-radius:999px;color:#0d846a;display:inline-flex;font-size:clamp(18px,1.75vw,28px);font-weight:700;gap:7px;margin-bottom:28px;padding:12px 18px}.hero-title{font-size:clamp(46px,5.8vw,76px);font-weight:900;letter-spacing:-2px;line-height:.94;margin:0}.hero-title .highlight{background:linear-gradient(90deg,#09a482,#1395d8);-webkit-background-clip:text;background-clip:text;color:#0000}.hero-description{color:#647484;color:var(--lp-text-muted);font-size:clamp(18px,1.65vw,30px);line-height:1.38;margin:24px 0 0;max-width:720px}.hero-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}.btn{border:1px solid #0000;border-radius:14px;font-size:clamp(18px,1.2vw,24px);font-weight:700;line-height:1;padding:14px 26px;text-decoration:none;transition:.2s ease}.btn-primary{background:#0aa27f;background:var(--lp-primary);color:#fff}.btn-primary:hover{background:#05866a;background:var(--lp-primary-dark)}.btn-secondary{background:#ffffff73;border-color:#cfd8df;color:#273545}.btn-secondary:hover{background:#fff}.hero-visual{display:flex;justify-content:center}.hero-placeholder{aspect-ratio:1.95/1;background:linear-gradient(130deg,#64df85,#2da8f5);background:linear-gradient(130deg,var(--lp-gradient-a) 0,var(--lp-gradient-b) 100%);border-radius:24px;max-width:595px;overflow:hidden;position:relative;width:100%}.hero-doctor-image{filter:saturate(1.06) contrast(1.02);height:100%;inset:0;object-fit:cover;object-position:center;position:absolute;width:100%}.hero-icons{inset:0;pointer-events:none;position:absolute}.icon-badge{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fff3;border:1px solid #ffffff38;border-radius:50%;color:#ecf9ff;display:grid;font-size:20px;font-weight:700;height:42px;place-items:center;position:absolute;width:42px}.icon-badge:first-child{right:250px;top:84px}.icon-badge:nth-child(2){right:113px;top:52px}.icon-badge:nth-child(3){right:70px;top:98px}.icon-badge:nth-child(4){right:126px;top:172px}.icon-badge:nth-child(5){right:222px;top:150px}.cta,.features,.footer,.how-it-works{padding-left:16px;padding-right:16px}.features{background:#f5f8fa;padding-bottom:76px;padding-top:70px}.cta-container,.features-container,.footer-container,.how-it-works-container{margin:0 auto;max-width:1280px}.section-header{margin-bottom:36px;text-align:center}.section-header h2{font-size:44px;margin:0}.section-header p{color:#647484;color:var(--lp-text-muted);font-size:22px;margin:12px 0 0}.features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{background:#fff;border:1px solid #dde4ea;border-radius:18px;padding:24px}.feature-icon{background:#e6f5f0;border-radius:12px;color:#0b9e7d;display:grid;height:48px;margin-bottom:14px;place-items:center;width:48px}.feature-card h3{font-size:26px;margin:0}.feature-card p{color:#647484;color:var(--lp-text-muted);font-size:19px;line-height:1.5;margin:10px 0 0}.how-it-works{background:#fff;padding-bottom:70px;padding-top:70px}.steps-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.step-card{border:1px solid #dde4ea;border-radius:18px;padding:22px}.step-number{color:#0b9e7d;font-size:38px;font-weight:800}.step-card h3{font-size:25px;margin:8px 0}.step-card p{color:#647484;color:var(--lp-text-muted);font-size:19px;line-height:1.5;margin:0}.cta{background:linear-gradient(140deg,#0ea982,#0a7ac8);padding-bottom:70px;padding-top:70px}.cta-content{color:#fff;text-align:center}.cta-content h2{font-size:50px;margin:0}.cta-content p{font-size:24px;margin:14px auto 24px;max-width:850px}.cta-content .btn-primary{background:#fff;color:#117f69}.footer{background:#0f1f2f;color:#d9e1e8;padding-bottom:30px;padding-top:30px;text-align:center}.footer p{font-size:18px;margin:0}.about-page{background:#f4f8fa}.about-founder,.about-hero,.about-section{margin:0 auto;max-width:1280px;padding-left:16px;padding-right:16px}.about-hero{grid-gap:34px;align-items:center;display:grid;gap:34px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);padding-bottom:56px;padding-top:62px}.about-hero-content h1{font-size:clamp(42px,5vw,68px);font-weight:900;letter-spacing:-1px;line-height:.98;margin:0}.about-contact-card p,.about-founder p,.about-hero-content p{color:#647484;color:var(--lp-text-muted);font-size:22px;line-height:1.5}.about-hero-content p{margin:22px 0 0;max-width:780px}.about-contact-card{background:#fff;border:1px solid #dce5eb;border-radius:18px;box-shadow:0 18px 30px #10213114;padding:26px}.about-contact-card h2{font-size:32px;margin:0 0 16px}.about-contact-link{align-items:center;color:#087b65;display:inline-flex;font-size:20px;font-weight:800;gap:10px;overflow-wrap:anywhere;text-decoration:none}.about-contact-link:hover{color:#05866a;color:var(--lp-primary-dark)}.about-section{padding-bottom:64px;padding-top:54px}.about-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.about-founder{align-items:center;background:#fff;border:1px solid #dce5eb;border-radius:18px;display:flex;gap:24px;justify-content:space-between;margin-bottom:70px;padding-bottom:34px;padding-top:34px}.about-founder h2{font-size:36px;margin:0}.about-founder p{margin:10px 0 0;max-width:840px}@media (max-width:1100px){.brand-name{font-size:24px}.nav-button,.nav-link{font-size:18px}.hero-subtitle{font-size:16px;padding:10px 14px}.hero-description{font-size:20px;max-width:640px}.about-grid{grid-template-columns:1fr}.btn{font-size:17px;padding:12px 20px}}@media (max-width:900px){.hero-container{gap:28px;grid-template-columns:1fr}.hero-visual{order:2}.hero-content{order:1}.hero-title{font-size:clamp(44px,10vw,70px)}.hero-description{font-size:clamp(20px,4vw,28px)}.section-header h2{font-size:36px}.section-header p{font-size:19px}.about-hero{grid-template-columns:1fr}.about-founder{align-items:flex-start;flex-direction:column}}@media (max-width:760px){.navbar-links.desktop{display:none}.mobile-menu-button{display:block}.navbar-links.mobile.active{align-items:flex-start;background:#fff;border:1px solid #d8dee4;border:1px solid var(--lp-border);border-radius:14px;box-shadow:0 14px 22px #00000014;display:flex;flex-direction:column;gap:12px;left:16px;padding:14px;position:absolute;right:16px;top:80px}.navbar-links.mobile .nav-button,.navbar-links.mobile .nav-link{font-size:18px}.brand-name{font-size:20px}.hero{padding-top:28px}.hero-subtitle{font-size:17px}.hero-title{letter-spacing:-1px}.hero-description{margin-top:16px}.hero-buttons{margin-top:22px;width:100%}.btn{justify-content:center;text-align:center;width:100%}.icon-badge{font-size:16px;height:32px;width:32px}.icon-badge:first-child{right:170px;top:32px}.icon-badge:nth-child(2){right:70px;top:22px}.icon-badge:nth-child(3){right:40px;top:64px}.icon-badge:nth-child(4){right:72px;top:114px}.icon-badge:nth-child(5){right:152px;top:100px}.cta-content h2{font-size:34px}.cta-content p{font-size:20px}.footer p{font-size:15px}.about-hero{padding-top:34px}.about-contact-card p,.about-founder p,.about-hero-content p{font-size:18px}.about-contact-card h2,.about-founder h2{font-size:28px}.about-contact-link{font-size:17px}}.auth-container{align-items:center;background:linear-gradient(135deg,#06c,#0052a3);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.auth-card{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:500px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#06c;font-size:28px;font-weight:700;margin-bottom:5px}.auth-header p{color:#666;font-size:14px;margin:0}.auth-card h2{color:#003d7a;font-size:24px;font-weight:700;margin-bottom:20px;text-align:center}.auth-subtitle{color:#1f4f82;font-size:18px;margin:-6px 0 20px;text-align:center}.auth-card .form-group,.auth-card form{margin-bottom:20px}.auth-card label{color:#1a1a1a;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.auth-card input,.auth-card select,.auth-card textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus{background-color:#f8f9fa;border-color:#06c;box-shadow:0 0 8px #06c3;outline:none}.auth-card .btn-primary{background:#005196;border-radius:10px;font-size:16px;font-weight:700;padding:13px 16px}.auth-card .btn-primary:hover{background:#003d7a}.password-input-wrapper{position:relative}.password-toggle-btn{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:inline-flex;justify-content:center;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.forgot-password-row{margin-top:8px;text-align:right}.forgot-password-btn{background:#0000;border:none;color:#06c;cursor:pointer;font-size:13px;font-weight:600;padding:0}.forgot-password-btn:hover{color:#0052a3;text-decoration:underline}.auth-footer{border-top:1px solid #eee;margin-top:20px;padding-top:20px;text-align:center}.auth-footer p{color:#666;font-size:14px;margin-bottom:10px}.auth-footer a{color:#06c;font-weight:600;text-decoration:none;transition:color .3s ease}.auth-footer a:hover{color:#0052a3;text-decoration:underline}.auth-note{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;color:#1f2937;font-size:13px;margin-top:12px;padding:10px 12px}.auth-note a{color:#06c;font-weight:600;text-decoration:none}.auth-note a:hover{text-decoration:underline}.reset-code-note{background:#e8f5ef;border-color:#9bd9be;border-radius:10px;margin-top:16px}.reset-code-title{color:#00664f;font-size:15px;font-weight:700;margin:0 0 8px}.reset-code-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.reset-code-label{color:#004f7a;font-size:13px;font-weight:700}.reset-copy-btn{background:#f0f7ff;border:1px solid #0d67b1;border-radius:10px;color:#004f9f;cursor:pointer;font-size:14px;font-weight:700;padding:6px 12px}.reset-code-box,.reset-copy-btn:hover{background:#dbeafe}.reset-code-box{border:1px solid #b7d6ea;border-radius:8px;color:#0f3762;font-family:Consolas,Courier New,monospace;font-size:14px;padding:10px;width:100%;word-break:break-all}.reset-code-expiry{color:#375d7e;font-size:13px;margin-top:6px}.reset-link-row{margin-top:8px}.password-hint{color:#1f4f82;font-size:14px;line-height:1.35;margin-top:8px}:root{--primary:#10b981;--secondary:#06c;--background:#f8f9fa;--card-bg:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--sidebar-bg:#0f172a;--sidebar-text:#e2e8f0;--sidebar-accent:#1e293b;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f}.dashboard-layout{background:#f8f9fa;background:var(--background);display:flex;height:100vh;overflow:hidden}.dashboard-sidebar{background:#0f172a;background:var(--sidebar-bg);border-right:1px solid #ffffff1a;box-shadow:0 12px 24px #0000001f;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:1000}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:1.5rem}.brand-logo,.sidebar-header{align-items:center;display:flex}.brand-logo{gap:.75rem;text-decoration:none;transition:opacity .3s ease;width:100%}.brand-logo:hover{opacity:.8}.brand-icon{align-items:center;background:#06b6d4;border-radius:.6rem;color:#fff;display:inline-flex;flex-shrink:0;font-size:1.25rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.brand-text-wrap{display:flex;flex-direction:column;min-width:0}.brand-name{color:#fff!important;font-size:.92rem;font-weight:700;letter-spacing:0;line-height:1.2;opacity:1!important;overflow-wrap:anywhere;white-space:normal}.brand-status{align-items:center;color:#c8facc;display:inline-flex;font-size:.74rem;font-weight:600;gap:.35rem;margin-top:.1rem;opacity:1;text-transform:lowercase}.status-dot{background:#22c55e;border-radius:50%;display:inline-block;height:.45rem;width:.45rem}.brand-email{color:#cbd5e1;font-size:.72rem;margin-top:.2rem;opacity:.95;word-break:break-all}.mobile-close{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.5rem;padding:.5rem}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1rem .75rem}.nav-link{align-items:center;border-radius:.625rem;color:#e2e8f0;color:var(--sidebar-text);display:flex;font-size:.95rem;font-weight:500;gap:.75rem;padding:.875rem 2.8rem .875rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-label{flex:1 1}.nav-unread-badge{align-items:center;background:#ef4444;border-radius:999px;box-shadow:0 0 0 2px #0f172ae6;color:#fff;display:inline-flex;font-size:.74rem;font-weight:700;height:1.35rem;justify-content:center;line-height:1;min-width:1.35rem;padding:0 .35rem;position:absolute;right:.7rem;top:50%;transform:translateY(-50%)}.nav-link:hover{background:#1e293b;background:var(--sidebar-accent);color:#fff}.nav-link.active{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--primary) 0,#059669 100%);box-shadow:0 4px 12px #10b9814d;color:#fff}.nav-icon{flex-shrink:0;height:1.25rem;width:1.25rem}.sidebar-footer{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem .75rem}.user-info{padding:0 1rem}.user-email{color:#e2e8f0;color:var(--sidebar-text);font-size:.8rem;opacity:.7;word-break:break-all}.logout-button{align-items:center;background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.625rem;color:#ff3b30;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease;width:100%}.logout-button:hover{background:#ff3b3033;border-color:#ff3b3080}.logout-icon{height:1rem;width:1rem}.mobile-menu-toggle{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#0f172a;cursor:pointer;display:none;font-size:1rem;height:2.5rem;justify-content:center;left:1rem;line-height:1;padding:0;position:fixed;top:1rem;transition:all .3s ease;width:2.5rem;z-index:900}.mobile-menu-toggle svg{stroke-width:2.4;height:1.3rem;width:1.3rem}.mobile-menu-toggle:hover{background:#f1f5f9;border-color:#cbd5e1}.mobile-menu-toggle:active{transform:scale(.96)}.sidebar-overlay{background:#00000080;display:none;inset:0;position:fixed;z-index:999}.dashboard-main{flex:1 1;height:100vh;margin-left:280px;overflow-y:auto;padding:2rem}@media (max-width:768px){.dashboard-sidebar{transform:translateX(-100%)}.dashboard-sidebar.open{transform:translateX(0)}.mobile-close{display:block}.mobile-menu-toggle{display:flex}.sidebar-overlay{display:block}.dashboard-main{height:100vh;margin-left:0;padding:5rem 1.5rem 1.5rem}}@media (max-width:480px){.dashboard-main{padding:4rem 1rem 1rem}.dashboard-sidebar{width:100%}.brand-name{font-size:1.1rem}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}:root{--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--border-color:#e5e7eb}.dashboard-content{animation:fadeIn .4s ease-in-out}.login-success-banner{background:#dcfce7;border:1px solid #86efac;border-radius:.6rem;color:#166534;font-size:.92rem;font-weight:600;margin-bottom:1rem;padding:.75rem 1rem}.dashboard-login-popup{align-items:flex-start;animation:fadeIn .25s ease-in-out;background:#eff6ff;border:1px solid #93c5fd;border-radius:.65rem;bottom:1.25rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);color:#1e3a8a;display:flex;font-size:.9rem;font-weight:600;gap:.65rem;max-width:360px;padding:.75rem .85rem;position:fixed;right:1.25rem;width:calc(100% - 1.5rem);z-index:1200}.dashboard-login-popup-text{flex:1 1;line-height:1.45}.dashboard-login-popup-close{align-items:center;background:#dbeafe;border:none;border-radius:999px;color:#1e40af;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:1.5rem;justify-content:center;line-height:1;width:1.5rem}.dashboard-login-popup-close:hover{background:#bfdbfe}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.header-text{flex:1 1}.dashboard-header-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.btn-export-income{align-items:center;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:.625rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.7rem 1rem;transition:all .3s ease;white-space:nowrap}.btn-export-income:hover:not(:disabled){box-shadow:0 4px 12px #10b98159;transform:translateY(-2px)}.btn-export-income:disabled{cursor:not-allowed;opacity:.7;transform:none}.dashboard-title{color:#1a1a1a;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.5rem}.dashboard-subtitle{color:#666;font-size:1rem;font-weight:500}.dashboard-founder{color:#0f766e;font-size:.92rem;font-weight:700;margin-top:.35rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:.875rem;color:#fff;display:flex;flex-shrink:0;font-size:2rem;height:4rem;justify-content:center;width:4rem}.stat-icon.completed{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.upcoming{background:linear-gradient(135deg,#06c,#0052a3)}.stat-icon.payments{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-icon.prescriptions{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content{flex:1 1}.stat-label{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#1a1a1a;font-size:2rem;font-weight:700}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin-bottom:2rem;overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.card-header{align-items:center;background:linear-gradient(90deg,#f8f9fa,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.card-title-section{flex:1 1}.card-header-actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.6rem}.card-title{color:#1a1a1a;font-size:1.25rem;font-weight:700;margin:0}.card-content{padding:1.5rem}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-item{align-items:center;background:#fafbfc;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.875rem;display:flex;gap:1.5rem;justify-content:space-between;padding:1.25rem;transition:all .3s ease}.appointment-item:hover{background:#f0f7ff;border-color:#06c}.appointment-info{flex:1 1}.appointment-date{color:#1a1a1a;font-size:1rem;font-weight:600;margin-bottom:.5rem}.status-badge{border-radius:.5rem;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize;white-space:nowrap}.status-pending{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#991b1b}.status-approved{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.btn-primary-small{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:.625rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn-primary-small:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-secondary-small{align-items:center;background:#fff;border:1px solid #06c;border-radius:.625rem;color:#06c;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn-secondary-small:hover{background:#f0f7ff}.btn-join-meeting{align-items:center;background:linear-gradient(135deg,#00d4ff,#09f);border:none;border-radius:.625rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn-join-meeting:hover{box-shadow:0 4px 12px #00d3ff4d;transform:translateY(-2px)}.btn-small{align-items:center;background:#06c;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.btn-small:hover{background:#0052a3}.prescription-item{align-items:flex-start;background:#fafbfc;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.875rem;display:flex;gap:1.5rem;justify-content:space-between;padding:1.25rem;transition:all .3s ease}.prescription-item:hover{background:#f5f7fa;border-color:#10b981}.prescription-info{flex:1 1}.prescription-date{color:#1a1a1a;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.prescription-text{color:#666;font-size:.9rem;line-height:1.5}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.appointments-table{border-collapse:collapse;width:100%}.appointments-table thead{background:linear-gradient(90deg,#f0f7ff,#fff);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color)}.appointments-table th{color:#06c;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:1rem 1.25rem;text-align:left;text-transform:uppercase}.appointments-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);padding:1.125rem 1.25rem}.appointments-table tbody tr:hover{background:#fafbfc}.appointments-table tbody tr:last-child td{border-bottom:none}.empty-message{color:#666;font-size:.95rem;padding:2rem;text-align:center}.text-muted{color:#999;font-size:.9rem;font-style:italic}.loading-spinner{color:#06c;display:flex;font-weight:600;padding:3rem 1rem}.loading-spinner,.modal{align-items:center;justify-content:center}.modal{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1000}.modal.active{display:flex}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#1a1a1a;font-size:1.25rem;font-weight:700;justify-content:space-between;padding:1.5rem}.modal-close,.modal-header{align-items:center;display:flex}.modal-close{color:#999;cursor:pointer;font-size:1.5rem;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.modal-close:hover{background:#f0f0f0;border-radius:.5rem;color:#1a1a1a}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-size:.95rem;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.modal-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);gap:1rem;margin-top:1rem;padding-top:1rem}.btn-cancel,.btn-submit{border:none;border-radius:.5rem;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-cancel{color:#1a1a1a}.btn-cancel:hover{background:#d1d5db}.btn-submit{background:linear-gradient(135deg,#06c,#0052a3);color:#fff}.btn-submit:hover{box-shadow:0 4px 12px #0066cc4d;transform:translateY(-2px)}@media (max-width:768px){.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{flex-direction:column;gap:1rem;text-align:center}.stat-icon{font-size:1.75rem;height:3.5rem;width:3.5rem}.stat-label{font-size:.8rem}.stat-value{font-size:1.75rem}.card-header{align-items:flex-start;flex-direction:column;gap:1rem}.card-header-actions{width:100%}.dashboard-header{flex-direction:column;gap:1rem}.dashboard-header-actions{justify-content:flex-start;width:100%}.appointment-item{align-items:flex-start;flex-direction:column}.dashboard-title{font-size:1.5rem}.appointments-table{font-size:.85rem}.appointments-table td,.appointments-table th{padding:.75rem}}@media (max-width:480px){.dashboard-login-popup{bottom:.75rem;font-size:.85rem;left:.75rem;max-width:none;right:.75rem;width:auto}.dashboard-title{font-size:1.25rem}.dashboard-subtitle{font-size:.9rem}.stats-grid{grid-template-columns:1fr}.card-content,.card-header{padding:1rem}.appointment-item,.prescription-item{gap:.75rem;padding:1rem}.appointments-table{font-size:.75rem}.btn-join-meeting,.btn-primary-small,.btn-secondary-small{font-size:.8rem;padding:.5rem .75rem}}.chat-page{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:320px 1fr;height:calc(100vh - 5rem)}.chat-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:auto;padding:1rem}.chat-sidebar h3{color:#1f2937;font-size:1rem;margin:0 0 .75rem}.general-chat-highlight{background:#eff6ff;border:1px solid #bae6fd;border-radius:.6rem;margin-bottom:.55rem;padding:.55rem .65rem}.general-chat-title{color:#075985;font-size:.86rem;font-weight:800}.general-chat-subtitle{color:#0369a1;font-size:.74rem;font-weight:600;margin-top:.1rem}.general-chat-note{color:#0c4a6e;font-size:.72rem;font-weight:600;margin-top:.2rem}.btn-start-enquiry{background:#0ea5e9;border:none;border-radius:.6rem;color:#fff;cursor:pointer;font-weight:700;margin-bottom:.75rem;padding:.6rem .75rem;width:100%}.btn-start-enquiry:hover{background:#0284c7}.chat-unread-summary{color:#dc2626;font-size:.82rem;font-weight:700;margin:0 0 .6rem}.chat-search-input{border:1px solid #d1d5db;border-radius:.5rem;margin-bottom:.75rem;padding:.6rem .65rem;width:100%}.chat-section-title{color:#334155;font-size:.76rem;font-weight:700;letter-spacing:.04em;margin:.2rem 0 .45rem;text-transform:uppercase}.chat-thread{background:#f8fafc;border:1px solid #e5e7eb;border-radius:.65rem;cursor:pointer;margin-bottom:.6rem;padding:.75rem;text-align:left;width:100%}.chat-thread-title-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.chat-unread-badge{align-items:center;background:#ef4444;border-radius:999px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 .35rem}.chat-thread.active{background:#eaf6ff;border-color:#0ea5e9}.chat-thread-title{color:#1f2937;font-weight:700}.chat-thread-sub{color:#64748b;font-size:.82rem;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-unread-text{color:#be123c;font-size:.74rem;font-weight:600;margin-top:.35rem}.chat-main{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;min-height:0}.chat-main-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.chat-main-header h2{font-size:1rem;margin:0}.chat-main-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.65rem}.chat-header-unread{background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;color:#be123c;font-size:.75rem;font-weight:700;padding:.2rem .6rem}.backup-link-btn{background:#0ea5e9;border:none;border-radius:.45rem;color:#fff;cursor:pointer;font:inherit;font-weight:600;padding:.4rem .65rem;text-decoration:none}.fallback-link-box{border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;padding:.8rem 1rem}.fallback-link-box input{border:1px solid #d1d5db;border-radius:.5rem;flex:1 1;padding:.65rem}.fallback-link-box button{background:#10b981;border:none;border-radius:.5rem;color:#fff;font-weight:600;padding:0 .8rem}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:.65rem;overflow:auto;padding:1rem}.chat-message{border-radius:.75rem;max-width:74%;padding:.6rem .8rem}.chat-message.mine{align-self:flex-end;background:#dcfce7}.chat-message.theirs{align-self:flex-start;background:#f1f5f9}.chat-message-name{color:#334155;font-size:.75rem;font-weight:700}.chat-message-text{color:#111827;margin-top:.2rem;white-space:pre-wrap}.chat-message-time{color:#64748b;font-size:.7rem;margin-top:.3rem}.chat-input-bar{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;padding:.8rem 1rem}.chat-input-bar input{border:1px solid #d1d5db;border-radius:.5rem;flex:1 1;padding:.7rem}.chat-input-bar button{background:#0ea5e9;border:none;border-radius:.5rem;color:#fff;font-weight:600;padding:0 1rem}.chat-empty,.chat-loading{color:#64748b;font-size:.9rem}@media (max-width:900px){.chat-page{grid-template-columns:1fr;height:auto}.chat-sidebar{max-height:220px}.chat-main{min-height:560px}.chat-message{max-width:90%}}.admin-actions{display:flex;gap:.5rem}.admin-inline-form{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto;margin-bottom:1.5rem}.admin-inline-form .form-group{margin-bottom:0}.bulk-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.admin-inline-submit{height:42px;justify-content:center;margin-top:1.95rem}.btn-small.btn-success{background:#10b981}.btn-small.btn-success:hover{background:#059669}.btn-small.btn-danger{background:#ef4444}.btn-small.btn-danger:hover{background:#dc2626}.inline-link{color:#06c;font-weight:600;text-decoration:none}.inline-link:hover{text-decoration:underline}.btn-small.btn-muted{background:#6b7280}.btn-small.btn-muted:hover{background:#4b5563}.modal-content-wide{max-width:760px}.form-row{grid-gap:1rem;gap:1rem}.form-group select{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.patient-combobox{position:relative}.patient-combobox-trigger{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:.5rem;color:#1a1a1a;cursor:pointer;display:flex;font:inherit;gap:.75rem;justify-content:space-between;min-height:44px;padding:.75rem;text-align:left;transition:all .2s ease;width:100%}.patient-combobox-trigger.open,.patient-combobox-trigger:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.patient-combobox-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-combobox-caret{color:#475569;flex-shrink:0;font-size:.85rem}.patient-combobox-menu{background:#fff;border:1px solid var(--border-color);border-radius:.6rem;box-shadow:var(--shadow-lg);left:0;padding:.55rem;position:absolute;right:0;top:calc(100% + .35rem);z-index:30}.patient-combobox-search{border:1px solid var(--border-color);border-radius:.45rem;font:inherit;margin-bottom:.5rem;padding:.65rem .75rem;width:100%}.patient-combobox-search:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.patient-combobox-options{max-height:220px;overflow-y:auto}.patient-combobox-option{background:#0000;border:0;border-radius:.45rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.65rem .7rem;text-align:left;width:100%}.patient-combobox-option.selected,.patient-combobox-option:hover{background:#f0f7ff}.patient-combobox-option span{color:#1a1a1a;font-weight:600}.patient-combobox-option small{color:#64748b}.patient-combobox-empty{color:#64748b;font-size:.9rem;padding:.75rem}.doctor-notes-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:320px 1fr}.doctor-notes-sidebar .card-content{display:flex;flex-direction:column;gap:.75rem}.doctor-notes-search{border:1px solid var(--border-color);border-radius:.5rem;padding:.7rem .8rem;width:100%}.doctor-notes-new-btn{justify-content:center;width:100%}.doctor-notes-list{display:flex;flex-direction:column;gap:.5rem;max-height:55vh;overflow-y:auto}.doctor-notes-item{background:#f8fafc;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.65rem .75rem;text-align:left;width:100%}.doctor-notes-item.active{background:#ecfeff;border-color:#0ea5a5}.doctor-notes-item span{color:#64748b;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doctor-notes-mode{display:flex;gap:.5rem;margin-bottom:1rem}.doctor-notes-patient-search-wrap{position:relative}.doctor-notes-suggestions{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-md);left:0;margin-top:.25rem;max-height:180px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:20}.doctor-notes-suggestions button{background:#0000;border:none;cursor:pointer;padding:.6rem .75rem;text-align:left;width:100%}.doctor-notes-suggestions button:hover{background:#f1f5f9}.doctor-notes-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.doctor-notes-toolbar button,.doctor-notes-toolbar select{background:#fff;border:1px solid var(--border-color);border-radius:.4rem;cursor:pointer;padding:.4rem .55rem}.doctor-notes-editor-surface{background:#fff;border:1px solid var(--border-color);border-radius:.6rem;line-height:1.5;min-height:300px;overflow-y:auto;padding:.9rem}.doctor-notes-editor-surface:focus{border-color:#0ea5a5;box-shadow:0 0 0 3px #14b8a61f;outline:none}.doctor-notes-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}@media (max-width:768px){.admin-inline-form,.bulk-grid{grid-template-columns:1fr}.admin-inline-submit{width:100%}.form-row{grid-template-columns:1fr}.admin-actions{flex-wrap:wrap}.doctor-notes-layout{grid-template-columns:1fr}}.book-appointment-page{background:linear-gradient(135deg,#f0f7ff,#f8f9fa);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:40px 20px}.back-button{color:#06c}.back-button:hover{color:#0052a3}.booking-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0066cc1a;padding:40px}.booking-card h1{color:#06c;font-size:28px;font-weight:700;margin-bottom:10px;text-align:center}.consultation-fee{color:#666;font-size:16px;margin-bottom:30px;text-align:center}.consultation-fee strong{color:#06c;font-size:20px;font-weight:700}.booking-card form{margin-bottom:20px}.form-group{margin-bottom:25px}.form-group label{color:#1a1a1a}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.method-options{flex-wrap:wrap;gap:10px}.method-option{background:#fff;border:2px solid #e0e0e0;border-radius:8px;gap:8px;padding:10px 14px}.card-details{background:#f9fbfd;border:1px solid #e7eaee;border-radius:10px;margin:15px 0;padding:16px}.payment-instruction{background:#f0f7ff;border:1px solid #bfdbfe;border-left:4px solid #06c;border-radius:8px;margin:24px 0;padding:18px}.payment-instruction span{color:#4b5563;display:block;font-size:13px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.payment-instruction strong{color:#0f172a;display:block;font-size:18px}.form-row{grid-gap:12px;gap:12px}.form-group input:focus,.form-group select:focus{border-color:#06c;box-shadow:0 0 8px #06c3;outline:none}.form-group small{color:#999;display:block;font-size:13px;margin-top:5px}.booking-summary{background-color:#f0f7ff;border-left:4px solid #06c;border-radius:8px;margin:30px 0;padding:20px}.booking-summary h3{color:#27ae60;font-size:16px;margin-bottom:15px;text-transform:uppercase}.summary-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:10px;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-item span{color:#666;font-weight:500}.summary-item strong{color:#2c3e50;font-weight:700}.btn-book-appointment{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.btn-book-appointment:hover:not(:disabled){box-shadow:0 6px 16px #27ae6066;transform:translateY(-2px)}.btn-book-appointment:disabled{cursor:not-allowed;opacity:.6}.disclaimer{border-top:1px solid #ecf0f1;color:#999;font-size:13px;margin-top:15px;padding-top:15px;text-align:center}.mpesa-modal{box-shadow:0 10px 30px #0003}.mpesa-modal h3{color:#1f2d3d;margin:0 0 10px}.mpesa-modal p{color:#566370}.modal-actions{justify-content:flex-end;margin-top:18px}.btn-cancel{color:#334155}.alert-success{background-color:#d5f4e6;border-left:4px solid #27ae60;color:#27ae60}@media (max-width:600px){.booking-card{padding:25px}.booking-card h1{font-size:22px}.booking-summary{margin:20px 0}.back-button{margin-bottom:20px}.form-row{grid-template-columns:1fr}}.consult-room-page{background:linear-gradient(140deg,#0f172a,#111827 45%,#1e293b);color:#e5e7eb;min-height:100vh;padding:1.25rem}.consult-room-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.back-button{color:#22c55e;gap:.5rem}.room-meta h2{font-size:1.2rem;margin:0}.room-meta p{color:#9ca3af;font-size:.9rem;margin:.2rem 0 0}.room-alert{background:#10b98126;border:1px solid #10b98159;border-radius:.5rem;color:#bbf7d0;margin-bottom:.8rem;padding:.7rem .9rem}.room-alert-danger{background:#ef444426;border-color:#ef444466;color:#fecaca}.inline-alert-action{background:#7f1d1d8c;border:1px solid #fecacab3;border-radius:.45rem;color:#fff;cursor:pointer;font-weight:700;margin-left:.75rem;padding:.35rem .6rem}.video-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.hosted-meeting-panel{background:#020617;border:1px solid #94a3b840;border-radius:.75rem;min-height:calc(100vh - 180px);overflow:hidden;position:relative;width:100%}.hosted-meeting-frame{background:#020617;border:0;display:block;height:calc(100vh - 180px);min-height:620px;width:100%}.external-room-panel{display:grid;padding:1.5rem;place-items:center}.external-room-card{background:#0f172adb;border:1px solid #94a3b847;border-radius:.75rem;max-width:560px;padding:2rem;text-align:center}.external-room-icon{color:#22c55e;height:3rem;margin-bottom:.75rem;width:3rem}.external-room-card h3{color:#f8fafc;font-size:1.35rem;margin:0}.external-room-card p{color:#cbd5e1;line-height:1.55;margin:.75rem 0 0}.hosted-meeting-actions{bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;left:1rem;position:absolute;z-index:5}.video-card{background:#0b1220;border:1px solid #94a3b840;border-radius:.75rem;min-height:320px;overflow:hidden;position:relative}.video-label{background:#0f172abf;border:1px solid #94a3b859;border-radius:.45rem;color:#e2e8f0;font-size:.75rem;left:.65rem;padding:.3rem .55rem}.video-label,.video-status{position:absolute;top:.65rem;z-index:2}.video-status{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;right:.65rem}.video-status-pill{align-items:center;background:#ef4444cc;border:1px solid #f87171bf;border-radius:.45rem;color:#fff1f2;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;padding:.2rem .45rem}.video-element{background:#000;height:100%;min-height:320px;object-fit:cover;width:100%}.waiting-overlay{align-items:center;background:#0206179e;color:#cbd5e1;display:flex;font-size:.95rem;inset:0;justify-content:center;position:absolute}.playback-overlay{border:0;color:#fff;cursor:pointer;font-weight:700;height:100%;width:100%}.meeting-controls{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.control-btn{align-items:center;background:#1e293bcc;border:1px solid #94a3b852;border-radius:.6rem;color:#f1f5f9;cursor:pointer;display:inline-flex;font-weight:600;gap:.45rem;padding:.65rem .9rem;text-decoration:none}.control-btn.off{background:#ef444433;border-color:#ef444466}.control-btn.warn{background:#f59e0b38;border-color:#f59e0b66}.control-btn.danger{background:#ef44443d;border-color:#ef444473}.error,.loading{align-items:center;background:#111827;color:#fff;display:flex;font-size:1rem;justify-content:center;min-height:100vh}@media (max-width:900px){.video-grid{grid-template-columns:1fr}.hosted-meeting-frame,.hosted-meeting-panel{height:calc(100vh - 150px);min-height:calc(100vh - 150px)}}.payment-page{background:linear-gradient(135deg,#ecf0f1,#f5f5f5);min-height:100vh;padding:40px 20px}.container{margin:0 auto;max-width:600px}.payment-card{background-color:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026;padding:40px}.payment-card h1{color:#27ae60;font-size:28px;margin-bottom:30px;text-align:center}.appointment-details{background-color:#f9f9f9;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:30px;padding:20px}.appointment-details h3{color:#27ae60;font-size:16px;margin-bottom:15px;text-transform:uppercase}.detail-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:10px;padding:8px 0}.detail-item:last-child{border-bottom:none}.detail-item span{color:#666;font-weight:500}.detail-item strong{color:#2c3e50;font-weight:700}.payment-method h3{color:#2c3e50;font-size:16px;margin-bottom:15px;text-transform:uppercase}.method-options{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.method-option{align-items:center;border:2px solid #ecf0f1;border-radius:5px;cursor:pointer;display:flex;padding:12px;transition:all .3s ease}.method-option input[type=radio]{accent-color:#27ae60;cursor:pointer;margin-right:12px;width:auto}.method-option span{color:#2c3e50;font-weight:500}.method-option:hover{background-color:#f9f9f9;border-color:#27ae60}.method-option input:checked+span{color:#27ae60}.card-details,.mobile-details{background-color:#f9f9f9;border-radius:5px;margin-bottom:25px;padding:20px}.manual-payment-instruction{background-color:#f0fff4;border:1px solid #b7e4c7;border-left:4px solid #27ae60;border-radius:8px;margin:0 0 25px;padding:20px}.manual-payment-instruction span{color:#4b5563;display:block;font-size:13px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.manual-payment-instruction strong{color:#111827;display:block;font-size:18px}.form-group{margin-bottom:15px}.form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #ecf0f1;border-radius:5px;font-family:inherit;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#27ae60;box-shadow:0 0 8px #27ae604d;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.price-summary{background-color:#f9f9f9;border-left:4px solid #2980b9;border-radius:8px;margin:25px 0;padding:20px}.summary-row{display:flex;justify-content:space-between;margin-bottom:10px;padding:8px 0}.summary-row:not(.total){border-bottom:1px solid #e0e0e0}.summary-row.total{border-top:2px solid #27ae60;font-size:18px;margin-top:12px;padding-top:12px}.summary-row span{color:#666;font-weight:500}.summary-row strong{color:#2c3e50;font-weight:700}.summary-row.total strong{color:#27ae60}.btn-pay{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.btn-pay:hover:not(:disabled){box-shadow:0 6px 16px #27ae6066;transform:translateY(-2px)}.btn-pay:disabled{cursor:not-allowed;opacity:.6}.security-note{color:#999;font-size:13px;margin-top:15px;text-align:center}.alert{border-radius:5px;margin-bottom:20px;padding:15px}.alert-danger{background-color:#fadbd8;border-left:4px solid #e74c3c;color:#e74c3c}.back-button{color:#27ae60;font-weight:600;gap:8px;margin-bottom:30px;transition:all .3s ease}.back-button:hover{color:#2ecc71;gap:12px}.success-container{background-color:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026;margin:0 auto;max-width:600px;padding:60px 40px;text-align:center}.success-icon{animation:slideDown .6s ease-out;color:#27ae60;margin-bottom:20px}.success-container h1{color:#27ae60;font-size:32px;margin-bottom:15px}.success-container p{color:#666;font-size:16px;margin-bottom:30px}.success-details{background-color:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:20px;text-align:left}.success-details p{display:flex;justify-content:space-between;margin-bottom:10px}.success-details strong{color:#27ae60}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1200}.mpesa-modal{background:#fff;border-radius:12px;box-shadow:0 12px 28px #0003;max-width:420px;padding:24px;text-align:center;width:100%}.mpesa-modal h3{color:#1f2937;font-size:1.2rem;margin:0 0 8px}.mpesa-modal p{color:#6b7280;margin:0 0 8px}.mpesa-modal strong{color:#111827;display:block;font-size:1.05rem;margin:6px 0 16px}.modal-actions{display:flex;gap:10px;justify-content:center}.btn-cancel,.btn-confirm{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 14px}.btn-cancel{background:#e5e7eb;color:#1f2937}.btn-confirm{background:#10b981;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.payment-card{padding:25px}.payment-card h1{font-size:22px}.form-row{grid-template-columns:1fr}.success-container{padding:40px 25px}}.prescriptions-page{background:linear-gradient(180deg,#f3f7fb,#eef3f8);min-height:100vh;padding:1rem}.prescriptions-container{margin:0 auto;max-width:980px;width:100%}.back-button{align-items:center;background:#f8fffe;border:1px solid #cfe8e5;border-radius:10px;color:#0f766e;display:inline-flex;font-weight:700;gap:.45rem;margin-bottom:1rem;padding:.45rem .75rem;text-decoration:none;transition:all .2s ease}.back-button:hover{border-color:#8dd7cf;color:#0e9f8f;transform:translateY(-1px)}.prescriptions-card{background:#fff;border:1px solid #e5edf6;border-radius:18px;box-shadow:0 10px 28px #0f172a14;padding:1rem}.prescriptions-card h1{color:#0f172a;font-size:clamp(1.25rem,3.2vw,1.9rem);letter-spacing:-.02em;margin-bottom:1rem}.prescriptions-list{display:flex;flex-direction:column;gap:1rem}.prescription-item{background:#fcfdff;border:1px solid #dce8f5;border-radius:14px;padding:.95rem}.prescription-item:hover{border-color:#b8d8f7;box-shadow:0 8px 16px #0ea5e914}.prescription-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.85rem}.prescription-header h3{color:#0f172a;font-size:clamp(1rem,2.7vw,1.15rem);line-height:1.35;margin:0 0 .25rem}.prescription-date{color:#64748b;font-size:.82rem;margin:0}.prescription-actions{display:flex;gap:.55rem;width:100%}.btn-download-prescription,.btn-print-prescription{align-items:center;background:#ecfffb;border:1px solid #14b8a6;border-radius:10px;color:#0f766e;cursor:pointer;display:inline-flex;flex:1 1;font-size:.82rem;font-weight:700;gap:.4rem;justify-content:center;min-height:38px;padding:.5rem .6rem;transition:all .2s ease}.btn-print-prescription{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.btn-download-prescription:hover,.btn-print-prescription:hover{box-shadow:0 8px 14px #3b82f624;transform:translateY(-1px)}.prescription-content{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:1fr}.prescription-section{background:#f8fbff;border:1px solid #e2e8f0;border-radius:10px;padding:.8rem}.prescription-section h4{color:#0369a1;font-size:.75rem;font-weight:800;letter-spacing:.07em;margin:0 0 .4rem;text-transform:uppercase}.prescription-section p{color:#334155;font-size:.93rem;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.empty-state{color:#64748b;padding:2.5rem 1rem;text-align:center}.empty-state-icon{font-size:2.35rem;margin-bottom:.55rem}.empty-state-text{color:#334155;font-size:1.02rem;font-weight:700}.alert{border-radius:10px;margin-bottom:.9rem;padding:.8rem .95rem}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.loading{align-items:center;color:#0f766e;display:flex;font-size:1.05rem;font-weight:700;height:100vh;justify-content:center}@media (min-width:768px){.prescriptions-page{padding:1.5rem}.prescriptions-card{padding:1.4rem}.prescription-item{padding:1.1rem}.prescription-actions{width:auto}.btn-download-prescription,.btn-print-prescription{flex:0 0 auto;font-size:.85rem;min-width:142px;padding:.55rem .8rem}.prescription-content{gap:.8rem}}@media (min-width:1024px){.prescriptions-page{padding:2rem}.prescriptions-card{padding:1.65rem}.prescription-item{padding:1.2rem}.prescription-content{gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.prescription-section:first-child{grid-column:1/-1}}
/*# sourceMappingURL=main.91aee0e8.css.map*/