@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}a,.green{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}:root{--bg:#f8f9fc;--card:#fff;--border:#e5e7eb;--shadow:0 2px 12px #0000000f;--text-primary:#111827;--text-secondary:#6b7280;--blue:#2563eb;--blue-light:#eff6ff;--amber:#d97706;--amber-light:#fffbeb;--red:#dc2626;--red-light:#fef2f2;--green:#059669;--green-light:#ecfdf5;--indigo:#4f46e5;--indigo-light:#eef2ff;--violet:#7c3aed;--violet-light:#f5f3ff;--cyan:#0891b2;--cyan-light:#ecfeff;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--radius:10px}body{background:var(--bg);font-family:DM Sans,sans-serif}.header[data-v-f7681341]{background:var(--card);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.header-left[data-v-f7681341]{cursor:pointer;align-items:center;gap:10px;display:flex}.logo-icon[data-v-f7681341]{width:40px;height:40px;color:var(--blue);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-icon img[data-v-f7681341]{object-fit:contain;width:100%;height:100%;display:block}.logo-text[data-v-f7681341]{color:var(--text-primary);letter-spacing:-.4px;font-size:17px;font-weight:700}.logo-text span[data-v-f7681341]{color:var(--blue)}.header-center[data-v-f7681341]{align-items:center;gap:10px;display:flex}.month-nav-btn[data-v-f7681341]{border:1px solid var(--border);background:var(--card);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.month-nav-btn[data-v-f7681341]:hover{background:var(--gray-100);border-color:var(--gray-300)}.month-label[data-v-f7681341]{color:var(--text-primary);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;min-width:100px;padding:4px 8px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.month-label[data-v-f7681341]:hover{color:var(--blue);background:var(--blue-light)}.header-right[data-v-f7681341]{z-index:120;align-items:center;gap:12px;display:flex;position:relative}.nav-dropdown[data-v-f7681341]{position:relative}.nav-dropdown-btn[data-v-f7681341]{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.nav-dropdown-btn[data-v-f7681341]:hover{background:var(--gray-100);border-color:var(--gray-300)}.nav-mobile-menu-icon[data-v-f7681341]{display:none}.nav-dropdown.is-open .nav-dropdown-btn[data-v-f7681341]{border-color:var(--blue);box-shadow:0 0 0 2px #2563eb1f}.nav-dropdown-chevron[data-v-f7681341]{color:var(--text-secondary);flex-shrink:0;transition:transform .2s}.nav-dropdown.is-open .nav-dropdown-chevron[data-v-f7681341]{transform:rotate(180deg)}.nav-dropdown-menu[data-v-f7681341]{background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:168px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001a}.nav-dropdown.is-open .nav-dropdown-menu[data-v-f7681341]{display:block}.nav-dropdown-item[data-v-f7681341]{color:var(--text-primary);border-radius:6px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s;display:block}.nav-dropdown-item[data-v-f7681341]:hover{background:var(--gray-100);color:var(--blue)}.nav-dropdown-item.is-active[data-v-f7681341]{background:var(--blue-light);color:var(--blue);pointer-events:none;font-weight:600}.user-dropdown[data-v-f7681341]{position:relative}.user-dropdown-btn[data-v-f7681341]{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:4px 10px 4px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.user-dropdown-btn[data-v-f7681341]:hover{background:var(--gray-100);border-color:var(--gray-300)}.user-dropdown.is-open .user-dropdown-btn[data-v-f7681341]{border-color:var(--blue);box-shadow:0 0 0 2px #2563eb1f}.user-name-text[data-v-f7681341]{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.avatar[data-v-f7681341]{background:linear-gradient(135deg, var(--blue) 0%, var(--indigo) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.user-dropdown-chevron[data-v-f7681341]{color:var(--text-secondary);flex-shrink:0;transition:transform .2s}.user-dropdown.is-open .user-dropdown-chevron[data-v-f7681341]{transform:rotate(180deg)}.user-dropdown-menu[data-v-f7681341]{background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:180px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001a}.user-dropdown.is-open .user-dropdown-menu[data-v-f7681341]{display:block}.user-dropdown-header[data-v-f7681341]{padding:8px 12px}.user-dropdown-name[data-v-f7681341]{color:var(--text-primary);font-size:13px;font-weight:600}.user-dropdown-divider[data-v-f7681341]{background:var(--gray-200);height:1px;margin:4px 8px}.user-dropdown-item[data-v-f7681341]{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s;display:flex}.user-dropdown-item[data-v-f7681341]:hover{background:var(--gray-100);color:var(--blue)}.user-dropdown-item.text-danger[data-v-f7681341]{color:var(--danger,#dc2626)}.user-dropdown-item.text-danger[data-v-f7681341]:hover{color:#dc2626;background:#fef2f2}.user-dropdown-item svg[data-v-f7681341]{flex-shrink:0}.dialog-overlay[data-v-f7681341]{z-index:200;background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn-f7681341;display:flex;position:fixed;inset:0}.dialog-card[data-v-f7681341]{background:var(--card);border-radius:16px;flex-direction:column;width:400px;max-width:90vw;animation:.25s cubic-bezier(.22,1,.36,1) slideUp-f7681341;display:flex;box-shadow:0 24px 48px #00000026}.dialog-head[data-v-f7681341]{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.dialog-title[data-v-f7681341]{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.dialog-close[data-v-f7681341]{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.dialog-close[data-v-f7681341]:hover{background:var(--gray-100);color:var(--text-primary)}.dialog-body[data-v-f7681341]{padding:16px 20px}.dialog-foot[data-v-f7681341]{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:10px;padding:12px 20px 18px;display:flex}.pwd-error[data-v-f7681341]{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.form-field[data-v-f7681341]{margin-bottom:14px}.form-field[data-v-f7681341]:last-child{margin-bottom:0}.form-label[data-v-f7681341]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input[data-v-f7681341]{border:1px solid var(--border);background:var(--bg);width:100%;height:38px;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:0 12px;font-family:inherit;font-size:14px;transition:all .15s}.form-input[data-v-f7681341]:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.btn-primary[data-v-f7681341]{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;height:36px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn-primary[data-v-f7681341]:hover:not(:disabled){background:#1d4ed8}.btn-primary[data-v-f7681341]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-f7681341]{border:1px solid var(--border);background:var(--card);height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn-secondary[data-v-f7681341]:hover:not(:disabled){background:var(--gray-100)}@keyframes fadeIn-f7681341{0%{opacity:0}to{opacity:1}}@keyframes slideUp-f7681341{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.month-picker-overlay[data-v-f7681341]{z-index:200;background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn-f7681341;display:flex;position:fixed;inset:0}.month-picker-card[data-v-f7681341]{background:var(--card);border-radius:16px;flex-direction:column;width:360px;max-width:90vw;max-height:80vh;animation:.25s cubic-bezier(.22,1,.36,1) slideUp-f7681341;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000026}.month-picker-head[data-v-f7681341]{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.month-picker-title[data-v-f7681341]{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.month-picker-close[data-v-f7681341]{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.month-picker-close[data-v-f7681341]:hover{background:var(--gray-100);color:var(--text-primary)}.month-picker-body[data-v-f7681341]{padding:12px 20px 20px}.year-nav-row[data-v-f7681341]{justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;display:flex}.year-nav-arrow[data-v-f7681341]{border:1px solid var(--border);background:var(--card);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.year-nav-arrow[data-v-f7681341]:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--blue)}.year-nav-label[data-v-f7681341]{color:var(--text-primary);font-size:15px;font-weight:700}.month-grid[data-v-f7681341]{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.month-btn[data-v-f7681341]{border:1px solid var(--border);background:var(--card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:10px 0;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s}.month-btn[data-v-f7681341]:hover{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}.month-btn.active[data-v-f7681341]{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}@media (width<=700px){.header[data-v-f7681341]{gap:6px;height:56px;padding:0 10px}.header-left[data-v-f7681341]{flex:0 0 34px}.logo-icon[data-v-f7681341]{width:34px;height:34px}.logo-text[data-v-f7681341],.nav-label-text[data-v-f7681341],.nav-dropdown-chevron[data-v-f7681341],.user-name-text[data-v-f7681341],.user-dropdown-chevron[data-v-f7681341]{display:none}.header-center[data-v-f7681341]{flex:0 auto;gap:3px;min-width:0}.month-nav-btn[data-v-f7681341]{flex:0 0 26px;width:26px;height:26px}.month-label[data-v-f7681341]{min-width:72px;padding:3px 2px;font-size:12px}.header-right[data-v-f7681341]{flex:none;gap:4px;min-width:0}.nav-dropdown-btn[data-v-f7681341],.user-dropdown-btn[data-v-f7681341]{justify-content:center;width:30px;height:30px;padding:0}.nav-mobile-menu-icon[data-v-f7681341]{flex-shrink:0;display:block}.avatar[data-v-f7681341]{flex-shrink:0;width:26px;height:26px}}.home-page[data-v-a1ddd390]{background:#f5f5f7;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.main-content[data-v-a1ddd390]{max-width:960px;margin:0 auto;padding:48px 24px}.welcome-card[data-v-a1ddd390]{-webkit-backdrop-filter:blur(20px)saturate(180%);text-align:center;background:#ffffffb8;border-radius:24px;padding:56px 48px;animation:.6s cubic-bezier(.22,1,.36,1) forwards cardEnter-a1ddd390;box-shadow:0 4px 24px #0000000a,0 1px 2px #00000005,inset 0 0 0 1px #fff9}@keyframes cardEnter-a1ddd390{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.welcome-illustration[data-v-a1ddd390]{margin-bottom:28px}.illustration-bg[data-v-a1ddd390]{color:#fff;background:linear-gradient(135deg,#007aff 0%,#5856d6 100%);border-radius:24px;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto;display:flex;box-shadow:0 8px 32px #007aff40}.illustration-bg svg[data-v-a1ddd390]{width:48px;height:48px}.welcome-title[data-v-a1ddd390]{color:#1d1d1f;letter-spacing:-.5px;margin:0 0 10px;font-size:32px;font-weight:700}.welcome-desc[data-v-a1ddd390]{color:#86868b;margin:0 0 40px;font-size:16px;line-height:1.5}.quick-actions[data-v-a1ddd390]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;max-width:720px;margin:0 auto;display:grid}.action-card[data-v-a1ddd390]{cursor:pointer;background:#fff9;border:1px solid #0000000a;border-radius:16px;flex-direction:column;align-items:center;gap:10px;min-height:104px;padding:20px 12px;transition:all .25s cubic-bezier(.22,1,.36,1);display:flex}.action-card[data-v-a1ddd390]:hover{background:#fff;transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.action-icon[data-v-a1ddd390]{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.action-icon svg[data-v-a1ddd390]{width:22px;height:22px}.action-label[data-v-a1ddd390]{color:#1d1d1f;font-size:13px;font-weight:500}@media (width<=640px){.quick-actions[data-v-a1ddd390]{grid-template-columns:repeat(2,1fr)}.welcome-card[data-v-a1ddd390]{padding:36px 24px}.welcome-title[data-v-a1ddd390]{font-size:26px}}.login-page[data-v-e1533d0b]{background:linear-gradient(#f5f5f7 0%,#e8e8ed 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.login-card[data-v-e1533d0b]{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffb8;border-radius:20px;width:100%;max-width:400px;padding:48px 40px;animation:.5s cubic-bezier(.22,1,.36,1) forwards cardEnter-e1533d0b;box-shadow:0 4px 24px #0000000a,0 1px 2px #00000005,inset 0 0 0 1px #fff9}@keyframes cardEnter-e1533d0b{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.logo[data-v-e1533d0b]{text-align:center;margin-bottom:36px}.logo-title[data-v-e1533d0b]{color:#1d1d1f;letter-spacing:-.5px;margin:0 0 4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:24px;font-weight:600}.logo-subtitle[data-v-e1533d0b]{color:#86868b;margin:0;font-size:14px;font-weight:400}.login-form[data-v-e1533d0b]{flex-direction:column;gap:16px;display:flex}.form-group[data-v-e1533d0b]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-e1533d0b]{color:#1d1d1f;padding-left:4px;font-size:13px;font-weight:500}.form-group input[data-v-e1533d0b]{color:#1d1d1f;background:#fff9;border:1px solid #00000014;border-radius:10px;outline:none;height:44px;padding:0 14px;font-family:inherit;font-size:15px;transition:all .2s}.form-group input[data-v-e1533d0b]::placeholder{color:#c4c4c4}.form-group input[data-v-e1533d0b]:hover{background:#fffc;border-color:#0000001f}.form-group input[data-v-e1533d0b]:focus{background:#fff;border-color:#007aff;box-shadow:0 0 0 4px #007aff1a}.info-message[data-v-e1533d0b]{color:var(--text-secondary);text-align:center;background:var(--gray-100);border-radius:8px;margin:0;padding:8px 12px;font-size:13px}.error-message[data-v-e1533d0b]{color:#ff3b30;text-align:center;margin:0;font-size:13px;animation:.4s shake-e1533d0b}@keyframes shake-e1533d0b{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.login-btn[data-v-e1533d0b]{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;justify-content:center;align-items:center;height:44px;margin-top:8px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 2px #007aff33}.login-btn[data-v-e1533d0b]:hover:not(:disabled){background:#0066d4;transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.login-btn[data-v-e1533d0b]:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #007aff33}.login-btn[data-v-e1533d0b]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-e1533d0b]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin-e1533d0b}@keyframes spin-e1533d0b{to{transform:rotate(360deg)}}.setup-overlay[data-v-e1533d0b]{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn-e1533d0b;display:flex;position:fixed;inset:0}.setup-card[data-v-e1533d0b]{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffe6;border-radius:20px;width:100%;max-width:400px;padding:36px 32px;animation:.3s cubic-bezier(.22,1,.36,1) forwards slideUp-e1533d0b;box-shadow:0 24px 48px #0000001f,inset 0 0 0 1px #fff9}.setup-head[data-v-e1533d0b]{text-align:center;margin-bottom:28px}.setup-title[data-v-e1533d0b]{color:#1d1d1f;margin:0 0 6px;font-size:18px;font-weight:700}.setup-subtitle[data-v-e1533d0b]{color:#86868b;margin:0;font-size:13px}.setup-form[data-v-e1533d0b]{flex-direction:column;gap:14px;display:flex}@keyframes fadeIn-e1533d0b{0%{opacity:0}to{opacity:1}}@keyframes slideUp-e1533d0b{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
