.topbar[data-v-dfe6b4fa]{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid transparent;height:var(--topbar-height);transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease}.topbar.scrolled[data-v-dfe6b4fa]{background:#ffffffb8;backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border-bottom-color:var(--color-border)}[data-theme=dark] .topbar.scrolled[data-v-dfe6b4fa]{background:#1e1e1ea6}.topbar-inner[data-v-dfe6b4fa]{width:100%;max-width:var(--content-max-width);height:100%;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.topbar-brand[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);flex-shrink:0;transition:color .3s ease}.brand-icon[data-v-dfe6b4fa]{font-size:var(--text-xl);color:var(--color-primary-600)}.topbar-right[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);position:relative}.icon-btn[data-v-dfe6b4fa]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-btn);color:var(--color-text-secondary);font-size:20px;transition:all var(--transition-fast)}.icon-btn[data-v-dfe6b4fa]:hover{background:var(--color-bg);color:var(--color-text-primary)}.notify-switcher[data-v-dfe6b4fa],.notify-btn[data-v-dfe6b4fa]{position:relative}.notify-badge[data-v-dfe6b4fa]{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-danger);color:var(--color-on-primary);font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.notify-panel[data-v-dfe6b4fa]{position:absolute;top:calc(100% + var(--space-2));right:0;width:360px;max-width:calc(100vw - 24px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden}.notify-header[data-v-dfe6b4fa]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.notify-title[data-v-dfe6b4fa]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.notify-mark-all[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-primary-600);transition:color var(--transition-fast)}.notify-mark-all[data-v-dfe6b4fa]:hover{color:var(--color-primary-700)}.notify-list[data-v-dfe6b4fa]{max-height:360px;overflow-y:auto}.notify-item[data-v-dfe6b4fa]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);position:relative}.notify-item[data-v-dfe6b4fa]:hover{background:var(--color-bg)}.notify-item.unread[data-v-dfe6b4fa]{background:var(--color-primary-50)}.notify-item.unread[data-v-dfe6b4fa]:hover{background:var(--color-primary-100)}.notify-item-icon[data-v-dfe6b4fa]{font-size:20px;flex-shrink:0;margin-top:2px}.notify-item-body[data-v-dfe6b4fa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notify-item-title[data-v-dfe6b4fa]{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.notify-item-desc[data-v-dfe6b4fa]{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.notify-item-time[data-v-dfe6b4fa]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.notify-dot[data-v-dfe6b4fa]{width:8px;height:8px;border-radius:50%;background:var(--color-primary-600);flex-shrink:0;margin-top:6px}.notify-footer[data-v-dfe6b4fa]{display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;padding:var(--space-3);font-size:var(--text-sm);color:var(--color-primary-600);font-weight:500;border-top:1px solid var(--color-border-light);transition:background var(--transition-fast)}.notify-footer[data-v-dfe6b4fa]:hover{background:var(--color-bg)}.theme-switcher[data-v-dfe6b4fa]{position:relative}.theme-menu[data-v-dfe6b4fa]{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:200}.theme-option[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.theme-option[data-v-dfe6b4fa]:hover{background:var(--color-bg);color:var(--color-text-primary)}.theme-option.active[data-v-dfe6b4fa]{color:var(--color-primary-600);font-weight:500}.check-icon[data-v-dfe6b4fa]{margin-left:auto;font-size:16px}.user-switcher[data-v-dfe6b4fa]{position:relative}.user-area[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.user-area[data-v-dfe6b4fa]:hover{background:var(--color-bg)}.user-avatar[data-v-dfe6b4fa]{width:28px;height:28px;border-radius:var(--radius-avatar);background:var(--color-primary-50);color:var(--color-primary-600);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden}.user-avatar img[data-v-dfe6b4fa]{width:100%;height:100%;object-fit:cover}.user-name[data-v-dfe6b4fa]{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.user-chevron[data-v-dfe6b4fa]{font-size:18px;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.user-chevron.open[data-v-dfe6b4fa]{transform:rotate(180deg)}.user-menu[data-v-dfe6b4fa]{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:200}.menu-header[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.menu-avatar[data-v-dfe6b4fa]{width:36px;height:36px;border-radius:var(--radius-avatar);background:var(--color-primary-50);color:var(--color-primary-600);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.menu-avatar img[data-v-dfe6b4fa]{width:100%;height:100%;object-fit:cover}.menu-user-info[data-v-dfe6b4fa]{display:flex;flex-direction:column;gap:2px}.menu-user-name[data-v-dfe6b4fa]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.menu-user-role[data-v-dfe6b4fa]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.menu-divider[data-v-dfe6b4fa]{height:1px;background:var(--color-border-light);margin:var(--space-1) 0}.menu-item[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.menu-item[data-v-dfe6b4fa]:hover{background:var(--color-bg);color:var(--color-text-primary)}.menu-item.danger[data-v-dfe6b4fa]{color:var(--color-danger)}.menu-item.danger[data-v-dfe6b4fa]:hover{background:var(--color-danger-bg)}.login-btn[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-btn);background:var(--color-primary-600);color:var(--color-on-primary);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast)}.login-btn[data-v-dfe6b4fa]:hover{background:var(--color-primary-700)}.dropdown-enter-active[data-v-dfe6b4fa]{transition:all .2s ease}.dropdown-leave-active[data-v-dfe6b4fa]{transition:all .15s ease}.dropdown-enter-from[data-v-dfe6b4fa],.dropdown-leave-to[data-v-dfe6b4fa]{opacity:0;transform:translateY(-8px)}@media(max-width:768px){.topbar-inner[data-v-dfe6b4fa]{padding:0 var(--space-3)}.brand-text[data-v-dfe6b4fa],.user-name[data-v-dfe6b4fa],.user-chevron[data-v-dfe6b4fa]{display:none}.notify-panel[data-v-dfe6b4fa]{position:fixed;top:var(--topbar-height);left:0;right:0;width:100%;max-width:100%;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:151}.notify-list[data-v-dfe6b4fa]{max-height:50vh}.user-menu[data-v-dfe6b4fa]{position:fixed;top:var(--topbar-height);left:var(--space-3);right:var(--space-3);width:auto;max-width:none;z-index:151}.theme-menu[data-v-dfe6b4fa]{position:fixed;top:var(--topbar-height);right:var(--space-3);z-index:151}}.notify-divider[data-v-dfe6b4fa]{height:1px;background:var(--color-border);margin:0 var(--space-3)}.notify-pending-count[data-v-dfe6b4fa]{font-size:var(--text-xs);background:var(--color-warning);color:var(--color-on-primary);padding:1px 7px;border-radius:10px;font-weight:600}.pending-item[data-v-dfe6b4fa]{cursor:pointer}.pending-item[data-v-dfe6b4fa]:hover{background:var(--color-bg)}.notify-dot.warn[data-v-dfe6b4fa]{background:var(--color-warning)}.notify-empty[data-v-dfe6b4fa]{padding:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary)}.action-modal-mask[data-v-dfe6b4fa]{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.action-modal[data-v-dfe6b4fa]{width:460px;max-width:calc(100vw - 40px);max-height:85vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0003;padding:var(--space-6)}@media(max-width:768px){.action-modal-mask[data-v-dfe6b4fa]{align-items:flex-end}.action-modal[data-v-dfe6b4fa]{width:100%;max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-4)}}.am-header[data-v-dfe6b4fa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.am-type-tag[data-v-dfe6b4fa]{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:2px 10px;border-radius:var(--radius-sm);font-weight:500}.am-tag-contract[data-v-dfe6b4fa]{background:var(--color-primary-bg);color:var(--color-primary-600)}.am-tag-traffic[data-v-dfe6b4fa]{background:#f5f3ff;color:#7c3aed}.am-tag-city[data-v-dfe6b4fa]{background:var(--color-success-bg);color:var(--color-success)}.am-tag-other[data-v-dfe6b4fa]{background:var(--color-bg);color:var(--color-text-secondary)}.am-close[data-v-dfe6b4fa]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:18px;cursor:pointer}.am-close[data-v-dfe6b4fa]:hover{background:var(--color-bg);color:var(--color-text-primary)}.am-title[data-v-dfe6b4fa]{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.4}.am-meta[data-v-dfe6b4fa]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);flex-wrap:wrap}.am-meta-icon[data-v-dfe6b4fa]{font-size:16px}.am-date[data-v-dfe6b4fa]{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:auto}.am-detail[data-v-dfe6b4fa]{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.7;padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.am-actions[data-v-dfe6b4fa]{display:flex;gap:var(--space-3)}.am-btn[data-v-dfe6b4fa]{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--text-base);font-weight:600;border-radius:var(--radius-btn);cursor:pointer;transition:all var(--transition-fast);border:none}.am-btn.agree[data-v-dfe6b4fa]{background:var(--color-success);color:var(--color-on-primary)}.am-btn.agree[data-v-dfe6b4fa]:hover{background:#16a34a}.am-btn.reject[data-v-dfe6b4fa]{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.am-btn.reject[data-v-dfe6b4fa]:hover{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.am-btn.detail[data-v-dfe6b4fa]{background:transparent;color:var(--color-primary-600);border:1px solid var(--color-primary-300)}.am-btn.detail[data-v-dfe6b4fa]:hover{background:var(--color-primary-50)}.modal-enter-active[data-v-dfe6b4fa]{transition:all .2s ease}.modal-leave-active[data-v-dfe6b4fa]{transition:all .15s ease}.modal-enter-from[data-v-dfe6b4fa],.modal-leave-to[data-v-dfe6b4fa]{opacity:0}.modal-enter-from .action-modal[data-v-dfe6b4fa]{transform:scale(.95) translateY(8px)}.site-footer[data-v-392fb5b9]{background:var(--color-white);border-top:1px solid var(--color-border);padding:var(--space-6) 0 var(--space-5);margin-top:auto}.footer-inner[data-v-392fb5b9]{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-6)}.footer-notice[data-v-392fb5b9]{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.footer-notice-icon[data-v-392fb5b9]{font-size:20px;color:var(--color-warning);flex-shrink:0}.footer-notice-body[data-v-392fb5b9]{flex:1;min-width:0}.footer-notice-heading[data-v-392fb5b9]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;height:20px}.footer-notice-text[data-v-392fb5b9]{margin:2px 0 0;font-size:var(--text-xs);line-height:1.7;color:var(--color-text-secondary)}.footer-divider[data-v-392fb5b9]{height:1px;background:var(--color-border-light);margin:var(--space-5) 0 var(--space-4)}.footer-mc[data-v-392fb5b9]{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0 0 var(--space-1)}.footer-copy[data-v-392fb5b9]{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}@media(max-width:768px){.site-footer[data-v-392fb5b9]{padding:var(--space-4) 0 var(--space-4)}.footer-inner[data-v-392fb5b9]{padding:0 var(--space-3)}.footer-notice[data-v-392fb5b9]{padding:var(--space-3);gap:var(--space-2)}.footer-notice-icon[data-v-392fb5b9]{font-size:18px}.footer-divider[data-v-392fb5b9]{margin:var(--space-3) 0 var(--space-2)}}.toast-host[data-v-e9a32d26]{position:fixed;top:calc(var(--space-5, 20px) + 56px);right:var(--space-5, 20px);z-index:4000;display:flex;flex-direction:column;gap:var(--space-2, 8px);max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toast-item[data-v-e9a32d26]{display:flex;align-items:flex-start;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-md, 8px);background:var(--color-bg-elevated, #fff);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 6px 20px #0000001f;font-size:var(--text-sm, 13px);line-height:1.5;color:var(--color-text-primary, #111827);pointer-events:auto;cursor:pointer}.toast-icon[data-v-e9a32d26]{font-size:18px;flex-shrink:0;margin-top:1px}.toast-msg[data-v-e9a32d26]{flex:1;word-break:break-word}.toast-close[data-v-e9a32d26]{border:none;background:none;cursor:pointer;padding:0;color:var(--color-text-tertiary, #9ca3af);display:flex;flex-shrink:0}.toast-item.success[data-v-e9a32d26]{border-color:var(--color-success, #16a34a)}.toast-item.success .toast-icon[data-v-e9a32d26]{color:var(--color-success, #16a34a)}.toast-item.error[data-v-e9a32d26]{border-color:var(--color-danger, #dc2626)}.toast-item.error .toast-icon[data-v-e9a32d26]{color:var(--color-danger, #dc2626)}.toast-item.info .toast-icon[data-v-e9a32d26]{color:var(--color-primary-600, #2563eb)}.toast-enter-active[data-v-e9a32d26],.toast-leave-active[data-v-e9a32d26]{transition:opacity .22s ease,transform .22s ease}.toast-enter-from[data-v-e9a32d26],.toast-leave-to[data-v-e9a32d26]{opacity:0;transform:translate(16px)}.fm-backdrop[data-v-48ee071d]{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;background:#00000059;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.fm-card[data-v-48ee071d]{width:520px;max-width:calc(100vw - 32px);max-height:85vh;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000026,0 0 0 1px #00000008;overflow:hidden}.fm-head[data-v-48ee071d]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.fm-title[data-v-48ee071d]{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.fm-title svg[data-v-48ee071d]{font-size:20px;color:var(--color-primary-600)}.fm-close[data-v-48ee071d]{font-size:20px;color:var(--color-text-tertiary);padding:2px;border-radius:var(--radius-sm);flex-shrink:0}.fm-close[data-v-48ee071d]:hover{background:var(--color-bg);color:var(--color-text-primary)}.fm-body[data-v-48ee071d]{flex:1;overflow-y:auto;padding:var(--space-4)}.fm-foot[data-v-48ee071d]{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);flex-shrink:0}.fm-shortcut[data-v-48ee071d]{margin:0;padding:0 var(--space-4) var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:right;flex-shrink:0}.modal-enter-active[data-v-48ee071d]{transition:all .2s ease}.modal-leave-active[data-v-48ee071d]{transition:all .15s ease}.modal-enter-from[data-v-48ee071d],.modal-leave-to[data-v-48ee071d]{opacity:0}.modal-enter-from .fm-card[data-v-48ee071d],.modal-leave-to .fm-card[data-v-48ee071d]{transform:scale(.95) translateY(8px)}@media(max-width:768px){.fm-backdrop[data-v-48ee071d]{padding-top:0;align-items:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fm-card[data-v-48ee071d]{width:100%;max-width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:fm-slide-up-48ee071d .2s ease}.fm-body[data-v-48ee071d],.fm-head[data-v-48ee071d]{padding:var(--space-3)}.fm-foot[data-v-48ee071d]{padding:var(--space-2) var(--space-3)}.modal-enter-from .fm-card[data-v-48ee071d],.modal-leave-to .fm-card[data-v-48ee071d]{transform:translateY(100%)}}@keyframes fm-slide-up-48ee071d{0%{transform:translateY(100%)}to{transform:translateY(0)}}.df-body[data-v-d69f424f]{display:flex;flex-direction:column;gap:var(--space-3)}.df-msg[data-v-d69f424f]{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.df-actions[data-v-d69f424f]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.sbtn.danger[data-v-d69f424f]{background:var(--color-danger)}.sbtn.danger[data-v-d69f424f]:hover{background:var(--color-danger);opacity:.9}.search-box[data-v-b00cd925]{position:relative;width:100%;max-width:600px;margin:0 auto}.search-icon[data-v-b00cd925]{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);font-size:20px;color:var(--color-text-tertiary);pointer-events:none;z-index:2}.search-input[data-v-b00cd925]{width:100%;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-10);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);outline:none;transition:all var(--transition-fast)}.search-input[data-v-b00cd925]::placeholder{color:var(--color-text-tertiary)}.search-input[data-v-b00cd925]:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-focus-ring)}.search-clear[data-v-b00cd925]{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:18px;padding:var(--space-1);border-radius:var(--radius-sm)}.search-clear[data-v-b00cd925]:hover{color:var(--color-text-primary);background:var(--color-bg)}.search-dropdown[data-v-b00cd925]{top:calc(100% + var(--space-2));left:0;right:0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100;position:absolute}.search-cursor[data-v-b00cd925]{position:absolute;left:0;right:0;top:0;height:0;background:var(--color-primary-50);transition:transform .2s cubic-bezier(.33,1.22,.68,1),height .18s cubic-bezier(0,0,.58,1),opacity .15s ease;pointer-events:none}.search-empty[data-v-b00cd925]{padding:var(--space-6) var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.search-empty svg[data-v-b00cd925]{font-size:22px;color:var(--color-text-tertiary)}.search-empty-tip[data-v-b00cd925]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.search-empty-tip code[data-v-b00cd925],.search-tip code[data-v-b00cd925]{font-family:var(--font-mono);font-size:11px;background:var(--color-bg);padding:1px 4px;border-radius:var(--radius-sm)}.search-tip[data-v-b00cd925]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-light);background:var(--color-bg);font-size:var(--text-xs);color:var(--color-text-tertiary);position:relative}.search-tip span[data-v-b00cd925]{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.search-tip svg[data-v-b00cd925]{font-size:13px}.search-item[data-v-b00cd925]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast);text-align:left;position:relative;animation:search-item-in-b00cd925 .2s cubic-bezier(0,0,.58,1) both}.search-item.no-target[data-v-b00cd925]{cursor:default}.search-item[data-v-b00cd925]:last-child{border-bottom:none}.search-item[data-v-b00cd925]:hover{background:var(--color-primary-50)}.search-item.no-target[data-v-b00cd925]:hover{background:none}.search-item-icon[data-v-b00cd925]{font-size:18px;color:var(--color-primary-600);flex-shrink:0}.search-item-main[data-v-b00cd925]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.search-item-label[data-v-b00cd925]{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-label[data-v-b00cd925] mark{background:var(--color-primary-50);color:var(--color-primary-700);border-radius:2px;padding:0 1px}.search-item-parent[data-v-b00cd925]{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-parent[data-v-b00cd925] mark{background:var(--color-primary-50);color:var(--color-primary-700);border-radius:2px;padding:0 1px}.search-item-note[data-v-b00cd925]{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.search-item-note>span[data-v-b00cd925]:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-field[data-v-b00cd925]{flex-shrink:0;padding:0 4px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-tertiary)}.search-item-note[data-v-b00cd925] mark{background:var(--color-primary-50);color:var(--color-primary-700);border-radius:2px;padding:0 1px}.search-item.active[data-v-b00cd925]{border-bottom-color:transparent}.search-item.active[data-v-b00cd925],.search-item.active .search-item-parent[data-v-b00cd925]{color:var(--color-text-primary)}@keyframes search-item-in-b00cd925{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.dropdown-enter-active[data-v-b00cd925]{transition:opacity .2s cubic-bezier(0,0,.58,1),transform .2s cubic-bezier(0,0,.58,1)}.dropdown-leave-active[data-v-b00cd925]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-b00cd925],.dropdown-leave-to[data-v-b00cd925]{opacity:0;transform:translateY(-6px) scale(.985)}.search-item-type[data-v-b00cd925]{flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg);padding:1px 6px;border-radius:var(--radius-sm)}.search-box.is-overlay[data-v-b00cd925]{max-width:none}.search-box.is-overlay .search-input[data-v-b00cd925]{box-shadow:var(--shadow-lg)}.search-box.is-overlay .search-input[data-v-b00cd925]:focus{box-shadow:var(--shadow-lg),0 0 0 3px var(--color-focus-ring)}.search-box.is-overlay .search-dropdown[data-v-b00cd925]{max-height:min(58vh,420px);overflow-y:auto;overscroll-behavior:contain}@media(max-width:768px){.search-box[data-v-b00cd925]{max-width:100%}.search-tip span.search-tip-py[data-v-b00cd925]{display:none}}.gs-mask[data-v-66311445]{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-start;justify-content:center;padding:13vh var(--space-4) 0;background-color:var(--overlay-mask);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));touch-action:none}.gs-panel[data-v-66311445]{width:620px;max-width:100%;touch-action:pan-y}.gs-enter-active[data-v-66311445]{transition:background-color .22s cubic-bezier(0,0,.58,1),backdrop-filter .22s cubic-bezier(0,0,.58,1),-webkit-backdrop-filter .22s cubic-bezier(0,0,.58,1)}.gs-leave-active[data-v-66311445]{transition:background-color .15s ease,backdrop-filter .15s ease,-webkit-backdrop-filter .15s ease}.gs-enter-from[data-v-66311445]{background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}.gs-enter-active .gs-panel[data-v-66311445]{transition:opacity .2s cubic-bezier(0,0,.58,1),transform .2s cubic-bezier(0,0,.58,1)}.gs-leave-active .gs-panel[data-v-66311445]{transition:opacity .15s ease,transform .15s ease}.gs-enter-from .gs-panel[data-v-66311445],.gs-leave-to .gs-panel[data-v-66311445]{opacity:0;transform:translateY(-6px) scale(.985)}.app-shell[data-v-6a3e18d2]{display:flex;flex-direction:column;min-height:100vh}.app-content[data-v-6a3e18d2]{flex:1;width:100%}.route-fade-enter-active[data-v-6a3e18d2]{transition:opacity .2s ease,transform .2s ease}.route-fade-leave-active[data-v-6a3e18d2]{transition:opacity .15s ease,transform .15s ease}.route-fade-enter-from[data-v-6a3e18d2]{opacity:0;transform:translateY(6px)}.route-fade-leave-to[data-v-6a3e18d2]{opacity:0;transform:translateY(-4px)}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #1a56db;--color-primary-700: #1e40af;--color-primary-800: #1e3a8a;--color-primary-900: #172554;--color-white: #ffffff;--color-bg: #f3f4f6;--color-bg-subtle: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-link: #1a56db;--color-success: #059669;--color-success-bg: #ecfdf5;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-info: #1a56db;--color-info-bg: #eff6ff;--color-on-primary: #ffffff;--color-server-online: #00a870;--color-server-online-glow: rgba(0, 168, 112, .15);--color-notice-bg: #fff7ed;--color-notice-border: #fed7aa;--color-notice-icon: #f97316;--color-notice-heading: #c2410c;--color-notice-text: #9a3412;--color-status-pending-text: #92400e;--color-status-pending-bg: #fef3c7;--color-status-approved-text: #065f46;--color-status-approved-bg: #d1fae5;--color-status-rejected-text: #991b1b;--color-status-rejected-bg: #fee2e2;--color-credit-excellent: #059669;--color-credit-good: #d97706;--color-credit-fair: #ea580c;--color-credit-poor: #dc2626;--color-focus-ring: rgba(59, 130, 246, .15);--color-divider-soft: #f3f3f3;--overlay-mask: rgba(0, 0, 0, .35);--overlay-blur: 10px;--color-bg-elevated: #ffffff;--color-primary-bg: #eff6ff;--color-success-50: #f0fdf4;--color-success-200: #bbf7d0;--color-danger-50: #fef2f2;--color-danger-200: #fecaca;--color-orange-bg: #fff3e0;--color-orange-fg: #e65100;--color-purple-bg: #f3e5f5;--color-purple-fg: #7b1fa2;--color-blue-bg: #e3f2fd;--color-blue-fg: #1565c0;--color-warning-fg: #92400e;--color-warning-border: #fcd34d;--color-power-pass: #f59e0b;--color-veto: #7c3aed;--color-rank-gold-bg: #fbbf24;--color-rank-gold-fg: #7c4a03;--color-rank-silver-bg: #cbd5e1;--color-rank-silver-fg: #334155;--color-rank-bronze-bg: #d97706;--color-rank-bronze-fg: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-blue: 0 4px 14px 0 rgba(30, 64, 175, .15);--shadow-blue-lg: 0 12px 24px -4px rgba(30, 64, 175, .2);--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-btn: var(--radius-md);--radius-avatar: 20%;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--topbar-height: 52px;--content-max-width: 1100px;--sidebar-width: 280px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--color-skeleton-base: #e9ecf0;--color-skeleton-sheen: rgba(255, 255, 255, .5);--tag-c-red-bg: hsl(0 85% 95%);--tag-c-red-fg: hsl(0 62% 30%);--tag-c-red-bd: hsl(0 75% 86%);--tag-c-orange-bg: hsl(20 85% 95%);--tag-c-orange-fg: hsl(20 62% 30%);--tag-c-orange-bd: hsl(20 75% 86%);--tag-c-amber-bg: hsl(35 85% 95%);--tag-c-amber-fg: hsl(35 62% 30%);--tag-c-amber-bd: hsl(35 75% 86%);--tag-c-yellow-bg: hsl(50 85% 95%);--tag-c-yellow-fg: hsl(50 62% 30%);--tag-c-yellow-bd: hsl(50 75% 86%);--tag-c-lime-bg: hsl(75 85% 95%);--tag-c-lime-fg: hsl(75 62% 30%);--tag-c-lime-bd: hsl(75 75% 86%);--tag-c-green-bg: hsl(100 85% 95%);--tag-c-green-fg: hsl(100 62% 30%);--tag-c-green-bd: hsl(100 75% 86%);--tag-c-emerald-bg: hsl(130 85% 95%);--tag-c-emerald-fg: hsl(130 62% 30%);--tag-c-emerald-bd: hsl(130 75% 86%);--tag-c-teal-bg: hsl(160 85% 95%);--tag-c-teal-fg: hsl(160 62% 30%);--tag-c-teal-bd: hsl(160 75% 86%);--tag-c-cyan-bg: hsl(185 85% 95%);--tag-c-cyan-fg: hsl(185 62% 30%);--tag-c-cyan-bd: hsl(185 75% 86%);--tag-c-sky-bg: hsl(205 85% 95%);--tag-c-sky-fg: hsl(205 62% 30%);--tag-c-sky-bd: hsl(205 75% 86%);--tag-c-blue-bg: hsl(225 85% 95%);--tag-c-blue-fg: hsl(225 62% 30%);--tag-c-blue-bd: hsl(225 75% 86%);--tag-c-indigo-bg: hsl(250 85% 95%);--tag-c-indigo-fg: hsl(250 62% 30%);--tag-c-indigo-bd: hsl(250 75% 86%);--tag-c-violet-bg: hsl(275 85% 95%);--tag-c-violet-fg: hsl(275 62% 30%);--tag-c-violet-bd: hsl(275 75% 86%);--tag-c-purple-bg: hsl(300 85% 95%);--tag-c-purple-fg: hsl(300 62% 30%);--tag-c-purple-bd: hsl(300 75% 86%);--tag-c-fuchsia-bg: hsl(325 85% 95%);--tag-c-fuchsia-fg: hsl(325 62% 30%);--tag-c-fuchsia-bd: hsl(325 75% 86%);--tag-c-pink-bg: hsl(345 85% 95%);--tag-c-pink-fg: hsl(345 62% 30%);--tag-c-pink-bd: hsl(345 75% 86%);color-scheme:light;--theme-transition: background-color .2s ease, color .2s ease, border-color .2s ease}[data-theme=dark]{--color-primary-50: #172554;--color-primary-100: #1e3a8a;--color-primary-200: #1e40af;--color-primary-300: #1a56db;--color-primary-400: #3b82f6;--color-primary-500: #60a5fa;--color-primary-600: #93c5fd;--color-primary-700: #bfdbfe;--color-primary-800: #dbeafe;--color-primary-900: #eff6ff;--color-white: #1a1a1a;--color-bg: #121212;--color-bg-subtle: #1a1a1a;--color-surface: #1e1e1e;--color-border: #333333;--color-border-light: #2a2a2a;--color-skeleton-base: #2b2b2b;--color-skeleton-sheen: rgba(255, 255, 255, .07);color-scheme:dark;--tag-c-red-bg: hsl(0 42% 20%);--tag-c-red-fg: hsl(0 85% 78%);--tag-c-red-bd: hsl(0 38% 30%);--tag-c-orange-bg: hsl(20 42% 20%);--tag-c-orange-fg: hsl(20 85% 78%);--tag-c-orange-bd: hsl(20 38% 30%);--tag-c-amber-bg: hsl(35 42% 20%);--tag-c-amber-fg: hsl(35 85% 78%);--tag-c-amber-bd: hsl(35 38% 30%);--tag-c-yellow-bg: hsl(50 42% 20%);--tag-c-yellow-fg: hsl(50 85% 78%);--tag-c-yellow-bd: hsl(50 38% 30%);--tag-c-lime-bg: hsl(75 42% 20%);--tag-c-lime-fg: hsl(75 85% 78%);--tag-c-lime-bd: hsl(75 38% 30%);--tag-c-green-bg: hsl(100 42% 20%);--tag-c-green-fg: hsl(100 85% 78%);--tag-c-green-bd: hsl(100 38% 30%);--tag-c-emerald-bg: hsl(130 42% 20%);--tag-c-emerald-fg: hsl(130 85% 78%);--tag-c-emerald-bd: hsl(130 38% 30%);--tag-c-teal-bg: hsl(160 42% 20%);--tag-c-teal-fg: hsl(160 85% 78%);--tag-c-teal-bd: hsl(160 38% 30%);--tag-c-cyan-bg: hsl(185 42% 20%);--tag-c-cyan-fg: hsl(185 85% 78%);--tag-c-cyan-bd: hsl(185 38% 30%);--tag-c-sky-bg: hsl(205 42% 20%);--tag-c-sky-fg: hsl(205 85% 78%);--tag-c-sky-bd: hsl(205 38% 30%);--tag-c-blue-bg: hsl(225 42% 20%);--tag-c-blue-fg: hsl(225 85% 78%);--tag-c-blue-bd: hsl(225 38% 30%);--tag-c-indigo-bg: hsl(250 42% 20%);--tag-c-indigo-fg: hsl(250 85% 78%);--tag-c-indigo-bd: hsl(250 38% 30%);--tag-c-violet-bg: hsl(275 42% 20%);--tag-c-violet-fg: hsl(275 85% 78%);--tag-c-violet-bd: hsl(275 38% 30%);--tag-c-purple-bg: hsl(300 42% 20%);--tag-c-purple-fg: hsl(300 85% 78%);--tag-c-purple-bd: hsl(300 38% 30%);--tag-c-fuchsia-bg: hsl(325 42% 20%);--tag-c-fuchsia-fg: hsl(325 85% 78%);--tag-c-fuchsia-bd: hsl(325 38% 30%);--tag-c-pink-bg: hsl(345 42% 20%);--tag-c-pink-fg: hsl(345 85% 78%);--tag-c-pink-bd: hsl(345 38% 30%);--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .6);--color-text-tertiary: rgba(255, 255, 255, .38);--color-text-link: #60a5fa;--color-success: #34d399;--color-success-bg: rgba(16, 185, 129, .12);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .12);--color-danger: #f87171;--color-danger-bg: rgba(248, 113, 113, .12);--color-info: #60a5fa;--color-info-bg: rgba(96, 165, 250, .12);--color-bg-elevated: #242424;--color-primary-bg: rgba(147, 197, 253, .14);--color-success-50: rgba(52, 211, 153, .14);--color-success-200: rgba(52, 211, 153, .32);--color-danger-50: rgba(248, 113, 113, .14);--color-danger-200: rgba(248, 113, 113, .32);--color-orange-bg: rgba(251, 146, 60, .16);--color-orange-fg: #fdba74;--color-purple-bg: rgba(167, 139, 250, .16);--color-purple-fg: #c4b5fd;--color-blue-bg: rgba(96, 165, 250, .16);--color-blue-fg: #93c5fd;--color-warning-fg: #fbbf24;--color-warning-border: rgba(251, 191, 36, .4);--color-power-pass: #fbbf24;--color-veto: #a78bfa;--color-rank-gold-bg: rgba(251, 191, 36, .22);--color-rank-gold-fg: #fcd34d;--color-rank-silver-bg: rgba(203, 213, 225, .2);--color-rank-silver-fg: #cbd5e1;--color-rank-bronze-bg: rgba(217, 119, 6, .24);--color-rank-bronze-fg: #fbbf24;--color-on-primary: #0b1220;--color-server-online: #34d399;--color-server-online-glow: rgba(52, 211, 153, .2);--color-notice-bg: rgba(251, 146, 60, .1);--color-notice-border: rgba(251, 146, 60, .3);--color-notice-icon: #fb923c;--color-notice-heading: #fdba74;--color-notice-text: #fcd34d;--color-status-pending-text: #fcd34d;--color-status-pending-bg: rgba(251, 191, 36, .12);--color-status-approved-text: #6ee7b7;--color-status-approved-bg: rgba(16, 185, 129, .12);--color-status-rejected-text: #fca5a5;--color-status-rejected-bg: rgba(248, 113, 113, .12);--color-credit-excellent: #34d399;--color-credit-good: #fbbf24;--color-credit-fair: #fb923c;--color-credit-poor: #f87171;--color-focus-ring: rgba(96, 165, 250, .2);--color-divider-soft: #2a2a2a;--overlay-mask: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .45), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .35);--shadow-blue: 0 4px 14px 0 rgba(96, 165, 250, .15);--shadow-blue-lg: 0 12px 24px -4px rgba(96, 165, 250, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg);min-height:100vh;transition:var(--theme-transition)}#app{width:100%;min-height:100vh}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary-600);cursor:pointer}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}[data-theme=dark] input[type=number],[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=time],[data-theme=dark] input[type=month],[data-theme=dark] input[type=week]{color-scheme:dark}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator{filter:invert(.85)}[data-theme=dark] input[type=number]::-webkit-inner-spin-button,[data-theme=dark] input[type=number]::-webkit-outer-spin-button{filter:invert(.85)}[data-theme=dark] input[type=search]::-webkit-search-cancel-button{filter:invert(.85)}[data-theme=dark] select{color-scheme:dark}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),[data-theme=dark] textarea,[data-theme=dark] select{background:var(--color-surface);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 0 0 var(--color-server-online-glow)}50%{opacity:.8;box-shadow:0 0 0 6px transparent}}@keyframes route-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.page{min-height:100vh;background:var(--color-bg)}.page-shell{padding:var(--topbar-height) var(--space-6) var(--space-12);max-width:var(--content-max-width);margin:0 auto}@media(max-width:768px){.page-shell{padding:var(--topbar-height) var(--space-3) var(--space-8)}}.page-header{padding:var(--space-4)0 var(--space-5);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.page-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-btn);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.back-btn:hover{color:var(--color-primary-600);background:var(--color-primary-50)}.btn-ghost{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{background:var(--color-bg);color:var(--color-text-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-4)}.card-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.card-title svg{font-size:18px;color:var(--color-primary-600)}.card-desc{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.g2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.g2{grid-template-columns:1fr}}.sbtn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-btn);background:var(--color-primary-600);color:var(--color-on-primary);font-size:var(--text-base);font-weight:500;transition:all var(--transition-fast);width:auto;align-self:flex-start}.sbtn:hover{background:var(--color-primary-700)}.tag{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.tag-green{background:var(--color-success-bg);color:var(--color-success)}.tag-yellow{background:var(--color-warning-bg);color:var(--color-warning)}.tag-red{background:var(--color-danger-bg);color:var(--color-danger)}.tag-orange{background:var(--color-orange-bg);color:var(--color-orange-fg)}.tag-blue{background:var(--color-blue-bg);color:var(--color-blue-fg)}.tag-purple{background:var(--color-purple-bg);color:var(--color-purple-fg)}.tag-gray{background:var(--color-bg);color:var(--color-text-secondary)}.fhint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}.fe{font-size:var(--text-xs);color:var(--color-danger);margin-top:-2px}.empty-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12);color:var(--color-text-tertiary);font-size:var(--text-sm)}.empty-card svg{font-size:40px}.fg{display:flex;flex-direction:column;gap:4px;margin-bottom:calc(var(--space-4) + 8px)}.fl{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);margin:0}.fi{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-surface);outline:none;width:100%;box-sizing:border-box;margin:0!important}.fi:focus{border-color:var(--color-primary-500)}.rq{color:var(--color-danger)}.ta{resize:vertical;font-family:inherit}.err{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-3)}.err svg{font-size:16px}.expand-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.expand-wrap.open{grid-template-rows:1fr}.expand-wrap>.expand-inner{overflow:hidden}button:active{transform:scale(.97);transition:transform .1s ease}
