html,body,#root{min-height:100%}html{touch-action:manipulation}@media(min-width:1024px){html{font-size:70%}}body{margin:0}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}.auth-safe-screen{min-height:100vh;min-height:100dvh}.auth-safe-panel{padding-top:max(1rem,env(safe-area-inset-top));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left))}:root,[data-theme=blue]{--theme-50: #eef2ff;--theme-100: #e0e7ff;--theme-200: #c7d2fe;--theme-300: #a5b4fc;--theme-400: #818cf8;--theme-500: #6366f1;--theme-600: #4f46e5;--theme-700: #4338ca}[data-theme=green]{--theme-50: #eef9e8;--theme-100: #dcf2d2;--theme-200: #b9e5a6;--theme-300: #8fd772;--theme-400: #5cc63a;--theme-500: #339d12;--theme-600: #1b8d00;--theme-700: #157000}[data-theme=yellow]{--theme-50: #fffbeb;--theme-100: #fef3c7;--theme-200: #fde68a;--theme-300: #fcd34d;--theme-400: #fbbf24;--theme-500: #f59e0b;--theme-600: #d97706;--theme-700: #b45309}[data-theme=brown]{--theme-50: #faf6f2;--theme-100: #f1e6da;--theme-200: #e2cdb7;--theme-300: #cfa985;--theme-400: #b9845a;--theme-500: #9a6948;--theme-600: #7a5138;--theme-700: #5e3f2d}[data-theme=dark]{--theme-50: #f1f5f9;--theme-100: #e2e8f0;--theme-200: #cbd5e1;--theme-300: #94a3b8;--theme-400: #64748b;--theme-500: #475569;--theme-600: #334155;--theme-700: #1e293b}:root,[data-hover-theme=blue]{--hover-50: #eef2ff;--hover-200: #c7d2fe;--hover-300: #a5b4fc;--hover-500: #6366f1;--hover-800: #3730a3;--hover-100: #e0e7ff;--hover-400: #818cf8;--hover-600: #4f46e5;--hover-700: #4338ca}[data-hover-theme=green]{--hover-50: #eef9e8;--hover-200: #b9e5a6;--hover-300: #8fd772;--hover-500: #339d12;--hover-800: #0d4f00;--hover-100: #dcf2d2;--hover-400: #5cc63a;--hover-600: #1b8d00;--hover-700: #157000}[data-hover-theme=yellow]{--hover-50: #fefce8;--hover-200: #fde68a;--hover-300: #fcd34d;--hover-500: #f59e0b;--hover-800: #854d0e;--hover-100: #fef9c3;--hover-400: #eab308;--hover-600: #ca8a04;--hover-700: #a16207}[data-hover-theme=brown]{--hover-50: #faf6f2;--hover-200: #e2cdb7;--hover-300: #cfa985;--hover-500: #9a6948;--hover-800: #4a3020;--hover-100: #f1e6da;--hover-400: #b9845a;--hover-600: #7a5138;--hover-700: #5e3f2d}[data-hover-theme=dark]{--hover-50: #f1f5f9;--hover-200: #cbd5e1;--hover-300: #94a3b8;--hover-500: #475569;--hover-800: #0f172a;--hover-100: #e2e8f0;--hover-400: #64748b;--hover-600: #334155;--hover-700: #1e293b}.refresh-action-button{position:relative;isolation:isolate;overflow:hidden;border-color:color-mix(in srgb,var(--hover-500) 42%,white);background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--hover-300) 34%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--hover-50) 88%,white),color-mix(in srgb,var(--hover-200) 52%,white));color:var(--hover-800);box-shadow:0 12px 28px -22px var(--hover-700),inset 0 1px #ffffffc7;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.refresh-action-button:after{content:"";position:absolute;top:-45%;right:-30%;bottom:-45%;left:-30%;z-index:-1;background:conic-gradient(from 90deg,transparent,color-mix(in srgb,var(--hover-400) 30%,transparent),transparent 38%);opacity:0;transform:rotate(0);transition:opacity .18s ease}.refresh-action-button:hover:not(:disabled){border-color:var(--hover-500);box-shadow:0 18px 34px -22px var(--hover-700),0 0 0 3px color-mix(in srgb,var(--hover-300) 24%,transparent);filter:saturate(1.08);transform:translateY(-1px) scale(1.015)}.refresh-action-button:hover:not(:disabled):after{opacity:1;animation:refresh-button-sweep 1.1s linear infinite}.refresh-action-button:active:not(:disabled){transform:translateY(0) scale(.985)}.refresh-action-button:disabled{cursor:not-allowed;opacity:.58;filter:grayscale(.2)}.refresh-action-icon{color:var(--hover-700);transition:transform .26s ease,color .18s ease}.refresh-action-button:hover:not(:disabled) .refresh-action-icon{color:var(--hover-800);transform:rotate(180deg)}@keyframes refresh-button-sweep{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.refresh-action-button,.refresh-action-button:after,.refresh-action-icon{transition:none;animation:none!important}.refresh-action-button:hover:not(:disabled) .refresh-action-icon{transform:none}}.appointment-action-button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.appointment-action-button:hover{transform:translateY(-1px)}.appointment-action-clinical{border-color:var(--hover-600);background-color:var(--hover-600);color:#fff;box-shadow:0 10px 18px -14px var(--hover-700)}.appointment-action-clinical:hover{border-color:var(--hover-700);background-color:var(--hover-700)}.appointment-action-patient{border-color:var(--hover-200);background-color:var(--hover-50);color:var(--hover-700)}.appointment-action-patient:hover{border-color:var(--hover-300);background-color:var(--hover-100);color:var(--hover-800)}.appointment-action-appointment{border-color:color-mix(in srgb,var(--hover-500) 38%,white);background-color:color-mix(in srgb,var(--hover-500) 12%,white);color:var(--hover-800)}.appointment-action-appointment:hover{border-color:color-mix(in srgb,var(--hover-600) 55%,white);background-color:color-mix(in srgb,var(--hover-500) 20%,white)}:root,[data-theme=blue]{--nav-bg: #0f172a;--nav-bg-soft: #1f2937;--nav-border: #1f2937;--nav-text: #e5e7eb;--nav-muted: #94a3b8}[data-theme=green]{--nav-bg: #0f3d00;--nav-bg-soft: #1b5c00;--nav-border: #2b7a0b;--nav-text: #eaf8df;--nav-muted: #b9e5a6}[data-theme=yellow]{--nav-bg: #422006;--nav-bg-soft: #78350f;--nav-border: #92400e;--nav-text: #fef3c7;--nav-muted: #fcd34d}[data-theme=brown]{--nav-bg: #3f2a1d;--nav-bg-soft: #5b3a24;--nav-border: #7a5138;--nav-text: #f5e7d8;--nav-muted: #d2b48c}[data-theme=dark]{--nav-bg: #0f172a;--nav-bg-soft: #1e293b;--nav-border: #334155;--nav-text: #e2e8f0;--nav-muted: #94a3b8}.theme-nav-bg{background-color:var(--nav-bg)!important}.theme-nav-soft{background-color:var(--nav-bg-soft)!important}.theme-nav-border{border-color:var(--nav-border)!important}.theme-nav-text{color:var(--nav-text)!important}.theme-nav-muted{color:var(--nav-muted)!important}.bg-indigo-50,.bg-blue-50{background-color:var(--hover-50)!important}.bg-indigo-100,.bg-blue-100{background-color:var(--hover-100)!important}.bg-indigo-500,.bg-blue-500,.bg-indigo-600,.bg-blue-600{background-color:var(--hover-600)!important}.bg-indigo-700,.bg-blue-700{background-color:var(--hover-700)!important}.text-indigo-400,.text-blue-400{color:var(--hover-400)!important}.text-indigo-500,.text-blue-500,.text-indigo-600,.text-blue-600{color:var(--hover-600)!important}.text-indigo-700,.text-blue-700{color:var(--hover-700)!important}.border-indigo-100,.border-blue-100,.border-indigo-200,.border-blue-200{border-color:var(--hover-100)!important}.border-indigo-300,.border-blue-300{border-color:var(--hover-400)!important}.hover\:bg-indigo-50:hover,.hover\:bg-blue-50:hover{background-color:var(--hover-50)!important}.hover\:bg-indigo-100:hover,.hover\:bg-blue-100:hover{background-color:var(--hover-100)!important}.hover\:bg-indigo-700:hover,.hover\:bg-blue-700:hover{background-color:var(--hover-700)!important}.hover\:bg-indigo-600:hover,.hover\:bg-blue-600:hover{background-color:var(--hover-600)!important}.hover\:text-indigo-600:hover,.hover\:text-blue-600:hover{color:var(--hover-600)!important}.hover\:border-indigo-400:hover,.hover\:border-blue-400:hover{border-color:var(--hover-400)!important}.group:hover .group-hover\:text-indigo-700,.group:hover .group-hover\:text-blue-700{color:var(--hover-700)!important}.group:hover .group-hover\:text-indigo-100,.group:hover .group-hover\:text-blue-100{color:var(--hover-100)!important}.theme-hover-bg:hover{background-color:var(--hover-100)!important}.theme-hover-text:hover{color:var(--hover-700)!important}.theme-hover-icon:hover .theme-hover-icon-target{color:inherit!important}.theme-active-bg{background-color:var(--hover-600)!important}.theme-active-shadow{--tw-shadow-color: color-mix(in srgb, var(--hover-600) 30%, transparent) !important}.theme-accent-soft-bg{background-color:var(--hover-100)!important}.theme-accent-text{color:var(--hover-600)!important}.theme-accent-border{border-color:var(--hover-100)!important}.patient-next-appointment-chip{border:1px solid color-mix(in srgb,var(--hover-500) 34%,white);border-left:4px solid var(--hover-600);background:linear-gradient(135deg,color-mix(in srgb,var(--hover-50) 86%,white),color-mix(in srgb,var(--hover-100) 78%,white));color:var(--hover-800);box-shadow:0 10px 20px -18px var(--hover-700),inset 0 1px #ffffffbd}.from-indigo-50,.from-blue-50{--tw-gradient-from: var(--hover-50) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-50) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.from-indigo-100,.from-blue-100{--tw-gradient-from: var(--hover-100) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-100) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.from-indigo-500,.from-blue-500,.from-indigo-600,.from-blue-600{--tw-gradient-from: var(--hover-600) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-600) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.from-indigo-700,.from-blue-700{--tw-gradient-from: var(--hover-700) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-700) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.to-indigo-50,.to-blue-50{--tw-gradient-to: var(--hover-50) var(--tw-gradient-to-position) !important}.to-indigo-100,.to-blue-100{--tw-gradient-to: var(--hover-100) var(--tw-gradient-to-position) !important}.to-indigo-500,.to-blue-500,.to-indigo-600,.to-blue-600{--tw-gradient-to: var(--hover-600) var(--tw-gradient-to-position) !important}.to-indigo-700,.to-blue-700{--tw-gradient-to: var(--hover-700) var(--tw-gradient-to-position) !important}.hover\:from-indigo-600:hover,.hover\:from-blue-600:hover{--tw-gradient-from: var(--hover-600) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-600) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.hover\:from-indigo-700:hover,.hover\:from-blue-700:hover{--tw-gradient-from: var(--hover-700) var(--tw-gradient-from-position) !important;--tw-gradient-to: color-mix(in srgb, var(--hover-700) 0%, transparent) var(--tw-gradient-to-position) !important;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important}.hover\:to-indigo-700:hover,.hover\:to-blue-700:hover{--tw-gradient-to: var(--hover-700) var(--tw-gradient-to-position) !important}.hover\:to-indigo-800:hover,.hover\:to-blue-800:hover{--tw-gradient-to: color-mix(in srgb, var(--hover-700) 85%, black) var(--tw-gradient-to-position) !important}.theme-select option{color:#111827;background-color:#fff}.focus\:ring-indigo-500:focus,.focus\:ring-blue-500:focus{--tw-ring-color: var(--hover-600) !important}.focus\:border-indigo-500:focus,.focus\:border-blue-500:focus{border-color:var(--hover-600)!important}.shadow-indigo-600\/20{--tw-shadow-color: color-mix(in srgb, var(--hover-600) 20%, transparent) !important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-up{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.animate-fade-in{animation:fade-in .36s cubic-bezier(.22,1,.36,1) both}.animate-fade-in-up{animation:fade-in-up .4s cubic-bezier(.22,1,.36,1) both}.animate-scale-up{transform-origin:center center;animation:scale-up .34s cubic-bezier(.16,1,.3,1) both}.animate-shake{animation:shake .45s ease-in-out}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#c7c7c7 #f1f1f1;scrollbar-gutter:stable}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f1f1}.custom-scrollbar::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.sidebar-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.sidebar-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}@media(max-width:400px){.calendar-grid-cell{min-height:32px!important;padding:2px!important;border-radius:6px!important}.calendar-day-header{font-size:9px!important}.calendar-day-number{font-size:10px!important}}.calendar-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-dot-today{animation:dot-pulse 2s ease-in-out infinite}.payment-flat-number-input::-webkit-outer-spin-button,.payment-flat-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.payment-flat-number-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value,input[type=week]::-webkit-date-and-time-value{min-width:0;max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}@supports (-webkit-touch-callout: none){input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-inline-start:2px;padding:0}}@keyframes aurora-float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(10px,-15px) scale(1.05)}50%{transform:translate(-5px,-25px) scale(.95)}75%{transform:translate(-10px,-10px) scale(1.02)}}@keyframes aurora-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes aurora-pulse-glow{0%,to{opacity:.4;filter:blur(60px);transform:scale(1)}50%{opacity:.7;filter:blur(50px);transform:scale(1.15)}}@keyframes aurora-drift{0%{transform:translate(-10%) translateY(0) rotate(0)}33%{transform:translate(5%) translateY(-8%) rotate(120deg)}66%{transform:translate(10%) translateY(5%) rotate(240deg)}to{transform:translate(-10%) translateY(0) rotate(360deg)}}@keyframes aurora-fade-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes glass-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-aurora-float{animation:aurora-float 8s ease-in-out infinite}.animate-aurora-shimmer{background-size:200% 200%;animation:aurora-shimmer 6s ease-in-out infinite}.animate-aurora-pulse-glow{animation:aurora-pulse-glow 4s ease-in-out infinite}.animate-aurora-drift{animation:aurora-drift 20s linear infinite}.animate-aurora-fade-in{animation:aurora-fade-in .7s ease-out both}.animate-glass-shimmer{background-size:200% 100%;animation:glass-shimmer 3s ease-in-out infinite}.aurora-glass{background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #0000000f}.aurora-glass-strong{background:#ffffffbf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #00000014}.aurora-text{background:linear-gradient(135deg,var(--hover-600),var(--hover-400),#c084fc,var(--hover-600));background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:aurora-shimmer 4s ease-in-out infinite}.aurora-glow-ring{box-shadow:0 0 20px color-mix(in srgb,var(--hover-400) 30%,transparent),0 0 60px color-mix(in srgb,var(--hover-600) 20%,transparent)}#patient-qr-scanner video{object-fit:cover!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}#patient-qr-scanner{width:100%!important;height:100%!important;position:relative!important;overflow:hidden!important}#patient-qr-scanner .qr-code-overlay{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important}#patient-qr-scanner .qr-code-bounding-box{position:absolute!important;z-index:20!important}@media(max-width:640px){#patient-qr-scanner{max-height:60vh!important}}@media(min-width:641px){#patient-qr-scanner video{object-fit:contain!important}}
