.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box}.register-wrapper{width:100%;display:flex;align-items:center;justify-content:center}.register-card{width:min(1100px,100%);height:min(82vh,760px);border-radius:22px;padding:0;background:#fff;border:1px solid #e5e7eb;box-shadow:0 18px 40px #0f172a24,0 0 0 1px #94a3b82e;position:relative;overflow:hidden}.register-shell{height:100%;display:grid;grid-template-columns:320px 1fr}.register-shell.is-thankyou{grid-template-columns:1fr}.register-header-close.MuiButtonBase-root{width:36px;height:36px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#14532d;font-size:20px}.register-header-close.MuiButtonBase-root:hover{background:#f3f4f6}.register-header-logo{height:28px;width:auto;object-fit:contain;display:block}.register-header-logo.is-mobile{display:none}.register-header-logo.is-main{height:34px;width:auto;display:block;margin:0 auto 8px}@media(max-width:600px){.register-heading-logo{display:flex;justify-content:center}}@media(max-width:600px){.register-header-logo{height:24px}.register-header-logo.is-mobile{display:block;height:26px}}.register-summary{background:linear-gradient(180deg,#ecfdf5,#f9fafb 70%);border-right:1px solid #e5e7eb;padding:16px;display:flex;flex-direction:column;gap:12px;border-top-left-radius:22px;border-bottom-left-radius:22px}.register-logo-wrap{display:flex;justify-content:center;padding:10px 12px;background:transparent;border:none;border-radius:0;box-shadow:none}.register-logo{width:min(190px,82%);height:auto;object-fit:contain}.register-back-to-dates{border:none;background:transparent;color:#14532d;font-weight:600;cursor:pointer;text-align:left;padding:6px 4px}.register-back-to-dates:hover{text-decoration:underline;color:#166534}.register-info-card{border-top:1px solid rgba(20,83,45,.18);padding:14px;display:flex;flex-direction:column;gap:14px}.register-info-title{font-weight:900;color:#14532d;font-size:1.05rem;line-height:1.3;margin-top:20px}.register-info-text{margin:0;color:#475569;line-height:1.5;font-size:.95rem}.register-info-contact{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:12px}.register-info-contact-item{display:flex;flex-direction:column;gap:4px}.register-info-contact-label{font-size:.8rem;letter-spacing:.01em;text-transform:uppercase;color:#6b7280;font-weight:700}.register-info-contact-value{color:#0f172a;font-weight:700;text-decoration:none;font-size:.96rem}.register-info-contact-value:hover{color:#14532d;text-decoration:underline}.register-content{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;border-top-right-radius:22px;border-bottom-right-radius:22px}.register-shell.is-thankyou .register-content{border-top-left-radius:22px;border-bottom-left-radius:22px}.register-content-header{position:sticky;top:0;z-index:2;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px 18px 12px;border-bottom:1px solid rgba(226,232,240,.9)}.register-shell.is-thankyou .register-content-header>div{justify-content:center}.register-shell.is-thankyou .register-title{display:none}.register-shell.is-thankyou .register-content-header .register-header-close{position:absolute;right:18px;top:18px}.register-time-slots-scroll{overflow:auto;padding-right:4px}.register-doctor-cards{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-items:center;gap:18px}.register-doctor-card{width:100%;max-width:360px;text-align:left;border:1px solid rgba(226,232,240,.95);background:#fff;border-radius:18px;padding:14px 14px 12px;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;cursor:pointer;position:relative;box-shadow:0 10px 22px #0f172a0f}.register-doctor-card:hover{border-color:#16a34a59;background:#ecfdf5}.register-doctor-card.is-selected{border-color:#16a34abf;box-shadow:0 12px 26px #16a34a2e}.register-doctor-card-button{background:transparent;border:none;padding:0;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:12px;cursor:pointer}.register-doctor-row{display:flex;gap:14px;align-items:center}.register-doctor-avatar{width:100%;max-width:120px;height:120px;border-radius:16px;overflow:hidden;background:#f1f5f9;border:1px solid rgba(226,232,240,.9)}.register-doctor-photo{width:100%;height:100%;display:block;object-fit:cover}.register-doctor-meta{width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.register-doctor-name{font-weight:800;color:#0f172a;line-height:1.2}.register-doctor-spec{font-size:.85rem;color:#6b7280;line-height:1.25}.register-doctor-fee{margin-top:4px;font-weight:800;color:#16a34a}.register-doctor-modes{padding:12px 10px 6px;background:#f8fafc;border:1px solid rgba(226,232,240,.8);border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.register-mode-btn.MuiButton-root{text-transform:none;font-weight:700;border-radius:10px;padding:8px 10px;font-size:.9rem;min-height:0}.register-mode-btn.MuiButton-contained{box-shadow:0 10px 18px #16a34a26}.register-doctor-selected{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:999px;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 10px 20px #16a34a40}.register-content-body{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 18px 18px}.register-footer-bar{position:sticky;bottom:0;flex:0 0 auto;display:flex;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(226,232,240,.9);background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;box-shadow:0 -10px 24px #0f172a14}.register-footer-left,.register-footer-center,.register-footer-right{display:flex;align-items:center}.register-footer-left{justify-content:flex-start;flex:0 0 auto}.register-footer-right{justify-content:flex-end;flex:0 0 auto}.register-footer-center{justify-content:center;flex:1;min-width:0}.register-footer-fee{padding:8px 14px;border-radius:999px;background:#ecfdf5;border:1px solid rgba(22,163,74,.25);color:#14532d;font-weight:900;white-space:nowrap}@media(max-width:600px){.register-footer-bar{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}}.register-card:before{content:"";position:absolute;inset:-45% 0 0;height:110px;background:radial-gradient(circle at top left,rgba(34,197,94,.55),transparent 65%),radial-gradient(circle at top right,rgba(16,185,129,.45),transparent 65%);opacity:.15;pointer-events:none}.register-brand-title{font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;color:#111827;margin-bottom:4px!important}.register-brand-text{color:#6b7280;margin-bottom:16px!important;text-align:center}.register-title{margin-top:4px!important;margin-bottom:14px!important;font-weight:600!important;color:#14532d}.register-form{display:flex;flex-direction:column;gap:12px}.register-concern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.register-concern-card{border:1px solid rgba(226,232,240,.95);background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;transition:all .18s ease;box-shadow:0 8px 18px #0f172a0f}.register-concern-card:hover{border-color:#16a34a73;background:#ecfdf5}.register-concern-card.is-selected{border-color:#16a34acc;background:#f0fdf4;box-shadow:0 12px 26px #16a34a2e}.register-concern-title{font-weight:800;color:#0f172a;margin-bottom:6px}.register-concern-sub{color:#6b7280;font-size:.9rem}.register-page .MuiTextField-root .MuiInputBase-root{border-radius:10px;background:#f8fafc;align-items:center}.register-page .MuiOutlinedInput-input{padding:14px 12px;line-height:1.4}.register-page .MuiInputBase-input{font-size:.95rem}.register-page .MuiInputLabel-root{color:#475569}.register-page .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}.register-page .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#16a34a}.register-page .MuiStepLabel-label{color:#475569;font-weight:600}.register-page .MuiStepLabel-label.Mui-active,.register-page .MuiStepLabel-label.Mui-completed{color:#14532d}.register-page .MuiStepIcon-root.Mui-active,.register-page .MuiStepIcon-root.Mui-completed{color:#16a34a}.register-mode-card{margin-top:14px;padding:14px 14px 10px;border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fff;box-shadow:0 8px 18px #0f172a0f}.register-mode-grid{display:flex;gap:8px}.register-mode-hint,.register-mode-price{margin-top:6px;font-size:.95rem;color:#0f172a}.register-mode-price strong{color:#14532d}.register-calendar{border:1px solid rgba(226,232,240,.95);border-radius:18px;background:#fff;padding:14px;box-shadow:0 14px 28px #0f172a0f}.register-calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:8px}.register-calendar-title{text-align:center;font-weight:700;color:#111827}.register-calendar-nav.MuiButton-root{min-width:44px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(226,232,240,.9);color:#111827;font-weight:800}.register-calendar-nav.MuiButton-root:hover{background:#f8fafc}.register-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:8px 2px 6px;color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.06em}.register-calendar-weekdays span{text-align:center}.register-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding-top:8px}.register-calendar-day{width:100%;aspect-ratio:1 / 1;border-radius:14px;border:1px solid transparent;background:transparent;color:#0f172a;font-weight:600;cursor:pointer}.register-calendar-day:hover{background:#ecfdf5;border-color:#22c55e59}.register-calendar-day.is-today{border-color:#64748b59}.register-calendar-day.is-selected{background:#111827;color:#fff;border-color:#111827}.register-calendar-day.is-disabled{color:#94a3b8e6;cursor:not-allowed}.register-calendar-day.is-disabled:hover{background:transparent;border-color:transparent}.register-calendar-hint{margin-top:10px;text-align:center;color:#64748b;font-size:.85rem}.register-button.MuiButton-root{margin-top:6px;border-radius:999px;text-transform:none;font-weight:600;font-size:.95rem;padding-block:10px;background:#16a34a;box-shadow:0 10px 24px #16a34a40}.register-button.MuiButton-root:hover{background:#15803d;box-shadow:0 12px 28px #16a34a59}.register-divider{margin-top:18px!important;margin-bottom:12px!important}.register-footer-text{color:#6b7280}.register-link{color:#2563eb;font-weight:600;text-decoration:none}.register-link:hover{text-decoration:underline}@media(max-width:600px){.register-page{padding:10px 0}.register-card{height:100vh;border-radius:0}.register-shell{grid-template-columns:1fr}.register-summary{display:none}.register-brand-title,.register-title{font-size:1.05rem!important}.register-doctor-cards{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.register-doctor-card{flex:0 0 64%;max-width:180px;scroll-snap-align:start}.register-doctor-avatar{height:140px}}.thankyou-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:30px 16px;background:linear-gradient(180deg,#f8fafc,#fff)}.thankyou-split{width:100%;max-width:980px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.thankyou-panel{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:22px;box-shadow:0 24px 70px #02061724}.thankyou-panel .thankyou-details{border-top:none;padding-top:0;margin-top:0}.thankyou-card{width:100%;max-width:760px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:26px;box-shadow:0 24px 70px #02061724;text-align:center}.thankyou-card button.thankyou-btn{cursor:pointer}.thankyou-badge{width:54px;height:54px;border-radius:999px;margin:0 auto 12px;background:#dcfce7;border:1px solid #86efac;color:#166534;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}.thankyou-title{margin:0;font-size:34px;letter-spacing:-.02em}.thankyou-subtitle{margin:10px auto 0;color:#475569;line-height:1.7;max-width:62ch}.thankyou-actions{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.thankyou-details-divider{display:none;align-items:center;gap:12px;color:#64748b;font-weight:900;letter-spacing:.18em;font-size:11px;margin-bottom:14px}.thankyou-details-divider-line{height:1px;background:#e2e8f0;flex:1 1 auto}.thankyou-details-divider-text{flex:0 0 auto}.thankyou-btn{text-decoration:none;border-radius:14px;padding:12px 14px;font-weight:900;font-size:14px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.thankyou-btn-primary{background:#2563eb;color:#fff}.thankyou-btn-primary:hover{background:#1d4ed8}.thankyou-btn-secondary{background:#fff;color:#0f172a;border-color:#cbd5e1}.thankyou-btn-secondary:hover{background:#f1f5f9}.thankyou-details{margin-top:22px;text-align:left;border-top:1px solid #e2e8f0;padding-top:18px}.thankyou-details-title{margin:0;font-size:16px;font-weight:900;display:flex;align-items:center;gap:10px}.thankyou-details-title-icon{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.thankyou-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.thankyou-item{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff}.thankyou-label{font-size:12px;font-weight:900;color:#64748b}.thankyou-value{margin-top:6px;font-weight:900;color:#0f172a;word-break:break-word}@media(max-width:640px){.thankyou-details-divider{display:flex}.thankyou-card{padding:18px}.thankyou-panel{padding:18px;border-radius:18px}.thankyou-title{font-size:28px}.thankyou-subtitle{font-size:14px;margin-top:8px}.thankyou-actions{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}.thankyou-btn{width:100%}.thankyou-grid,.thankyou-split{grid-template-columns:1fr}}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(circle at top left,#e5f0ff,#f9fafb);box-sizing:border-box}.signup-wrapper{display:flex;align-items:center;justify-content:center}.signup-card{width:100%;max-width:520px;border-radius:18px;padding:26px 24px;background:#fff;border:1px solid rgba(209,213,219,.9);box-shadow:0 18px 40px #0f172a24,0 0 0 1px #94a3b82e;position:relative;overflow:hidden}.signup-card:before{content:"";position:absolute;inset:-45% 0 0;height:110px;background:radial-gradient(circle at top left,#60a5fa,transparent 65%),radial-gradient(circle at top right,#22c55e,transparent 65%);opacity:.15;pointer-events:none}.signup-brand-title{font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;color:#111827;margin-bottom:4px!important}.signup-brand-text{color:#6b7280;margin-bottom:16px!important;text-align:center}.signup-title{margin-top:4px!important;margin-bottom:14px!important;font-weight:600!important;color:#111827}.signup-form{display:flex;flex-direction:column;gap:12px}.signup-page .MuiTextField-root .MuiInputBase-root{border-radius:10px;background:#f9fafb}.signup-page .MuiInputBase-input{font-size:.95rem}.signup-page .MuiInputLabel-root{color:#6b7280}.signup-page .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}.signup-page .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2563eb}.signup-button.MuiButton-root{margin-top:6px;border-radius:999px;text-transform:none;font-weight:600;font-size:.95rem;padding-block:10px;background:#2563eb;box-shadow:0 10px 24px #2563eb59}.signup-button.MuiButton-root:hover{background:#1d4ed8;box-shadow:0 12px 28px #2563eb73}.signup-divider{margin-top:18px!important;margin-bottom:12px!important}.signup-footer-text{color:#6b7280}.signup-link{color:#2563eb;font-weight:600;text-decoration:none}.signup-link:hover{text-decoration:underline}@media(max-width:600px){.signup-page{padding:10px 0}.signup-card{padding:20px 14px;border-radius:16px}.signup-brand-title,.signup-title{font-size:1.05rem!important}}.dashboard-page{display:flex;flex-direction:column;gap:20px}.dashboard-header{display:flex;flex-direction:column;gap:4px}.dashboard-title{font-size:1.6rem;font-weight:700;color:#0f172a;margin:0}.dashboard-subtitle{margin:0;color:#6b7280;font-size:.95rem}.dashboard-stat-card{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 10px 25px #0f172a1a;border:1px solid rgba(226,232,240,.9)}.dashboard-stat-label{margin:0 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.dashboard-stat-value{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.dashboard-stat-meta{margin:4px 0 0;font-size:.8rem;color:#10b981}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-chart-card{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 10px 25px #0f172a1a;border:1px solid rgba(226,232,240,.9)}.dashboard-chart-title{margin:0 0 8px;font-size:1rem;font-weight:600;color:#111827}.dashboard-chart-placeholder{height:220px;border-radius:10px;border:1px dashed #d1d5db;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.9rem;background:radial-gradient(circle at top left,#eff6ff,#fff)}@media(max-width:1024px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.dashboard-stats-grid{grid-template-columns:minmax(0,1fr)}.dashboard-chart-placeholder{height:180px}}.users-page{max-height:100vh;display:flex;justify-content:center;color:#0f172a}.users-shell{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:18px}.users-header h1{margin:0;font-size:28px;font-weight:700}.users-subtitle{margin:4px 0 0;color:#6b7280;font-size:14px}.users-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0f172a0d;overflow:hidden}.users-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e2e8f0}.users-search-wrapper{position:relative;flex:1;min-width:240px;max-width:360px;display:flex;align-items:center;gap:8px}.users-search-wrapper .material-symbols-outlined{position:absolute;left:12px;color:#9ca3af;font-size:20px}.users-search-input{width:100%;border-radius:12px;border:1px solid #e5e7eb;padding:11px 14px 11px 38px;font-size:16px;background:#f8fafc;color:#0f172a}.users-search-input:focus{outline:none;border-color:#0c7d5d;box-shadow:0 0 0 3px #3b82f626;background:#fff}.users-primary-btn{display:inline-flex;align-items:center;gap:8px;background:#0c7d5d;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 6px 14px #1d4ed840;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.users-primary-btn .material-symbols-outlined{font-size:18px}.users-primary-btn:hover{background:#0c7d5d;box-shadow:0 10px 20px #33d96a47}.users-primary-btn:active{transform:translateY(0)}.users-table-wrapper{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table thead{background:#f8fafc;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.users-table th,.users-table td{padding:11px 14px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.users-table th:nth-child(2),.users-table td:nth-child(2){min-width:200px;text-align:left}.users-table th:nth-child(3),.users-table td:nth-child(3){min-width:140px;text-align:left}.users-table th:nth-child(4),.users-table td:nth-child(4){min-width:220px;text-align:left}.users-table tbody tr{cursor:pointer}.users-table tbody tr:hover{background:#f8fbff}.users-table input[type=checkbox]{width:18px;height:18px;accent-color:#0c7d5d}.user-name{display:inline-flex;align-items:center;gap:10px}.muted{color:#000}.link-like{color:inherit;cursor:inherit;text-decoration:none}.doctor-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;border:1px solid transparent}.doctor-pill .material-symbols-outlined{font-size:16px}.badge-neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.badge-shubhash{background:#e3f6f1;color:#0e936e;border-color:#b7ebdc}.users-pagination{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5e7eb;background:#fff;flex-wrap:wrap;gap:10px}.users-modal-backdrop{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:999;overflow:auto;-webkit-overflow-scrolling:touch}.users-modal{width:min(720px,95vw);background:#fff;border-radius:16px;border:1px solid rgba(226,232,240,.9);box-shadow:0 25px 70px #0f172a40;overflow:hidden;max-height:90vh;display:flex;flex-direction:column;animation:users-modal-enter .22s cubic-bezier(.16,1,.3,1)}@keyframes users-modal-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.users-modal-title{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.users-modal-subtitle{margin:6px 0 0;color:#6b7280;font-size:.9rem}.users-modal-form{display:flex;flex-direction:column;gap:12px;padding:16px}.users-modal-field{display:flex;flex-direction:column;gap:6px}.users-modal-field>span{font-size:.8rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.users-modal-field input,.users-modal-field select,.users-modal-field textarea{border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;font-size:.95rem;background:#fff}.users-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.users-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid rgba(226,232,240,.9);background:linear-gradient(135deg,#f9fafb,#eff6ff)}.users-modal-header-left{display:flex;align-items:flex-start;gap:10px}.users-modal-header-text{display:flex;flex-direction:column;gap:4px}.users-modal-close{width:34px;height:34px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:#ffffffb3;color:#0f172a;cursor:pointer;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}.users-modal-close:hover{background:#f3f4f6f2;transform:translateY(-1px)}.users-modal .create-appointment-header{padding:16px 16px 14px}.users-modal .create-appointment-form{padding:16px}@media(max-width:640px){.users-modal-backdrop{padding:10px;align-items:flex-end}.users-modal{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.users-modal .create-appointment-header{padding:14px 14px 12px}.users-modal-form{padding:14px}.users-modal-actions{flex-direction:column;align-items:stretch}.users-modal-actions .btn{width:100%}.users-modal-header{padding:14px}}.pagination-meta{font-size:13px;color:#6b7280}.pagination-controls{display:inline-flex;gap:6px;align-items:center}.pagination-controls button{min-width:34px;height:34px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#475569;cursor:pointer;transition:background .12s ease,color .12s ease,border .12s ease;padding:0 10px}.pagination-controls button:hover:not(:disabled){background:#f1f5f9}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.pagination-controls button.active{background:#0c7d5d;color:#fff;border-color:#0c7d5d;box-shadow:0 6px 12px #41d57c38}.pagination-ellipsis{padding:0 6px;color:#94a3b8}@media(max-width:768px){.users-page{padding:0;max-height:none}.users-header h1{font-size:20px}.users-toolbar{flex-direction:column;align-items:stretch}.users-search-wrapper{max-width:none}.users-card{border-radius:12px;box-shadow:0 6px 16px #0f172a14;overflow:visible}.users-table-wrapper{overflow:visible}.users-table{border-collapse:separate;border-spacing:0 10px}.users-table thead{display:none}.users-table tbody tr{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;margin-bottom:12px;box-shadow:0 6px 16px #0f172a14}.users-table td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9;white-space:normal}.users-table td:last-child{border-bottom:none}.users-table td:before{content:attr(data-label);font-weight:600;color:#475569;margin-right:8px}.checkbox-col{width:100%;justify-content:flex-start}.users-table input[type=checkbox]{width:18px;height:18px;accent-color:#0c7d5d}.users-pagination{flex-direction:column;align-items:flex-start;width:100%;margin-top:4px}}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:0;padding:12px 18px 16px;background:#fff;width:100%}.pagination__button{padding:.35rem .7rem;border-radius:8px;border:1px solid #e5e7eb;background-color:#fff;cursor:pointer;font-size:.875rem;color:#0f172a}.pagination__button:disabled{cursor:not-allowed;opacity:.5}.pagination__list{display:flex;list-style:none;gap:.25rem;padding:0;margin:0}.pagination__page{min-width:34px;height:34px;padding:0 .6rem;border-radius:8px;border:1px solid #e5e7eb;background-color:#fff;cursor:pointer;font-size:.875rem;color:#0f172a}.pagination__page--active{background-color:#0c7d5d;color:#fff;border-color:#0c7d5d}.user-details-layout{margin-top:16px;display:flex;gap:16px}.user-details-left{flex:1.4;max-width:50%;display:flex;flex-direction:column;gap:12px}.user-details-card.user-details-main{flex:1;max-width:100%}.user-details-side{flex:1;display:flex;flex-direction:column;gap:16px}.user-details-card{padding:18px 20px;border-radius:16px;background:#fff;border:1px solid rgba(16,185,129,.14);box-shadow:0 14px 28px #0f172a14;display:flex;flex-direction:column;gap:10px}.user-details-row{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.user-details-label{font-weight:600;letter-spacing:.02em;color:#6b7280;text-transform:uppercase;font-size:.72rem}.user-details-value{color:#0f172a}.user-details-side-card{min-height:120px}.patient-hero{position:relative;height:90px;border-radius:14px;background:linear-gradient(135deg,#10b981f2,#22c55ed9);margin-bottom:18px}.patient-hero-avatar{position:absolute;bottom:-26px;left:18px;width:52px;height:52px;border-radius:999px;background:#f9fafb;border:3px solid #ffffff;display:flex;align-items:center;justify-content:center;font-weight:600;color:#1f2937}.patient-info-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px;padding:8px 0 4px}.patient-info-item{display:flex;flex-direction:column;gap:6px}.patient-info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#059669e0;font-weight:700}.patient-info-value{font-size:.9rem;color:#111827}.patient-info-item--full{grid-column:1 / -1}.patient-profile-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(16,185,129,.14)}.patient-profile-identity{display:flex;align-items:center;gap:14px;min-width:0}.patient-avatar{width:58px;height:58px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#10b98138,#10b98114);border:2px solid rgba(16,185,129,.2);display:flex;align-items:center;justify-content:center;font-weight:700;color:#0f172adb;position:relative;flex:0 0 auto}.patient-avatar-initials{line-height:1}.patient-avatar-dot{width:12px;height:12px;border-radius:999px;background:#10b981f2;border:2px solid #ffffff;position:absolute;right:2px;bottom:2px}.patient-profile-text{min-width:0;display:flex;flex-direction:column;gap:6px}.patient-profile-name{font-size:1.35rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-profile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.patient-profile-id{font-size:.9rem;color:#0f172a9e;font-weight:600}.patient-status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.patient-status-pill--active{background:#10b9811f;color:#059669fa;border:1px solid rgba(16,185,129,.28)}.patient-status-pill--inactive{background:#ef44441f;color:#b91c1cfa;border:1px solid rgba(239,68,68,.24)}.patient-profile-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.patient-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;padding:9px 14px;font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.patient-action-button--ghost{background:#0c7d5d;color:#fff;border-color:#0c7d5d}.patient-action-button--ghost:hover{background:#0a6a50;border-color:#0a6a50;box-shadow:0 10px 20px #0c7d5d47}.patient-action-button--primary{background:#0c7d5d;color:#fff;box-shadow:0 6px 14px #0c7d5d40}.patient-action-button--primary:hover{background:#0a6a50;box-shadow:0 10px 20px #0c7d5d47}.patient-edit-row{display:inline-flex;align-items:center;gap:10px;width:100%;flex-wrap:wrap}.patient-edit-input,.patient-edit-select{width:100%;min-width:0;border-radius:10px;border:1px solid rgba(15,23,42,.14);padding:9px 12px;font-size:.92rem;color:#0f172adb;background:#0f172a05;outline:none}.patient-edit-input:focus,.patient-edit-select:focus{border-color:#10b98180;box-shadow:0 0 0 4px #10b9811f;background:#10b9810f}.patient-edit-input--name{max-width:320px;font-size:1.15rem;font-weight:700;padding:8px 12px;background:#0f172a05}.patient-edit-row .patient-edit-input{width:120px}.patient-edit-row .patient-edit-select{width:160px}.patient-notes-card{gap:12px}.patient-notes-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-notes-title{font-size:1rem;font-weight:700;color:#0f172a}.patient-notes-updated{font-size:.8rem;color:#0f172a94}.patient-notes-input{width:100%;border-radius:12px;border:1px solid rgba(16,185,129,.22);background:#10b9810f;padding:14px;font-size:.95rem;color:#0f172adb;resize:vertical;outline:none}.patient-notes-input:focus{background:#10b98114;border-color:#10b98180;box-shadow:0 0 0 4px #10b9811f}.patient-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.patient-history-link{border:none;background:transparent;color:#0f9b6c;font-weight:700;cursor:pointer;padding:6px 8px;border-radius:10px}.patient-history-link:hover{background:#10b9811a}.user-history-title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.user-history-card{margin-top:16px}.user-history-table{border:1px solid rgba(16,185,129,.16);border-radius:14px;overflow:hidden}.user-history-table{width:100%;border-collapse:collapse;font-size:.85rem}.user-history-table thead{background:#0f172a05;border-bottom:1px solid rgba(16,185,129,.14)}.user-history-table th,.user-history-table td{padding:12px 14px;text-align:left}.user-history-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172a99}.user-history-table tbody tr:nth-child(2n){background:#0f172a04}.user-history-table tbody tr:hover{background:#10b98114}.user-history-table tbody tr{border-bottom:1px solid rgba(15,23,42,.08)}.user-history-table tbody td{color:#0f172ad6}.patient-profile-page{min-height:100vh;padding:24px 30px;display:flex;flex-direction:column;gap:18px}.patient-profile-header{display:flex;flex-direction:column;gap:6px}.patient-breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#6c7a91}.patient-back-button{border:none;background:transparent;color:#2d5be3;font-weight:700;cursor:pointer;padding:0}.patient-breadcrumb-divider{color:#9da9bb}.patient-breadcrumb-leaf{color:#1f2a3d;font-weight:700}.patient-profile-title{margin:0;font-size:1.8rem;font-weight:700;color:#1f2a3d}.patient-profile-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.patient-profile-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto}@media(max-width:768px){.patient-profile-title-row{flex-direction:column;align-items:flex-start;gap:8px}.patient-profile-actions{width:100%;margin-left:0;flex-wrap:wrap;justify-content:flex-start;gap:8px}.patient-profile-actions select{min-width:160px}}.patient-summary-card,.patient-notes-card,.patient-history-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;box-shadow:0 8px 20px #0f172a0d;padding:30px 22px}.patient-summary-card{display:flex;flex-direction:column;gap:22px}.patient-summary-top{display:flex;align-items:center;justify-content:space-between}.patient-summary-identity{display:flex;gap:14px;align-items:center}.patient-summary-avatar{width:78px;height:78px;border-radius:50%;background:linear-gradient(145deg,#d7e6ff,#eff4ff);display:grid;place-items:center;font-size:1.6rem;font-weight:700;color:#1f2a3d;border:2px solid #d4ddf0}.patient-summary-meta{display:flex;flex-direction:column;gap:8px}.patient-summary-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.patient-summary-name{margin:0;font-size:1.4rem;font-weight:700;color:#162032}.patient-id-badge{background:#0c7d5d1f;color:#0c7d5d;padding:4px 10px;border-radius:8px;font-weight:700;font-size:.9rem;border:1px solid rgba(12,125,93,.32)}.patient-summary-stats{display:flex;flex-wrap:wrap;gap:12px 20px;color:#4c5671;font-weight:600}.patient-stat{display:inline-flex;align-items:center;gap:8px}.patient-stat-icon{font-size:1rem}.patient-quick-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding-top:10px;border-top:1px solid #edf0f5}.patient-fact{display:flex;flex-direction:column;gap:6px}.patient-fact-label{text-transform:uppercase;letter-spacing:.06em;color:#0c7d5d;font-weight:700;font-size:14px}.patient-fact-value{display:inline-flex;align-items:center;gap:8px;color:#262628;font-size:14px;font-weight:600}.patient-fact-icon{font-size:1rem}.patient-notes-card{display:flex;flex-direction:column;gap:10px}.patient-notes-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.patient-notes-title{font-weight:700;color:#1f2a3d;display:inline-flex;align-items:center;gap:8px}.patient-notes-hint{font-size:.85rem;color:#8a94ab}.notes-icon{font-size:1rem}.patient-notes-input{border:1px solid #dfe5f0;border-radius:10px;min-height:140px;padding:12px;font-size:.95rem;color:#1f2a3d;outline:none;background:#fafbfd}.patient-notes-input:focus{border-color:#c7d7ff;box-shadow:0 0 0 3px #2d5be31a;background:#fff}.patient-notes-actions{display:flex;justify-content:flex-end}.notes-save-button{background:#0c7d5d;color:#fff;border:none;border-radius:4px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 22px #2d5be32e}.notes-save-button:hover{background:#0c7d5d}.patient-history-card{display:flex;flex-direction:column;gap:12px}.patient-history-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.patient-history-title-row{display:inline-flex;align-items:center;gap:8px}.history-icon{font-size:1.1rem}.patient-history-title{margin:0;font-weight:700;color:#1f2a3d}.patient-history-link{border:none;background:transparent;color:#0c7d5d;cursor:pointer;margin:0;font-weight:700;color:#1f2a3d}.patient-history-table{width:100%;border-collapse:collapse;border:1px solid #e6eaf0;border-radius:12px;overflow:hidden;font-size:.93rem}.patient-history-table thead{background:#f7f9fc}.patient-history-table th,.patient-history-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf0f5}.patient-history-table th{color:#7a869c;font-weight:700;letter-spacing:.04em;font-size:.8rem;text-transform:uppercase}.patient-history-table tbody tr:last-child td{border-bottom:none}.history-date{font-weight:700;color:#1f2a3d}.history-time{color:#7a869c;font-size:.85rem}.history-doctor{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#1f2a3d}.history-avatar{width:36px;height:36px;border-radius:50%;background:#e6eeff;display:grid;place-items:center;font-weight:700;color:#0c7d5d}.history-status{padding:6px 10px;border-radius:999px;font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;gap:6px}.history-list{display:flex;flex-direction:column;gap:12px}.history-card{display:grid;grid-template-columns:1.1fr 2fr auto;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid #e2e6ee;border-radius:12px}.history-card-left{display:flex;flex-direction:column;gap:4px}.history-card-middle{display:flex;align-items:center;gap:12px}.history-card-right{display:flex;justify-content:flex-end}.history-date{font-weight:700;color:#1f2a3d;font-size:.98rem}.history-time{color:#7a869c;font-size:.88rem}.history-doctor{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:#1f2a3d}.history-doctor-text{display:flex;flex-direction:column;gap:4px}.history-doctor-name{font-weight:700;color:#1f2a3d}.history-dept{color:#7a869c;font-size:.9rem}.history-avatar{width:42px;height:42px;border-radius:50%;background:#e6eeff;display:grid;place-items:center;font-weight:700;color:#2d5be3}.history-status{padding:6px 12px;border-radius:999px;font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.02em}.history-status--completed{background:#e7f6ec;color:#2d8a4d;border:1px solid #c8e8d2}.history-status--upcoming{background:#eaf1ff;color:#2d5be3;border:1px solid #d6e2ff}.history-status--cancelled{background:#ffecec;color:#d13b3b;border:1px solid #ffd6d6}@media(max-width:768px){.patient-profile-page{padding:12px}.patient-summary-card,.patient-notes-card,.patient-history-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;box-shadow:0 8px 20px #0f172a0d;padding:20px 12px}.patient-summary-top{flex-direction:column;align-items:flex-start;gap:12px}.patient-summary-stats{gap:10px 14px}.patient-history-table th,.patient-history-table td{font-size:.85rem}.patient-profile-title{font-size:20px}.history-card{grid-template-columns:1fr;align-items:flex-start;gap:10px}.history-card-right{justify-content:flex-start}}@media(max-width:900px){.user-details-layout,.user-details-side{flex-direction:column}.patient-profile-top{flex-direction:column;align-items:flex-start}.patient-profile-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}.doctor-details-page{display:flex;flex-direction:column;gap:16px}.doctor-details-header{display:flex;flex-direction:column;gap:4px}.doctor-details-title{margin:0;font-size:1.4rem;font-weight:700;color:#0f172a}.doctor-details-subtitle{margin:0;color:#6b7280;font-size:.9rem}.doctor-details-breadcrumb-row{margin-top:8px;display:flex;align-items:center;gap:8px}.doctor-details-back-button{border:none;background:transparent;border-radius:999px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem}.doctor-details-back-button:hover{color:#b91c1c}.doctor-details-breadcrumb{font-size:.8rem;color:#6b7280}.doctor-details-content-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:1024px){.doctor-details-content-grid{grid-template-columns:2fr 1fr}}.doctor-info-card{background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;overflow:hidden}.doctor-info-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;display:flex;align-items:center;gap:16px}.doctor-avatar{width:64px;height:64px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.doctor-info-title h2{margin:0 0 4px;font-size:1.2rem;font-weight:600}.doctor-info-title p{margin:0;font-size:.9rem;opacity:.9}.doctor-info-fields{padding:24px;display:flex;flex-direction:column;gap:16px}.info-field{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.info-field:last-child{border-bottom:none}.field-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.field-value{font-size:.9rem;color:#1e293b;font-weight:500}.doctor-notes-card,.doctor-meta-card{background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;overflow:hidden}.card-header{padding:20px 24px;border-bottom:1px solid #f1f5f9}.card-header h3{margin:0;font-size:1rem;font-weight:600;color:#0f172a}.card-content{padding:20px 24px}.card-content p{margin:0;color:#6b7280;font-size:.9rem}.meta-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.meta-field:last-child{margin-bottom:0}.patient-fee-subrow-label{color:#0c7d5d}.patient-edit-input{border:none;border-bottom:1.5px solid #333333;background:transparent;padding:4px 2px;font-size:14px;outline:none;border-radius:0}.patient-edit-input:focus{border-bottom-color:#0a624b;box-shadow:none}.patient-edit-input--name{font-size:20px;font-weight:700}.avail-action-button{padding:8px 14px;cursor:pointer;color:#0c7d5d;background-color:transparent;border:1px solid #0C7D5D;border-radius:4px;font-size:14px;font-weight:600}.avail-action-button:hover{box-shadow:#0000001a 0 10px 15px -3px,#0000000d 0 4px 6px -2px}.avail-action-button:disabled{cursor:not-allowed;color:#9ca3af;border-color:#e5e7eb;background-color:#f9fafb;box-shadow:none;opacity:.7}.doctor-toggle{display:inline-flex;align-items:center}.doctor-switch{position:relative;display:inline-flex;align-items:center}.doctor-switch input[type=checkbox]{position:absolute;opacity:0;inset:0;cursor:pointer;z-index:2}.doctor-switch-track{position:relative;display:inline-flex;align-items:center;justify-content:center;width:108px;height:24px;border-radius:999px;background:linear-gradient(90deg,#ecebeb,#dcdcdc);box-shadow:inset 0 1px 2px #0000002e;color:#4b5563;font-weight:700;font-size:10px;padding:0 6px;box-sizing:border-box;transition:background .3s ease,color .3s ease;overflow:hidden}.doctor-switch-track:after{content:"Active";position:absolute;right:7px;top:50%;transform:translateY(-50%);z-index:1}.doctor-switch-track:before{content:"Inactive";position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:1;color:#374151}.doctor-switch-thumb{position:absolute;left:2px;width:56px;height:21px;background:#d13b3b;border-radius:20px;box-shadow:0 2px 5px #00000024;display:grid;place-items:center;font-weight:700;color:#fff;font-size:12px;transition:transform .3s ease,color .3s ease;z-index:2}.doctor-switch-thumb:after{content:attr(data-label)}.doctor-switch input[type=checkbox]:checked+.doctor-switch-track .doctor-switch-thumb{transform:translate(48px);background:#0c7d5d}.doctor-switch input[type=checkbox]:checked+.doctor-switch-track{background:linear-gradient(90deg,#d7d7d7,#dcdcdc)}.doctor-switch input[type=checkbox]:checked+.doctor-switch-track .doctor-switch-thumb{color:#fff}.doctor-history-card{background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;overflow:hidden}@media(min-width:1024px){.doctor-history-card{grid-column:1 / -1}}.table-container{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.9rem}.history-table thead{background:#f9fafb}.history-table th,.history-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.history-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:600}.history-table tbody tr:hover{background:#f9fafb}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:500}.doctor-details-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#6b7280;font-size:1rem}@media(max-width:768px){.doctor-info-header{padding:20px;flex-direction:column;text-align:center}.doctor-avatar{width:56px;height:56px;font-size:1.3rem}.doctor-info-fields{padding:20px}.info-field{flex-direction:column;align-items:flex-start;gap:4px}.card-header,.card-content{padding:16px 20px}.history-table th,.history-table td{padding:10px 12px;font-size:.8rem}}.doctor-availability-card{background:#fff}.doctor-two-column{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:stretch}.doctor-two-column>section{height:100%;display:flex;flex-direction:column}@media(max-width:992px){.doctor-two-column{grid-template-columns:1fr}}.availability-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.availability-title-block h3{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.availability-title-block p{margin:4px 0 0;color:#6b7280;font-size:.9rem}.availability-today{border:1px solid #e5e7eb;background:#f8fafc;color:#0f172a;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.availability-today:hover{box-shadow:0 8px 16px #0f172a1f;transform:translateY(-1px)}.availability-calendar{display:flex;flex-direction:column;gap:10px}.availability-month-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#f7fbff;border:1px solid #e5e7eb;border-radius:12px}.availability-month{font-weight:700;color:#111827;font-size:1rem}.availability-nav{border:none;background:transparent;font-size:18px;width:36px;height:36px;border-radius:10px;cursor:pointer;transition:background .2s ease}.availability-nav:hover{background:#eef2f7}.availability-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;padding:0 2px;color:#6b7280;font-weight:700;font-size:.82rem;text-transform:uppercase}.availability-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.availability-cell{position:relative;min-height:50px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:8px;display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.availability-cell:hover{box-shadow:0 10px 24px #0f172a1f;transform:translateY(-2px);border-color:#d1d5db}.availability-cell.is-muted{opacity:.35;background:#f9fafb}.availability-date{font-weight:700;color:#0f172a}.availability-bar{display:block;height:8px;border-radius:999px;margin-top:auto}.availability-bar--available{background:linear-gradient(90deg,#10b981,#059669)}.availability-bar--not{background:linear-gradient(90deg,#bebebe,#c2c2c2)}.availability-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:8px;color:#4b5563;font-weight:600;font-size:.9rem}.legend-dot{width:12px;height:12px;border-radius:999px}.legend-dot--full,.legend-dot--available{background:#10b981}.legend-dot--not{background:#c2c2c2}@media(max-width:900px){.availability-grid{gap:10px}.availability-cell{min-height:74px}}@media(max-width:640px){.availability-header{flex-direction:column;align-items:flex-start}.availability-weekdays,.availability-grid{gap:8px}.availability-cell{padding:8px;min-height:68px}.availability-date{font-size:.9rem}}.avail-modal-backdrop{position:fixed;inset:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:16px}.avail-modal{width:min(960px,95vw);background:#fff;border-radius:18px;box-shadow:0 25px 70px #0f172a40;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.avail-modal-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb}.avail-modal-title{margin:0;font-size:1.25rem;color:#0f172a;font-weight:700}.avail-modal-subtitle{margin:0 0 4px;color:#6b7280;font-size:.9rem}.avail-close-btn{border:none;background:#f3f4f6;color:#0f172a;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;transition:background .2s ease,transform .2s ease}.avail-close-btn:hover{background:#e5e7eb;transform:scale(1.05)}.avail-modal-body{display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px 24px 10px;overflow-y:auto}.avail-calendar{border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:linear-gradient(180deg,#f9fafb,#fff)}.avail-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:700;color:#0f172a}.avail-cal-nav button{border:none;background:#e5e7eb;width:32px;height:32px;border-radius:10px;cursor:pointer;transition:background .2s ease,transform .2s ease}.avail-cal-nav button:hover{background:#d1d5db;transform:translateY(-1px)}.avail-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#6b7280;font-size:.85rem;margin-bottom:8px;font-weight:600}.avail-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.avail-cal-day{width:100%;aspect-ratio:1;border:none;border-radius:12px;background:#fff;color:#0f172a;font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1px #e5e7eb;transition:all .2s ease}.avail-cal-day.is-selected{background:#0c7d5d;color:#fff;box-shadow:inset 0 0 0 2px #0c7d5d,0 10px 25px #0c7d5d40}.avail-cal-day.is-disabled{opacity:.4;cursor:not-allowed;box-shadow:inset 0 0 0 1px #e5e7eb;background:#f9fafb;color:#94a3b8}.avail-cal-day.is-placeholder{visibility:hidden}.avail-cal-day:disabled{cursor:default}.avail-cal-hint{text-align:center;margin:12px 0 0;color:#6b7280;font-size:.9rem}.avail-slots h4{margin:0 0 12px;font-size:1rem;color:#0f172a}.avail-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.avail-slot-chip{border:1px solid #d1fae5;background:#f0fdf4;color:#0c7d5d;padding:10px 12px;border-radius:999px;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .12s ease,box-shadow .18s ease,background .2s ease;text-align:center}.avail-slot-chip:hover{transform:translateY(-1px);box-shadow:0 10px 25px #0c7d5d1f}.avail-slot-chip.is-active{background:#0c7d5d;color:#fff;border-color:#0c7d5d;box-shadow:0 10px 30px #0c7d5d4d}.avail-summary-heading{margin:18px 0 8px;font-size:.95rem;font-weight:700;color:#0f172a}.avail-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.avail-select-group{display:flex;flex-direction:column;gap:6px}.avail-select-group label{font-size:.9rem;font-weight:600;color:#0f172a}.avail-select-group select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:.95rem;color:#0f172a;box-shadow:inset 0 1px 2px #0000000a}.avail-select-group select:disabled{color:#9ca3af;background:#f9fafb;border-color:#e5e7eb;cursor:not-allowed}.avail-slot-checkboxes{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#fff}.avail-slot-checkbox{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#0f172a}.avail-slot-checkbox input[type=checkbox]{width:16px;height:16px}.avail-empty{padding:10px 12px;border-radius:10px;border:1px dashed #e5e7eb;color:#9ca3af;background:#f9fafb;font-size:.9rem}.avail-modal-footer{padding:16px 24px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.avail-ghost-btn,.avail-primary-btn{border:none;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .18s ease,background .2s ease}.avail-ghost-btn{background:#f3f4f6;color:#0f172a}.avail-ghost-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.avail-primary-btn{background:#0c7d5d;color:#fff;box-shadow:0 12px 30px #0c7d5d40}.avail-primary-btn:hover{transform:translateY(-1px);box-shadow:0 16px 36px #0c7d5d59}@media(max-width:900px){.avail-modal-body{grid-template-columns:1fr}.avail-slot-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(max-width:520px){.avail-modal{width:100%;max-height:95vh}.avail-modal-header{padding:16px 18px}.avail-modal-body{padding:16px 18px 8px}}.doctors-table-wrapper{background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;overflow:auto}.doctors-table{width:100%;border-collapse:collapse;font-size:.9rem}.doctors-table thead{background:#f1f5f9}.doctors-table th,.doctors-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e5e7eb}.doctors-table th:first-child,.doctors-table td:first-child{padding-left:25px}.doctors-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.doctors-table tbody tr{cursor:pointer}.doctors-table tbody tr:hover{background:#f9fafb}.doctor-name-button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:inherit;text-decoration:none}.specialization-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:#e0f2fe;color:#0b63c7;font-weight:600;font-size:12px;border:1px solid #bfdbfe;white-space:nowrap}.spec-cardio{background:#ffe4e6;color:#b91c1c;border-color:#fecdd3}.spec-derma{background:#f3e8ff;color:#7c3aed;border-color:#e9d5ff}.spec-neuro{background:#e0e7ff;color:#4338ca;border-color:#c7d2fe}.spec-pedia{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.spec-ortho{background:#fef9c3;color:#92400e;border-color:#fef08a}.spec-psych{background:#e0f2fe;color:#0ea5e9;border-color:#bae6fd}.spec-onco{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.spec-endo{background:#fef3c7;color:#b45309;border-color:#fde68a}.spec-gastro{background:#ecfccb;color:#3f6212;border-color:#d9f99d}.spec-pulmo{background:#cffafe;color:#0ea5e9;border-color:#a5f3fc}.spec-nephro{background:#e4e4ff;color:#4338ca;border-color:#c7c7ff}.spec-ophtha{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.spec-ent{background:#ecfeff;color:#0ea5e9;border-color:#cffafe}.spec-gyne{background:#fdf2f8;color:#be185d;border-color:#fce7f3}.spec-general{background:#e2e8f0;color:#1e293b;border-color:#cbd5e1}.spec-default{background:#f1f5f9;color:#334155;border-color:#e2e8f0}.doctors-actions-cell{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:768px){.doctors-table{border-collapse:separate;border-spacing:0 10px}.doctors-table thead{display:none}.doctors-table tbody tr{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;margin-bottom:12px;box-shadow:0 6px 16px #0f172a14}.doctors-table td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9;white-space:normal}.doctors-table td:last-child{border-bottom:none}.doctors-table td:before{content:attr(data-label);font-weight:600;color:#475569;margin-right:8px}.doctors-table th:first-child,.doctors-table td:first-child{padding-left:0}}.doctors-empty{text-align:center;padding:20px;color:#9ca3af}.badge--pending{background:#fef3c7;color:#92400e}.badge--approved{background:#dcfce7;color:#166534}.badge--rejected{background:#fee2e2;color:#b91c1c}.badge--active{background:#e0f2fe;color:#075985}.badge--inactive{background:#f3f4f6;color:#4b5563}.btn-primary{background:#2563eb;color:#f9fafb}@media(max-width:768px){.doctors-actions-cell{flex-direction:column;align-items:flex-start}}.create-doctor-title{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#0f172a}.create-doctor-modal{max-width:520px}.create-doctor-scroll{max-height:420px;overflow-y:auto;padding-right:8px;scrollbar-width:none;-ms-overflow-style:none}.create-doctor-scroll::-webkit-scrollbar{width:0;height:0}.create-doctor-card{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px;background:#fffffff2;box-shadow:0 10px 25px #0f172a0f;margin-bottom:12px}.create-doctor-card-spaced{margin-top:12px}.create-doctor-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.create-doctor-card-title{font-weight:800;font-size:13px;letter-spacing:.04em;color:#0f172a}.create-doctor-card-title-block{margin-bottom:12px}.create-doctor-pill{font-size:12px;color:#0f172aa6;font-weight:600;padding:4px 10px;border-radius:999px;background:#2563eb14}.create-doctor-grid{display:grid;gap:12px}.create-doctor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.create-doctor-col-span{grid-column:1 / -1}.create-doctor-field-compact{margin:0}.create-doctor-fees-card{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px;background:linear-gradient(180deg,#f8fafce6,#f1f5f98c);box-shadow:0 10px 25px #0f172a0f}.create-doctor-fees-title{font-weight:700;font-size:13px;letter-spacing:.02em;color:#0f172a;margin-bottom:10px}.create-doctor-fees-help{font-size:12px;color:#0f172aa6;margin-bottom:12px;line-height:1.35}.create-doctor-currency-wrap{position:relative}.create-doctor-currency{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#0f172ab3;font-weight:600;pointer-events:none}.create-doctor-currency-input{padding-left:34px}.create-doctor-subtitle{margin:0 0 12px;font-size:.85rem;color:#6b7280}.create-doctor-form{display:flex;flex-direction:column;gap:14px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row-inline{flex-direction:row;align-items:center;justify-content:space-between}.form-label span{display:block;margin-bottom:4px;font-size:.85rem;color:#4b5563}.form-input,.form-select{width:100%;border-radius:8px;border:1px solid #e5e7eb;padding:8px 10px;font-size:.9rem}.form-input:focus,.form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb26}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#374151}.form-checkbox{width:16px;height:16px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn{border-radius:999px;border:1px solid transparent;padding:6px 14px;font-size:.85rem;cursor:pointer}.btn-primary{background:#1d4ed8;color:#fff}.btn-primary:hover{background:#1e40af}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.error-text{margin:0;font-size:.8rem;color:#b91c1c}@media(max-width:640px){.create-doctor-card{padding:16px 14px}.create-doctor-grid-2{grid-template-columns:1fr}}.doctors-page{max-height:100vh;display:flex;justify-content:center;color:#0f172a}.doctors-shell{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:18px}.doctors-header h1,.doctors-title{margin:0;font-size:28px;font-weight:700}.doctors-subtitle{margin:4px 0 0;color:#6b7280;font-size:14px}.doctors-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0f172a0d;overflow:hidden}.doctors-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e2e8f0}.doctors-search-wrapper{position:relative;flex:1;min-width:240px;max-width:360px;display:flex;align-items:center;gap:8px}.doctors-search-input{width:100%;border-radius:30px;border:1px solid #e5e7eb;padding:8px 14px;font-size:14px;background:#f8fafc;color:#0f172a}.doctors-search-input:focus{outline:none;border-color:#0c7d5d;box-shadow:0 0 0 3px #3b82f626;background:#fff}.doctors-primary-btn{display:inline-flex;align-items:center;gap:8px;background:#0c7d5d;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 6px 14px #1d4ed840;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.doctors-primary-btn:hover{background:#0c7d5d;box-shadow:0 10px 20px #33d96a47}.doctors-table-wrapper{overflow-x:auto}.doctors-pagination{display:flex;align-items:center;justify-content:center;border-top:1px solid #e5e7eb;background:#fff;flex-wrap:wrap;gap:10px}@media(max-width:768px){.doctors-page{padding:20px 12px;max-height:none}.doctors-header h1,.doctors-title{font-size:20px}.doctors-toolbar{flex-direction:column;align-items:stretch}.doctors-search-wrapper{max-width:none}.doctors-card{border-radius:12px;box-shadow:0 6px 16px #0f172a14;overflow:visible}.doctors-pagination{flex-direction:column;width:100%}}.appointments-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0f172a0d;display:flex;flex-direction:column;overflow:hidden}.appointments-filters{display:flex;gap:1rem;padding:16px 18px;flex-wrap:wrap;align-items:center;border-bottom:1px solid #e2e8f0;background:#fff}.appointments-filters-left{display:flex;gap:1rem;align-items:center;flex-wrap:nowrap;flex:1 1 auto;min-width:0}.appointments-filters-right{margin-left:auto;display:flex;align-items:center}.appointments-actions{gap:10px}.appointments-assign-btn{background:#b91c1c;color:#fff;border:1px solid #b91c1c;box-shadow:0 6px 14px #b91c1c2e}.appointments-assign-btn:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 10px 20px #dc26263d}.appointments-input{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;min-width:150px}.appointments-search-input{min-width:200px;flex:0 0 240px;padding:.6rem 1.1rem;font-size:.95rem}.appointments-status-input{flex:0 0 140px}.appointments-date-input{flex:0 0 150px}.appointments-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.appointments-primary-btn{display:inline-flex;align-items:center;gap:8px;background:#0c7d5d;color:#fff;border:none;border-radius:5px;padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 6px 14px #1d4ed840;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.appointments-primary-btn:hover{background:#0c7d5d;box-shadow:0 10px 20px #33d96a47}.appointments-primary-btn:active{transform:translateY(0)}.appointments-table-wrapper{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.appointments-table{width:100%;border-collapse:collapse;background:#fff}.checkbox-col{width:48px;text-align:center}.appointments-table input[type=checkbox]{width:16px;height:16px;accent-color:#0c7d5d}.appointments-table th,.appointments-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.appointment-id-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-weight:500;text-decoration:underline;padding:0;font-size:inherit;font-family:inherit}.appointment-id-btn:hover{color:#2563eb;text-decoration:none}.appointments-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.appointments-table tbody tr:hover{background-color:#f8f9fa}.appointments-table .clickable-row{cursor:pointer}.doctor-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px;text-transform:none;background:#eef2ff;color:#4338ca;border:1px solid #cbd5ff}.doctor-badge--shubhash{background:#b91c1c1f;color:#b91c1c;border:1px solid rgba(185,28,28,.32)}.doctor-badge--default{background:#0c7d5d1f;color:#0c7d5d;border:1px solid rgba(12,125,93,.28)}.doctor-badge--other{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge--pending{background-color:#fff7e6;color:#d97706}.badge--upcoming{background-color:#e0f2fe;color:#0c7d5d}.appointments-actions-cell{display:flex;gap:.5rem}.btn{padding:.375rem .75rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-ghost{background-color:transparent;border:1px solid #ddd;color:#495057}.btn-ghost:hover{background-color:#f8f9fa;border-color:#adb5bd}.btn-danger{color:#dc3545;border-color:#dc3545}.btn-danger:hover{background-color:#dc3545;color:#fff}.appointments-empty{text-align:center;padding:2rem;color:#6c757d;font-style:italic}@media(max-width:768px){.appointments-filters{flex-direction:column;align-items:stretch;padding:12px;gap:10px}.appointments-filters-left,.appointments-filters-right,.appointments-actions{width:100%;flex-wrap:wrap;gap:10px;align-items:stretch}.appointments-filters-right{margin-left:0;width:100%;justify-content:flex-start}.appointments-filters-left{display:grid;grid-template-columns:1fr 1fr;gap:10px}.appointments-input,.appointments-search-input,.appointments-status-input,.appointments-date-input{min-width:100%;padding:8px 12px;border-radius:10px}.appointments-search-input{grid-column:1 / -1;line-height:1.1;min-height:42px}.appointments-add-btn,.appointments-assign-btn,.appointments-actions button{width:100%}.appointments-add-btn{align-self:flex-start}.appointments-actions-cell{flex-direction:column}}@media(max-width:640px){.appointments-table thead{display:none}.appointments-table tbody tr{display:block;margin:10px 0;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 14px #0f172a0d;overflow:hidden;background:#fff}.appointments-table tbody tr td{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.appointments-table tbody tr td:last-child{border-bottom:none}.appointments-table tbody tr td:before{content:attr(data-label);font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;margin-right:10px}}.assign-doctor-backdrop{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.assign-doctor-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #0f172a40;width:90%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .25s ease;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.assign-doctor-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#0c7d5d,#10a37f);color:#fff}.assign-doctor-title{margin:0;font-size:1.25rem;font-weight:700}.assign-doctor-subtitle{margin:4px 0 0;font-size:.875rem;opacity:.9}.assign-doctor-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.assign-doctor-close:hover{background:#ffffff4d}.assign-doctor-search{padding:16px 24px;border-bottom:1px solid #e2e8f0}.assign-doctor-search-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.assign-doctor-search-input:focus{outline:none;border-color:#0c7d5d;box-shadow:0 0 0 3px #0c7d5d26}.assign-doctor-list{flex:1;overflow-y:auto;padding:8px 16px;max-height:320px}.assign-doctor-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:background .15s ease,transform .1s ease;margin-bottom:8px;border:2px solid transparent}.assign-doctor-item:hover{background:#f1f5f9}.assign-doctor-item--selected{background:#0c7d5d14;border-color:#0c7d5d}.assign-doctor-item--unavailable{opacity:.5;cursor:not-allowed}.assign-doctor-item--unavailable:hover{background:transparent}.assign-doctor-item-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#0c7d5d,#10a37f);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.assign-doctor-item-info{flex:1;min-width:0}.assign-doctor-item-name{font-weight:600;color:#1e293b;font-size:.95rem}.assign-doctor-item-specialty{color:#64748b;font-size:.8rem;margin-top:2px}.assign-doctor-item-status{font-size:.75rem;font-weight:600}.status-available{color:#16a34a;background:#16a34a1a;padding:4px 8px;border-radius:6px}.status-unavailable{color:#dc2626;background:#dc26261a;padding:4px 8px;border-radius:6px}.assign-doctor-item-check{width:24px;height:24px;background:#0c7d5d;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.assign-doctor-empty{text-align:center;padding:32px 16px;color:#64748b;font-style:italic}.assign-doctor-actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.assign-doctor-cancel{flex:1;padding:12px 20px;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.assign-doctor-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.assign-doctor-confirm{flex:1;padding:12px 20px;border:none;background:linear-gradient(135deg,#0c7d5d,#10a37f);color:#fff;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .15s ease,transform .1s ease;box-shadow:0 4px 12px #0c7d5d4d}.assign-doctor-confirm:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.assign-doctor-confirm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.assign-doctor-modal{width:95%;max-height:90vh}.assign-doctor-header{padding:16px 20px}.assign-doctor-search{padding:12px 20px}.assign-doctor-list{padding:8px 12px}.assign-doctor-item{padding:10px 12px}.assign-doctor-actions{padding:12px 20px;flex-direction:column}}.create-appointment-page{min-height:100vh;background:radial-gradient(circle at top left,#eef2ff 0,#f9fafb 40%,#f3f4f6);padding:1.75rem 0}.create-appointment-container{max-width:1100px;margin:0 1rem;background:#fff;border-radius:16px;box-shadow:0 22px 45px #0f172a24,0 0 0 1px #94a3b81f;overflow:hidden;border:1px solid rgba(226,232,240,.9);display:flex;flex-direction:column;max-height:calc(100vh - 140px);animation:create-appointment-enter .38s cubic-bezier(.16,1,.3,1)}@keyframes create-appointment-enter{0%{opacity:0;transform:translate(60px) scale(.92);filter:blur(6px)}60%{opacity:1;transform:translate(0) scale(1.02);filter:blur(0)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}.create-appointment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.75rem 2rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#eff6ff)}.create-appointment-header-left{display:flex;align-items:flex-start;gap:12px}.create-appointment-header-text{display:flex;flex-direction:column;gap:4px}.create-appointment-subtitle{margin:0;font-size:.9rem;color:#6b7280;line-height:1.3}.create-appointment-close{width:34px;height:34px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:#ffffffb3;color:#0f172a;cursor:pointer;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}.create-appointment-close:hover{background:#f3f4f6f2;transform:translateY(-1px)}.create-appointment-header h2{margin:0;color:#0f172a;font-size:1.4rem;font-weight:700}.create-appointment-form{padding:1.75rem 2rem 2rem;flex:1;overflow-y:auto}.create-appointment-form .form-group input,.create-appointment-form .form-group select,.create-appointment-form .form-group textarea{border-radius:12px;border-color:#e5e7eb}.create-appointment-form .form-group input:focus,.create-appointment-form .form-group select:focus,.create-appointment-form .form-group textarea:focus{border-color:#0c7d5d;box-shadow:0 0 0 3px #0c7d5d29}.create-appointment-form .form-group label{font-size:.85rem;letter-spacing:.01em}.form-actions{position:sticky;bottom:0;background:linear-gradient(to top,#fff 60%,#fff0);padding-bottom:8px}.users-modal .create-appointment-header{position:sticky;top:0;z-index:2;padding:14px 16px 12px;border-bottom-color:#e2e8f0e6}.users-modal .create-appointment-form{padding:14px 16px 16px}.form-row{display:flex;gap:1.5rem;margin-bottom:1.25rem}.form-group{flex:1;display:flex;flex-direction:column}.form-group.full-width{width:100%}.form-group label{margin-bottom:.5rem;font-weight:600;color:#4b5563;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error{border-color:#dc3545}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.error-message{color:#dc3545;font-size:.75rem;margin-top:.25rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.btn{padding:.6rem 1.4rem;border:none;border-radius:999px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.create-appointment-page{padding:1.25rem .75rem}.create-appointment-header{padding:1.25rem 1.25rem 1rem;flex-direction:column;gap:.75rem}.create-appointment-header-left{width:100%}.create-appointment-close{align-self:flex-end}.create-appointment-form{padding:1.25rem 1.25rem 1.75rem}.form-row{flex-direction:column;gap:1rem}.form-actions{flex-direction:column;gap:.75rem}.btn{width:100%}}.appointments-page{display:flex;justify-content:center;color:#0f172a;padding:0 16px 24px}.appointments-shell{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:18px}.appointments-header{display:flex;flex-direction:column;gap:4px}.appointments-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.appointments-add-btn{background:transparent;color:#0c7d5d;border-radius:5px;border:1px solid;padding:10px 16px;font-weight:600;font-size:14px;white-space:nowrap}.appointments-add-btn:hover{background:transparent;color:#0c7d5d}.appointments-title{margin:0;font-size:28px;font-weight:700;color:#0f172a}.appointments-subtitle{margin:0;color:#6b7280;font-size:14px}.appointments-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0f172a0d;overflow:hidden}.appointments-filters{display:flex;flex-wrap:wrap;gap:8px}.appointments-input{min-width:160px;border-radius:999px;border:1px solid #e5e7eb;padding:7px 12px;font-size:.85rem}.appointments-table-wrapper{background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;max-height:none;overflow:visible}.appointments-table{width:100%;border-collapse:collapse;font-size:.9rem}.appointments-table thead{background:#f9fafb;position:sticky;top:0;z-index:1}.appointments-table th,.appointments-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #e5e7eb}.appointments-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.appointments-table tbody tr:hover{background:#f9fafb}.appointments-actions-cell{display:flex;flex-wrap:wrap;gap:6px}.appointments-empty{text-align:center;padding:20px;color:#9ca3af}.badge--scheduled{background:#dbeafe;color:#1d4ed8}.badge--completed{background:#dcfce7;color:#166534}.badge--cancelled{background:#fee2e2;color:#b91c1c}.btn-danger{color:#b91c1c;background:#fef2f2}.btn-danger:hover{background:#fee2e2}.appointments-tabs{display:flex;gap:8px;margin-bottom:8px}.appointments-tab{padding:10px 20px;border:1px solid #e5e7eb;border-radius:8px 8px 0 0;background:#f9fafb;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.appointments-tab:hover{background:#f3f4f6;color:#374151}.appointments-tab--active{background:#fff;color:#0c7d5d;border-bottom-color:#fff;font-weight:600}.appointments-self-assign-btn{background:#0c7d5d;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.appointments-self-assign-btn:hover:not(:disabled){background:#0a6b4f}.appointments-self-assign-btn:disabled{background:#9ca3af;cursor:not-allowed}.unassigned-appointments-list{overflow-x:auto}.unassigned-appointments-list .appointments-table{min-width:700px}@media(max-width:768px){.appointments-page{padding:0 12px}.appointments-title{font-size:20px}.appointments-header-content{flex-direction:column;align-items:stretch;gap:12px}.appointments-add-btn{align-self:flex-start}.appointments-filters{flex-direction:column;align-items:stretch}.appointments-input{width:85%}.appointments-actions-cell{flex-direction:column;align-items:flex-start}}.appointment-details-root{display:flex;flex-direction:column;max-width:960px;margin:0 auto;background:#fff;border-radius:18px;border:1px solid rgba(226,232,240,.9);box-shadow:0 24px 60px #0f172a1f,0 0 0 1px #94a3b81f;overflow:hidden}.appointment-header-text{display:flex;flex-direction:column;gap:.15rem}.appointment-header-subtitle{margin:0;font-size:.85rem;color:#6b7280}.appointment-details-root h2{margin:0}.appointment-details-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#eff6ff)}.appointment-details-header h2{margin:0;color:#0f172a;font-size:1.4rem;font-weight:700;letter-spacing:.02em}.back-btn{background:#e0edff;border:none;font-size:.8rem;cursor:pointer;color:#1d4ed8;padding:.4rem .85rem;border-radius:999px;width:fit-content;display:inline-flex;align-items:center;gap:.35rem;transition:background-color .18s ease,color .18s ease,transform .1s ease}.back-btn-icon{font-size:.9rem;font-weight:600}.back-btn:hover{background:#d1e3ff;color:#1e40af;transform:translateY(-1px)}.appointment-details-content{padding:1.75rem 2rem;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.1fr);gap:1.75rem 2rem}.appointment-section{background:linear-gradient(145deg,#f9fafb,#eef2ff);border-radius:14px;border:1px solid #e5e7eb;padding:1.1rem 1.3rem;box-shadow:0 10px 25px #0f172a0f}.appointment-section--full{grid-column:1 / -1}.appointment-section-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#6b7280}.appointment-section-body{display:flex;flex-direction:column}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid #eef2f7}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#4b5563;min-width:150px;font-size:.9rem}.detail-value{color:#111827;text-align:left;flex:1;font-size:.9rem;line-height:1.5}.badge{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge--scheduled{background-color:#e3f2fd;color:#1976d2}.badge--completed{background-color:#e8f5e8;color:#2e7d32}.badge--cancelled{background-color:#ffebee;color:#c62828}.appointment-details-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.4rem 2rem 1.9rem;border-top:1px solid rgba(229,231,235,.9);background:linear-gradient(to top,#f3f4f6,#f9fafb)}.btn{padding:.6rem 1.4rem;border:none;border-radius:999px;font-size:.875rem;cursor:pointer;transition:box-shadow .18s ease,transform .12s ease,background-color .18s ease;flex:1}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8;box-shadow:0 12px 30px #2563eb59;transform:translateY(-1px)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#b91c1c;box-shadow:0 12px 30px #ef444459;transform:translateY(-1px)}@media(max-width:768px){.appointment-details-header{padding:1.25rem 1.25rem 1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.appointment-details-content{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.detail-row{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-value{text-align:left}.appointment-details-actions{flex-direction:column;padding:1.25rem;align-items:stretch}}.payments-page{display:flex;flex-direction:column;gap:16px}.payments-header{display:flex;flex-direction:column;gap:4px}.payments-title{margin:0;font-size:1.4rem;font-weight:700;color:#0f172a}.payments-subtitle{margin:0;color:#6b7280;font-size:.9rem}.payments-filters{display:flex;flex-wrap:wrap;gap:8px}.payments-input{min-width:160px;border-radius:999px;border:1px solid #e5e7eb;padding:7px 12px;font-size:.85rem}.payments-table-wrapper{background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 25px #0f172a14;overflow:auto}.payments-table{width:100%;border-collapse:collapse;font-size:.9rem}.payments-table thead{background:#f9fafb}.payments-table th,.payments-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.payments-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.payments-table tbody tr:hover{background:#f9fafb}.payments-empty{text-align:center;padding:20px;color:#9ca3af}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:.75rem}.badge--success{background:#dcfce7;color:#166534}.badge--failed{background:#fee2e2;color:#b91c1c}.btn{border-radius:999px;border:1px solid transparent;padding:4px 10px;font-size:.8rem;cursor:pointer;background:#eff6ff;color:#1d4ed8}.btn-ghost{background:#eff6ff;border-color:transparent}.btn-ghost:hover{background:#dbeafe}.payments-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.payments-modal{width:100%;max-width:820px;background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,.9);box-shadow:0 20px 45px #0f172a40;padding:16px;max-height:85vh;overflow:auto}.payments-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.payments-modal-title{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.payments-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-bottom:14px}.payments-detail{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.payments-detail--full{grid-column:1 / -1}.payments-detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:4px}.payments-detail-value{font-size:.9rem;color:#0f172a;word-break:break-word}.payments-input--wide{min-width:240px}@media(max-width:768px){.payments-filters{flex-direction:column;align-items:stretch}.payments-input{width:100%}.payments-details-grid{grid-template-columns:1fr}.payments-input--wide{width:100%;min-width:0}}.admin-profile-page{max-width:1100px;margin:0 auto;padding:32px 18px 48px;display:flex;flex-direction:column;gap:18px;background:transparent}.admin-profile-hero{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px #0f172a14}.admin-hero-left{display:flex;align-items:center;gap:12px}.admin-avatar-circle{width:56px;height:56px;border-radius:50px;background:#0c7d5d;display:grid;place-items:center;font-weight:700;font-size:1.1rem;color:#fff}.admin-hero-text{display:flex;flex-direction:column;gap:4px}.admin-hero-title{margin:0;font-size:22px;color:#111827;font-weight:700}.admin-hero-name{margin:0;font-size:1.25rem;color:#0f172a;font-weight:700}.admin-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;color:#6b7280;font-size:.95rem}.admin-hero-meta--secondary{color:#4b5563;font-size:.9rem}.admin-role-pill{background:#e0f2fe;color:#0c7d5d;padding:4px 10px;border-radius:999px;font-weight:700;font-size:.8rem}.admin-dot{color:#cbd5e1}.admin-hero-actions{display:flex;gap:10px}.admin-hero-btn{border:1px solid #0C7D5D;background:#0c7d5d;color:#fff;padding:8px 14px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.admin-hero-btn--primary{background:#2563eb;color:#fff;border-color:#2563eb}.admin-hero-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb29}.admin-main-grid{display:flex;flex-direction:column;gap:14px}.admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 18px #0f172a0f;padding:16px;display:flex;flex-direction:column;gap:12px}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid #f1f5f9}.admin-card-title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}.admin-form{display:grid;gap:12px}.admin-form--two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.admin-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#4b5563}.admin-field span{font-weight:600;font-size:.85rem;color:#0c7d5d}.admin-field input,.admin-field textarea{border:1px solid #e5e7eb;border-radius:10px;padding:10px 8px;font-size:.95rem;background:transparent;resize:vertical}.admin-field textarea{min-height:72px}.admin-field input:focus,.admin-field textarea:focus{outline:none;background:#fff}.admin-form--editing .admin-field input:not(:disabled),.admin-form--editing .admin-field textarea:not(:disabled){background:transparent;border:none;border-bottom:1px solid #333333;border-radius:0;padding-left:0;padding-right:0}.admin-form--editing .admin-field input:not(:disabled):focus,.admin-form--editing .admin-field textarea:not(:disabled):focus{box-shadow:none}.admin-hero-name-input,.admin-role-pill-input{border:none;border-bottom:1px solid #333333;border-radius:0;padding:4px 0;background:transparent;font-weight:700;color:#0f172a}.admin-hero-name-input:focus,.admin-role-pill-input:focus{outline:none;box-shadow:none}.availability-calendar-card,.availability-weekdays-grid,.availability-days-grid{width:100%}.availability-days-scroll{overflow-x:auto}.availability-day{min-width:88px}@media(max-width:900px){.availability-days-grid{grid-template-columns:repeat(7,minmax(68px,1fr))!important;gap:6px!important}.availability-day{min-width:68px}}@media(max-width:640px){.availability-calendar-card{padding:8px 10px!important}.availability-weekdays-grid{font-size:.8rem!important}.availability-days-grid{grid-template-columns:repeat(7,minmax(60px,1fr))!important;gap:6px!important}.availability-day{padding:8px 6px!important;min-width:60px}}.admin-field--full{grid-column:1 / -1}.admin-upload{border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;padding:14px 12px;position:relative;cursor:pointer}.admin-upload-input{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-upload-text{margin:0 0 4px;font-size:.9rem;color:#0f172a}.admin-upload-text span{color:#0c7d5d}.admin-upload-helper{margin:0;font-size:.8rem;color:#6b7280}.admin-upload--dragging{border-color:#2563eb;background:#eef2ff}.admin-helper-text{margin:2px 0 0;color:#6b7280;font-size:.88rem}.admin-security-grid{row-gap:10px}.admin-password-row{flex-direction:row;align-items:center;justify-content:space-between}.admin-last-login{border-top:1px solid #f1f5f9;padding-top:8px}.admin-footer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media(max-width:1024px){.admin-profile-page{padding:24px 14px 36px;gap:14px}.admin-profile-hero{gap:10px;align-items:flex-start}.admin-hero-actions{width:100%;justify-content:flex-end}.admin-hero-btn{min-width:120px;text-align:center}}@media(max-width:768px){.admin-profile-hero{flex-direction:column;align-items:flex-start;gap:10px}.admin-hero-actions{width:100%;justify-content:flex-end}.admin-form--two-col{grid-template-columns:1fr}.admin-password-row{flex-direction:column;align-items:flex-start;gap:8px}.admin-hero-btn{width:100%}}@media(max-width:480px){.admin-profile-page{padding:18px 12px 28px}.admin-profile-hero{padding:14px}.admin-hero-name{font-size:1.1rem}.admin-hero-btn{padding:10px 12px}.admin-field input,.admin-field textarea{font-size:.9rem}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#f3f4f6;--app-navbar-bg: #ffffff;--app-navbar-text: #0f172a;--app-navbar-border: rgba(15, 23, 42, .08);--app-sidebar-bg: #ffffff;--app-sidebar-text: rgba(15, 23, 42, .86);--app-sidebar-border: rgba(15, 23, 42, .1);--app-nav-muted: rgba(15, 23, 42, .62);--app-nav-hover-bg: rgba(34, 197, 94, .1);--app-nav-hover-text: #0e936e;--app-nav-active-bg: rgba(34, 197, 94, .14);--app-nav-active-text: rgba(16, 185, 129, .98);--app-nav-active-border: rgba(34, 197, 94, .18)}.app-navbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--app-navbar-bg);color:var(--app-navbar-text);border-bottom:1px solid var(--app-navbar-border);box-shadow:0 10px 24px #0f172a0f;position:fixed;top:0;left:0;right:0;z-index:40}.app-navbar-left{display:flex;align-items:center;gap:10px}.app-brand-logo{height:36px;width:auto;object-fit:contain;margin-left:20px}.app-brand{display:none}.app-menu-button{display:none;border:none;background:transparent;color:var(--app-navbar-text);font-size:1.2rem;cursor:pointer;padding:4px}.app-logout-button{border:1px solid #dc2626;border-radius:999px;padding:10px 36px;background:transparent;color:#dc2626;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #d4d4d473}.app-logout-button:hover{box-shadow:0 8px 18px #b25c5c73}.app-main{display:flex;flex:1;min-height:0;margin-top:56px}.app-sidebar{width:240px;background:var(--app-sidebar-bg);color:var(--app-sidebar-text);border-right:1px solid var(--app-sidebar-border);padding:16px 12px;box-shadow:10px 0 24px #0f172a0d;position:fixed;top:56px;bottom:0;left:0;overflow-y:auto}.app-sidebar-header{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 10px 14px;margin-bottom:10px;border-bottom:1px solid rgba(15,23,42,.06)}.app-sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.app-sidebar-panel-title{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:#0f172af0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-mark{width:30px;height:30px;border-radius:999px;background:radial-gradient(circle at 28% 28%,#22c55ef2,#0e936eb8);box-shadow:0 10px 18px #22c55e24;flex:0 0 auto;position:relative}.app-sidebar-mark:after{content:"";position:absolute;inset:3px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#ffffff8c,#fff0)}.app-sidebar-backdrop{position:fixed;inset:0;background:#0f172a99;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out;z-index:30}.app-sidebar-backdrop--visible{opacity:1;pointer-events:auto}.app-nav-links{display:flex;flex-direction:column;gap:6px}.app-nav-section{padding:10px 12px 6px;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#1dab64}.app-nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:#333;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.app-nav-icon{width:18px;height:18px;flex:0 0 auto;opacity:.86}.app-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-link:hover{background:var(--app-nav-hover-bg);color:var(--app-nav-hover-text)}.app-nav-link-active{background:var(--app-nav-active-bg);color:var(--app-nav-active-text);font-weight:700;box-shadow:0 8px 18px #22c55e1f;border:1px solid var(--app-nav-active-border)}.app-nav-link-active .app-nav-icon{opacity:1}.app-nav-link-active:hover{background:#22c55e33;color:#0e936e;border-color:#0771534d}.app-content{flex:1;padding:24px 28px;overflow-y:auto;margin-left:240px;min-height:calc(100vh - 56px)}.dashboard-page{background:transparent}@media(max-width:1024px){.app-sidebar{width:210px}.app-content{padding:20px 18px}}@media(max-width:768px){.app-main{flex-direction:column;margin-top:52px}.app-navbar{padding:0 12px;height:52px}.app-brand-logo{height:30px;margin-left:0}.app-menu-button{display:inline-flex}.app-sidebar{position:fixed;top:52px;left:0;height:calc(100vh - 52px);width:240px;max-width:80%;display:flex;flex-direction:column;padding:16px 12px;transform:translate(-100%);transition:transform .2s ease-in-out;z-index:40}.app-sidebar--open{transform:translate(0)}.app-nav-links{flex-direction:column;gap:8px}.app-nav-link{font-size:.9rem;padding:8px 12px;white-space:nowrap}.app-content{padding:16px 12px;margin-left:0}.app-logout-button{border:1px solid #dc2626;border-radius:999px;padding:6px 16px;font-size:.85rem}}.dashboard-page{display:flex;flex-direction:column;gap:22px;padding:24px;max-width:1180px;margin:0 auto;border-radius:0;background:transparent;border:0;box-shadow:none}.dashboard-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:16px;align-items:stretch}.dashboard-welcome{border-radius:14px;padding:18px;background:radial-gradient(circle at 20% 10%,#ffffff1a,#fff0 45%),linear-gradient(180deg,#0f172af5,#0f172ae6);color:#fffffff5;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 44px #0f172a2e;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.dashboard-welcome-kicker{margin:0;font-size:.9rem;color:#ffffffc7}.dashboard-welcome-title{margin:2px 0 0;font-size:1.7rem;font-weight:850;letter-spacing:-.02em}.dashboard-welcome-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-metric{border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);padding:12px}.dashboard-metric-label{margin:0;font-size:.8rem;color:#fffc}.dashboard-metric-value{margin:6px 0 0;font-size:1.35rem;font-weight:850}.dashboard-metric-delta{margin:8px 0 0;font-size:.8rem;font-weight:700;color:#ffffffd6;opacity:.95}.dashboard-mini-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-mini-card{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px;padding:18px 16px 16px;border:1px solid rgba(15,23,42,.09);box-shadow:0 10px 22px #0f172a0f;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;position:relative;overflow:hidden}.dashboard-mini-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0f172ae6,#0f172a59)}.dashboard-mini-card:after{content:"";position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:999px;background:#0f172a0f;border:1px solid rgba(15,23,42,.1)}.dashboard-mini-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0f172a1a;border-color:#0f172a29}.dashboard-mini-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172a9e;font-weight:800}.dashboard-mini-value{margin:10px 0 0;font-size:1.9rem;font-weight:850;color:#0f172a;letter-spacing:-.02em}.dashboard-mini-meta{margin:6px 0 0;font-size:.84rem;color:#0f172a8c;font-weight:650}.dashboard-mini-delta{margin:14px 0 0;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;color:#0f172ad1;background:#0f172a09;border:1px solid rgba(15,23,42,.1)}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-stat-card{position:relative;background:#fffffff0;border-radius:14px;padding:14px 16px;border:1px solid rgba(15,23,42,.09);box-shadow:0 10px 22px #0f172a14;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;overflow:hidden}.dashboard-stat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0f172ac7,#0f172a29)}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0f172a24;border-color:#0f172a29}.dashboard-stat-label{margin:6px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.dashboard-stat-value{margin:0;font-size:1.55rem;font-weight:800;color:#0f172a}.dashboard-stat-meta{margin:6px 0 0;font-size:.82rem;color:#16a34a;font-weight:600}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-charts-stack{display:flex;flex-direction:column;gap:14px}.dashboard-chart-card{background:#fffffff0;border-radius:16px;padding:14px 16px 16px;border:1px solid rgba(226,232,240,.9);box-shadow:0 12px 26px #0f172a1a}.dashboard-chart-card--full{width:100%}.dashboard-chart-header{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.dashboard-chart-subtitle{margin:0;font-size:.85rem;color:#6b7280}.dashboard-bars{height:240px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.dashboard-bar{display:flex;flex-direction:column;gap:8px;align-items:center}.dashboard-bar-track{width:100%;height:210px;background:linear-gradient(180deg,#f1f5f9,#fff);border:1px solid rgba(226,232,240,.9);border-radius:14px;display:flex;align-items:flex-end;overflow:hidden}.dashboard-bar-fill{width:100%;background:linear-gradient(180deg,#2563ebf2,#22c55eeb);border-radius:14px;box-shadow:0 12px 30px #2563eb2e;transition:height .35s ease}.dashboard-bar-label{font-size:.78rem;color:#64748b;font-weight:700}.dashboard-chart-title{margin:2px 0 10px;font-size:1rem;font-weight:800;color:#111827}.dashboard-chart-placeholder{height:240px;border-radius:14px;border:1px dashed rgba(148,163,184,.7);display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.92rem;background:radial-gradient(circle at top left,#eff6ff,#fff)}@media(max-width:1024px){.dashboard-page{padding:18px}.dashboard-top{grid-template-columns:minmax(0,1fr)}.dashboard-mini-cards,.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts-grid{grid-template-columns:minmax(0,1fr)}.dashboard-bars{height:220px}.dashboard-bar-track{height:190px}}@media(max-width:640px){.dashboard-page{padding:14px}.dashboard-welcome{padding:16px}.dashboard-welcome-metrics,.dashboard-mini-cards,.dashboard-stats-grid{grid-template-columns:minmax(0,1fr)}.dashboard-chart-placeholder{height:180px}.dashboard-bars{grid-template-columns:repeat(3,minmax(0,1fr));height:210px}.dashboard-bar-track{height:170px}}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.admin-title{margin:0;font-size:1.5rem;font-weight:850;color:#0f172a;letter-spacing:-.02em}.admin-subtitle{margin:6px 0 0;color:#64748b;font-size:.92rem}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-stat-card{background:#fff;border-radius:14px;padding:14px 14px 12px;border:1px solid rgba(226,232,240,.9);box-shadow:0 12px 26px #0f172a14;position:relative;overflow:hidden}.admin-stat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#22c55ee6,#22c55e26)}.admin-stat-card--blue:before{background:linear-gradient(90deg,#3b82f6e6,#3b82f626)}.admin-stat-card--orange:before{background:linear-gradient(90deg,#f97316eb,#f9731626)}.admin-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-stat-label{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#0f172a8c}.admin-stat-icon{width:34px;height:34px;border-radius:10px;background:#0f172a0a;border:1px solid rgba(226,232,240,.9);display:inline-flex;align-items:center;justify-content:center}.admin-stat-icon-svg{width:18px;height:18px;color:#0f172aa6}.admin-stat-card--green .admin-stat-icon{background:#22c55e1a;border-color:#22c55e2e}.admin-stat-card--green .admin-stat-icon-svg{color:#15803d}.admin-stat-card--blue .admin-stat-icon{background:#3b82f61a;border-color:#3b82f62e}.admin-stat-card--blue .admin-stat-icon-svg{color:#2563eb}.admin-stat-card--orange .admin-stat-icon{background:#f973161a;border-color:#f9731633}.admin-stat-card--orange .admin-stat-icon-svg{color:#c2410c}.admin-stat-value{margin:10px 0 0;font-size:1.55rem;font-weight:850;color:#0f172a;letter-spacing:-.02em}.admin-stat-meta{margin:8px 0 0;font-size:.82rem;font-weight:700;color:#f97316}.admin-mid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr);gap:16px;align-items:stretch}.admin-card{background:#fff;border-radius:16px;padding:14px 16px 16px;border:1px solid rgba(226,232,240,.9);box-shadow:0 12px 26px #0f172a14}.admin-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-card-title{margin:0;font-size:1rem;font-weight:850;color:#0f172a}.admin-card-subtitle{margin:4px 0 0;font-size:.86rem;color:#64748b}.admin-activity-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(226,232,240,.9);background:#0f172a05;color:#0f172ab8;font-weight:800;font-size:.78rem}.admin-range{height:34px;border-radius:10px;border:1px solid rgba(226,232,240,.9);background:#fff;padding:0 10px;color:#0f172a;font-weight:650}.admin-chart-placeholder{height:240px;border-radius:14px;border:1px dashed rgba(148,163,184,.7);display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.92rem;background:radial-gradient(circle at top left,#ecfdf5,#fff)}.admin-doctor-list{display:flex;flex-direction:column;gap:12px;padding:6px 0 12px}.admin-doctor-row{display:flex;align-items:center;justify-content:flex-start;gap:14px}.admin-doctor-row--offline{opacity:.65}.admin-doctor-info{flex:1;min-width:0;text-align:left}.admin-doctor-name{margin:0;font-weight:850;color:#0f172a;font-size:.95rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-doctor-role{margin:4px 0 0;color:#64748b;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-doctor-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.admin-icon-btn{width:36px;height:36px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.admin-icon-btn:hover{background:#0f172a08}.admin-icon{width:18px;height:18px;color:#0f172aa6}.admin-btn{height:38px;border-radius:12px;padding:0 14px;border:1px solid rgba(226,232,240,.9);background:#fff;color:#0f172a;font-weight:800;cursor:pointer}.admin-btn--primary{background:#22c55e;border-color:#22c55ed9;color:#fff}.admin-btn--ghost{background:#0f172a05}.admin-card--table{padding:14px 16px 10px}.admin-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-table-actions{display:flex;align-items:center;gap:10px}.admin-table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(226,232,240,.9)}.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}.admin-table thead th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172a8c;padding:12px;background:#f8fafc;border-bottom:1px solid rgba(226,232,240,.9)}.admin-table tbody td{padding:12px;border-bottom:1px solid rgba(226,232,240,.9);font-size:.92rem;color:#0f172a}.admin-table tbody tr:last-child td{border-bottom:0}.admin-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid rgba(226,232,240,.9);background:#0f172a08;color:#0f172ab3}.admin-badge--success{background:#22c55e1f;border-color:#22c55e40;color:#15803d}.admin-badge--warning{background:#f973161f;border-color:#f9731640;color:#c2410c}.admin-badge--neutral{background:#64748b1a;border-color:#64748b2e;color:#334155}.admin-table-placeholder{height:180px;border-radius:14px;border:1px dashed rgba(148,163,184,.7);display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.92rem;background:radial-gradient(circle at top left,#eff6ff,#fff)}@media(max-width:1024px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.admin-stats{grid-template-columns:minmax(0,1fr)}.admin-table-header{flex-direction:column;align-items:stretch}.admin-table-actions{justify-content:flex-start}}.linechart{height:260px;border-radius:10px;border:1px dashed #d1d5db;background:radial-gradient(circle at top left,#eff6ff,#fff);padding:10px}.linechart__svg{display:block}.linechart__xlabels{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 0}.linechart__xlabel{font-size:.78rem;color:#64748b;font-weight:650}.linechart__empty{height:260px;border-radius:10px;border:1px dashed #d1d5db;background:radial-gradient(circle at top left,#eff6ff,#fff);display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:700}.patient-layout{min-height:100vh;background:#f8fafc;color:#0f172a}.patient-nav{position:sticky;top:0;z-index:10;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e2e8f0}.patient-nav-inner{max-width:1100px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.patient-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.patient-logo{width:80px;height:44px;border-radius:10px;object-fit:contain;background:transparent}.patient-links{display:flex;align-items:center;gap:14px}.patient-link{color:#334155;text-decoration:none;font-weight:700;font-size:14px;padding:8px 10px;border-radius:10px}.patient-link:hover{background:#f1f5f9}.patient-link-active{color:#0f172a;background:#e2e8f0}.patient-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid transparent}.patient-btn-primary{background:#2563eb;color:#fff}.patient-btn-primary:hover{background:#1d4ed8}.patient-btn-secondary{background:#fff;color:#0f172a;border-color:#e2e8f0}.patient-btn-secondary:hover{background:#f1f5f9}.patient-nav-cta{display:flex;align-items:center;gap:10px}.patient-account{position:relative;display:inline-flex}.patient-account-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:160px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 16px 34px #0f172a1f;padding:8px;z-index:20}.patient-account-menu-item{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:none;background:transparent;cursor:pointer;font-weight:800;color:#0f172a}.patient-account-menu-item:hover{background:#f1f5f9}.patient-avatar{width:42px;height:42px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-weight:900;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.patient-avatar:hover{background:#f1f5f9}.patient-menu-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;cursor:pointer}.patient-menu-btn:hover{background:#f1f5f9}.patient-menu-bars{display:block;width:18px;height:2px;background:#0f172a;position:relative;margin:0 auto}.patient-menu-bars:before,.patient-menu-bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:#0f172a}.patient-menu-bars:before{top:-6px}.patient-menu-bars:after{top:6px}.patient-mobile-menu{display:none;border-top:1px solid #e2e8f0;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.patient-mobile-link{display:block;padding:14px 20px;text-decoration:none;font-weight:800;color:#0f172a}.patient-mobile-link:hover{background:#f1f5f9}.patient-mobile-avatar-row{display:flex;align-items:center;gap:12px;padding:14px 20px}.patient-mobile-avatar-text{font-weight:900;color:#0f172a}.patient-main{max-width:2100px;margin:0 auto;padding:20px 5%;box-sizing:border-box;width:100%}@media(max-width:900px){.patient-main{padding:20px 4%}}@media(max-width:600px){.patient-main{padding:16px}}.patient-footer{background:#0b1220;color:#e2e8f0}.patient-footer-inner{max-width:1100px;margin:0 auto;padding:34px 20px;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}.patient-footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.patient-footer-title{margin:0 0 10px;font-weight:800;font-size:14px;color:#f1f5f9}.patient-footer-link{display:block;color:#cbd5e1;text-decoration:none;padding:6px 0;font-size:14px}.patient-footer-link:hover{color:#fff}.patient-footer-bottom{max-width:1100px;margin:0 auto;padding:14px 20px 18px;border-top:1px solid rgba(148,163,184,.2);display:flex;justify-content:space-between;gap:12px;font-size:13px}.patient-muted{margin:8px 0 0;color:#94a3b8;font-size:14px;line-height:1.5}@media(max-width:760px){.patient-links,.patient-btn-secondary{display:none}.patient-menu-btn{display:inline-flex;align-items:center;justify-content:center}.patient-mobile-menu{display:block}.patient-footer-cols{grid-template-columns:1fr}.patient-footer-bottom{flex-direction:column;align-items:flex-start}}.patient-login-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px}.patient-login-backdrop{position:absolute;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.patient-login-card{position:relative;width:min(420px,100%);background:#fff;border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 26px 80px #02061742;overflow:hidden}.patient-login-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid #e2e8f0}.patient-login-title{font-size:16px;font-weight:900;color:#0f172a}.patient-login-close{width:34px;height:34px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:20px;line-height:1;color:#0f172a}.patient-login-close:hover{background:#f1f5f9}.patient-login-body{padding:16px;display:flex;flex-direction:column;gap:12px}.patient-login-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:12px;padding:10px 12px;font-weight:800;font-size:13px}.patient-login-field{display:flex;flex-direction:column;gap:6px}.patient-login-label{font-size:12px;font-weight:900;color:#64748b}.patient-login-input{width:100%;border-radius:12px;padding:12px;border:1px solid #d1d5db;background:#f8fafc;outline:none;font-weight:700;color:#0f172a}.patient-login-input:focus{border-color:#2563eb;background:#fff}.patient-login-submit{margin-top:4px;width:100%;border-radius:12px;padding:12px 14px;border:1px solid transparent;background:#2563eb;color:#fff;font-weight:900;cursor:pointer}.patient-login-submit:hover{background:#1d4ed8}.patient-login-submit:disabled{opacity:.6;cursor:not-allowed}.patient-login-link{border:none;background:transparent;padding:0;color:#2563eb;font-weight:800;cursor:pointer;text-align:center}.patient-login-link:hover{text-decoration:underline}@media(max-width:480px){.patient-login-overlay{padding:12px}}.patient-home{color:#0f172a;padding:10px 16px 30px;box-sizing:border-box;max-width:100%;overflow-x:hidden}.patient-home--logged-out{min-height:calc(100vh - 40px);display:flex;align-items:center;justify-content:center;padding:18px 0}.ph-hero{width:min(1200px,100%);margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:0;display:flex;align-items:center;box-sizing:border-box;box-shadow:#0000001a 0 18px 50px -10px}.ph-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:stretch;width:100%}.ph-hero-copy{padding:40px;box-sizing:border-box}.ph-hero-logo-wrap{display:flex;justify-content:flex-start;margin-bottom:10px}.ph-hero-logo{width:220px;height:44px;object-fit:contain}.ph-title{margin:0;font-size:52px;line-height:1.3;letter-spacing:-.01em;font-weight:800}.ph-title-accent{color:#15803d}.ph-subtitle{margin:12px 0 0;color:#475569;line-height:1.7;font-size:16px;max-width:52ch}.ph-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.ph-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:13px 16px;text-decoration:none;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.ph-btn-primary{background:#15803d;color:#fff}.ph-btn-primary:hover{background:#15803d;transform:translateY(-1px)}.ph-btn-secondary{background:#fff;border-color:#15803d;color:#15803d}.ph-btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(-1px)}.ph-meta{display:flex;align-items:center;gap:10px;margin-top:14px;color:#64748b;font-size:13px;font-weight:800}.ph-stars{color:#f59e0b;letter-spacing:.06em}.ph-meta-text{color:#64748b}.ph-hero-image{width:100%;height:100%;border-radius:22px;overflow:hidden;align-self:stretch}.ph-hero-video{width:100%;height:100%;display:block;border:0}.ph-hero-photo{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:900px){.patient-home{padding:10px 14px 24px}.patient-home--logged-out{padding:14px 0}.ph-hero{padding:22px;box-shadow:none}.ph-hero-grid{grid-template-columns:1fr;gap:12px}.ph-hero-copy{padding:22px}.ph-btn{padding:8px 10px;border-radius:8px;font-size:12px}.ph-hero-image{height:auto}.ph-title{font-size:25px;line-height:1.12}.ph-subtitle{max-width:100%;font-size:15px;margin-top:8px}.ph-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:5px}.ph-btn{width:100%}}@media(max-width:520px){.ph-hero{padding:0;border-radius:16px}.ph-hero-logo{width:110px;height:40px}.ph-meta{flex-wrap:wrap}}@media(max-width:520px){.ph-hero-copy{padding:20px 20px 0}}.patient-appointments-page{padding:18px 0}.patient-appointments-header{margin-bottom:18px}.patient-appointments-title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em}.patient-appointments-subtitle{margin:6px 0 0;color:#64748b;font-size:14px}.patient-appointments-empty{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;color:#0f172a}.patient-appointments-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a0f}.patient-appointments-table{width:100%;border-collapse:collapse}.patient-appointments-table thead th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 18px;background:#fff;border-bottom:1px solid #eef2f7;color:#64748b}.patient-appointments-table tbody td{padding:14px 18px;border-bottom:1px solid #f1f5f9;vertical-align:middle;font-size:13px;color:#0f172a}.patient-appointments-table tbody tr:hover{background:#f8fafc}.patient-appointments-id{font-weight:700;color:#0f172a}.patient-appointments-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;border:1px solid transparent}.patient-appointments-badge--scheduled{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.patient-appointments-badge--completed{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.patient-appointments-badge--cancelled{background:#fef2f2;border-color:#fecaca;color:#991b1b}.patient-appointments-empty-cell{padding:18px;text-align:center;color:#475569}@media(max-width:760px){.patient-appointments-title{font-size:22px}.patient-appointments-table-wrap{overflow:auto}.patient-appointments-table{min-width:760px}}
