.toast-container[data-v-2fa43903]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast[data-v-2fa43903]{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 18px;background:#1d1d1feb;color:#fff;border-radius:var(--radius-full);font-size:13px;font-weight:500;box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;animation:toast-in var(--dur) var(--ease);max-width:86vw}.toast--success svg[data-v-2fa43903]{color:#30d158}.toast--error svg[data-v-2fa43903]{color:#ff453a}.toast--info svg[data-v-2fa43903]{color:#64d2ff}.toast__msg[data-v-2fa43903]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-enter-active,.toast-leave-active{transition:all .28s var(--ease)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-14px) scale(.94)}.app[data-v-b892493b]{height:100%}.mobile-nav[data-v-b892493b]{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:stretch;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border-soft)}.mobile-nav__item[data-v-b892493b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-3);transition:color var(--dur-fast) var(--ease)}.mobile-nav__item.active[data-v-b892493b]{color:var(--accent)}.mobile-nav__icon-wrap[data-v-b892493b]{position:relative;display:flex}.mobile-nav__badge[data-v-b892493b]{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--danger);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.mobile-nav__label[data-v-b892493b]{font-size:10px;font-weight:500}.mobile-nav__compose[data-v-b892493b]{flex:0 0 auto;width:52px;margin:-18px 8px 0;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #0071e366;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.mobile-nav__compose[data-v-b892493b]:active{transform:scale(.92)}.more-mask[data-v-b892493b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#00000040;display:flex;align-items:flex-end}.more-sheet[data-v-b892493b]{width:100%;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));animation:slide-up var(--dur) var(--ease);box-shadow:var(--shadow-lg)}.more-sheet__title[data-v-b892493b]{font-size:12px;font-weight:600;color:var(--text-3);padding:8px 8px 12px;text-transform:uppercase;letter-spacing:.4px}.more-sheet__account[data-v-b892493b]{display:flex;align-items:center;gap:10px;padding:12px 10px;border-bottom:1px solid var(--border-soft);margin-bottom:8px}.more-sheet__avatar[data-v-b892493b]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#5e5ce6,#af52de);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.more-sheet__account-info[data-v-b892493b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.more-sheet__account-name[data-v-b892493b]{font-size:14px;font-weight:600}.more-sheet__account-email[data-v-b892493b]{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-sheet__logout[data-v-b892493b]{padding:7px 14px;border-radius:var(--radius-full);background:var(--danger-soft);color:var(--danger);font-size:12px;font-weight:600;flex-shrink:0}.more-sheet__admin-badge[data-v-b892493b]{margin-left:auto;font-size:10px;font-weight:600;color:#fff;background:var(--star);border-radius:var(--radius-full);padding:1px 8px}.more-sheet__item[data-v-b892493b]{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;border-radius:var(--radius-md);font-size:15px;font-weight:500;color:var(--text-1);transition:background var(--dur-fast) var(--ease)}.more-sheet__item[data-v-b892493b]:hover{background:var(--surface-3)}.more-sheet__item svg[data-v-b892493b]{color:var(--text-2)}.more-sheet__item .badge[data-v-b892493b]{margin-left:auto}@media(min-width:768px){.mobile-nav[data-v-b892493b],.more-mask[data-v-b892493b]{display:none}}:root{--bg: #f5f5f7;--surface: #ffffff;--surface-2: #fbfbfd;--surface-3: #f0f0f2;--text-1: #1d1d1f;--text-2: #6e6e73;--text-3: #86868b;--accent: #0071e3;--accent-hover: #0077ed;--accent-soft: rgba(0, 113, 227, .1);--danger: #ff3b30;--danger-soft: rgba(255, 59, 48, .1);--success: #34c759;--success-soft: rgba(52, 199, 89, .12);--star: #ff9500;--border: #d2d2d7;--border-soft: rgba(0, 0, 0, .08);--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 6px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .14);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Inter, sans-serif;--ease: cubic-bezier(.32, .72, 0, 1);--dur-fast: .15s;--dur: .22s;--dur-slow: .32s;--sidebar-w: 232px;--list-w: 400px;--topbar-h: 56px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;overflow:hidden}button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0000002e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#00000047}::-webkit-scrollbar-track{background:transparent}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);color:var(--accent);transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);cursor:pointer;flex-shrink:0}.icon-btn:hover{background:var(--accent-soft)}.icon-btn:active{transform:scale(.92)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-danger{color:var(--danger)}.icon-btn.is-danger:hover{background:var(--danger-soft)}.icon-btn.is-starred{color:var(--star)}.icon-btn.is-starred:hover{background:#ff95001f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 18px;border-radius:var(--radius-full);font-size:14px;font-weight:500;transition:all var(--dur-fast) var(--ease);cursor:pointer;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 10px #0071e359}.btn-secondary{background:var(--surface);color:var(--text-1);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.btn-ghost{color:var(--accent)}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#e02e24}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--text-2)}.text-input{width:100%;height:42px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.text-input:focus,.text-area:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.text-area{width:100%;min-height:120px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);resize:vertical;line-height:1.7;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 7px;border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:11px;font-weight:600;line-height:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 24px;text-align:center;color:var(--text-3);animation:fade-in var(--dur) var(--ease)}.empty-state__icon{width:84px;height:84px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-3);margin-bottom:4px}.empty-state__title{font-size:17px;font-weight:600;color:var(--text-1)}.empty-state__desc{font-size:13px;max-width:260px}.skeleton{position:relative;overflow:hidden;background:var(--surface-3);border-radius:var(--radius-xs)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all var(--dur-slow) var(--ease)}.slide-up-leave-active{transition:all var(--dur-fast) var(--ease)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.spinner{width:22px;height:22px;border:2.5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@media(max-width:767px){:root{--sidebar-w: 0px;--list-w: 100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
