:root{--bg-gradient:linear-gradient(135deg, #0b0f19 0%, #111827 50%, #070a13 100%);--primary:262 83% 58%;--primary-glow:#8b5cf626;--secondary:187 92% 38%;--secondary-glow:#06b6d426;--success:142 71% 45%;--warning:37 90% 51%;--danger:350 89% 60%;--neutral-900:224 71% 4%;--neutral-800:222 47% 11%;--neutral-700:217 33% 17%;--neutral-600:215 25% 27%;--neutral-400:215 16% 47%;--neutral-200:213 27% 84%;--neutral-100:210 40% 98%;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", var(--font-sans);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 48px #00000080;--shadow-primary:0 0 24px #8b5cf640;--shadow-secondary:0 0 24px #06b6d440;--glass-bg:#111827b3;--glass-border:#ffffff0f;--glass-highlight:#ffffff05;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}body.light-theme,.light-theme{--bg-gradient:linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 50%, #f9fafb 100%);--primary:262 83% 58%;--primary-glow:#8b5cf614;--secondary:187 92% 38%;--secondary-glow:#06b6d414;--neutral-900:210 40% 98%;--neutral-800:213 27% 95%;--neutral-700:215 16% 90%;--neutral-600:215 16% 80%;--neutral-400:215 25% 18%;--neutral-200:215 25% 12%;--neutral-100:217 33% 8%;--glass-bg:#ffffffa6;--glass-border:#00000026;--glass-highlight:#ffffff80;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 48px #0000001f;--shadow-primary:0 0 24px #8b5cf61f;--shadow-secondary:0 0 24px #06b6d41f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:hsl(var(--neutral-700)) transparent;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);color:hsl(var(--neutral-200));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--neutral-700));border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--neutral-600))}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:hsl(var(--neutral-100));letter-spacing:-.02em;font-weight:600}p{color:hsl(var(--neutral-400));line-height:1.6}::selection{background:hsl(var(--primary) / .3);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 16px #8b5cf626}50%{box-shadow:0 0 32px #8b5cf64d}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-fade-in{animation:fadeIn var(--transition-normal) forwards}.anim-slide-up{animation:slideUp var(--transition-normal) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;color:#fff;animation:fadeIn var(--transition-fast) forwards;background:#0009;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner{border:4px solid #fff3;border-top-color:hsl(var(--primary));border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:1s linear infinite spin}.spinner-sm{border-width:3px;width:24px;height:24px;margin-bottom:0}.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);position:relative;overflow:hidden}.glass-panel:before{content:"";background:linear-gradient(180deg, var(--glass-highlight) 0%, transparent 100%);pointer-events:none;z-index:1;position:absolute;inset:0}.glass-card-interactive{composes:glass-panel;transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer}.glass-card-interactive:hover{border-color:hsl(var(--primary) / .3);box-shadow:var(--shadow-lg), var(--shadow-primary);transform:translateY(-4px)}.btn{font-family:var(--font-display);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:hsl(var(--primary));color:#fff;box-shadow:0 4px 12px hsl(var(--primary) / .3)}.btn-primary:hover{background:hsl(var(--primary) / .9);box-shadow:0 6px 18px hsl(var(--primary) / .45), var(--shadow-primary);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:hsl(var(--neutral-800));border:1px solid var(--glass-border);color:hsl(var(--neutral-100))}.btn-secondary:hover{background:hsl(var(--neutral-700));border-color:hsl(var(--neutral-600))}.btn-success{background:hsl(var(--success));color:#fff}.btn-success:hover{background:hsl(var(--success) / .9)}.btn-danger{background:hsl(var(--danger));color:#fff}.btn-danger:hover{background:hsl(var(--danger) / .9)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{font-family:var(--font-display);color:hsl(var(--neutral-200));justify-content:space-between;font-size:.85rem;font-weight:500;display:flex}.input-field{background:hsl(var(--neutral-900) / .6);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:hsl(var(--neutral-100));font-family:var(--font-sans);transition:all var(--transition-fast);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:10px 14px;font-size:.95rem}body.light-theme .input-field,.light-theme .input-field{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111827!important;background:#fff!important;border:1.5px solid #6b7280!important}body.light-theme .input-field:focus,.light-theme .input-field:focus{border-color:hsl(var(--primary))!important;box-shadow:0 0 0 3px hsl(var(--primary) / .15)!important;background:#fff!important}body.light-theme .input-field::placeholder,.light-theme .input-field::placeholder{color:#4b5563!important;opacity:1!important}body.light-theme .input-field:disabled,.light-theme .input-field:disabled{cursor:not-allowed;color:#374151!important;background:#e5e7eb!important;border-color:#9ca3af!important}body.light-theme .input-field option,.light-theme .input-field option{color:#111827!important;background-color:#fff!important}body.light-theme .glass-panel,.light-theme .glass-panel{background:#ffffffd9!important;border:1.5px solid #00000026!important}body.light-theme .glass-panel:before,.light-theme .glass-panel:before{display:none!important}body.light-theme .form-label,.light-theme .form-label{color:#111827!important;font-weight:600!important}.input-field:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15);background:hsl(var(--neutral-900) / .9);outline:none}.input-field::placeholder{color:hsl(var(--neutral-400))}.input-field option{background-color:hsl(var(--neutral-800));color:hsl(var(--neutral-100))}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background:hsl(var(--primary) / .15);color:hsl(var(--primary) / 1.3);border:1px solid hsl(var(--primary) / .3)}.badge-secondary{background:hsl(var(--secondary) / .15);color:hsl(var(--secondary) / 1.3);border:1px solid hsl(var(--secondary) / .3)}.badge-success{background:hsl(var(--success) / .15);color:hsl(var(--success) / 1.3);border:1px solid hsl(var(--success) / .3)}.badge-warning{background:hsl(var(--warning) / .15);color:hsl(var(--warning) / 1.3);border:1px solid hsl(var(--warning) / .3)}.badge-danger{background:hsl(var(--danger) / .15);color:hsl(var(--danger) / 1.3);border:1px solid hsl(var(--danger) / .3)}.custom-table-container,.data-table-container{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);width:100%;overflow-x:auto}.custom-table,.data-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th,.data-table th{font-family:var(--font-display);text-transform:uppercase;color:hsl(var(--neutral-400));border-bottom:1px solid var(--glass-border);letter-spacing:.05em;background:#00000026;padding:12px 16px;font-size:.78rem;font-weight:600}body.light-theme .custom-table th,body.light-theme .data-table th{background:#00000008}.custom-table td,.data-table td{border-bottom:1px solid var(--glass-border);color:hsl(var(--neutral-200));vertical-align:middle;padding:12px 16px;font-size:.85rem}.custom-table tbody tr,.data-table tbody tr{transition:background-color var(--transition-fast)}.custom-table tbody tr:hover,.data-table tbody tr:hover{background-color:var(--primary-glow)}.custom-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.dashboard-grid{grid-template-columns:260px 1fr;min-height:100vh;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;animation:fadeIn var(--transition-fast) forwards;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);width:90%;max-width:600px;animation:slideUp var(--transition-normal) forwards;padding:32px}.swal2-container{z-index:10000!important}.custom-dropdown-container{width:100%;position:relative}.custom-dropdown-menu{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);z-index:1000;flex-direction:column;max-height:200px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.custom-dropdown-item{color:hsl(var(--neutral-100));cursor:pointer;border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition-fast);text-align:left;align-items:center;gap:8px;padding:10px 14px;font-size:.95rem;display:flex}.custom-dropdown-item:hover{background-color:hsl(var(--primary) / .15);color:hsl(var(--primary) / 1.3)}.custom-dropdown-item.active{background-color:hsl(var(--primary));color:#fff}.custom-dropdown-no-results{color:hsl(var(--neutral-400));text-align:center;padding:12px 14px;font-size:.9rem;font-style:italic}body.light-theme,body.light-theme #root{color:#1a1a2e!important}body.light-theme h1,body.light-theme h2,body.light-theme h3,body.light-theme h4,body.light-theme h5,body.light-theme h6{color:#111827!important}body.light-theme p,body.light-theme span,body.light-theme div,body.light-theme label,body.light-theme li,body.light-theme td,body.light-theme th,body.light-theme code,body.light-theme strong,body.light-theme em,body.light-theme small,body.light-theme a{color:#1f2937!important}body.light-theme p[style],body.light-theme span[style],body.light-theme div[style],body.light-theme label[style],body.light-theme h1[style],body.light-theme h2[style],body.light-theme h3[style],body.light-theme h4[style],body.light-theme h5[style],body.light-theme h6[style]{opacity:1!important}body.light-theme button{color:#1f2937!important}body.light-theme .btn-primary,body.light-theme .btn-danger,body.light-theme .btn-success{color:#fff!important}body.light-theme .badge-primary{color:hsl(var(--primary))!important}body.light-theme .badge-secondary{color:hsl(var(--secondary))!important}body.light-theme .badge-success{color:hsl(var(--success))!important}body.light-theme .badge-warning{color:hsl(var(--warning))!important}body.light-theme .badge-danger{color:hsl(var(--danger))!important}body.light-theme .status-badge{opacity:1!important}body.light-theme .custom-table th,body.light-theme .data-table th{color:#111827!important;background:#0000000a!important}body.light-theme .custom-table td,body.light-theme .data-table td{color:#1f2937!important}body.light-theme .modal-content{background:#fffffff2!important;border:1px solid #00000026!important}body.light-theme .modal-content h1,body.light-theme .modal-content h2,body.light-theme .modal-content h3,body.light-theme .modal-content h4,body.light-theme .modal-content h5,body.light-theme .modal-content p,body.light-theme .modal-content span,body.light-theme .modal-content label{color:#111827!important}body.light-theme .custom-dropdown-item{color:#1f2937!important}body.light-theme .custom-dropdown-item:hover{color:hsl(var(--primary))!important}body.light-theme .custom-dropdown-item.active{color:#fff!important}body.light-theme .custom-dropdown-no-results{color:#6b7280!important}body.light-theme nav,body.light-theme nav span,body.light-theme nav p,body.light-theme nav div,body.light-theme nav strong,body.light-theme nav button{color:#1f2937!important}body.light-theme svg{color:inherit!important}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#0009;justify-content:center;align-items:center;padding:24px;animation:.25s forwards modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), 0 0 60px #8b5cf61f;width:100%;max-width:620px;max-height:85vh;padding:32px;animation:.3s cubic-bezier(.4,0,.2,1) forwards modalSlideUp;overflow-y:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}@media (width<=1024px){.app-layout-sidebar{width:72px!important;min-width:72px!important;padding:16px 8px!important}.app-layout-sidebar .sidebar-label,.app-layout-sidebar .sidebar-logo-text{display:none}.app-layout-main{margin-left:0!important}.modal-content{max-width:90vw;padding:24px}.patients-grid-layout{grid-template-columns:1fr!important}}@media (width<=768px){.app-layout-sidebar{z-index:500;border-top:1px solid var(--glass-border);border-right:none;border-radius:0;justify-content:space-around;position:fixed;inset:auto 0 0;width:100%!important;min-width:unset!important;flex-direction:row!important;height:64px!important;min-height:64px!important;padding:6px 4px!important}.app-layout-sidebar .sidebar-label,.app-layout-sidebar .sidebar-logo-text,.app-layout-sidebar .sidebar-divider,.app-layout-sidebar .sidebar-section-title{display:none!important}.app-layout-main{padding-bottom:76px!important}.modal-content{border-radius:var(--radius-md);max-width:100vw;max-height:92vh;padding:20px 16px}.modal-overlay{padding:12px}.patients-grid-layout{grid-template-columns:1fr!important}.custom-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.custom-table{min-width:700px}.btn{min-height:44px}.input-field,select.input-field{min-height:44px;font-size:16px}}@media (width<=480px){.modal-content{padding:16px 12px}.glass-panel{padding:16px!important}}.calendar-month-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px;display:grid}.calendar-day-header{text-align:center;color:hsl(var(--neutral-100));border-bottom:1px solid var(--glass-border);text-transform:uppercase;letter-spacing:.05em;padding:8px 4px;font-size:.8rem;font-weight:700}.calendar-day-cell{border:1.5px solid var(--glass-border);min-height:100px;transition:var(--transition-normal);background:#ffffff05;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}body.light-theme .calendar-day-cell{background:#00000004}.calendar-day-cell:hover{border-color:hsl(var(--primary) / .4);background:#ffffff0d}body.light-theme .calendar-day-cell:hover{background:#00000008}.calendar-day-cell.other-month{opacity:.35}.calendar-day-cell.today{background:hsl(var(--primary) / .05);box-shadow:0 0 12px hsl(var(--primary) / .15);border-color:hsl(var(--primary))!important}body.light-theme .calendar-day-cell.today{background:hsl(var(--primary) / .04)}.calendar-day-number{color:hsl(var(--neutral-100));margin-bottom:4px;font-size:.78rem;font-weight:700}.calendar-day-cell.today .calendar-day-number{color:hsl(var(--primary));font-weight:800}.calendar-appt-list{flex-direction:column;flex-grow:1;gap:4px;max-height:80px;display:flex;overflow-y:auto}.appt-mini-card{cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;user-select:none;border-left:3px solid #0000;border-radius:4px;flex-direction:column;gap:1px;padding:4px 6px;font-size:.68rem;font-weight:600;display:flex;overflow:hidden}.appt-mini-card:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.appt-badge-routine{color:#06b6d4;background:#06b6d41f;border-left-color:#06b6d4}body.light-theme .appt-badge-routine{background:#0891b214;color:#0891b2!important}.appt-badge-urgent{color:#f59e0b;background:#f59e0b1f;border-left-color:#f59e0b}body.light-theme .appt-badge-urgent{background:#d9770614;color:#d97706!important}.appt-badge-emergency{color:#ef4444;background:#ef44441f;border-left-color:#ef4444}body.light-theme .appt-badge-emergency{background:#dc262614;color:#dc2626!important}.appt-badge-cancelled{color:#9ca3af;opacity:.6;background:#9ca3af1f;border-left-color:#9ca3af;text-decoration:line-through}body.light-theme .appt-badge-cancelled{background:#6b728014;color:#4b5563!important}.appt-detail-popover{z-index:10000;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);width:320px;box-shadow:var(--shadow-lg);border-radius:12px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) forwards modalFadeIn;position:fixed}body.light-theme .appt-detail-popover{background:#fff}@media (width<=900px){.calendar-month-grid{min-width:680px}}p,span,div,td,th,strong,em,label,code{word-break:break-word;overflow-wrap:anywhere}.note-text-display,.text-wrap-safe{white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important}.page-container{width:100%;max-width:1400px;margin:0 auto;padding:24px;animation:.3s ease-out fadeIn}
