@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-border:#bfdbfe;--secondary:#0ea5e9;--accent-cyan:#06b6d4;--bg-page:#f8fafc;--bg-card:#fff;--bg-dark:#0f172a;--bg-sidebar:#0b132b;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--border-light:#e2e8f0;--border-subtle:#f1f5f9;--success-text:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning-text:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger-text:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--info-text:#2563eb;--info-bg:#eff6ff;--info-border:#bfdbfe;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000017, 0 8px 10px -6px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .2s}input,select,textarea{outline:none;font-family:inherit}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:0 24px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-main);border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fff;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--bg-page);border-color:#cbd5e1}.btn-outline-primary{color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--radius-md);background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn-outline-primary:hover{background:var(--primary-light)}.btn-danger-outline{color:var(--danger-text);border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:0 0;padding:6px 14px;font-size:13px;font-weight:600}.btn-danger-outline:hover{background:var(--danger-bg)}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-confirmed{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge-pending{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.badge-cancelled{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.badge-completed{background-color:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.badge-expired{color:#b45309;background-color:#fef3c7;border:1px solid #fde68a}.doctor-card-img-container{background-color:#f1f5f9;height:240px;position:relative;overflow:hidden}.doctor-card-img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .3s}.doctor-card-img-container:hover .doctor-card-img{transform:scale(1.03)}@media (width<=640px){.doctor-card-img-container{height:280px}}.pill-filter{border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border-light);background:#fff;padding:8px 18px;font-size:14px;font-weight:500;transition:all .2s}.pill-filter:hover{border-color:var(--primary);color:var(--primary)}.pill-filter.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 2px 4px #2563eb40}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;padding:32px;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;position:relative;overflow-y:auto}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.mobile-bottom-nav{border-top:1px solid var(--border-light);z-index:99;background:#fff;justify-content:space-around;align-items:center;height:64px;padding:0 16px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000d}.bottom-nav-item{color:#94a3b8;border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .2s;display:flex;position:relative}.bottom-nav-item.active{color:var(--primary);font-weight:700}.bottom-nav-item.active:after{content:"";background-color:var(--primary);border-radius:2px;width:16px;height:3px;position:absolute;bottom:-4px}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172ab3;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.mobile-drawer-content{color:#fff;background-color:#0b132b;flex-direction:column;width:85%;max-width:320px;height:100%;padding:24px 20px;animation:.25s cubic-bezier(.16,1,.3,1) slideDrawer;display:flex;overflow-y:auto;box-shadow:-8px 0 24px #00000040}@keyframes slideDrawer{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quick-action-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;transition:all .2s;display:flex}.quick-action-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-border);transform:translateY(-2px)}.quick-action-icon{border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dashboard-main-content{flex:1;padding:36px 40px;overflow-y:auto}.kpi-grid-4{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}.upcoming-hero-card{border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background-color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.appointment-item-card{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;transition:background .15s;display:flex}.appointment-item-card:last-child{border-bottom:none}.appointment-item-top{align-items:center;gap:16px;min-width:0;display:flex}.appointment-item-bottom{flex-shrink:0;align-items:center;gap:16px;display:flex}@media (width<=768px){.mobile-bottom-nav{display:flex}main{padding-bottom:76px!important}.container{padding:0 16px}.desktop-nav,.desktop-only{display:none!important}.mobile-nav-toggle{display:flex!important}.dashboard-main-content{padding:18px 14px!important}.kpi-grid-4{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-bottom:20px!important}.upcoming-hero-card{flex-direction:column!important;align-items:stretch!important;gap:14px!important;padding:16px 14px!important}.appointment-item-card{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:14px!important}.appointment-item-top{width:100%!important}.appointment-item-bottom{border-top:1px dashed var(--border-light)!important;justify-content:space-between!important;width:100%!important;padding-top:10px!important}.modal-content{border-radius:var(--radius-lg);max-height:94vh;padding:22px 18px}.grid-responsive-2,.grid-responsive-3,.grid-responsive-4{grid-template-columns:1fr!important}}@media (width>=769px){.mobile-nav-toggle,.mobile-only{display:none!important}}.admin-mobile-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-light);z-index:40;background-color:#fff;gap:8px;padding:10px 14px;display:flex;position:sticky;top:57px;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.admin-mobile-tabs::-webkit-scrollbar{display:none}.admin-mobile-tab-btn{border-radius:var(--radius-full);white-space:nowrap;border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;background-color:#f8fafc;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.admin-mobile-tab-btn.active{background-color:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 2px 8px #2563eb4d!important}.admin-layout-root{background-color:var(--bg-page);flex-direction:column;height:100vh;display:flex;overflow:hidden}.admin-body-container{flex:1;min-height:0;display:flex;overflow:hidden}.admin-desktop-sidebar{color:#fff;scrollbar-width:thin;scrollbar-color:#334155 #0b132b;background-color:#0b132b;border-right:1px solid #1e293b;flex-direction:column;flex-shrink:0;justify-content:space-between;width:260px;height:100%;padding:24px 16px;display:flex;overflow-y:auto}.admin-desktop-sidebar::-webkit-scrollbar{width:5px}.admin-desktop-sidebar::-webkit-scrollbar-thumb{background-color:#334155;border-radius:4px}.admin-workspace{flex:1;min-width:0;height:100%;padding:32px 36px;overflow-y:auto}@media (width<=768px){.admin-layout-root{height:auto;min-height:100vh;overflow:visible}.admin-body-container{flex-direction:column;overflow:visible}.admin-workspace{height:auto;overflow:visible;padding:16px 14px 40px!important}}.admin-card-header{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}@media (width<=640px){.admin-card-header{gap:10px;padding:12px 14px}}.filter-pills-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:6px;min-width:0;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.filter-pills-scroll::-webkit-scrollbar{display:none}.filter-pills-scroll .pill-filter{white-space:nowrap;flex-shrink:0}
