.app-footer[data-v-c31dfb08]{background:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:60px;transition:background .3s,border-color .3s}.footer-main[data-v-c31dfb08]{grid-template-columns:1.5fr 1fr;gap:40px;padding:40px 20px;display:grid}.brand-name[data-v-c31dfb08]{color:var(--text-primary);margin:0 0 12px;font-size:1.5rem;font-weight:700}.brand-desc[data-v-c31dfb08]{color:var(--text-tertiary);margin:0 0 8px;font-size:.9rem}.brand-intro[data-v-c31dfb08]{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.footer-links[data-v-c31dfb08]{grid-template-columns:1fr 1fr;gap:20px;display:grid}.link-group h4[data-v-c31dfb08]{color:var(--text-primary);margin:0 0 16px;font-size:1rem;font-weight:600}.social-icons[data-v-c31dfb08]{gap:16px;display:flex}.social-link[data-v-c31dfb08]{color:var(--text-secondary);align-items:center;gap:6px;font-size:.9rem;text-decoration:none;transition:color .2s;display:flex}.social-link[data-v-c31dfb08]:hover{color:var(--accent)}.link-group ul[data-v-c31dfb08]{margin:0;padding:0;list-style:none}.link-group li[data-v-c31dfb08]{margin-bottom:10px}.link-group a[data-v-c31dfb08],.link-group .router-link-active[data-v-c31dfb08]{color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}.link-group a[data-v-c31dfb08]:hover{color:var(--accent)}.footer-bottom[data-v-c31dfb08]{background:var(--bg-input);text-align:center;color:var(--text-tertiary);border-top:1px solid var(--border-light);padding:16px 20px;font-size:.8rem}.footer-bottom p[data-v-c31dfb08]{margin:4px 0}.beian a[data-v-c31dfb08]{color:var(--text-tertiary);text-decoration:none}.beian a[data-v-c31dfb08]:hover{color:var(--text-secondary)}@media (width<=768px){.footer-main[data-v-c31dfb08]{text-align:center;grid-template-columns:1fr;gap:32px}.footer-links[data-v-c31dfb08]{grid-template-columns:1fr;gap:24px}.social-icons[data-v-c31dfb08]{justify-content:center}}.header[data-v-6de77f38]{background:var(--bg-secondary);box-shadow:var(--shadow);z-index:100;transition:background .3s,box-shadow .3s;position:sticky;top:0}.header-inner[data-v-6de77f38]{align-items:center;max-width:1464px;height:56px;margin:0 auto;padding:0 20px;display:flex;position:relative}.header-actions[data-v-6de77f38]{align-items:center;gap:12px;display:flex}.hamburger[data-v-6de77f38]{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;padding:0;display:none}.hamburger span[data-v-6de77f38]{background:var(--text-primary);border-radius:2px;width:100%;height:2px;transition:all .3s;display:block}.logo[data-v-6de77f38]{flex-shrink:0}.logo img[data-v-6de77f38]{width:auto;height:36px}.nav-center[data-v-6de77f38]{flex:1;justify-content:center;align-items:center;gap:20px;margin:0 24px;display:flex}.nav-center a[data-v-6de77f38]{color:var(--text-primary);white-space:nowrap;font-size:.95rem;text-decoration:none;transition:color .2s}.nav-center a[data-v-6de77f38]:hover{color:var(--accent)}.nav-center a.router-link-active[data-v-6de77f38]{color:var(--accent);font-weight:600}.search-box[data-v-6de77f38]{background:var(--bg-input);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;transition:background .3s;display:flex}.search-box input[data-v-6de77f38]{width:120px;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.85rem}.search-box input[data-v-6de77f38]::placeholder{color:var(--text-tertiary)}.search-btn[data-v-6de77f38]{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.search-btn:hover svg path[data-v-6de77f38]{fill:#2c54fb}.nav-admin[data-v-6de77f38]{color:var(--accent);flex-shrink:0;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-admin[data-v-6de77f38]:hover{color:var(--accent)}.user-menu[data-v-6de77f38]{align-items:center;gap:12px;display:flex}.user-name[data-v-6de77f38]{color:var(--text-primary);font-weight:600}.user-profile-link[data-v-6de77f38]{color:var(--accent);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.user-profile-link[data-v-6de77f38]:hover{color:var(--accent-hover);text-decoration:underline}.nav-logout[data-v-6de77f38]{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;padding:4px 12px;font-size:.85rem;transition:all .2s}.nav-logout[data-v-6de77f38]:hover{color:#fff;background:#f44336;border-color:#f44336}.nav-login[data-v-6de77f38]{color:var(--accent);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-login[data-v-6de77f38]:hover{color:var(--accent-hover)}.theme-toggle[data-v-6de77f38]{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.2rem;transition:background .2s}.theme-toggle[data-v-6de77f38]:hover{background:var(--bg-input)}.mobile-menu[data-v-6de77f38]{background:var(--bg-secondary);box-shadow:var(--shadow-lg);z-index:200;flex-direction:column;gap:16px;padding:16px 20px;display:none;position:absolute;top:56px;left:0;right:0}.mobile-menu a[data-v-6de77f38]{color:var(--text-primary);border-bottom:1px solid var(--border-light);padding:8px 0;font-size:1.1rem;font-weight:500;text-decoration:none}.mobile-menu a[data-v-6de77f38]:hover{color:var(--accent)}.mobile-search[data-v-6de77f38]{margin-top:8px}.mobile-search input[data-v-6de77f38]{border:1px solid var(--border-color);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:12px;font-size:1rem}@media (width<=768px){.nav-center[data-v-6de77f38]{display:none}.hamburger[data-v-6de77f38],.mobile-menu[data-v-6de77f38]{display:flex}.nav-admin[data-v-6de77f38]{font-size:.9rem}}.error-boundary[data-v-c3ccdbfc]{justify-content:center;align-items:center;min-height:200px;padding:20px;display:flex}.error-content[data-v-c3ccdbfc]{text-align:center;background:var(--bg-secondary);box-shadow:var(--shadow);border-radius:16px;width:100%;max-width:400px;padding:24px}.error-icon[data-v-c3ccdbfc]{margin-bottom:16px;font-size:3rem}h3[data-v-c3ccdbfc]{color:var(--text-primary);margin-bottom:8px}.error-message[data-v-c3ccdbfc]{color:var(--text-secondary);word-break:break-all;margin-bottom:20px;font-size:.9rem}.btn-retry[data-v-c3ccdbfc]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:background .2s}.btn-retry[data-v-c3ccdbfc]:hover{background:var(--accent-hover)}:root{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-input:#f0f0f0;--bg-hover:#f8f8f8;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--border-color:#e5e5e5;--border-light:#f0f0f0;--accent:#2c54fb;--accent-hover:#1a42e6;--accent-light:#2c54fb1a;--shadow:0 2px 8px #00000014;--shadow-lg:0 8px 24px #0000001f;--success:#34c759;--warning:#ff9500;--error:#ff3b30;--scrollbar-bg:#f1f1f1;--scrollbar-thumb:silver;--scrollbar-thumb-hover:#a0a0a0}:root.dark{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-input:#21262d;--bg-hover:#1c2128;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-tertiary:#6e7681;--border-color:#30363d;--border-light:#21262d;--accent:#58a6ff;--accent-hover:#79b8ff;--accent-light:#58a6ff26;--shadow:0 2px 8px #0000004d;--shadow-lg:0 8px 24px #0006;--success:#3fb950;--warning:#d29922;--error:#f85149;--scrollbar-bg:#161b22;--scrollbar-thumb:#30363d;--scrollbar-thumb-hover:#484f58}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.6;transition:background-color .3s,color .3s}a{color:var(--text-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}img{max-width:100%;height:auto}.container{max-width:1464px;margin:0 auto;padding:0 20px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--secondary{background:var(--bg-input);color:var(--text-secondary)}.btn--secondary:hover{background:var(--bg-hover)}.tag{background:var(--bg-input);color:var(--text-secondary);border-radius:12px;padding:2px 10px;font-size:.8rem}.badge{border-radius:12px;padding:3px 10px;font-size:.8rem;font-weight:600}.badge--green{color:var(--success);background:#2e7d3226}.badge--red{color:var(--error);background:#c6282826}.badge--orange{color:var(--warning);background:#e6510026}.empty-state{text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:12px;padding:40px}.empty-state a{color:var(--accent);font-weight:600}.card{background:var(--bg-secondary);box-shadow:var(--shadow);border:1px solid var(--border-light);border-radius:12px;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}input,textarea,select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}
