@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap);:root{--navy-900:#040456;--navy-800:#0a0a6e;--navy-700:#1c1c4c;--navy-500:#3a3a9e;--navy-300:#8484cc;--navy-100:#e0e0f4;--canvas-bg:#f2f2f8;--surface:#fff;--border:#dcdcee;--text-primary:#0d0d30;--text-muted:#7272a0;--accent:#4f8ef7;--accent-light:#7aaef9;--success-bg:#e8faf2;--success-text:#0a6640;--warning-bg:#fef6e4;--warning-text:#7a5000;--danger-bg:#fde8e8;--danger-text:#8b1a1a;--info-bg:#e6effe;--info-text:#1a3a8b;--lab-bg:#f0e8fa;--lab-text:#5b2d8b;--neutral-bg:#ececf5;--neutral-text:#5c5c8a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f2f2f8;background-color:var(--canvas-bg);color:#0d0d30;color:var(--text-primary);font-family:DM Sans,sans-serif}code{font-family:DM Mono,monospace}@media (max-width:768px){.layout.layout--mobile .sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:min(280px,88vw);z-index:1100}.layout.layout--mobile .sidebar.open{transform:translateX(0)}.layout.layout--mobile .sidebar.closed{width:min(280px,88vw)}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04045673;border:none;cursor:pointer;inset:0;position:fixed;z-index:1050}.layout.layout--mobile .main-content{width:100%}.layout.layout--mobile .sidebar-open-fab,.layout.layout--mobile .topbar{display:none}.layout.layout--mobile .content-wrapper{max-width:100%;padding:0 0 88px}.mobile-page-header{background:linear-gradient(175deg,var(--navy-900) 0,var(--navy-700) 100%);color:#fff;padding:14px 16px 20px}.mobile-page-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.mobile-page-header-main{flex:1 1;min-width:0}.mobile-page-eyebrow{color:#ffffff59;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;margin-bottom:4px;text-transform:uppercase}.mobile-page-title{color:#fff;font-family:Cormorant Garamond,serif;font-size:26px;font-weight:500;line-height:1.15;margin:0}.mobile-page-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.mobile-icon-btn{align-items:center;background:#ffffff14;border:none;border-radius:12px;color:#ffffffe6;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.mobile-curve-break{background:var(--canvas-bg);border-radius:28px 28px 0 0;height:20px;margin-top:-20px;position:relative;z-index:1}.mobile-page-body{background:var(--canvas-bg);margin-top:-1px;padding:0 16px 20px}.mobile-nav-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04045659;border:none;cursor:pointer;inset:0;position:fixed;z-index:1040}.mobile-nav-sheet{animation:mobile-nav-sheet-in .22s ease-out;background:#fff;border:1px solid var(--border);border-bottom:none;border-radius:20px 20px 0 0;bottom:calc(72px + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 32px #0404561f;display:flex;flex-direction:column;left:0;max-height:min(52vh,420px);overflow:hidden;position:fixed;right:0;z-index:1050}@keyframes mobile-nav-sheet-in{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mobile-nav-sheet-header{border-bottom:1px solid #ececf5;flex-shrink:0;padding:16px 20px 12px}.mobile-nav-sheet-eyebrow{color:var(--text-muted);display:block;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.16em;margin-bottom:4px;text-transform:uppercase}.mobile-nav-sheet-title{color:var(--navy-900);font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500;margin:0}.mobile-nav-sheet-items{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:8px 12px 16px}.mobile-nav-sheet-item{align-items:center;border-radius:12px;color:var(--text-primary);display:flex;gap:12px;padding:14px 12px;text-decoration:none;transition:background .15s ease}.mobile-nav-sheet-item.active,.mobile-nav-sheet-item:hover{background:#f0f0fa}.mobile-nav-sheet-item.active{color:var(--navy-900);font-weight:600}.mobile-nav-sheet-item-icon{align-items:center;background:var(--canvas-bg);border-radius:12px;color:var(--navy-700);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;position:relative;width:36px}.mobile-nav-sheet-item.active .mobile-nav-sheet-item-icon{background:var(--navy-900);color:#fff}.mobile-nav-sheet-item-icon .nav-icon-svg{height:18px;width:18px}.mobile-nav-sheet-item-label{flex:1 1;font-size:15px;font-weight:500}.mobile-nav-sheet-item-chevron{color:var(--text-muted);font-size:18px;line-height:1}.mobile-bottom-nav-item{background:none;border:none;cursor:pointer;font:inherit}.mobile-bottom-nav-item.expanded .mobile-bottom-nav-icon{background:var(--navy-100);color:var(--navy-900)}.mobile-bottom-nav-item.disabled{cursor:not-allowed;opacity:.35}.mobile-nav-sheet-empty{color:var(--text-muted);font-size:14px;margin:0;padding:20px 12px;text-align:center}.mobile-nav-sheet-logout{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;cursor:pointer;font-size:14px;font-weight:600;margin:8px 12px 4px;padding:12px;width:calc(100% - 24px)}.mobile-bottom-nav{align-items:stretch;background:#fff;border-top:1px solid var(--border);bottom:0;box-shadow:0 -4px 20px #04045614;display:flex;left:0;padding:8px 4px calc(8px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:1000}.mobile-bottom-nav-item{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-height:56px;padding:4px 2px;text-decoration:none}.mobile-bottom-nav-icon{align-items:center;border-radius:14px;display:inline-flex;height:36px;justify-content:center;transition:background .15s ease;width:36px}.mobile-bottom-nav-item.active .mobile-bottom-nav-icon{background:var(--navy-900);color:#fff}.mobile-bottom-nav-item.active{color:var(--navy-900)}.mobile-bottom-nav-label{font-family:DM Mono,monospace;font-size:8.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.layout.layout--mobile .page-container{padding:0}.layout.layout--mobile .page-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px;padding:0}.layout.layout--mobile .page-header h1{display:none;font-size:22px}.layout.layout--mobile .header-actions,.layout.layout--mobile .header-left{width:100%}.layout.layout--mobile .header-actions{flex-wrap:wrap;gap:8px}.layout.layout--mobile .btn-action,.layout.layout--mobile .btn-primary,.layout.layout--mobile .btn-secondary{min-height:44px}.layout.layout--mobile .table-container{background:#0000;border:none;box-shadow:none;max-height:none;overflow:visible;padding:0}.layout.layout--mobile .data-table{border-collapse:initial;border-spacing:0 12px}.layout.layout--mobile .data-table thead{display:none}.layout.layout--mobile .data-table tbody tr{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 12px #04045612;display:block;padding:14px 16px}.layout.layout--mobile .data-table tbody tr:hover{background:#fff}.layout.layout--mobile .data-table td{align-items:flex-start;border:none;border-bottom:1px solid #ececf5;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:8px 0}.layout.layout--mobile .data-table td:last-child{border-bottom:none;padding-bottom:0}.layout.layout--mobile .data-table td:before{color:var(--text-muted);content:attr(data-label);flex-shrink:0;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;min-width:88px;padding-top:2px;text-transform:uppercase}.layout.layout--mobile .data-table td.actions-cell{flex-wrap:wrap;justify-content:flex-end}.layout.layout--mobile .data-table td.no-data{display:block;padding:24px;text-align:center}.layout.layout--mobile .data-table td.no-data:before{display:none}.layout.layout--mobile .actions-cell{gap:8px}.layout.layout--mobile .modal-content{border-radius:0!important;margin:0!important;max-height:100vh;max-width:100%!important;min-height:100vh;width:100%!important}.layout.layout--mobile .consultation-modal{max-width:100%!important}.layout.layout--mobile .consultation-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.layout.layout--mobile .consultation-tabs .tab-btn{flex-shrink:0;white-space:nowrap}.layout.layout--mobile .consultation-footer{background:#fff;border-top:1px solid var(--border);bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky}.layout.layout--mobile .dashboard-kpis-grid{gap:12px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.layout.layout--mobile .dashboard-lower-grid{grid-template-columns:1fr!important}.layout.layout--mobile .calendar-container{border-radius:12px}.layout.layout--mobile .calendar-header{padding:14px 16px}.layout.layout--mobile .calendar-day{min-height:72px;padding:4px}.layout.layout--mobile .calendar-legend{gap:6px;padding:10px 12px}.layout.layout--mobile .legend-item{font-size:10px;padding:3px 8px}.layout.layout--mobile .mobile-chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.layout.layout--mobile .mobile-chip-row::-webkit-scrollbar{display:none}.layout.layout--mobile .form-row,.layout.layout--mobile .medicine-form-grid,.layout.layout--mobile .vitals-grid{grid-template-columns:1fr!important}.layout.layout--mobile input,.layout.layout--mobile select,.layout.layout--mobile textarea{font-size:16px}.layout.layout--mobile .topbar-notif-panel{bottom:96px;left:12px;max-height:50vh;position:fixed;right:12px;top:auto;width:auto}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#ececf5,#f8f8fc 40%,#ececf5 80%);background-size:200% 100%;display:block}.skeleton-page{display:flex;flex-direction:column;gap:20px}.skeleton-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.skeleton-table-wrap{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0404560f;overflow:hidden}.skeleton-table-head{background:#f0f0fa;padding:14px 16px}.skeleton-table-head,.skeleton-table-row{grid-gap:12px;border-bottom:1px solid #ececf5;display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-columns:repeat(var(--skel-cols,6),minmax(0,1fr))}.skeleton-table-row{padding:16px}.skeleton-table-row:last-child{border-bottom:none}.skeleton-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-kpi-card{gap:10px;padding:14px}.skeleton-kpi-card,.skeleton-panel{background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column}.skeleton-panel{gap:12px;padding:16px}.skeleton-lower-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(280px,38%) minmax(0,1fr)}.skeleton-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-stat-card{gap:12px;padding:16px}.skeleton-profile-header,.skeleton-stat-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex}.skeleton-profile-header{gap:20px;padding:24px}.skeleton-profile-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-form-block{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px}.skeleton-form-block,.skeleton-modal{display:flex;flex-direction:column;gap:14px}.skeleton-modal{padding:8px 0}.skeleton-auth-shell{background:var(--canvas-bg);display:flex;height:100vh;overflow:hidden}.skeleton-auth-sidebar{background:linear-gradient(175deg,var(--navy-900) 0,var(--navy-700) 100%);display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:20px 14px;width:230px}.skeleton-auth-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.skeleton-auth-topbar{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;height:64px;padding:0 24px}.skeleton-auth-content{flex:1 1;overflow-y:auto;padding:24px}.global-skeleton-bar{animation:skeleton-shimmer 1s ease-in-out infinite;background:linear-gradient(90deg,#0000 0,var(--accent) 35%,#7aaef9 50%,var(--accent) 65%,#0000 100%);background-size:200% 100%;height:3px;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:2000}@media (max-width:768px){.skeleton-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-lower-grid{grid-template-columns:1fr}.skeleton-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-profile-grid{grid-template-columns:1fr}.skeleton-auth-sidebar{display:none}.skeleton-table-head,.skeleton-table-row{grid-template-columns:1fr}}.landing-page{background:var(--canvas-bg);color:var(--text-primary);min-height:100vh}.landing-nav{left:0;position:fixed;right:0;top:0;transition:background .3s ease,border-color .3s ease,-webkit-backdrop-filter .3s ease;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;z-index:100}.landing-nav--scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040456f7;border-bottom:1px solid #ffffff12}.landing-nav-inner{align-items:center;display:flex;gap:16px;height:64px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 24px}.landing-nav-brand{align-items:center;color:#fff;display:flex;gap:10px;text-decoration:none}.landing-logo-glow{align-items:center;display:inline-flex;justify-content:center;line-height:0;position:relative}.landing-logo-glow:before{animation:landing-logo-glow-pulse 3s ease-in-out infinite;background:radial-gradient(circle,#4f8ef752 0,#4f8ef71f 45%,#0000 72%);border-radius:50%;content:"";filter:blur(6px);inset:-10px;position:absolute;z-index:0}.landing-logo-glow img{position:relative;z-index:1}.landing-nav-logo{animation:landing-logo-shimmer 3s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(79,142,247,.5)) drop-shadow(0 0 14px rgba(79,142,247,.28)) drop-shadow(0 0 24px rgba(120,170,255,.18));height:32px;width:auto}@keyframes landing-logo-glow-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:.72;transform:scale(1.06)}}@keyframes landing-logo-shimmer{0%,to{filter:drop-shadow(0 0 6px rgba(79,142,247,.45)) drop-shadow(0 0 14px rgba(79,142,247,.22)) drop-shadow(0 0 22px rgba(120,170,255,.15))}50%{filter:drop-shadow(0 0 8px rgba(79,142,247,.62)) drop-shadow(0 0 18px rgba(79,142,247,.38)) drop-shadow(0 0 28px rgba(120,170,255,.24))}}@keyframes landing-logo-shimmer-footer{0%,to{filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(79,142,247,.4)) drop-shadow(0 0 18px rgba(79,142,247,.22))}50%{filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(79,142,247,.58)) drop-shadow(0 0 22px rgba(79,142,247,.35)) drop-shadow(0 0 32px rgba(120,170,255,.2))}}@media (prefers-reduced-motion:reduce){.landing-footer-logo,.landing-logo-glow:before,.landing-nav-logo{animation:none}}.landing-nav-wordmark{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:600}.landing-nav-links{align-items:center;display:none;gap:32px}.landing-nav-links a{color:#ffffff8c;font-size:14px;text-decoration:none;transition:color .15s ease}.landing-nav-links a:hover{color:#fff}.landing-nav-actions{align-items:center;display:none;gap:12px}.landing-nav-signin{background:#ffffff14;border:none;border-radius:8px;color:#fffc;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;padding:8px 16px}.landing-nav-signin:hover{background:#ffffff24}.landing-nav-cta{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:8px 20px}.landing-nav-cta:hover{background:var(--accent-light)}.landing-nav-menu-btn{align-items:center;background:#0000;border:none;color:#fffc;cursor:pointer;display:flex;justify-content:center;padding:8px}.landing-nav-mobile{background:#040456fa;border-top:1px solid #ffffff12;display:flex;flex-direction:column;gap:16px;padding:16px 24px 24px}.landing-nav-mobile a{color:#ffffffa6;font-size:14px;text-decoration:none}.landing-nav-mobile-actions{border-top:1px solid #ffffff12;display:flex;gap:12px;padding-top:12px}.landing-nav-mobile-actions button{background:#ffffff14;border:none;border-radius:8px;color:#ffffffd9;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;padding:10px}.landing-nav-mobile-actions button.primary{background:var(--accent);color:#fff;font-weight:600}.landing-hero{align-items:center;background:linear-gradient(155deg,var(--navy-900) 0,var(--navy-800) 50%,var(--navy-700) 100%);display:flex;min-height:100vh;overflow:hidden;padding:96px 24px 64px;position:relative}.landing-hero-grid{background-image:linear-gradient(#fff 1px,#0000 0),linear-gradient(90deg,#fff 1px,#0000 0);background-size:64px 64px;inset:0;opacity:.04;position:absolute}.landing-hero-glow{border-radius:50%;filter:blur(80px);pointer-events:none;position:absolute}.landing-hero-glow--left{background:var(--accent);height:40vw;left:5%;opacity:.05;top:15%;width:40vw}.landing-hero-glow--right{background:var(--navy-300);bottom:10%;height:35vw;opacity:.06;right:0;width:35vw}.landing-hero-inner{align-items:center;display:flex;flex-direction:column;gap:48px;margin:0 auto;max-width:1280px;position:relative;width:100%;z-index:1}.landing-hero-copy{color:#fff;max-width:640px;text-align:center}.landing-hero-badge{align-items:center;background:#4f8ef714;border:1px solid #4f8ef74d;border-radius:999px;color:#fff9;display:inline-flex;font-family:DM Mono,monospace;font-size:10px;gap:8px;letter-spacing:.14em;margin-bottom:24px;padding:6px 12px;text-transform:uppercase}.landing-hero-badge-dot{background:#4ade80;border-radius:50%;height:6px;width:6px}.landing-hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(48px,10vw,88px);font-weight:600;letter-spacing:-.01em;line-height:1;margin:0 0 8px}.landing-hero-subtitle{color:#fff6;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.28em;margin:0 0 20px;text-transform:uppercase}.landing-hero-tagline{color:#ffffffd9;font-family:Cormorant Garamond,serif;font-size:clamp(22px,4vw,32px);font-weight:400;line-height:1.3;margin:0 0 16px}.landing-hero-desc{color:#ffffff80;font-size:15px;line-height:1.65;margin:0 0 32px}.landing-hero-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.landing-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 28px;transition:transform .15s ease,background .15s ease}.landing-btn--primary{background:var(--accent);color:#fff}.landing-btn--primary:hover{background:var(--accent-light);transform:translateY(-1px)}.landing-btn--ghost{background:#ffffff0f;border:1px solid #fff3;color:#ffffffe6}.landing-btn--ghost:hover{background:#ffffff1a}.landing-btn--outline{background:#0000;border:1px solid #ffffff40;color:#ffffffd9}.landing-btn--outline:hover{background:#ffffff0f}.landing-trust-row{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center}.landing-trust-item{align-items:center;color:#fff6;display:inline-flex;font-family:DM Mono,monospace;font-size:11px;gap:6px}.landing-trust-item svg{color:#4ade80;flex-shrink:0}.landing-hero-visual{display:flex;justify-content:center;max-width:720px;position:relative;width:100%}.landing-devices{margin:0 auto;min-height:340px;position:relative;touch-action:pan-y;width:100%}.landing-devices--interactive{cursor:grab}.landing-devices--interactive.landing-devices--active{cursor:grabbing}.landing-devices-glow{background:var(--accent);border-radius:50%;filter:blur(70px);height:260px;left:50%;opacity:.16;pointer-events:none;position:absolute;top:38%;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.22,1,.36,1);width:420px;z-index:0}.landing-devices--active .landing-devices-glow{transition-duration:.12s}.landing-device{position:absolute;transform-origin:center bottom;transition:transform .5s cubic-bezier(.22,1,.36,1);will-change:transform}.landing-devices--active .landing-device{transition-duration:.1s}.landing-device--laptop{left:50%;top:0;z-index:1}.landing-device--tablet{bottom:6%;right:0;z-index:2}.landing-device--phone{bottom:0;left:0;z-index:3}.landing-screen-kpis{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:8px}.landing-screen-kpis--laptop,.landing-screen-kpis--tablet{grid-template-columns:repeat(4,1fr)}.landing-screen-kpis--laptop{gap:4px;margin-bottom:6px}.landing-screen-kpis--compact .landing-phone-kpi{padding:5px 6px}.landing-screen-kpis--compact .landing-phone-kpi-value{font-size:11px}.landing-screen-patient-copy{display:flex;flex:1 1;flex-direction:column;min-width:0}.landing-screen-patient-meta{color:var(--text-muted);font-family:DM Mono,monospace;font-size:7px}.landing-phone{background:var(--canvas-bg);border-radius:28px;box-shadow:0 0 0 1px #ffffff1a,0 0 0 6px #04045680,0 32px 64px #0000008c;height:400px;overflow:hidden;position:relative;width:200px}.landing-phone-notch{background:var(--navy-900);border-bottom-left-radius:12px;border-bottom-right-radius:12px;height:20px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:80px;z-index:2}.landing-phone-status{color:#ffffff8c;font-family:DM Mono,monospace;font-size:8px;padding:8px 14px 4px}.landing-phone-header,.landing-phone-status{background:var(--navy-900);display:flex;justify-content:space-between}.landing-phone-header{align-items:flex-start;padding:8px 12px 16px}.landing-phone-eyebrow{color:#ffffff59;font-family:DM Mono,monospace;font-size:7px;letter-spacing:.12em;margin-bottom:4px}.landing-phone-greeting{color:#fff;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:500}.landing-phone-avatar{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-family:DM Mono,monospace;font-size:9px;font-weight:600;height:26px;justify-content:center;width:26px}.landing-phone-curve{background:var(--canvas-bg);border-radius:20px 20px 0 0;height:14px;margin-top:-14px;position:relative;z-index:1}.landing-phone-body{background:var(--canvas-bg);padding:0 10px 48px}.landing-phone-kpis{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:8px}.landing-phone-kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px}.landing-phone-kpi.dark{background:var(--navy-900);border-color:#ffffff0f}.landing-phone-kpi-label{color:var(--text-muted);display:block;font-family:DM Mono,monospace;font-size:6.5px;letter-spacing:.1em;margin-bottom:4px}.landing-phone-kpi.dark .landing-phone-kpi-label{color:#fff6}.landing-phone-kpi-value{color:var(--text-primary);font-family:DM Mono,monospace;font-size:14px;font-weight:600}.landing-phone-kpi.dark .landing-phone-kpi-value{color:#fff}.landing-phone-chart{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:8px 10px}.landing-phone-chart-label{color:var(--text-muted);display:block;font-family:DM Mono,monospace;font-size:6.5px;letter-spacing:.1em;margin-bottom:6px}.landing-phone-chart-svg{height:44px;width:100%}.landing-phone-list{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.landing-phone-list-row{align-items:center;border-bottom:1px solid #ececf5;display:flex;gap:8px;padding:6px 10px}.landing-phone-list-row:last-child{border-bottom:none}.landing-phone-list-avatar{align-items:center;background:var(--navy-100);border-radius:50%;color:var(--navy-600);display:flex;flex-shrink:0;font-family:DM Mono,monospace;font-size:7px;font-weight:600;height:22px;justify-content:center;width:22px}.landing-phone-list-name{color:var(--text-primary);font-size:8.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-tablet{background:linear-gradient(145deg,#2a2a5a,#121230);border-radius:20px;box-shadow:0 0 0 1px #ffffff1a,0 0 0 5px #0404566b,0 28px 56px #00000080;padding:9px;width:230px}.landing-tablet-camera{background:#ffffff26;border-radius:50%;height:8px;margin:0 auto 8px;width:8px}.landing-tablet-screen{background:var(--canvas-bg);border-radius:14px;overflow:hidden}.landing-tablet-header{align-items:center;background:var(--navy-900);display:flex;justify-content:space-between;padding:10px 12px}.landing-tablet-title{color:#fff;font-family:Cormorant Garamond,serif;font-size:12px;font-weight:500}.landing-tablet-body{padding:8px}.landing-tablet-body .landing-phone-kpi-value{font-size:11px}.landing-tablet-body .landing-phone-chart-svg{height:36px}.landing-tablet-appts{display:flex;flex-direction:column;gap:6px;margin-top:8px}.landing-tablet-appt{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;padding:6px 8px}.landing-tablet-appt-time{color:var(--accent);flex-shrink:0;font-family:DM Mono,monospace;font-size:8px;font-weight:600}.landing-tablet-appt-patient{color:var(--text-primary);display:block;font-size:8px;font-weight:600}.landing-tablet-appt-type{color:var(--text-muted);display:block;font-family:DM Mono,monospace;font-size:6.5px}.landing-laptop{width:520px}.landing-laptop-screen{background:#1a1a3a;border-radius:14px 14px 0 0;box-shadow:0 0 0 1px #ffffff0f,0 0 0 5px #0404564d,0 20px 48px #00000059;overflow:hidden;padding:10px 10px 0}.landing-laptop-chrome{align-items:center;display:flex;gap:5px;padding:0 4px 8px}.landing-laptop-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.landing-laptop-dot--red{background:#ff5f57}.landing-laptop-dot--yellow{background:#febc2e}.landing-laptop-dot--green{background:#28c840}.landing-laptop-url{background:#ffffff0f;border-radius:6px;color:#ffffff73;flex:1 1;font-family:DM Mono,monospace;font-size:7px;margin-left:6px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.landing-laptop-app{background:var(--canvas-bg);border-radius:8px 8px 0 0;display:flex;height:270px;overflow:hidden}.landing-laptop-sidebar{background:var(--navy-900);flex-shrink:0;padding:8px 6px;width:72px}.landing-laptop-sidebar-logo{border-bottom:1px solid #ffffff14;color:#fff;font-family:DM Mono,monospace;font-size:9px;font-weight:700;margin-bottom:8px;padding:6px 0 10px;text-align:center}.landing-laptop-nav-item{align-items:center;border-radius:6px;color:#ffffff73;display:flex;font-size:6.5px;gap:4px;margin-bottom:3px;padding:4px 5px}.landing-laptop-nav-item.active{background:#ffffff1a;color:#fff}.landing-laptop-nav-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:4px;width:4px}.landing-laptop-main{flex:1 1;min-width:0;padding:8px}.landing-laptop-main-head{align-items:center;color:var(--text-primary);display:flex;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:600;justify-content:space-between;margin-bottom:6px}.landing-laptop-live{background:#ecfdf5;border-radius:999px;color:#059669;font-family:DM Mono,monospace;font-size:6px;letter-spacing:.1em;padding:2px 6px}.landing-laptop-chart{margin-bottom:6px}.landing-laptop-chart .landing-phone-chart-svg{height:32px}.landing-laptop-table{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.landing-laptop-table-head,.landing-laptop-table-row{grid-gap:4px;display:grid;font-size:6.5px;gap:4px;grid-template-columns:1.4fr 1fr .8fr;padding:4px 6px}.landing-laptop-table-head{background:#f8fafc;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.landing-laptop-table-row{border-bottom:1px solid #ececf5;color:var(--text-primary)}.landing-laptop-table-row:last-child{border-bottom:none}.landing-laptop-base{background:linear-gradient(180deg,#2a2a5a,#121230);border-radius:0 0 10px 10px;box-shadow:0 12px 32px #00000040;height:12px;margin:0 8%;position:relative}.landing-laptop-notch{background:#ffffff14;border-radius:0 0 4px 4px;height:4px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:48px}.landing-stats{background:#fff;border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.landing-stats-inner{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:1280px;padding:48px 24px}.landing-stat-value{color:var(--navy-900);font-family:DM Mono,monospace;font-size:clamp(28px,5vw,44px);font-weight:600;margin-bottom:4px}.landing-stat-label{color:var(--text-muted);font-size:14px}.landing-features{background:var(--canvas-bg);padding:80px 24px}.landing-section-inner{margin:0 auto;max-width:1280px}.landing-section-head{margin-bottom:48px;max-width:640px}.landing-eyebrow{color:var(--text-muted);display:block;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.2em;margin-bottom:16px;text-transform:uppercase}.landing-eyebrow--light{color:#ffffff59}.landing-section-head h2{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.15;margin:0 0 16px}.landing-section-head p{color:var(--text-muted);font-size:16px;line-height:1.65;margin:0}.landing-features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.landing-feature-card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 12px #0404560d;padding:24px;transition:transform .15s ease,box-shadow .15s ease}.landing-feature-card:hover{box-shadow:0 8px 32px #0404561a;transform:translateY(-2px)}.landing-feature-icon{align-items:center;border-radius:12px;display:flex;height:40px;justify-content:center;margin-bottom:16px;width:40px}.feature-accent--info{background:var(--info-bg);color:var(--info-text)}.feature-accent--success{background:var(--success-bg);color:var(--success-text)}.feature-accent--navy{background:var(--navy-50);color:var(--navy-500)}.feature-accent--warning{background:var(--warning-bg);color:var(--warning-text)}.feature-accent--danger{background:var(--danger-bg);color:var(--danger-text)}.feature-accent--neutral{background:var(--neutral-bg);color:var(--neutral-text)}.landing-feature-card h3{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:20px;font-weight:500;margin:0 0 12px}.landing-feature-card p{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0}.landing-terminal{background:linear-gradient(160deg,var(--navy-900) 0,var(--navy-800) 100%);overflow:hidden;padding:80px 24px;position:relative}.landing-terminal-inner{display:flex;flex-direction:column;gap:48px;margin:0 auto;max-width:1280px}.landing-terminal-copy h2{color:#fff;font-family:Cormorant Garamond,serif;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.15;margin:0 0 20px}.landing-terminal-copy h2 span{color:var(--accent)}.landing-terminal-copy p{color:#ffffff80;font-size:16px;line-height:1.65;margin:0 0 24px}.landing-terminal-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.landing-terminal-list li{align-items:flex-start;color:#fff9;display:flex;font-size:14px;gap:12px;line-height:1.5}.landing-terminal-list li svg{color:var(--accent);flex-shrink:0;margin-top:3px}.landing-widget{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:20px}.landing-widget-head{align-items:center;color:#ffffff59;display:flex;font-family:DM Mono,monospace;font-size:9px;justify-content:space-between;letter-spacing:.14em;margin-bottom:16px;text-transform:uppercase}.landing-widget-live{background:#4ade801a;border-radius:4px;color:#4ade80;padding:2px 8px}.landing-widget-bar{align-items:center;color:#ffffff80;display:flex;font-family:DM Mono,monospace;font-size:10px;gap:12px;margin-bottom:10px}.landing-widget-bar span:first-child{flex-shrink:0;width:80px}.landing-widget-bar span:last-child{color:#fff6;text-align:right;width:32px}.landing-widget-track{background:#ffffff14;border-radius:999px;flex:1 1;height:6px;overflow:hidden}.landing-widget-fill{background:var(--accent);border-radius:999px;height:100%}.landing-testimonial{background:#fff;border-bottom:1px solid var(--border);padding:80px 24px}.landing-testimonial-inner{margin:0 auto;max-width:800px;text-align:center}.landing-testimonial blockquote{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:clamp(24px,3.5vw,40px);font-weight:400;line-height:1.35;margin:0 0 32px}.landing-testimonial-author{align-items:center;display:flex;gap:16px;justify-content:center;text-align:left}.landing-testimonial-avatar{align-items:center;background:var(--navy-100);border-radius:50%;color:var(--navy-600);display:flex;font-family:DM Mono,monospace;font-weight:600;height:48px;justify-content:center;width:48px}.landing-testimonial-author strong{display:block;font-size:14px;margin-bottom:2px}.landing-testimonial-author span{color:var(--text-muted);font-family:DM Mono,monospace;font-size:12px}.landing-cta{background:linear-gradient(135deg,var(--navy-900) 0,var(--navy-700) 60%,var(--navy-800) 100%);padding:80px 24px;text-align:center}.landing-cta-inner{margin:0 auto;max-width:720px}.landing-cta h2{color:#fff;font-family:Cormorant Garamond,serif;font-size:clamp(32px,5vw,52px);font-weight:500;line-height:1.15;margin:0 0 20px}.landing-cta p{color:#ffffff80;font-size:16px;line-height:1.65;margin:0 0 32px}.landing-cta-actions{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.landing-cta-note{color:#ffffff40!important;font-size:12px!important;margin:0!important}.landing-footer{background:var(--navy-900);color:#ffffff73}.landing-footer-inner{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr;margin:0 auto;max-width:1280px;padding:64px 24px 32px}.landing-footer-logo{animation:landing-logo-shimmer-footer 3s ease-in-out infinite;filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(79,142,247,.42)) drop-shadow(0 0 18px rgba(79,142,247,.24));height:40px;margin-bottom:16px;opacity:.95;width:auto}.landing-logo-glow--footer{margin-bottom:4px}.landing-logo-glow--footer:before{background:radial-gradient(circle,#4f8ef73d 0,#4f8ef714 50%,#0000 75%);inset:-12px}.landing-footer-brand p{color:#ffffff59;font-size:14px;line-height:1.6;margin:0 0 20px}.landing-footer-badges{display:flex;flex-wrap:wrap;gap:8px}.landing-footer-badges span{border:1px solid #ffffff1a;border-radius:6px;color:#ffffff59;font-family:DM Mono,monospace;font-size:9px;padding:4px 10px}.landing-footer-links{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr)}.landing-footer-links h4{color:#ffffff4d;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.18em;margin:0 0 16px;text-transform:uppercase}.landing-footer-links a{color:#ffffff73;display:block;font-size:14px;margin-bottom:12px;text-decoration:none;transition:color .15s ease}.landing-footer-links a:hover{color:#fff}.landing-footer-link-btn{background:none;border:none;color:#ffffff73;cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:12px;padding:0;text-align:left;transition:color .15s ease}.landing-footer-link-btn:hover{color:#fff}.landing-footer-bar{border-top:1px solid #ffffff0f;color:#fff3;font-family:DM Mono,monospace;font-size:12px;margin:0 auto;max-width:1280px;padding:24px}@media (min-width:640px){.landing-cta-actions,.landing-hero-actions{flex-direction:row;justify-content:center}}@media (max-width:767px){.landing-device--laptop,.landing-device--tablet{display:none}.landing-devices{display:flex;justify-content:center;min-height:auto}.landing-device--phone{bottom:auto;left:auto;position:relative;transform:perspective(1200px) rotateY(-4deg) rotateX(2deg)}.landing-phone{border-radius:32px;height:480px;width:240px}}@media (min-width:768px){.landing-nav-actions,.landing-nav-links{display:flex}.landing-nav-menu-btn,.landing-nav-mobile{display:none}.landing-stats-inner{grid-template-columns:repeat(4,1fr)}.landing-features-grid{grid-template-columns:repeat(2,1fr)}.landing-terminal-inner{align-items:center;flex-direction:row;gap:64px}.landing-terminal-copy,.landing-terminal-widgets{flex:1 1}.landing-footer-inner{grid-template-columns:1.2fr 1fr}}@media (min-width:768px) and (max-width:1023px){.landing-devices{max-width:540px;min-height:360px}.landing-laptop{width:420px}.landing-laptop-app{height:220px}.landing-tablet{bottom:2%;right:-6%;width:190px}.landing-phone{border-radius:24px;height:336px;width:168px}.landing-device--phone{bottom:0;left:-4%}}@media (min-width:1024px){.landing-hero-inner{flex-direction:row;gap:64px;text-align:left}.landing-hero-copy{flex:1 1;text-align:left}.landing-hero-visual{flex:1.1 1;max-width:none}.landing-devices{margin-left:auto;max-width:620px;min-height:400px}.landing-laptop{width:520px}.landing-laptop-app{height:270px}.landing-tablet{bottom:8%;right:-2%;width:230px}.landing-phone{height:400px;width:200px}.landing-device--phone{bottom:2%;left:0}.landing-hero-actions,.landing-trust-row{justify-content:flex-start}.landing-features-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.landing-devices{max-width:680px;min-height:440px}.landing-laptop{width:580px}.landing-laptop-app{height:300px}.landing-laptop-sidebar{width:84px}.landing-tablet{bottom:10%;right:2%;width:250px}.landing-phone{border-radius:30px;height:440px;width:220px}.landing-device--phone{bottom:4%;left:2%}.landing-devices-glow{height:300px;width:520px}}.demo-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0404568c;display:flex;inset:0;justify-content:center;padding:24px 16px;position:fixed;z-index:200}.demo-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #04045640;color:#0f172a;color:var(--text-primary,#0f172a);max-width:440px;padding:32px 28px 28px;position:relative;width:100%}.demo-modal-close{align-items:center;background:#0404560f;border:none;border-radius:8px;color:#475569;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:14px;top:14px;width:36px}.demo-modal-close:hover:not(:disabled){background:#0404561a}.demo-modal-close:disabled{cursor:not-allowed;opacity:.5}.demo-modal-eyebrow{color:#4f8ef7;color:var(--accent,#4f8ef7);display:block;font-size:10px;font-weight:600;letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.demo-modal h2{color:#040456;color:var(--navy,#040456);font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600;margin:0 0 8px}.demo-modal-desc{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 24px}.demo-modal-form{display:flex;flex-direction:column;gap:16px}.demo-modal-field{display:flex;flex-direction:column;gap:6px}.demo-modal-field span{color:#334155;font-size:13px;font-weight:600}.demo-modal-field input{border:1px solid #e2e8f0;border-radius:10px;font-family:DM Sans,sans-serif;font-size:15px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.demo-modal-field input:focus{border-color:#4f8ef7;border-color:var(--accent,#4f8ef7);box-shadow:0 0 0 3px #4f8ef726;outline:none}.demo-modal-field input:disabled{background:#f8fafc;cursor:not-allowed}.demo-modal-error{background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:13px;margin:0;padding:10px 12px}.demo-modal-submit{background:#040456;background:var(--navy,#040456);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;margin-top:4px;padding:13px 20px;transition:background .15s ease;width:100%}.demo-modal-submit:hover:not(:disabled){background:#060678}.demo-modal-submit:disabled{cursor:not-allowed;opacity:.65}.demo-modal-success{padding-top:8px;text-align:center}.demo-modal-success-icon{align-items:center;background:#ecfdf5;border-radius:50%;color:#059669;display:inline-flex;font-size:24px;font-weight:700;height:56px;justify-content:center;margin-bottom:16px;width:56px}.demo-modal-success h2{margin-bottom:12px}.demo-modal-success p{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 24px}@media (max-width:480px){.demo-modal{padding:28px 20px 24px}.demo-modal h2{font-size:24px}}.login-container{align-items:center;background:linear-gradient(140deg,var(--navy-900) 0,var(--navy-700) 52%,#f5f5fb 52%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-background-image{background-image:url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1f?w=1920&h=1080&fit=crop);background-position:50%;background-size:cover;bottom:0;left:0;opacity:.15;position:absolute;right:0;top:0;z-index:0}.login-container:before{background:linear-gradient(135deg,#040456e6,#1c1c4cd9 50%,#ffffffe6);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.login-box{background:#fff;border-radius:16px;box-shadow:0 2px 8px #04045624;max-width:400px;padding:40px;position:relative;width:100%;z-index:2}.auth-back-btn{align-items:center;background:#fff;border:1px solid #dbeafe;border-radius:999px;box-shadow:0 2px 8px #1c1c4c1f;color:#040456;cursor:pointer;display:inline-flex;font-size:18px;height:36px;justify-content:center;left:12px;line-height:1;position:absolute;top:12px;width:36px}.auth-back-btn:hover{background:#e0e7ff;border-color:#1c1c4c}.login-header{margin-bottom:30px;text-align:center}.login-logo{display:flex;justify-content:center;margin-bottom:20px}.logo-image{height:auto;max-width:200px;object-fit:contain;width:100%}.login-header h1{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:30px;margin-bottom:4px}.login-tagline{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.login-header p{color:var(--text-muted);font-size:14px}.login-form{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:14px}.form-group input{border:1px solid var(--border);border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:40px}.password-eye-btn{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:0;position:absolute;right:10px}.password-eye-btn:hover{color:#040456}.password-eye-icon{height:20px;width:20px}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f8ef726;outline:none}.login-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:12px;transition:transform .2s,box-shadow .2s;width:100%}.login-btn:hover:not(:disabled){background:var(--accent-light);box-shadow:0 4px 12px #4f8ef759;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee2e2;color:#dc2626}.error-message,.success-message{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px}.success-message{background:#dcfce7;color:#16a34a}.login-back-link{background:none;border:none;color:#040456;cursor:pointer;font-size:13px;margin-top:8px;padding:0;text-decoration:underline}.login-back-link:hover{color:#1c1c4c}.login-footer{color:#6b7280;font-size:12px;margin-top:20px;text-align:center}.signup-box{max-width:480px}.step-indicator{margin-top:16px}.step,.step-indicator{align-items:center;display:flex;justify-content:center}.step{background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;font-weight:600;height:32px;transition:all .3s;width:32px}.step.active{background:#040456;color:#fff}.step-line{background:#e5e7eb;height:2px;margin:0 8px;width:60px}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group select:focus{border-color:#1c1c4c;box-shadow:0 0 0 3px #14b8a61a;outline:none}.form-section-title{border-bottom:1px solid #e5e7eb;color:#040456;font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.form-actions-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:10px}.login-btn.secondary{background:#f3f4f6;color:#374151}.login-btn.secondary:hover:not(:disabled){background:#e5e7eb;box-shadow:none;transform:none}@media (max-width:480px){.form-actions-row,.form-row{grid-template-columns:1fr}.signup-box{padding:24px}}.dashboard-space{display:flex;flex-direction:column;gap:16px}.dashboard-loading{color:var(--text-muted);padding:32px;text-align:center}.dashboard-kpis-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpi-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0404560f;padding:14px}.dashboard-kpi-label{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.dashboard-kpi-row{align-items:flex-end;display:flex;gap:8px;justify-content:space-between}.dashboard-kpi-value{color:var(--text-primary);font-family:DM Mono,monospace;font-size:28px;font-weight:700;line-height:1}.dashboard-kpi-trend{align-items:center;display:inline-flex;gap:4px}.dashboard-kpi-trend-icon{height:14px;width:14px}.dashboard-kpi-trend-icon.up{color:#0a6640}.dashboard-kpi-trend-icon.down{color:#8b1a1a}.dashboard-kpi-trend-text{font-family:DM Mono,monospace;font-size:11px}.dashboard-kpi-trend-text.up{color:#0a6640}.dashboard-kpi-trend-text.down{color:#8b1a1a}.dashboard-panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0404560f;padding:16px}.dashboard-panel-title{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.dashboard-revenue-panel .dashboard-panel-title{margin-bottom:6px}.dashboard-revenue-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.dashboard-revenue-summary{color:var(--text-muted);font-size:14px}.dashboard-revenue-summary strong{color:var(--text-primary);font-family:DM Mono,monospace;font-weight:600}.dashboard-revenue-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.dashboard-revenue-toggle{background:#f7f7fc;border:1px solid var(--border);border-radius:10px;display:flex;gap:3px;padding:3px}.dashboard-revenue-toggle-btn{background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s ease,color .15s ease}.dashboard-revenue-toggle-btn.active{background:#fff;box-shadow:0 2px 6px #04045614;color:var(--navy-900)}.dashboard-revenue-month-picker.hidden{display:none}.dashboard-revenue-month-picker{display:flex;flex-direction:column;gap:4px}.dashboard-revenue-month-label{color:var(--text-muted);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.dashboard-revenue-month-picker input[type=month]{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:14px;min-height:38px;padding:8px 10px}.dashboard-revenue-month-picker input[type=month]:focus{border-color:var(--accent);outline:2px solid #4f8ef759}@media (max-width:640px){.dashboard-revenue-controls,.dashboard-revenue-header{align-items:stretch;flex-direction:column}.dashboard-revenue-controls,.dashboard-revenue-toggle{width:100%}.dashboard-revenue-toggle-btn{flex:1 1}.dashboard-revenue-month-picker input[type=month]{width:100%}}.dashboard-lower-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(280px,38%) minmax(0,1fr)}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%}.dashboard-table thead{background:#f8f8fc}.dashboard-table th{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.08em;padding:10px;text-align:left;text-transform:uppercase}.dashboard-table td{border-top:1px solid #ececf5;color:var(--text-primary);font-size:13px;padding:10px}.dashboard-status{align-items:center;border-radius:999px;display:inline-flex;font-family:DM Mono,monospace;font-size:11px;font-weight:500;padding:3px 10px}.status-scheduled{background:var(--info-bg);color:var(--info-text)}.status-in-progress{background:var(--warning-bg);color:var(--warning-text)}.status-completed{background:var(--success-bg);color:var(--success-text)}.status-cancelled{background:var(--danger-bg);color:var(--danger-text)}.dashboard-empty{color:var(--text-muted);font-style:italic;text-align:center}@media (max-width:1024px){.dashboard-kpis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower-grid{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-kpis-grid{grid-template-columns:1fr}}.page-container{padding:0}.page-header{margin-bottom:30px}.page-header h1{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:34px;font-weight:600;letter-spacing:.01em}.btn-primary{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-primary:hover{background:var(--accent-light);box-shadow:0 4px 12px #4f8ef759;transform:translateY(-1px)}.btn-secondary{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--navy-700);cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.btn-secondary:hover{background:#f8f8fc}.btn-cancel-small{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-cancel-small:hover{background:#fecaca}.muted{color:var(--text-muted)}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0404560f;max-height:70vh;overflow-x:auto;overflow-y:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:#f0f0fa}.data-table th{color:var(--text-muted);font-family:DM Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.08em;padding:14px 16px;text-align:left;text-transform:uppercase}.data-table td{border-top:1px solid #ececf5;color:var(--text-primary);padding:14px 16px}.data-table tbody tr:hover{background:#f8f8fc}.badge{border-radius:12px;font-family:DM Mono,monospace;font-size:11px;font-weight:500;padding:4px 12px;text-transform:capitalize}.badge-scheduled{background:var(--info-bg);color:var(--info-text)}.badge-completed{background:var(--success-bg);color:var(--success-text)}.badge-cancelled{background:var(--danger-bg);color:var(--danger-text)}.badge-pending{background:var(--warning-bg);color:var(--warning-text)}.badge-paid{background:var(--success-bg);color:var(--success-text)}.no-data{color:#9ca3af;font-style:italic}.loading,.no-data{padding:40px;text-align:center}.loading{color:#6b7280}.global-loading-overlay{align-items:center;background:#f9fafb99;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:9999px;border-top-color:#040456;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;z-index:2100}.toast{align-items:flex-start;background:#111827;border-radius:8px;box-shadow:0 10px 25px #00000040;color:#f9fafb;display:flex;font-size:14px;justify-content:space-between;max-width:320px;min-width:260px;padding:12px 16px}.toast-success{border-left:4px solid #040456}.toast-error{border-left:4px solid #ef4444}.toast-content{flex:1 1;padding-right:8px}.toast-title{font-weight:600;margin-bottom:4px}.toast-message{font-size:13px}.toast-close{background:#0000;border:none;color:#9ca3af;cursor:pointer;font-size:16px;line-height:1}.confirm-toast-container{bottom:20px;position:fixed;right:20px;z-index:2200}.confirm-toast{background:#111827;border-left:4px solid #040456;border-radius:10px;box-shadow:0 10px 25px #00000040;color:#f9fafb;max-width:380px;min-width:320px;padding:12px 16px}.confirm-toast-content{margin-bottom:10px}.confirm-toast-title{font-weight:700;margin-bottom:4px}.confirm-toast-message{color:#e5e7eb;font-size:13px;line-height:1.4}.confirm-toast-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-toast-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.confirm-toast-btn.secondary{background:#374151;color:#f9fafb}.confirm-toast-btn.secondary:hover{background:#4b5563}.confirm-toast-btn.primary{background:linear-gradient(135deg,#040456,#1c1c4c);color:#fff}.confirm-toast-btn.primary:hover{background:linear-gradient(135deg,#1c1c4c,#040456)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04045659;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-width:500px;padding:30px;width:90%}.modal-content-scroll{max-height:80vh;overflow-y:auto}.modal-content-wide{max-height:90vh;max-width:720px;overflow-y:auto}.password-toggle-button{background:#0000;border:none;color:#040456;cursor:pointer;font-size:13px;font-weight:500;padding:0 4px;white-space:nowrap}.password-toggle-button:hover{color:#1c1c4c;text-decoration:underline}.modal-content h2{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f8ef726;outline:none}.form-readonly{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:14px;padding:12px}.form-help{color:#6b7280;font-size:14px;margin:0;padding:8px 0}.form-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.form-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.form-section h3{color:#040456;font-size:14px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.action-buttons{flex-wrap:wrap;gap:8px}.btn-edit-small{background:#dbeafe;border:1px solid #93c5fd;border-radius:6px;color:#1d4ed8;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-edit-small:hover{background:#bfdbfe}.btn-history-small{background:#e0e7ff;border:1px solid #bfdbfe;border-radius:6px;color:#1c1c4c;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-history-small:hover{background:#dbeafe}.patient-history{display:flex;flex-direction:column;gap:24px}.history-section h3{color:#374151;font-size:16px;margin-bottom:12px}.history-table-wrap{overflow-x:auto}.history-table-wrap .data-table{margin-bottom:0}.patients-filter-bar{background:#fafafe;border-bottom:1px solid #ececf5;display:flex;gap:14px;padding:14px}.patients-pagination-foot{align-items:center;border-top:1px solid #ececf5;color:var(--text-muted);display:flex;font-size:13px;justify-content:space-between;padding:12px 14px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.appointment-notes-view{max-height:60vh;overflow-y:auto}.appointment-notes-view .notes-meta{color:#6b7280;font-size:14px;margin-bottom:16px}.appointment-notes-view .notes-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:12px}.appointment-notes-view .notes-block strong{color:#374151;display:block;font-size:14px;margin-bottom:8px}.appointment-notes-view .notes-field{margin-bottom:12px}.appointment-notes-view .notes-field:last-child{margin-bottom:0}.appointment-notes-view .notes-field strong{color:#6b7280;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.appointment-notes-view .notes-block>p,.appointment-notes-view .notes-field p{color:#111827;line-height:1.5;margin:0;white-space:pre-wrap}.users-tabs{display:flex;gap:8px;margin-bottom:20px}.users-tab{background:#fff;border:1px solid #c7d2fe;border-radius:8px;color:#3730a3;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .2s,color .2s}.users-tab:hover{background:#eef2ff}.users-tab.active{background:linear-gradient(135deg,#040456,#1c1c4c);border-color:#040456;color:#fff}.users-actions-cell{white-space:nowrap}.btn-users-archive,.btn-users-delete,.btn-users-restore{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;margin-right:6px;padding:6px 12px}.btn-users-archive{background:#e0e7ff;color:#3730a3}.btn-users-archive:hover:not(:disabled){background:#c7d2fe}.btn-users-delete{background:#fee2e2;color:#991b1b}.btn-users-delete:hover:not(:disabled){background:#fecaca}.btn-users-restore{background:#d1fae5;color:#065f46}.btn-users-restore:hover{background:#a7f3d0}.btn-users-archive:disabled,.btn-users-delete:disabled{cursor:not-allowed;opacity:.45}.btn-users-delete-confirm{background:#991b1b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px}.btn-users-delete-confirm:hover{background:#7f1d1d}.users-archived-hint{color:#64748b;font-size:14px;margin:0 0 16px}.users-confirm-modal p{color:#374151;line-height:1.5;margin:0 0 20px}.role-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}.role-badge:hover{transform:translateY(-1px)}.page-header{flex-wrap:wrap;gap:16px;justify-content:space-between}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:12px}.header-left h1{margin:0}.header-actions{align-items:center;display:flex;gap:16px}.view-toggle{background:#f7f7fc;border:1px solid var(--border)}.toggle-btn{color:#6b7280}.toggle-btn:hover{color:#374151}.toggle-btn.active{color:var(--text-primary)}.toggle-btn svg{height:18px;width:18px}.cell-with-badge{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.type-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.type-badge.type-consultation{background:var(--info-bg);color:var(--info-text)}.type-badge.type-follow-up{background:var(--warning-bg);color:var(--warning-text)}.type-badge.type-emergency{animation:none;background:var(--danger-bg);color:var(--danger-text)}.type-badge.type-lab{background:var(--lab-bg);color:var(--lab-text)}.lab-type-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.lab-type-chip{align-items:center;background:var(--lab-bg);border:1px solid #5b2d8b26;border-radius:999px;color:var(--lab-text);display:inline-flex;font-size:11px;font-weight:600;padding:3px 8px}.btn-action.btn-pay{background:var(--success-bg);border:1px solid #0a664033;color:var(--success-text)}.btn-action.btn-pay:hover{filter:brightness(.97)}@keyframes pulse-emergency{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.calendar-container{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0404560f;overflow:hidden}.calendar-header{align-items:center;background:#fff;border-bottom:1px solid var(--border);color:var(--text-primary);display:flex;justify-content:space-between;padding:20px 24px}.calendar-title{font-size:20px;font-weight:600;margin:0}.calendar-nav{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-nav:hover{background:#f8f8fc;transform:scale(1.05)}.calendar-grid{grid-gap:1px;background:#e5e7eb;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{background:#f9fafb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:center;text-transform:uppercase}.calendar-day{background:#fff;min-height:120px;padding:8px;position:relative;transition:background .2s ease}.calendar-day:hover{background:#e0e7ff}.calendar-day.empty{background:#f9fafb}.calendar-day.today{background:linear-gradient(135deg,#e0e7ff,#dbeafe)}.calendar-day.today .day-number{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.calendar-day.has-appointments{border-left:3px solid var(--accent)}.day-number{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}.day-appointments{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto}.calendar-legend{background:#f9fafb;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;padding:12px 24px}.legend-item{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px}.legend-item.type-consultation{background:var(--info-bg);color:var(--info-text)}.legend-item.type-follow-up{background:var(--warning-bg);color:var(--warning-text)}.legend-item.type-emergency{background:var(--danger-bg);color:var(--danger-text)}.legend-item.type-lab{background:var(--lab-bg);color:var(--lab-text)}.calendar-appointment{border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:11px;padding:4px 6px;transition:transform .2s ease,box-shadow .2s ease}.calendar-appointment:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(2px)}.calendar-appointment.type-consultation{background:var(--info-bg);border-left:2px solid var(--info-text)}.calendar-appointment.type-follow-up{background:var(--warning-bg);border-left:2px solid var(--warning-text)}.calendar-appointment.type-emergency{background:var(--danger-bg);border-left:2px solid var(--danger-text)}.calendar-appointment.type-lab{background:var(--lab-bg);border-left:2px solid var(--lab-text)}.apt-time{color:#374151;font-weight:600}.apt-patient{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-type{color:inherit;font-size:10px;font-weight:600;opacity:.85;text-transform:capitalize}.more-appointments{color:#040456;font-size:11px;font-weight:500;padding:2px 4px;text-align:center}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.availability-status{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:16px;padding:12px 16px;transition:all .3s ease}.availability-status.checking{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.availability-status.available{background:var(--success-bg);border:1px solid #b6edd7;color:var(--success-text)}.availability-status.unavailable{background:var(--danger-bg);border:1px solid #f8caca;color:var(--danger-text)}.status-icon{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-icon.checking{animation:pulse-check 1.5s infinite;background:#9ca3af}.status-icon.available{background:#1c1c4c;box-shadow:0 0 0 3px #1c1c4c33}.status-icon.unavailable{background:#ef4444;box-shadow:0 0 0 3px #ef444433}@keyframes pulse-check{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.badge-no-show{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.header-actions{align-items:stretch;flex-direction:column;gap:10px;width:100%}.view-toggle--mobile{background:#fff;border-radius:12px;box-shadow:0 2px 10px #04045614;padding:3px;width:100%}.view-toggle--mobile .toggle-btn{flex:1 1;font-size:13px;font-weight:600;justify-content:center;min-height:44px}.view-toggle--mobile .toggle-btn.active{background:var(--navy-900);box-shadow:none;color:#fff}.header-actions .btn-primary{justify-content:center;width:100%}.calendar-day{min-height:80px;padding:4px}.calendar-appointment{font-size:10px;padding:2px 4px}.calendar-grid{gap:2px}.calendar-day-header{font-size:10px;padding:6px 2px}.day-number{font-size:12px}.form-row{grid-template-columns:1fr}.cell-with-badge{align-items:flex-start;flex-direction:column;gap:4px}}@keyframes slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-appointment{animation:slide-in .3s ease}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:#f9fbff;transform:scale(1.005)}.btn-primary:disabled{background:#c6c8d1;cursor:not-allowed}.btn-primary:disabled,.btn-primary:disabled:hover{box-shadow:none;transform:none}.actions-cell{align-items:center;display:flex;gap:8px}.btn-action{border:none;font-weight:600;padding:6px 12px;transition:all .2s ease}.btn-start{background:var(--accent);color:#fff}.btn-start:hover{box-shadow:0 4px 12px #4f8ef74d;transform:translateY(-1px)}.btn-continue{background:var(--warning-bg);color:var(--warning-text)}.btn-continue:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-action.btn-view{background:var(--info-bg);color:var(--info-text)}.btn-action.btn-view:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.badge-in-progress{background:var(--warning-bg);color:var(--warning-text)}.consultation-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:95%}.consultation-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.patient-info-header h2{margin:0 0 8px}.patient-details{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.patient-name{color:#1f2937;font-size:16px;font-weight:600}.patient-id{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:13px;padding:2px 8px}.close-btn{color:#9ca3af;transition:color .2s}.close-btn:hover{color:#374151}.consultation-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:20px;padding-bottom:0}.tab-btn{padding:10px 20px;transition:all .2s ease}.consultation-body{flex:1 1;overflow-y:auto;padding:4px 0}.files-tab,.notes-tab,.prescriptions-tab,.vitals-tab{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vitals-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.file-upload-section{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.upload-btn{white-space:nowrap}.file-hint{color:#6b7280;font-size:12px}.files-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.file-item:hover{border-color:#040456;box-shadow:0 2px 8px #1c1c4c1a}.file-info{align-items:center;display:flex;gap:12px}.file-icon{font-size:24px}.file-details{display:flex;flex-direction:column}.file-name{color:#1f2937;font-weight:500}.file-meta{color:#6b7280;font-size:12px}.btn-download{background:linear-gradient(135deg,#040456,#1c1c4c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.btn-download:hover{box-shadow:0 4px 12px #1c1c4c4d;transform:translateY(-1px)}.no-files,.no-prescriptions{background:#f9fafb;border-radius:8px;color:#6b7280;padding:40px 20px;text-align:center}.create-prescription-btn{margin-bottom:20px}.prescriptions-list{gap:12px}.prescription-card{background:#fff;transition:all .2s}.prescription-card:hover{border-color:#040456;box-shadow:0 4px 12px #00000014}.rx-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.rx-number{color:#1f2937;font-size:16px;font-weight:700}.rx-status{border-radius:20px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.status-active{color:#1e40af}.status-pending-payment{background:#fef3c7;color:#92400e}.status-ready-for-dispensing{background:#e0e7ff;color:#1c1c4c}.status-dispensed{background:#e5e7eb;color:#374151}.rx-medicines{gap:8px;margin-bottom:12px}.rx-medicine,.rx-medicines{display:flex;flex-direction:column}.rx-medicine{background:#f9fafb;border-radius:6px;padding:8px 12px}.med-name{color:#1f2937;font-weight:500}.med-dosage{color:#6b7280;font-size:12px}.rx-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-top:12px}.rx-total{color:#040456;font-weight:700}.rx-date{color:#6b7280;font-size:12px}.consultation-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.btn-complete{background:var(--accent)}.btn-complete:hover{box-shadow:0 4px 16px #1c1c4c4d}.prescription-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.prescription-patient{background:#e0e7ff;border-radius:8px;color:#040456;margin-bottom:20px;padding:12px 16px}.add-medicine-section{background:#f9fafb;border-radius:12px;margin-bottom:24px;padding:20px}.add-medicine-section h4{color:#374151;margin:0 0 16px}.medicine-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}.btn-add-med{width:100%}.medicines-list{margin-bottom:20px}.medicines-list h4{color:#374151;margin:0 0 12px}.medicines-table td,.medicines-table th{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left}.medicines-table tbody tr:hover{background:#e0e7ff}.medicines-table tfoot td{background:#e0e7ff;border-top:2px solid #040456;font-weight:700}.btn-remove{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#991b1b;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;transition:all .2s;width:24px}.btn-remove:hover{background:#fecaca;transform:scale(1.1)}@media (max-width:768px){.consultation-modal,.prescription-modal{margin:10px;max-height:95vh;max-width:100%}.consultation-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{padding:10px 12px;white-space:nowrap}.vitals-grid{grid-template-columns:1fr 1fr}.medicine-form-grid{grid-template-columns:1fr}.file-upload-section{flex-direction:column;text-align:center}.actions-cell{flex-direction:column;gap:4px}.btn-action{text-align:center;width:100%}}.beds-page{display:flex;flex-direction:column;gap:24px}.page-subtitle{color:#6b7280;font-size:14px;margin-top:4px}.beds-header-actions{align-items:center;display:flex;gap:10px}.beds-header-actions .btn-primary,.beds-header-actions .btn-secondary{align-items:center;display:flex;gap:6px;padding:10px 18px}.beds-header-actions svg{height:16px;width:16px}.beds-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.beds-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.beds-stats-grid{grid-template-columns:1fr}}.beds-stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;display:flex;gap:16px;padding:20px 24px}.beds-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.beds-stat-icon svg{height:24px;width:24px}.beds-stat-total .beds-stat-icon{background:#f0fdfa;color:#040456}.beds-stat-occupied .beds-stat-icon{background:#eff6ff;color:#3b82f6}.beds-stat-available .beds-stat-icon{background:#f0fdf4;color:#16a34a}.beds-stat-maintenance .beds-stat-icon{background:#fff7ed;color:#ea580c}.beds-stat-value{color:#111827;font-size:26px;font-weight:700;line-height:1}.beds-stat-label{color:#6b7280;font-size:13px;margin-top:4px}.beds-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;overflow:hidden}.beds-section-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:18px 24px}.beds-section-header h2{color:#111827;font-size:16px;font-weight:700;margin:0}.beds-section-sub{color:#9ca3af;font-size:13px}.wards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);padding:20px 24px}@media (max-width:900px){.wards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.wards-grid{grid-template-columns:1fr}}.ward-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:box-shadow .2s}.ward-card:hover{box-shadow:0 2px 8px #00000014}.ward-card-high{background:#fff7ed;border-color:#fed7aa}.ward-card-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.ward-name{color:#111827;flex:1 1;font-size:14px;font-weight:600}.ward-floor{background:#f3f4f6;border-radius:20px;color:#9ca3af;font-size:11px;padding:2px 8px}.ward-alert-icon{color:#ea580c}.ward-alert-icon svg{height:16px;width:16px}.ward-progress-label{color:#6b7280;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.rate-high{color:#ea580c;font-weight:600}.ward-progress-bar{background:#e5e7eb;border-radius:999px;height:8px;margin-bottom:8px;overflow:hidden}.ward-progress-fill{background:linear-gradient(90deg,#040456,#1c1c4c);border-radius:999px;height:100%;transition:width .4s ease}.ward-progress-fill.fill-high{background:linear-gradient(90deg,#dc2626,#ea580c)}.ward-progress-footer{color:#9ca3af;display:flex;font-size:11px;justify-content:space-between}.beds-filters-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.beds-filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.beds-search-wrap{flex:1 1;min-width:200px;position:relative}.beds-search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.beds-search-icon svg{height:16px;width:16px}.beds-search-input{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#374151;font-size:14px;outline:none;padding:10px 12px 10px 38px;transition:border-color .2s;width:100%}.beds-search-input:focus{border-color:#040456}.beds-filter-chips,.beds-ward-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:500;padding:5px 14px;transition:all .15s}.chip-active,.chip:hover{border-color:#040456;color:#040456}.chip-active{background:#f0fdfa}.chip-available.chip-active-available{background:#f0fdf4;border-color:#16a34a;color:#16a34a}.chip-occupied.chip-active-occupied{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.chip-maintenance.chip-active-maintenance{background:#fff7ed;border-color:#ea580c;color:#ea580c}.chip-reserved.chip-active-reserved{background:#f5f3ff;border-color:#8b5cf6;color:#8b5cf6}.beds-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:20px 24px}@media (max-width:1100px){.beds-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:780px){.beds-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.beds-grid{grid-template-columns:1fr}}.bed-card{border:1.5px solid;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:box-shadow .2s,transform .2s}.bed-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.bed-status-available{background:#f0fdf4;border-color:#86efac;color:#166534}.bed-status-occupied{background:#eff6ff;border-color:#93c5fd;color:#1e3a5f}.bed-status-maintenance{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.bed-status-reserved{background:#f5f3ff;border-color:#c4b5fd;color:#4c1d95}.bed-card-top{align-items:center;display:flex;justify-content:space-between}.bed-number{font-family:monospace;font-size:14px;font-weight:700}.bed-status-badge{background:#fff9;border:1px solid #00000014;border-radius:20px;font-size:11px;font-weight:600;padding:2px 10px;text-transform:capitalize}.bed-ward-name{font-size:11px;opacity:.7}.bed-patient-info{border-top:1px solid #0000001a;display:flex;flex:1 1;flex-direction:column;gap:3px;padding-top:10px}.bed-patient-name{font-size:13px;font-weight:600}.bed-patient-sub{font-size:11px;opacity:.75}.bed-condition-tag{background:#fff6;border:1px solid #0000001a;border-radius:20px;display:inline-block;font-size:11px;font-weight:500;margin-top:6px;padding:2px 10px;width:-webkit-fit-content;width:fit-content}.bed-empty-body{align-items:center;border-top:1px solid #00000014;display:flex;flex:1 1;justify-content:center;opacity:.2;padding-top:12px}.bed-empty-body svg{height:32px;width:32px}.bed-card-actions{border-top:1px solid #00000014;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:10px}.bed-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:5px 8px;transition:opacity .15s;white-space:nowrap}.bed-btn:hover{opacity:.85}.bed-btn-admit{background:#040456;color:#fff}.bed-btn-discharge{background:#3b82f6;color:#fff}.bed-btn-status{background:#0000001a;color:inherit}.bed-btn-delete{background:#fee2e2;color:#991b1b}.beds-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 24px}.beds-empty svg{height:48px;opacity:.3;width:48px}.beds-empty p{font-size:15px}.modal-wide{max-width:600px!important}.modal-narrow{max-width:420px!important}.modal-bed-id{color:#040456}.modal-sub{color:#6b7280;font-size:13px;margin:-10px 0 16px}.modal-confirm-body{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.modal-confirm-body p{color:#374151;margin:4px 0}.form-row-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:520px){.form-row-2{grid-template-columns:1fr}}.btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.invoice-head-strip{align-items:center;background:#fafafe;border-bottom:1px solid #ececf5;display:flex;justify-content:space-between;padding:14px 16px}.invoice-strip-label{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.invoice-strip-meta{color:var(--text-primary);font-size:13px}.view-toggle{background:#b8b3b3;border-radius:10px;display:flex;gap:4px;padding:4px}.toggle-btn{align-items:center;background:#0000;border-radius:8px;color:#111827;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.toggle-btn:hover{background:#ffffff80}.toggle-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#040456}.prescriptions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.prescription-card-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.prescription-card-item:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.prescription-card-item.active{border-left:4px solid #3b82f6}.prescription-card-item.completed{border-left:4px solid #1c1c4c}.prescription-card-item.cancelled{border-left:4px solid #6b7280;opacity:.8}.prescription-card-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px}.prescription-date-badge{display:flex;flex-direction:column}.prescription-day{color:#040456;font-size:24px;font-weight:700;line-height:1}.prescription-month{color:#6b7280;font-size:12px}.prescription-status-badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.prescription-card-body{padding:16px}.prescription-doctor-info{align-items:center;display:flex;gap:12px;margin-bottom:16px}.doctor-icon{font-size:24px}.prescription-doctor-info div{display:flex;flex-direction:column}.prescription-doctor-info strong{color:#1f2937}.prescription-doctor-info span{color:#6b7280;font-size:13px}.prescription-diagnosis-box{background:#dbeafe;border-radius:8px;color:#1e40af;font-size:14px;margin-bottom:16px;padding:12px}.prescription-medicines-preview ul{margin:8px 0 0 16px;padding:0}.prescription-medicines-preview li{color:#374151;font-size:14px;margin-bottom:4px}.more-medicines{color:#6b7280;font-style:italic}.prescription-card-footer{text-align:center}.view-details-btn{background:none;border:none;border-radius:6px;color:#040456;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .2s}.view-details-btn:hover{background:#f0fdfa}.no-prescriptions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.no-prescriptions-icon{font-size:64px;margin-bottom:16px}.no-prescriptions h3{color:#374151;margin-bottom:8px}.no-prescriptions p{color:#6b7280}.prescription-detail-modal{max-height:80vh;max-width:600px;overflow-y:auto}.modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{color:#1f2937;font-size:18px;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:0}.close-btn:hover{color:#1f2937}.prescription-detail-content{padding:20px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{border-bottom:1px solid #e5e7eb;color:#040456;margin-bottom:12px;padding-bottom:8px}.detail-row{border-bottom:1px dashed #e5e7eb;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500}.diagnosis-text{background:#dbeafe;color:#1e40af}.diagnosis-text,.notes-text{border-radius:8px;margin:0;padding:12px}.notes-text{background:#f3f4f6;color:#374151;font-style:italic}.medicines-detail-list{display:flex;flex-direction:column;gap:16px}.medicine-detail-item{background:#f9fafb;border-left:4px solid #040456;border-radius:8px;padding:16px}.medicine-name{margin-bottom:12px}.medicine-name strong{color:#1f2937;font-size:16px}.medicine-brand{color:#6b7280;font-size:14px;margin-left:8px}.medicine-info-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.medicine-info{display:flex;flex-direction:column}.medicine-info .info-label{color:#6b7280;font-size:12px;text-transform:uppercase}.medicine-info span:not(.info-label){color:#1f2937;font-weight:500}.medicine-instructions{border-top:1px dashed #e5e7eb;margin-top:12px;padding-top:12px}.medicine-instructions .info-label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px;text-transform:uppercase}.medicine-instructions p{color:#374151;font-size:14px;margin:0}.status-completed{background:#d1fae5}.prescription-number{font-size:13px}.prescription-number,.rx-number{color:#040456;font-family:monospace;font-weight:600}.prescription-cost{align-items:center;background:#f0fdfa;border-radius:8px;display:flex;justify-content:space-between;margin-top:16px;padding:12px}.prescription-cost span{color:#6b7280}.cost-value,.prescription-cost strong{color:#040456;font-size:18px}.cost-value{font-weight:700}.cost-cell{color:#040456;font-weight:600}.cost-highlight{color:#040456;font-size:16px;font-weight:700}.prescription-payment-status{align-items:center;border-top:1px dashed #e5e7eb;display:flex;gap:12px;margin-top:12px;padding-top:12px}.payment-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.invoice-number{color:#6b7280;font-size:12px}.prescription-card-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.prescription-date{font-size:12px}.status-badge-inline{font-size:12px}.status-badge,.status-badge-inline{border-radius:12px;display:inline-block;font-weight:600;padding:4px 12px}.status-badge{font-size:11px;white-space:nowrap}.filter-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:8px;padding:4px}.filter-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.filter-tab:hover{background:#ffffff80;color:#374151}.filter-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#040456}.medicines-cell{font-size:12px}.medicine-mini{color:#374151;margin-bottom:4px}.medicine-more{color:#6b7280;font-style:italic}.invoice-cell{display:flex;flex-direction:column;gap:4px}.invoice-number-small{color:#6b7280;font-family:monospace;font-size:11px}.invoice-status{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;padding:2px 8px}.action-buttons{display:flex;gap:6px}.btn-action{border:1px solid;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s}.btn-action.view{background:#f0fdfa;border-color:#99f6e4;color:#040456}.btn-action.view:hover{background:#ccfbf1}.btn-action.download{background:#f3f4f6;border-color:#d1d5db;color:#374151}.btn-action.download:hover{background:#e5e7eb}.btn-action.dispense{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.btn-action.dispense:hover{background:#a7f3d0}.detail-grid-2col{grid-gap:16px;background:#f9fafb;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .detail-label{color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase}.detail-item .detail-value{color:#1f2937;font-size:14px}.detail-item .detail-value small{color:#6b7280;font-weight:400}.medicine-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.medicine-price{color:#040456;font-size:15px;font-weight:600}.medicines-table{border-collapse:collapse;font-size:13px;width:100%}.medicines-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left}.medicines-table td{border-bottom:1px solid #e5e7eb;padding:12px;vertical-align:top}.medicines-table td strong{color:#1f2937;display:block}.medicines-table td small{display:block;font-size:11px;margin-top:4px}.stock-warning{color:#dc2626}.stock-ok{color:#1c1c4c}.medicines-table tfoot td{background:#f0fdfa;font-weight:600}.total-label{color:#374151;text-align:right}.total-value{color:#040456;font-size:16px}.dispense-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px}.payment-warning{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;display:flex;gap:16px;padding:16px}.warning-icon{font-size:24px}.payment-warning strong{color:#92400e;display:block;margin-bottom:8px}.payment-warning p{color:#78350f;font-size:14px;margin:4px 0}.dispense-confirmation{background:#f0fdfa;border-radius:8px;margin-top:16px;padding:16px}.dispense-confirmation p{color:#374151;font-weight:500;margin:0 0 12px}.dispense-confirmation ul{color:#6b7280;margin:0;padding-left:20px}.dispense-confirmation li{margin-bottom:4px}.prescription-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.dispense-btn{background:linear-gradient(135deg,#1c1c4c,#040456)}.dispense-btn:hover{background:linear-gradient(135deg,#040456,#1c1c4c)}@media (max-width:768px){.medicine-info-grid,.prescriptions-grid{grid-template-columns:1fr}.filter-tabs{flex-wrap:wrap}.detail-grid-2col{grid-template-columns:1fr}.action-buttons{flex-direction:column}.prescription-detail-modal{max-width:95%}.medicines-table{font-size:12px}.medicines-table td,.medicines-table th{padding:8px}}.my-profile-page{margin:0 auto;max-width:1200px;padding:20px}.profile-header{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);border-radius:16px;color:#fff;display:flex;gap:24px;margin-bottom:24px;padding:30px}.profile-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.profile-info h1{font-size:28px;margin:0}.profile-info .patient-id{font-size:16px;margin:4px 0;opacity:.9}.profile-info .member-since{font-size:14px;margin:0;opacity:.7}.profile-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;text-align:center}.stat-box .stat-number{color:#040456;display:block;font-size:28px;font-weight:700}.stat-box .stat-label{color:#6b7280;display:block;font-size:13px;margin-top:4px}.profile-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:#040456}.tab-btn.active{border-bottom-color:#040456;color:#040456}.tab-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.info-section{margin-bottom:32px}.info-section:last-child{margin-bottom:0}.info-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:18px;margin-bottom:16px;padding-bottom:8px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#1f2937;font-size:15px}.info-item .blood-group{background:#fee2e2;border-radius:20px;color:#dc2626;display:inline-block;font-weight:500;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.no-data-text{color:#9ca3af;font-style:italic}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{background:#e0e7ff;border-left:4px solid #040456;border-radius:8px;gap:16px;padding:12px}.upcoming-date,.upcoming-item{align-items:center;display:flex}.upcoming-date{flex-direction:column;min-width:50px}.upcoming-date .day{color:#040456;font-size:24px;font-weight:700}.upcoming-date .month{color:#6b7280;font-size:12px;text-transform:uppercase}.upcoming-details strong{color:#1f2937;display:block}.upcoming-details span{color:#6b7280;font-size:13px}.appointment-section{margin-bottom:32px}.appointment-section h3{color:#1f2937;font-size:18px;margin-bottom:16px}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-card{align-items:center;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:20px;padding:16px;transition:transform .2s,box-shadow .2s}.appointment-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.appointment-card.upcoming{background:#e0e7ff;border-color:#040456}.appointment-card.past{background:#f9fafb}.apt-date{align-items:center;background:#fff;border-radius:8px;display:flex;flex-direction:column;min-width:60px;padding:8px}.apt-day{color:#040456;font-size:28px;font-weight:700}.apt-month{color:#6b7280;font-size:11px;text-transform:uppercase}.apt-info{flex:1 1}.apt-info h4{color:#1f2937;margin:0 0 4px}.apt-info p{color:#6b7280;font-size:13px;margin:0}.apt-time{color:#374151!important;font-weight:500}.apt-reason{font-style:italic;margin-top:8px!important}.apt-status{border-radius:20px;font-size:12px;font-weight:500;padding:6px 16px}.medical-section{margin-bottom:32px}.medical-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:18px;margin-bottom:16px;padding-bottom:8px}.medical-history-list{display:flex;flex-direction:column;gap:16px}.medical-history-item{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:12px;display:flex;gap:16px;padding:16px}.condition-icon{align-items:center;background:#f59e0b;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.condition-details h4{color:#92400e;margin:0 0 4px}.diagnosis-date{color:#b45309;font-size:13px;margin:0}.condition-notes{color:#78350f;font-size:14px;margin-top:8px}.allergies-list{display:flex;flex-wrap:wrap;gap:8px}.allergy-tag{background:#fee2e2;border-radius:20px;color:#dc2626;font-size:14px;font-weight:500;padding:6px 16px}.prescriptions-list{display:flex;flex-direction:column;gap:16px}.prescription-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.prescription-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.prescription-date{color:#6b7280;font-size:14px}.prescription-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.prescription-doctor{margin-bottom:12px}.prescription-doctor strong{color:#1f2937;display:block}.prescription-doctor span{color:#6b7280;font-size:13px}.prescription-diagnosis{background:#dbeafe;border-radius:8px;font-size:14px;margin-bottom:12px;padding:8px 12px}.prescription-medicines{margin-bottom:12px}.prescription-medicines ul{margin:8px 0 0 20px;padding:0}.prescription-medicines li{color:#374151;font-size:14px;margin-bottom:4px}.prescription-notes{background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:14px;margin-top:8px;padding:8px 12px}.billing-summary{grid-gap:16px;background:#e0e7ff;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px;padding:20px}.billing-stat{text-align:center}.billing-label{color:#6b7280;display:block;font-size:13px;margin-bottom:4px}.billing-value{color:#1f2937;font-size:24px;font-weight:700}.billing-value.paid{color:#040456}.billing-value.outstanding{color:#ef4444}.billing-section{margin-bottom:32px}.billing-section h3{color:#1f2937;font-size:18px;margin-bottom:16px}.invoices-list{display:flex;flex-direction:column;gap:16px}.invoice-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px}.invoice-card.overdue,.invoice-card.pending{background:#fef3c7;border-color:#f59e0b}.invoice-card.paid{background:#dbeafe;border-color:#1c1c4c}.invoice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.invoice-number{color:#1f2937;font-size:16px;font-weight:700}.invoice-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.invoice-details{display:flex;flex-direction:column;gap:8px}.invoice-row{display:flex;font-size:14px;justify-content:space-between}.invoice-row.balance{border-top:1px dashed #e5e7eb;color:#ef4444;font-weight:700;padding-top:8px}.invoice-items{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.invoice-items ul{margin:8px 0 0 20px;padding:0}.invoice-items li{color:#6b7280;font-size:13px}.status-scheduled{background:#dbeafe;color:#1d4ed8}.status-completed{background:#dbeafe;color:#1c1c4c}.status-cancelled{background:#f3f4f6;color:#6b7280}.status-no-show{background:#fee2e2;color:#dc2626}.status-active{background:#dbeafe;color:#1d4ed8}.status-paid{background:#dbeafe;color:#1c1c4c}.status-pending{background:#fef3c7;color:#b45309}.status-overdue{background:#fee2e2;color:#dc2626}.no-profile-message{padding:60px 20px;text-align:center}.no-profile-message h2{color:#6b7280;margin-bottom:12px}.no-profile-message p{color:#9ca3af}@media (max-width:768px){.profile-header{flex-direction:column;text-align:center}.profile-tabs{flex-wrap:nowrap}.tab-btn{font-size:13px;padding:10px 16px}.appointment-card{align-items:flex-start;flex-direction:column}.apt-date{flex-direction:row;gap:8px}.apt-day{font-size:20px}}.access-denied{background:#fee2e2;border-radius:12px;color:#991b1b;padding:60px 20px;text-align:center}.access-denied h2{margin-bottom:10px}.log-count{background:#e5e7eb;border-radius:20px;color:#6b7280;font-size:13px;margin-left:12px;padding:4px 12px}.export-btn{align-items:center;display:flex;gap:8px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;gap:16px;padding:20px}.stat-card,.stat-icon{align-items:center;display:flex;justify-content:center}.stat-icon{background:#0000;height:50px;width:50px}.stat-icon.total{color:#1e40af}.stat-icon.today{color:#065f46}.stat-icon.actions{color:#92400e}.stat-content{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-value{color:#1f2937;font-size:24px;font-weight:700}.stat-label{color:#6b7280;font-size:13px}.filters-section{background:#f9fafb;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:140px;padding:8px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d94881a;outline:none}.search-group{flex:1 1;min-width:200px}.search-group input{width:100%}.audit-table .timestamp{color:#6b7280;font-size:13px;white-space:nowrap}.role-tag{border-radius:12px;color:#fff;padding:3px 10px}.action-badge,.role-tag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase}.action-badge{border-radius:6px;padding:4px 10px;white-space:nowrap}.resource-type{color:#374151;display:block;font-weight:600}.resource-name{color:#6b7280;display:block;font-size:12px;margin-top:2px}.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-view{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;padding:4px 12px;transition:all .2s}.btn-view:hover{background:#e5e7eb}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px;padding:16px}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 16px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#6b7280;font-size:14px}.detail-modal{max-width:700px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-row.full-width{grid-column:1/-1}.detail-label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.detail-value{color:#1f2937;font-size:14px}.json-display{background:#1f2937;border-radius:8px;color:#e5e7eb;font-size:12px;max-height:200px;overflow-x:auto;overflow-y:auto;padding:12px}@media (max-width:768px){.filters-section{flex-direction:column}.filter-group,.filter-group input,.filter-group select{width:100%}.detail-grid,.stats-grid{grid-template-columns:1fr}.audit-table{font-size:13px}.description{max-width:150px}}.layout{height:100vh}.layout,.sidebar{display:flex;overflow:hidden}.sidebar{background:linear-gradient(175deg,var(--navy-900) 0,var(--navy-700) 100%);box-shadow:2px 0 10px #0000001a;color:#fff;flex-direction:column;position:relative;transition:width .3s ease;width:230px}.sidebar:after,.sidebar:before{content:"";inset:0;pointer-events:none;position:absolute}.sidebar:before{background:radial-gradient(140% 80% at -10% 12%,#0000 62%,#ffffff14 63%,#0000 64%) 0 0 /240px 110px repeat-y,radial-gradient(140% 80% at -10% 42%,#0000 62%,#ffffff0f 63%,#0000 64%) 0 0 /280px 130px repeat-y;opacity:.34}.sidebar:after{background:radial-gradient(140% 80% at 110% 28%,#0000 63%,#ffffff0f 64%,#0000 65%) 100% 0 /260px 120px repeat-y;opacity:.28}.sidebar>*{position:relative;z-index:1}.sidebar.closed{width:60px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:16px 14px}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{gap:12px}.sidebar-logo-img{height:40px;max-width:120px;object-fit:contain;width:auto}.sidebar-header h2{font-size:18px;font-weight:600;margin:0;overflow:hidden;white-space:nowrap}.toggle-btn{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:12px 0}.nav-group.group-spaced{margin-top:16px}.nav-group-head{align-items:center;background:#0000;border:none;color:var(--navy-300);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:10px;justify-content:space-between;letter-spacing:.08em;padding:0 14px 8px;text-transform:uppercase;width:100%}.nav-group-caret{font-size:11px;opacity:.85}.nav-item{align-items:center;border-left:3px solid #0000;color:#ffffffe6;display:flex;padding:11px 14px;text-decoration:none;transition:all .15s ease}.nav-item:hover{background:#ffffff14;border-left-color:var(--accent)}.nav-item.active{background:#ffffff1f;border-left-color:var(--accent);font-weight:600}.nav-icon{font-size:20px;margin-right:12px;min-width:24px;position:relative}.nav-icon-svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:20px;width:20px}.nav-label{font-size:13px;overflow:hidden;white-space:nowrap}.nav-badge{background:#040456;border:2px solid #ffffff40;border-radius:999px;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:2px 7px;position:absolute;right:-10px;top:-8px}.sidebar.closed .nav-label{display:none}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.sidebar.closed .sidebar-footer{display:none}.user-info{margin-bottom:10px}.user-name{display:block;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{display:block;font-size:12px;opacity:.8;text-transform:capitalize}.logout-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px;transition:all .3s ease;width:100%}.logout-btn:hover{background:#ffffff4d}.main-content{background:var(--canvas-bg);display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.sidebar-open-fab{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);border:none;border-radius:50%;box-shadow:0 4px 14px #04045659;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;left:1rem;padding:0;position:fixed;top:1rem;transition:transform .2s ease,box-shadow .2s ease;width:48px;z-index:1001}.sidebar-open-fab:hover{box-shadow:0 6px 18px #04045673;transform:scale(1.06)}.sidebar-open-fab:active{transform:scale(.98)}@media (min-width:769px){.sidebar-open-fab{left:calc(70px + .75rem)}}.content-wrapper{flex:1 1;margin:0 auto;max-width:1400px;overflow-y:auto;padding:28px;width:100%}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;height:56px;justify-content:space-between;min-height:56px;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar-title{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:28px;font-weight:500}.topbar-right{align-items:center;display:flex;gap:14px}.topbar-date{color:var(--text-muted);font-size:13px}.topbar-notif-wrap{position:relative}.topbar-notif-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.topbar-notif-btn .nav-icon-svg{height:18px;width:18px}.topbar-notif-badge{background:#ef4444;border:2px solid #fff;border-radius:999px;color:#fff;font-family:DM Mono,monospace;font-size:10px;line-height:1;padding:3px 6px;position:absolute;right:-7px;top:-7px}.topbar-notif-backdrop{background:#0000;border:none;inset:0;position:fixed;z-index:60}.topbar-notif-panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px #0404561f;max-height:360px;overflow-y:auto;position:absolute;right:0;top:42px;width:320px;z-index:70}.topbar-notif-title{border-bottom:1px solid var(--border);font-weight:600;padding:12px 14px}.topbar-notif-item{border-bottom:1px solid #ececf5;padding:12px 14px}.topbar-notif-text{color:var(--text-primary);font-size:13px;margin-bottom:4px}.topbar-notif-time{color:var(--text-muted);font-size:11px}.topbar-notif-empty{color:var(--text-muted);font-size:13px;padding:14px}.topbar-profile-btn{align-items:center;background:var(--navy-900);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;text-decoration:none;transition:background .15s ease,transform .15s ease;width:36px}.topbar-profile-btn:hover{background:var(--navy-700);transform:translateY(-1px)}.topbar-profile-initials{font-family:DM Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1}.mobile-page-header .topbar-profile-btn.mobile-icon-btn{background:#ffffff26;border:1px solid #ffffff40;border-radius:50%;color:#fff}.mobile-page-header .topbar-profile-btn.mobile-icon-btn:hover{background:#ffffff40}@media (max-width:768px){.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:1000}.sidebar.open{transform:translateX(0)}.main-content{width:100%}.topbar{padding:0 14px}.topbar-title{font-size:22px}.topbar-date{display:none}}
/*# sourceMappingURL=main.3a209e24.css.map*/