:root{--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--ease-accelerate:cubic-bezier(.4, 0, 1, 1);--ease-emphasized:cubic-bezier(.4, 0, .2, 1);--elevation-1:0 1px 2px #00000014, 0 1px 3px #0000000f;--elevation-2:0 2px 4px #00000014, 0 4px 8px #0000000f;--elevation-3:0 4px 8px #00000014, 0 8px 16px #0000000f;--elevation-4:0 8px 16px #00000014, 0 16px 24px #0000000f}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(root){animation:.2s var(--ease-accelerate) both fadeOut, .2s var(--ease-accelerate) both slideToLeft}::view-transition-new(root){animation:.35s 50ms var(--ease-decelerate) both fadeIn, .35s 50ms var(--ease-decelerate) both slideFromRight}@keyframes slideToLeft{to{transform:translate(-24px)}}@keyframes slideFromRight{0%{transform:translate(24px)}to{transform:translate(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes popIn{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-32px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rippleEffect{to{opacity:0;transform:scale(4)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseRing{0%{box-shadow:0 0 #6366f180}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wobble{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes staggerItem{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.anim-page-enter{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:100%;animation:.35s cubic-bezier(.4,0,.2,1) both pageEnter;display:flex}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.app-loader{background:var(--bg,#0d0f14);flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;transition:opacity .5s ease-out;display:flex}.app-loader.exit{opacity:0;pointer-events:none}.admin-fallback{justify-content:center;align-items:center;width:100%;min-height:60vh;display:flex}.admin-fallback-inner{flex-direction:column;justify-content:center;align-items:center;display:flex}.page-loader-container{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:100%;margin:0 auto;animation:.3s ease-out both fadeIn;display:flex}.page-loader-full{min-height:calc(100vh - 120px);flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;height:100%;min-height:calc(100dvh - 120px);margin:auto;padding:2rem 1rem;display:flex}@media (max-width:768px){.page-loader-full{min-height:calc(100dvh - 140px);padding-top:1rem;padding-bottom:3.5rem}}.page-loader-inline{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:140px;padding:1.5rem 1rem;display:flex}.page-loader-glow-wrapper,.page-loader-spinner-core{justify-content:center;align-items:center;display:flex;position:relative}.loader-orbital-ring.outer{border:3px solid #0000;border-top-color:var(--primary,#6366f1);border-right-color:var(--st-teal,#14b8a6);border-bottom-color:#6366f126;border-radius:50%;animation:1.1s cubic-bezier(.68,-.15,.27,1.15) infinite orbitalSpinClockwise;position:absolute;box-shadow:0 0 16px #6366f159}.loader-orbital-ring.inner{border:2.5px solid #0000;border-bottom-color:var(--accent,#8b5cf6);border-top-color:#8b5cf61a;border-left-color:#38bdf8;border-radius:50%;animation:.85s linear infinite orbitalSpinCounterClockwise;position:absolute;box-shadow:0 0 12px #8b5cf640}.loader-pulse-dot{background:linear-gradient(135deg,#38bdf8,#6366f1);border-radius:50%;animation:1.4s ease-in-out infinite loaderDotPulse;position:absolute;box-shadow:0 0 10px #6366f1,0 0 20px #6366f180}.loader-ambient-glow{filter:blur(12px);pointer-events:none;background:radial-gradient(circle,#6366f12e 0%,#14b8a614 40%,#0000 70%);border-radius:50%;width:80px;height:80px;animation:2.5s ease-in-out infinite loaderAmbientBreath;position:absolute}.page-loader-label{color:var(--text2,#94a3b8);letter-spacing:.02em;align-items:center;gap:2px;font-weight:500;display:inline-flex}.loader-dots:after{content:"";text-align:left;width:16px;animation:1.5s steps(4,end) infinite dots;display:inline-block}@keyframes orbitalSpinClockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitalSpinCounterClockwise{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes loaderDotPulse{0%,to{opacity:.7;transform:scale(.85)}50%{opacity:1;transform:scale(1.25)}}@keyframes loaderAmbientBreath{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.85;transform:scale(1.3)}}.ripple-effect{pointer-events:none;background:#ffffff4d;border-radius:50%;animation:.6s linear rippleEffect;position:absolute;transform:scale(0)}[data-theme=light] .ripple-effect{background:#0000001f}@keyframes celebrateGlow{0%,to{box-shadow:0 0 8px #22c55e4d,0 0 20px #22c55e1a}50%{box-shadow:0 0 16px #22c55e80,0 0 40px #22c55e40}}@keyframes celebrateBounceIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}50%{opacity:1;transform:scale(1.12)rotate(2deg)}70%{transform:scale(.94)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-40px)rotate(0)}to{opacity:0;transform:translateY(30px)rotate(720deg)}}.goal-ms-progress-row.done .progress-bar{animation:2s ease-in-out infinite celebrateGlow}.goal-ms-progress-row.done .progress-fill{background-size:200% 100%;animation:2s ease-in-out infinite shimmer;background:linear-gradient(90deg, var(--green), #22c55e, #4ade80)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@keyframes checkPop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.3)}80%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes iconBounce{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes slideDownIn{0%{opacity:0;max-height:0;transform:translateY(-20px)}to{opacity:1;max-height:200px;transform:translateY(0)}}@keyframes slideUpOut{0%{opacity:1;max-height:200px;transform:translateY(0)scale(1)}to{opacity:0;max-height:0;margin:0;padding:0;transform:translateY(-16px)scale(.95)}}@keyframes glowPulse{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 12px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes strikeThrough{0%{text-decoration-color:#0000}to{text-decoration-color:currentColor}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes heartbeatPulse{0%{transform:scale(1)}15%{transform:scale(1.2)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}@keyframes counterPop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes progressShimmer{0%{background-position:0%}to{background-position:100%}}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{color:#fff;background:#6366f14d}::selection{color:#fff;background:#6366f14d}*{-webkit-tap-highlight-color:transparent}button,a,.nav-item,.stat-card,.panel,.goal-card,.task-item,.time-block{touch-action:manipulation}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg4,#20263a);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text3,#64748b)}*{scrollbar-width:thin;scrollbar-color:var(--bg4,#20263a) transparent}[data-theme=light] .overlay-solid{background:#f8fafce6}[data-theme=light] .panel-solid{background:var(--bg2);border:1px solid var(--border)}@keyframes slideUpFadeShort{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.offline-banner-wrap{z-index:9999;pointer-events:none;justify-content:center;animation:.3s cubic-bezier(.4,0,.2,1) both slideUpFadeShort;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:600px){.offline-banner-wrap{width:calc(100% - 32px);bottom:74px}}.offline-pill{pointer-events:auto;-webkit-backdrop-filter:blur(12px);border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-size:12.5px;font-weight:500;transition:all .25s;display:inline-flex;box-shadow:0 10px 30px #00000059}.offline-pill.offline{color:#fef3c7;background:#1e180fe6;border-color:#f59e0b4d}.offline-pill.syncing{color:#e0e7ff;background:#0f172ae6;border-color:#6366f14d}.offline-pill.synced{color:#dcfce7;background:#0a1e14e6;border-color:#22c55e4d}.offline-pill.pending{color:#e0e7ff;cursor:pointer;background:#0f172ae6;border-color:#6366f14d}[data-theme=light] .offline-pill.offline{color:#92400e;background:#fef3c7f2;border-color:#f59e0b66;box-shadow:0 8px 24px #f59e0b26}[data-theme=light] .offline-pill.syncing{color:#3730a3;background:#eef2fff2;border-color:#6366f166;box-shadow:0 8px 24px #6366f126}[data-theme=light] .offline-pill.synced{color:#166534;background:#dcfce7f2;border-color:#22c55e66;box-shadow:0 8px 24px #22c55e26}.offline-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.offline-dot.pulse-amber{background:#f59e0b;animation:1.5s ease-in-out infinite pulseDot;box-shadow:0 0 8px #f59e0b}.offline-dot.pulse-blue{background:#6366f1;animation:1.5s ease-in-out infinite pulseDot;box-shadow:0 0 8px #6366f1}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.offline-spinner{border:2px solid #6366f14d;border-top-color:#818cf8;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.offline-check{color:#22c55e;font-size:14px;font-weight:700}.offline-sync-btn{color:#818cf8;cursor:pointer;background:#6366f140;border:1px solid #6366f166;border-radius:6px;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .15s}.offline-sync-btn:hover{color:#fff;background:#6366f166}
