.toast-stack[data-v-27102355]{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:9999}.toast[data-v-27102355]{min-width:240px;padding:.75rem .9rem;border-radius:10px;background:#111827;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 30px #00000040}.toast.success[data-v-27102355]{border-color:#22c55e}.toast.error[data-v-27102355]{border-color:#ef4444}.toast.info[data-v-27102355]{border-color:#38bdf8}button[data-v-27102355]{background:transparent;border:none;color:inherit;font-size:1rem;cursor:pointer}.app[data-v-6c9c4113]{min-height:100vh;display:flex;flex-direction:column;background:#0f172a;color:#e2e8f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app__header[data-v-6c9c4113]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(226,232,240,.1);gap:.75rem}.brand[data-v-6c9c4113]{display:flex;align-items:center;gap:.75rem}.menu-btn[data-v-6c9c4113]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2e8f0;cursor:pointer}.app__nav[data-v-6c9c4113]{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.app__nav a[data-v-6c9c4113]{color:#cbd5e1;text-decoration:none}.app__nav a.router-link-active[data-v-6c9c4113]{color:#7dd3fc}.link[data-v-6c9c4113]{background:none;border:none;color:#cbd5e1;cursor:pointer;font:inherit}.app__content[data-v-6c9c4113]{padding:1rem;flex:1}.desktop-only[data-v-6c9c4113]{display:none}.overlay[data-v-6c9c4113]{position:fixed;inset:0;background:#00000080;z-index:9}.side-menu[data-v-6c9c4113]{position:fixed;top:0;left:0;width:70%;max-width:280px;height:100%;background:#0b1220;border-right:1px solid rgba(255,255,255,.08);padding:1rem;z-index:10;display:flex;flex-direction:column}.side-nav[data-v-6c9c4113]{display:flex;flex-direction:column;gap:.75rem}.side-nav a[data-v-6c9c4113]{color:#e2e8f0;text-decoration:none}.fade-enter-active[data-v-6c9c4113],.fade-leave-active[data-v-6c9c4113]{transition:opacity .2s ease}.fade-enter-from[data-v-6c9c4113],.fade-leave-to[data-v-6c9c4113]{opacity:0}.slide-enter-active[data-v-6c9c4113],.slide-leave-active[data-v-6c9c4113]{transition:transform .25s ease}.slide-enter-from[data-v-6c9c4113],.slide-leave-to[data-v-6c9c4113]{transform:translate(-100%)}@media(min-width:768px){.app__header[data-v-6c9c4113]{padding:1rem 1.5rem}.app__content[data-v-6c9c4113]{padding:1.5rem}.menu-btn[data-v-6c9c4113]{display:none}.desktop-only[data-v-6c9c4113]{display:flex}}.grid[data-v-29e9bfe7]{display:grid;grid-template-columns:1fr;gap:1rem}.card[data-v-29e9bfe7]{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.9rem 1rem;box-shadow:0 12px 40px #00000040}.card.wide[data-v-29e9bfe7]{grid-column:span 2}.card__header[data-v-29e9bfe7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.split[data-v-29e9bfe7]{display:grid;grid-template-columns:1fr;gap:1rem}.split.main .column[data-v-29e9bfe7]{background:#0b1220;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:.9rem;display:flex;flex-direction:column;gap:.5rem}.split.main .stats[data-v-29e9bfe7]{justify-content:flex-start}.list[data-v-29e9bfe7]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.list__item[data-v-29e9bfe7]{display:flex;align-items:center;justify-content:space-between;padding:.8rem;border-radius:10px;background:#0b1220;border:1px solid rgba(255,255,255,.04);gap:.5rem}.title[data-v-29e9bfe7]{margin:0;font-weight:600}.muted[data-v-29e9bfe7]{color:#94a3b8;margin:.1rem 0 0;font-size:.9rem}.error[data-v-29e9bfe7]{color:#f87171}.actions[data-v-29e9bfe7]{display:flex;gap:.5rem}button[data-v-29e9bfe7]{border:none;padding:.6rem .9rem;border-radius:8px;background:linear-gradient(120deg,#22d3ee,#38bdf8);color:#0b1220;font-weight:600;cursor:pointer}button.ghost[data-v-29e9bfe7]{background:#ffffff14;color:#e2e8f0}button[data-v-29e9bfe7]:disabled{opacity:.6;cursor:not-allowed}.metrics[data-v-29e9bfe7]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:1rem}.metric[data-v-29e9bfe7]{font-size:1.4rem;font-weight:700;margin:.2rem 0 0}.calendar[data-v-29e9bfe7]{margin-top:.5rem;background:#0b1220;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:.8rem}.weekdays[data-v-29e9bfe7]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#94a3b8;font-size:.9rem;margin-bottom:.4rem}.days[data-v-29e9bfe7]{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.day[data-v-29e9bfe7]{min-height:100px;border-radius:10px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;color:#e2e8f0;padding:.4rem;display:flex;flex-direction:column;gap:.3rem}.day__header[data-v-29e9bfe7]{display:flex;justify-content:space-between;align-items:center}.badge[data-v-29e9bfe7]{background:#38bdf826;color:#7dd3fc;border-radius:10px;padding:.1rem .4rem;font-size:.75rem}.mini-list[data-v-29e9bfe7]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem}.mini-item a[data-v-29e9bfe7]{color:#cbd5e1;text-decoration:none;font-size:.9rem}@media(max-width:960px){.grid[data-v-29e9bfe7]{grid-template-columns:1fr}.card.wide[data-v-29e9bfe7]{grid-column:span 1}.split.main[data-v-29e9bfe7]{grid-template-columns:1fr}.list__item[data-v-29e9bfe7]{flex-direction:column;align-items:flex-start}.actions[data-v-29e9bfe7]{flex-wrap:wrap}.actions button[data-v-29e9bfe7]{width:100%;justify-content:center}}@media(min-width:900px){.grid[data-v-29e9bfe7]{grid-template-columns:2fr 1fr}.split[data-v-29e9bfe7]{grid-template-columns:repeat(3,1fr)}}@media(max-width:960px){.grid[data-v-29e9bfe7]{grid-template-columns:1fr}.card.wide[data-v-29e9bfe7]{grid-column:span 1}.split[data-v-29e9bfe7]{grid-template-columns:1fr}}.card[data-v-fc61406f]{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.2rem;box-shadow:0 12px 40px #00000040}.card__header[data-v-fc61406f]{display:flex;align-items:center;justify-content:space-between}.muted[data-v-fc61406f]{color:#94a3b8;margin:0}.title[data-v-fc61406f]{margin:0;font-weight:700}.list[data-v-fc61406f]{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.list__item[data-v-fc61406f]{background:#0b1220;padding:.85rem;border-radius:10px;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;gap:.6rem}.buttons[data-v-fc61406f]{display:flex;gap:.5rem;flex-wrap:wrap}.actions[data-v-fc61406f]{margin:.5rem 0}.button[data-v-fc61406f]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem .9rem;border-radius:8px;border:none;background:linear-gradient(120deg,#22d3ee,#38bdf8);color:#0b1220;font-weight:600;text-decoration:none;cursor:pointer}.button.ghost[data-v-fc61406f]{background:#ffffff14;color:#e2e8f0}.button.danger[data-v-fc61406f]{background:#ef4444;color:#fff}.error[data-v-fc61406f]{color:#f87171}select[data-v-fc61406f]{padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0b1220;color:#e2e8f0}@media(max-width:900px){.list__item[data-v-fc61406f]{flex-direction:column;align-items:flex-start;gap:.6rem}.buttons[data-v-fc61406f]{width:100%;flex-wrap:wrap}.card[data-v-fc61406f]{padding:.9rem}}.card[data-v-f1ea213c]{max-width:420px;margin:0 auto;background:#111827;padding:1.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.06);box-shadow:0 12px 50px #0006}.form[data-v-f1ea213c]{display:flex;flex-direction:column;gap:1rem}label[data-v-f1ea213c]{display:flex;flex-direction:column;font-size:.95rem;color:#cbd5e1;gap:.4rem}input[data-v-f1ea213c]{padding:.7rem .9rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0b1220;color:#e2e8f0}button[data-v-f1ea213c]{padding:.75rem;border-radius:8px;border:none;background:linear-gradient(120deg,#38bdf8,#22d3ee);color:#0b1220;font-weight:600;cursor:pointer}button[data-v-f1ea213c]:disabled{opacity:.7;cursor:not-allowed}.error[data-v-f1ea213c]{color:#f87171;margin:0}.card[data-v-8fa50df4]{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.2rem}.card__header[data-v-8fa50df4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.muted[data-v-8fa50df4]{color:#94a3b8;margin:0}.form[data-v-8fa50df4]{display:flex;flex-direction:column;gap:.9rem}label[data-v-8fa50df4]{display:flex;flex-direction:column;gap:.35rem;color:#e2e8f0}input[data-v-8fa50df4],textarea[data-v-8fa50df4],select[data-v-8fa50df4]{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.65rem .8rem;background:#0b1220;color:#e2e8f0}.actions[data-v-8fa50df4]{display:flex;gap:.5rem}.button[data-v-8fa50df4]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem .9rem;border-radius:8px;border:none;background:linear-gradient(120deg,#22d3ee,#38bdf8);color:#0b1220;font-weight:600;text-decoration:none;cursor:pointer}.button.ghost[data-v-8fa50df4]{background:#ffffff14;color:#e2e8f0}.error[data-v-8fa50df4]{color:#f87171}.success[data-v-8fa50df4]{color:#22c55e}.color-picker input[type=color][data-v-8fa50df4]{height:42px;padding:0}.small[data-v-8fa50df4]{font-size:.85rem}.icon-picker[data-v-8fa50df4]{display:flex;align-items:center;gap:.5rem}.icon-preview[data-v-8fa50df4]{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0b1220;font-size:1.2rem}.card[data-v-d11d9cb2]{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.2rem}.card__header[data-v-d11d9cb2]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.muted[data-v-d11d9cb2]{color:#94a3b8;margin:0}.title[data-v-d11d9cb2]{margin:0;font-weight:700}.buttons[data-v-d11d9cb2]{display:flex;gap:.4rem;flex-wrap:wrap}.grid[data-v-d11d9cb2]{margin-top:1rem}.button[data-v-d11d9cb2]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem .9rem;border-radius:8px;border:none;background:linear-gradient(120deg,#22d3ee,#38bdf8);color:#0b1220;font-weight:600;text-decoration:none;cursor:pointer}.button.ghost[data-v-d11d9cb2]{background:#ffffff14;color:#e2e8f0}.button.danger[data-v-d11d9cb2]{background:#ef4444;color:#fff}.error[data-v-d11d9cb2]{color:#f87171}.achievements[data-v-d11d9cb2]{margin:.5rem 0 1rem}.achievements__list[data-v-d11d9cb2]{display:flex;flex-wrap:wrap;gap:.4rem}.chip[data-v-d11d9cb2]{background:#ffffff14;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.9rem}.calendar[data-v-d11d9cb2]{margin-top:1rem;background:#0b1220;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:.8rem;overflow-x:auto}.week-calendar[data-v-d11d9cb2]{margin-top:1rem}.week-days[data-v-d11d9cb2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.week-day[data-v-d11d9cb2]{padding:.75rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08}.weekdays[data-v-d11d9cb2]{display:grid;grid-template-columns:repeat(7,minmax(60px,1fr));text-align:center;color:#94a3b8;font-size:.9rem;margin-bottom:.4rem}.days[data-v-d11d9cb2]{display:grid;grid-template-columns:repeat(7,minmax(60px,1fr));gap:.4rem}.day[data-v-d11d9cb2]{min-height:70px;border-radius:10px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;color:#e2e8f0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:.4rem;gap:.2rem;cursor:pointer}.day.done[data-v-d11d9cb2]{border-color:#22c55e;background:#22c55e1f}.day.miss[data-v-d11d9cb2]{border-color:#ef4444;background:#ef44441f}.status-text[data-v-d11d9cb2]{font-size:.75rem;color:#94a3b8}.subheader[data-v-d11d9cb2]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-only[data-v-d11d9cb2]{display:block}.desktop-only[data-v-d11d9cb2]{display:none}@media(max-width:900px){.card__header[data-v-d11d9cb2],.subheader[data-v-d11d9cb2]{flex-direction:column;align-items:flex-start}}@media(min-width:900px){.desktop-only[data-v-d11d9cb2]{display:flex}.mobile-only[data-v-d11d9cb2]{display:none}}.tooltip[data-v-37cec111]{position:relative;display:inline-block}.tooltip__content[data-v-37cec111]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:200px;background:#0b1220;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);padding:.6rem;border-radius:8px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease}.tooltip:hover .tooltip__content[data-v-37cec111]{opacity:1}.title[data-v-37cec111]{margin:0;font-weight:700}.muted[data-v-37cec111]{margin:.1rem 0 0;color:#94a3b8}.card[data-v-2c22a6e4]{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.2rem}.card__header[data-v-2c22a6e4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.muted[data-v-2c22a6e4]{color:#94a3b8;margin:0}.error[data-v-2c22a6e4]{color:#f87171}.grid[data-v-2c22a6e4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.badge[data-v-2c22a6e4]{background:#0b1220;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.8rem;display:flex;gap:.7rem}.badge.locked[data-v-2c22a6e4]{opacity:.55}.badge__icon[data-v-2c22a6e4]{font-size:1.8rem}.badge__content .title[data-v-2c22a6e4]{margin:0;font-weight:700}.tag[data-v-2c22a6e4]{font-size:.8rem;color:#7dd3fc}.earned[data-v-2c22a6e4]{color:#22c55e;font-weight:600;margin:.3rem 0 0}.progress[data-v-2c22a6e4]{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.pill[data-v-2c22a6e4]{padding:.6rem .8rem;border-radius:10px;background:#0b1220;border:1px solid rgba(255,255,255,.08)}.pill strong[data-v-2c22a6e4]{color:#7dd3fc}.ghost[data-v-2c22a6e4]{background:#ffffff14;border:none;border-radius:8px;padding:.5rem .8rem;color:#e2e8f0;cursor:pointer}:root{color-scheme:dark;background-color:#0f172a;color:#e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
