@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 spin{to{transform:rotate(360deg)}}@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}.input-required{color:var(--error)}.input-container{display:flex;align-items:center;background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease-in-out;overflow:hidden}.input-container:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.input-container.input-error{border-color:var(--error)}.input-container.input-error:focus-within{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:transparent;border:none;outline:none}.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)}.input-icon-left{padding-left:var(--spacing-md)}.input-icon-right{padding-right:var(--spacing-md)}.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))}.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,rgba(57,201,76,.1) 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,#39c94c,#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}@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,#39c94c,#2ea043);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.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,#39c94c0d,#2ea0430d);opacity:0;transition:opacity .3s ease}.role-card:hover{border-color:#39c94c;transform:translateY(-4px);box-shadow:0 12px 32px #39c94c33}.role-card:hover:before{opacity:1}.role-card:active{transform:translateY(-2px)}.role-card-icon{position:relative;z-index:1}.role-icon{color:#39c94c;transition:all .3s ease}.role-card:hover .role-icon{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(57,201,76,.3))}.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:#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:#39c94c1a;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-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:#39C94C}.forgot-password{background:none;border:none;color:#39c94c;font-size:var(--font-size-sm);cursor:pointer;font-weight:600;transition:all .2s ease}.forgot-password:hover{color:#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:#39c94c;text-decoration:none;font-weight:600;transition:all .2s ease}.signup-link:hover{color:#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;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:2rem}.signup-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;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 var(--gray-200);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.role-option-card:hover{border-color:var(--primary-color);background:var(--primary-color-light, rgba(99, 102, 241, .05));transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.role-option-card:active{transform:translateY(0)}.role-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.patient-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.hospital-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.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:var(--primary-color);text-decoration:none;font-weight:600;transition:color .2s}.signup-link:hover{color:var(--primary-dark);text-decoration:underline}.form-steps{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem;position:relative}.form-steps:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:var(--gray-200);z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1}.step-number{width:40px;height:40px;border-radius:50%;background:var(--gray-200);color:var(--gray-500);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;transition:all .3s ease}.step.active .step-number{background:var(--primary-color);color:#fff;box-shadow:0 0 0 4px #6366f11a}.step.completed .step-number{background:var(--success-color);color:#fff}.step-label{font-size:.75rem;color:var(--gray-600);font-weight:500;text-align:center}.step.active .step-label{color:var(--primary-color);font-weight:600}.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}.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)}}@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}}.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 #39c94c4d}.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 #39c94c33}.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}.header-left{display:flex;flex-direction:column;gap:4px}.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: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 #39c94c4d}.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)}.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-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}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-card-span-2{grid-column:span 2}}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card-span-2{grid-column:span 1}.metrics-grid{grid-template-columns:1fr}}.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)}}.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}.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;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.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{width:100%;border-collapse:collapse}.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}}.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}@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-y:auto;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}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--gray-200)}.form-section{margin-bottom:24px}.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%;background:linear-gradient(135deg,#667eea,#764ba2)}.call-ended-content{text-align:center;color:#fff;padding:60px;background:#0000004d;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.call-ended-icon{font-size:120px;margin-bottom:24px;opacity:.8}.call-ended-content h2{font-size:36px;margin:0 0 12px}.call-ended-content p{font-size:20px;margin:0 0 32px;opacity:.9}.call-ended-actions{display:flex;gap:16px;justify-content:center}.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-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.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)}@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}}@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}}: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}}
