@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(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}.form-group label,.form-field label,.modal-body label,.form-section label,form label{display:block;text-align:left!important;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-group label span,.form-field label span,.modal-body label span,.form-section label span,form label span,label .required,label .mandatory,label:after{color:#dc2626!important}.form-group label,.form-field label,.modal-body label,.form-section label,form label{color:#374151}label.required:after,.form-label.required:after{content:" *";color:#dc2626!important}.required-asterisk{color:#dc2626!important;font-weight:700;margin-left:2px}.form-grid{display:grid;gap:16px}.form-grid.two-columns{grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.form-grid.two-columns{grid-template-columns:1fr}}.form-group,.form-field{display:flex;flex-direction:column;align-items:flex-start;width:100%}.form-group input,.form-group select,.form-group textarea,.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#39c94c;box-shadow:0 0 0 3px #39c94c1a}.form-group input::placeholder,.form-field input::placeholder{color:#9ca3af}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-sizing:border-box;border:2px solid white;box-shadow:0 2px 4px #00000026;z-index:10;line-height:1;transform:translateZ(0)}.notification-badge.large-count{min-width:22px;font-size:9px;padding:0 4px}.header-action-button{position:relative;overflow:visible}@media(max-width:768px){.notification-badge{top:-3px;right:-3px;min-width:14px;height:14px;font-size:9px;border-width:1.5px;padding:0 3px}.notification-badge.large-count{min-width:18px;font-size:8px}}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.checkbox-wrapper label{margin:0;line-height:1.4}.patient-name,.patient-card .name,.card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:768px){.search-dropdown form>div{flex-direction:column}.search-dropdown form button[type=submit]{width:100%}}.super-specialist-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.super-specialist-badge svg{width:12px;height:12px;flex-shrink:0}.super-specialist-badge.badge-sm{padding:2px 6px;font-size:10px}.super-specialist-badge.badge-sm svg{width:10px;height:10px}.super-specialist-badge.badge-lg{padding:4px 10px;font-size:12px}.super-specialist-badge.badge-lg svg{width:14px;height:14px}.modal-standard{width:100%;max-width:600px;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.modal-standard.modal-sm{max-width:400px}.modal-standard.modal-lg{max-width:800px}.modal-standard.modal-xl{max-width:1000px}.modal-standard-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--gray-200, #e5e7eb)}.modal-standard-title{font-size:20px;font-weight:700;color:var(--gray-900, #111827);margin:0}.modal-standard-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-100, #f3f4f6);border:none;border-radius:8px;font-size:20px;color:var(--gray-700, #374151);cursor:pointer;transition:all .2s ease}.modal-standard-close:hover{background:var(--danger-100, #fee2e2);color:var(--danger-600, #dc2626);transform:scale(1.05)}.modal-standard-body{flex:1;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-standard-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb)}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;text-align:left;font-size:14px;font-weight:600;color:var(--gray-700, #374151);margin-bottom:8px}.form-label.required:after{content:" *";color:var(--danger-500, #ef4444);font-weight:700}.form-input{width:100%;padding:12px 14px;border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:14px;font-family:inherit;color:var(--gray-900, #111827);background:#fff;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 3px var(--primary-100, #dbeafe)}.form-input:disabled{background:var(--gray-100, #f3f4f6);cursor:not-allowed}.form-input::placeholder{color:var(--gray-400, #9ca3af)}.form-textarea{min-height:100px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input.is-invalid{border-color:var(--danger-500, #ef4444);background-color:var(--danger-50, #fef2f2)}.form-input.is-invalid:focus{box-shadow:0 0 0 3px var(--danger-100, #fee2e2)}.form-input.is-valid{border-color:var(--success-500, #22c55e)}.form-error{display:block;font-size:12px;color:var(--danger-600, #dc2626);margin-top:6px;text-align:left}.form-hint{display:block;font-size:12px;color:var(--gray-500, #6b7280);margin-top:6px;text-align:left}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:640px){.form-row,.form-row-3{grid-template-columns:1fr}}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin-left:-9px;margin-top:-9px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btnSpinner .6s linear infinite}.btn-loading.btn-outline:after,.btn-loading.btn-secondary:after{border-color:#0003;border-top-color:var(--gray-700, #374151)}@keyframes btnSpinner{to{transform:rotate(360deg)}}.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:120px}.btn-submit .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btnSpinner .6s linear infinite}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.modal-overlay-standard{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.form-checkbox-group{display:flex;flex-direction:column;gap:10px}.form-checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gray-700, #374151);cursor:pointer}.form-checkbox-label input[type=checkbox],.form-checkbox-label input[type=radio]{width:18px;height:18px;accent-color:var(--primary-500, #3b82f6);cursor:pointer}@media(max-width:768px){.modal-standard{max-width:95%;max-height:95vh;margin:10px}.modal-standard-header,.modal-standard-body,.modal-standard-footer{padding:16px}.modal-standard-title{font-size:18px}.modal-standard-footer{flex-wrap:wrap}.modal-standard-footer button{flex:1;min-width:100px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease-in-out;position:relative;white-space:nowrap;height:40px;padding:0 var(--spacing-lg);font-size:var(--font-size-sm)}.btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{height:32px;padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn-md{height:40px;padding:0 var(--spacing-lg);font-size:var(--font-size-base)}.btn-lg{height:48px;padding:0 var(--spacing-xl);font-size:var(--font-size-lg)}.btn-primary{background-color:var(--primary-500);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--primary-600)}.btn-primary:active:not(:disabled){background-color:var(--primary-700);transform:scale(.98)}.btn-secondary{background-color:var(--secondary-500);color:var(--text-on-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-600)}.btn-secondary:active:not(:disabled){background-color:var(--secondary-700);transform:scale(.98)}.btn-outline{background-color:transparent;border:2px solid var(--primary-500);color:var(--primary-500)}.btn-outline:hover:not(:disabled){background-color:var(--primary-50)}.btn-outline:active:not(:disabled){background-color:var(--primary-100)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100)}.btn-ghost:active:not(:disabled){background-color:var(--gray-200)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--error-dark)}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-full-width{width:100%}.btn-loading{color:transparent;pointer-events:none}.btn-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.spinner{width:20px;height:20px;animation:spin .8s linear infinite}.spinner-circle{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:50;stroke-dashoffset:25;animation:dash 1.5s ease-in-out infinite}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.btn-icon-left,.btn-icon-right{display:flex;align-items:center;justify-content:center}.btn-content{display:flex;align-items:center}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-full-width,.input-wrapper .input-container{width:100%}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:4px;width:auto}.input-required{color:var(--error)}.input-container{display:flex;align-items:center;background-color:transparent;border:none;border-radius:var(--radius-md);transition:all .2s ease-in-out;overflow:visible;position:relative;width:100%}.input-container.input-error .input{border-color:var(--error)}.input-container.input-error .input:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.input{flex:1;width:100%;height:40px;padding:0 var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-primary);color:var(--text-primary);background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all .2s ease-in-out;box-sizing:border-box}.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.input::placeholder{color:var(--text-disabled)}.input:disabled{background-color:var(--gray-50);cursor:not-allowed;color:var(--text-disabled)}.input-icon-left,.input-icon-right{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:0 var(--spacing-sm);position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-icon-left{left:var(--spacing-md)}.input-icon-right{right:var(--spacing-md)}.input-container:has(.input-icon-left) .input{padding-left:40px}.input-container:has(.input-icon-right) .input{padding-right:40px}.input-error-text{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:4px}.input-error-text:before{content:"⚠"}.input-helper-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.card{background-color:var(--surface);border-radius:var(--radius-lg);transition:all .2s ease-in-out}.card-default{border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-md)}.card-outlined{border:1px solid var(--border-color);box-shadow:none}.card-padding-none{padding:0}.card-padding-sm{padding:var(--spacing-md)}.card-padding-md{padding:var(--spacing-lg)}.card-padding-lg{padding:var(--spacing-xl)}.card-hoverable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--gray-50)}.info-tooltip-wrapper{display:inline-flex;position:relative}.info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--text-secondary);cursor:help;transition:color .2s}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus{color:var(--primary-500);outline:none}.info-tooltip-content{position:absolute;z-index:var(--z-tooltip);max-width:250px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--gray-900);color:#fff;font-size:var(--font-size-sm);line-height:var(--line-height-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.info-tooltip-arrow{position:absolute;width:8px;height:8px;background-color:var(--gray-900);transform:rotate(45deg)}.info-tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tooltip-top .info-tooltip-arrow{bottom:-4px;left:50%;transform:translate(-50%) rotate(45deg)}.info-tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tooltip-bottom .info-tooltip-arrow{top:-4px;left:50%;transform:translate(-50%) rotate(45deg)}.info-tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.info-tooltip-left .info-tooltip-arrow{right:-4px;top:50%;transform:translateY(-50%) rotate(45deg)}.info-tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.info-tooltip-right .info-tooltip-arrow{left:-4px;top:50%;transform:translateY(-50%) rotate(45deg)}.metric-card{padding:var(--spacing-lg)!important;transition:all .2s ease-in-out}.metric-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.metric-card-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.metric-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--primary-50);color:var(--primary-500);border-radius:var(--radius-md);font-size:20px}.metric-card-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.metric-card-trend{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.metric-card-trend.positive{color:var(--success)}.metric-card-trend.negative{color:var(--error)}.metric-card-trend-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.metric-card-trend-value{font-weight:var(--font-weight-semibold)}.metric-card-trend-label{color:var(--text-secondary)}.animated-owl{position:absolute;z-index:9999;pointer-events:all;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1)}.animated-owl.scared{animation:flyAwayScared 1s cubic-bezier(.4,0,1,1) forwards!important}@keyframes flyAwayScared{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(-20deg) translateY(-50px);opacity:.8}to{transform:scale(.5) rotate(-45deg) translateY(-200px) translate(200px);opacity:0}}.speech-bubble{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#fff;padding:8px 14px;border-radius:16px;font-size:13px;font-weight:600;box-shadow:0 4px 16px #00000026;animation:bubblePop .3s ease-out;z-index:10;white-space:nowrap;max-width:200px;text-align:center}.speech-bubble.ouch{color:#ef4444;font-weight:700;font-size:14px}.speech-bubble.idle{color:#39c94c;background:linear-gradient(135deg,#fff,#f0fdf4);border:2px solid #39C94C;animation:bubblePop .3s ease-out,bubbleWave 2s ease-in-out infinite}@keyframes bubbleWave{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid white}.speech-bubble.idle:after{border-top-color:#39c94c}@keyframes bubblePop{0%{transform:translate(-50%) scale(0)}70%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.animated-owl.flying{animation:owlFlyAround 15s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes owlFlyAround{0%{right:-100px;bottom:-100px;transform:rotate(-15deg) scale(1)}20%{right:20%;bottom:40%;transform:rotate(5deg) scale(1.1)}40%{right:40%;bottom:60%;transform:rotate(-10deg) scale(.95)}60%{right:60%;bottom:50%;transform:rotate(8deg) scale(1.05)}80%{right:30%;bottom:20%;transform:rotate(-5deg) scale(1)}to{right:40px;bottom:40px;transform:rotate(0) scale(1)}}.animated-owl.landed{animation:owlLand .5s ease-out,owlBreathe 2s ease-in-out infinite;transform:scale(1);inset:auto 40px 40px auto!important}@keyframes owlLand{0%{transform:translateY(-30px) scale(1.2);opacity:.8}to{transform:translateY(0) scale(1);opacity:1}}@keyframes owlBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animated-owl.flying .owl-wing-left{animation:flapLeft .3s ease-in-out infinite;transform-origin:center right}.animated-owl.flying .owl-wing-right{animation:flapRight .3s ease-in-out infinite;transform-origin:center left}@keyframes flapLeft{0%,to{transform:rotate(0)}50%{transform:rotate(-25deg)}}@keyframes flapRight{0%,to{transform:rotate(0)}50%{transform:rotate(25deg)}}.owl-pupil-left,.owl-pupil-right{animation:owlBlink 4s infinite}@keyframes owlBlink{0%,48%,52%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.animated-owl.landed .owl-body{animation:gentleBob 1.5s ease-in-out infinite}@keyframes gentleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animated-owl{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.animated-owl.landed{filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.force-password-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.force-password-modal{background:#fff;border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.force-password-modal-header{text-align:center;padding:32px 32px 24px;border-bottom:1px solid #e5e7eb}.force-password-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;margin-bottom:16px;color:#d97706}.force-password-modal-header h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:#111827}.force-password-modal-header p{margin:0;color:#6b7280;font-size:.95rem;line-height:1.5}.force-password-email{margin-top:8px!important;font-weight:500;color:#374151!important}.force-password-form{padding:24px 32px 32px}.force-password-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.force-password-field{margin-bottom:20px}.password-strength{display:flex;align-items:center;gap:12px;margin-top:8px}.password-strength-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.password-strength-fill{height:100%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.password-strength span{font-size:.85rem;font-weight:500;min-width:60px}.password-mismatch{display:block;margin-top:6px;color:#dc2626;font-size:.85rem}.show-password-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:20px;font-size:.9rem;color:#4b5563}.show-password-toggle input{width:16px;height:16px;cursor:pointer}.password-requirements{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:24px}.password-requirements p{margin:0 0 10px;font-size:.85rem;font-weight:500;color:#374151}.password-requirements ul{margin:0;padding:0;list-style:none}.password-requirements li{font-size:.85rem;color:#9ca3af;padding:4px 0 4px 24px;position:relative}.password-requirements li:before{content:"○";position:absolute;left:0;color:#d1d5db}.password-requirements li.met{color:#059669}.password-requirements li.met:before{content:"✓";color:#059669}.force-password-actions{display:flex;gap:12px;justify-content:flex-end}.force-password-actions button{min-width:120px}@media(max-width:480px){.force-password-modal{margin:16px;max-width:calc(100% - 32px)}.force-password-modal-header,.force-password-form{padding-left:20px;padding-right:20px}.force-password-actions{flex-direction:column-reverse}.force-password-actions button{width:100%}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:var(--spacing-lg);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-500, #39C94C) 10%,transparent) 0%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,-30px) scale(1.1)}}.login-content{width:100%;max-width:900px;display:flex;flex-direction:column;gap:var(--spacing-xl);position:relative;z-index:1}.login-branding{text-align:center}.login-logo-wrapper{display:inline-flex;margin-bottom:var(--spacing-md)}.login-logo{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-500, #39C94C),var(--primary-700, #2EA043));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;font-weight:700;box-shadow:0 8px 24px #39c94c4d;animation:logoGlow 3s ease-in-out infinite}.login-logo-image{width:120px;height:60px;object-fit:contain;animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{box-shadow:0 8px 24px #39c94c4d;transform:scale(1)}50%{box-shadow:0 8px 32px #39c94c80;transform:scale(1.05)}}.login-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--primary-500, #39C94C),var(--primary-700, #2EA043));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary)}.login-card{background:#fff;padding:var(--spacing-2xl)!important;box-shadow:0 20px 60px #0000001a;border-radius:24px}.role-selection{text-align:center}.role-selection-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.role-selection-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-xl)}.role-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:linear-gradient(135deg,#f8fffe,#f0fdf9);border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-500, #39C94C) 5%,transparent),color-mix(in srgb,var(--primary-700, #2EA043) 5%,transparent));opacity:0;transition:opacity .3s ease}.role-card:hover{border-color:var(--primary-500, #39C94C);transform:translateY(-4px);box-shadow:0 12px 32px color-mix(in srgb,var(--primary-500, #39C94C) 20%,transparent)}.role-card:hover:before{opacity:1}.role-card:active{transform:translateY(-2px)}.role-card-icon{position:relative;z-index:1}.role-icon{color:var(--primary-500, #39C94C);transition:all .3s ease}.role-card:hover .role-icon{transform:scale(1.1);filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--primary-500, #39C94C) 30%,transparent))}.role-card-content{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative;z-index:1}.role-card-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.role-card-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-form-header{text-align:center;margin-bottom:var(--spacing-md)}.back-button{background:none;border:none;color:var(--primary-500, #39C94C);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;border-radius:8px;font-weight:600}.back-button:hover{background:color-mix(in srgb,var(--primary-500, #39C94C) 10%,transparent);transform:translate(-4px)}.login-form-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.login-form-subtitle{font-size:var(--font-size-base);color:var(--text-secondary)}.login-error{padding:var(--spacing-md);background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:var(--font-size-sm);text-align:center;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-form-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-form-fields .input-wrapper{width:100%;display:flex;flex-direction:column;align-items:stretch}.login-form-fields .input-label{width:100%;text-align:left;justify-content:flex-start;margin-bottom:0;align-self:flex-start}.login-form-fields .input-container{width:100%}.login-form-options{display:flex;justify-content:space-between;align-items:center}.remember-me{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.remember-me input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-500, #39C94C)}.forgot-password{background:none;border:none;color:var(--primary-500, #39C94C);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;transition:all .2s ease}.forgot-password:hover{color:var(--primary-700, #2EA043);text-decoration:underline}.signup-prompt{text-align:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.signup-prompt p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.signup-link{color:var(--primary-500, #39C94C);text-decoration:none;font-weight:600;transition:all .2s ease}.signup-link:hover{color:var(--primary-700, #2EA043);text-decoration:underline}.demo-credentials{margin-top:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.demo-credentials-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#0369a1;margin-bottom:var(--spacing-xs)}.demo-credentials-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:4px 0}.login-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.success-message{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);gap:var(--spacing-lg)}.success-message svg{color:var(--success-500, #22c55e);flex-shrink:0}.success-message h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.success-message p{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin:0}.success-message strong{color:var(--primary-600);word-break:break-all}.success-message .email-note{font-size:var(--font-size-sm);color:var(--gray-500);background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);width:100%}.success-message a{width:100%;max-width:280px}@media(max-width:768px){.login-container{padding:var(--spacing-md)}.login-card{padding:var(--spacing-lg)!important}.role-grid{grid-template-columns:1fr}.login-title{font-size:var(--font-size-2xl)}.login-subtitle{font-size:var(--font-size-base)}.login-logo{width:50px;height:50px;font-size:28px;border-radius:12px}.login-form-title{font-size:var(--font-size-xl)}.login-form-subtitle{font-size:var(--font-size-sm)}.success-message{padding:var(--spacing-md)}.success-message svg{width:48px;height:48px}.success-message h2{font-size:var(--font-size-xl)}.success-message p{font-size:var(--font-size-sm)}.login-form-options{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.remember-me{justify-content:center}.forgot-password{text-align:center}}@media(max-width:480px){.login-container{padding:var(--spacing-sm)}.login-card{padding:var(--spacing-md)!important;border-radius:16px}.login-title{font-size:var(--font-size-xl)}.otp-input{width:40px;height:48px;font-size:var(--font-size-xl)}.otp-inputs{gap:var(--spacing-xs)}}.phone-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.phone-input-wrapper .country-code{background:var(--gray-100);padding:12px 16px;border-radius:var(--radius-md);font-weight:600;color:var(--gray-700);border:1px solid var(--gray-200)}.phone-input-wrapper input{flex:1}.otp-header{text-align:center;margin-bottom:var(--spacing-lg)}.otp-header p{color:var(--gray-600);margin-bottom:var(--spacing-xs)}.otp-header strong{display:block;font-size:var(--font-size-lg);color:var(--gray-900);margin-bottom:var(--spacing-xs)}.change-number-link{background:none;border:none;color:var(--primary-600);cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline}.change-number-link:hover{color:var(--primary-700)}.login-method-toggle{display:flex;background:var(--gray-100);border-radius:var(--radius-md);padding:4px;margin-bottom:var(--spacing-lg)}.method-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--gray-600);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.method-btn:hover{color:var(--gray-800)}.method-btn.active{background:#fff;color:var(--primary-600);box-shadow:0 1px 3px #0000001a}.otp-help-note{text-align:center;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-50, #eff6ff);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--gray-600)}.switch-method-link{background:none;border:none;color:var(--primary-600);font-weight:500;cursor:pointer;text-decoration:underline}.switch-method-link:hover{color:var(--primary-700)}.otp-inputs{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.otp-input{width:48px;height:56px;text-align:center;font-size:var(--font-size-2xl);font-weight:700;border:2px solid var(--gray-300);border-radius:var(--radius-md);transition:all .2s ease}.otp-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.otp-input.error{border-color:var(--danger-500);animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.otp-error{display:block;text-align:center;margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-md)}.resend-section{text-align:center;margin-top:var(--spacing-md)}.resend-timer{color:var(--gray-500);font-size:var(--font-size-sm)}.resend-link{background:none;border:none;color:var(--primary-600);cursor:pointer;font-size:var(--font-size-sm);font-weight:500}.resend-link:hover:not(:disabled){color:var(--primary-700);text-decoration:underline}.resend-link:disabled{color:var(--gray-400);cursor:not-allowed}.back-link{background:none;border:none;color:var(--gray-600);cursor:pointer;font-size:var(--font-size-sm)}.back-link:hover{color:var(--gray-800);text-decoration:underline}.signup-prompt{text-align:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200);color:var(--gray-600);font-size:var(--font-size-sm)}.signup-link{color:var(--primary-600);font-weight:500;text-decoration:none}.signup-link:hover{text-decoration:underline}.password-requirements{background:var(--gray-50, #f9fafb);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius-md, 8px);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.password-requirements p{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary, #6b7280)}.password-requirements ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.password-requirements li{font-size:var(--font-size-sm);color:var(--gray-500, #6b7280);display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;transition:all .2s ease}.password-requirements li:before{content:"○";font-size:10px;color:var(--gray-400, #9ca3af);transition:all .2s ease}.password-requirements li.valid{color:var(--success-600, #16a34a)}.password-requirements li.valid:before{content:"✓";color:var(--success-500, #22c55e);font-weight:700}.password-match{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.password-match.match{color:var(--success-600, #16a34a);background:var(--success-50, #f0fdf4)}.password-match.no-match{color:var(--danger-600, #dc2626);background:var(--danger-50, #fef2f2)}.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);gap:var(--spacing-lg)}.error-state svg{color:var(--danger-500, #ef4444);flex-shrink:0}.error-state h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.error-state p{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin:0}.error-state a{width:100%;max-width:280px}@media(max-width:480px){.password-requirements ul{grid-template-columns:1fr}}.signup-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4);padding:2rem}.signup-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}.signup-logo-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff}.signup-logo-text{font-size:28px;font-weight:700;color:#166534}.signup-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #22c55e26;width:100%;max-width:600px;padding:2.5rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-header{text-align:center;margin-bottom:2rem}.signup-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin:1rem 0 .5rem}.signup-subtitle{font-size:1rem;color:var(--gray-600);margin:0}.role-selection{animation:fadeIn .3s ease-out}.role-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.role-option-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.role-option-card:hover{border-color:#22c55e;background:#22c55e0d;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e26}.role-option-card:active{transform:translateY(0)}.role-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.patient-icon{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff;box-shadow:0 4px 14px #22c55e4d}.hospital-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 14px #0ea5e94d}.role-option-card h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.role-option-card p{font-size:.875rem;color:var(--gray-600);margin:0;line-height:1.5}.signup-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.signup-footer p{margin:0;color:var(--gray-600);font-size:.9rem}.signup-link{color:#22c55e;text-decoration:none;font-weight:600;transition:color .2s}.signup-link:hover{color:#16a34a;text-decoration:underline}.form-steps{display:flex;justify-content:center;gap:24px;margin-bottom:2rem;padding:0 1rem;position:relative;background:#f9fafb;border-radius:16px;padding:16px 24px}.form-steps:before{content:"";position:absolute;top:50%;left:80px;right:80px;height:2px;background:#e5e7eb;z-index:0;transform:translateY(-50%)}.step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;flex:1;max-width:140px}.step-number{width:44px;height:44px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;transition:all .3s ease;border:3px solid white;box-shadow:0 2px 8px #00000014}.step.active .step-number{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff;box-shadow:0 4px 14px #22c55e66}.step.completed .step-number{background:linear-gradient(135deg,#39c94c,#22c55e);color:#fff}.step-label{font-size:.8rem;color:#6b7280;font-weight:600;text-align:center;white-space:nowrap}.step.active .step-label{color:#166534;font-weight:700}.step.completed .step-label{color:#22c55e}.signup-form{animation:fadeIn .3s ease-out}.form-step{margin-bottom:1.5rem}.step-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 1.5rem}.subsection-title{font-size:1rem;font-weight:600;color:var(--gray-800);margin:1.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.form-field select{padding:.75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:1rem;font-family:inherit;background:#fff;cursor:pointer;transition:all .2s}.form-field select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.emergency-contact-section,.admin-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.password-requirements{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;padding:1rem;margin-top:1rem}.password-requirements p{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 .5rem}.password-requirements ul{margin:0;padding-left:1.5rem}.password-requirements li{font-size:.875rem;color:var(--gray-600);line-height:1.6}.password-strength-container{margin-top:12px}.password-strength-bar{display:flex;gap:4px;margin-bottom:8px}.strength-segment{flex:1;height:6px;border-radius:3px;background:#e5e7eb;transition:all .3s ease}.strength-segment.filled,.password-strength.weak .strength-segment.filled{background:#ef4444}.password-strength.fair .strength-segment.filled{background:#f59e0b}.password-strength.good .strength-segment.filled{background:#10b981}.password-strength.strong .strength-segment.filled{background:#22c55e}.strength-text{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.strength-text.weak{color:#ef4444}.strength-text.fair{color:#f59e0b}.strength-text.good{color:#10b981}.strength-text.strong{color:#22c55e}.password-match{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:500}.password-match.match{color:#22c55e}.password-match.no-match{color:#ef4444}.password-match svg{flex-shrink:0}.consents-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.consent-item{padding:1rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--gray-50)}.consent-item.required{border-color:var(--primary-color-light, rgba(99, 102, 241, .3));background:#6366f105}.consent-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin:0}.consent-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.consent-text{font-size:.9rem;color:var(--gray-700);line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.consent-text a{color:var(--primary-color);text-decoration:none;font-weight:600}.consent-text a:hover{text-decoration:underline}.required-badge,.optional-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.required-badge{background:var(--danger-color);color:#fff}.optional-badge{background:var(--gray-300);color:var(--gray-700)}.consent-description{font-size:.8rem;color:var(--gray-600);margin:.5rem 0 0 2.25rem;line-height:1.4}.consent-notice{display:flex;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#3b82f61a,#93c5fd1a);border:1px solid rgba(59,130,246,.2);border-radius:6px;margin-top:1.5rem}.consent-notice svg{flex-shrink:0;color:var(--primary-color);margin-top:.125rem}.consent-notice p{margin:0;font-size:.875rem;color:var(--gray-700);line-height:1.5}.verification-notice{background:linear-gradient(135deg,#f59e0b1a,#fbbf241a);border-color:#f59e0b4d}.verification-notice svg{color:var(--warning-color)}.verification-notice strong{font-weight:600;color:var(--gray-900)}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.form-actions button{flex:1}.error-message{background:var(--danger-color-light, rgba(239, 68, 68, .1));border:1px solid var(--danger-color);color:var(--danger-color);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;font-weight:500;animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.success-message{background:#22c55e1a;border:1px solid #22c55e;color:#16a34a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px}.success-message:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#22c55e;color:#fff;border-radius:50%;font-size:12px;font-weight:700}@media(max-width:768px){.signup-container{padding:1rem}.signup-card{padding:1.5rem}.signup-title{font-size:1.5rem}.form-row{grid-template-columns:1fr}.form-steps{padding:0}.step-label{font-size:.65rem}.step-number{width:32px;height:32px;font-size:.875rem}.role-option-card{padding:1rem}.role-option-card h3{font-size:1.1rem}.form-actions{flex-direction:column-reverse}}@media(max-width:480px){.signup-card{padding:1rem}.signup-title{font-size:1.25rem}.step-label{display:none}}.hospital-selection-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:24px}.hospital-selection-content{width:100%;max-width:520px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:32px}.hospital-selection-header{text-align:center;margin-bottom:32px}.hospital-selection-logo{width:80px;height:80px;margin:0 auto 16px;background:linear-gradient(135deg,#39c94c15,#107fd615);border-radius:20px;display:flex;align-items:center;justify-content:center}.hospital-selection-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}.hospital-selection-subtitle{font-size:14px;color:#6b7280}.hospital-selection-error{background:#fef2f2;border:1px solid #fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.hospital-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;max-height:400px;overflow-y:auto}.no-hospitals{text-align:center;padding:48px 24px;color:#6b7280}.no-hospitals svg{margin-bottom:16px}.no-hospitals h3{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.no-hospitals p{font-size:14px}.hospital-card{border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff}.hospital-card:hover{border-color:#d1d5db;background:#f9fafb}.hospital-card.selected{border-width:2px;background:#f8fafc}.hospital-card-content{display:flex;align-items:flex-start;gap:14px}.hospital-logo-container{flex-shrink:0}.hospital-logo{width:48px;height:48px;border-radius:10px;object-fit:cover}.hospital-logo-placeholder{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hospital-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hospital-name{font-size:16px;font-weight:600;color:#1f2937;margin:0}.primary-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.patient-number{font-size:13px;color:#6b7280;margin:4px 0 0}.last-visit,.hospital-location{font-size:12px;color:#9ca3af;margin:2px 0 0}.selection-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center}.selected-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.unselected-circle{width:24px;height:24px;border-radius:50%;border:2px solid #d1d5db}.theme-preview{display:flex;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.theme-color{width:24px;height:4px;border-radius:2px}.hospital-selection-actions{display:flex;flex-direction:column;gap:16px}.divider{display:flex;align-items:center;text-align:center;color:#9ca3af;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.divider span{padding:0 16px}.find-new-hospital-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#4f46e5;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.find-new-hospital-btn:hover{border-color:#4f46e5;background:#f5f3ff}.find-new-hospital-btn svg{color:#4f46e5}.hospital-selection-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f3f4f6}.hospital-selection-footer p{font-size:13px;color:#6b7280;margin:0}.hospital-selection-footer a{color:#4f46e5;text-decoration:none;font-weight:500}.hospital-selection-footer a:hover{text-decoration:underline}@media(max-width:480px){.hospital-selection-container{padding:16px}.hospital-selection-content{padding:24px}.hospital-selection-title{font-size:20px}.hospital-card{padding:12px}.hospital-logo,.hospital-logo-placeholder{width:40px;height:40px}.hospital-name{font-size:14px}}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--gray-50)}.dashboard-sidebar{width:280px;background:linear-gradient(180deg,var(--surface) 0%,var(--gray-50) 100%);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);position:sticky;top:0;height:100vh;box-shadow:var(--shadow-sm)}.dashboard-sidebar.collapsed{width:80px}.dashboard-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;border-bottom:1px solid var(--gray-200);background:#fff}.dashboard-logo{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--gray-900)}.logo-icon{flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:18px;font-weight:700;color:var(--gray-900);line-height:1}.logo-subtitle{font-size:11px;font-weight:500;color:var(--gray-600);line-height:1}.sidebar-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;transition:all .3s ease;font-size:14px}.sidebar-toggle:hover{background:var(--primary-500);color:#fff;transform:scale(1.1)}.dashboard-nav{flex:1;padding:16px 12px;overflow:hidden}.nav-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding-right:4px}.nav-scroll::-webkit-scrollbar{width:6px}.nav-scroll::-webkit-scrollbar-track{background:transparent}.nav-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.nav-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.menu-item-wrapper{margin-bottom:4px}.menu-item-wrapper.level-1{margin-left:12px}.menu-item-wrapper.level-2{margin-left:24px}.nav-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:none;border:none;border-radius:10px;font-size:15px;font-family:var(--font-primary);font-weight:500;color:var(--gray-700);text-align:left;cursor:pointer;transition:all .2s ease;position:relative;letter-spacing:-.01em}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-500);border-radius:0 3px 3px 0;transition:height .3s ease}.nav-item:hover{background:var(--primary-50);color:var(--primary-600);transform:translate(4px)}.nav-item:hover:before{height:60%}.nav-item.active{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;font-weight:600;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-500) 30%,transparent)}.nav-item.active:before{height:100%;background:var(--secondary-500)}.nav-item.has-children{margin-bottom:4px}.nav-item-content{display:flex;align-items:center;gap:12px;width:100%}.nav-item-icon{font-size:20px;min-width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.nav-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;line-height:1.4}.nav-item-badge{min-width:20px;height:20px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:var(--danger-500);color:#fff;font-size:11px;font-weight:700;border-radius:var(--radius-full);animation:pulse 2s infinite}.nav-item.active .nav-item-badge{background:#fff;color:var(--primary-600)}.nav-item-arrow{font-size:12px;transition:transform .3s ease;color:var(--gray-500)}.nav-item-arrow.rotated{transform:rotate(90deg)}.nav-item.active .nav-item-arrow{color:#fff}.submenu{margin-top:4px;margin-bottom:8px;padding-left:12px;border-left:2px solid var(--gray-200);margin-left:20px}.submenu .nav-item{padding:10px 14px;font-size:14px;font-weight:500}.submenu .nav-item-icon{font-size:18px}.submenu .nav-item-label{font-size:14px}.dashboard-sidebar.collapsed .nav-item{justify-content:center;padding:12px}.dashboard-sidebar.collapsed .nav-item-content{justify-content:center}.dashboard-sidebar.collapsed .nav-item-label,.dashboard-sidebar.collapsed .nav-item-badge,.dashboard-sidebar.collapsed .nav-item-arrow{display:none}.dashboard-sidebar-footer{display:flex;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--gray-200);background:#fff;overflow:hidden}.user-profile-card{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow:hidden;padding:8px;border-radius:var(--radius-lg);transition:all .3s ease;cursor:pointer}.user-profile-card:hover{background:var(--gray-100)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--primary-300);box-shadow:0 2px 8px color-mix(in srgb,var(--primary-500) 20%,transparent)}.user-avatar-initials{flex-shrink:0;font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.user-info{flex:1;min-width:0;overflow:hidden;max-width:100%}.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}.user-hospital,.user-branch{font-size:11px;color:var(--gray-500);display:flex;align-items:center;gap:4px;margin-top:2px;max-width:100%;overflow:hidden}.user-hospital .info-icon,.user-branch .info-icon{font-size:10px;flex-shrink:0}.user-hospital span:last-child,.user-branch span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.user-status{font-size:11px;color:var(--gray-500);display:flex;align-items:center;gap:6px;margin-top:4px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.active{background:var(--success-500, #22c55e);box-shadow:0 0 4px var(--success-500, #22c55e)}.status-dot.inactive{background:var(--gray-400, #9ca3af)}.logout-button{width:36px;height:36px;min-width:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--danger-50);border:none;border-radius:var(--radius-md);font-size:18px;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:var(--danger-500);transform:scale(1.1)}.dashboard-sidebar.collapsed .user-info{display:none}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-header{background:#fff;border-bottom:1px solid var(--gray-200);padding:20px 32px;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d}.dashboard-header-content{display:flex;align-items:center;justify-content:space-between}.dashboard-title{font-size:24px;font-weight:700;color:var(--gray-900);margin:0;line-height:1}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-600)}.breadcrumb-item{color:var(--gray-600)}.breadcrumb-item.active{color:var(--primary-600);font-weight:600}.breadcrumb-separator{color:var(--gray-400)}.dashboard-header-actions{display:flex;align-items:center;gap:12px}.header-action-button{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:none;border-radius:var(--radius-lg);font-size:18px;cursor:pointer;transition:all .3s ease}.header-action-button:hover{background:var(--primary-100);transform:translateY(-2px);box-shadow:var(--shadow-md)}.header-user{cursor:pointer;transition:all .3s ease}.header-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--gray-200);transition:all .3s ease}.header-user-avatar-initials{flex-shrink:0;font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.header-user:hover .header-user-avatar{border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-100)}.notifications-dropdown{position:absolute;top:80px;right:32px;width:380px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;z-index:1000;overflow:hidden}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.notifications-header h3{margin:0;font-size:16px;font-weight:700;color:var(--gray-900)}.mark-read-btn{padding:6px 12px;background:none;border:none;color:var(--primary-600);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.mark-read-btn:hover{color:var(--primary-700);text-decoration:underline}.notifications-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-100);transition:all .3s ease;position:relative;cursor:pointer}.notification-item:hover{background:var(--primary-50)}.notification-item.unread{background:var(--info-50)}.notification-content{flex:1}.notification-title{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.unread-dot{position:absolute;top:20px;right:20px;width:8px;height:8px;background:var(--primary-500);border-radius:50%;animation:pulse 2s infinite}.notifications-footer{padding:12px 20px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.view-all-btn{width:100%;padding:10px;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.view-all-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-500) 30%,transparent)}.dashboard-content{flex:1;padding:32px;overflow-y:auto;background:var(--gray-50)}@media(max-width:1024px){.dashboard-sidebar{width:240px}.dashboard-content{padding:24px}}@media(max-width:768px){.dashboard-sidebar{position:fixed;left:-280px;z-index:1000;transition:left .3s ease}.dashboard-sidebar.open{left:0}.dashboard-sidebar.collapsed{left:-80px}.dashboard-main{width:100%}.dashboard-header{padding:16px 20px}.dashboard-title{font-size:20px}.breadcrumb{display:none}.dashboard-content{padding:16px}.notifications-dropdown{right:20px;width:calc(100vw - 40px)}}.super-admin-dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.dashboard-grid{display:grid;grid-template-columns:8fr 4fr;gap:var(--spacing-lg);align-items:start}.dashboard-card{min-height:400px;max-height:600px;display:flex;flex-direction:column;overflow:hidden}.dashboard-card>.card-header{flex-shrink:0}.dashboard-card>.card-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tenant-list{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto;overflow-x:hidden;padding-right:var(--spacing-sm);min-height:0;max-height:100%}.tenant-list::-webkit-scrollbar{width:6px}.tenant-list::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.tenant-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.tenant-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.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);flex:1;overflow-y:auto;padding-right:var(--spacing-sm)}.health-metrics::-webkit-scrollbar{width:6px}.health-metrics::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.health-metrics::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.health-metrics::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.health-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.users-with-tooltip{position:relative;cursor:pointer}.users-tooltip{display:none;position:absolute;top:100%;left:0;z-index:100;min-width:200px;padding:var(--spacing-md);background-color:var(--gray-800);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--spacing-xs)}.users-with-tooltip:hover .users-tooltip{display:block}.tooltip-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-600)}.tooltip-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tooltip-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.tooltip-role{color:var(--gray-300)}.tooltip-count{font-weight:var(--font-weight-semibold);color:#fff}.health-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.health-value{display:flex;align-items:center;justify-content:space-between}.health-value-main{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.health-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:4px 8px;border-radius:var(--radius-sm)}.health-status.success{background-color:var(--success-light);color:var(--success-dark)}.health-status.warning{background-color:var(--warning-light);color:var(--warning-dark)}.health-status.error{background-color:var(--error-light, #fef2f2);color:var(--error-dark, #dc2626)}.health-status.info{background-color:var(--info-light, #eff6ff);color:var(--info-dark, #2563eb)}.health-loading{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-normal);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.health-bar{height:8px;background-color:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.health-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.health-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200);display:flex;justify-content:center}.health-footer button{font-size:var(--font-size-sm)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--background-secondary);border-radius:var(--radius-md);transition:all .2s}.activity-item:hover{background-color:var(--gray-200)}.activity-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-50);border-radius:var(--radius-md)}.activity-content{flex:1;display:flex;flex-direction:column;gap:4px}.activity-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.activity-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.activity-time{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.quick-actions-card{margin-bottom:var(--spacing-lg);height:auto!important;min-height:auto!important;max-height:none!important}.quick-actions-card .card-body{overflow:visible}.quick-actions-hint{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.quick-actions-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);background-color:var(--background-secondary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;min-height:100px}.quick-action-btn:hover{border-color:var(--action-color, var(--primary-500));background-color:color-mix(in srgb,var(--action-color, var(--primary-500)) 10%,white);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-action-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.quick-action-icon{font-size:2rem;line-height:1}.quick-action-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-align:center;line-height:1.3;word-break:break-word}.revenue-chart-card{margin-bottom:var(--spacing-lg);height:auto!important;min-height:auto!important;max-height:none!important}.revenue-chart-card .card-body{overflow:visible}.date-range-filter-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.date-range-filter{display:flex;gap:var(--spacing-xs);background-color:var(--gray-100);padding:4px;border-radius:var(--radius-md);flex-wrap:wrap;justify-content:flex-end}.custom-date-picker{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.custom-date-picker .date-inputs{display:flex;gap:var(--spacing-md)}.custom-date-picker label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary)}.custom-date-picker input[type=date]{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);background-color:#fff}.custom-date-picker input[type=date]:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-100)}.custom-date-picker .apply-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s;align-self:flex-end}.custom-date-picker .apply-btn:hover:not(:disabled){background-color:var(--primary-600)}.custom-date-picker .apply-btn:disabled{background-color:var(--gray-300);cursor:not-allowed}.range-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.range-btn:hover{color:var(--text-primary)}.range-btn.active{background-color:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.revenue-chart{display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:350px}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm)}.no-data-message{display:flex;align-items:center;justify-content:center;width:100%;height:200px;color:var(--text-secondary);font-size:var(--font-size-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--gray-300)}.chart-legend{display:flex;gap:var(--spacing-lg);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-full)}.legend-dot.subscription{background-color:#3b82f6;background-color:var(--primary-500, #3b82f6)}.legend-dot.appointment{background-color:#f97316;background-color:var(--warning-500, #f97316)}.chart-container{display:flex;gap:var(--spacing-md);height:250px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:var(--spacing-sm) 0;font-size:var(--font-size-xs);color:var(--text-secondary);min-width:60px}.chart-bars{flex:1;display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-left:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);height:100%}.bar-container{flex:1;width:100%;display:flex;gap:4px;align-items:flex-end;justify-content:center}.bar{width:40%;max-width:30px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .3s ease;cursor:pointer}.bar:hover{opacity:.8}.bar.subscription-bar{background:linear-gradient(180deg,#60a5fa,#2563eb);background:linear-gradient(180deg,var(--primary-400, #60a5fa) 0%,var(--primary-600, #2563eb) 100%)}.bar.appointment-bar{background:linear-gradient(180deg,#fdba74,#f97316);background:linear-gradient(180deg,var(--warning-300, #fdba74) 0%,var(--warning-500, #f97316) 100%)}.bar-label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.chart-summary{display:flex;justify-content:center;gap:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.summary-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.summary-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-600)}.kpi-section{margin-bottom:var(--spacing-lg)}.kpi-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.kpi-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.kpi-category{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.kpi-category-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-100)}.kpi-category-icon{font-size:1.5rem}.kpi-category-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.kpi-items{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.kpi-item{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md)}.kpi-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:clamp(1rem,2vw,var(--font-size-xl));font-weight:var(--font-weight-bold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value.kpi-success{color:var(--success-600, #059669)}.kpi-value.kpi-warning{color:var(--warning-600, #d97706)}.kpi-value.kpi-danger{color:var(--error-600, #dc2626)}.kpi-value.kpi-info{color:var(--info-600, #2563eb)}.kpi-value.kpi-primary{color:var(--primary-600, #7c3aed)}.kpi-sub-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--gray-200)}.kpi-sub-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:var(--spacing-sm)}.kpi-plan-breakdown,.kpi-renewals-breakdown{display:flex;flex-direction:column;gap:6px}.kpi-plan-item,.kpi-renewal-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--gray-50);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.kpi-plan-name,.kpi-renewal-month{color:var(--text-secondary)}.kpi-plan-count,.kpi-renewal-count{font-weight:var(--font-weight-semibold);color:var(--text-primary);background:#fff;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.kpi-category .kpi-items{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}@media(min-width:1400px){.kpi-category .kpi-items{grid-template-columns:repeat(3,1fr)}}.modal-overlay{position:fixed;inset:0;background:#00000080;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:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.modal-content.modal-closing{animation:modalSlideOut .3s ease-in forwards}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-200);border:none;border-radius:var(--radius-full);font-size:1.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.modal-close:hover{background:var(--error-100, #fef2f2);color:var(--error-600, #dc2626)}.modal-body{padding:var(--spacing-xl);overflow-y:auto;max-height:calc(90vh - 180px)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--gray-200);background:var(--gray-50)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.form-group input,.form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--text-primary);background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.form-group input::placeholder{color:var(--gray-400)}.form-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px}@media(max-width:1400px){.metrics-grid{grid-template-columns:repeat(4,1fr)}.quick-actions-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-card-span-2{grid-column:span 2}.metrics-grid{grid-template-columns:repeat(2,1fr)}.quick-actions-grid{grid-template-columns:repeat(3,1fr)}.dashboard-card{min-height:350px;max-height:550px}}@media(max-width:1024px){.kpi-cards-grid{grid-template-columns:repeat(2,1fr)}.quick-actions-grid{grid-template-columns:repeat(3,1fr)}.date-range-filter-wrapper{align-items:stretch}.date-range-filter{justify-content:center}.range-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}@media(max-width:768px){.super-admin-dashboard{gap:var(--spacing-lg)}.dashboard-grid{grid-template-columns:1fr}.dashboard-card-span-2{grid-column:span 1}.dashboard-card{min-height:auto;max-height:none;height:auto!important}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.quick-action-btn{padding:var(--spacing-md);min-height:90px}.quick-action-icon{font-size:1.75rem}.quick-action-label{font-size:var(--font-size-xs)}.date-range-filter{flex-wrap:wrap;gap:4px;justify-content:center;width:100%}.range-btn{flex:1;min-width:70px;text-align:center;padding:var(--spacing-sm)}.custom-date-picker{width:100%}.custom-date-picker .date-inputs{flex-direction:column;gap:var(--spacing-sm)}.custom-date-picker input[type=date]{width:100%}.chart-container{height:200px}.chart-y-axis{min-width:40px;font-size:9px}.bar-label{font-size:8px;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap;max-height:50px;overflow:hidden}.chart-summary{flex-direction:column;align-items:center;gap:var(--spacing-md)}.card-header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.card-header-content h3{font-size:var(--font-size-base)}.kpi-cards-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.kpi-category{padding:var(--spacing-md)}.kpi-items{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.kpi-item{padding:var(--spacing-xs)}.kpi-label{font-size:9px}.kpi-value{font-size:var(--font-size-base)}.kpi-plan-breakdown,.kpi-renewals-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.form-grid{grid-template-columns:1fr}.modal-content{width:95%;max-height:95vh}.modal-body{max-height:calc(95vh - 160px)}.tenant-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.tenant-status{width:100%;justify-content:space-between}.tenant-logo{width:40px;height:40px}.health-metrics{gap:var(--spacing-md)}.health-value-main{font-size:var(--font-size-lg)}.health-status{font-size:var(--font-size-xs);padding:2px 6px}}@media(max-width:480px){.super-admin-dashboard{gap:var(--spacing-md)}.metrics-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.quick-action-btn{padding:var(--spacing-sm);min-height:80px;gap:4px}.quick-action-icon{font-size:1.5rem}.quick-action-label{font-size:10px;line-height:1.2}.kpi-items{grid-template-columns:repeat(2,1fr)}.kpi-plan-breakdown,.kpi-renewals-breakdown{grid-template-columns:1fr}.kpi-value{font-size:var(--font-size-sm)}.kpi-label{font-size:8px}.chart-container{height:180px}.chart-y-axis{min-width:35px;font-size:8px}.chart-legend{flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.legend-item{font-size:var(--font-size-xs)}.summary-value{font-size:var(--font-size-lg)}.summary-label{font-size:var(--font-size-xs)}.range-btn{font-size:10px;padding:6px 8px;min-width:auto;flex:1}.date-range-filter{padding:3px}.card-header-content h3{font-size:var(--font-size-sm)}.quick-actions-hint{font-size:var(--font-size-xs)}.kpi-section-title{font-size:var(--font-size-base)}.kpi-category-icon{font-size:1.25rem}.kpi-category-title{font-size:var(--font-size-sm)}}.dashboard-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.dashboard-card{height:fit-content}.dashboard-card-span-2{grid-column:span 2}.dashboard-card-span-3{grid-column:span 3}.card-header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.card-header-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.data-table thead{background-color:var(--gray-50)}.data-table th{padding:var(--spacing-md);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.data-table td{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.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)}.appointment-list{display:flex;flex-direction:column;gap:12px;padding:16px}.appointment-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--gray-50);border-radius:var(--radius-md);transition:all .2s ease;overflow:hidden}.appointment-item:hover{background:var(--gray-100)}.appointment-time{display:flex;flex-direction:column;gap:4px;min-width:80px;flex-shrink:0}.time-badge{font-size:12px;font-weight:600;color:var(--primary-600);white-space:nowrap}.appointment-details{flex:1;min-width:0;overflow:hidden}.appointment-details .patient-info,.appointment-details .doctor-info{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-details .patient-info strong{overflow:hidden;text-overflow:ellipsis}.appointment-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:200px}.appointment-actions button{white-space:nowrap;font-size:12px;padding:6px 12px}@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)}}.patient-dashboard{padding:0}.patient-dashboard .welcome-banner{margin-bottom:24px;padding:24px;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-lg);color:#fff}.welcome-banner-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.welcome-banner h2{margin:0;font-size:24px;font-weight:700}.welcome-banner p{margin:8px 0 0;opacity:.9}.welcome-hospital-info{margin-top:12px;display:flex;align-items:center;gap:8px}.welcome-hospital-logo{width:24px;height:24px;border-radius:50%;object-fit:cover}.welcome-hospital-logo-placeholder{width:24px;height:24px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.dashboard-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px}.dashboard-main-column,.dashboard-side-column{display:flex;flex-direction:column;gap:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.card-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.text-muted{color:var(--gray-600);font-size:14px;margin-top:4px}.quick-actions-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease}.quick-action-btn:hover{background:var(--primary-50);border-color:var(--primary-300);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-icon{font-size:32px;line-height:1}.action-label{font-size:13px;font-weight:600;color:var(--gray-700);text-align:center;line-height:1.3}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-card{padding:20px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .3s ease}.appointment-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-lg)}.appointment-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.appointment-date-badge{width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary-500);border-radius:var(--radius-lg);color:#fff;flex-shrink:0}.date-day{font-size:28px;font-weight:700;line-height:1}.date-month{font-size:14px;font-weight:600;text-transform:uppercase}.appointment-info{flex:1;min-width:0}.doctor-specialty{font-size:14px;color:var(--gray-600);margin-bottom:8px}.appointment-status{padding:6px 16px;border-radius:var(--radius-full);font-size:12px;font-weight:700;text-transform:uppercase;white-space:nowrap}.appointment-status.status-confirmed,.appointment-status.status-scheduled{background:var(--success-100);color:var(--success-700)}.appointment-status.status-checked-in{background:var(--info-100);color:var(--info-700)}.appointment-details{display:flex;gap:24px;margin-bottom:16px;padding:16px;background:#fff;border-radius:var(--radius-md);flex-wrap:wrap}.detail-item{display:flex;gap:8px;font-size:14px}.detail-label{font-weight:600;color:var(--gray-700)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;opacity:.5}.empty-message{font-size:16px;color:var(--gray-600)}.tab-buttons-small{display:flex;gap:4px;background:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.tab-btn-small{padding:6px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-weight:600;font-size:13px;color:var(--gray-600);cursor:pointer;transition:all .3s ease}.tab-btn-small.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.health-overview{display:flex;flex-direction:column;gap:24px}.health-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vital-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .2s ease}.vital-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-sm)}.vital-icon{font-size:32px;line-height:1}.vital-data{flex:1;min-width:0}.vital-label{font-size:12px;color:var(--gray-600);margin-bottom:4px}.vital-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.vital-status.normal{background:var(--success-100);color:var(--success-700)}.health-conditions h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--gray-900)}.conditions-list{display:flex;gap:8px;flex-wrap:wrap}.condition-tag{padding:8px 16px;background:var(--warning-100);color:var(--warning-700);border-radius:var(--radius-full);font-size:14px;font-weight:600}.records-list,.prescriptions-list{display:flex;flex-direction:column;gap:12px}.record-item,.prescription-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .3s ease}.record-item:hover,.prescription-item:hover{border-color:var(--primary-300);background:var(--primary-50)}.record-date{min-width:100px;font-weight:600;color:var(--gray-700)}.record-content{flex:1;min-width:0}.record-type{font-weight:700;color:var(--gray-900);margin-bottom:4px}.record-doctor{font-size:14px;color:var(--gray-600);margin-bottom:4px}.record-diagnosis{font-size:13px;color:var(--gray-700)}.prescription-icon{font-size:32px;flex-shrink:0}.prescription-content{flex:1;min-width:0}.prescription-name{font-weight:700;color:var(--gray-900);margin-bottom:4px}.prescription-dosage{font-size:14px;color:var(--gray-700);margin-bottom:4px}.prescription-meta{font-size:12px;color:var(--gray-600)}.meta-divider{margin:0 8px}.patient-dashboard .notification-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;background:var(--danger-500);color:#fff;border-radius:var(--radius-full);font-weight:700;font-size:11px;min-width:20px;height:20px;line-height:1;vertical-align:middle;margin-left:8px}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--primary-500);transition:all .3s ease}.notification-item:hover{background:var(--primary-50);transform:translate(4px)}.notification-item.notification-reminder{border-left-color:var(--info-500)}.notification-item.notification-report{border-left-color:var(--success-500)}.notification-item.notification-prescription{border-left-color:var(--warning-500)}.notification-icon{font-size:24px;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-weight:700;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)}.hospitals-section{margin-bottom:24px}.hospitals-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hospitals-section-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.hospitals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.hospital-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:2px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.hospital-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.hospital-card.selected{border-color:var(--primary-500);background:var(--primary-50)}.hospital-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.hospital-logo-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.hospital-info{flex:1;min-width:0}.hospital-name{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:2px}.hospital-patient-id{font-size:12px;color:var(--gray-500)}.search-doctors-btn{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #7c3aed40;width:100%;margin-bottom:24px}.search-doctors-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #7c3aed59}.new-user-welcome{margin-bottom:24px;padding:24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:var(--radius-lg);border:1px solid #86efac}@media(max-width:1400px){.metrics-grid,.health-vitals{grid-template-columns:repeat(2,1fr)}}@media(max-width:1200px){.dashboard-content-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.health-vitals{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.quick-action-btn{padding:16px 12px}.action-icon{font-size:24px}.action-label{font-size:12px}.appointment-actions,.appointment-header{flex-direction:column}.appointment-date-badge{width:100%;flex-direction:row;gap:8px;height:auto;padding:12px 16px}.card-header{flex-direction:column;gap:12px}.tab-buttons-small{width:100%;justify-content:center}}@media(max-width:480px){.quick-action-btn{padding:12px 8px}.action-icon{font-size:20px}.action-label{font-size:11px}.welcome-banner h2{font-size:20px}.metrics-grid,.hospitals-grid{grid-template-columns:1fr}}.tenants-page{display:flex;flex-direction:column;gap:24px;padding:0}.tenants-page .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tenants-page .stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid var(--border-color, #e5e7eb);box-shadow:0 1px 3px #0000001a;min-height:80px;overflow:hidden}.tenants-page .stat-icon{width:48px;height:48px;min-width:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.tenants-page .stat-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;overflow:hidden}.tenants-page .stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenants-page .stat-label{font-size:13px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenants-page .main-card{background:#fff;border-radius:12px;border:1px solid var(--border-color, #e5e7eb);box-shadow:0 1px 3px #0000001a;overflow:hidden}.tenants-page .page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-wrap:wrap}.tenants-page .toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1}.tenants-page .toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.tenants-page .search-box{display:flex;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;min-width:220px;max-width:300px;box-sizing:border-box;overflow:hidden;position:relative}.tenants-page .search-icon{margin-right:8px;color:#9ca3af;font-size:14px;flex-shrink:0;line-height:1}.tenants-page .search-input{border:none;background:transparent;outline:none;font-size:14px;width:100%;color:#111827;box-sizing:border-box;flex:1;min-width:0}.tenants-page .search-input::placeholder{color:#9ca3af}.tenants-page .filter-group{display:flex;align-items:center;gap:8px}.tenants-page .filter-group label{font-size:13px;font-weight:500;color:#374151;white-space:nowrap}.tenants-page .filter-select{padding:8px 32px 8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;cursor:pointer;min-width:120px}.tenants-page .filter-select:focus{outline:none;border-color:#39c94c;box-shadow:0 0 0 2px #39c94c1a}.tenants-page .date-filter-group{display:flex;align-items:center;gap:8px}.tenants-page .date-input{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151;background:#fff;min-width:130px}.tenants-page .date-input:focus{outline:none;border-color:#39c94c;box-shadow:0 0 0 2px #39c94c1a}.tenants-page .data-table{width:100%;overflow-x:auto}.tenants-page .data-table table{width:100%;border-collapse:collapse;min-width:1200px}.tenants-page .data-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap}.tenants-page .data-table td{padding:14px 16px;font-size:14px;color:#111827;border-bottom:1px solid #f3f4f6;vertical-align:middle}.tenants-page .data-table tbody tr:hover{background:#f9fafb}.tenants-page .tenant-cell{display:flex;align-items:center;gap:12px}.tenants-page .tenant-colors{display:flex;flex-direction:column;gap:3px}.tenants-page .color-dot{width:10px;height:10px;border-radius:50%}.tenants-page .tenant-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tenants-page .tenant-name{font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.tenants-page .tenant-id{font-size:11px;color:#9ca3af;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.tenants-page .subdomain-badge{display:inline-block;padding:4px 8px;background:#ecfdf5;color:#059669;border-radius:6px;font-size:12px;font-family:monospace;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.tenants-page .contact-cell{display:flex;flex-direction:column;gap:2px}.tenants-page .contact-email{font-size:12px;color:#6b7280}.tenants-page .location-cell{font-size:13px;color:#6b7280;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenants-page .plan-badge{display:inline-block;padding:4px 10px;background:#f0f9ff;color:#0284c7;border-radius:6px;font-size:12px;font-weight:500}.tenants-page .category-badge{display:inline-block;padding:4px 10px;background:#fef3c7;color:#b45309;border-radius:6px;font-size:12px;font-weight:500;text-transform:capitalize}.tenants-page .bed-size-badge{display:inline-block;padding:4px 10px;background:#f3e8ff;color:#7c3aed;border-radius:6px;font-size:12px;font-weight:500}.tenants-page .status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.tenants-page .status-badge.status-active{background:#dcfce7;color:#15803d}.tenants-page .status-badge.status-inactive{background:#fef3c7;color:#b45309}.tenants-page .status-badge.status-suspended{background:#fee2e2;color:#dc2626}.tenants-page .status-badge.status-trial{background:#e0e7ff;color:#4f46e5}.tenants-page .status-badge.status-pending{background:#fef3c7;color:#d97706}.tenants-page .action-buttons{display:flex;align-items:center;gap:6px}.tenants-page .action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.tenants-page .action-btn.view{background:#f0f9ff;color:#0284c7}.tenants-page .action-btn.view:hover{background:#e0f2fe}.tenants-page .action-btn.edit{background:#fef3c7;color:#d97706}.tenants-page .action-btn.edit:hover{background:#fde68a}.tenants-page .action-btn.delete{background:#fee2e2;color:#dc2626}.tenants-page .action-btn.delete:hover{background:#fecaca}.tenants-page .action-btn.disabled{opacity:.5;cursor:not-allowed}.tenants-page .empty-state{text-align:center;padding:60px 20px}.tenants-page .empty-icon{font-size:48px;margin-bottom:16px}.tenants-page .empty-title{font-size:18px;font-weight:600;color:#111827;margin-bottom:8px}.tenants-page .empty-message{font-size:14px;color:#6b7280;margin-bottom:20px}.tenants-page .filter-row{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.tenants-page .filter-row-label{font-size:13px;font-weight:500;color:#6b7280;margin-right:8px}.tenants-page .clear-filters-btn{padding:6px 12px;font-size:12px;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.tenants-page .clear-filters-btn:hover{background:#f3f4f6;color:#374151}@media(max-width:1024px){.tenants-page .stats-grid{grid-template-columns:repeat(2,1fr)}.tenants-page .search-box{min-width:180px;max-width:220px}.tenants-page .filter-select{min-width:100px;padding-right:28px}}@media(max-width:768px){.tenants-page .stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.tenants-page .stat-card{padding:16px;gap:12px}.tenants-page .stat-icon{width:40px;height:40px;min-width:40px;font-size:20px;border-radius:10px}.tenants-page .stat-value{font-size:24px}.tenants-page .stat-label{font-size:11px}.tenants-page .page-toolbar{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.tenants-page .toolbar-left{flex-direction:column;align-items:stretch;gap:10px}.tenants-page .toolbar-right{justify-content:flex-end}.tenants-page .search-box{width:100%;max-width:none;min-width:auto}.tenants-page .filter-group{width:100%;justify-content:space-between}.tenants-page .filter-group label{min-width:70px}.tenants-page .filter-select{flex:1;min-width:auto}.tenants-page .filter-row{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.tenants-page .date-filter-group{flex-direction:column;align-items:stretch}.tenants-page .date-input{width:100%;min-width:auto}.tenants-page .data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.tenants-page .data-table table{min-width:800px}}@media(max-width:480px){.tenants-page{gap:16px}.tenants-page .stats-grid{grid-template-columns:1fr 1fr;gap:10px}.tenants-page .stat-card{padding:14px;gap:10px;flex-direction:row;align-items:center}.tenants-page .stat-icon{width:36px;height:36px;min-width:36px;font-size:18px;border-radius:8px}.tenants-page .stat-value{font-size:20px}.tenants-page .stat-label{font-size:10px;letter-spacing:.3px}.tenants-page .page-toolbar{padding:12px}.tenants-page .toolbar-right{width:100%;justify-content:stretch}.tenants-page .toolbar-right button{flex:1;justify-content:center}.tenants-page .data-table th,.tenants-page .data-table td{padding:10px 12px;font-size:13px}.tenants-page .tenant-name{max-width:100px}.tenants-page .subdomain-badge{max-width:120px;font-size:11px}.tenants-page .action-btn{width:28px;height:28px;font-size:12px}}.tenants-page .animate-fade-in-up{animation:fadeInUp .4s ease-out}.tenants-page .animate-fade-in-left{animation:fadeInLeft .3s ease-out}@keyframes fadeInUp{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)}}.tenants-page .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.tenants-page .modal-content{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.tenants-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.tenants-page .modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.tenants-page .modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;font-size:16px;color:#6b7280;display:flex;align-items:center;justify-content:center}.tenants-page .modal-close:hover{background:#e5e7eb}.tenants-page .modal-body{padding:24px;overflow-y:auto}.tenants-page .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.tenants-page .modal-fold-in{animation:modalFoldIn .3s ease-out}.tenants-page .modal-fold-out{animation:modalFoldOut .9s ease-in-out forwards}@keyframes modalFoldIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes modalFoldOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@media(max-width:768px){.tenants-page .modal-overlay{padding:10px}.tenants-page .modal-content{max-height:95vh;border-radius:12px}.tenants-page .modal-header,.tenants-page .modal-body{padding:16px}.tenants-page .modal-footer{padding:12px 16px;flex-direction:column}.tenants-page .modal-footer button{width:100%}}.tenants-page .loading-overlay{display:flex;align-items:center;justify-content:center;padding:60px 20px}.tenants-page .error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.tenants-page .table-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tenants-page .table-info{display:flex;align-items:center;gap:16px}.tenants-page .result-count{font-size:13px;color:#6b7280}.tenants-page .table-actions{display:flex;align-items:center;gap:16px}.tenants-page .per-page-group{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.tenants-page .per-page-select{padding:6px 24px 6px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;cursor:pointer}.tenants-page .per-page-select:focus{outline:none;border-color:#39c94c}.tenants-page .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:24px;transition:background-color .15s}.tenants-page .data-table th.sortable:hover{background-color:#f3f4f6}.tenants-page .data-table th.sortable.sorted{background-color:#ecfdf5;color:#059669}.tenants-page .data-table th .sort-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:#059669}.tenants-page .pagination-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #e5e7eb;background:#fff}.tenants-page .pagination-info{font-size:13px;color:#6b7280}.tenants-page .pagination-buttons{display:flex;align-items:center;gap:4px}.tenants-page .pagination-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.tenants-page .pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.tenants-page .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.tenants-page .pagination-btn.active{background:#39c94c;border-color:#39c94c;color:#fff}.tenants-page .pagination-btn.page-num{font-weight:600}@media(max-width:768px){.tenants-page .table-controls{flex-direction:column;gap:12px;padding:12px 16px}.tenants-page .table-info,.tenants-page .table-actions{width:100%;justify-content:center}.tenants-page .pagination-controls{flex-direction:column;gap:12px;padding:12px 16px}.tenants-page .pagination-buttons{flex-wrap:wrap;justify-content:center}.tenants-page .pagination-btn{min-width:32px;height:32px;font-size:12px}}@media(max-width:480px){.tenants-page .per-page-group span:last-child{display:none}.tenants-page .pagination-btn:not(.page-num):not(:first-child):not(:last-child){display:none}}.tenants-page .modal-body label,.tenants-page .form-section label,.tenants-page .form-group label,.tenants-page .form-grid label{display:block;text-align:left!important;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.tenants-page .required-asterisk,.tenants-page .modal-body label .required-asterisk,.tenants-page .form-section label .required-asterisk,.tenants-page .form-group label .required-asterisk,.tenants-page .form-grid label .required-asterisk{color:#dc2626!important;font-weight:700;margin-left:2px}.tenants-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tenants-page .form-grid.three-columns{grid-template-columns:repeat(3,1fr)}.tenants-page .form-grid .full-width{grid-column:1 / -1}.tenants-page .form-group{display:flex;flex-direction:column;align-items:stretch;width:100%}.tenants-page .form-group input,.tenants-page .form-group select,.tenants-page .form-group textarea,.tenants-page .form-section input,.tenants-page .form-section select,.tenants-page .form-section textarea,.tenants-page .modal-body .form-group input,.tenants-page .modal-body .form-group select{width:100%!important;max-width:100%!important;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.tenants-page .form-group>div,.tenants-page .form-section .form-group>div{width:100%}.tenants-page .input-wrapper,.tenants-page .form-group .input-wrapper{width:100%!important}.tenants-page .form-group input:focus,.tenants-page .form-group select:focus,.tenants-page .form-group textarea:focus{outline:none;border-color:#39c94c;box-shadow:0 0 0 3px #39c94c1a}.tenants-page .form-group input::placeholder{color:#9ca3af}.tenants-page .form-group select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px;cursor:pointer}.tenants-page .color-input-group{display:flex;align-items:center;gap:10px;width:100%}.tenants-page .color-input-group .color-picker,.tenants-page .form-group input[type=color]{width:50px!important;min-width:50px!important;max-width:50px!important;height:40px;padding:4px;cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0}.tenants-page .color-input-group .input-wrapper,.tenants-page .color-input-group>div:last-child{flex:1;width:auto!important}.tenants-page .color-input-group input:not([type=color]){width:100%!important}@media(max-width:768px){.tenants-page .form-grid,.tenants-page .form-grid.three-columns{grid-template-columns:1fr}}.tenants-page .form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.tenants-page .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.tenants-page .form-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.tenants-page .form-section-icon{font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:8px}.tenants-page .form-section-title{font-size:15px;font-weight:600;color:#111827;margin:0}.tenants-page .price-summary-box{padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:10px;border:2px solid #0ea5e9}.tenants-page .price-summary-title{margin:0 0 12px;color:#0c4a6e;font-size:14px;font-weight:600}.tenants-page .price-summary-content{font-size:13px;color:#334155}.tenants-page .price-row{display:flex;justify-content:space-between;margin-bottom:8px}.tenants-page .price-row strong{color:#0c4a6e}.tenants-page .price-row.total{padding-top:10px;border-top:2px solid #0ea5e9;font-size:15px;font-weight:700}.tenants-page .price-row .total-amount{color:#0ea5e9;font-size:18px;font-weight:700}.tenants-page .price-row.status-row{margin-top:12px;padding-top:12px;border-top:1px dashed #0ea5e9;margin-bottom:0}.tenants-page .invoice-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.tenants-page .invoice-status.paid{background:#dcfce7;color:#166534}.tenants-page .invoice-status.pending{background:#fef3c7;color:#92400e}.tenants-page .field-helper{font-size:12px;margin-top:4px;display:block}@media(max-width:768px){.tenants-page .form-section{margin-bottom:20px;padding-bottom:20px}.tenants-page .form-section-header{margin-bottom:12px}.tenants-page .form-section-icon{width:32px;height:32px;font-size:18px}.tenants-page .form-section-title{font-size:14px}.tenants-page .price-summary-box{padding:12px}.tenants-page .price-row.total{flex-direction:column;gap:4px}.tenants-page .price-row .total-amount{font-size:20px}}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--gray-400);z-index:1;pointer-events:none;line-height:1}.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;box-sizing:border-box;position:relative}.summary-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.summary-card{border-radius:var(--radius-md)}.summary-card .card-body{display:flex;align-items:center;gap:12px;padding:12px 14px}.summary-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.summary-content{flex:1;min-width:0}.summary-label{font-size:12px;color:var(--gray-600);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-value{font-size:22px;font-weight:700;color:var(--gray-900);line-height:1.2}.patient-name-cell{max-width:280px;min-width:180px;vertical-align:middle}.patient-name-text{font-weight:500;color:#1a1a1a;display:block;max-width:200px;word-wrap:break-word;word-break:break-word;white-space:normal;line-height:1.3}.patient-email-text{font-size:12px;color:#9ca3af;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.status-badge-cell{min-width:100px;text-align:center}.status-badge{display:inline-block;font-size:12px;padding:4px 12px;border-radius:12px;font-weight:500;text-transform:capitalize;white-space:nowrap}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-discharged{background:#dbeafe;color:#1e40af}.status-badge.status-inactive{background:#f3f4f6;color:#6b7280}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.results-title{font-size:16px;font-weight:600;color:var(--gray-700);margin:0}.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;flex-shrink:0;white-space:nowrap}.status-badge.status-maintenance{background:var(--warning-100);color:var(--warning-700)}.status-badge.status-pending{background:#fef3c7;color:#d97706}.branch-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.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}.branch-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200)}.branch-quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-top:12px;border-top:1px solid var(--gray-200)}.branch-quick-actions .quick-action-btn-small{font-size:11px;padding:4px 8px;display:flex;align-items:center;gap:4px;border-radius:6px;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-700);transition:all .2s ease}.branch-quick-actions .quick-action-btn-small:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.branch-quick-actions .quick-action-btn-small span{font-size:10px}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:visible;display:flex;flex-direction:column;animation:slideUp .3s ease;position:relative}.modal-content .form-select{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.modal-body{padding:24px;overflow-y:auto;overflow-x:visible;flex:1;min-height:0;max-height:calc(90vh - 150px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box}.branch-form,.doctor-form,.staff-form{display:flex;flex-direction:column;gap:20px}.data-table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.data-table thead{background:var(--gray-50)}.data-table th{padding:16px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--gray-600);letter-spacing:.5px;border-bottom:2px solid var(--gray-200)}.data-table td{padding:16px;border-bottom:1px solid var(--gray-200);font-size:14px;color:var(--gray-900)}.data-table tbody tr{transition:all .3s ease}.data-table tbody tr:hover{background:var(--gray-50)}.table-actions{display:flex;gap:8px}.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}.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}.patient-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200);flex-wrap:nowrap;position:relative}.patient-header>.status-badge{position:absolute;top:0;right:0;z-index:5;max-width:100px;text-overflow:ellipsis;overflow:hidden}.patient-info{flex:1;min-width:0;padding-right:90px}.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)}.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}.specializations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.specialization-card{transition:all .3s ease}.specialization-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.specialization-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.specialization-info{flex:1}.specialization-name{font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.specialization-code{font-size:13px;font-weight:600;color:var(--gray-500);font-family:Courier New,monospace}.specialization-description{font-size:14px;color:var(--gray-600);margin-bottom:16px;line-height:1.5}.specialization-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:16px}.specialization-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-section{display:flex;flex-direction:column;gap:6px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{padding:4px 10px;background:var(--info-50);color:var(--info-700);border-radius:var(--radius-md);font-size:12px;font-weight:600}.specialization-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap}@media(max-width:768px){.page-header-content{flex-direction:column;gap:16px}.search-filter-section{flex-direction:column}.search-box{min-width:100%}.branches-grid,.doctors-grid,.staff-grid,.patients-grid,.appointments-grid,.departments-grid,.specializations-grid{grid-template-columns:1fr}.summary-cards-grid,.branch-stats{grid-template-columns:repeat(2,1fr)}.doctor-stats,.staff-stats{grid-template-columns:repeat(3,1fr)}.department-stats{grid-template-columns:repeat(2,1fr)}.specialization-stats{grid-template-columns:repeat(3,1fr)}.modal-content{width:95%;max-height:95vh}}.modal-large{width:95%;max-width:1100px}.view-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;box-sizing:border-box}.view-section{padding:16px;background:var(--gray-50);border-radius:var(--radius-lg);box-sizing:border-box;min-width:0}.view-section-title{font-size:16px;font-weight:600;color:var(--gray-800);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--primary-200)}.view-details-list{display:flex;flex-direction:column;gap:12px}.view-detail-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.view-label{font-size:13px;color:var(--gray-600);font-weight:500}.view-value{font-size:14px;color:var(--gray-900);font-weight:600;text-align:right;word-break:break-word;overflow-wrap:break-word}.view-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.view-stat-card{padding:16px;background:#fff;border-radius:var(--radius-md);text-align:center;border:1px solid var(--gray-200)}.view-stat-card.highlight{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-color:var(--primary-300)}.view-stat-value{font-size:24px;font-weight:700;color:var(--primary-600);margin-bottom:4px}.view-stat-card.highlight .view-stat-value{color:var(--primary-700)}.view-stat-label{font-size:12px;color:var(--gray-600);font-weight:500}@media(max-width:768px){.view-details-grid{grid-template-columns:1fr}.view-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.doctors-grid,.summary-cards-grid{grid-template-columns:repeat(2,1fr)}.filter-buttons{flex-wrap:wrap;gap:6px}.filter-btn{padding:6px 12px;font-size:13px}.filter-select{min-width:150px}}@media(max-width:768px){.hospital-admin-page{padding:16px}.page-header-section{padding:16px;margin-bottom:20px}.page-title{font-size:20px}.page-subtitle{font-size:13px}.doctors-grid{grid-template-columns:1fr;gap:16px}.summary-cards-grid{grid-template-columns:repeat(4,1fr);gap:8px}.summary-card .card-body{padding:10px;flex-direction:column;text-align:center;gap:6px}.summary-icon{width:32px;height:32px;font-size:16px}.summary-value{font-size:18px}.summary-label{font-size:10px}.doctor-card .card-body{padding:16px}.doctor-header{flex-direction:column;align-items:center;text-align:center;gap:12px}.doctor-avatar{width:70px;height:70px}.doctor-info{text-align:center}.doctor-name{font-size:16px}.doctor-details{gap:12px}.detail-row{padding:8px 0}.doctor-stats{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.stat-value{font-size:14px}.stat-label{font-size:11px}.doctor-availability{padding:12px}.availability-days{gap:4px}.day-badge{padding:4px 6px;font-size:10px}.doctor-actions{flex-wrap:wrap;justify-content:center;gap:6px;padding-top:12px}.doctor-actions .btn{flex:1 1 calc(50% - 6px);min-width:100px;font-size:12px;padding:8px 12px}.patients-grid{grid-template-columns:1fr;gap:16px}.patient-header{gap:10px}.patient-header>.status-badge{position:relative;top:auto;right:auto;max-width:none;align-self:flex-start;margin-left:auto}.patient-info{padding-right:0;min-width:120px}.patient-avatar{width:60px;height:60px;flex-shrink:0}.patient-name{font-size:15px;word-break:break-word}.patient-stats{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.patient-actions{flex-wrap:wrap;gap:6px}.patient-actions .btn{flex:1 1 calc(50% - 6px);min-width:80px;font-size:12px}.search-filter-section{flex-direction:column;gap:12px}.search-box{width:100%;max-width:none}.filter-buttons{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.filter-btn{white-space:nowrap;flex-shrink:0}.filter-select{width:100%;max-width:none}.modal-content{width:95%;max-width:95%;max-height:90vh;margin:20px auto}.modal-body{max-height:calc(90vh - 160px);overflow-y:auto;min-height:0}.form-row{flex-direction:column;gap:12px}.form-group{width:100%}}@media(max-width:576px){.hospital-admin-page,.page-header-section{padding:12px}.page-header-content{gap:12px}.page-title{font-size:18px}.summary-cards-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-card .card-body{padding:10px}.summary-icon{width:36px;height:36px;font-size:16px}.summary-value{font-size:18px}.summary-label{font-size:11px}.results-header{margin-bottom:12px}.results-title{font-size:14px}.doctor-card .card-body{padding:12px}.doctor-avatar{width:60px;height:60px}.doctor-name{font-size:15px}.doctor-specialization{font-size:12px}.status-badge{font-size:11px;padding:4px 8px}.doctor-stats{grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.stat-item{padding:6px}.stat-value{font-size:13px}.stat-label{font-size:10px}.doctor-actions .btn{flex:1 1 100%;font-size:12px}.patient-card .card-body{padding:12px}.patient-header{flex-wrap:wrap;gap:8px}.patient-header>.status-badge{order:-1;width:100%;text-align:center;margin-bottom:8px}.patient-avatar{width:50px;height:50px}.patient-info{flex:1;min-width:0}.patient-name{font-size:14px}.patient-id{font-size:11px}.patient-badges{flex-wrap:wrap;gap:4px}.patient-gender,.patient-blood{font-size:10px;padding:3px 8px}.patient-stats{grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.patient-actions .btn{flex:1 1 100%;font-size:11px;padding:8px}.filter-buttons{gap:4px}.filter-btn{padding:6px 10px;font-size:12px}.modal-content{width:100%;max-width:100%;margin:0;border-radius:0;min-height:100vh}.modal-header{padding:12px 16px}.modal-header h3{font-size:16px}.modal-body{padding:12px 16px;max-height:calc(100vh - 130px);overflow-y:auto;min-height:0}.modal-footer{padding:12px 16px}.form-label{font-size:13px}.form-input{padding:10px 12px;font-size:14px}}@media(max-width:480px){.page-header-content{text-align:center}.page-header-content>div:first-child{width:100%}.page-header-content .btn{width:100%}.summary-cards-grid{grid-template-columns:repeat(2,1fr);gap:6px}.summary-card .card-body{flex-direction:row;text-align:left;justify-content:flex-start;padding:8px 10px;gap:8px}.summary-icon{width:28px;height:28px;font-size:14px}.summary-value{font-size:16px}.summary-label{font-size:9px}.doctor-header{padding-bottom:12px}.doctor-details{gap:8px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-icon{font-size:14px}.detail-label{font-size:11px}.detail-value{font-size:13px}.doctor-availability{padding:10px}.availability-label{font-size:12px}.availability-days{flex-wrap:wrap}.day-badge{padding:3px 5px;font-size:9px}.doctor-actions{flex-direction:column;gap:8px}.doctor-actions .btn{width:100%;justify-content:center}.empty-state{padding:30px 20px}.empty-icon{font-size:48px}.empty-title{font-size:16px}.empty-message{font-size:13px}}.data-table-container{background:#fff;border-radius:12px;border:1px solid var(--gray-200);padding:20px;overflow:auto;max-height:70vh}.data-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.data-table-title{font-size:18px;font-weight:600;color:var(--gray-900);margin:0}.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;border-bottom:2px solid var(--gray-200);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer;transition:color .2s ease}.data-table th.sortable:hover,.data-table th.sorted{color:var(--primary-600)}.data-table td{padding:14px 12px;font-size:14px;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.data-table tbody tr{transition:background-color .2s ease}.data-table tbody tr:hover{background-color:var(--gray-50)}.table-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200);flex-wrap:wrap;gap:12px}.pagination-info{color:var(--gray-600);font-size:14px}.pagination-controls{display:flex;gap:8px;flex-wrap:wrap}.pagination-btn{padding:8px 16px;border:1px solid var(--gray-200);border-radius:6px;background:#fff;color:var(--gray-700);font-size:14px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.pagination-btn:disabled{background:var(--gray-100);color:var(--gray-400);cursor:not-allowed}.pagination-current{padding:8px 16px;background:var(--gray-100);border-radius:6px;font-size:14px;font-weight:500;color:var(--gray-700)}@media(max-width:768px){.data-table-container{padding:12px}.data-table-header{flex-direction:column;align-items:flex-start}.data-table-wrapper{margin:0 -12px;padding:0 12px}.table-pagination{flex-direction:column;align-items:center;gap:16px}.pagination-controls{justify-content:center;width:100%}.pagination-btn{padding:8px 12px;font-size:13px}.filters-card{padding:16px}.filters-grid{flex-direction:column}.filter-item{flex:1 1 100%}.table-actions{display:flex;flex-direction:column;gap:4px}.table-action-btn{padding:4px 8px;font-size:11px}}@media(max-width:480px){.pagination-btn{padding:6px 10px;font-size:12px}.pagination-current{padding:6px 12px;font-size:12px}.data-table th,.data-table td{padding:10px 8px;font-size:12px}}.conversation-list{display:flex;flex-direction:column;height:100%;background:#fafafa;border-right:1px solid var(--color-border, #e5e7eb)}.list-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fff}.list-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.unread-badge{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;min-width:24px;text-align:center}.search-box{padding:16px;background:#fff;border-bottom:1px solid var(--color-border, #e5e7eb)}.search-box input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:20px;font-size:14px;background:#f9fafb;transition:all .2s}.search-box input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.conversations{flex:1;overflow-y:auto}.conversation-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s;background:#fff}.conversation-item:hover{background:#f8fafc}.conversation-item.active{background:#eff6ff;border-left:3px solid #2563eb}.conversation-item.unread{background:#fefce8}.conversation-item.unread .name{font-weight:600}.conversation-item.unread .last-message{font-weight:500;color:#374151}.conversation-item .avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;overflow:hidden}.conversation-item .avatar img{width:100%;height:100%;object-fit:cover}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-header .name{font-weight:500;color:#1a1a1a;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-header .time{font-size:12px;color:#6b7280;flex-shrink:0;margin-left:8px}.conversation-preview{display:flex;align-items:center;gap:8px}.last-message{flex:1;font-size:13px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-count{background:#2563eb;color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.loading-state,.empty-state{padding:48px 24px;text-align:center;color:#6b7280}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{margin:0;font-size:14px}@media(max-width:768px){.conversation-list{border-right:none}.list-header{padding:16px}.search-box,.conversation-item{padding:12px 16px}.conversation-item .avatar{width:44px;height:44px;font-size:18px}}.firebase-chat{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--color-border, #e5e7eb)}.chat-loading,.chat-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;padding:48px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.chat-error{color:#dc2626}.firebase-chat .chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fafafa}.recipient-info{display:flex;align-items:center;gap:12px}.recipient-info .avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden}.recipient-info .avatar img{width:100%;height:100%;object-fit:cover}.recipient-info .avatar-container{position:relative}.recipient-info .online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background-color:#22c55e;border:2px solid white;border-radius:50%}.recipient-info .info h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.recipient-info .status{font-size:13px;color:#6b7280}.recipient-info .status.online{color:#22c55e;font-weight:500}.recipient-info .status.typing{color:#22c55e;font-style:italic}.header-actions{display:flex;align-items:center;gap:8px}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1a1a1a}.firebase-chat .messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:8px;background:#f9fafb}.no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;text-align:center}.no-messages .icon{font-size:48px;margin-bottom:12px;opacity:.5}.no-messages h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#374151}.no-messages p{margin:0;font-size:14px}.message-group{display:flex;flex-direction:column;gap:8px}.date-divider{display:flex;align-items:center;justify-content:center;padding:12px 0}.date-divider span{background:#e5e7eb;color:#6b7280;font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px}.message{display:flex;gap:8px;max-width:75%}.message.sent{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:4px}.message-bubble{padding:10px 14px;border-radius:18px;position:relative}.message.sent .message-bubble{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom-right-radius:4px}.message.received .message-bubble{background:#fff;color:#1a1a1a;border-bottom-left-radius:4px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.sender-name{font-size:11px;font-weight:600;color:#2563eb;display:block;margin-bottom:4px}.message-text{margin:0;font-size:14px;line-height:1.5;word-wrap:break-word}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px}.message-meta .time{font-size:10px;opacity:.7}.message.sent .message-meta .time{color:#fffc}.read-status{font-size:12px;color:#fff9}.read-status.read{color:#86efac}.typing-indicator-bar{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#fafafa;border-top:1px solid #f0f0f0;font-size:13px;color:#6b7280}.typing-dots{display:flex;gap:3px}.typing-dots span{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.firebase-chat .message-input-area{padding:16px 20px;border-top:1px solid var(--color-border, #e5e7eb);background:#fff}.firebase-chat .input-wrapper{display:flex;align-items:flex-end;gap:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:24px;padding:8px 12px 8px 16px;transition:all .2s}.firebase-chat .input-wrapper:focus-within{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.firebase-chat .input-wrapper textarea{flex:1;border:none;background:none;font-size:14px;line-height:1.5;resize:none;min-height:24px;max-height:120px;font-family:inherit;color:#1a1a1a}.firebase-chat .input-wrapper textarea::placeholder{color:#9ca3af}.firebase-chat .input-wrapper textarea:focus{outline:none}.firebase-chat .input-wrapper textarea:disabled{opacity:.6}.firebase-chat .input-actions{display:flex;align-items:center;gap:4px}.firebase-chat .attach-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:6px;opacity:.5;transition:opacity .2s;border-radius:50%}.firebase-chat .attach-btn:hover:not(.disabled){opacity:1;background:#e5e7eb}.firebase-chat .attach-btn.disabled{opacity:.3;cursor:not-allowed}.firebase-chat .uploading-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#f0f7ff;border-radius:8px;margin-bottom:8px;font-size:13px;color:#4a90e2}.firebase-chat .uploading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.firebase-chat .input-actions button[type=button],.firebase-chat .input-actions .btn{width:36px;height:36px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px}.sending-indicator{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.error-toast{position:absolute;bottom:80px;left:20px;right:20px;background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;cursor:pointer;animation:slideUp .3s ease-out;border:1px solid #fecaca}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-attachment{cursor:pointer}.message-attachment.image-attachment{margin:-6px -10px 4px}.message-bubble.has-attachment{padding:6px;overflow:hidden}.message-bubble.has-attachment .message-meta{padding:0 8px}.attachment-image{max-width:250px;max-height:200px;border-radius:12px;display:block;object-fit:cover;transition:transform .2s}.attachment-image:hover{transform:scale(1.02)}.image-placeholder-attachment .image-placeholder{width:200px;padding:20px;background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.image-placeholder .image-icon{font-size:40px}.image-placeholder .image-label{font-size:13px;font-weight:500;color:#4a5568;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.image-placeholder .image-size{font-size:11px;color:#718096}.message.sent .image-placeholder{background:linear-gradient(135deg,#fff3,#ffffff1a)}.message.sent .image-placeholder .image-label,.message.sent .image-placeholder .image-size{color:#ffffffe6}.image-attachment.image-error{width:200px;padding:20px;background:#fef2f2;border-radius:12px;text-align:center}.image-attachment.image-error:after{content:"🖼️ Image unavailable";font-size:13px;color:#dc2626}.video-attachment .video-size{font-size:11px;opacity:.7}.video-attachment .video-placeholder{width:200px;height:120px;background:#0000001a;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .2s}.video-attachment .video-placeholder:hover{background:#00000026}.video-attachment .play-icon{font-size:32px;opacity:.8}.video-attachment .video-name{font-size:12px;opacity:.7;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0000000d;border-radius:8px;min-width:150px;cursor:pointer;transition:background .2s}.file-attachment:hover{background:#00000014}.message.sent .file-attachment{background:#ffffff26}.message.sent .file-attachment:hover{background:#fff3}.file-attachment .file-icon{font-size:24px}.file-attachment .file-info{flex:1;min-width:0}.file-attachment .file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.file-attachment .file-size{font-size:11px;opacity:.7;display:block;margin-top:2px}.attachment-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.attachment-modal{background:#fff;border-radius:16px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0003;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close:hover{color:#1a1a1a}.modal-body{padding:20px;text-align:center}.preview-image-container{margin-bottom:16px;background:#f9fafb;border-radius:12px;padding:12px}.preview-image{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.preview-file{margin-bottom:16px;padding:24px;background:#f9fafb;border-radius:12px}.file-icon-large{font-size:48px}.file-details{margin-bottom:16px}.file-name-preview{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 4px;word-break:break-all}.file-size-preview{font-size:13px;color:#6b7280;margin:0 0 4px}.file-type-preview{font-size:12px;color:#2563eb;font-weight:500;margin:0}.confirm-text{font-size:14px;color:#374151;margin:0}.modal-actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background:#fafafa}.modal-actions button{flex:1}@media(max-width:768px){.firebase-chat .chat-header{padding:12px 16px}.header-actions button:first-child{display:none}.message{max-width:85%}.firebase-chat .message-input-area{padding:12px 16px}.attachment-modal{width:95%}}.hospital-admin-messages-page{height:calc(100vh - 120px);padding:24px}.hospital-admin-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.hospital-admin-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.hospital-admin-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}@media(max-width:768px){.hospital-admin-messages-page{padding:0;height:calc(100vh - 60px)}.hospital-admin-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.hospital-admin-messages-page .conversations-panel{border-right:none}.hospital-admin-messages-page .conversations-panel.mobile-hide,.hospital-admin-messages-page .chat-panel{display:none}.hospital-admin-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}.recipient-type-tabs .tab{font-size:12px;padding:8px}}.branch-admin-messages-page{height:calc(100vh - 120px);padding:24px}.branch-admin-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.branch-admin-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.branch-admin-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.recipient-type-tabs .tab{flex:1;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.recipient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.recipient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.recipient-item:hover{background:#f3f4f6}.recipient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.recipient-item .avatar img{width:100%;height:100%;object-fit:cover}.recipient-item .info{flex:1;min-width:0}.recipient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.recipient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.branch-admin-messages-page{padding:0;height:calc(100vh - 60px)}.branch-admin-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.branch-admin-messages-page .conversations-panel{border-right:none}.branch-admin-messages-page .conversations-panel.mobile-hide,.branch-admin-messages-page .chat-panel{display:none}.branch-admin-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}.recipient-type-tabs .tab{font-size:12px;padding:8px}}.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)}.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-on_leave{background:var(--info-100);color:var(--info-700)}.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}.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}.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)}.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}.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-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}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{font-size:80px;opacity:.3;margin-bottom:16px}.empty-title{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.empty-message{font-size:16px;color:var(--gray-600);margin-bottom:24px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--gray-900)}.modal-close{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius-md);font-size:20px;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:var(--gray-200)}.modal-body{padding:24px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0}.staff-form,.patient-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}.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)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.page-header-content{flex-direction:column;gap:16px}.search-filter-section{flex-direction:column}.search-box{min-width:100%}.staff-grid,.patients-grid,.departments-grid{grid-template-columns:1fr}.summary-cards-grid{grid-template-columns:repeat(2,1fr)}.staff-stats,.patient-stats{grid-template-columns:repeat(3,1fr)}.modal-content{width:95%;max-height:95vh}}.branch-selector-wrapper{display:flex;flex-direction:column;gap:6px;width:100%}.branch-selector-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.branch-selector-required{color:#ef4444;margin-left:4px}.branch-selector-container{position:relative;display:flex;align-items:center;width:100%}.branch-selector{width:100%;padding:10px 36px 10px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#1f2937;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.branch-selector:hover:not(:disabled){border-color:#9ca3af}.branch-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.branch-selector:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.branch-selector-error .branch-selector{border-color:#ef4444}.branch-selector-error .branch-selector:focus{box-shadow:0 0 0 3px #ef44441a}.branch-selector-disabled-indicator{position:absolute;right:40px;font-size:11px;padding:2px 6px;background-color:#f3f4f6;color:#6b7280;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.branch-selector-error-text{font-size:12px;color:#ef4444;margin-top:4px}.branch-selector-compact .branch-selector{padding:8px 32px 8px 10px;font-size:13px}@media(prefers-color-scheme:dark){.branch-selector-label{color:#e5e7eb}.branch-selector{background-color:#1f2937;border-color:#374151;color:#f3f4f6}.branch-selector:hover:not(:disabled){border-color:#4b5563}.branch-selector:disabled{background-color:#111827;color:#6b7280}.branch-selector-disabled-indicator{background-color:#374151;color:#9ca3af}}.bulk-import-page{max-width:1400px;margin:0 auto}.import-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.import-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.import-subtitle{font-size:1rem;color:var(--gray-600);margin:0}.import-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--gray-200)}.import-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--gray-600);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.import-tab:hover{color:var(--primary-color);background:#6366f10d}.import-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.import-tab svg{color:currentColor}.import-content{display:flex;flex-direction:column;gap:1.5rem}.upload-section{padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.section-header h2{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.section-header p{font-size:.875rem;color:var(--gray-600);margin:.5rem 0 0}.upload-zone{border:2px dashed var(--gray-300);border-radius:12px;padding:3rem 2rem;background:var(--gray-50);cursor:pointer;transition:all .3s ease;text-align:center;position:relative;margin-bottom:1.5rem}.upload-zone:hover{border-color:var(--primary-color);background:#6366f10d}.upload-zone.has-file{background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border-color:var(--success-color)}.upload-icon,.file-icon{margin-bottom:1rem}.upload-icon svg{color:var(--gray-400)}.file-icon svg{color:var(--success-color)}.upload-text{font-size:1rem;color:var(--gray-700)}.upload-text strong{color:var(--primary-color)}.upload-text small{color:var(--gray-500)}.file-info{font-size:1rem;color:var(--gray-700);margin-bottom:1rem}.file-info strong{color:var(--gray-900)}.file-info small{color:var(--gray-600)}.remove-file-btn{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.remove-file-btn:hover{background:var(--danger-dark, #dc2626);transform:translateY(-2px)}.upload-actions{display:flex;justify-content:center;gap:1rem}.validation-errors{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#ef44440d,#dc26260d);border:1px solid rgba(239,68,68,.3);border-radius:8px}.error-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.error-header svg{color:var(--danger-color);flex-shrink:0}.error-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--danger-color)}.error-list{margin-bottom:1rem}.error-item{display:grid;grid-template-columns:80px 150px 1fr;gap:1rem;padding:.75rem 1rem;background:#fff;border-radius:6px;margin-bottom:.5rem;font-size:.875rem}.error-row{font-weight:600;color:var(--gray-700)}.error-field{color:var(--primary-color);font-weight:500}.error-message{color:var(--danger-color)}.data-preview{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border:1px solid rgba(34,197,94,.3);border-radius:8px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--gray-900)}.preview-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--success-color);color:#fff;border-radius:6px;font-size:.875rem;font-weight:600}.preview-table-wrapper{overflow-x:auto;background:#fff;border-radius:6px;border:1px solid var(--gray-200)}.preview-table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);font-size:.875rem}.preview-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-transform:capitalize}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:var(--gray-50)}.requirements-section{padding:2rem}.requirements-content{display:flex;flex-direction:column;gap:1.5rem}.requirement-group h4{font-size:.875rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.field-tags{display:flex;flex-wrap:wrap;gap:.5rem}.field-tag{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;font-family:monospace}.field-tag.required{background:#ef44441a;color:var(--danger-color);border:1px solid rgba(239,68,68,.3)}.field-tag.optional{background:#6366f11a;color:var(--primary-color);border:1px solid rgba(99,102,241,.3)}.requirements-notes{padding:1rem;background:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.requirements-notes h4{font-size:.875rem;font-weight:600;color:var(--gray-900);margin:0 0 .75rem}.requirements-notes ul{margin:0;padding-left:1.5rem}.requirements-notes li{font-size:.875rem;color:var(--gray-700);margin-bottom:.5rem;line-height:1.5}.requirements-notes li:last-child{margin-bottom:0}.history-section{padding:2rem}.history-table-wrapper{overflow-x:auto;border:1px solid var(--gray-200);border-radius:8px}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--gray-200);font-size:.875rem}.history-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:var(--gray-50)}.history-table .file-name{font-weight:500;color:var(--gray-900)}.history-table .date{color:var(--gray-600)}.history-table .success-count{color:var(--success-color);font-weight:600}.history-table .failure-count{color:var(--danger-color);font-weight:600}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.type-badge.patients{background:#3b82f61a;color:#2563eb}.type-badge.doctors{background:#8b5cf61a;color:#7c3aed}.type-badge.staff{background:#22c55e1a;color:#16a34a}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.completed{background:#22c55e1a;color:#16a34a}.status-badge.failed{background:#ef44441a;color:#dc2626}.status-badge.partial{background:#f59e0b1a;color:#d97706}.loading-state{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--gray-600)}.no-access{padding:3rem;text-align:center}.no-access h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 .75rem}.no-access p{font-size:1rem;color:var(--gray-600);margin:0}.plan-info-card{padding:1.5rem;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.2)}.plan-info-header h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-900)}.plan-info-content{display:flex;flex-wrap:wrap;gap:1.5rem}.plan-stat{display:flex;flex-direction:column;gap:.25rem}.plan-stat .label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.plan-stat .value{font-size:1.25rem;font-weight:700;color:var(--gray-900)}.plan-stat .value.warning{color:var(--warning-color, #f59e0b)}.import-result{padding:1.5rem;border-radius:8px}.import-result.success{background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border:1px solid rgba(34,197,94,.3)}.import-result.error{background:linear-gradient(135deg,#ef44440d,#dc26260d);border:1px solid rgba(239,68,68,.3)}.result-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.result-header svg{flex-shrink:0}.import-result.success .result-header svg{color:var(--success-color)}.import-result.error .result-header svg{color:var(--danger-color)}.result-header h3{margin:0;font-size:1.125rem;font-weight:600}.import-result.success .result-header h3{color:var(--success-color)}.import-result.error .result-header h3{color:var(--danger-color)}.result-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem}.result-stats .stat{display:flex;flex-direction:column;gap:.25rem}.result-stats .stat .label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-transform:uppercase}.result-stats .stat .value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.result-stats .stat.success .value{color:var(--success-color)}.result-stats .stat.error .value{color:var(--danger-color)}.result-errors{padding:1rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200)}.result-errors h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--gray-900)}.result-errors ul{margin:0;padding-left:1.5rem}.result-errors li{font-size:.875rem;color:var(--danger-color);margin-bottom:.375rem}.result-errors li:last-child{margin-bottom:0}.type-badge.branches{background:#f59e0b1a;color:#d97706}.type-badge.departments{background:#10b9811a;color:#059669}.type-badge.specializations{background:#ec48991a;color:#db2777}@media(max-width:768px){.import-tabs{overflow-x:auto}.import-tab{padding:.75rem 1rem;font-size:.875rem;white-space:nowrap}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.upload-zone{padding:2rem 1rem}.upload-actions{flex-direction:column}.error-item{grid-template-columns:1fr;gap:.5rem}.history-table-wrapper{overflow-x:scroll}.history-table{min-width:800px}}.proforma-invoice-page{padding:20px}.page-header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:#1f2937}.page-header p{margin:0;color:#6b7280;font-size:14px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;font-size:20px;cursor:pointer;color:#b91c1c}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}.stat-card{text-align:center;padding:20px}.stat-value{font-size:28px;font-weight:700;color:#1f2937}.stat-draft .stat-value{color:#6b7280}.stat-sent .stat-value{color:#2563eb}.stat-accepted .stat-value{color:#059669}.stat-expired .stat-value{color:#dc2626}.filters-card{margin-bottom:20px}.filters-row{display:flex;gap:12px;align-items:center}.search-input{flex:1;max-width:300px}.status-filter{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:140px}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state p{margin-bottom:16px}.table-container{overflow-x:auto}.proforma-table{width:100%;border-collapse:collapse}.proforma-table th,.proforma-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.proforma-table th{background:#f9fafb;font-weight:600;font-size:13px;color:#374151;text-transform:uppercase;letter-spacing:.5px}.proforma-table tbody tr:hover{background:#f9fafb}.proforma-number{font-weight:600;color:#2563eb}.tenant-info,.plan-info{display:flex;flex-direction:column;gap:2px}.tenant-info strong,.plan-info span{font-size:14px}.tenant-info small,.plan-info small{font-size:12px;color:#6b7280}.amount{font-weight:600;color:#059669}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-draft{background:#e5e7eb;color:#374151;border:1px solid #d1d5db}.badge-sent{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.badge-accepted{background:#d1fae5;color:#047857;border:1px solid #6ee7b7}.badge-rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.badge-expired{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.actions{display:flex;gap:8px}.action-btn{padding:4px 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn.view{background:#eff6ff;color:#2563eb}.action-btn.view:hover{background:#dbeafe}.action-btn.download{background:#f3f4f6;color:#374151}.action-btn.download:hover{background:#e5e7eb}.action-btn.send{background:#d1fae5;color:#047857}.action-btn.send:hover{background:#a7f3d0}.action-btn.delete{background:#fee2e2;color:#b91c1c}.action-btn.delete:hover{background:#fecaca}.action-btn:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;border-top:1px solid #e5e7eb}.modal-overlay{position:fixed;inset:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;padding:20px;z-index:9999;overflow:hidden}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;box-shadow:0 20px 25px -5px #0000001a;animation:slideIn .2s ease-out;display:flex;flex-direction:column;overflow:hidden}.modal-content.sm{max-width:400px}.modal-content.md{max-width:600px}.modal-content.lg,.modal-content.large{max-width:800px}.modal-content.small{max-width:400px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fff}.modal-header h2{margin:0;font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;line-height:1}.close-btn:hover{color:#1f2937}.modal-body{padding:24px;flex:1;overflow-y:scroll!important;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px;flex-shrink:0}.modal-footer button{min-width:auto;white-space:nowrap}.form-section h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:span 2}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.radio-group{display:flex;gap:20px}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.radio-label input[type=radio]{width:16px;height:16px;accent-color:#2563eb}.amount-summary{background:#f9fafb;border-radius:8px;padding:16px;margin-top:16px}.amount-summary.view-mode{background:#fffbeb;border:1px solid #fde68a}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px solid #e5e7eb}.summary-row:last-child{border-bottom:none}.summary-row.discount{color:#059669}.summary-row.total{font-weight:700;font-size:16px;color:#1f2937;border-top:2px solid #d1d5db;margin-top:8px;padding-top:12px}.detail-section{padding:0}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detail-header h3{margin:0;font-size:20px;color:#2563eb}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.detail-item.full-width{grid-column:span 2}.detail-item label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-item span,.detail-item p{font-size:14px;color:#1f2937;margin:0}hr{border:none;border-top:1px solid #e5e7eb;margin:20px 0}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.filters-row{flex-wrap:wrap}.search-input{max-width:none;width:100%}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.detail-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:span 1}.modal-content.large,.modal-content{max-width:100%;margin:20px}}.system-health-page{padding:0}.header-content h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 4px}.header-content p{color:var(--text-secondary, #64748b);font-size:.95rem;margin:0}.header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.auto-refresh-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;color:var(--text-secondary, #64748b);white-space:nowrap}.auto-refresh-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;color:#dc2626;flex-wrap:wrap;gap:12px}.last-refresh{font-size:.875rem;color:var(--text-secondary, #64748b);margin-bottom:16px}.overall-status-card{margin-bottom:24px}.overall-status{display:flex;align-items:center;gap:16px;padding:20px;border-left:4px solid;border-radius:0 8px 8px 0;background:linear-gradient(to right,rgba(0,0,0,.02),transparent)}.status-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center}.status-info h2{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin:0 0 8px}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.status-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.status-card{padding:20px;overflow:hidden;min-width:0}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.card-icon{width:44px;height:44px;min-width:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.card-icon.api-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.card-icon.db-icon{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.card-icon.server-icon{background:linear-gradient(135deg,#10b981,#059669)}.card-icon.storage-icon{background:linear-gradient(135deg,#f59e0b,#ea580c)}.card-title{flex:1;min-width:0;overflow:hidden}.card-title h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff;text-transform:capitalize}.card-stats{display:flex;align-items:center;gap:8px;overflow:hidden}.stat{text-align:center;min-width:0;overflow:hidden}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-label{font-size:.75rem;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.stat-divider{font-size:1.5rem;color:var(--text-secondary, #64748b);opacity:.5;flex-shrink:0}.card-details{overflow:hidden}.card-details p{margin:0 0 8px;font-size:.875rem;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-details p:last-child{margin-bottom:0}.card-details strong{color:var(--text-primary, #1a1a2e)}.filter-section{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.filter-group label{font-size:.875rem;color:var(--text-secondary, #64748b);white-space:nowrap}.filter-select{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;background-color:#fff;color:var(--text-primary, #1a1a2e);min-width:140px}.filter-select:focus{outline:none;border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.filter-input{padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;background-color:#fff;color:var(--text-primary, #1a1a2e);min-width:180px}.filter-input:focus{outline:none;border-color:var(--primary-500, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.filter-input::placeholder{color:var(--text-secondary, #94a3b8)}.services-count{font-size:.875rem;color:var(--text-secondary, #64748b);margin-left:auto}.services-table-card{margin-bottom:24px;padding:20px}.services-table-card h3{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin:0 0 16px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.services-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:600px}.services-table th,.services-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-color, #e2e8f0);white-space:nowrap}.services-table th{font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;background-color:var(--bg-secondary, #f8fafc);position:sticky;top:0}.services-table tbody tr:hover{background-color:var(--bg-secondary, #f8fafc)}.services-table td{color:var(--text-primary, #1a1a2e)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.details-card{padding:20px;overflow:hidden}.details-card h3{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a2e);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #e2e8f0)}.details-list{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-label{font-size:.875rem;color:var(--text-secondary, #64748b);flex-shrink:0}.detail-value{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a2e);text-align:right;word-break:break-word;overflow-wrap:break-word;max-width:60%}.services-mobile-list{display:none}.service-mobile-card{padding:16px;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;margin-bottom:12px}.service-mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.service-mobile-name{font-weight:600;color:var(--text-primary, #1a1a2e)}.service-mobile-status{display:flex;align-items:center;gap:6px;font-size:.875rem;text-transform:capitalize}.service-mobile-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-mobile-detail{display:flex;flex-direction:column}.service-mobile-label{font-size:.7rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.service-mobile-value{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a2e)}@media(max-width:1200px){.status-cards-grid,.details-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.status-cards-grid{grid-template-columns:repeat(2,1fr)}.details-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.5rem}}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-content h1{font-size:1.5rem}.header-actions{width:100%;justify-content:space-between}.status-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px}.status-card{padding:16px}.card-icon{width:36px;height:36px;min-width:36px}.card-icon svg{width:18px;height:18px}.card-title h3{font-size:.875rem}.mini-badge{font-size:.65rem;padding:2px 6px}.stat-value{font-size:1.25rem}.stat-label{font-size:.65rem}.card-details p{font-size:.75rem}.details-grid{grid-template-columns:1fr}.overall-status{flex-direction:column;text-align:center;padding:16px}.status-icon{width:40px;height:40px;min-width:40px}.status-info h2{font-size:1.1rem}.services-table-card{padding:16px}.filter-section{flex-direction:column;align-items:stretch;gap:12px}.filter-group{width:100%}.filter-group label{min-width:80px}.filter-select,.filter-input{flex:1;min-width:0}.services-count{margin-left:0;text-align:center}.table-container{display:none}.services-mobile-list{display:block}.details-card{padding:16px}.detail-row{flex-direction:column;gap:4px}.detail-value{text-align:left;max-width:100%}}@media(max-width:480px){.status-cards-grid{grid-template-columns:1fr}.header-actions{flex-direction:column;gap:12px}.auto-refresh-toggle{width:100%;justify-content:center}.header-actions button{width:100%}.card-header{flex-direction:column;align-items:flex-start}.card-stats{justify-content:flex-start}.service-mobile-details{grid-template-columns:1fr 1fr}.error-banner{flex-direction:column;text-align:center}}.appointments-page{padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.tab-buttons{display:flex;gap:8px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.tab-btn{padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-weight:600;font-size:14px;color:var(--gray-600);cursor:pointer;transition:all .3s ease;white-space:nowrap}.tab-btn.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.appointment-card{transition:all .3s ease}.appointment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.appointment-content{display:flex;flex-direction:column;gap:16px}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--gray-200)}.appointment-date-time{flex:1}.appointment-date{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.appointment-time{font-size:14px;font-weight:600;color:var(--primary-600)}.appointment-status{padding:6px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.appointment-status.status-confirmed{background:var(--success-100);color:var(--success-700)}.appointment-status.status-scheduled{background:var(--info-100);color:var(--info-700)}.appointment-status.status-completed{background:var(--gray-100);color:var(--gray-700)}.appointment-status.status-cancelled{background:var(--danger-100);color:var(--danger-700)}.appointment-doctor-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.doctor-avatar{width:60px;height:60px;border-radius:50%;border:3px solid var(--primary-300)}.doctor-details{flex:1}.doctor-name{font-size:16px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.doctor-specialty{font-size:13px;color:var(--gray-600);margin-bottom:4px}.doctor-rating{font-size:13px;color:var(--warning-600);font-weight:600}.appointment-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;font-size:14px}.detail-label{font-weight:600;color:var(--gray-600)}.detail-value{color:var(--gray-900)}.appointment-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;text-align:center}.empty-icon{font-size:80px;opacity:.4}.empty-title{font-size:24px;font-weight:700;color:var(--gray-900)}.empty-message{font-size:16px;color:var(--gray-600);max-width:500px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-2xl);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.modal-close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:50%;font-size:20px;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:var(--danger-100);color:var(--danger-600)}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0;max-height:calc(90vh - 160px)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--gray-200)}.form-label{display:block;font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-100)}.form-textarea{resize:vertical}.doctors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.doctor-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease}.doctor-card:hover{border-color:var(--primary-300);background:var(--primary-50)}.doctor-card.selected{border-color:var(--primary-500);background:var(--primary-100)}.doctor-card-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--primary-300)}.doctor-card-info{text-align:center}.doctor-card-name{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.doctor-card-specialty{font-size:12px;color:var(--gray-600);margin-bottom:4px}.doctor-card-rating{font-size:12px;color:var(--warning-600);font-weight:600}.time-slots-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.time-slot-btn{padding:10px;border:2px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .3s ease}.time-slot-btn:hover{border-color:var(--primary-300);background:var(--primary-50)}.time-slot-btn.selected{border-color:var(--primary-500);background:var(--primary-500);color:#fff}.video-call-page{position:fixed;inset:64px 0 0 250px;background:#1a1a1a;overflow:hidden}.video-call-container{display:flex;flex-direction:column;height:100%}.video-grid{flex:1;display:flex;gap:16px;padding:16px;overflow:hidden}.video-main{flex:1;position:relative;background:#000;border-radius:var(--radius-xl);overflow:hidden}.video-stream{width:100%;height:100%;position:relative}.video-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.doctor-avatar-large{width:200px;height:200px;border-radius:50%;overflow:hidden;border:6px solid rgba(255,255,255,.3);box-shadow:0 20px 60px #00000080}.avatar-img{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.participant-name{display:flex;align-items:center;gap:8px;color:#fff;font-size:18px;font-weight:600}.participant-icon{font-size:24px}.video-indicators{position:absolute;top:16px;right:16px;display:flex;gap:8px}.recording-indicator{padding:8px 16px;background:#ef4444e6;color:#fff;border-radius:var(--radius-full);font-size:14px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-pip{position:absolute;bottom:20px;right:20px;width:240px;height:180px;border-radius:var(--radius-lg);overflow:hidden;border:3px solid white;box-shadow:0 10px 30px #00000080}.patient-video{width:100%;height:100%}.video-placeholder-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f093fb,#f5576c);position:relative}.patient-avatar-small{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3)}.video-off-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.video-off-icon{font-size:32px;opacity:.6}.video-overlay-small{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.participant-name-small{color:#fff;font-size:12px;font-weight:600}.video-sidebar{width:320px;background:#fff;border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden}.call-info-panel{padding:16px;border-bottom:1px solid var(--gray-200)}.call-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.call-info-header h3{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.call-duration{padding:4px 12px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);font-size:14px;font-weight:700;font-family:Courier New,monospace}.call-info-content{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;font-size:13px}.info-label{color:var(--gray-600);font-weight:600}.info-value{color:var(--gray-900)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--gray-200)}.sidebar-tab{flex:1;padding:12px;border:none;background:transparent;font-size:14px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent}.sidebar-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-500);background:var(--primary-50)}.chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-message{padding:12px;border-radius:var(--radius-lg);max-width:85%}.doctor-message{align-self:flex-start;background:var(--gray-100)}.patient-message{align-self:flex-end;background:var(--primary-500);color:#fff}.message-header{display:flex;justify-content:space-between;margin-bottom:4px}.message-sender{font-size:11px;font-weight:700;opacity:.8}.message-time{font-size:10px;opacity:.6}.message-content{font-size:13px;line-height:1.4}.chat-input-container{padding:12px;border-top:1px solid var(--gray-200);display:flex;gap:8px}.chat-input{flex:1;padding:10px 12px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px}.chat-input:focus{outline:none;border-color:var(--primary-500)}.chat-send-btn{width:40px;height:40px;border:none;background:var(--primary-500);color:#fff;border-radius:var(--radius-md);font-size:16px;cursor:pointer;transition:all .3s ease}.chat-send-btn:hover{background:var(--primary-600)}.notes-panel{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px}.notes-header h4{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.notes-hint{font-size:12px;color:var(--gray-500)}.notes-textarea{flex:1;padding:12px;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;font-family:inherit;resize:none}.notes-textarea:focus{outline:none;border-color:var(--primary-500)}.notes-actions{display:flex;gap:8px}.video-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1)}.controls-left,.controls-center,.controls-right{display:flex;align-items:center;gap:12px}.connection-status{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px}.status-indicator{font-size:12px}.status-indicator.status-good{color:#10b981}.control-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:none;background:#ffffff1a;color:#fff;border-radius:var(--radius-lg);font-size:24px;cursor:pointer;transition:all .3s ease;min-width:80px}.control-btn:hover{background:#fff3;transform:translateY(-2px)}.control-btn.active{background:var(--danger-500)}.control-btn.recording{animation:recordingPulse 1.5s infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.6}}.control-label{font-size:11px;font-weight:600}.end-call-btn{background:var(--danger-500)}.end-call-btn:hover{background:var(--danger-600)}.call-ended-screen{display:flex;align-items:center;justify-content:center;height:100%;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.call-ended-content{text-align:center;color:#fff;padding:40px 30px;background:#0000004d;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:500px;margin:0 auto}.call-ended-icon{font-size:80px;margin-bottom:20px;opacity:.8}.call-ended-content h2{font-size:28px;margin:0 0 12px}.call-ended-content p{font-size:18px;margin:0 0 24px;opacity:.9}.call-ended-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.call-ended-actions button{min-width:140px}.call-summary{margin:20px auto;padding:16px;background:#fffffff2;border-radius:8px;text-align:left;max-width:100%;color:#1a1a1a;font-size:14px}.call-summary div{margin-bottom:8px;word-break:break-word}.call-summary div:last-child{margin-bottom:0}.patient-records-page{padding:0}.patient-info-card{margin-bottom:24px}.patient-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.patient-avatar-section{display:flex;align-items:center;gap:20px}.patient-avatar-large{width:100px;height:100px;border-radius:50%;border:4px solid var(--primary-300)}.patient-avatar-initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;font-size:36px;font-weight:700;text-transform:uppercase;object-fit:cover}.patient-basic-info h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--gray-900)}.patient-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--gray-600)}.patient-id-section{text-align:right;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.patient-id{font-size:14px;color:var(--gray-600)}.patient-since{font-size:13px;color:var(--gray-500);margin-bottom:8px}.patient-conditions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.condition-tag{padding:6px 14px;background:var(--warning-100);color:var(--warning-700);border-radius:var(--radius-full);font-size:13px;font-weight:600}.page-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.page-tab{flex:1;padding:12px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .3s ease}.page-tab.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.tab-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.date-badge{padding:4px 12px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);font-size:12px;font-weight:600}.vitals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.vital-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.vital-icon{font-size:32px}.vital-info{flex:1}.vital-value{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.vital-label{font-size:13px;color:var(--gray-600)}.consultation-summary{display:flex;flex-direction:column;gap:12px}.consultation-date{font-size:14px;font-weight:600;color:var(--primary-600)}.consultation-doctor{font-size:15px;color:var(--gray-900)}.consultation-diagnosis,.consultation-medications{font-size:14px;color:var(--gray-700)}.consultation-medications ul{margin:8px 0 0;padding-left:20px}.consultations-list{display:flex;flex-direction:column;gap:20px}.record-card{transition:all .3s ease}.record-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.record-date-section{flex:1}.record-date{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.record-doctor{font-size:14px;color:var(--gray-600)}.record-content{display:flex;flex-direction:column;gap:16px}.record-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--gray-700)}.record-section p{margin:0;font-size:14px;color:var(--gray-900);line-height:1.6}.prescription-list{margin:0;padding-left:20px}.prescription-list li{margin:4px 0;font-size:14px;color:var(--gray-900)}.vitals-table-wrapper{overflow-x:auto}.vitals-table{width:100%;border-collapse:collapse}.vitals-table th{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--gray-700);background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.vitals-table td{padding:12px;font-size:14px;color:var(--gray-900);border-bottom:1px solid var(--gray-200)}.vitals-table tbody tr:hover{background:var(--gray-50)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.document-card{transition:all .3s ease}.document-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.document-card .card-body{display:flex;align-items:center;gap:16px}.document-icon{font-size:40px}.document-info{flex:1}.document-name{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.document-meta{display:flex;gap:8px;font-size:12px;color:var(--gray-600)}.document-actions{display:flex;gap:8px}.prescriptions-page{padding:0}.prescriptions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.prescription-card{transition:all .3s ease}.prescription-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.prescription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.medication-info{display:flex;align-items:center;gap:12px;flex:1}.medication-icon{font-size:32px}.medication-name{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gray-900)}.prescribed-by{font-size:13px;color:var(--gray-600)}.prescription-status{padding:6px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.prescription-status.status-active{background:var(--success-100);color:var(--success-700)}.prescription-status.status-completed{background:var(--gray-100);color:var(--gray-700)}.prescription-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-group{display:flex;justify-content:space-between;align-items:flex-start}.detail-label{font-size:13px;font-weight:600;color:var(--gray-600)}.detail-value{font-size:14px;color:var(--gray-900);text-align:right}.refill-count{padding:2px 8px;background:var(--success-100);color:var(--success-700);border-radius:var(--radius-sm);font-weight:600}.refill-count.low{background:var(--warning-100);color:var(--warning-700)}.prescription-instructions{padding:12px;background:var(--info-50);border-left:3px solid var(--info-500);border-radius:var(--radius-md);margin-bottom:16px}.instructions-label{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.instructions-text{font-size:13px;color:var(--gray-700);line-height:1.5}.prescription-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.lab-reports-page{padding:0}.category-filters{display:flex;gap:8px;background:var(--gray-100);padding:4px;border-radius:var(--radius-lg)}.category-btn{padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-weight:600;font-size:14px;color:var(--gray-600);cursor:pointer;transition:all .3s ease;white-space:nowrap}.category-btn.active{background:#fff;color:var(--primary-600);box-shadow:var(--shadow-sm)}.lab-reports-list{display:flex;flex-direction:column;gap:20px}.lab-report-card{transition:all .3s ease}.lab-report-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.report-title-section{display:flex;align-items:center;gap:12px;flex:1}.report-icon{font-size:32px}.report-name{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gray-900)}.report-meta{font-size:13px;color:var(--gray-600);display:flex;gap:8px;flex-wrap:wrap}.report-status{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;white-space:nowrap}.report-status.status-completed{background:var(--success-100);color:var(--success-700)}.report-status.status-pending{background:var(--warning-100);color:var(--warning-700)}.report-results{margin-bottom:16px}.report-results h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--gray-700)}.results-table{display:flex;flex-direction:column;gap:8px}.result-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.result-parameter{font-size:14px;font-weight:600;color:var(--gray-700);flex:1}.result-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:1}.result-value{font-size:15px;font-weight:700;color:var(--gray-900)}.result-value.normal{color:var(--success-700)}.result-value.high{color:var(--danger-700)}.result-value.low{color:var(--warning-700)}.result-range{font-size:12px;color:var(--gray-600)}.result-indicator{font-size:18px;font-weight:700;width:30px;text-align:center}.result-indicator.normal{color:var(--success-600)}.result-indicator.high{color:var(--danger-600)}.result-indicator.low{color:var(--warning-600)}.pending-notice{display:flex;align-items:center;gap:16px;padding:16px;background:var(--warning-50);border-radius:var(--radius-md);margin-bottom:16px}.pending-icon{font-size:40px}.pending-text{flex:1}.pending-subtext{font-size:12px;color:var(--gray-600);margin-top:4px}.report-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.file-info{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-200);font-size:12px;color:var(--gray-600)}.billing-page{padding:0}.billing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.summary-card .card-body{display:flex;align-items:center;gap:16px}.summary-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-size:32px}.summary-icon.pending{background:var(--warning-100)}.summary-icon.paid{background:var(--success-100)}.summary-icon.total{background:var(--info-100)}.summary-content{flex:1}.summary-label{font-size:13px;color:var(--gray-600);margin-bottom:4px}.summary-value{font-size:28px;font-weight:700;color:var(--gray-900);margin-bottom:4px}.summary-subtext{font-size:12px;color:var(--gray-500)}.invoices-list{display:flex;flex-direction:column;gap:20px}.invoice-card{transition:all .3s ease}.invoice-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.invoice-title-section{flex:1}.invoice-number{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.invoice-label{font-size:13px;color:var(--gray-600)}.invoice-id{font-size:18px;font-weight:700;color:var(--gray-900)}.invoice-description{font-size:14px;color:var(--gray-700)}.invoice-status{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;white-space:nowrap}.invoice-status.status-paid{background:var(--success-100);color:var(--success-700)}.invoice-status.status-pending{background:var(--warning-100);color:var(--warning-700)}.invoice-dates{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.date-item{display:flex;gap:8px;font-size:13px}.date-label{color:var(--gray-600)}.date-value{font-weight:600;color:var(--gray-900)}.date-value.paid{color:var(--success-700)}.invoice-items{margin-bottom:16px}.invoice-items h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--gray-700)}.items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.item-row{display:flex;justify-content:space-between;padding:8px;background:var(--gray-50);border-radius:var(--radius-sm)}.item-name{font-size:14px;color:var(--gray-700)}.item-amount{font-size:14px;font-weight:600;color:var(--gray-900)}.invoice-totals{padding:12px;background:var(--gray-50);border-radius:var(--radius-md)}.total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--gray-700)}.total-row.grand-total{padding-top:12px;margin-top:8px;border-top:2px solid var(--gray-300);font-size:16px;font-weight:700;color:var(--gray-900)}.payment-info{padding:12px;background:var(--success-50);border-radius:var(--radius-md);font-size:13px;color:var(--success-700);margin-bottom:16px}.invoice-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--gray-200)}.settings-page{padding:0}.settings-card{margin-bottom:20px}.profile-avatar-section{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--gray-200)}.profile-avatar{width:100px;height:100px;border-radius:50%;border:4px solid var(--primary-300)}.avatar-actions{display:flex;gap:8px}.settings-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--gray-200)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--gray-200)}.setting-item:last-child{border-bottom:none}.setting-info{flex:1}.setting-title{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.setting-description{font-size:13px;color:var(--gray-600)}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--gray-300);border-radius:28px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--primary-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase}.status-completed{background:var(--success-100);color:var(--success-700)}.status-scheduled{background:var(--info-100);color:var(--info-700)}.status-in-progress{background:var(--warning-100);color:var(--warning-700)}.status-cancelled{background:var(--danger-100);color:var(--danger-700)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.error-icon{font-size:60px;opacity:.8}.error-container h2{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.error-container p{margin:0;font-size:16px;color:var(--gray-600);max-width:400px}.no-data{text-align:center;color:var(--gray-500);padding:32px;font-style:italic}.blood-group-badge{padding:4px 12px;background:var(--danger-100);color:var(--danger-700);border-radius:var(--radius-full);font-size:13px;font-weight:600}.condition-tag.active{background:var(--success-100);color:var(--success-700)}.consultation-notes{font-size:14px;color:var(--gray-700)}@media(max-width:1024px){.video-call-page{left:0}.video-grid{flex-direction:column}.video-sidebar{width:100%;max-height:300px}.doctors-grid{grid-template-columns:repeat(2,1fr)}.time-slots-grid{grid-template-columns:repeat(3,1fr)}.overview-grid{grid-template-columns:1fr}.call-ended-content{padding:30px 20px;max-width:450px}.call-ended-icon{font-size:60px}.call-ended-content h2{font-size:24px}.call-ended-content p{font-size:16px}}@media(max-width:768px){.appointments-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.tab-buttons{overflow-x:auto}.doctors-grid{grid-template-columns:1fr}.video-pip{width:120px;height:90px;bottom:80px;right:10px}.controls-center{flex-wrap:wrap}.patient-info-header{flex-direction:column;gap:20px}.patient-id-section{align-items:flex-start}.vitals-grid{grid-template-columns:1fr}.page-tabs{overflow-x:auto;flex-wrap:nowrap}.page-tab{flex:0 0 auto;white-space:nowrap}.call-ended-screen{padding:16px;min-height:100vh;min-height:100dvh}.call-ended-content{padding:24px 16px;max-width:100%;border-radius:16px}.call-ended-icon{font-size:48px;margin-bottom:16px}.call-ended-content h2{font-size:20px;margin-bottom:8px}.call-ended-content p{font-size:14px;margin-bottom:16px}.call-summary{padding:12px;font-size:13px;margin:16px auto}.call-ended-actions{flex-direction:column;gap:10px;width:100%}.call-ended-actions button{width:100%;min-width:unset;padding:12px 16px;font-size:14px}}@media(max-width:480px){.call-ended-screen{padding:12px}.call-ended-content{padding:20px 14px;border-radius:12px}.call-ended-icon{font-size:40px;margin-bottom:12px}.call-ended-content h2{font-size:18px}.call-ended-content p{font-size:13px;margin-bottom:12px}.call-summary{padding:10px;font-size:12px;margin:12px auto}.call-summary div{margin-bottom:6px}.call-ended-actions button{padding:10px 14px;font-size:13px}}.messages-page{height:calc(100vh - 64px);padding:0;margin:-24px;background:#f0f2f5}.messages-container{display:grid;grid-template-columns:380px 1fr;height:100%;background:#fff;overflow:hidden;border-left:1px solid #e9edef;border-right:1px solid #e9edef}.conversations-panel{background:#fff;border-right:1px solid #e9edef;display:flex;flex-direction:column;height:100%}.panel-header{display:none}.panel-header h2{font-size:18px;font-weight:600;margin:0;color:#111b21}.unread-badge{background:#25d366;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.search-box{padding:10px 12px;background:#f0f2f5}.search-wrapper{position:relative;display:flex;align-items:center}.search-wrapper:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238696a0' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-size:contain;pointer-events:none;z-index:1}.search-box input{width:100%;padding:8px 12px 8px 40px;border:none;border-radius:8px;font-size:14px;background:#fff;color:#111b21;transition:background .2s;box-sizing:border-box}.search-box input::placeholder{color:#8696a0}.search-box input:focus{outline:none;background:#fff;box-shadow:0 0 0 1px #25d366}.conversations-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5c6c8 transparent}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:#c5c6c8;border-radius:3px}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f2f5;transition:background .15s;position:relative;background:#fff}.conversation-item:hover{background:#f5f6f6}.conversation-item.active{background:#f0f2f5}.conversation-item.unread{background:#f0faf0}.conversation-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initials{font-size:16px;font-weight:600;color:#fff;text-transform:uppercase}.conversation-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.patient-name{font-weight:500;color:#111b21;font-size:15px}.conversation-item.unread .patient-name{font-weight:600}.time{font-size:12px;color:#667781}.conversation-item.unread .time{color:#25d366;font-weight:500}.last-message{font-size:13px;color:#667781;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.last-message-prefix{color:#667781}.unread-dot{display:none}.new-conversation-btn{margin:12px;padding:12px 16px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px #25d36640}.new-conversation-btn:hover{background:linear-gradient(135deg,#22c55e,#0f7a65);box-shadow:0 4px 12px #25d36659}.new-conversation-btn svg{width:18px;height:18px}.chat-panel{display:flex;flex-direction:column;background:#efeae2;height:100%;position:relative}.chat-panel:before{content:"";position:absolute;inset:0;background-color:#efeae2;background-image:url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 30h6v6h-6zM60 30h6v6h-6zM90 30h6v6h-6zM120 30h6v6h-6zM150 30h6v6h-6zM180 30h6v6h-6zM210 30h6v6h-6zM240 30h6v6h-6zM270 30h6v6h-6zM30 60h6v6h-6zM90 60h6v6h-6zM150 60h6v6h-6zM210 60h6v6h-6zM270 60h6v6h-6zM60 90h6v6h-6zM120 90h6v6h-6zM180 90h6v6h-6zM240 90h6v6h-6zM30 120h6v6h-6zM90 120h6v6h-6zM150 120h6v6h-6zM210 120h6v6h-6zM270 120h6v6h-6z' fill='%23d4cfc5' fill-opacity='0.4'/%3E%3C/svg%3E");opacity:.5;pointer-events:none;z-index:0}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f0f2f5;min-height:56px;position:relative;z-index:1;border-bottom:1px solid #e9edef}.patient-info{display:flex;align-items:center;gap:12px}.patient-info .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center}.patient-info .avatar .avatar-initials{font-size:14px}.patient-info h3{margin:0;font-size:15px;font-weight:600;color:#111b21}.patient-info .status{font-size:12px;color:#25d366;font-weight:500}.chat-actions{display:flex;gap:8px}.chat-actions button{padding:8px 16px;background:#fff;border:1px solid #e9edef;border-radius:8px;color:#111b21;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.chat-actions button:hover{background:#f0f2f5;border-color:#25d366;color:#128c7e}.messages-area{flex:1;overflow-y:auto;padding:16px 5%;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:#c5c6c8 transparent}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#c5c6c8;border-radius:3px}.message{max-width:65%;display:flex;margin:2px 0}.message.sent{align-self:flex-end}.message.received{align-self:flex-start}.message-content{padding:8px 12px;border-radius:8px;position:relative;box-shadow:0 1px 1px #00000014}.message.sent .message-content{background:#d9fdd3;color:#111b21;border-top-right-radius:8px;border-bottom-right-radius:3px}.message.sent .message-content:after{content:"";position:absolute;top:0;right:-8px;width:0;height:0;border-left:8px solid #d9fdd3;border-top:8px solid transparent}.message.received .message-content{background:#fff;color:#111b21;border-top-left-radius:8px;border-bottom-left-radius:3px}.message.received .message-content:after{content:"";position:absolute;top:0;left:-8px;width:0;height:0;border-right:8px solid #fff;border-top:8px solid transparent}.message-content p{margin:0;font-size:14px;line-height:1.4;word-wrap:break-word}.message-time{font-size:11px;color:#667781;display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px}.message-input-area{padding:10px 16px;background:#f0f2f5;position:relative;z-index:1}.message-input-area .input-wrapper{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:5px 5px 5px 8px}.input-left-actions{display:none}.attach-btn-icon{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:#54656f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0}.attach-btn-icon:hover{color:#25d366;background:#25d36614}.attach-btn-icon svg{width:22px;height:22px}.input-btn{display:none}.message-input-area .input-wrapper textarea{flex:1;border:none;background:transparent;border-radius:0;padding:10px 8px;font-size:15px;line-height:1.4;resize:none;min-height:20px;max-height:100px;font-family:inherit;color:#111b21;box-shadow:none}.message-input-area .input-wrapper textarea::placeholder{color:#8696a0}.message-input-area .input-wrapper textarea:focus{outline:none;box-shadow:none}.message-input-area .input-actions{display:flex;align-items:center;flex-shrink:0}.send-btn{width:42px;height:42px;border-radius:50%;border:none;background:#25d366;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background:#22c55e}.send-btn:disabled{background:#ccd0d5;color:#fff;cursor:not-allowed}.send-btn svg{width:20px;height:20px;margin-left:2px}.sending-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.attach-btn{display:none}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667781;background:#f0f2f5;position:relative;z-index:1;padding:20px}.empty-state-icon{width:160px;height:160px;background:linear-gradient(135deg,#25d36626,#128c7e1a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:64px;margin-bottom:28px}.no-conversation-selected h3{margin:0 0 12px;font-size:28px;font-weight:300;color:#111b21}.no-conversation-selected p{margin:0;font-size:14px;color:#667781;max-width:400px;text-align:center;line-height:1.6}.no-conversation-selected .encryption-notice{display:flex;align-items:center;gap:10px;margin-top:28px;padding:12px 20px;background:#25d3661a;border-radius:8px;color:#667781;font-size:13px}.no-conversation-selected .encryption-notice svg{color:#25d366;width:18px;height:18px;flex-shrink:0}.loading-state,.error-state,.empty-state,.loading-messages,.no-messages{padding:48px 24px;text-align:center;color:#667781}.no-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.no-messages:before{content:"💬";font-size:56px;margin-bottom:16px;opacity:.5}.no-messages p:first-child{font-size:18px;font-weight:500;color:#111b21;margin-bottom:8px}.no-messages p:last-child{font-size:14px;color:#667781}.error-state{color:#dc3545}.error-state button{margin-top:12px;background:#25d366;border:none}@media(min-width:1400px){.messages-container{grid-template-columns:400px 1fr}}@media(max-width:1100px){.messages-container{grid-template-columns:320px 1fr}.chat-actions{display:none}}@media(max-width:900px){.messages-page{height:calc(100vh - 56px);margin:-16px}.messages-container{grid-template-columns:280px 1fr}.conversation-item{padding:10px 12px}.conversation-item .avatar{width:44px;height:44px}.patient-name{font-size:14px}.messages-area{padding:12px 3%}.message{max-width:80%}}@media(max-width:700px){.messages-page{height:100vh;margin:-16px}.messages-container{grid-template-columns:1fr;position:relative}.conversations-panel{position:absolute;inset:0;z-index:10;display:flex}.conversations-panel.hidden,.chat-panel{display:none}.chat-panel.active{display:flex;position:absolute;inset:0;z-index:20}.chat-header{padding:10px 12px}.messages-area{padding:12px}.message{max-width:85%}.message-input-area{padding:8px 10px}.attach-btn-icon{width:36px;height:36px}.attach-btn-icon svg{width:20px;height:20px}.message-input-area .input-wrapper{padding:4px 4px 4px 6px}.message-input-area .input-wrapper textarea{padding:8px 6px;font-size:14px}.send-btn{width:38px;height:38px}.send-btn svg{width:18px;height:18px}}@media(max-width:400px){.search-box{padding:8px 10px}.conversation-item{padding:10px;gap:10px}.conversation-item .avatar{width:42px;height:42px}.avatar-initials{font-size:14px}.new-conversation-btn{margin:10px;padding:10px 14px;font-size:13px}}.staff-messages-page{height:calc(100vh - 120px);padding:24px}.staff-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.staff-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.staff-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.recipient-type-tabs{display:flex;gap:8px;padding:16px 16px 0}.recipient-type-tabs .tab{flex:1;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.recipient-type-tabs .tab:hover{background:#f9fafb}.recipient-type-tabs .tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.recipient-list,.doctor-list,.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.recipient-item,.doctor-item,.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.recipient-item:hover,.doctor-item:hover,.patient-item:hover{background:#f3f4f6}.recipient-item .avatar,.doctor-item .avatar,.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.recipient-item .avatar img,.doctor-item .avatar img,.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.recipient-item .info,.doctor-item .info,.patient-item .info{flex:1;min-width:0}.recipient-item .name,.doctor-item .name,.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.recipient-item .details,.doctor-item .specialization,.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.staff-messages-page{padding:0;height:calc(100vh - 60px)}.staff-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.staff-messages-page .conversations-panel{border-right:none}.staff-messages-page .conversations-panel.mobile-hide,.staff-messages-page .chat-panel{display:none}.staff-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.conversions-page{padding:24px;max-width:1400px;margin:0 auto}.header-left h1{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.header-left .subtitle{margin:4px 0 0;font-size:14px;color:#666}.header-actions{display:flex;gap:12px}.btn-export{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-export:hover:not(:disabled){background:#16a34a}.btn-export:disabled{background:#9ca3af;cursor:not-allowed}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a;line-height:1.2}.stat-label{font-size:13px;color:#6b7280;margin-top:4px}.funnel-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.funnel-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.funnel-chart{display:flex;flex-direction:column;gap:8px;align-items:center}.funnel-stage{padding:12px 24px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.funnel-stage:hover{transform:scale(1.02)}.stage-name{font-weight:500;color:#1a1a1a}.stage-count{font-weight:700;color:#1a1a1a;margin:0 16px}.stage-percent{font-size:13px;color:#4b5563}.filters-section{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.search-box{position:relative;flex:1;min-width:200px}.search-box input{width:100%;padding:10px 12px 10px 36px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.search-box input:focus{border-color:#22c55e}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px}.filter-row select,.filter-row input[type=date]{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;background:#fff;cursor:pointer;min-width:150px}.filter-row select:focus,.filter-row input[type=date]:focus{border-color:#22c55e}.table-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.conversions-table{width:100%;border-collapse:collapse}.conversions-table th{text-align:left;padding:12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb;background:#f9fafb}.conversions-table td{padding:12px;font-size:14px;color:#1a1a1a;border-bottom:1px solid #e5e7eb;vertical-align:middle}.conversions-table tbody tr:hover{background:#f9fafb}.lead-number{font-family:monospace;font-weight:600;color:#22c55e}.lead-name{font-weight:500}.company-name{font-size:12px;color:#6b7280;margin-top:2px}.contact-info{font-size:13px}.contact-info div{margin-bottom:2px}.value-cell{font-weight:600;color:#16a34a}.days-cell{font-weight:500;color:#6b7280}.action-buttons{display:flex;gap:8px}.btn-view,.btn-patient{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:transform .2s}.btn-view{background:#dbeafe}.btn-patient{background:#dcfce7}.btn-view:hover,.btn-patient:hover{transform:scale(1.1)}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#22c55e;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.empty-state p{margin:0;color:#6b7280}.error-state button{margin-top:12px;padding:8px 16px;background:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.pagination button{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#22c55e}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:#6b7280}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}@media(max-width:768px){.analytics-grid{grid-template-columns:1fr}}.analytics-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.analytics-card h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.analytics-list{display:flex;flex-direction:column;gap:12px}.analytics-item{display:flex;flex-direction:column;gap:4px}.item-label{font-size:14px;font-weight:500;color:#1a1a1a}.item-stats{display:flex;justify-content:space-between;font-size:13px}.item-count{color:#6b7280}.item-rate{font-weight:600;color:#22c55e}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.close-btn:hover{color:#1a1a1a}.modal-body{padding:20px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;color:#6b7280}.detail-item span{font-size:14px;font-weight:500;color:#1a1a1a}.detail-text{margin-top:12px}.detail-text label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.detail-text p{margin:0;font-size:14px;color:#1a1a1a;background:#f9fafb;padding:12px;border-radius:8px;white-space:pre-wrap}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e5e7eb}.btn-primary{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover{background:#16a34a}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.filter-row{flex-direction:column}.search-box,.filter-row select,.filter-row input[type=date]{width:100%}.conversions-table{display:block;overflow-x:auto}.detail-grid{grid-template-columns:1fr}}.sales-appointments-page,.book-for-lead-page,.reminders-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left{display:flex;flex-direction:column;gap:4px}.header-left h1{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.header-left .subtitle{margin:0;font-size:14px;color:#666}.btn-back{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:14px;padding:0;margin-bottom:8px}.btn-back:hover{text-decoration:underline}.btn-primary{padding:10px 20px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#1a1a1a;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary:hover{background:#f3f4f6}.btn-refresh{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px}.btn-refresh:hover{background:#f3f4f6}.btn-outline{padding:10px 20px;background:#fff;color:#4f46e5;border:1px solid #4f46e5;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-outline:hover:not(:disabled){background:#f5f3ff}.btn-outline:disabled{color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.header-actions{display:flex;gap:12px;align-items:center}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.info-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:24px}.info-icon{font-size:20px}.info-banner p{margin:0;font-size:14px;color:#1e40af;line-height:1.5}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.stat-icon{font-size:24px}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a}.stat-label{font-size:12px;color:#6b7280}.filters-section{display:flex;gap:16px;align-items:center;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px}.filter-group label{font-size:14px;color:#6b7280}.filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;flex:1;max-width:300px}.search-icon{font-size:16px;color:#6b7280}.search-input{flex:1;border:none;background:transparent;font-size:14px;outline:none}.search-input::placeholder{color:#9ca3af}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.appointment-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.date-badge{display:flex;flex-direction:column;align-items:center;background:#4f46e5;color:#fff;padding:8px 12px;border-radius:8px}.date-badge .day{font-size:20px;font-weight:700}.date-badge .month{font-size:12px;text-transform:uppercase}.time-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.time-info .time{font-size:16px;font-weight:600;color:#1a1a1a}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.card-body{padding:16px}.patient-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a1a}.patient-info .phone{font-size:13px;color:#6b7280}.doctor-info,.type-info,.reason-info{display:flex;gap:8px;margin-top:8px;font-size:13px}.doctor-info .label,.type-info .label,.reason-info .label{color:#6b7280}.doctor-info .value,.type-info .value,.reason-info .value{color:#1a1a1a}.card-footer{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.action-buttons,.quick-actions{display:flex;gap:8px}.btn-action.call,.btn-action.whatsapp,.btn-action.email,.btn-quick{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:16px;padding:0}.btn-action.call:hover:not(:disabled),.btn-quick.call:hover:not(:disabled){background:#dcfce7;border-color:#22c55e}.btn-action.whatsapp:hover:not(:disabled),.btn-quick.whatsapp:hover:not(:disabled){background:#dcfce7;border-color:#25d366}.btn-action.email:hover:not(:disabled),.btn-quick.email:hover:not(:disabled){background:#dbeafe;border-color:#3b82f6}.btn-action:disabled,.btn-quick:disabled{opacity:.4;cursor:not-allowed}.btn-link{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:14px;padding:0}.btn-link:hover{text-decoration:underline}.booking-form{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:24px}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5}.form-group input.error,.form-group select.error{border-color:#ef4444}.error-text{font-size:12px;color:#ef4444;margin-top:4px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.selected-lead-info{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.selected-lead-info h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a1a1a}.lead-details p{margin:4px 0;font-size:14px;color:#374151}.already-converted{color:#16a34a;font-weight:500;margin-top:12px}.selected-doctor-info{margin-top:12px;padding:12px;background:#f0fdf4;border-radius:6px;border:1px solid #86efac}.selected-doctor-info p{margin:4px 0;font-size:14px}.detail-row{display:flex;gap:8px;padding:6px 0}.detail-label{font-weight:500;color:#6b7280;min-width:100px}.detail-value{color:#1a1a1a}.status-badge-inline,.temp-badge-inline{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.hint-text{display:block;font-size:12px;color:#9ca3af;margin-top:6px}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.patient-info .email{display:block;font-size:12px;color:#6b7280;margin-top:2px}.specialization{font-size:12px;color:#6b7280;margin-left:4px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.reminder-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.summary-card .count{font-size:32px;font-weight:700}.summary-card .label{font-size:14px;color:#6b7280;margin-top:4px}.summary-card.today{background:#fef3c7;border-color:#f59e0b}.summary-card.today .count{color:#92400e}.summary-card.tomorrow{background:#dbeafe;border-color:#3b82f6}.summary-card.tomorrow .count{color:#1e40af}.summary-card.upcoming{background:#dcfce7;border-color:#22c55e}.summary-card.upcoming .count{color:#166534}.summary-card.total{background:#f3e8ff;border-color:#a855f7}.summary-card.total .count{color:#7c3aed}.reminders-list{display:flex;flex-direction:column;gap:24px}.reminder-group{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.group-header{display:flex;align-items:center;gap:8px;padding:16px;margin:0;font-size:16px;font-weight:600;border-bottom:1px solid #e5e7eb}.group-header.today{background:#fef3c7;color:#92400e}.group-header.tomorrow{background:#dbeafe;color:#1e40af}.group-header.upcoming{background:#f9fafb;color:#1a1a1a}.reminder-cards{padding:16px;display:flex;flex-direction:column;gap:12px}.reminder-card{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.reminder-card.urgent{background:#fef3c7;border-color:#f59e0b}.reminder-card.soon{background:#dbeafe;border-color:#3b82f6}.card-left{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:100px}.time-block,.date-block{display:flex;flex-direction:column;align-items:center}.time-block .time,.date-block .time{font-size:18px;font-weight:700;color:#1a1a1a}.date-block .date{font-size:13px;color:#6b7280;text-align:center}.reminder-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.reminder-badge.today{background:#fef3c7;color:#92400e}.reminder-badge.tomorrow{background:#dbeafe;color:#1e40af}.reminder-badge.soon{background:#dcfce7;color:#166534}.reminder-badge.later{background:#f3f4f6;color:#4b5563}.card-center{flex:1}.card-center h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a1a}.card-center p{margin:2px 0;font-size:13px;color:#6b7280}.card-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.btn-action{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px}.btn-action:hover{background:#f3f4f6}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;color:#1a1a1a}.empty-state p{margin:0 0 20px;color:#6b7280}.error-state button{margin-top:12px;padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer}@media(max-width:1024px){.stats-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.stats-row,.reminder-summary{grid-template-columns:repeat(2,1fr)}.filters-section{flex-wrap:wrap}.search-box{max-width:none;width:100%}.form-row,.appointments-grid{grid-template-columns:1fr}.reminder-card{flex-direction:column;align-items:flex-start}.card-left{flex-direction:row;width:100%;justify-content:space-between}.card-right{width:100%;flex-direction:row;justify-content:space-between}.form-actions{flex-wrap:wrap}.form-actions button{flex:1;min-width:120px}}.sales-support-dashboard{padding:24px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header .header-left h1{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--color-text-primary)}.page-header .subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.error-card{padding:16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.error-card .error-message{margin:0 0 12px;color:#dc2626}.filters-card{margin-bottom:24px;padding:16px}.filters-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.filter-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:#fff;min-width:150px}.filter-select:focus{outline:none;border-color:var(--color-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-label{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}.chart-card{padding:20px}.chart-card h3{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--color-text-primary)}.category-list{display:flex;flex-direction:column;gap:12px}.category-item{display:flex;align-items:center;justify-content:space-between}.category-info{display:flex;align-items:center;gap:10px}.category-dot{width:12px;height:12px;border-radius:50%}.category-name{font-size:14px;color:var(--color-text-primary)}.category-count{font-size:14px;font-weight:600;color:var(--color-text-primary)}.priority-list{display:flex;flex-direction:column;gap:12px}.priority-item{width:100%}.priority-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;color:#fff;font-size:13px;font-weight:500}.priority-label{text-transform:capitalize}.priority-count{font-weight:700}.recent-tickets-card{margin-bottom:24px}.recent-tickets-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.recent-tickets-card .card-header h3{font-size:18px;font-weight:600;margin:0}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:14px;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap}.data-table td{padding:16px;border-bottom:1px solid var(--color-border);font-size:14px}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.ticket-number{font-family:monospace;font-weight:600;color:#2563eb}.ticket-subject{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:var(--color-text-secondary);font-size:13px}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-info{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f4f6;color:#374151}.priority-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.empty-state-card{padding:60px 20px;text-align:center}.empty-state-card .empty-icon{font-size:64px;margin-bottom:16px}.empty-state-card h3{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-card p{color:var(--color-text-secondary);margin-bottom:20px}.section-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--color-text-primary)}.quick-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.quick-help-card{padding:24px;cursor:pointer;transition:transform .2s,box-shadow .2s}.quick-help-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.quick-help-card .help-icon{font-size:32px;margin-bottom:12px}.quick-help-card .help-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--color-text-primary)}.quick-help-card .help-description{font-size:14px;color:var(--color-text-secondary)}.faqs-card{margin-bottom:24px}.faq-item{padding:20px}.faq-item-border{border-bottom:1px solid var(--color-border)}.faq-category-badge{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:4px;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.faq-question{font-size:15px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.faq-answer{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.6}.chat-modal{background:#fff;border-radius:16px;max-width:450px;width:100%;max-height:600px;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;background:#2563eb;color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-header-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px}.chat-title{font-weight:600;font-size:16px}.chat-status{font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#fff;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:400px;background:#f9fafb}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.support{justify-content:flex-start}.message-bubble{max-width:80%;padding:12px 16px;border-radius:16px;box-shadow:0 1px 2px #0000001a}.chat-message.user .message-bubble{background:#2563eb;color:#fff;border-radius:16px 16px 4px}.chat-message.support .message-bubble{background:#fff;color:#1a1a1a;border-radius:16px 16px 16px 4px}.message-bubble p{margin:0;font-size:14px;line-height:1.5}.message-time{display:block;font-size:11px;opacity:.7;text-align:right;margin-top:4px}.chat-input{padding:12px 16px;border-top:1px solid var(--color-border);display:flex;gap:8px;background:#fff}.chat-input input{flex:1;padding:10px 14px;border:1px solid #e5e7eb;border-radius:24px;font-size:14px;outline:none}.chat-input input:focus{border-color:#2563eb}.chat-input button{padding:10px 24px;background:#e5e7eb;color:#9ca3af;border:none;border-radius:24px;cursor:not-allowed;font-weight:500;font-size:14px;transition:background .2s,color .2s}.chat-input button.active{background:#2563eb;color:#fff;cursor:pointer}.chat-input button.active:hover{background:#1d4ed8}.sales-ticket-management{padding:24px}.sales-ticket-management .filters-card{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px}.search-input:focus{outline:none;border-color:var(--color-primary)}.escalate-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;padding:24px}.escalate-modal h2{font-size:20px;font-weight:600;margin-bottom:8px}.escalate-modal p{color:var(--color-text-secondary);margin-bottom:20px}.escalate-modal textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;resize:vertical;min-height:100px;font-family:inherit}.escalate-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.success-card{padding:16px;margin-bottom:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.success-card p{margin:0;color:#16a34a}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.quick-help-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid,.quick-help-grid{grid-template-columns:1fr}}.sales-messages-page{height:calc(100vh - 120px);padding:24px}.sales-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.sales-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.sales-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.patient-item:hover{background:#f3f4f6}.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.patient-item .info{flex:1;min-width:0}.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}@media(max-width:768px){.sales-messages-page{padding:0;height:calc(100vh - 60px)}.sales-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.sales-messages-page .conversations-panel{border-right:none}.sales-messages-page .conversations-panel.mobile-hide,.sales-messages-page .chat-panel{display:none}.sales-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.patient-messages-page{height:calc(100vh - 120px);padding:24px}.patient-messages-page .messages-container{display:grid;grid-template-columns:350px 1fr;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-border)}.patient-messages-page .conversations-panel{display:flex;flex-direction:column;background:#fafafa;border-right:1px solid var(--color-border);position:relative}.new-chat-btn-container{padding:16px;border-top:1px solid var(--color-border);background:#fff}.new-chat-btn{width:100%}.patient-messages-page .chat-panel{display:flex;flex-direction:column;background:#fff;position:relative}.mobile-back-btn{display:none;padding:12px 16px;background:#f9fafb;border:none;border-bottom:1px solid var(--color-border);font-size:14px;font-weight:500;color:#2563eb;cursor:pointer;text-align:left}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;background:#f9fafb;padding:48px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.6}.no-conversation-selected h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a1a1a}.no-conversation-selected p{margin:0 0 24px;font-size:14px;max-width:300px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:18px;font-weight:600}.modal-header .close-btn{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.modal-header .close-btn:hover{color:#1a1a1a}.modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.search-input{margin:16px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;width:calc(100% - 32px)}.search-input:focus{outline:none;border-color:#2563eb}.doctor-list,.patient-list{flex:1;overflow-y:auto;padding:0 16px 16px}.doctor-item,.patient-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:background .2s}.doctor-item:hover,.patient-item:hover{background:#f3f4f6}.doctor-item .avatar,.patient-item .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;overflow:hidden;flex-shrink:0}.doctor-item .avatar img,.patient-item .avatar img{width:100%;height:100%;object-fit:cover}.doctor-item .info,.patient-item .info{flex:1;min-width:0}.doctor-item .name,.patient-item .name{display:block;font-weight:500;color:#1a1a1a;font-size:14px}.doctor-item .specialization,.doctor-item .details,.patient-item .details{display:block;font-size:13px;color:#6b7280;margin-top:2px}.doctor-item .rating{display:inline-block;font-size:12px;color:#f59e0b;margin-top:4px}.loading-state,.empty-state{padding:48px 24px;text-align:center;color:#6b7280;font-size:14px}@media(max-width:768px){.patient-messages-page{padding:0;height:calc(100vh - 60px)}.patient-messages-page .messages-container{grid-template-columns:1fr;border-radius:0}.patient-messages-page .conversations-panel{border-right:none}.patient-messages-page .conversations-panel.mobile-hide,.patient-messages-page .chat-panel{display:none}.patient-messages-page .chat-panel.mobile-show{display:flex}.mobile-back-btn{display:block}.modal-content{max-height:90vh;margin:0 16px}}.specialization-select-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.spec-page-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.spec-page-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.spec-page-logo-text{font-size:26px;font-weight:700;color:#166534}.specialization-select-content{max-width:800px;margin:0 auto;padding:24px}.specialization-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.header-text h1{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}.header-text p{font-size:14px;color:#6b7280;margin:0}.welcome-banner{display:flex;align-items:flex-start;gap:14px;padding:16px;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:12px;margin-bottom:24px}.welcome-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border-radius:10px;color:#ec4899;flex-shrink:0}.welcome-text strong{font-size:15px;color:#1e40af;display:block;margin-bottom:4px}.welcome-text p{font-size:13px;color:#4338ca;margin:0;line-height:1.5}.error-banner:hover{background:#fee2e2}.specialization-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px}.specialization-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:0 2px 8px #22c55e14}.specialization-card:hover{border-color:#86efac;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e26}.specialization-card.selected{border-width:2px;transform:translateY(-2px);box-shadow:0 8px 24px #22c55e33}.spec-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;margin-bottom:10px;transition:all .2s ease}.spec-name{font-size:13px;font-weight:600;color:#374151;transition:color .2s ease}.check-badge{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.super-specialist-filter{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #22c55e14;border:1px solid #e5e7eb}.super-specialist-filter .filter-header{margin-bottom:16px}.super-specialist-filter .filter-header h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.super-specialist-filter .filter-header p{font-size:13px;color:#6b7280;margin:0}.super-specialist-filter .filter-options{display:flex;flex-direction:column;gap:10px}.super-specialist-filter .filter-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.super-specialist-filter .filter-option:hover{border-color:#86efac;background:#f0fdf4}.super-specialist-filter .filter-option.selected{border-color:#39c94c;background:#f0fdf4}.super-specialist-filter .filter-option input[type=radio]{width:18px;height:18px;accent-color:#39c94c;cursor:pointer}.super-specialist-filter .option-text{flex:1;font-size:14px;font-weight:500;color:#374151;display:flex;align-items:center;gap:6px}.super-specialist-filter .super-spec-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:4px;color:#78350f}.super-specialist-filter .option-desc{font-size:12px;color:#9ca3af}.super-specialist-filter .loading-inline{text-align:center;padding:12px;color:#6b7280;font-size:13px}.search-action{position:sticky;bottom:0;background:linear-gradient(to top,#f0fdf4 80%,transparent);margin:0 -24px;padding:16px 24px}.search-action button{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#39c94c,#22c55e)!important;box-shadow:0 8px 24px #22c55e66!important}@media(max-width:640px){.specialization-select-content{padding:16px}.header-text h1{font-size:20px}.specialization-grid{grid-template-columns:repeat(2,1fr);gap:10px}.specialization-card{padding:16px 10px}.spec-icon{width:40px;height:40px}.spec-name{font-size:12px}.search-action{margin:0 -16px;padding-left:16px;padding-right:16px}}@media(min-width:768px){.specialization-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.specialization-grid{grid-template-columns:repeat(5,1fr)}}.public-booking-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4);padding-bottom:40px}.public-booking-container.success-view{display:flex;flex-direction:column;align-items:center;padding:0 20px 40px}.booking-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.booking-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.booking-logo-text{font-size:26px;font-weight:700;color:#166534}.booking-content{max-width:600px;margin:0 auto;padding:0 24px 24px}.booking-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.booking-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:24px;margin-bottom:16px;border:1px solid rgba(34,197,94,.1)}.doctor-card{padding:20px}.doctor-header-section{display:flex;gap:16px}.doctor-avatar-booking{flex-shrink:0;width:72px;height:72px}.doctor-avatar-booking img{width:72px;height:72px;border-radius:14px;object-fit:cover}.avatar-placeholder-booking{width:72px;height:72px;border-radius:14px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.doctor-name-booking{font-size:18px;font-weight:700;color:#111827;margin:0 0 4px}.doctor-specialty-booking{font-size:14px;color:#6b7280;margin:0 0 2px}.doctor-qualification-booking{font-size:12px;color:#9ca3af;margin:0 0 8px}.doctor-meta-booking{display:flex;align-items:center;gap:12px}.rating-booking{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#374151}.review-count-booking{color:#9ca3af;font-weight:400}.hospital-section-booking{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.hospital-header-booking{display:flex;align-items:center;gap:10px}.hospital-logo-booking{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.hospital-logo-placeholder-booking{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.hospital-details-booking{flex:1;min-width:0}.hospital-name-booking{font-size:14px;font-weight:600;color:#111827;display:block}.hospital-address-booking{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;margin:2px 0 0}.form-card{padding:24px}.section-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fee2e2;border-radius:10px;color:#dc2626;font-size:14px;margin-bottom:20px}.form-section{margin-bottom:24px}.section-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:10px}.section-label .required{color:#dc2626;margin-left:2px}.section-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slots-summary{display:flex;gap:12px;font-size:13px}.available-count{color:#16a34a;font-weight:500}.booked-count{color:#dc2626;font-weight:500}.consultation-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#6b7280;position:relative}.type-option:hover{border-color:#bbf7d0;background:#f0fdf4}.type-option.selected{border-color:#22c55e;background:#22c55e0d;color:#166534}.type-option span{font-size:14px;font-weight:500}.type-fee{font-size:16px!important;font-weight:700!important;color:#059669}.prepay-badge{position:absolute;top:-8px;right:-8px;background:#3b82f6;color:#fff;font-size:10px!important;font-weight:600!important;padding:3px 8px;border-radius:10px}.calendar-input-wrapper{display:flex;align-items:center;gap:16px;margin-bottom:16px}.calendar-input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;color:#374151;background:#fff;cursor:pointer;transition:all .2s ease}.calendar-input:hover{border-color:#bbf7d0}.calendar-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.selected-date-display{font-size:15px;font-weight:600;color:#166534;background:#f0fdf4;padding:8px 16px;border-radius:8px;white-space:nowrap}.quick-dates-label{font-size:13px;color:#6b7280;margin:0 0 10px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.date-option{display:flex;flex-direction:column;align-items:center;padding:10px 6px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.date-option:hover{border-color:#bbf7d0;background:#f0fdf4}.date-option.selected{border-color:#22c55e;background:#22c55e14}.date-day{font-size:10px;color:#9ca3af;text-transform:uppercase}.date-num{font-size:18px;font-weight:600;color:#374151;margin:2px 0}.date-option.selected .date-num{color:#166534}.date-month{font-size:10px;color:#9ca3af}.no-dates-warning{padding:24px;text-align:center;background:#fef3c7;border-radius:12px;border:1px solid #F59E0B}.no-dates-warning svg{margin-bottom:12px}.no-dates-warning h4{margin:0 0 8px;color:#92400e;font-size:16px}.no-dates-warning p{margin:0;color:#b45309;font-size:14px;line-height:1.5}.call-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;background:#22c55e;color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s}.call-btn:hover{background:#16a34a}.slots-loading{display:flex;align-items:center;gap:10px;padding:20px;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:10px}.no-slots{display:flex;align-items:center;gap:10px;padding:20px;background:#f9fafb;border-radius:10px;color:#6b7280;font-size:14px}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slot-option{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;position:relative}.slot-option:hover:not(:disabled){border-color:#bbf7d0;background:#f0fdf4}.slot-option.selected{border-color:#22c55e;background:#22c55e14;color:#166534}.slot-option.booked{opacity:.7;cursor:not-allowed;background:#fef2f2;border-color:#fecaca}.slot-option.past{opacity:.5;cursor:not-allowed;background:#f9fafb;border-color:#e5e7eb}.slot-time{display:block}.slot-status{display:block;font-size:9px;font-weight:600;text-transform:uppercase;margin-top:2px}.booked-status{color:#dc2626}.past-status{color:#6b7280}.slot-check{position:absolute;top:4px;right:4px;font-size:10px;color:#22c55e;font-weight:700}.form-textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-textarea::placeholder{color:#9ca3af}.form-textarea.input-warning{border-color:#f59e0b}.form-textarea.input-warning:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.char-count-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:0 4px}.char-count{font-size:12px}.char-count.warning{color:#d97706}.char-count.success{color:#16a34a}.char-check{color:#22c55e;font-weight:700;font-size:14px}.booking-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#374151}.summary-fee{font-size:20px;font-weight:700;color:#059669}.payment-notice{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #bbf7d0;font-size:13px;color:#3b82f6}.booking-action{margin-top:8px}.book-btn{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#22c55e,#16a34a)!important}.book-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d)!important}.book-btn:disabled{opacity:.6;cursor:not-allowed}.new-user-notice{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#eff6ff;border-radius:8px;font-size:13px;color:#1e40af}.new-user-notice svg{flex-shrink:0;margin-top:1px}.success-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:32px;text-align:center;border:1px solid rgba(34,197,94,.1);max-width:500px;width:100%}.success-icon{width:100px;height:100px;border-radius:50%;background:#22c55e1a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.success-subtitle{font-size:15px;color:#6b7280;margin:0 0 24px}.new-profile-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ecfdf5;border:1px solid #d1fae5;border-radius:12px;text-align:left;margin-bottom:24px}.new-profile-notice svg{flex-shrink:0;color:#059669;margin-top:2px}.new-profile-notice strong{display:block;font-size:14px;color:#065f46;margin-bottom:4px}.new-profile-notice p{font-size:13px;color:#047857;margin:0;line-height:1.5}.appointment-details{background:#f9fafb;border-radius:12px;padding:16px;margin-bottom:24px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-label{font-size:13px;color:#6b7280}.detail-value{font-size:14px;font-weight:500;color:#111827}.detail-value.fee{color:#059669;font-weight:600}.success-actions{display:flex;flex-direction:column;gap:12px}.success-btn{width:100%;height:48px;border-radius:10px}@media(max-width:640px){.booking-content{padding:0 16px 24px}.booking-card{padding:20px}.doctor-header-section{flex-direction:column;align-items:center;text-align:center}.doctor-meta-booking{justify-content:center}.hospital-header-booking{flex-direction:column;align-items:center;text-align:center}.consultation-types{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(4,1fr)}.slots-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.date-grid{grid-template-columns:repeat(3,1fr)}.slots-grid{grid-template-columns:repeat(2,1fr)}.section-label-row{flex-direction:column;align-items:flex-start;gap:8px}}.doctor-search-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.doctor-search-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.doctor-search-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.doctor-search-logo-text{font-size:26px;font-weight:700;color:#166534}.doctor-search-content{max-width:800px;margin:0 auto;padding:24px}.search-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.header-info h1{font-size:22px;font-weight:700;color:#111827;margin:0 0 2px}.header-info p{font-size:14px;color:#6b7280;margin:0}.filters-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:100px;font-size:13px;font-weight:600;color:#166534}.filter-chip button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#166534;padding:0;margin-left:2px}.filter-chip button:hover{color:#14532d}.filter-chip.super-spec-chip{background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border-color:#fbbf2466;color:#92400e}.filter-chip.super-spec-chip svg{color:#f59e0b}.filter-chip.super-spec-chip button{color:#92400e}.filter-chip.super-spec-chip button:hover{color:#78350f}.sort-dropdown{display:flex;align-items:center;gap:8px;flex-shrink:0}.sort-dropdown label{font-size:13px;color:#6b7280}.sort-dropdown select{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.sort-dropdown select:focus{outline:none;border-color:#4f46e5}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fee2e2;border-radius:10px;color:#dc2626;font-size:14px;margin-bottom:20px;cursor:pointer}.doctor-list{display:flex;flex-direction:column;gap:16px}.no-results{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.no-results svg{margin-bottom:16px}.no-results h3{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.no-results p{font-size:14px;color:#6b7280;margin-bottom:20px}.doctor-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:20px;transition:all .2s ease;border:1px solid rgba(34,197,94,.1)}.doctor-card:hover{box-shadow:0 8px 24px #22c55e26;transform:translateY(-2px)}.doctor-info-section{display:flex;gap:14px;margin-bottom:14px}.doctor-avatar{flex-shrink:0;width:64px;height:64px;position:relative}.doctor-avatar img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:transparent}.doctor-avatar img[src=""],.doctor-avatar img:not([src]),.doctor-avatar img.img-error{display:none}.avatar-placeholder{width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.avatar-placeholder.has-initials{background:linear-gradient(135deg,#22c55e,#16a34a)}.doctor-details{flex:1;min-width:0}.doctor-name{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.doctor-specialty{font-size:13px;color:#6b7280;margin:0 0 2px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.doctor-specialty .super-spec-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin-left:4px}.doctor-specialty .super-spec-badge svg{flex-shrink:0}.doctor-qualification{font-size:12px;color:#9ca3af;margin:0 0 8px}.doctor-meta{display:flex;align-items:center;gap:12px}.rating{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#374151}.review-count{color:#9ca3af;font-weight:400}.fee{font-size:14px;font-weight:600;color:#059669}.hospital-section{padding:14px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;margin-bottom:14px}.hospital-info{margin-bottom:10px}.hospital-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hospital-logo{width:28px;height:28px;border-radius:8px;object-fit:cover;background:transparent}.hospital-logo[src=""],.hospital-logo:not([src]),.hospital-logo.img-error{display:none}.hospital-logo-placeholder{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase}.hospital-logo-placeholder.has-initials{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 2px 8px #0ea5e94d}.hospital-name{font-size:14px;font-weight:500;color:#374151}.hospital-address{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:#6b7280;margin:0 0 8px;line-height:1.4}.hospital-address svg{flex-shrink:0;margin-top:2px}.directions-btn{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:none;color:#4f46e5;font-size:13px;font-weight:500;cursor:pointer}.directions-btn:hover{color:#3730a3;text-decoration:underline}.availability-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500}.card-actions{display:flex;gap:10px}.card-actions button{flex:1}.load-more{display:flex;justify-content:center;margin-top:24px}@media(max-width:640px){.doctor-search-content{padding:16px}.header-info h1{font-size:18px}.filters-bar,.doctor-info-section{flex-direction:column;align-items:flex-start}.doctor-avatar img,.avatar-placeholder{width:56px;height:56px}.card-actions{flex-direction:column}}.doctor-profile-container{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4)}.doctor-profile-logo{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 16px}.doctor-profile-logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#39c94c,#22c55e);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.doctor-profile-logo-text{font-size:26px;font-weight:700;color:#166534}.doctor-profile-content{max-width:600px;margin:0 auto;padding:24px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#fff;border-radius:10px;cursor:pointer;color:#374151;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;flex-shrink:0}.back-btn:hover{background:#f3f4f6;color:#111827}.header-info h1{font-size:22px;font-weight:700;color:#111827;margin:0}.profile-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #22c55e14;padding:24px;border:1px solid rgba(34,197,94,.1)}.doctor-header-section{display:flex;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f3f4f6}.doctor-avatar-large{flex-shrink:0;width:100px;height:100px;position:relative}.doctor-avatar-large img{width:100px;height:100px;border-radius:16px;object-fit:cover}.avatar-placeholder-large{width:100px;height:100px;border-radius:16px;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #22c55e4d}.doctor-header-info{flex:1;min-width:0}.doctor-name-large{font-size:22px;font-weight:700;color:#111827;margin:0 0 6px}.doctor-specialty-large{font-size:15px;color:#6b7280;margin:0 0 4px}.doctor-qualification-large{font-size:13px;color:#9ca3af;margin:0 0 12px}.doctor-meta-large{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rating-large{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#374151}.review-count-large{color:#9ca3af;font-weight:400}.fee-large{font-size:18px;font-weight:700;color:#059669}.consultation-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.consultation-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;font-size:13px;font-weight:500;color:#166534}.availability-section{margin-bottom:20px}.availability-badge-large{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600}.next-available{margin:8px 0 0;font-size:13px;color:#6b7280}.hospital-section-large{margin-bottom:24px;padding:20px;background:#f9fafb;border-radius:12px}.section-title{font-size:14px;font-weight:600;color:#6b7280;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.hospital-card{display:flex;flex-direction:column;gap:12px}.hospital-header-large{display:flex;align-items:flex-start;gap:12px}.hospital-logo-large{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.hospital-logo-placeholder-large{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.hospital-details{flex:1;min-width:0}.hospital-name-large{font-size:16px;font-weight:600;color:#111827;display:block;margin-bottom:4px}.hospital-address-large{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#6b7280;margin:0;line-height:1.4}.hospital-address-large svg{flex-shrink:0;margin-top:2px}.directions-btn-large{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4f46e5;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.directions-btn-large:hover{background:#f5f3ff;border-color:#4f46e5}.profile-actions{display:flex;flex-direction:column;gap:12px}.book-btn-large{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:12px}.error-card{text-align:center;padding:48px 24px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014}.error-icon{margin-bottom:16px}.error-card h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.error-card p{font-size:14px;color:#6b7280;margin:0 0 20px}@media(max-width:640px){.doctor-profile-content{padding:16px}.profile-card{padding:20px}.doctor-header-section{flex-direction:column;align-items:center;text-align:center}.doctor-meta-large{justify-content:center}.doctor-avatar-large,.doctor-avatar-large img,.avatar-placeholder-large{width:80px;height:80px}.avatar-placeholder-large{font-size:26px}.doctor-name-large{font-size:20px}.consultation-types{justify-content:center}.hospital-header-large{flex-direction:column;align-items:center;text-align:center}.hospital-address-large{justify-content:center}.directions-btn-large{width:100%;justify-content:center}}:root{--primary-50: #e8f9ec;--primary-100: #c5f0ce;--primary-200: #9ee6ad;--primary-300: #77dc8c;--primary-400: #58d473;--primary-500: #39c94c;--primary-600: #33c346;--primary-700: #2cbb3d;--primary-800: #24b335;--primary-900: #17a525;--secondary-50: #e3f3fc;--secondary-100: #b9e1f8;--secondary-200: #8bcef3;--secondary-300: #5dbaee;--secondary-400: #3aabea;--secondary-500: #107fd6;--secondary-600: #0e76d1;--secondary-700: #0c6bcc;--secondary-800: #0961c7;--secondary-900: #044ebe;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--success: #4caf50;--success-50: #e8f5e9;--success-100: #c8e6c9;--success-200: #a5d6a7;--success-300: #81c784;--success-400: #66bb6a;--success-500: #4caf50;--success-600: #43a047;--success-700: #388e3c;--success-800: #2e7d32;--success-900: #1b5e20;--success-light: #e8f5e9;--success-dark: #388e3c;--warning: #ff9800;--warning-50: #fff3e0;--warning-100: #ffe0b2;--warning-200: #ffcc80;--warning-300: #ffb74d;--warning-400: #ffa726;--warning-500: #ff9800;--warning-600: #fb8c00;--warning-700: #f57c00;--warning-800: #ef6c00;--warning-900: #e65100;--warning-light: #fff3e0;--warning-dark: #f57c00;--error: #f44336;--danger-50: #ffebee;--danger-100: #ffcdd2;--danger-200: #ef9a9a;--danger-300: #e57373;--danger-400: #ef5350;--danger-500: #f44336;--danger-600: #e53935;--danger-700: #d32f2f;--danger-800: #c62828;--danger-900: #b71c1c;--error-light: #ffebee;--error-dark: #d32f2f;--info: #2196f3;--info-50: #e3f2fd;--info-100: #bbdefb;--info-200: #90caf9;--info-300: #64b5f6;--info-400: #42a5f5;--info-500: #2196f3;--info-600: #1e88e5;--info-700: #1976d2;--info-800: #1565c0;--info-900: #0d47a1;--info-light: #e3f2fd;--info-dark: #1976d2;--background: #ffffff;--background-secondary: #f5f5f5;--surface: #ffffff;--surface-hover: #fafafa;--text-primary: #212121;--text-secondary: #757575;--text-disabled: #bdbdbd;--text-on-primary: #ffffff;--text-on-secondary: #ffffff;--border-color: #e0e0e0;--divider-color: #e0e0e0;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "Monaco", "Menlo", "Ubuntu Mono", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--background: #121212;--background-secondary: #1e1e1e;--surface: #1e1e1e;--surface-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-disabled: #6e6e6e;--border-color: #333333;--divider-color: #333333}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--background)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::selection{background-color:var(--primary-200);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
