*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f8fafc;color:#0f172a;line-height:1.6}#root{height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;letter-spacing:-.02em}::selection{background-color:#14b8a633;color:#0f766e}:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:#ffffff08;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff40}.bg-medical-gradient{background:linear-gradient(135deg,#0f172a,#134e4a,#0f172a)}.bg-premium-gradient{background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a)}.bg-teal-gradient{background:linear-gradient(135deg,#0d9488,#14b8a6,#2dd4bf)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1);opacity:.5}to{transform:scale(.8);opacity:.8}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.animate-fade-in{animation:fade-in .3s ease-out forwards}.animate-slide-up{animation:slide-up .4s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .3s ease-out forwards}.animate-scale-in{animation:scale-in .2s ease-out forwards}.animate-bounce-in{animation:bounce-in .5s ease-out forwards}.animate-shake{animation:shake .4s ease-in-out}.animate-shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-in{animation-duration:.5s;animation-fill-mode:forwards}.fade-in{animation-name:fade-in}.slide-in-from-bottom-2{animation-name:slide-in-from-bottom}.glass{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.glass-dark{background:#0f172acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.shadow-premium{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a,0 0 0 1px #0000000d}.shadow-premium-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 0 1px #0000000d}.shadow-teal{box-shadow:0 10px 40px -10px #14b8a659}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.card{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.card:hover{box-shadow:0 4px 6px -1px #0000001a}.card-dark{background:#1e293b;border-color:#334155;color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;box-shadow:0 4px 14px #14b8a659}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #14b8a673}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.input{width:100%;padding:.75rem 1rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;transition:all .2s ease}.input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a61a}.input:disabled{background:#f1f5f9;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot-active{background:#22c55e;animation:pulse-ring 2s infinite}.status-dot-pending{background:#f59e0b}.status-dot-inactive{background:#94a3b8}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.loading-spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#14b8a6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}@media print{.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:1px solid #e2e8f0}}.overflow-x-auto:has(table){max-height:calc(100vh - 300px);overflow-y:auto;min-height:300px}.overflow-x-auto:has(table) thead th{position:sticky!important;top:0;z-index:20;background-color:#f8fafcf2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px #0000000d}.overflow-x-auto [class*="min-h-[700px]"]{max-height:calc(100vh - 350px);min-height:400px!important;overflow-y:auto}.overflow-x-auto:has([class*="min-h-[700px]"]){padding-bottom:8px!important}
