:root{--color-white:0 0% 100%;--color-black:225 30% 9%;--brand-25:219 88% 96%;--brand-50:218 87% 93%;--brand-100:218 85% 88%;--brand-200:218 88% 81%;--brand-300:217 81% 71%;--brand-400:213 79% 60%;--brand-500:213 75% 47%;--brand-600:213 100% 29%;--brand-700:213 100% 25%;--brand-800:213 100% 21%;--brand-900:217 93% 20%;--brand-950:217 94% 10%;--secondary-25:10 83% 98%;--secondary-50:6 80% 96%;--secondary-100:7 89% 92%;--secondary-200:6 89% 83%;--secondary-300:6 88% 73%;--secondary-400:6 86% 64%;--secondary-500:6 79% 57%;--secondary-600:6 66% 47%;--secondary-700:6 69% 39%;--secondary-800:6 68% 32%;--secondary-900:6 64% 27%;--secondary-950:6 72% 14%;--gray-dark:218 19% 15%;--gray-25:220 17% 99%;--gray-50:210 14% 98%;--gray-100:220 14% 96%;--gray-200:210 14% 91%;--gray-300:216 12% 84%;--gray-400:216 15% 65%;--gray-500:219 13% 43%;--gray-600:215 17% 34%;--gray-700:215 25% 27%;--gray-800:217 27% 17%;--gray-900:225 30% 9%;--gray-950:220 29% 8%;--orange-25:36 100% 98%;--orange-50:36 100% 96%;--orange-100:36 100% 91%;--orange-200:36 96% 82%;--orange-300:28 98% 70%;--orange-400:18 97% 61%;--orange-500:19 98% 52%;--orange-600:19 95% 48%;--orange-700:14 91% 41%;--orange-800:12 79% 33%;--orange-900:11 76% 28%;--orange-950:11 68% 18%;--success-25:148 83% 98%;--success-50:145 84% 96%;--success-100:145 80% 91%;--success-200:145 81% 80%;--success-300:145 76% 69%;--success-400:145 63% 52%;--success-500:145 81% 39%;--success-600:145 95% 30%;--success-700:145 98% 24%;--success-800:145 94% 19%;--success-900:145 82% 16%;--success-950:145 81% 10%;--error-25:6 100% 99%;--error-50:6 88% 97%;--error-100:6 91% 94%;--error-200:6 93% 90%;--error-300:6 95% 82%;--error-400:4 93% 69%;--error-500:4 89% 61%;--error-600:4 72% 52%;--error-700:4 76% 40%;--error-800:4 70% 33%;--error-900:6 57% 29%;--error-950:6 68% 18%;--warning-25:45 100% 98%;--warning-50:45 100% 95%;--warning-100:45 96% 89%;--warning-200:45 98% 76%;--warning-300:45 98% 61%;--warning-400:39 98% 55%;--warning-500:33 96% 48%;--warning-600:28 97% 43%;--warning-700:27 93% 36%;--warning-800:23 84% 31%;--warning-900:18 79% 27%;--warning-950:18 81% 16%;--theme-pink-500:317 81% 61%;--theme-purple-500:251 91% 66%;--text-primary:var(--gray-900);--text-secondary:var(--gray-700);--text-on-brand:var(--color-white);--text-on-secondary:var(--color-white);--text-destructive:var(--error-600);--bg-primary:var(--color-white);--bg-secondary:var(--gray-50);--ring-brand:var(--brand-300);--ring-focus:var(--brand-200)}.dark{--color-white:0 0% 100%;--color-black:225 30% 9%;--brand-25:217 94% 10%;--brand-50:217 93% 20%;--brand-600:217 81% 71%;--gray-25:220 29% 8%;--gray-50:225 30% 9%;--gray-900:210 14% 98%;--gray-950:220 17% 99%;--text-primary:var(--gray-50);--text-secondary:var(--gray-400);--text-on-brand:var(--color-black);--text-on-secondary:var(--color-black);--text-destructive:var(--error-400);--bg-primary:var(--color-black);--bg-secondary:var(--gray-800);--ring-brand:var(--brand-600);--ring-focus:var(--brand-400)}
@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes subtle-glow{0%,to{box-shadow:0 0 5px #ef44444d}50%{box-shadow:0 0 15px #ef444499}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes loading-dots{0%,20%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.3;transform:scale(.8)}}.animate-shake{animation:.5s ease-in-out infinite shake}.animate-subtle-glow{animation:2s ease-in-out infinite subtle-glow}.animate-spin-slow{animation:3s linear infinite spin-slow}.animate-pulse-ring{animation:2s ease-in-out infinite pulse-ring}.animate-float{animation:3s ease-in-out infinite float}.animate-loading-dot-1{animation:1.5s ease-in-out infinite loading-dots}.animate-loading-dot-2{animation:1.5s ease-in-out .3s infinite loading-dots}.animate-loading-dot-3{animation:1.5s ease-in-out .6s infinite loading-dots}@keyframes bounce-dots{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-12px)}}.animate-bounce-dot-1{animation:1.4s ease-in-out infinite bounce-dots}.animate-bounce-dot-2{animation:1.4s ease-in-out .2s infinite bounce-dots}.animate-bounce-dot-3{animation:1.4s ease-in-out .4s infinite bounce-dots}@keyframes wave-bars{0%,40%,to{height:8px}20%{height:24px}}.animate-wave-1{animation:1.2s ease-in-out infinite wave-bars}.animate-wave-2{animation:1.2s ease-in-out .1s infinite wave-bars}.animate-wave-3{animation:1.2s ease-in-out .2s infinite wave-bars}.animate-wave-4{animation:1.2s ease-in-out .3s infinite wave-bars}.animate-wave-5{animation:1.2s ease-in-out .4s infinite wave-bars}@keyframes pulse-circle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.animate-pulse-circle{animation:1.5s ease-in-out infinite pulse-circle}@keyframes progress-bar{0%{transform:translate(-100%)}to{transform:translate(400%)}}.animate-progress-bar{width:25%;animation:1.5s ease-in-out infinite progress-bar}@keyframes spin-smooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-smooth{animation:2s linear infinite spin-smooth}@keyframes logo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.animate-logo-pulse{animation:1.5s ease-in-out infinite logo-pulse}@keyframes gradient-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.animate-gradient-pulse{animation:2s ease-in-out infinite gradient-pulse}@keyframes rotate-square{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.8)}to{transform:rotate(360deg)scale(1)}}.animate-rotate-square-1{animation:2s ease-in-out infinite rotate-square}.animate-rotate-square-2{animation:2s ease-in-out .2s infinite rotate-square}.animate-rotate-square-3{animation:2s ease-in-out .4s infinite rotate-square}.animate-rotate-square-4{animation:2s ease-in-out .6s infinite rotate-square}@keyframes morph{0%,to{border-radius:50%;transform:rotate(0)}33%{border-radius:0%;transform:rotate(120deg)}66%{border-radius:50% 0;transform:rotate(240deg)}}.animate-morph{animation:3s ease-in-out infinite morph}@keyframes orbit-dot{0%{transform:rotate(0)translate(12px)rotate(0)}to{transform:rotate(360deg)translate(12px)rotate(-360deg)}}.animate-orbit-dot-1{animation:1.5s linear infinite orbit-dot}.animate-orbit-dot-2{animation:1.5s linear .5s infinite orbit-dot}.animate-orbit-dot-3{animation:1.5s linear 1s infinite orbit-dot}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.animate-spin-reverse{animation:1s linear infinite spin-reverse}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.animate-typing-dot-1{animation:1.4s ease-in-out infinite typing-dot}.animate-typing-dot-2{animation:1.4s ease-in-out .2s infinite typing-dot}.animate-typing-dot-3{animation:1.4s ease-in-out .4s infinite typing-dot}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.animate-shimmer{animation:2s ease-in-out infinite shimmer}@keyframes flip-square{0%,to{transform:perspective(400px)rotateY(0)}50%{transform:perspective(400px)rotateY(180deg)}}.animate-flip-square{animation:2s ease-in-out infinite flip-square}@keyframes color-morph{0%{background-color:#8b5cf6}20%{background-color:#60a5fa}40%{background-color:#fcd34d}60%{background-color:#f87171}80%{background-color:#34d399}to{background-color:#8b5cf6}}.animate-color-morph{animation:3s ease-in-out infinite color-morph}@keyframes morph-color{0%{background-color:#8b5cf6;border-radius:50%;transform:rotate(0)}20%{background-color:#60a5fa;border-radius:0%;transform:rotate(90deg)}40%{background-color:#fcd34d;border-radius:50% 0;transform:rotate(180deg)}60%{background-color:#f87171;border-radius:0%;transform:rotate(270deg)}80%{background-color:#34d399;border-radius:50%;transform:rotate(360deg)}to{background-color:#8b5cf6;border-radius:50%;transform:rotate(360deg)}}.animate-morph-color{animation:4s ease-in-out infinite morph-color}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.animate-pulse-dot{animation:1.5s ease-in-out infinite pulse-dot}.task-badge-overdue{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:2px solid #f87171cc;transition:all .2s ease-in-out;animation:2s ease-in-out infinite subtle-glow;box-shadow:0 0 12px #ef444499,0 4px 8px #0000004d,inset 0 1px #fff3}.task-badge-overdue:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:scale(1.05);box-shadow:0 0 16px #ef4444cc,0 6px 12px #0006,inset 0 1px #ffffff4d}.task-badge-due-today{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border:2px solid #fb923ccc;transition:all .2s ease-in-out;box-shadow:0 0 8px #ea580c80,0 2px 6px #0003,inset 0 1px #fff3}.task-badge-due-today:hover{background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);transform:scale(1.05);box-shadow:0 0 12px #ea580cb3,0 4px 8px #0000004d,inset 0 1px #ffffff4d}.task-dot{background:#fff;border-radius:50%;width:8px;height:8px;box-shadow:0 1px 2px #0003}@keyframes slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in-right{animation:.3s ease-out forwards slide-in-right}@keyframes fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(50%)}}.animate-fade-out{animation:.2s ease-in forwards fade-out}
