.bg-grid-white{background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px)}.loading-spinner{position:relative;display:inline-block}.loading-spinner:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:conic-gradient(transparent,#3b82f6cc);animation:spin 1.5s linear infinite;transform:translate(-50%,-50%)}.card-hover:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);transition:all .2s ease;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.modal-scrollable{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#94a3b8 #f8fafc}.modal-scrollable::-webkit-scrollbar{width:12px}.modal-scrollable::-webkit-scrollbar-track{background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.modal-scrollable::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:6px;border:2px solid #f8fafc;min-height:30px}.modal-scrollable::-webkit-scrollbar-corner{background:#f8fafc}.modal-content-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#64748b #f1f5f9;padding:0!important;margin:0!important;border:none!important;height:100%;box-sizing:border-box;display:flex;flex-direction:column;background:#fff}.modal-content-scroll>*{margin:0!important;padding:0!important;flex-shrink:0}.modal-content-scroll>*:last-child{margin:0!important;padding:0!important;flex:1;min-height:0;display:flex;flex-direction:column}.modal-content-scroll .timesheet-container{margin:0!important;padding:0!important;height:100%;display:flex;flex-direction:column;background:#fff}.modal-content-scroll .timesheet-container>div:first-child{flex:1;display:flex;flex-direction:column;padding:1rem}.modal-content-scroll *{margin-bottom:0!important}.modal-content-scroll *:last-child{margin-bottom:0!important;padding-bottom:0!important}.modal-content-scroll::-webkit-scrollbar{width:14px;height:14px}.modal-content-scroll::-webkit-scrollbar-track{background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.modal-content-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:8px;border:2px solid #f8fafc;min-height:40px}.modal-content-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b)}.modal-content-scroll::-webkit-scrollbar-corner{background:#f8fafc}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.employee-card{animation:cardSlideIn .4s ease-out forwards}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.animated-gradient{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-overlay{animation:modalFadeIn .3s ease-out forwards}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content{animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.status-indicator{animation:statusPulse 2s ease-in-out infinite}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width, 0%)}}.progress-bar{animation:progressFill 1s ease-out .5s forwards;width:0%}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.shimmer-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:400% 100%;animation:shimmer 1.2s ease-in-out infinite}.calendar-day{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-day:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.calendar-day:hover:before{left:100%}.calendar-day:hover{transform:scale(1.05);z-index:10}.stats-card{position:relative;transition:all .3s ease}.stats-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(45deg,transparent,rgba(59,130,246,.3),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor;opacity:0;transition:opacity .3s ease}.stats-card:hover:before{opacity:1}@keyframes badgeBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.badge-animated{animation:badgeBounce 2s ease-in-out infinite}@keyframes checkmark{0%{transform:scale(0) rotate(45deg);opacity:0}50%{transform:scale(1.2) rotate(45deg);opacity:1}to{transform:scale(1) rotate(45deg);opacity:1}}.checkmark{animation:checkmark .6s ease-out forwards}.tooltip{position:relative}.tooltip:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;z-index:1000}.tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000c;opacity:0;pointer-events:none;transition:all .3s ease}.tooltip:hover:before,.tooltip:hover:after{opacity:1}@media (max-width: 768px){.modal-content{margin:16px;max-height:calc(100vh - 32px)}.stats-grid{grid-template-columns:1fr;gap:16px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px}}@media (prefers-color-scheme: dark){.shimmer-loading{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}}@media print{.modal-overlay{display:none!important}.stats-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none!important;border:1px solid #e5e7eb}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{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 gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slideIn{animation:slideIn .5s ease-out}.animate-scaleIn{animation:scaleIn .4s ease-out}.animate-gradient{background-size:200% 200%;animation:gradientShift 4s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.glass{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.spinner{border:3px solid rgba(59,130,246,.1);border-top:3px solid #3b82f6;border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a}.btn-enhanced:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.btn-enhanced:active{transform:translateY(0)}.focus-enhanced:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}.grid-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.grid-container:hover .grid-item:not(:hover){opacity:.7;transform:scale(.98)}.grid-item:hover{opacity:1;transform:scale(1.02);z-index:10}.border-gradient{border:2px solid;-o-border-image:linear-gradient(45deg,#667eea,#764ba2) 1;border-image:linear-gradient(45deg,#667eea,#764ba2) 1}.shadow-neumorphism{box-shadow:8px 8px 16px #a3b1c699,-8px -8px 16px #ffffff80}.text-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.employee-timesheet-modal{z-index:10001!important;position:relative!important;background:#fff!important;isolation:isolate;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}.ReactModal__Overlay{z-index:9999!important;background-color:#000c!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease-out}.ReactModal__Content{z-index:10000!important;position:relative!important;background:transparent!important;border:none!important;padding:0!important;overflow:visible!important}@keyframes modalSlideIn{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.button-gradient-hover{position:relative;overflow:hidden}.button-gradient-hover:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.button-gradient-hover:hover:before{left:100%}.timesheet-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1)}.timesheet-card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:#6366f133}.modal-scrollable{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.modal-scrollable::-webkit-scrollbar{width:8px}.modal-scrollable::-webkit-scrollbar-track{background:#f1f5f9;border-radius:8px}.modal-scrollable::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:8px;border:1px solid #f1f5f9}.modal-scrollable::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b)}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.stats-card-enhanced{animation:bounceIn .5s ease-out}.stats-card-enhanced:nth-child(1){animation-delay:.1s}.stats-card-enhanced:nth-child(2){animation-delay:.2s}.stats-card-enhanced:nth-child(3){animation-delay:.3s}.stats-card-enhanced:nth-child(4){animation-delay:.4s}.week-nav-button{transition:all .3s cubic-bezier(.4,0,.2,1)}.week-nav-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #00000040}.timesheet-table-row{transition:all .2s ease}.timesheet-table-row:hover{background:linear-gradient(90deg,#6366f10d,#a855f70d);transform:translate(4px)}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
