@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,60%,80%{transform:scale(1.1)}50%,70%{transform:scale(1.05)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes skeleton{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--primary-500),0 0 10px var(--primary-500),0 0 15px var(--primary-500)}50%{box-shadow:0 0 10px var(--primary-500),0 0 20px var(--primary-500),0 0 30px var(--primary-500)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #39c94c80}50%{box-shadow:0 0 20px #39c94ccc,0 0 30px #39c94c99}}@keyframes flipIn{0%{transform:perspective(400px) rotateY(90deg);opacity:0}to{transform:perspective(400px) rotateY(0);opacity:1}}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes elastic{0%{transform:scale(1)}30%{transform:scale(1.25)}40%{transform:scale(.75)}50%{transform:scale(1.15)}65%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes jello{0%,11.1%,to{transform:none}22.2%{transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{transform:skew(6.25deg) skewY(6.25deg)}44.4%{transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{transform:skew(.390625deg) skewY(.390625deg)}88.8%{transform:skew(-.1953125deg) skewY(-.1953125deg)}}.animate-fade-in{animation:fadeIn .3s ease-in-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-fade-in-down{animation:fadeInDown .4s ease-out}.animate-fade-in-left{animation:fadeInLeft .4s ease-out}.animate-fade-in-right{animation:fadeInRight .4s ease-out}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-bounce-in{animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55)}.animate-slide-in-right{animation:slideInRight .4s ease-out}.animate-slide-in-left{animation:slideInLeft .4s ease-out}.animate-rotate-in{animation:rotateIn .5s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-shake{animation:shake .5s}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-elastic{animation:elastic .6s}.animate-jello{animation:jello .9s}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.hover-lift{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #39c94c99}.hover-brighten{transition:filter .3s ease}.hover-brighten:hover{filter:brightness(1.1)}.skeleton-loader{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-300) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.loading-spinner{width:20px;height:20px;border:3px solid var(--gray-300);border-top-color:var(--primary-500);border-radius:50%;animation:rotate .8s linear infinite}.loading-dots:after{content:"...";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}html{scroll-behavior:smooth}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.glass-dark{background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animated{background:linear-gradient(-45deg,var(--primary-500),var(--secondary-500),var(--primary-600),var(--secondary-600));background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.floating{animation:float 3s ease-in-out infinite}@keyframes successCheck{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.success-checkmark{stroke-dasharray:100;stroke-dashoffset:100;animation:successCheck .6s ease-in-out forwards}@keyframes notificationSlideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-enter{animation:notificationSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalFoldIn{0%{opacity:0;transform:perspective(2500px) translate(100%,50%) rotateY(120deg) scaleX(.05);transform-origin:right center;clip-path:polygon(95% 0%,100% 0%,100% 100%,95% 100%);box-shadow:-20px 0 40px #0006}10%{opacity:.2;transform:perspective(2500px) translate(85%,45%) rotateY(105deg) scaleX(.1);transform-origin:right center;clip-path:polygon(85% 0%,100% 0%,100% 100%,85% 100%);box-shadow:-30px 0 50px #0006}25%{opacity:.4;transform:perspective(2500px) translate(65%,35%) rotateY(85deg) scaleX(.25);transform-origin:right center;clip-path:polygon(70% 0%,100% 0%,100% 100%,70% 100%);box-shadow:-40px 0 60px #00000059}40%{opacity:.6;transform:perspective(2500px) translate(45%,25%) rotateY(65deg) scaleX(.45);transform-origin:right center;clip-path:polygon(50% 0%,100% 0%,100% 100%,50% 100%);box-shadow:-35px 0 55px #0000004d}55%{opacity:.75;transform:perspective(2500px) translate(28%,15%) rotateY(45deg) scaleX(.65);transform-origin:right center;clip-path:polygon(30% 0%,100% 0%,100% 100%,30% 100%);box-shadow:-25px 0 45px #00000040}70%{opacity:.85;transform:perspective(2500px) translate(15%,8%) rotateY(25deg) scaleX(.82);transform-origin:center center;clip-path:polygon(10% 0%,100% 0%,100% 100%,10% 100%);box-shadow:-15px 0 35px #0003}85%{opacity:.95;transform:perspective(2500px) translate(5%,3%) rotateY(10deg) scaleX(.93);transform-origin:center center;clip-path:polygon(2% 0%,100% 0%,100% 100%,2% 100%);box-shadow:-8px 0 25px #00000026}to{opacity:1;transform:perspective(2500px) translate(0) rotateY(0) scaleX(1);transform-origin:center center;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);box-shadow:0 20px 60px #0000004d}}@keyframes modalFoldOut{0%{opacity:1;transform:perspective(2500px) translate(0) rotateY(0) scaleX(1);transform-origin:center center;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);box-shadow:0 20px 60px #0000004d}15%{opacity:.95;transform:perspective(2500px) translate(5%,3%) rotateY(10deg) scaleX(.93);transform-origin:center center;clip-path:polygon(2% 0%,100% 0%,100% 100%,2% 100%);box-shadow:-8px 0 25px #00000026}30%{opacity:.85;transform:perspective(2500px) translate(15%,8%) rotateY(25deg) scaleX(.82);transform-origin:center center;clip-path:polygon(10% 0%,100% 0%,100% 100%,10% 100%);box-shadow:-15px 0 35px #0003}45%{opacity:.75;transform:perspective(2500px) translate(28%,15%) rotateY(45deg) scaleX(.65);transform-origin:right center;clip-path:polygon(30% 0%,100% 0%,100% 100%,30% 100%);box-shadow:-25px 0 45px #00000040}60%{opacity:.6;transform:perspective(2500px) translate(45%,25%) rotateY(65deg) scaleX(.45);transform-origin:right center;clip-path:polygon(50% 0%,100% 0%,100% 100%,50% 100%);box-shadow:-35px 0 55px #0000004d}75%{opacity:.4;transform:perspective(2500px) translate(65%,35%) rotateY(85deg) scaleX(.25);transform-origin:right center;clip-path:polygon(70% 0%,100% 0%,100% 100%,70% 100%);box-shadow:-40px 0 60px #00000059}90%{opacity:.2;transform:perspective(2500px) translate(85%,45%) rotateY(105deg) scaleX(.1);transform-origin:right center;clip-path:polygon(85% 0%,100% 0%,100% 100%,85% 100%);box-shadow:-30px 0 50px #0006}to{opacity:0;transform:perspective(2500px) translate(100%,50%) rotateY(120deg) scaleX(.05);transform-origin:right center;clip-path:polygon(95% 0%,100% 0%,100% 100%,95% 100%);box-shadow:-20px 0 40px #0006}}.modal-fold-in{animation:modalFoldIn 1.2s cubic-bezier(.16,1,.3,1)}.modal-fold-out{animation:modalFoldOut .9s cubic-bezier(.55,.085,.68,.53) forwards}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease-in-out;position:relative;white-space:nowrap;height:40px;padding:0 var(--spacing-lg);font-size:var(--font-size-sm)}.btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{height:32px;padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn-md{height:40px;padding:0 var(--spacing-lg);font-size:var(--font-size-base)}.btn-lg{height:48px;padding:0 var(--spacing-xl);font-size:var(--font-size-lg)}.btn-primary{background-color:var(--primary-500);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--primary-600)}.btn-primary:active:not(:disabled){background-color:var(--primary-700);transform:scale(.98)}.btn-secondary{background-color:var(--secondary-500);color:var(--text-on-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-600)}.btn-secondary:active:not(:disabled){background-color:var(--secondary-700);transform:scale(.98)}.btn-outline{background-color:transparent;border:2px solid var(--primary-500);color:var(--primary-500)}.btn-outline:hover:not(:disabled){background-color:var(--primary-50)}.btn-outline:active:not(:disabled){background-color:var(--primary-100)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100)}.btn-ghost:active:not(:disabled){background-color:var(--gray-200)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--error-dark)}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-full-width{width:100%}.btn-loading{color:transparent;pointer-events:none}.btn-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.spinner{width:20px;height:20px;animation:spin .8s linear infinite}.spinner-circle{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:50;stroke-dashoffset:25;animation:dash 1.5s ease-in-out infinite}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.btn-icon-left,.btn-icon-right{display:flex;align-items:center;justify-content:center}.btn-content{display:flex;align-items:center}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-full-width{width:100%}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:4px;width:auto}.input-required{color:var(--error)}.input-container{display:flex;align-items:center;background-color:transparent;border:none;border-radius:var(--radius-md);transition:all .2s ease-in-out;overflow:visible;position:relative}.input-container.input-error .input{border-color:var(--error)}.input-container.input-error .input:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.input{flex:1;height:40px;padding:0 var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-primary);color:var(--text-primary);background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all .2s ease-in-out}.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.input::placeholder{color:var(--text-disabled)}.input:disabled{background-color:var(--gray-50);cursor:not-allowed;color:var(--text-disabled)}.input-icon-left,.input-icon-right{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:0 var(--spacing-sm);position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-icon-left{left:var(--spacing-md)}.input-icon-right{right:var(--spacing-md)}.input-container:has(.input-icon-left) .input{padding-left:40px}.input-container:has(.input-icon-right) .input{padding-right:40px}.input-error-text{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:4px}.input-error-text:before{content:"⚠"}.input-helper-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.card{background-color:var(--surface);border-radius:var(--radius-lg);transition:all .2s ease-in-out}.card-default{border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-md)}.card-outlined{border:1px solid var(--border-color);box-shadow:none}.card-padding-none{padding:0}.card-padding-sm{padding:var(--spacing-md)}.card-padding-md{padding:var(--spacing-lg)}.card-padding-lg{padding:var(--spacing-xl)}.card-hoverable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--gray-50)}.info-tooltip-wrapper{display:inline-flex;position:relative}.info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--text-secondary);cursor:help;transition:color .2s}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus{color:var(--primary-500);outline:none}.info-tooltip-content{position:absolute;z-index:var(--z-tooltip);max-width:250px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--gray-900);color:#fff;font-size:var(--font-size-sm);line-height:var(--line-height-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.info-tooltip-arrow{position:absolute;width:8px;height:8px;background-color:var(--gray-900);transform:rotate(45deg)}.info-tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tooltip-top .info-tooltip-arrow{bottom:-4px;left:50%;transform:translate(-50%) rotate(45deg)}.info-tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tooltip-bottom .info-tooltip-arrow{top:-4px;left:50%;transform:translate(-50%) rotate(45deg)}.info-tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.info-tooltip-left .info-tooltip-arrow{right:-4px;top:50%;transform:translateY(-50%) rotate(45deg)}.info-tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.info-tooltip-right .info-tooltip-arrow{left:-4px;top:50%;transform:translateY(-50%) rotate(45deg)}.metric-card{padding:var(--spacing-lg)!important;transition:all .2s ease-in-out}.metric-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.metric-card-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.metric-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--primary-50);color:var(--primary-500);border-radius:var(--radius-md);font-size:20px}.metric-card-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.metric-card-trend{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.metric-card-trend.positive{color:var(--success)}.metric-card-trend.negative{color:var(--error)}.metric-card-trend-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.metric-card-trend-value{font-weight:var(--font-weight-semibold)}.metric-card-trend-label{color:var(--text-secondary)}.animated-owl{position:absolute;z-index:9999;pointer-events:all;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1)}.animated-owl.scared{animation:flyAwayScared 1s cubic-bezier(.4,0,1,1) forwards!important}@keyframes flyAwayScared{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(-20deg) translateY(-50px);opacity:.8}to{transform:scale(.5) rotate(-45deg) translateY(-200px) translate(200px);opacity:0}}.speech-bubble{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#fff;padding:8px 14px;border-radius:16px;font-size:13px;font-weight:600;box-shadow:0 4px 16px #00000026;animation:bubblePop .3s ease-out;z-index:10;white-space:nowrap;max-width:200px;text-align:center}.speech-bubble.ouch{color:#ef4444;font-weight:700;font-size:14px}.speech-bubble.idle{color:#39c94c;background:linear-gradient(135deg,#fff,#f0fdf4);border:2px solid #39C94C;animation:bubblePop .3s ease-out,bubbleWave 2s ease-in-out infinite}@keyframes bubbleWave{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid white}.speech-bubble.idle:after{border-top-color:#39c94c}@keyframes bubblePop{0%{transform:translate(-50%) scale(0)}70%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.animated-owl.flying{animation:owlFlyAround 15s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes owlFlyAround{0%{right:-100px;bottom:-100px;transform:rotate(-15deg) scale(1)}20%{right:20%;bottom:40%;transform:rotate(5deg) scale(1.1)}40%{right:40%;bottom:60%;transform:rotate(-10deg) scale(.95)}60%{right:60%;bottom:50%;transform:rotate(8deg) scale(1.05)}80%{right:30%;bottom:20%;transform:rotate(-5deg) scale(1)}to{right:40px;bottom:40px;transform:rotate(0) scale(1)}}.animated-owl.landed{animation:owlLand .5s ease-out,owlBreathe 2s ease-in-out infinite;transform:scale(1);inset:auto 40px 40px auto!important}@keyframes owlLand{0%{transform:translateY(-30px) scale(1.2);opacity:.8}to{transform:translateY(0) scale(1);opacity:1}}@keyframes owlBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animated-owl.flying .owl-wing-left{animation:flapLeft .3s ease-in-out infinite;transform-origin:center right}.animated-owl.flying .owl-wing-right{animation:flapRight .3s ease-in-out infinite;transform-origin:center left}@keyframes flapLeft{0%,to{transform:rotate(0)}50%{transform:rotate(-25deg)}}@keyframes flapRight{0%,to{transform:rotate(0)}50%{transform:rotate(25deg)}}.owl-pupil-left,.owl-pupil-right{animation:owlBlink 4s infinite}@keyframes owlBlink{0%,48%,52%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.animated-owl.landed .owl-body{animation:gentleBob 1.5s ease-in-out infinite}@keyframes gentleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animated-owl{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.animated-owl.landed{filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.force-password-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.force-password-modal{background:#fff;border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.force-password-modal-header{text-align:center;padding:32px 32px 24px;border-bottom:1px solid #e5e7eb}.force-password-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;margin-bottom:16px;color:#d97706}.force-password-modal-header h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:#111827}.force-password-modal-header p{margin:0;color:#6b7280;font-size:.95rem;line-height:1.5}.force-password-email{margin-top:8px!important;font-weight:500;color:#374151!important}.force-password-form{padding:24px 32px 32px}.force-password-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.force-password-field{margin-bottom:20px}.password-strength{display:flex;align-items:center;gap:12px;margin-top:8px}.password-strength-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.password-strength-fill{height:100%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.password-strength span{font-size:.85rem;font-weight:500;min-width:60px}.password-mismatch{display:block;margin-top:6px;color:#dc2626;font-size:.85rem}.show-password-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:20px;font-size:.9rem;color:#4b5563}.show-password-toggle input{width:16px;height:16px;cursor:pointer}.password-requirements{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:24px}.password-requirements p{margin:0 0 10px;font-size:.85rem;font-weight:500;color:#374151}.password-requirements ul{margin:0;padding:0;list-style:none}.password-requirements li{font-size:.85rem;color:#9ca3af;padding:4px 0 4px 24px;position:relative}.password-requirements li:before{content:"○";position:absolute;left:0;color:#d1d5db}.password-requirements li.met{color:#059669}.password-requirements li.met:before{content:"✓";color:#059669}.force-password-actions{display:flex;gap:12px;justify-content:flex-end}.force-password-actions button{min-width:120px}@media(max-width:480px){.force-password-modal{margin:16px;max-width:calc(100% - 32px)}.force-password-modal-header,.force-password-form{padding-left:20px;padding-right:20px}.force-password-actions{flex-direction:column-reverse}.force-password-actions button{width:100%}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:var(--spacing-lg);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-500, #39C94C) 10%,transparent) 0%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,-30px) scale(1.1)}}.login-content{width:100%;max-width:900px;display:flex;flex-direction:column;gap:var(--spacing-xl);position:relative;z-index:1}.login-branding{text-align:center}.login-logo-wrapper{display:inline-flex;margin-bottom:var(--spacing-md)}.login-logo{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-500, #39C94C),var(--primary-700, #2EA043));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;font-weight:700;box-shadow:0 8px 24px #39c94c4d;animation:logoGlow 3s ease-in-out infinite}.login-logo-image{width:120px;height:60px;object-fit:contain;animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{box-shadow:0 8px 24px #39c94c4d;transform:scale(1)}50%{box-shadow:0 8px 32px #39c94c80;transform:scale(1.05)}}.login-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--primary-500, #39C94C),var(--primary-700, #2EA043));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary)}.login-card{background:#fff;padding:var(--spacing-2xl)!important;box-shadow:0 20px 60px #0000001a;border-radius:24px}.role-selection{text-align:center}.role-selection-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.role-selection-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-xl)}.role-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:linear-gradient(135deg,#f8fffe,#f0fdf9);border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-500, #39C94C) 5%,transparent),color-mix(in srgb,var(--primary-700, #2EA043) 5%,transparent));opacity:0;transition:opacity .3s ease}.role-card:hover{border-color:var(--primary-500, #39C94C);transform:translateY(-4px);box-shadow:0 12px 32px color-mix(in srgb,var(--primary-500, #39C94C) 20%,transparent)}.role-card:hover:before{opacity:1}.role-card:active{transform:translateY(-2px)}.role-card-icon{position:relative;z-index:1}.role-icon{color:var(--primary-500, #39C94C);transition:all .3s ease}.role-card:hover .role-icon{transform:scale(1.1);filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--primary-500, #39C94C) 30%,transparent))}.role-card-content{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative;z-index:1}.role-card-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.role-card-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-form-header{text-align:center;margin-bottom:var(--spacing-md)}.back-button{background:none;border:none;color:var(--primary-500, #39C94C);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;border-radius:8px;font-weight:600}.back-button:hover{background:color-mix(in srgb,var(--primary-500, #39C94C) 10%,transparent);transform:translate(-4px)}.login-form-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.login-form-subtitle{font-size:var(--font-size-base);color:var(--text-secondary)}.login-error{padding:var(--spacing-md);background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:var(--font-size-sm);text-align:center;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-form-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-form-fields .input-wrapper{width:100%;display:flex;flex-direction:column;align-items:stretch}.login-form-fields .input-label{width:100%;text-align:left;justify-content:flex-start;margin-bottom:0;align-self:flex-start}.login-form-fields .input-container{width:100%}.login-form-options{display:flex;justify-content:space-between;align-items:center}.remember-me{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.remember-me input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-500, #39C94C)}.forgot-password{background:none;border:none;color:var(--primary-500, #39C94C);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;transition:all .2s ease}.forgot-password:hover{color:var(--primary-700, #2EA043);text-decoration:underline}.signup-prompt{text-align:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.signup-prompt p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.signup-link{color:var(--primary-500, #39C94C);text-decoration:none;font-weight:600;transition:all .2s ease}.signup-link:hover{color:var(--primary-700, #2EA043);text-decoration:underline}.demo-credentials{margin-top:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.demo-credentials-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#0369a1;margin-bottom:var(--spacing-xs)}.demo-credentials-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:4px 0}.login-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.login-card{padding:var(--spacing-lg)!important}.role-grid{grid-template-columns:1fr}.login-title{font-size:var(--font-size-3xl)}}.signup-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4);padding:2rem}.signup-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}.signup-logo-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff}.signup-logo-text{font-size:28px;font-weight:700;color:#166534}.signup-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #22c55e26;width:100%;max-width:600px;padding:2.5rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-header{text-align:center;margin-bottom:2rem}.signup-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin:1rem 0 .5rem}.signup-subtitle{font-size:1rem;color:var(--gray-600);margin:0}.role-selection{animation:fadeIn .3s ease-out}.role-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.role-option-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.role-option-card:hover{border-color:#22c55e;background:#22c55e0d;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e26}.role-option-card:active{transform:translateY(0)}.role-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.patient-icon{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff;box-shadow:0 4px 14px #22c55e4d}.hospital-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 14px #0ea5e94d}.role-option-card h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.role-option-card p{font-size:.875rem;color:var(--gray-600);margin:0;line-height:1.5}.signup-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.signup-footer p{margin:0;color:var(--gray-600);font-size:.9rem}.signup-link{color:#22c55e;text-decoration:none;font-weight:600;transition:color .2s}.signup-link:hover{color:#16a34a;text-decoration:underline}.form-steps{display:flex;justify-content:center;gap:24px;margin-bottom:2rem;padding:0 1rem;position:relative;background:#f9fafb;border-radius:16px;padding:16px 24px}.form-steps:before{content:"";position:absolute;top:50%;left:80px;right:80px;height:2px;background:#e5e7eb;z-index:0;transform:translateY(-50%)}.step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;flex:1;max-width:140px}.step-number{width:44px;height:44px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;transition:all .3s ease;border:3px solid white;box-shadow:0 2px 8px #00000014}.step.active .step-number{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff;box-shadow:0 4px 14px #22c55e66}.step.completed .step-number{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff}.step-label{font-size:.8rem;color:#6b7280;font-weight:600;text-align:center;white-space:nowrap}.step.active .step-label{color:#166534;font-weight:700}.step.completed .step-label{color:#22c55e}.signup-form{animation:fadeIn .3s ease-out}.form-step{margin-bottom:1.5rem}.step-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 1.5rem}.subsection-title{font-size:1rem;font-weight:600;color:var(--gray-800);margin:1.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.form-field select{padding:.75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:1rem;font-family:inherit;background:#fff;cursor:pointer;transition:all .2s}.form-field select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.emergency-contact-section,.admin-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.password-requirements{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;padding:1rem;margin-top:1rem}.password-requirements p{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 .5rem}.password-requirements ul{margin:0;padding-left:1.5rem}.password-requirements li{font-size:.875rem;color:var(--gray-600);line-height:1.6}.password-strength-container{margin-top:12px}.password-strength-bar{display:flex;gap:4px;margin-bottom:8px}.strength-segment{flex:1;height:6px;border-radius:3px;background:#e5e7eb;transition:all .3s ease}.strength-segment.filled,.password-strength.weak .strength-segment.filled{background:#ef4444}.password-strength.fair .strength-segment.filled{background:#f59e0b}.password-strength.good .strength-segment.filled{background:#10b981}.password-strength.strong .strength-segment.filled{background:#22c55e}.strength-text{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.strength-text.weak{color:#ef4444}.strength-text.fair{color:#f59e0b}.strength-text.good{color:#10b981}.strength-text.strong{color:#22c55e}.password-match{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:500}.password-match.match{color:#22c55e}.password-match.no-match{color:#ef4444}.password-match svg{flex-shrink:0}.consents-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.consent-item{padding:1rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--gray-50)}.consent-item.required{border-color:var(--primary-color-light, rgba(99, 102, 241, .3));background:#6366f105}.consent-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin:0}.consent-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.consent-text{font-size:.9rem;color:var(--gray-700);line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.consent-text a{color:var(--primary-color);text-decoration:none;font-weight:600}.consent-text a:hover{text-decoration:underline}.required-badge,.optional-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.required-badge{background:var(--danger-color);color:#fff}.optional-badge{background:var(--gray-300);color:var(--gray-700)}.consent-description{font-size:.8rem;color:var(--gray-600);margin:.5rem 0 0 2.25rem;line-height:1.4}.consent-notice{display:flex;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#3b82f61a,#93c5fd1a);border:1px solid rgba(59,130,246,.2);border-radius:6px;margin-top:1.5rem}.consent-notice svg{flex-shrink:0;color:var(--primary-color);margin-top:.125rem}.consent-notice p{margin:0;font-size:.875rem;color:var(--gray-700);line-height:1.5}.verification-notice{background:linear-gradient(135deg,#f59e0b1a,#fbbf241a);border-color:#f59e0b4d}.verification-notice svg{color:var(--warning-color)}.verification-notice strong{font-weight:600;color:var(--gray-900)}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.form-actions button{flex:1}.error-message{background:var(--danger-color-light, rgba(239, 68, 68, .1));border:1px solid var(--danger-color);color:var(--danger-color);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;font-weight:500;animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.success-message{background:#22c55e1a;border:1px solid #22c55e;color:#16a34a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px}.success-message:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#22c55e;color:#fff;border-radius:50%;font-size:12px;font-weight:700}@media(max-width:768px){.signup-container{padding:1rem}.signup-card{padding:1.5rem}.signup-title{font-size:1.5rem}.form-row{grid-template-columns:1fr}.form-steps{padding:0}.step-label{font-size:.65rem}.step-number{width:32px;height:32px;font-size:.875rem}.role-option-card{padding:1rem}.role-option-card h3{font-size:1.1rem}.form-actions{flex-direction:column-reverse}}@media(max-width:480px){.signup-card{padding:1rem}.signup-title{font-size:1.25rem}.step-label{display:none}}.hospital-selection-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:24px}.hospital-selection-content{width:100%;max-width:520px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:32px}.hospital-selection-header{text-align:center;margin-bottom:32px}.hospital-selection-logo{width:80px;height:80px;margin:0 auto 16px;background:linear-gradient(135deg,#39c94c15,#107fd615);border-radius:20px;display:flex;align-items:center;justify-content:center}.hospital-selection-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}.hospital-selection-subtitle{font-size:14px;color:#6b7280}.hospital-selection-error{background:#fef2f2;border:1px solid #fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.hospital-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;max-height:400px;overflow-y:auto}.no-hospitals{text-align:center;padding:48px 24px;color:#6b7280}.no-hospitals svg{margin-bottom:16px}.no-hospitals h3{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.no-hospitals p{font-size:14px}.hospital-card{border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff}.hospital-card:hover{border-color:#d1d5db;background:#f9fafb}.hospital-card.selected{border-width:2px;background:#f8fafc}.hospital-card-content{display:flex;align-items:flex-start;gap:14px}.hospital-logo-container{flex-shrink:0}.hospital-logo{width:48px;height:48px;border-radius:10px;object-fit:cover}.hospital-logo-placeholder{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.hospital-info{flex:1;min-width:0}.hospital-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hospital-name{font-size:16px;font-weight:600;color:#1f2937;margin:0}.primary-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.patient-number{font-size:13px;color:#6b7280;margin:4px 0 0}.last-visit,.hospital-location{font-size:12px;color:#9ca3af;margin:2px 0 0}.selection-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center}.selected-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.unselected-circle{width:24px;height:24px;border-radius:50%;border:2px solid #d1d5db}.theme-preview{display:flex;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.theme-color{width:24px;height:4px;border-radius:2px}.hospital-selection-actions{display:flex;flex-direction:column;gap:16px}.divider{display:flex;align-items:center;text-align:center;color:#9ca3af;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.divider span{padding:0 16px}.find-new-hospital-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#4f46e5;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.find-new-hospital-btn:hover{border-color:#4f46e5;background:#f5f3ff}.find-new-hospital-btn svg{color:#4f46e5}.hospital-selection-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f3f4f6}.hospital-selection-footer p{font-size:13px;color:#6b7280;margin:0}.hospital-selection-footer a{color:#4f46e5;text-decoration:none;font-weight:500}.hospital-selection-footer a:hover{text-decoration:underline}@media(max-width:480px){.hospital-selection-container{padding:16px}.hospital-selection-content{padding:24px}.hospital-selection-title{font-size:20px}.hospital-card{padding:12px}.hospital-logo,.hospital-logo-placeholder{width:40px;height:40px}.hospital-name{font-size:14px}}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--gray-50)}.dashboard-sidebar{width:280px;background:linear-gradient(180deg,var(--surface) 0%,var(--gray-50) 100%);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);position:sticky;top:0;height:100vh;box-shadow:var(--shadow-sm)}.dashboard-sidebar.collapsed{width:80px}.dashboard-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;border-bottom:1px solid var(--gray-200);background:#fff}.dashboard-logo{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--gray-900)}.logo-icon{flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:18px;font-weight:700;color:var(--gray-900);line-height:1}.logo-subtitle{font-size:11px;font-weight:500;color:var(--gray-600);line-height:1}.sidebar-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;transition:all .3s ease;font-size:14px}.sidebar-toggle:hover{background:var(--primary-500);color:#fff;transform:scale(1.1)}.dashboard-nav{flex:1;padding:16px 12px;overflow:hidden}.nav-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding-right:4px}.nav-scroll::-webkit-scrollbar{width:6px}.nav-scroll::-webkit-scrollbar-track{background:transparent}.nav-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.nav-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.menu-item-wrapper{margin-bottom:4px}.menu-item-wrapper.level-1{margin-left:12px}.menu-item-wrapper.level-2{margin-left:24px}.nav-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:none;border:none;border-radius:10px;font-size:15px;font-family:var(--font-primary);font-weight:500;color:var(--gray-700);text-align:left;cursor:pointer;transition:all .2s ease;position:relative;letter-spacing:-.01em}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-500);border-radius:0 3px 3px 0;transition:height .3s ease}.nav-item:hover{background:var(--primary-50);color:var(--primary-600);transform:translate(4px)}.nav-item:hover:before{height:60%}.nav-item.active{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;font-weight:600;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-500) 30%,transparent)}.nav-item.active:before{height:100%;background:var(--secondary-500)}.nav-item.has-children{margin-bottom:4px}.nav-item-content{display:flex;align-items:center;gap:12px;width:100%}.nav-item-icon{font-size:20px;min-width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.nav-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;line-height:1.4}.nav-item-badge{min-width:20px;height:20px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:var(--danger-500);color:#fff;font-size:11px;font-weight:700;border-radius:var(--radius-full);animation:pulse 2s infinite}.nav-item.active .nav-item-badge{background:#fff;color:var(--primary-600)}.nav-item-arrow{font-size:12px;transition:transform .3s ease;color:var(--gray-500)}.nav-item-arrow.rotated{transform:rotate(90deg)}.nav-item.active .nav-item-arrow{color:#fff}.submenu{margin-top:4px;margin-bottom:8px;padding-left:12px;border-left:2px solid var(--gray-200);margin-left:20px}.submenu .nav-item{padding:10px 14px;font-size:14px;font-weight:500}.submenu .nav-item-icon{font-size:18px}.submenu .nav-item-label{font-size:14px}.dashboard-sidebar.collapsed .nav-item{justify-content:center;padding:12px}.dashboard-sidebar.collapsed .nav-item-content{justify-content:center}.dashboard-sidebar.collapsed .nav-item-label,.dashboard-sidebar.collapsed .nav-item-badge,.dashboard-sidebar.collapsed .nav-item-arrow{display:none}.dashboard-sidebar-footer{display:flex;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--gray-200);background:#fff}.user-profile-card{display:flex;align-items:center;gap:12px;flex:1;padding:8px;border-radius:var(--radius-lg);transition:all .3s ease;cursor:pointer}.user-profile-card:hover{background:var(--gray-100)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--primary-300);box-shadow:0 2px 8px color-mix(in srgb,var(--primary-500) 20%,transparent)}.user-avatar-initials{flex-shrink:0;font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.user-info{flex:1;min-width:0}.user-name{font-size:14px;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--danger-50);border:none;border-radius:var(--radius-md);font-size:18px;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:var(--danger-500);transform:scale(1.1)}.dashboard-sidebar.collapsed .user-info{display:none}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-header{background:#fff;border-bottom:1px solid var(--gray-200);padding:20px 32px;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d}.dashboard-header-content{display:flex;align-items:center;justify-content:space-between}.dashboard-title{font-size:24px;font-weight:700;color:var(--gray-900);margin:0;line-height:1}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-600)}.breadcrumb-item{color:var(--gray-600)}.breadcrumb-item.active{color:var(--primary-600);font-weight:600}.breadcrumb-separator{color:var(--gray-400)}.dashboard-header-actions{display:flex;align-items:center;gap:12px}.header-action-button{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-lg);font-size:18px;cursor:pointer;transition:all .3s ease}.header-action-button:hover{background:var(--primary-100);transform:translateY(-2px);box-shadow:var(--shadow-md)}.header-user{cursor:pointer;transition:all .3s ease}.header-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--gray-200);transition:all .3s ease}.header-user-avatar-initials{flex-shrink:0;font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.header-user:hover .header-user-avatar{border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-100)}.notifications-dropdown{position:absolute;top:80px;right:32px;width:380px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;z-index:1000;overflow:hidden}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.notifications-header h3{margin:0;font-size:16px;font-weight:700;color:var(--gray-900)}.mark-read-btn{padding:6px 12px;background:none;border:none;color:var(--primary-600);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.mark-read-btn:hover{color:var(--primary-700);text-decoration:underline}.notifications-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-100);transition:all .3s ease;position:relative;cursor:pointer}.notification-item:hover{background:var(--primary-50)}.notification-item.unread{background:var(--info-50)}.notification-icon{font-size:24px;flex-shrink:0}.notification-content{flex:1}.notification-title{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.notification-message{font-size:13px;color:var(--gray-700);margin-bottom:4px}.notification-time{font-size:12px;color:var(--gray-500)}.unread-dot{position:absolute;top:20px;right:20px;width:8px;height:8px;background:var(--primary-500);border-radius:50%;animation:pulse 2s infinite}.notifications-footer{padding:12px 20px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.view-all-btn{width:100%;padding:10px;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.view-all-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-500) 30%,transparent)}.dashboard-content{flex:1;padding:32px;overflow-y:auto;background:var(--gray-50)}@media(max-width:1024px){.dashboard-sidebar{width:240px}.dashboard-content{padding:24px}}@media(max-width:768px){.dashboard-sidebar{position:fixed;left:-280px;z-index:1000;transition:left .3s ease}.dashboard-sidebar.open{left:0}.dashboard-sidebar.collapsed{left:-80px}.dashboard-main{width:100%}.dashboard-header{padding:16px 20px}.dashboard-title{font-size:20px}.breadcrumb{display:none}.dashboard-content{padding:16px}.notifications-dropdown{right:20px;width:calc(100vw - 40px)}}.super-admin-dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.tenant-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.tenant-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background-color:var(--background-secondary);border-radius:var(--radius-md);transition:all .2s}.tenant-item:hover{background-color:var(--gray-200)}.tenant-info{display:flex;align-items:center;gap:var(--spacing-md)}.tenant-logo{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden}.tenant-logo img{width:100%;height:100%;object-fit:cover}.tenant-logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--primary-500);color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.tenant-details{display:flex;flex-direction:column;gap:4px}.tenant-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.tenant-subdomain{font-size:var(--font-size-sm);color:var(--text-secondary)}.tenant-status{display:flex;align-items:center;gap:var(--spacing-md)}.status-badge{padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);text-transform:capitalize}.status-badge.status-active{background-color:var(--success-light);color:var(--success-dark)}.status-badge.status-trial{background-color:var(--warning-light);color:var(--warning-dark)}.status-badge.status-inactive{background-color:var(--gray-200);color:var(--gray-600)}.tenant-colors{display:flex;gap:4px}.color-dot{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid white;box-shadow:var(--shadow-sm)}.health-metrics{display:flex;flex-direction:column;gap:var(--spacing-lg)}.health-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.users-with-tooltip{position:relative;cursor:pointer}.users-tooltip{display:none;position:absolute;top:100%;left:0;z-index:100;min-width:200px;padding:var(--spacing-md);background-color:var(--gray-800);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--spacing-xs)}.users-with-tooltip:hover .users-tooltip{display:block}.tooltip-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-600)}.tooltip-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tooltip-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.tooltip-role{color:var(--gray-300)}.tooltip-count{font-weight:var(--font-weight-semibold);color:#fff}.health-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.health-value{display:flex;align-items:center;justify-content:space-between}.health-value-main{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.health-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:4px 8px;border-radius:var(--radius-sm)}.health-status.success{background-color:var(--success-light);color:var(--success-dark)}.health-status.warning{background-color:var(--warning-light);color:var(--warning-dark)}.health-status.error{background-color:var(--error-light, #fef2f2);color:var(--error-dark, #dc2626)}.health-status.info{background-color:var(--info-light, #eff6ff);color:var(--info-dark, #2563eb)}.health-loading{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-normal);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.health-bar{height:8px;background-color:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.health-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--background-secondary);border-radius:var(--radius-md);transition:all .2s}.activity-item:hover{background-color:var(--gray-200)}.activity-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-50);border-radius:var(--radius-md)}.activity-content{flex:1;display:flex;flex-direction:column;gap:4px}.activity-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.activity-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.activity-time{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.quick-actions-card{margin-bottom:var(--spacing-lg)}.quick-actions-hint{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background-color:var(--background-secondary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{border-color:var(--action-color, var(--primary-500));background-color:color-mix(in srgb,var(--action-color, var(--primary-500)) 10%,white);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-action-icon{font-size:2rem}.quick-action-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-align:center}.revenue-chart-card{margin-bottom:var(--spacing-lg)}.date-range-filter-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.date-range-filter{display:flex;gap:var(--spacing-xs);background-color:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.custom-date-picker{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.custom-date-picker .date-inputs{display:flex;gap:var(--spacing-md)}.custom-date-picker label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary)}.custom-date-picker input[type=date]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);background-color:#fff}.custom-date-picker input[type=date]:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-100)}.custom-date-picker .apply-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s;align-self:flex-end}.custom-date-picker .apply-btn:hover:not(:disabled){background-color:var(--primary-600)}.custom-date-picker .apply-btn:disabled{background-color:var(--gray-300);cursor:not-allowed}.range-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.range-btn:hover{color:var(--text-primary)}.range-btn.active{background-color:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.revenue-chart{display:flex;flex-direction:column;gap:var(--spacing-lg)}.chart-legend{display:flex;gap:var(--spacing-lg);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-full)}.legend-dot.subscription{background-color:var(--primary-500)}.legend-dot.appointment{background-color:var(--success-500, #10b981)}.chart-container{display:flex;gap:var(--spacing-md);height:250px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:var(--spacing-sm) 0;font-size:var(--font-size-xs);color:var(--text-secondary);min-width:60px}.chart-bars{flex:1;display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-left:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);height:100%}.bar-container{flex:1;width:100%;display:flex;gap:4px;align-items:flex-end;justify-content:center}.bar{width:40%;max-width:30px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .3s ease;cursor:pointer}.bar:hover{opacity:.8}.subscription-bar{background:linear-gradient(180deg,var(--primary-400) 0%,var(--primary-600) 100%)}.appointment-bar{background:linear-gradient(180deg,var(--success-400, #34d399) 0%,var(--success-600, #059669) 100%)}.bar-label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.chart-summary{display:flex;justify-content:center;gap:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.summary-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.summary-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-600)}@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-card-span-2{grid-column:span 2}.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card-span-2{grid-column:span 1}.metrics-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.date-range-filter{flex-wrap:wrap}.chart-container{height:200px}.chart-y-axis{min-width:45px;font-size:10px}.bar-label{font-size:10px}.chart-summary{flex-direction:column;align-items:center;gap:var(--spacing-md)}.card-header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.dashboard-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.dashboard-card{height:fit-content}.dashboard-card-span-2{grid-column:span 2}.dashboard-card-span-3{grid-column:span 3}.card-header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.card-header-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.data-table thead{background-color:var(--gray-50)}.data-table th{padding:var(--spacing-md);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.data-table td{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.data-table tbody tr:hover{background-color:var(--gray-50)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);text-transform:capitalize}.status-confirmed{background-color:var(--success-light);color:var(--success-dark)}.status-scheduled{background-color:var(--info-light);color:var(--info-dark)}.status-pending{background-color:var(--warning-light);color:var(--warning-dark)}.status-completed{background-color:var(--primary-50);color:var(--primary-900)}.status-cancelled{background-color:var(--error-light);color:var(--error-dark)}.status-active{background-color:var(--success-light);color:var(--success-dark)}.status-inactive{background-color:var(--gray-200);color:var(--gray-600)}.quick-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-card-span-2,.dashboard-card-span-3{grid-column:span 2}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card-span-2,.dashboard-card-span-3{grid-column:span 1}.metrics-grid{grid-template-columns:1fr}.data-table{font-size:var(--font-size-xs)}.data-table th,.data-table td{padding:var(--spacing-sm)}}.conversation-list{display:flex;flex-direction:column;height:100%;background:#fafafa;border-right:1px solid var(--color-border, #e5e7eb)}.list-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fff}.list-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.unread-badge{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;min-width:24px;text-align:center}.search-box{padding:16px;background:#fff;border-bottom:1px solid var(--color-border, #e5e7eb)}.search-box input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:20px;font-size:14px;background:#f9fafb;transition:all .2s}.search-box input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.conversations{flex:1;overflow-y:auto}.conversation-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s;background:#fff}.conversation-item:hover{background:#f8fafc}.conversation-item.active{background:#eff6ff;border-left:3px solid #2563eb}.conversation-item.unread{background:#fefce8}.conversation-item.unread .name{font-weight:600}.conversation-item.unread .last-message{font-weight:500;color:#374151}.conversation-item .avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;overflow:hidden}.conversation-item .avatar img{width:100%;height:100%;object-fit:cover}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-header .name{font-weight:500;color:#1a1a1a;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-header .time{font-size:12px;color:#6b7280;flex-shrink:0;margin-left:8px}.conversation-preview{display:flex;align-items:center;gap:8px}.last-message{flex:1;font-size:13px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-count{background:#2563eb;color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.loading-state,.empty-state{padding:48px 24px;text-align:center;color:#6b7280}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{margin:0;font-size:14px}@media(max-width:768px){.conversation-list{border-right:none}.list-header{padding:16px}.search-box,.conversation-item{padding:12px 16px}.conversation-item .avatar{width:44px;height:44px;font-size:18px}}.firebase-chat{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--color-border, #e5e7eb)}.chat-loading,.chat-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;padding:48px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.chat-error{color:#dc2626}.firebase-chat .chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fafafa}.recipient-info{display:flex;align-items:center;gap:12px}.recipient-info .avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden}.recipient-info .avatar img{width:100%;height:100%;object-fit:cover}.recipient-info .avatar-container{position:relative}.recipient-info .online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background-color:#22c55e;border:2px solid white;border-radius:50%}.recipient-info .info h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.recipient-info .status{font-size:13px;color:#6b7280}.recipient-info .status.online{color:#22c55e;font-weight:500}.recipient-info .status.typing{color:#22c55e;font-style:italic}.header-actions{display:flex;align-items:center;gap:8px}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1a1a1a}.firebase-chat .messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:8px;background:#f9fafb}.no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;text-align:center}.no-messages .icon{font-size:48px;margin-bottom:12px;opacity:.5}.no-messages h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#374151}.no-messages p{margin:0;font-size:14px}.message-group{display:flex;flex-direction:column;gap:8px}.date-divider{display:flex;align-items:center;justify-content:center;padding:12px 0}.date-divider span{background:#e5e7eb;color:#6b7280;font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px}.message{display:flex;gap:8px;max-width:75%}.message.sent{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:4px}.message-bubble{padding:10px 14px;border-radius:18px;position:relative}.message.sent .message-bubble{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom-right-radius:4px}.message.received .message-bubble{background:#fff;color:#1a1a1a;border-bottom-left-radius:4px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.sender-name{font-size:11px;font-weight:600;color:#2563eb;display:block;margin-bottom:4px}.message-text{margin:0;font-size:14px;line-height:1.5;word-wrap:break-word}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px}.message-meta .time{font-size:10px;opacity:.7}.message.sent .message-meta .time{color:#fffc}.read-status{font-size:12px;color:#fff9}.read-status.read{color:#86efac}.typing-indicator-bar{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#fafafa;border-top:1px solid #f0f0f0;font-size:13px;color:#6b7280}.typing-dots{display:flex;gap:3px}.typing-dots span{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.firebase-chat .message-input-area{padding:16px 20px;border-top:1px solid var(--color-border, #e5e7eb);background:#fff}.firebase-chat .input-wrapper{display:flex;align-items:flex-end;gap:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:24px;padding:8px 12px 8px 16px;transition:all .2s}.firebase-chat .input-wrapper:focus-within{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.firebase-chat .input-wrapper textarea{flex:1;border:none;background:none;font-size:14px;line-height:1.5;resize:none;min-height:24px;max-height:120px;font-family:inherit;color:#1a1a1a}.firebase-chat .input-wrapper textarea::placeholder{color:#9ca3af}.firebase-chat .input-wrapper textarea:focus{outline:none}.firebase-chat .input-wrapper textarea:disabled{opacity:.6}.firebase-chat .input-actions{display:flex;align-items:center;gap:4px}.firebase-chat .attach-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:6px;opacity:.5;transition:opacity .2s;border-radius:50%}.firebase-chat .attach-btn:hover:not(.disabled){opacity:1;background:#e5e7eb}.firebase-chat .attach-btn.disabled{opacity:.3;cursor:not-allowed}.firebase-chat .uploading-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#f0f7ff;border-radius:8px;margin-bottom:8px;font-size:13px;color:#4a90e2}.firebase-chat .uploading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.firebase-chat .input-actions button[type=button],.firebase-chat .input-actions .btn{width:36px;height:36px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px}.sending-indicator{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.error-toast{position:absolute;bottom:80px;left:20px;right:20px;background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;cursor:pointer;animation:slideUp .3s ease-out;border:1px solid #fecaca}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-attachment{cursor:pointer}.message-attachment.image-attachment{margin:-6px -10px 4px}.message-bubble.has-attachment{padding:6px;overflow:hidden}.message-bubble.has-attachment .message-meta{padding:0 8px}.attachment-image{max-width:250px;max-height:200px;border-radius:12px;display:block;object-fit:cover;transition:transform .2s}.attachment-image:hover{transform:scale(1.02)}.image-placeholder-attachment .image-placeholder{width:200px;padding:20px;background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.image-placeholder .image-icon{font-size:40px}.image-placeholder .image-label{font-size:13px;font-weight:500;color:#4a5568;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.image-placeholder .image-size{font-size:11px;color:#718096}.message.sent .image-placeholder{background:linear-gradient(135deg,#fff3,#ffffff1a)}.message.sent .image-placeholder .image-label,.message.sent .image-placeholder .image-size{color:#ffffffe6}.image-attachment.image-error{width:200px;padding:20px;background:#fef2f2;border-radius:12px;text-align:center}.image-attachment.image-error:after{content:"🖼️ Image unavailable";font-size:13px;color:#dc2626}.video-attachment .video-size{font-size:11px;opacity:.7}.video-attachment .video-placeholder{width:200px;height:120px;background:#0000001a;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .2s}.video-attachment .video-placeholder:hover{background:#00000026}.video-attachment .play-icon{font-size:32px;opacity:.8}.video-attachment .video-name{font-size:12px;opacity:.7;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0000000d;border-radius:8px;min-width:150px;cursor:pointer;transition:background .2s}.file-attachment:hover{background:#00000014}.message.sent .file-attachment{background:#ffffff26}.message.sent .file-attachment:hover{background:#fff3}.file-attachment .file-icon{font-size:24px}.file-attachment .file-info{flex:1;min-width:0}.file-attachment .file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.file-attachment .file-size{font-size:11px;opacity:.7;display:block;margin-top:2px}.attachment-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.attachment-modal{background:#fff;border-radius:16px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0003;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close:hover{color:#1a1a1a}.modal-body{padding:20px;text-align:center}.preview-image-container{margin-bottom:16px;background:#f9fafb;border-radius:12px;padding:12px}.preview-image{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.preview-file{margin-bottom:16px;padding:24px;background:#f9fafb;border-radius:12px}.file-icon-large{font-size:48px}.file-details{margin-bottom:16px}.file-name-preview{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 4px;word-break:break-all}.file-size-preview{font-size:13px;color:#6b7280;margin:0 0 4px}.file-type-preview{font-size:12px;color:#2563eb;font-weight:500;margin:0}.confirm-text{font-size:14px;color:#374151;margin:0}.modal-actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background:#fafafa}.modal-actions button{flex:1}@media(max-width:768px){.firebase-chat .chat-header{padding:12px 16px}.header-actions button:first-child{display:none}.message{max-width:85%}.firebase-chat .message-input-area{padding:12px 16px}.attachment-modal{width:95%}}.hospital-admin-messages-page{height:calc(100vh - 120px);padding:24px}.hospital-admin-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.hospital-admin-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.hospital-admin-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}@media(max-width:768px){.hospital-admin-messages-page{padding:0;height:calc(100vh - 60px)}.hospital-admin-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.hospital-admin-messages-page .conversations-panel{border-right:none}.hospital-admin-messages-page .conversations-panel.mobile-hide,.hospital-admin-messages-page .chat-panel{display:none}.hospital-admin-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}.recipient-type-tabs .tab{font-size:12px;padding:8px}}.branch-admin-messages-page{height:calc(100vh - 120px);padding:24px}.branch-admin-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.branch-admin-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.branch-admin-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.recipient-type-tabs .tab{flex:1;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.recipient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.recipient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.recipient-item:hover{background:#f3f4f6}.recipient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.recipient-item .avatar img{width:100%;height:100%;object-fit:cover}.recipient-item .info{flex:1;min-width:0}.recipient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.recipient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.branch-admin-messages-page{padding:0;height:calc(100vh - 60px)}.branch-admin-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.branch-admin-messages-page .conversations-panel{border-right:none}.branch-admin-messages-page .conversations-panel.mobile-hide,.branch-admin-messages-page .chat-panel{display:none}.branch-admin-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}.recipient-type-tabs .tab{font-size:12px;padding:8px}}.modal-body{padding:24px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.staff-form,.patient-form{display:flex;flex-direction:column;gap:20px}@media(max-width:768px){.page-header-content{flex-direction:column;gap:16px}.search-filter-section{flex-direction:column}.search-box{min-width:100%}.staff-grid,.patients-grid,.departments-grid{grid-template-columns:1fr}.summary-cards-grid{grid-template-columns:repeat(2,1fr)}.staff-stats,.patient-stats{grid-template-columns:repeat(3,1fr)}.modal-content{width:95%;max-height:95vh}}.hospital-admin-page{padding:0}.page-header-section{margin-bottom:32px}.page-header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-title{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 4px}.page-subtitle{font-size:14px;color:var(--gray-600);margin:0}.search-filter-section{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--gray-400)}.search-input{width:100%;padding:12px 16px 12px 48px;border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:14px;transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-700)}.filter-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.summary-card .card-body{display:flex;align-items:center;gap:16px;padding:20px}.summary-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:28px}.summary-label{font-size:14px;color:var(--gray-600);margin-bottom:4px}.summary-value{font-size:32px;font-weight:700;color:var(--gray-900)}.branches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.branch-card{transition:all .3s ease}.branch-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.branch-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.branch-info{flex:1}.branch-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.branch-code{font-size:13px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace}.status-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;text-transform:uppercase}.status-badge.status-active{background:var(--success-100);color:var(--success-700)}.status-badge.status-inactive{background:var(--gray-200);color:var(--gray-700)}.status-badge.status-maintenance{background:var(--warning-100);color:var(--warning-700)}.branch-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.detail-row{display:flex;align-items:flex-start;gap:12px}.detail-icon{font-size:16px;margin-top:2px}.detail-label{font-size:12px;color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.detail-value{font-size:14px;color:var(--gray-900);font-weight:500}.branch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.stat-item{text-align:center}.stat-value{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.stat-label{font-size:12px;color:var(--gray-600)}.branch-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{font-size:80px;opacity:.3;margin-bottom:16px}.empty-title{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.empty-message{font-size:16px;color:var(--gray-600);margin-bottom:24px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--gray-900)}.modal-close{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius-md);font-size:20px;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:var(--gray-200)}.modal-body{padding:24px;overflow-y:auto;overflow-x:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0}.branch-form,.doctor-form,.staff-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-label{font-size:14px;font-weight:600;color:var(--gray-700)}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.form-textarea{min-height:100px;resize:vertical;font-family:inherit}.data-table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.data-table thead{background:var(--gray-50)}.data-table th{padding:16px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--gray-600);letter-spacing:.5px;border-bottom:2px solid var(--gray-200)}.data-table td{padding:16px;border-bottom:1px solid var(--gray-200);font-size:14px;color:var(--gray-900)}.data-table tbody tr{transition:all .3s ease}.data-table tbody tr:hover{background:var(--gray-50)}.table-actions{display:flex;gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.doctor-card{transition:all .3s ease}.doctor-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.doctor-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.doctor-avatar{width:80px;height:80px;border-radius:50%;border:3px solid var(--primary-200);object-fit:cover}.doctor-info{flex:1}.doctor-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.doctor-id{font-size:12px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace;margin-bottom:4px}.doctor-specialization{font-size:14px;font-weight:600;color:var(--primary-600);background:var(--primary-50);padding:4px 12px;border-radius:var(--radius-full);display:inline-block}.status-badge.status-on_leave{background:var(--info-100);color:var(--info-700)}.doctor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.doctor-availability{padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.availability-label{font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.availability-days{display:flex;gap:6px;flex-wrap:wrap}.day-badge{padding:6px 10px;border-radius:var(--radius-md);font-size:12px;font-weight:600;transition:all .3s ease}.day-badge.available{background:var(--success-100);color:var(--success-700)}.day-badge.unavailable{background:var(--gray-200);color:var(--gray-500)}.doctor-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.filter-select{padding:8px 16px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--gray-700);background:#fff;cursor:pointer;transition:all .3s ease}.filter-select:hover{border-color:var(--primary-400)}.filter-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.staff-card{transition:all .3s ease}.staff-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.staff-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.staff-avatar{width:80px;height:80px;border-radius:50%;border:3px solid var(--primary-200);object-fit:cover}.staff-info{flex:1}.staff-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.staff-id{font-size:12px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace;margin-bottom:4px}.staff-role{font-size:14px;font-weight:600;color:var(--primary-600);background:var(--primary-50);padding:4px 12px;border-radius:var(--radius-full);display:inline-block}.staff-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.staff-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.staff-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.patient-card{transition:all .3s ease}.patient-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.patient-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.patient-avatar{width:80px;height:80px;border-radius:50%;border:3px solid var(--primary-200);object-fit:cover}.patient-info{flex:1}.patient-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.patient-id{font-size:12px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace;margin-bottom:8px}.patient-badges{display:flex;gap:8px;align-items:center}.patient-gender{font-size:12px;font-weight:600;color:var(--info-600);background:var(--info-50);padding:4px 10px;border-radius:var(--radius-full)}.patient-blood{font-size:12px;font-weight:700;color:var(--danger-600);background:var(--danger-50);padding:4px 10px;border-radius:var(--radius-full)}.patient-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.patient-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.patient-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.status-badge.status-discharged{background:var(--gray-200);color:var(--gray-700)}.appointment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.appointment-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.appointment-info{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.appointment-id{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.appointment-badges{display:flex;gap:8px;flex-wrap:wrap}.appointment-type{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.appointment-type.type-consultation{background:var(--primary-50);color:var(--primary-600)}.appointment-type.type-follow-up{background:var(--info-50);color:var(--info-600)}.appointment-type.type-emergency{background:var(--danger-50);color:var(--danger-600)}.appointment-type.type-surgery{background:var(--warning-50);color:var(--warning-600)}.appointment-type.type-in-person{background:var(--success-50);color:var(--success-600)}.appointment-type.type-virtual{background:var(--info-50);color:var(--info-600)}.appointment-type.type-both{background:var(--primary-50);color:var(--primary-600)}.status-badge.status-scheduled{background:var(--warning-100);color:var(--warning-700)}.status-badge.status-confirmed{background:var(--info-100);color:var(--info-700)}.status-badge.status-completed{background:var(--success-100);color:var(--success-700)}.status-badge.status-cancelled{background:var(--danger-100);color:var(--danger-700)}.status-badge.status-no-show{background:var(--gray-200);color:var(--gray-700)}.status-badge.status-present{background:var(--success-100);color:var(--success-700)}.status-badge.status-absent{background:var(--danger-100);color:var(--danger-700)}.status-badge.status-late{background:var(--warning-100);color:var(--warning-700)}.appointment-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.appointment-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.payment-method{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);text-transform:capitalize}.payment-method.method-cash{background:var(--success-50);color:var(--success-600)}.payment-method.method-credit-card,.payment-method.method-debit-card{background:var(--primary-50);color:var(--primary-600)}.payment-method.method-insurance{background:var(--info-50);color:var(--info-600)}.payment-method.method-bank-transfer,.payment-method.method-online{background:var(--warning-50);color:var(--warning-600)}.departments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.department-card{transition:all .3s ease}.department-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.department-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.department-info{flex:1}.department-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.department-code{font-size:13px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace}.department-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.department-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.department-services{margin-bottom:16px}.services-label{font-size:12px;font-weight:600;color:var(--gray-600);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.services-tags{display:flex;flex-wrap:wrap;gap:6px}.service-tag{padding:4px 10px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-md);font-size:12px;font-weight:600}.department-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.department-form{display:flex;flex-direction:column;gap:20px}.specializations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.specialization-card{transition:all .3s ease}.specialization-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.specialization-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.specialization-info{flex:1}.specialization-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.specialization-code{font-size:13px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace}.specialization-description{font-size:14px;color:var(--gray-600);margin-bottom:16px;line-height:1.5}.specialization-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.specialization-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-section{display:flex;flex-direction:column;gap:6px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{padding:4px 10px;background:var(--info-50);color:var(--info-700);border-radius:var(--radius-md);font-size:12px;font-weight:600}.specialization-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}@media(max-width:768px){.page-header-content{flex-direction:column;gap:16px}.search-filter-section{flex-direction:column}.search-box{min-width:100%}.branches-grid,.doctors-grid,.staff-grid,.patients-grid,.appointments-grid,.departments-grid,.specializations-grid{grid-template-columns:1fr}.summary-cards-grid,.branch-stats{grid-template-columns:repeat(2,1fr)}.doctor-stats,.staff-stats{grid-template-columns:repeat(3,1fr)}.department-stats{grid-template-columns:repeat(2,1fr)}.specialization-stats{grid-template-columns:repeat(3,1fr)}.modal-content{width:95%;max-height:95vh}}.modal-large{width:95%;max-width:1100px}.view-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;box-sizing:border-box}.view-section{padding:16px;background:var(--gray-50);border-radius:var(--radius-lg);box-sizing:border-box;min-width:0}.view-section-title{font-size:16px;font-weight:600;color:var(--gray-800);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--primary-200)}.view-details-list{display:flex;flex-direction:column;gap:12px}.view-detail-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.view-label{font-size:13px;color:var(--gray-600);font-weight:500}.view-value{font-size:14px;color:var(--gray-900);font-weight:600;text-align:right;word-break:break-word;overflow-wrap:break-word}.view-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.view-stat-card{padding:16px;background:#fff;border-radius:var(--radius-md);text-align:center;border:1px solid var(--gray-200)}.view-stat-card.highlight{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-color:var(--primary-300)}.view-stat-value{font-size:24px;font-weight:700;color:var(--primary-600);margin-bottom:4px}.view-stat-card.highlight .view-stat-value{color:var(--primary-700)}.view-stat-label{font-size:12px;color:var(--gray-600);font-weight:500}@media(max-width:768px){.view-details-grid{grid-template-columns:1fr}.view-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.doctors-grid,.summary-cards-grid{grid-template-columns:repeat(2,1fr)}.filter-buttons{flex-wrap:wrap;gap:6px}.filter-btn{padding:6px 12px;font-size:13px}.filter-select{min-width:150px}}@media(max-width:768px){.hospital-admin-page{padding:16px}.page-header-section{padding:16px;margin-bottom:20px}.page-title{font-size:20px}.page-subtitle{font-size:13px}.doctors-grid{grid-template-columns:1fr;gap:16px}.summary-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px}.summary-card .card-body{padding:12px;flex-direction:column;text-align:center}.summary-icon{width:40px;height:40px;font-size:18px}.summary-value{font-size:20px}.summary-label{font-size:12px}.doctor-card .card-body{padding:16px}.doctor-header{flex-direction:column;align-items:center;text-align:center;gap:12px}.doctor-avatar{width:70px;height:70px}.doctor-info{text-align:center}.doctor-name{font-size:16px}.doctor-details{gap:12px}.detail-row{padding:8px 0}.doctor-stats{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.stat-value{font-size:14px}.stat-label{font-size:11px}.doctor-availability{padding:12px}.availability-days{gap:4px}.day-badge{padding:4px 6px;font-size:10px}.doctor-actions{flex-wrap:wrap;justify-content:center;gap:6px;padding-top:12px}.doctor-actions .btn{flex:1 1 calc(50% - 6px);min-width:100px;font-size:12px;padding:8px 12px}.search-filter-section{flex-direction:column;gap:12px}.search-box{width:100%;max-width:none}.filter-buttons{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.filter-btn{white-space:nowrap;flex-shrink:0}.filter-select{width:100%;max-width:none}.modal-content{width:95%;max-width:95%;max-height:90vh;margin:20px auto}.modal-body{max-height:calc(90vh - 160px);overflow-y:auto;min-height:0}.form-row{flex-direction:column;gap:12px}.form-group{width:100%}}@media(max-width:576px){.hospital-admin-page,.page-header-section{padding:12px}.page-header-content{gap:12px}.page-title{font-size:18px}.summary-cards-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-card .card-body{padding:10px}.summary-icon{width:36px;height:36px;font-size:16px}.summary-value{font-size:18px}.summary-label{font-size:11px}.doctor-card .card-body{padding:12px}.doctor-avatar{width:60px;height:60px}.doctor-name{font-size:15px}.doctor-specialization{font-size:12px}.status-badge{font-size:11px;padding:4px 8px}.doctor-stats{grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.stat-item{padding:6px}.stat-value{font-size:13px}.stat-label{font-size:10px}.doctor-actions .btn{flex:1 1 100%;font-size:12px}.filter-buttons{gap:4px}.filter-btn{padding:6px 10px;font-size:12px}.modal-content{width:100%;max-width:100%;margin:0;border-radius:0;min-height:100vh}.modal-header{padding:12px 16px}.modal-header h3{font-size:16px}.modal-body{padding:12px 16px;max-height:calc(100vh - 130px);overflow-y:auto;min-height:0}.modal-footer{padding:12px 16px}.form-label{font-size:13px}.form-input{padding:10px 12px;font-size:14px}}@media(max-width:480px){.page-header-content{text-align:center}.page-header-content>div:first-child{width:100%}.page-header-content .btn{width:100%}.summary-cards-grid{grid-template-columns:1fr;gap:8px}.summary-card .card-body{flex-direction:row;text-align:left;justify-content:flex-start}.doctor-header{padding-bottom:12px}.doctor-details{gap:8px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-icon{font-size:14px}.detail-label{font-size:11px}.detail-value{font-size:13px}.doctor-availability{padding:10px}.availability-label{font-size:12px}.availability-days{flex-wrap:wrap}.day-badge{padding:3px 5px;font-size:9px}.doctor-actions{flex-direction:column;gap:8px}.doctor-actions .btn{width:100%;justify-content:center}.empty-state{padding:30px 20px}.empty-icon{font-size:48px}.empty-title{font-size:16px}.empty-message{font-size:13px}}.branch-selector-wrapper{display:flex;flex-direction:column;gap:6px;width:100%}.branch-selector-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.branch-selector-required{color:#ef4444;margin-left:4px}.branch-selector-container{position:relative;display:flex;align-items:center;width:100%}.branch-selector{width:100%;padding:10px 36px 10px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#1f2937;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.branch-selector:hover:not(:disabled){border-color:#9ca3af}.branch-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.branch-selector:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.branch-selector-error .branch-selector{border-color:#ef4444}.branch-selector-error .branch-selector:focus{box-shadow:0 0 0 3px #ef44441a}.branch-selector-disabled-indicator{position:absolute;right:40px;font-size:11px;padding:2px 6px;background-color:#f3f4f6;color:#6b7280;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.branch-selector-error-text{font-size:12px;color:#ef4444;margin-top:4px}.branch-selector-compact .branch-selector{padding:8px 32px 8px 10px;font-size:13px}@media(prefers-color-scheme:dark){.branch-selector-label{color:#e5e7eb}.branch-selector{background-color:#1f2937;border-color:#374151;color:#f3f4f6}.branch-selector:hover:not(:disabled){border-color:#4b5563}.branch-selector:disabled{background-color:#111827;color:#6b7280}.branch-selector-disabled-indicator{background-color:#374151;color:#9ca3af}}.bulk-import-page{max-width:1400px;margin:0 auto}.import-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.import-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.import-subtitle{font-size:1rem;color:var(--gray-600);margin:0}.import-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--gray-200)}.import-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--gray-600);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.import-tab:hover{color:var(--primary-color);background:#6366f10d}.import-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.import-tab svg{color:currentColor}.import-content{display:flex;flex-direction:column;gap:1.5rem}.upload-section{padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.section-header h2{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.section-header p{font-size:.875rem;color:var(--gray-600);margin:.5rem 0 0}.upload-zone{border:2px dashed var(--gray-300);border-radius:12px;padding:3rem 2rem;background:var(--gray-50);cursor:pointer;transition:all .3s ease;text-align:center;position:relative;margin-bottom:1.5rem}.upload-zone:hover{border-color:var(--primary-color);background:#6366f10d}.upload-zone.has-file{background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border-color:var(--success-color)}.upload-icon,.file-icon{margin-bottom:1rem}.upload-icon svg{color:var(--gray-400)}.file-icon svg{color:var(--success-color)}.upload-text{font-size:1rem;color:var(--gray-700)}.upload-text strong{color:var(--primary-color)}.upload-text small{color:var(--gray-500)}.file-info{font-size:1rem;color:var(--gray-700);margin-bottom:1rem}.file-info strong{color:var(--gray-900)}.file-info small{color:var(--gray-600)}.remove-file-btn{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.remove-file-btn:hover{background:var(--danger-dark, #dc2626);transform:translateY(-2px)}.upload-actions{display:flex;justify-content:center;gap:1rem}.validation-errors{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#ef44440d,#dc26260d);border:1px solid rgba(239,68,68,.3);border-radius:8px}.error-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.error-header svg{color:var(--danger-color);flex-shrink:0}.error-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--danger-color)}.error-list{margin-bottom:1rem}.error-item{display:grid;grid-template-columns:80px 150px 1fr;gap:1rem;padding:.75rem 1rem;background:#fff;border-radius:6px;margin-bottom:.5rem;font-size:.875rem}.error-row{font-weight:600;color:var(--gray-700)}.error-field{color:var(--primary-color);font-weight:500}.error-message{color:var(--danger-color)}.data-preview{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border:1px solid rgba(34,197,94,.3);border-radius:8px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--gray-900)}.preview-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--success-color);color:#fff;border-radius:6px;font-size:.875rem;font-weight:600}.preview-table-wrapper{overflow-x:auto;background:#fff;border-radius:6px;border:1px solid var(--gray-200)}.preview-table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);font-size:.875rem}.preview-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-transform:capitalize}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:var(--gray-50)}.requirements-section{padding:2rem}.requirements-content{display:flex;flex-direction:column;gap:1.5rem}.requirement-group h4{font-size:.875rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.field-tags{display:flex;flex-wrap:wrap;gap:.5rem}.field-tag{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;font-family:monospace}.field-tag.required{background:#ef44441a;color:var(--danger-color);border:1px solid rgba(239,68,68,.3)}.field-tag.optional{background:#6366f11a;color:var(--primary-color);border:1px solid rgba(99,102,241,.3)}.requirements-notes{padding:1rem;background:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.requirements-notes h4{font-size:.875rem;font-weight:600;color:var(--gray-900);margin:0 0 .75rem}.requirements-notes ul{margin:0;padding-left:1.5rem}.requirements-notes li{font-size:.875rem;color:var(--gray-700);margin-bottom:.5rem;line-height:1.5}.requirements-notes li:last-child{margin-bottom:0}.history-section{padding:2rem}.history-table-wrapper{overflow-x:auto;border:1px solid var(--gray-200);border-radius:8px}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--gray-200);font-size:.875rem}.history-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:var(--gray-50)}.history-table .file-name{font-weight:500;color:var(--gray-900)}.history-table .date{color:var(--gray-600)}.history-table .success-count{color:var(--success-color);font-weight:600}.history-table .failure-count{color:var(--danger-color);font-weight:600}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.type-badge.patients{background:#3b82f61a;color:#2563eb}.type-badge.doctors{background:#8b5cf61a;color:#7c3aed}.type-badge.staff{background:#22c55e1a;color:#16a34a}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.completed{background:#22c55e1a;color:#16a34a}.status-badge.failed{background:#ef44441a;color:#dc2626}.status-badge.partial{background:#f59e0b1a;color:#d97706}.loading-state{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--gray-600)}.no-access{padding:3rem;text-align:center}.no-access h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 .75rem}.no-access p{font-size:1rem;color:var(--gray-600);margin:0}.plan-info-card{padding:1.5rem;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.2)}.plan-info-header h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-900)}.plan-info-content{display:flex;flex-wrap:wrap;gap:1.5rem}.plan-stat{display:flex;flex-direction:column;gap:.25rem}.plan-stat .label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.plan-stat .value{font-size:1.25rem;font-weight:700;color:var(--gray-900)}.plan-stat .value.warning{color:var(--warning-color, #f59e0b)}.import-result{padding:1.5rem;border-radius:8px}.import-result.success{background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border:1px solid rgba(34,197,94,.3)}.import-result.error{background:linear-gradient(135deg,#ef44440d,#dc26260d);border:1px solid rgba(239,68,68,.3)}.result-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.result-header svg{flex-shrink:0}.import-result.success .result-header svg{color:var(--success-color)}.import-result.error .result-header svg{color:var(--danger-color)}.result-header h3{margin:0;font-size:1.125rem;font-weight:600}.import-result.success .result-header h3{color:var(--success-color)}.import-result.error .result-header h3{color:var(--danger-color)}.result-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem}.result-stats .stat{display:flex;flex-direction:column;gap:.25rem}.result-stats .stat .label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-transform:uppercase}.result-stats .stat .value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.result-stats .stat.success .value{color:var(--success-color)}.result-stats .stat.error .value{color:var(--danger-color)}.result-errors{padding:1rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200)}.result-errors h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--gray-900)}.result-errors ul{margin:0;padding-left:1.5rem}.result-errors li{font-size:.875rem;color:var(--danger-color);margin-bottom:.375rem}.result-errors li:last-child{margin-bottom:0}.type-badge.branches{background:#f59e0b1a;color:#d97706}.type-badge.departments{background:#10b9811a;color:#059669}.type-badge.specializations{background:#ec48991a;color:#db2777}@media(max-width:768px){.import-tabs{overflow-x:auto}.import-tab{padding:.75rem 1rem;font-size:.875rem;white-space:nowrap}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.upload-zone{padding:2rem 1rem}.upload-actions{flex-direction:column}.error-item{grid-template-columns:1fr;gap:.5rem}.history-table-wrapper{overflow-x:scroll}.history-table{min-width:800px}}.appointments-page{padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.tab-buttons{display:flex;gap:8px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.tab-btn{padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-weight:600;font-size:14px;color:var(--gray-600);cursor:pointer;transition:all .3s ease;white-space:nowrap}.tab-btn.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.appointment-card{transition:all .3s ease}.appointment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.appointment-content{display:flex;flex-direction:column;gap:16px}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--gray-200)}.appointment-date-time{flex:1}.appointment-date{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.appointment-time{font-size:14px;font-weight:600;color:var(--primary-600)}.appointment-status{padding:6px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.appointment-status.status-confirmed{background:var(--success-100);color:var(--success-700)}.appointment-status.status-scheduled{background:var(--info-100);color:var(--info-700)}.appointment-status.status-completed{background:var(--gray-100);color:var(--gray-700)}.appointment-status.status-cancelled{background:var(--danger-100);color:var(--danger-700)}.appointment-doctor-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.doctor-avatar{width:60px;height:60px;border-radius:50%;border:3px solid var(--primary-300)}.doctor-details{flex:1}.doctor-name{font-size:16px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.doctor-specialty{font-size:13px;color:var(--gray-600);margin-bottom:4px}.doctor-rating{font-size:13px;color:var(--warning-600);font-weight:600}.appointment-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;font-size:14px}.detail-label{font-weight:600;color:var(--gray-600)}.detail-value{color:var(--gray-900)}.appointment-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;text-align:center}.empty-icon{font-size:80px;opacity:.4}.empty-title{font-size:24px;font-weight:700;color:var(--gray-900)}.empty-message{font-size:16px;color:var(--gray-600);max-width:500px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-2xl);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.modal-close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:50%;font-size:20px;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:var(--danger-100);color:var(--danger-600)}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0;max-height:calc(90vh - 160px)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--gray-200)}.form-label{display:block;font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-100)}.form-textarea{resize:vertical}.doctors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.doctor-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease}.doctor-card:hover{border-color:var(--primary-300);background:var(--primary-50)}.doctor-card.selected{border-color:var(--primary-500);background:var(--primary-100)}.doctor-card-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--primary-300)}.doctor-card-info{text-align:center}.doctor-card-name{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.doctor-card-specialty{font-size:12px;color:var(--gray-600);margin-bottom:4px}.doctor-card-rating{font-size:12px;color:var(--warning-600);font-weight:600}.time-slots-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.time-slot-btn{padding:10px;border:2px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .3s ease}.time-slot-btn:hover{border-color:var(--primary-300);background:var(--primary-50)}.time-slot-btn.selected{border-color:var(--primary-500);background:var(--primary-500);color:#fff}.video-call-page{position:fixed;inset:64px 0 0 250px;background:#1a1a1a;overflow:hidden}.video-call-container{display:flex;flex-direction:column;height:100%}.video-grid{flex:1;display:flex;gap:16px;padding:16px;overflow:hidden}.video-main{flex:1;position:relative;background:#000;border-radius:var(--radius-xl);overflow:hidden}.video-stream{width:100%;height:100%;position:relative}.video-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.doctor-avatar-large{width:200px;height:200px;border-radius:50%;overflow:hidden;border:6px solid rgba(255,255,255,.3);box-shadow:0 20px 60px #00000080}.avatar-img{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.participant-name{display:flex;align-items:center;gap:8px;color:#fff;font-size:18px;font-weight:600}.participant-icon{font-size:24px}.video-indicators{position:absolute;top:16px;right:16px;display:flex;gap:8px}.recording-indicator{padding:8px 16px;background:#ef4444e6;color:#fff;border-radius:var(--radius-full);font-size:14px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-pip{position:absolute;bottom:20px;right:20px;width:240px;height:180px;border-radius:var(--radius-lg);overflow:hidden;border:3px solid white;box-shadow:0 10px 30px #00000080}.patient-video{width:100%;height:100%}.video-placeholder-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f093fb,#f5576c);position:relative}.patient-avatar-small{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3)}.video-off-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.video-off-icon{font-size:32px;opacity:.6}.video-overlay-small{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.participant-name-small{color:#fff;font-size:12px;font-weight:600}.video-sidebar{width:320px;background:#fff;border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden}.call-info-panel{padding:16px;border-bottom:1px solid var(--gray-200)}.call-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.call-info-header h3{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.call-duration{padding:4px 12px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);font-size:14px;font-weight:700;font-family:Courier New,monospace}.call-info-content{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;font-size:13px}.info-label{color:var(--gray-600);font-weight:600}.info-value{color:var(--gray-900)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--gray-200)}.sidebar-tab{flex:1;padding:12px;border:none;background:transparent;font-size:14px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent}.sidebar-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-500);background:var(--primary-50)}.chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-message{padding:12px;border-radius:var(--radius-lg);max-width:85%}.doctor-message{align-self:flex-start;background:var(--gray-100)}.patient-message{align-self:flex-end;background:var(--primary-500);color:#fff}.message-header{display:flex;justify-content:space-between;margin-bottom:4px}.message-sender{font-size:11px;font-weight:700;opacity:.8}.message-time{font-size:10px;opacity:.6}.message-content{font-size:13px;line-height:1.4}.chat-input-container{padding:12px;border-top:1px solid var(--gray-200);display:flex;gap:8px}.chat-input{flex:1;padding:10px 12px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px}.chat-input:focus{outline:none;border-color:var(--primary-500)}.chat-send-btn{width:40px;height:40px;border:none;background:var(--primary-500);color:#fff;border-radius:var(--radius-md);font-size:16px;cursor:pointer;transition:all .3s ease}.chat-send-btn:hover{background:var(--primary-600)}.notes-panel{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px}.notes-header h4{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.notes-hint{font-size:12px;color:var(--gray-500)}.notes-textarea{flex:1;padding:12px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-family:inherit;resize:none}.notes-textarea:focus{outline:none;border-color:var(--primary-500)}.notes-actions{display:flex;gap:8px}.video-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1)}.controls-left,.controls-center,.controls-right{display:flex;align-items:center;gap:12px}.connection-status{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px}.status-indicator{font-size:12px}.status-indicator.status-good{color:#10b981}.control-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:none;background:#ffffff1a;color:#fff;border-radius:var(--radius-lg);font-size:24px;cursor:pointer;transition:all .3s ease;min-width:80px}.control-btn:hover{background:#fff3;transform:translateY(-2px)}.control-btn.active{background:var(--danger-500)}.control-btn.recording{animation:recordingPulse 1.5s infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.6}}.control-label{font-size:11px;font-weight:600}.end-call-btn{background:var(--danger-500)}.end-call-btn:hover{background:var(--danger-600)}.call-ended-screen{display:flex;align-items:center;justify-content:center;height:100%;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.call-ended-content{text-align:center;color:#fff;padding:40px 30px;background:#0000004d;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:500px;margin:0 auto}.call-ended-icon{font-size:80px;margin-bottom:20px;opacity:.8}.call-ended-content h2{font-size:28px;margin:0 0 12px}.call-ended-content p{font-size:18px;margin:0 0 24px;opacity:.9}.call-ended-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.call-ended-actions button{min-width:140px}.call-summary{margin:20px auto;padding:16px;background:#fffffff2;border-radius:8px;text-align:left;max-width:100%;color:#1a1a1a;font-size:14px}.call-summary div{margin-bottom:8px;word-break:break-word}.call-summary div:last-child{margin-bottom:0}.patient-records-page{padding:0}.patient-info-card{margin-bottom:24px}.patient-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.patient-avatar-section{display:flex;align-items:center;gap:20px}.patient-avatar-large{width:100px;height:100px;border-radius:50%;border:4px solid var(--primary-300)}.patient-basic-info h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--gray-900)}.patient-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--gray-600)}.patient-id-section{text-align:right;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.patient-id{font-size:14px;color:var(--gray-600)}.patient-since{font-size:13px;color:var(--gray-500);margin-bottom:8px}.patient-conditions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.condition-tag{padding:6px 14px;background:var(--warning-100);color:var(--warning-700);border-radius:var(--radius-full);font-size:13px;font-weight:600}.page-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.page-tab{flex:1;padding:12px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .3s ease}.page-tab.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.tab-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.date-badge{padding:4px 12px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);font-size:12px;font-weight:600}.vitals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.vital-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.vital-icon{font-size:32px}.vital-info{flex:1}.vital-value{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.vital-label{font-size:13px;color:var(--gray-600)}.consultation-summary{display:flex;flex-direction:column;gap:12px}.consultation-date{font-size:14px;font-weight:600;color:var(--primary-600)}.consultation-doctor{font-size:15px;color:var(--gray-900)}.consultation-diagnosis,.consultation-medications{font-size:14px;color:var(--gray-700)}.consultation-medications ul{margin:8px 0 0;padding-left:20px}.consultations-list{display:flex;flex-direction:column;gap:20px}.record-card{transition:all .3s ease}.record-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.record-date-section{flex:1}.record-date{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.record-doctor{font-size:14px;color:var(--gray-600)}.record-content{display:flex;flex-direction:column;gap:16px}.record-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--gray-700)}.record-section p{margin:0;font-size:14px;color:var(--gray-900);line-height:1.6}.prescription-list{margin:0;padding-left:20px}.prescription-list li{margin:4px 0;font-size:14px;color:var(--gray-900)}.vitals-table-wrapper{overflow-x:auto}.vitals-table{width:100%;border-collapse:collapse}.vitals-table th{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--gray-700);background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.vitals-table td{padding:12px;font-size:14px;color:var(--gray-900);border-bottom:1px solid var(--gray-200)}.vitals-table tbody tr:hover{background:var(--gray-50)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.document-card{transition:all .3s ease}.document-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.document-card .card-body{display:flex;align-items:center;gap:16px}.document-icon{font-size:40px}.document-info{flex:1}.document-name{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.document-meta{display:flex;gap:8px;font-size:12px;color:var(--gray-600)}.document-actions{display:flex;gap:8px}.prescriptions-page{padding:0}.prescriptions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.prescription-card{transition:all .3s ease}.prescription-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.prescription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.medication-info{display:flex;align-items:center;gap:12px;flex:1}.medication-icon{font-size:32px}.medication-name{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gray-900)}.prescribed-by{font-size:13px;color:var(--gray-600)}.prescription-status{padding:6px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.prescription-status.status-active{background:var(--success-100);color:var(--success-700)}.prescription-status.status-completed{background:var(--gray-100);color:var(--gray-700)}.prescription-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-group{display:flex;justify-content:space-between;align-items:flex-start}.detail-label{font-size:13px;font-weight:600;color:var(--gray-600)}.detail-value{font-size:14px;color:var(--gray-900);text-align:right}.refill-count{padding:2px 8px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-sm);font-weight:600}.refill-count.low{background:var(--warning-100);color:var(--warning-700)}.prescription-instructions{padding:12px;background:var(--info-50);border-left:3px solid var(--info-500);border-radius:var(--radius-md);margin-bottom:16px}.instructions-label{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.instructions-text{font-size:13px;color:var(--gray-700);line-height:1.5}.prescription-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.lab-reports-page{padding:0}.category-filters{display:flex;gap:8px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.category-btn{padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-weight:600;font-size:14px;color:var(--gray-600);cursor:pointer;transition:all .3s ease;white-space:nowrap}.category-btn.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.lab-reports-list{display:flex;flex-direction:column;gap:20px}.lab-report-card{transition:all .3s ease}.lab-report-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.report-title-section{display:flex;align-items:center;gap:12px;flex:1}.report-icon{font-size:32px}.report-name{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gray-900)}.report-meta{font-size:13px;color:var(--gray-600);display:flex;gap:8px;flex-wrap:wrap}.report-status{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;white-space:nowrap}.report-status.status-completed{background:var(--success-100);color:var(--success-700)}.report-status.status-pending{background:var(--warning-100);color:var(--warning-700)}.report-results{margin-bottom:16px}.report-results h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--gray-700)}.results-table{display:flex;flex-direction:column;gap:8px}.result-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.result-parameter{font-size:14px;font-weight:600;color:var(--gray-700);flex:1}.result-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:1}.result-value{font-size:15px;font-weight:700;color:var(--gray-900)}.result-value.normal{color:var(--success-700)}.result-value.high{color:var(--danger-700)}.result-value.low{color:var(--warning-700)}.result-range{font-size:12px;color:var(--gray-600)}.result-indicator{font-size:18px;font-weight:700;width:30px;text-align:center}.result-indicator.normal{color:var(--success-600)}.result-indicator.high{color:var(--danger-600)}.result-indicator.low{color:var(--warning-600)}.pending-notice{display:flex;align-items:center;gap:16px;padding:16px;background:var(--warning-50);border-radius:var(--radius-md);margin-bottom:16px}.pending-icon{font-size:40px}.pending-text{flex:1}.pending-subtext{font-size:12px;color:var(--gray-600);margin-top:4px}.report-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.file-info{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-200);font-size:12px;color:var(--gray-600)}.billing-page{padding:0}.billing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.summary-card .card-body{display:flex;align-items:center;gap:16px}.summary-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-size:32px}.summary-icon.pending{background:var(--warning-100)}.summary-icon.paid{background:var(--success-100)}.summary-icon.total{background:var(--info-100)}.summary-content{flex:1}.summary-label{font-size:13px;color:var(--gray-600);margin-bottom:4px}.summary-value{font-size:28px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.summary-subtext{font-size:12px;color:var(--gray-500)}.invoices-list{display:flex;flex-direction:column;gap:20px}.invoice-card{transition:all .3s ease}.invoice-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.invoice-title-section{flex:1}.invoice-number{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.invoice-label{font-size:13px;color:var(--gray-600)}.invoice-id{font-size:18px;font-weight:700;color:var(--gray-900)}.invoice-description{font-size:14px;color:var(--gray-700)}.invoice-status{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;white-space:nowrap}.invoice-status.status-paid{background:var(--success-100);color:var(--success-700)}.invoice-status.status-pending{background:var(--warning-100);color:var(--warning-700)}.invoice-dates{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.date-item{display:flex;gap:8px;font-size:13px}.date-label{color:var(--gray-600)}.date-value{font-weight:600;color:var(--gray-900)}.date-value.paid{color:var(--success-700)}.invoice-items{margin-bottom:16px}.invoice-items h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--gray-700)}.items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.item-row{display:flex;justify-content:space-between;padding:8px;background:var(--gray-50);border-radius:var(--radius-sm)}.item-name{font-size:14px;color:var(--gray-700)}.item-amount{font-size:14px;font-weight:600;color:var(--gray-900)}.invoice-totals{padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--gray-700)}.total-row.grand-total{padding-top:12px;margin-top:8px;border-top:2px solid var(--gray-300);font-size:16px;font-weight:700;color:var(--gray-900)}.payment-info{padding:12px;background:var(--success-50);border-radius:var(--radius-md);font-size:13px;color:var(--success-700);margin-bottom:16px}.invoice-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.settings-page{padding:0}.settings-card{margin-bottom:20px}.profile-avatar-section{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--gray-200)}.profile-avatar{width:100px;height:100px;border-radius:50%;border:4px solid var(--primary-300)}.avatar-actions{display:flex;gap:8px}.settings-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--gray-200)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--gray-200)}.setting-item:last-child{border-bottom:none}.setting-info{flex:1}.setting-title{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.setting-description{font-size:13px;color:var(--gray-600)}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--gray-300);border-radius:28px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--primary-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.status-completed{background:var(--success-100);color:var(--success-700)}.status-scheduled{background:var(--info-100);color:var(--info-700)}.status-in-progress{background:var(--warning-100);color:var(--warning-700)}.status-cancelled{background:var(--danger-100);color:var(--danger-700)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.error-icon{font-size:60px;opacity:.8}.error-container h2{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.error-container p{margin:0;font-size:16px;color:var(--gray-600);max-width:400px}.no-data{text-align:center;color:var(--gray-500);padding:32px;font-style:italic}.blood-group-badge{padding:4px 12px;background:var(--danger-100);color:var(--danger-700);border-radius:var(--radius-full);font-size:13px;font-weight:600}.condition-tag.active{background:var(--success-100);color:var(--success-700)}.consultation-notes{font-size:14px;color:var(--gray-700)}@media(max-width:1024px){.video-call-page{left:0}.video-grid{flex-direction:column}.video-sidebar{width:100%;max-height:300px}.doctors-grid{grid-template-columns:repeat(2,1fr)}.time-slots-grid{grid-template-columns:repeat(3,1fr)}.overview-grid{grid-template-columns:1fr}.call-ended-content{padding:30px 20px;max-width:450px}.call-ended-icon{font-size:60px}.call-ended-content h2{font-size:24px}.call-ended-content p{font-size:16px}}@media(max-width:768px){.appointments-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.tab-buttons{overflow-x:auto}.doctors-grid{grid-template-columns:1fr}.video-pip{width:120px;height:90px;bottom:80px;right:10px}.controls-center{flex-wrap:wrap}.patient-info-header{flex-direction:column;gap:20px}.patient-id-section{align-items:flex-start}.vitals-grid{grid-template-columns:1fr}.page-tabs{overflow-x:auto;flex-wrap:nowrap}.page-tab{flex:0 0 auto;white-space:nowrap}.call-ended-screen{padding:16px;min-height:100vh;min-height:100dvh}.call-ended-content{padding:24px 16px;max-width:100%;border-radius:16px}.call-ended-icon{font-size:48px;margin-bottom:16px}.call-ended-content h2{font-size:20px;margin-bottom:8px}.call-ended-content p{font-size:14px;margin-bottom:16px}.call-summary{padding:12px;font-size:13px;margin:16px auto}.call-ended-actions{flex-direction:column;gap:10px;width:100%}.call-ended-actions button{width:100%;min-width:unset;padding:12px 16px;font-size:14px}}@media(max-width:480px){.call-ended-screen{padding:12px}.call-ended-content{padding:20px 14px;border-radius:12px}.call-ended-icon{font-size:40px;margin-bottom:12px}.call-ended-content h2{font-size:18px}.call-ended-content p{font-size:13px;margin-bottom:12px}.call-summary{padding:10px;font-size:12px;margin:12px auto}.call-summary div{margin-bottom:6px}.call-ended-actions button{padding:10px 14px;font-size:13px}}.messages-page{height:calc(100vh - 64px);padding:0;margin:-24px;background:#f0f2f5}.messages-container{display:grid;grid-template-columns:380px 1fr;height:100%;background:#fff;overflow:hidden;border-left:1px solid #e9edef;border-right:1px solid #e9edef}.conversations-panel{background:#fff;border-right:1px solid #e9edef;display:flex;flex-direction:column;height:100%}.panel-header{display:none}.panel-header h2{font-size:18px;font-weight:600;margin:0;color:#111b21}.unread-badge{background:#25d366;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.search-box{padding:10px 12px;background:#f0f2f5}.search-wrapper{position:relative;display:flex;align-items:center}.search-wrapper:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238696a0' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-size:contain;pointer-events:none;z-index:1}.search-box input{width:100%;padding:8px 12px 8px 40px;border:none;border-radius:8px;font-size:14px;background:#fff;color:#111b21;transition:background .2s;box-sizing:border-box}.search-box input::placeholder{color:#8696a0}.search-box input:focus{outline:none;background:#fff;box-shadow:0 0 0 1px #25d366}.conversations-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5c6c8 transparent}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:#c5c6c8;border-radius:3px}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f2f5;transition:background .15s;position:relative;background:#fff}.conversation-item:hover{background:#f5f6f6}.conversation-item.active{background:#f0f2f5}.conversation-item.unread{background:#f0faf0}.conversation-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initials{font-size:16px;font-weight:600;color:#fff;text-transform:uppercase}.conversation-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.patient-name{font-weight:500;color:#111b21;font-size:15px}.conversation-item.unread .patient-name{font-weight:600}.time{font-size:12px;color:#667781}.conversation-item.unread .time{color:#25d366;font-weight:500}.last-message{font-size:13px;color:#667781;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.last-message-prefix{color:#667781}.unread-dot{display:none}.new-conversation-btn{margin:12px;padding:12px 16px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px #25d36640}.new-conversation-btn:hover{background:linear-gradient(135deg,#22c55e,#0f7a65);box-shadow:0 4px 12px #25d36659}.new-conversation-btn svg{width:18px;height:18px}.chat-panel{display:flex;flex-direction:column;background:#efeae2;height:100%;position:relative}.chat-panel:before{content:"";position:absolute;inset:0;background-color:#efeae2;background-image:url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 30h6v6h-6zM60 30h6v6h-6zM90 30h6v6h-6zM120 30h6v6h-6zM150 30h6v6h-6zM180 30h6v6h-6zM210 30h6v6h-6zM240 30h6v6h-6zM270 30h6v6h-6zM30 60h6v6h-6zM90 60h6v6h-6zM150 60h6v6h-6zM210 60h6v6h-6zM270 60h6v6h-6zM60 90h6v6h-6zM120 90h6v6h-6zM180 90h6v6h-6zM240 90h6v6h-6zM30 120h6v6h-6zM90 120h6v6h-6zM150 120h6v6h-6zM210 120h6v6h-6zM270 120h6v6h-6z' fill='%23d4cfc5' fill-opacity='0.4'/%3E%3C/svg%3E");opacity:.5;pointer-events:none;z-index:0}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f0f2f5;min-height:56px;position:relative;z-index:1;border-bottom:1px solid #e9edef}.patient-info{display:flex;align-items:center;gap:12px}.patient-info .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center}.patient-info .avatar .avatar-initials{font-size:14px}.patient-info h3{margin:0;font-size:15px;font-weight:600;color:#111b21}.patient-info .status{font-size:12px;color:#25d366;font-weight:500}.chat-actions{display:flex;gap:8px}.chat-actions button{padding:8px 16px;background:#fff;border:1px solid #e9edef;border-radius:8px;color:#111b21;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.chat-actions button:hover{background:#f0f2f5;border-color:#25d366;color:#128c7e}.messages-area{flex:1;overflow-y:auto;padding:16px 5%;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:#c5c6c8 transparent}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#c5c6c8;border-radius:3px}.message{max-width:65%;display:flex;margin:2px 0}.message.sent{align-self:flex-end}.message.received{align-self:flex-start}.message-content{padding:8px 12px;border-radius:8px;position:relative;box-shadow:0 1px 1px #00000014}.message.sent .message-content{background:#d9fdd3;color:#111b21;border-top-right-radius:8px;border-bottom-right-radius:3px}.message.sent .message-content:after{content:"";position:absolute;top:0;right:-8px;width:0;height:0;border-left:8px solid #d9fdd3;border-top:8px solid transparent}.message.received .message-content{background:#fff;color:#111b21;border-top-left-radius:8px;border-bottom-left-radius:3px}.message.received .message-content:after{content:"";position:absolute;top:0;left:-8px;width:0;height:0;border-right:8px solid #fff;border-top:8px solid transparent}.message-content p{margin:0;font-size:14px;line-height:1.4;word-wrap:break-word}.message-time{font-size:11px;color:#667781;display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px}.message-input-area{padding:10px 16px;background:#f0f2f5;position:relative;z-index:1}.message-input-area .input-wrapper{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:5px 5px 5px 8px}.input-left-actions{display:none}.attach-btn-icon{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:#54656f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0}.attach-btn-icon:hover{color:#25d366;background:#25d36614}.attach-btn-icon svg{width:22px;height:22px}.input-btn{display:none}.message-input-area .input-wrapper textarea{flex:1;border:none;background:transparent;border-radius:0;padding:10px 8px;font-size:15px;line-height:1.4;resize:none;min-height:20px;max-height:100px;font-family:inherit;color:#111b21;box-shadow:none}.message-input-area .input-wrapper textarea::placeholder{color:#8696a0}.message-input-area .input-wrapper textarea:focus{outline:none;box-shadow:none}.message-input-area .input-actions{display:flex;align-items:center;flex-shrink:0}.send-btn{width:42px;height:42px;border-radius:50%;border:none;background:#25d366;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background:#22c55e}.send-btn:disabled{background:#ccd0d5;color:#fff;cursor:not-allowed}.send-btn svg{width:20px;height:20px;margin-left:2px}.sending-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.attach-btn{display:none}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667781;background:#f0f2f5;position:relative;z-index:1;padding:20px}.empty-state-icon{width:160px;height:160px;background:linear-gradient(135deg,#25d36626,#128c7e1a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:64px;margin-bottom:28px}.no-conversation-selected h3{margin:0 0 12px;font-size:28px;font-weight:300;color:#111b21}.no-conversation-selected p{margin:0;font-size:14px;color:#667781;max-width:400px;text-align:center;line-height:1.6}.no-conversation-selected .encryption-notice{display:flex;align-items:center;gap:10px;margin-top:28px;padding:12px 20px;background:#25d3661a;border-radius:8px;color:#667781;font-size:13px}.no-conversation-selected .encryption-notice svg{color:#25d366;width:18px;height:18px;flex-shrink:0}.loading-state,.error-state,.empty-state,.loading-messages,.no-messages{padding:48px 24px;text-align:center;color:#667781}.no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.no-messages:before{content:"💬";font-size:56px;margin-bottom:16px;opacity:.5}.no-messages p:first-child{font-size:18px;font-weight:500;color:#111b21;margin-bottom:8px}.no-messages p:last-child{font-size:14px;color:#667781}.error-state{color:#dc3545}.error-state button{margin-top:12px;background:#25d366;border:none}@media(min-width:1400px){.messages-container{grid-template-columns:400px 1fr}}@media(max-width:1100px){.messages-container{grid-template-columns:320px 1fr}.chat-actions{display:none}}@media(max-width:900px){.messages-page{height:calc(100vh - 56px);margin:-16px}.messages-container{grid-template-columns:280px 1fr}.conversation-item{padding:10px 12px}.conversation-item .avatar{width:44px;height:44px}.patient-name{font-size:14px}.messages-area{padding:12px 3%}.message{max-width:80%}}@media(max-width:700px){.messages-page{height:100vh;margin:-16px}.messages-container{grid-template-columns:1fr;position:relative}.conversations-panel{position:absolute;inset:0;z-index:10;display:flex}.conversations-panel.hidden,.chat-panel{display:none}.chat-panel.active{display:flex;position:absolute;inset:0;z-index:20}.chat-header{padding:10px 12px}.messages-area{padding:12px}.message{max-width:85%}.message-input-area{padding:8px 10px}.attach-btn-icon{width:36px;height:36px}.attach-btn-icon svg{width:20px;height:20px}.message-input-area .input-wrapper{padding:4px 4px 4px 6px}.message-input-area .input-wrapper textarea{padding:8px 6px;font-size:14px}.send-btn{width:38px;height:38px}.send-btn svg{width:18px;height:18px}}@media(max-width:400px){.search-box{padding:8px 10px}.conversation-item{padding:10px;gap:10px}.conversation-item .avatar{width:42px;height:42px}.avatar-initials{font-size:14px}.new-conversation-btn{margin:10px;padding:10px 14px;font-size:13px}}.staff-messages-page{height:calc(100vh - 120px);padding:24px}.staff-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.staff-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.staff-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.recipient-type-tabs{display:flex;gap:8px;padding:16px 16px 0}.recipient-type-tabs .tab{flex:1;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.recipient-type-tabs .tab:hover{background:#f9fafb}.recipient-type-tabs .tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.recipient-list,.doctor-list,.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.recipient-item,.doctor-item,.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.recipient-item:hover,.doctor-item:hover,.patient-item:hover{background:#f3f4f6}.recipient-item .avatar,.doctor-item .avatar,.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.recipient-item .avatar img,.doctor-item .avatar img,.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.recipient-item .info,.doctor-item .info,.patient-item .info{flex:1;min-width:0}.recipient-item .name,.doctor-item .name,.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.recipient-item .details,.doctor-item .specialization,.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.staff-messages-page{padding:0;height:calc(100vh - 60px)}.staff-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.staff-messages-page .conversations-panel{border-right:none}.staff-messages-page .conversations-panel.mobile-hide,.staff-messages-page .chat-panel{display:none}.staff-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.conversions-page{padding:24px;max-width:1400px;margin:0 auto}.header-left h1{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.header-left .subtitle{margin:4px 0 0;font-size:14px;color:#666}.header-actions{display:flex;gap:12px}.btn-export{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-export:hover:not(:disabled){background:#16a34a}.btn-export:disabled{background:#9ca3af;cursor:not-allowed}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a;line-height:1.2}.stat-label{font-size:13px;color:#6b7280;margin-top:4px}.funnel-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.funnel-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.funnel-chart{display:flex;flex-direction:column;gap:8px;align-items:center}.funnel-stage{padding:12px 24px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.funnel-stage:hover{transform:scale(1.02)}.stage-name{font-weight:500;color:#1a1a1a}.stage-count{font-weight:700;color:#1a1a1a;margin:0 16px}.stage-percent{font-size:13px;color:#4b5563}.filters-section{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.search-box{position:relative;flex:1;min-width:200px}.search-box input{width:100%;padding:10px 12px 10px 36px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.search-box input:focus{border-color:#22c55e}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px}.filter-row select,.filter-row input[type=date]{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;background:#fff;cursor:pointer;min-width:150px}.filter-row select:focus,.filter-row input[type=date]:focus{border-color:#22c55e}.table-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.conversions-table{width:100%;border-collapse:collapse}.conversions-table th{text-align:left;padding:12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb;background:#f9fafb}.conversions-table td{padding:12px;font-size:14px;color:#1a1a1a;border-bottom:1px solid #e5e7eb;vertical-align:middle}.conversions-table tbody tr:hover{background:#f9fafb}.lead-number{font-family:monospace;font-weight:600;color:#22c55e}.lead-name{font-weight:500}.company-name{font-size:12px;color:#6b7280;margin-top:2px}.contact-info{font-size:13px}.contact-info div{margin-bottom:2px}.value-cell{font-weight:600;color:#16a34a}.days-cell{font-weight:500;color:#6b7280}.action-buttons{display:flex;gap:8px}.btn-view,.btn-patient{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:transform .2s}.btn-view{background:#dbeafe}.btn-patient{background:#dcfce7}.btn-view:hover,.btn-patient:hover{transform:scale(1.1)}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#22c55e;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.empty-state p{margin:0;color:#6b7280}.error-state button{margin-top:12px;padding:8px 16px;background:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.pagination button{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#22c55e}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:#6b7280}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}@media(max-width:768px){.analytics-grid{grid-template-columns:1fr}}.analytics-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.analytics-card h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.analytics-list{display:flex;flex-direction:column;gap:12px}.analytics-item{display:flex;flex-direction:column;gap:4px}.item-label{font-size:14px;font-weight:500;color:#1a1a1a}.item-stats{display:flex;justify-content:space-between;font-size:13px}.item-count{color:#6b7280}.item-rate{font-weight:600;color:#22c55e}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.close-btn:hover{color:#1a1a1a}.modal-body{padding:20px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;color:#6b7280}.detail-item span{font-size:14px;font-weight:500;color:#1a1a1a}.detail-text{margin-top:12px}.detail-text label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.detail-text p{margin:0;font-size:14px;color:#1a1a1a;background:#f9fafb;padding:12px;border-radius:8px;white-space:pre-wrap}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e5e7eb}.btn-primary{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover{background:#16a34a}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.filter-row{flex-direction:column}.search-box,.filter-row select,.filter-row input[type=date]{width:100%}.conversions-table{display:block;overflow-x:auto}.detail-grid{grid-template-columns:1fr}}.sales-appointments-page,.book-for-lead-page,.reminders-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left{display:flex;flex-direction:column;gap:4px}.header-left h1{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.header-left .subtitle{margin:0;font-size:14px;color:#666}.btn-back{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:14px;padding:0;margin-bottom:8px}.btn-back:hover{text-decoration:underline}.btn-primary{padding:10px 20px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#1a1a1a;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary:hover{background:#f3f4f6}.btn-refresh{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px}.btn-refresh:hover{background:#f3f4f6}.btn-outline{padding:10px 20px;background:#fff;color:#4f46e5;border:1px solid #4f46e5;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-outline:hover:not(:disabled){background:#f5f3ff}.btn-outline:disabled{color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.header-actions{display:flex;gap:12px;align-items:center}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.info-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:24px}.info-icon{font-size:20px}.info-banner p{margin:0;font-size:14px;color:#1e40af;line-height:1.5}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.stat-icon{font-size:24px}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a}.stat-label{font-size:12px;color:#6b7280}.filters-section{display:flex;gap:16px;align-items:center;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px}.filter-group label{font-size:14px;color:#6b7280}.filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;flex:1;max-width:300px}.search-icon{font-size:16px;color:#6b7280}.search-input{flex:1;border:none;background:transparent;font-size:14px;outline:none}.search-input::placeholder{color:#9ca3af}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.appointment-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.date-badge{display:flex;flex-direction:column;align-items:center;background:#4f46e5;color:#fff;padding:8px 12px;border-radius:8px}.date-badge .day{font-size:20px;font-weight:700}.date-badge .month{font-size:12px;text-transform:uppercase}.time-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.time-info .time{font-size:16px;font-weight:600;color:#1a1a1a}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.card-body{padding:16px}.patient-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a1a}.patient-info .phone{font-size:13px;color:#6b7280}.doctor-info,.type-info,.reason-info{display:flex;gap:8px;margin-top:8px;font-size:13px}.doctor-info .label,.type-info .label,.reason-info .label{color:#6b7280}.doctor-info .value,.type-info .value,.reason-info .value{color:#1a1a1a}.card-footer{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.action-buttons,.quick-actions{display:flex;gap:8px}.btn-action.call,.btn-action.whatsapp,.btn-action.email,.btn-quick{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:16px;padding:0}.btn-action.call:hover:not(:disabled),.btn-quick.call:hover:not(:disabled){background:#dcfce7;border-color:#22c55e}.btn-action.whatsapp:hover:not(:disabled),.btn-quick.whatsapp:hover:not(:disabled){background:#dcfce7;border-color:#25d366}.btn-action.email:hover:not(:disabled),.btn-quick.email:hover:not(:disabled){background:#dbeafe;border-color:#3b82f6}.btn-action:disabled,.btn-quick:disabled{opacity:.4;cursor:not-allowed}.btn-link{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:14px;padding:0}.btn-link:hover{text-decoration:underline}.booking-form{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:24px}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5}.form-group input.error,.form-group select.error{border-color:#ef4444}.error-text{font-size:12px;color:#ef4444;margin-top:4px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.selected-lead-info{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.selected-lead-info h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a1a1a}.lead-details p{margin:4px 0;font-size:14px;color:#374151}.already-converted{color:#16a34a;font-weight:500;margin-top:12px}.selected-doctor-info{margin-top:12px;padding:12px;background:#f0fdf4;border-radius:6px;border:1px solid #86efac}.selected-doctor-info p{margin:4px 0;font-size:14px}.detail-row{display:flex;gap:8px;padding:6px 0}.detail-label{font-weight:500;color:#6b7280;min-width:100px}.detail-value{color:#1a1a1a}.status-badge-inline,.temp-badge-inline{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.hint-text{display:block;font-size:12px;color:#9ca3af;margin-top:6px}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.patient-info .email{display:block;font-size:12px;color:#6b7280;margin-top:2px}.specialization{font-size:12px;color:#6b7280;margin-left:4px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.reminder-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.summary-card .count{font-size:32px;font-weight:700}.summary-card .label{font-size:14px;color:#6b7280;margin-top:4px}.summary-card.today{background:#fef3c7;border-color:#f59e0b}.summary-card.today .count{color:#92400e}.summary-card.tomorrow{background:#dbeafe;border-color:#3b82f6}.summary-card.tomorrow .count{color:#1e40af}.summary-card.upcoming{background:#dcfce7;border-color:#22c55e}.summary-card.upcoming .count{color:#166534}.summary-card.total{background:#f3e8ff;border-color:#a855f7}.summary-card.total .count{color:#7c3aed}.reminders-list{display:flex;flex-direction:column;gap:24px}.reminder-group{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.group-header{display:flex;align-items:center;gap:8px;padding:16px;margin:0;font-size:16px;font-weight:600;border-bottom:1px solid #e5e7eb}.group-header.today{background:#fef3c7;color:#92400e}.group-header.tomorrow{background:#dbeafe;color:#1e40af}.group-header.upcoming{background:#f9fafb;color:#1a1a1a}.reminder-cards{padding:16px;display:flex;flex-direction:column;gap:12px}.reminder-card{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.reminder-card.urgent{background:#fef3c7;border-color:#f59e0b}.reminder-card.soon{background:#dbeafe;border-color:#3b82f6}.card-left{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:100px}.time-block,.date-block{display:flex;flex-direction:column;align-items:center}.time-block .time,.date-block .time{font-size:18px;font-weight:700;color:#1a1a1a}.date-block .date{font-size:13px;color:#6b7280;text-align:center}.reminder-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.reminder-badge.today{background:#fef3c7;color:#92400e}.reminder-badge.tomorrow{background:#dbeafe;color:#1e40af}.reminder-badge.soon{background:#dcfce7;color:#166534}.reminder-badge.later{background:#f3f4f6;color:#4b5563}.card-center{flex:1}.card-center h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a1a}.card-center p{margin:2px 0;font-size:13px;color:#6b7280}.card-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.btn-action{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px}.btn-action:hover{background:#f3f4f6}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;color:#1a1a1a}.empty-state p{margin:0 0 20px;color:#6b7280}.error-state button{margin-top:12px;padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer}@media(max-width:1024px){.stats-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.stats-row,.reminder-summary{grid-template-columns:repeat(2,1fr)}.filters-section{flex-wrap:wrap}.search-box{max-width:none;width:100%}.form-row,.appointments-grid{grid-template-columns:1fr}.reminder-card{flex-direction:column;align-items:flex-start}.card-left{flex-direction:row;width:100%;justify-content:space-between}.card-right{width:100%;flex-direction:row;justify-content:space-between}.form-actions{flex-wrap:wrap}.form-actions button{flex:1;min-width:120px}}.sales-support-dashboard{padding:24px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header .header-left h1{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--color-text-primary)}.page-header .subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.error-card{padding:16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.error-card .error-message{margin:0 0 12px;color:#dc2626}.filters-card{margin-bottom:24px;padding:16px}.filters-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.filter-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:#fff;min-width:150px}.filter-select:focus{outline:none;border-color:var(--color-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-label{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}.chart-card{padding:20px}.chart-card h3{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--color-text-primary)}.category-list{display:flex;flex-direction:column;gap:12px}.category-item{display:flex;align-items:center;justify-content:space-between}.category-info{display:flex;align-items:center;gap:10px}.category-dot{width:12px;height:12px;border-radius:50%}.category-name{font-size:14px;color:var(--color-text-primary)}.category-count{font-size:14px;font-weight:600;color:var(--color-text-primary)}.priority-list{display:flex;flex-direction:column;gap:12px}.priority-item{width:100%}.priority-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;color:#fff;font-size:13px;font-weight:500}.priority-label{text-transform:capitalize}.priority-count{font-weight:700}.recent-tickets-card{margin-bottom:24px}.recent-tickets-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.recent-tickets-card .card-header h3{font-size:18px;font-weight:600;margin:0}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:14px;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap}.data-table td{padding:16px;border-bottom:1px solid var(--color-border);font-size:14px}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.ticket-number{font-family:monospace;font-weight:600;color:#2563eb}.ticket-subject{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:var(--color-text-secondary);font-size:13px}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-info{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f4f6;color:#374151}.priority-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.empty-state-card{padding:60px 20px;text-align:center}.empty-state-card .empty-icon{font-size:64px;margin-bottom:16px}.empty-state-card h3{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-card p{color:var(--color-text-secondary);margin-bottom:20px}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--color-text-primary)}.quick-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.quick-help-card{padding:24px;cursor:pointer;transition:transform .2s,box-shadow .2s}.quick-help-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.quick-help-card .help-icon{font-size:32px;margin-bottom:12px}.quick-help-card .help-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--color-text-primary)}.quick-help-card .help-description{font-size:14px;color:var(--color-text-secondary)}.faqs-card{margin-bottom:24px}.faq-item{padding:20px}.faq-item-border{border-bottom:1px solid var(--color-border)}.faq-category-badge{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:4px;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.faq-question{font-size:15px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.faq-answer{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.6}.chat-modal{background:#fff;border-radius:16px;max-width:450px;width:100%;max-height:600px;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;background:#2563eb;color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-header-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px}.chat-title{font-weight:600;font-size:16px}.chat-status{font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#fff;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:400px;background:#f9fafb}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.support{justify-content:flex-start}.message-bubble{max-width:80%;padding:12px 16px;border-radius:16px;box-shadow:0 1px 2px #0000001a}.chat-message.user .message-bubble{background:#2563eb;color:#fff;border-radius:16px 16px 4px}.chat-message.support .message-bubble{background:#fff;color:#1a1a1a;border-radius:16px 16px 16px 4px}.message-bubble p{margin:0;font-size:14px;line-height:1.5}.message-time{display:block;font-size:11px;opacity:.7;text-align:right;margin-top:4px}.chat-input{padding:12px 16px;border-top:1px solid var(--color-border);display:flex;gap:8px;background:#fff}.chat-input input{flex:1;padding:10px 14px;border:1px solid #e5e7eb;border-radius:24px;font-size:14px;outline:none}.chat-input input:focus{border-color:#2563eb}.chat-input button{padding:10px 24px;background:#e5e7eb;color:#9ca3af;border:none;border-radius:24px;cursor:not-allowed;font-weight:500;font-size:14px;transition:background .2s,color .2s}.chat-input button.active{background:#2563eb;color:#fff;cursor:pointer}.chat-input button.active:hover{background:#1d4ed8}.sales-ticket-management{padding:24px}.sales-ticket-management .filters-card{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px}.search-input:focus{outline:none;border-color:var(--color-primary)}.escalate-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;padding:24px}.escalate-modal h2{font-size:20px;font-weight:600;margin-bottom:8px}.escalate-modal p{color:var(--color-text-secondary);margin-bottom:20px}.escalate-modal textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;resize:vertical;min-height:100px;font-family:inherit}.escalate-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.success-card{padding:16px;margin-bottom:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.success-card p{margin:0;color:#16a34a}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.quick-help-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid,.quick-help-grid{grid-template-columns:1fr}}.sales-messages-page{height:calc(100vh - 120px);padding:24px}.sales-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.sales-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.sales-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.patient-item:hover{background:#f3f4f6}.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.patient-item .info{flex:1;min-width:0}.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.sales-messages-page{padding:0;height:calc(100vh - 60px)}.sales-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.sales-messages-page .conversations-panel{border-right:none}.sales-messages-page .conversations-panel.mobile-hide,.sales-messages-page .chat-panel{display:none}.sales-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.patient-messages-page{height:calc(100vh - 120px);padding:24px}.patient-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.patient-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.new-chat-btn-container{padding:16px;border-top:1px solid var(--color-border);background:#fff}.new-chat-btn{width:100%}.patient-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.mobile-back-btn{display:none;padding:12px 16px;background:#f9fafb;border:none;border-bottom:1px solid var(--color-border);font-size:14px;font-weight:500;color:#2563eb;cursor:pointer;text-align:left}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;background:#f9fafb;padding:48px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.6}.no-conversation-selected h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a1a1a}.no-conversation-selected p{margin:0 0 24px;font-size:14px;max-width:300px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:18px;font-weight:600}.modal-header .close-btn{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.modal-header .close-btn:hover{color:#1a1a1a}.modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.search-input{margin:16px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;width:calc(100% - 32px)}.search-input:focus{outline:none;border-color:#2563eb}.doctor-list,.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.doctor-item,.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.doctor-item:hover,.patient-item:hover{background:#f3f4f6}.doctor-item .avatar,.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.doctor-item .avatar img,.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.doctor-item .info,.patient-item .info{flex:1;min-width:0}.doctor-item .name,.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.doctor-item .specialization,.doctor-item .details,.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}.doctor-item .rating{display:inline-block;font-size:12px;color:#f59e0b;margin-top:4px}.loading-state,.empty-state{padding:48px 24px;text-align:center;color:#6b7280;font-size:14px}@media(max-width:768px){.patient-messages-page{padding:0;height:calc(100vh - 60px)}.patient-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.patient-messages-page .conversations-panel{border-right:none}.patient-messages-page .conversations-panel.mobile-hide,.patient-messages-page .chat-panel{display:none}.patient-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.specialization-select-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.spec-page-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.spec-page-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.spec-page-logo-text{font-size:26px;font-weight:700;color:#166534}.specialization-select-content{max-width:800px;margin:0 auto;padding:24px}.specialization-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.header-text h1{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}.header-text p{font-size:14px;color:#6b7280;margin:0}.welcome-banner{display:flex;align-items:flex-start;gap:14px;padding:16px;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:12px;margin-bottom:24px}.welcome-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border-radius:10px;color:#ec4899;flex-shrink:0}.welcome-text strong{font-size:15px;color:#1e40af;display:block;margin-bottom:4px}.welcome-text p{font-size:13px;color:#4338ca;margin:0;line-height:1.5}.error-banner:hover{background:#fee2e2}.specialization-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px}.specialization-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 2px 8px #22c55e14}.specialization-card:hover{border-color:#86efac;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e26}.specialization-card.selected{border-width:2px;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e33}.spec-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;margin-bottom:10px;transition:all .2s ease}.spec-name{font-size:13px;font-weight:600;color:#374151;transition:color .2s ease}.check-badge{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-action{position:sticky;bottom:0;background:linear-gradient(to top,#f0fdf4 80%,transparent);margin:0 -24px;padding:16px 24px}.search-action button{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#39c94c,#22c55e)!important;box-shadow:0 8px 24px #22c55e66!important}@media(max-width:640px){.specialization-select-content{padding:16px}.header-text h1{font-size:20px}.specialization-grid{grid-template-columns:repeat(2,1fr);gap:10px}.specialization-card{padding:16px 10px}.spec-icon{width:40px;height:40px}.spec-name{font-size:12px}.search-action{margin:0 -16px;padding-left:16px;padding-right:16px}}@media(min-width:768px){.specialization-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.specialization-grid{grid-template-columns:repeat(5,1fr)}}.public-booking-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4);padding-bottom:40px}.public-booking-container.success-view{display:flex;flex-direction:column;align-items:center;padding:0 20px 40px}.booking-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.booking-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.booking-logo-text{font-size:26px;font-weight:700;color:#166534}.booking-content{max-width:600px;margin:0 auto;padding:0 24px 24px}.booking-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.booking-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:24px;margin-bottom:16px;border:1px solid rgba(34,197,94,.1)}.doctor-card{padding:20px}.doctor-header-section{display:flex;gap:16px}.doctor-avatar-booking{flex-shrink:0;width:72px;height:72px}.doctor-avatar-booking img{width:72px;height:72px;border-radius:14px;object-fit:cover}.avatar-placeholder-booking{width:72px;height:72px;border-radius:14px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.doctor-name-booking{font-size:18px;font-weight:700;color:#111827;margin:0 0 4px}.doctor-specialty-booking{font-size:14px;color:#6b7280;margin:0 0 2px}.doctor-qualification-booking{font-size:12px;color:#9ca3af;margin:0 0 8px}.doctor-meta-booking{display:flex;align-items:center;gap:12px}.rating-booking{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#374151}.review-count-booking{color:#9ca3af;font-weight:400}.hospital-section-booking{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.hospital-header-booking{display:flex;align-items:center;gap:10px}.hospital-logo-booking{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.hospital-logo-placeholder-booking{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.hospital-details-booking{flex:1;min-width:0}.hospital-name-booking{font-size:14px;font-weight:600;color:#111827;display:block}.hospital-address-booking{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;margin:2px 0 0}.form-card{padding:24px}.section-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fee2e2;border-radius:10px;color:#dc2626;font-size:14px;margin-bottom:20px}.form-section{margin-bottom:24px}.section-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:10px}.section-label .required{color:#dc2626;margin-left:2px}.section-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slots-summary{display:flex;gap:12px;font-size:13px}.available-count{color:#16a34a;font-weight:500}.booked-count{color:#dc2626;font-weight:500}.consultation-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#6b7280;position:relative}.type-option:hover{border-color:#bbf7d0;background:#f0fdf4}.type-option.selected{border-color:#22c55e;background:#22c55e0d;color:#166534}.type-option span{font-size:14px;font-weight:500}.type-fee{font-size:16px!important;font-weight:700!important;color:#059669}.prepay-badge{position:absolute;top:-8px;right:-8px;background:#3b82f6;color:#fff;font-size:10px!important;font-weight:600!important;padding:3px 8px;border-radius:10px}.calendar-input-wrapper{display:flex;align-items:center;gap:16px;margin-bottom:16px}.calendar-input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;color:#374151;background:#fff;cursor:pointer;transition:all .2s ease}.calendar-input:hover{border-color:#bbf7d0}.calendar-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.selected-date-display{font-size:15px;font-weight:600;color:#166534;background:#f0fdf4;padding:8px 16px;border-radius:8px;white-space:nowrap}.quick-dates-label{font-size:13px;color:#6b7280;margin:0 0 10px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.date-option{display:flex;flex-direction:column;align-items:center;padding:10px 6px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.date-option:hover{border-color:#bbf7d0;background:#f0fdf4}.date-option.selected{border-color:#22c55e;background:#22c55e14}.date-day{font-size:10px;color:#9ca3af;text-transform:uppercase}.date-num{font-size:18px;font-weight:600;color:#374151;margin:2px 0}.date-option.selected .date-num{color:#166534}.date-month{font-size:10px;color:#9ca3af}.no-dates-warning{padding:24px;text-align:center;background:#fef3c7;border-radius:12px;border:1px solid #F59E0B}.no-dates-warning svg{margin-bottom:12px}.no-dates-warning h4{margin:0 0 8px;color:#92400e;font-size:16px}.no-dates-warning p{margin:0;color:#b45309;font-size:14px;line-height:1.5}.call-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;background:#22c55e;color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s}.call-btn:hover{background:#16a34a}.slots-loading{display:flex;align-items:center;gap:10px;padding:20px;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:10px}.no-slots{display:flex;align-items:center;gap:10px;padding:20px;background:#f9fafb;border-radius:10px;color:#6b7280;font-size:14px}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slot-option{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;position:relative}.slot-option:hover:not(:disabled){border-color:#bbf7d0;background:#f0fdf4}.slot-option.selected{border-color:#22c55e;background:#22c55e14;color:#166534}.slot-option.booked{opacity:.7;cursor:not-allowed;background:#fef2f2;border-color:#fecaca}.slot-option.past{opacity:.5;cursor:not-allowed;background:#f9fafb;border-color:#e5e7eb}.slot-time{display:block}.slot-status{display:block;font-size:9px;font-weight:600;text-transform:uppercase;margin-top:2px}.booked-status{color:#dc2626}.past-status{color:#6b7280}.slot-check{position:absolute;top:4px;right:4px;font-size:10px;color:#22c55e;font-weight:700}.form-textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-textarea::placeholder{color:#9ca3af}.form-textarea.input-warning{border-color:#f59e0b}.form-textarea.input-warning:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.char-count-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:0 4px}.char-count{font-size:12px}.char-count.warning{color:#d97706}.char-count.success{color:#16a34a}.char-check{color:#22c55e;font-weight:700;font-size:14px}.booking-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#374151}.summary-fee{font-size:20px;font-weight:700;color:#059669}.payment-notice{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #bbf7d0;font-size:13px;color:#3b82f6}.booking-action{margin-top:8px}.book-btn{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#22c55e,#16a34a)!important}.book-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d)!important}.book-btn:disabled{opacity:.6;cursor:not-allowed}.new-user-notice{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#eff6ff;border-radius:8px;font-size:13px;color:#1e40af}.new-user-notice svg{flex-shrink:0;margin-top:1px}.success-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:32px;text-align:center;border:1px solid rgba(34,197,94,.1);max-width:500px;width:100%}.success-icon{width:100px;height:100px;border-radius:50%;background:#22c55e1a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.success-subtitle{font-size:15px;color:#6b7280;margin:0 0 24px}.new-profile-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ecfdf5;border:1px solid #d1fae5;border-radius:12px;text-align:left;margin-bottom:24px}.new-profile-notice svg{flex-shrink:0;color:#059669;margin-top:2px}.new-profile-notice strong{display:block;font-size:14px;color:#065f46;margin-bottom:4px}.new-profile-notice p{font-size:13px;color:#047857;margin:0;line-height:1.5}.appointment-details{background:#f9fafb;border-radius:12px;padding:16px;margin-bottom:24px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-label{font-size:13px;color:#6b7280}.detail-value{font-size:14px;font-weight:500;color:#111827}.detail-value.fee{color:#059669;font-weight:600}.success-actions{display:flex;flex-direction:column;gap:12px}.success-btn{width:100%;height:48px;border-radius:10px}@media(max-width:640px){.booking-content{padding:0 16px 24px}.booking-card{padding:20px}.doctor-header-section{flex-direction:column;align-items:center;text-align:center}.doctor-meta-booking{justify-content:center}.hospital-header-booking{flex-direction:column;align-items:center;text-align:center}.consultation-types{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(4,1fr)}.slots-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.date-grid{grid-template-columns:repeat(3,1fr)}.slots-grid{grid-template-columns:repeat(2,1fr)}.section-label-row{flex-direction:column;align-items:flex-start;gap:8px}}.doctor-search-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.doctor-search-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.doctor-search-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.doctor-search-logo-text{font-size:26px;font-weight:700;color:#166534}.doctor-search-content{max-width:800px;margin:0 auto;padding:24px}.search-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.header-info h1{font-size:22px;font-weight:700;color:#111827;margin:0 0 2px}.header-info p{font-size:14px;color:#6b7280;margin:0}.filters-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:100px;font-size:13px;font-weight:600;color:#166534}.filter-chip button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#166534;padding:0;margin-left:2px}.filter-chip button:hover{color:#14532d}.sort-dropdown{display:flex;align-items:center;gap:8px;flex-shrink:0}.sort-dropdown label{font-size:13px;color:#6b7280}.sort-dropdown select{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.sort-dropdown select:focus{outline:none;border-color:#4f46e5}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fee2e2;border-radius:10px;color:#dc2626;font-size:14px;margin-bottom:20px;cursor:pointer}.doctor-list{display:flex;flex-direction:column;gap:16px}.no-results{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.no-results svg{margin-bottom:16px}.no-results h3{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.no-results p{font-size:14px;color:#6b7280;margin-bottom:20px}.doctor-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:20px;transition:all .2s ease;border:1px solid rgba(34,197,94,.1)}.doctor-card:hover{box-shadow:0 8px 24px #22c55e26;transform:translateY(-2px)}.doctor-info-section{display:flex;gap:14px;margin-bottom:14px}.doctor-avatar{flex-shrink:0;width:64px;height:64px;position:relative}.doctor-avatar img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:transparent}.doctor-avatar img[src=""],.doctor-avatar img:not([src]),.doctor-avatar img.img-error{display:none}.avatar-placeholder{width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.avatar-placeholder.has-initials{background:linear-gradient(135deg,#22c55e,#16a34a)}.doctor-details{flex:1;min-width:0}.doctor-name{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.doctor-specialty{font-size:13px;color:#6b7280;margin:0 0 2px}.doctor-qualification{font-size:12px;color:#9ca3af;margin:0 0 8px}.doctor-meta{display:flex;align-items:center;gap:12px}.rating{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#374151}.review-count{color:#9ca3af;font-weight:400}.fee{font-size:14px;font-weight:600;color:#059669}.hospital-section{padding:14px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;margin-bottom:14px}.hospital-info{margin-bottom:10px}.hospital-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hospital-logo{width:28px;height:28px;border-radius:8px;object-fit:cover;background:transparent}.hospital-logo[src=""],.hospital-logo:not([src]),.hospital-logo.img-error{display:none}.hospital-logo-placeholder{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase}.hospital-logo-placeholder.has-initials{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 2px 8px #0ea5e94d}.hospital-name{font-size:14px;font-weight:500;color:#374151}.hospital-address{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:#6b7280;margin:0 0 8px;line-height:1.4}.hospital-address svg{flex-shrink:0;margin-top:2px}.directions-btn{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:none;color:#4f46e5;font-size:13px;font-weight:500;cursor:pointer}.directions-btn:hover{color:#3730a3;text-decoration:underline}.availability-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500}.card-actions{display:flex;gap:10px}.card-actions button{flex:1}.load-more{display:flex;justify-content:center;margin-top:24px}@media(max-width:640px){.doctor-search-content{padding:16px}.header-info h1{font-size:18px}.filters-bar,.doctor-info-section{flex-direction:column;align-items:flex-start}.doctor-avatar img,.avatar-placeholder{width:56px;height:56px}.card-actions{flex-direction:column}}.doctor-profile-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.doctor-profile-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.doctor-profile-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.doctor-profile-logo-text{font-size:26px;font-weight:700;color:#166534}.doctor-profile-content{max-width:600px;margin:0 auto;padding:24px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#fff;border-radius:10px;cursor:pointer;color:#374151;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;flex-shrink:0}.back-btn:hover{background:#f3f4f6;color:#111827}.header-info h1{font-size:22px;font-weight:700;color:#111827;margin:0}.profile-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:24px;border:1px solid rgba(34,197,94,.1)}.doctor-header-section{display:flex;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f3f4f6}.doctor-avatar-large{flex-shrink:0;width:100px;height:100px;position:relative}.doctor-avatar-large img{width:100px;height:100px;border-radius:16px;object-fit:cover}.avatar-placeholder-large{width:100px;height:100px;border-radius:16px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.doctor-header-info{flex:1;min-width:0}.doctor-name-large{font-size:22px;font-weight:700;color:#111827;margin:0 0 6px}.doctor-specialty-large{font-size:15px;color:#6b7280;margin:0 0 4px}.doctor-qualification-large{font-size:13px;color:#9ca3af;margin:0 0 12px}.doctor-meta-large{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rating-large{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#374151}.review-count-large{color:#9ca3af;font-weight:400}.fee-large{font-size:18px;font-weight:700;color:#059669}.consultation-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.consultation-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;font-size:13px;font-weight:500;color:#166534}.availability-section{margin-bottom:20px}.availability-badge-large{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600}.next-available{margin:8px 0 0;font-size:13px;color:#6b7280}.hospital-section-large{margin-bottom:24px;padding:20px;background:#f9fafb;border-radius:12px}.section-title{font-size:14px;font-weight:600;color:#6b7280;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.hospital-card{display:flex;flex-direction:column;gap:12px}.hospital-header-large{display:flex;align-items:flex-start;gap:12px}.hospital-logo-large{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.hospital-logo-placeholder-large{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.hospital-details{flex:1;min-width:0}.hospital-name-large{font-size:16px;font-weight:600;color:#111827;display:block;margin-bottom:4px}.hospital-address-large{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#6b7280;margin:0;line-height:1.4}.hospital-address-large svg{flex-shrink:0;margin-top:2px}.directions-btn-large{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4f46e5;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.directions-btn-large:hover{background:#f5f3ff;border-color:#4f46e5}.profile-actions{display:flex;flex-direction:column;gap:12px}.book-btn-large{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:12px}.error-card{text-align:center;padding:48px 24px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014}.error-icon{margin-bottom:16px}.error-card h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.error-card p{font-size:14px;color:#6b7280;margin:0 0 20px}@media(max-width:640px){.doctor-profile-content{padding:16px}.profile-card{padding:20px}.doctor-header-section{flex-direction:column;align-items:center;text-align:center}.doctor-meta-large{justify-content:center}.doctor-avatar-large,.doctor-avatar-large img,.avatar-placeholder-large{width:80px;height:80px}.avatar-placeholder-large{font-size:26px}.doctor-name-large{font-size:20px}.consultation-types{justify-content:center}.hospital-header-large{flex-direction:column;align-items:center;text-align:center}.hospital-address-large{justify-content:center}.directions-btn-large{width:100%;justify-content:center}}:root{--primary-50: #e8f9ec;--primary-100: #c5f0ce;--primary-200: #9ee6ad;--primary-300: #77dc8c;--primary-400: #58d473;--primary-500: #39c94c;--primary-600: #33c346;--primary-700: #2cbb3d;--primary-800: #24b335;--primary-900: #17a525;--secondary-50: #e3f3fc;--secondary-100: #b9e1f8;--secondary-200: #8bcef3;--secondary-300: #5dbaee;--secondary-400: #3aabea;--secondary-500: #107fd6;--secondary-600: #0e76d1;--secondary-700: #0c6bcc;--secondary-800: #0961c7;--secondary-900: #044ebe;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--success: #4caf50;--success-50: #e8f5e9;--success-100: #c8e6c9;--success-200: #a5d6a7;--success-300: #81c784;--success-400: #66bb6a;--success-500: #4caf50;--success-600: #43a047;--success-700: #388e3c;--success-800: #2e7d32;--success-900: #1b5e20;--success-light: #e8f5e9;--success-dark: #388e3c;--warning: #ff9800;--warning-50: #fff3e0;--warning-100: #ffe0b2;--warning-200: #ffcc80;--warning-300: #ffb74d;--warning-400: #ffa726;--warning-500: #ff9800;--warning-600: #fb8c00;--warning-700: #f57c00;--warning-800: #ef6c00;--warning-900: #e65100;--warning-light: #fff3e0;--warning-dark: #f57c00;--error: #f44336;--danger-50: #ffebee;--danger-100: #ffcdd2;--danger-200: #ef9a9a;--danger-300: #e57373;--danger-400: #ef5350;--danger-500: #f44336;--danger-600: #e53935;--danger-700: #d32f2f;--danger-800: #c62828;--danger-900: #b71c1c;--error-light: #ffebee;--error-dark: #d32f2f;--info: #2196f3;--info-50: #e3f2fd;--info-100: #bbdefb;--info-200: #90caf9;--info-300: #64b5f6;--info-400: #42a5f5;--info-500: #2196f3;--info-600: #1e88e5;--info-700: #1976d2;--info-800: #1565c0;--info-900: #0d47a1;--info-light: #e3f2fd;--info-dark: #1976d2;--background: #ffffff;--background-secondary: #f5f5f5;--surface: #ffffff;--surface-hover: #fafafa;--text-primary: #212121;--text-secondary: #757575;--text-disabled: #bdbdbd;--text-on-primary: #ffffff;--text-on-secondary: #ffffff;--border-color: #e0e0e0;--divider-color: #e0e0e0;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "Monaco", "Menlo", "Ubuntu Mono", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--background: #121212;--background-secondary: #1e1e1e;--surface: #1e1e1e;--surface-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-disabled: #6e6e6e;--border-color: #333333;--divider-color: #333333}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--background)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::selection{background-color:var(--primary-200);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
