@keyframes todayLine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.today-line-v2{animation:7s linear infinite todayLine}.landing-icon{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-icon:hover{transform:scale(1.05)rotate(5deg)}.icon-calendar:hover{animation:.5s ease-in-out shake}.icon-group:hover{animation:.5s ease-in-out bounce}.icon-finance:hover{animation:.5s ease-in-out pulse}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-up{animation:.35s ease-out forwards fadeInUp}.fade-in-up-delay-1{opacity:0;animation:.35s ease-out 50ms forwards fadeInUp}.fade-in-up-delay-2{opacity:0;animation:.35s ease-out .1s forwards fadeInUp}.fade-in-up-delay-3{opacity:0;animation:.35s ease-out .15s forwards fadeInUp}.card-hover{transition:box-shadow .2s,transform .2s}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a!important}.btn-press{transition:all .15s cubic-bezier(.4,0,.2,1)}.btn-press:active{transform:scale(.96)}.btn-hover-lift{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-hover-lift:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-hover-lift:active{transform:scale(.97)}.link-hover{transition:all .15s}.link-hover:hover{opacity:.8;transform:translate(2px)}.calendar-cell{transition:all .2s cubic-bezier(.4,0,.2,1)}.calendar-cell:hover{z-index:2;position:relative;transform:scale(1.02);box-shadow:0 4px 12px #2563eb26}@keyframes todayPulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 8px #2563eb00}}.today-pulse{animation:2s infinite todayPulse}.chip-hover{transition:all .15s}.chip-hover:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001a}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.btn-generate:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16a34a66!important}.btn-generate:active{transform:scale(.97)}.btn-clear:hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc262666!important}.btn-clear:active{transform:scale(.97)}.group-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 30px #0000001f!important}.week-cell{transition:all .2s cubic-bezier(.4,0,.2,1)}.week-cell:hover{z-index:2;border-radius:8px;position:relative;transform:translateY(-2px);box-shadow:0 8px 25px #0000001f!important}.month-cell{transition:all .2s cubic-bezier(.4,0,.2,1)}.month-cell:hover{z-index:2;border-radius:8px;position:relative;transform:translateY(-2px);box-shadow:0 8px 25px #0000001f!important}.teacher-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000001f!important}@media (max-width:768px){input[type=date].date-field{width:calc(100% - 12px)!important}}
div[style*=max-height\:70vh]{box-shadow:0 4px 16px #0000000f}div[style*=max-height\:70vh] table{border-collapse:separate!important;border-spacing:0!important;min-width:960px!important;font-size:13px!important}div[style*=max-height\:70vh] th,div[style*=max-height\:70vh] td{border-bottom:1px solid #e2e8f0!important;padding:12px 14px!important}div[style*=max-height\:70vh] thead th{color:#64748b!important;text-transform:uppercase!important;z-index:10!important;background:#f8fafc!important;border-bottom:2px solid #e2e8f0!important;font-size:12px!important;font-weight:600!important;position:sticky!important;top:0!important}div[style*=max-height\:70vh] tfoot td{color:#0f172a!important;z-index:10!important;background:#f1f5f9!important;border-top:2px solid #e2e8f0!important;font-weight:700!important;position:sticky!important;bottom:0!important}div[style*=max-height\:70vh] td:first-child,div[style*=max-height\:70vh] td:nth-child(2){text-align:left!important;font-weight:500!important}div[style*=max-height\:70vh] td:nth-child(n+3){text-align:center!important;font-variant-numeric:tabular-nums!important}div[style*=max-height\:70vh] tbody tr:hover td{background:#f8fafc!important;transition:all .15s!important}div[style*=max-height\:70vh] a{color:#2563eb!important;text-decoration:none!important}div[style*=max-height\:70vh] a:hover{text-decoration:underline!important}div[style*=max-height\:70vh] th:nth-child(n+4):nth-child(-n+7),div[style*=max-height\:70vh] td:nth-child(n+4):nth-child(-n+7){min-width:40px!important;max-width:48px!important;padding:6px 4px!important;font-size:11px!important}
