.toast-wrap[data-v-9409f767]{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast[data-v-9409f767]{border-radius:var(--r-md);background:var(--ink);color:var(--cream);white-space:nowrap;pointer-events:auto;align-items:center;gap:10px;padding:10px 18px;font-size:13px;font-weight:600;display:flex;box-shadow:0 4px 16px #1a223540}.toast.error[data-v-9409f767]{background:var(--paprika)}.toast.success[data-v-9409f767]{background:var(--mint)}.toast-msg[data-v-9409f767]{flex:1}.undo-btn[data-v-9409f767]{border-radius:var(--r-sm);color:inherit;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff59;flex-shrink:0;padding:3px 9px;font-size:12px;font-weight:700;transition:background .15s}.undo-btn[data-v-9409f767]:hover{background:#ffffff61}.close-btn[data-v-9409f767]{width:20px;height:20px;color:inherit;cursor:pointer;opacity:.7;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:opacity .15s,background .15s;display:flex}.close-btn[data-v-9409f767]:hover{opacity:1;background:#ffffff40}.toast-enter-active[data-v-9409f767],.toast-leave-active[data-v-9409f767]{transition:all .2s}.toast-enter-from[data-v-9409f767]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-9409f767]{opacity:0;transform:translateY(-8px)}.nav-sidebar[data-v-c4d5eda9]{background:var(--sidebar-bg);z-index:50;flex-direction:column;flex-shrink:0;width:200px;height:100vh;padding:0 8px 16px;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.nav-sidebar.collapsed[data-v-c4d5eda9]{width:56px}.sidebar-top[data-v-c4d5eda9]{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;margin-bottom:8px;padding:14px 6px 12px;display:flex}.sidebar-brand[data-v-c4d5eda9]{color:var(--sidebar-fg);letter-spacing:-.3px;white-space:nowrap;flex:1;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:900;display:flex;overflow:hidden}.brand-mark[data-v-c4d5eda9]{object-fit:contain;border-radius:5px;flex-shrink:0;width:18px;height:18px;display:block}.brand-name[data-v-c4d5eda9]{max-width:120px;transition:opacity .15s,max-width .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.collapsed .brand-name[data-v-c4d5eda9]{opacity:0;max-width:0}.toggle-btn[data-v-c4d5eda9]{border-radius:var(--r-sm);color:#f5efe466;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.toggle-btn[data-v-c4d5eda9]:hover{color:var(--sidebar-fg);background:#ffffff14}.toggle-icon[data-v-c4d5eda9]{font-size:14px;font-weight:700;line-height:1}.sidebar-nav[data-v-c4d5eda9],.quick-actions[data-v-c4d5eda9],.settings-nav[data-v-c4d5eda9],.user-actions[data-v-c4d5eda9]{flex-direction:column;gap:2px;display:flex}.nav-item[data-v-c4d5eda9]{border-radius:var(--r-sm);color:#f5efe480;white-space:nowrap;text-align:left;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:flex;overflow:hidden}.nav-item[data-v-c4d5eda9]:hover{color:var(--sidebar-fg);background:#ffffff12}.nav-item.active[data-v-c4d5eda9]{color:var(--sidebar-fg);background:#ffffff1c}.nav-item.active .nav-icon[data-v-c4d5eda9]{color:var(--paprika)}.nav-item.danger[data-v-c4d5eda9]{color:#d64545b3}.nav-item.danger[data-v-c4d5eda9]:hover{color:var(--paprika);background:#d645451a}.nav-icon[data-v-c4d5eda9]{text-align:center;flex-shrink:0;width:16px;font-size:13px}.nav-section-label[data-v-c4d5eda9]{color:#f5efe457;letter-spacing:1px;margin:2px 10px 5px;font-size:10px;font-weight:900}.nav-label[data-v-c4d5eda9]{max-width:140px;transition:opacity .15s,max-width .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.collapsed .nav-label[data-v-c4d5eda9]{opacity:0;max-width:0}.sub-nav[data-v-c4d5eda9]{flex-direction:column;gap:1px;margin-top:2px;padding-left:26px;display:flex}.sub-item[data-v-c4d5eda9]{border-radius:var(--r-sm);color:#f5efe466;text-align:left;white-space:nowrap;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.sub-item[data-v-c4d5eda9]:hover{color:#f5efe4bf;background:#ffffff0d}.sub-item.active[data-v-c4d5eda9]{color:var(--sidebar-fg);background:#ffffff14}.sub-item.active .sub-icon[data-v-c4d5eda9]{color:var(--paprika)}.sub-icon[data-v-c4d5eda9]{text-align:center;flex-shrink:0;width:14px;font-size:12px}.section-divider[data-v-c4d5eda9]{background:#ffffff14;flex-shrink:0;height:1px;margin:8px 0}.sidebar-spacer[data-v-c4d5eda9]{flex:1}.user-section[data-v-c4d5eda9]{flex-direction:column;display:flex}.user-info[data-v-c4d5eda9]{align-items:center;gap:9px;padding:6px 10px 4px;display:flex;overflow:hidden}.user-avatar[data-v-c4d5eda9]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.user-avatar.loading[data-v-c4d5eda9]{color:var(--muted);font-size:10px;background:var(--muted-line)!important}.user-text[data-v-c4d5eda9]{max-width:130px;transition:opacity .15s,max-width .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.collapsed .user-text[data-v-c4d5eda9]{opacity:0;max-width:0}.user-name[data-v-c4d5eda9]{color:var(--sidebar-fg);white-space:nowrap;font-size:12px;font-weight:800}.user-role[data-v-c4d5eda9]{color:var(--paprika);text-transform:uppercase;letter-spacing:.8px;margin-top:1px;font-size:9px;font-weight:700}.theme-section[data-v-c4d5eda9]{flex-shrink:0;padding:4px 2px}.theme-cycle-btn[data-v-c4d5eda9]{width:100%}.theme-segment[data-v-c4d5eda9]{border-radius:var(--r-md);background:#ffffff0f;gap:2px;padding:2px;display:flex}.theme-opt[data-v-c4d5eda9]{border-radius:var(--r-sm);color:#f5efe459;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;font-size:10px;font-weight:700;transition:background .15s,color .15s;display:flex}.theme-opt i[data-v-c4d5eda9]{font-size:12px}.theme-opt[data-v-c4d5eda9]:hover{color:#f5efe4b3;background:#ffffff0f}.theme-opt.active[data-v-c4d5eda9]{color:var(--sidebar-fg);background:#ffffff1f}.overlay[data-v-c4d5eda9]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.pw-modal[data-v-c4d5eda9]{background:var(--paper);border:1.5px solid var(--muted-line);border-radius:var(--r-lg);width:100%;max-width:360px;overflow:hidden;box-shadow:0 20px 50px #1a223533}.pw-header[data-v-c4d5eda9]{border-bottom:1.5px solid var(--muted-line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pw-title[data-v-c4d5eda9]{color:var(--ink);font-size:16px;font-weight:900}.pw-close[data-v-c4d5eda9]{color:var(--muted);border-radius:4px;padding:2px 6px;font-size:20px;transition:all .15s}.pw-close[data-v-c4d5eda9]:hover{background:var(--paprika-soft);color:var(--paprika)}.pw-body[data-v-c4d5eda9]{flex-direction:column;gap:14px;padding:20px;display:flex}.field[data-v-c4d5eda9]{flex-direction:column;gap:5px;display:flex}.field-label[data-v-c4d5eda9]{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:600}.field-input[data-v-c4d5eda9]{border:1.5px solid var(--muted-line);border-radius:var(--r-sm);width:100%;color:var(--ink);background:var(--cream);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.field-input[data-v-c4d5eda9]:focus{border-color:var(--ink)}.password-input-wrap[data-v-c4d5eda9]{align-items:center;display:flex;position:relative}.password-input[data-v-c4d5eda9]{padding-right:40px}.password-toggle[data-v-c4d5eda9]{width:28px;height:28px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;position:absolute;right:8px}.password-toggle[data-v-c4d5eda9]:hover{background:var(--muted-line2);color:var(--ink)}.pw-strength[data-v-c4d5eda9]{align-items:center;gap:8px;margin-top:6px;display:flex}.pw-bars[data-v-c4d5eda9]{flex:1;gap:4px;display:flex}.pw-bar[data-v-c4d5eda9]{background:var(--muted-line);border-radius:2px;flex:1;height:3px;transition:background .25s}.pw-label[data-v-c4d5eda9]{letter-spacing:.3px;text-align:right;min-width:22px;font-size:11px;font-weight:700;transition:color .25s}.strength-enter-active[data-v-c4d5eda9],.strength-leave-active[data-v-c4d5eda9]{transition:opacity .2s,transform .2s}.strength-enter-from[data-v-c4d5eda9],.strength-leave-to[data-v-c4d5eda9]{opacity:0;transform:translateY(-4px)}.pw-footer[data-v-c4d5eda9]{border-top:1.5px solid var(--muted-line2);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.pw-cancel[data-v-c4d5eda9]{border-radius:var(--r-sm);border:1.5px solid var(--muted-line);color:var(--muted);padding:9px 16px;font-size:13px;font-weight:700}.pw-submit[data-v-c4d5eda9]{border-radius:var(--r-sm);background:var(--paprika);color:#fff;padding:9px 20px;font-size:13px;font-weight:700;transition:opacity .15s}.pw-submit[data-v-c4d5eda9]:disabled{opacity:.5;cursor:not-allowed}.pw-submit[data-v-c4d5eda9]:hover:not(:disabled){opacity:.85}.overlay-enter-active[data-v-c4d5eda9],.overlay-leave-active[data-v-c4d5eda9]{transition:opacity .22s}.overlay-enter-from[data-v-c4d5eda9],.overlay-leave-to[data-v-c4d5eda9]{opacity:0}.overlay-enter-active .pw-modal[data-v-c4d5eda9]{animation:.28s cubic-bezier(.34,1.56,.64,1) navPwModalIn-c4d5eda9}.overlay-leave-active .pw-modal[data-v-c4d5eda9]{animation:.18s navPwModalOut-c4d5eda9}@keyframes navPwModalIn-c4d5eda9{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes navPwModalOut-c4d5eda9{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(6px)}}.sub-nav-enter-active[data-v-c4d5eda9]{transition:opacity .2s,max-height .26s cubic-bezier(.4,0,.2,1);overflow:hidden}.sub-nav-leave-active[data-v-c4d5eda9]{transition:opacity .15s,max-height .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.sub-nav-enter-from[data-v-c4d5eda9],.sub-nav-leave-to[data-v-c4d5eda9]{opacity:0;max-height:0}.sub-nav-enter-to[data-v-c4d5eda9],.sub-nav-leave-from[data-v-c4d5eda9]{max-height:200px}.mobile-bottom-nav[data-v-c4d5eda9]{display:none}@media (width<=768px){.nav-sidebar[data-v-c4d5eda9]{display:none}.mobile-bottom-nav[data-v-c4d5eda9]{height:var(--mobile-nav-height);background:var(--sidebar-bg);z-index:200;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #ffffff1a;display:flex;position:fixed;bottom:0;left:0;right:0}.mob-item[data-v-c4d5eda9]{color:#f5efe466;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--r-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:9px;font-weight:700;transition:color .15s;display:flex}.mob-item[data-v-c4d5eda9]:hover,.mob-item.active[data-v-c4d5eda9]{color:var(--sidebar-fg)}.mob-item.active .mob-icon[data-v-c4d5eda9]{color:var(--paprika)}.mob-icon[data-v-c4d5eda9]{font-size:17px}.mob-label[data-v-c4d5eda9]{line-height:1}}.shell[data-v-ee5b7a04]{min-height:100vh;display:flex}.shell-body[data-v-ee5b7a04]{flex-direction:column;flex:1;min-width:0;margin-left:200px;transition:margin-left .22s cubic-bezier(.4,0,.2,1);display:flex}.shell-body.collapsed[data-v-ee5b7a04]{margin-left:56px}.offline-banner[data-v-ee5b7a04]{color:#fff;letter-spacing:.1px;z-index:50;background:#d4a72c;flex-shrink:0;align-items:center;gap:7px;padding:8px 20px;font-size:12px;font-weight:700;display:flex}.banner-icon[data-v-ee5b7a04]{font-size:14px}.banner-enter-active[data-v-ee5b7a04],.banner-leave-active[data-v-ee5b7a04]{transition:all .25s}.banner-enter-from[data-v-ee5b7a04],.banner-leave-to[data-v-ee5b7a04]{opacity:0;transform:translateY(-100%)}@media (width<=768px){.shell-body[data-v-ee5b7a04]{padding-bottom:var(--mobile-nav-height);margin-left:0!important}}.app-loading[data-v-b11a6621]{text-align:center;min-height:100dvh;color:var(--ink);background:var(--cream);place-content:center;gap:10px;padding:24px;display:grid}.app-loading__mark[data-v-b11a6621]{justify-content:center;align-items:center;gap:7px;height:28px;margin:0 auto 2px;display:inline-flex}.app-loading__mark span[data-v-b11a6621]{background:var(--paprika);border-radius:999px;width:8px;height:8px;animation:.9s ease-in-out infinite app-loading-bounce-b11a6621}.app-loading__mark span[data-v-b11a6621]:nth-child(2){background:var(--gold);animation-delay:.12s}.app-loading__mark span[data-v-b11a6621]:nth-child(3){background:var(--mint);animation-delay:.24s}.app-loading__brand[data-v-b11a6621]{letter-spacing:0;font-size:20px;font-weight:800}.app-loading__text[data-v-b11a6621]{color:var(--muted);font-size:14px}@keyframes app-loading-bounce-b11a6621{0%,80%,to{opacity:.55;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.app-loading__mark span[data-v-b11a6621]{animation:none}}:root{--sidebar-bg:#1a2235;--sidebar-fg:#f5efe4;--ink:#1a2235;--ink-soft:#2d3852;--cream:#f5efe4;--paper:#faf7f2;--paprika:#d64545;--paprika-soft:#fcf1ef;--mint:#2e7d5b;--mint-soft:#e6f2ec;--gold:#c8932e;--muted:#6b6560;--muted-line:#e4dfd3;--muted-line2:#f0ebde;--font-sans:"Inter", "Noto Sans TC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--page-pad:28px;--card-pad:16px;--r-sm:4px;--r-md:8px;--r-lg:14px;--r-xl:20px;--mobile-nav-height:calc(60px + env(safe-area-inset-bottom,0px))}[data-theme=dark]{--sidebar-bg:#141926;--sidebar-fg:#e8e0d4;--ink:#e4ddd3;--ink-soft:#b8b0a5;--cream:#1c2133;--paper:#232b3e;--paprika:#e05858;--paprika-soft:#2c1818;--mint:#3dab78;--mint-soft:#142519;--gold:#d4a840;--muted:#9a948e;--muted-line:#2e3550;--muted-line2:#252c42}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sidebar-bg:#141926;--sidebar-fg:#e8e0d4;--ink:#e4ddd3;--ink-soft:#b8b0a5;--cream:#1c2133;--paper:#232b3e;--paprika:#e05858;--paprika-soft:#2c1818;--mint:#3dab78;--mint-soft:#142519;--gold:#d4a840;--muted:#9a948e;--muted-line:#2e3550;--muted-line2:#252c42}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--cream);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{cursor:pointer;font:inherit;background:0 0;border:none}input,textarea,select{font:inherit}.app-resuming *,.app-resuming :before,.app-resuming :after{transition:none!important;animation-duration:0s!important;animation-delay:0s!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
