.am-icon[data-v-cf2c0b99]{vertical-align:-.125em;flex-shrink:0;display:inline-block}.toast[data-v-8ba6f052]{z-index:10000;cursor:pointer;box-shadow:var(--shadow-lg);color:#fff;border-radius:8px;align-items:center;gap:8px;min-width:200px;max-width:90vw;padding:12px 24px;font-size:14px;font-weight:500;transition:opacity .3s;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast-info[data-v-8ba6f052]{background:var(--accent)}.toast-success[data-v-8ba6f052]{background:var(--green)}.toast-error[data-v-8ba6f052]{background:var(--red)}.toast-warning[data-v-8ba6f052]{background:var(--orange)}.toast-icon[data-v-8ba6f052]{font-size:16px}.toast-msg[data-v-8ba6f052]{flex:1}.toast-close[data-v-8ba6f052]{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 4px;font-size:18px}.toast-close[data-v-8ba6f052]:hover{opacity:1}@media (width<=768px){.toast[data-v-8ba6f052]{max-width:calc(100vw - 16px);padding:10px 16px;font-size:13px;top:12px;left:8px;right:8px;transform:none}.toast-msg[data-v-8ba6f052]{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 80px);overflow:hidden}}.brand-logo[data-v-b90527f0]{object-fit:contain;flex:none;display:block}.qr-scanner-overlay[data-v-500adbec]{z-index:3000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-scanner-container[data-v-500adbec]{background:#000;border-radius:16px;flex-direction:column;width:100%;max-width:420px;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.qr-top-bar[data-v-500adbec]{width:100%;max-width:420px;padding:max(12px, env(safe-area-inset-top)) 12px 8px;z-index:9999;box-sizing:border-box;background:linear-gradient(#000000f2,#000000b3);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.qr-hint-text[data-v-500adbec]{color:#fff9;padding-left:8px;font-size:14px;font-weight:600}.qr-close-btn[data-v-500adbec]{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ef444466;border:2px solid #ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.qr-close-btn[data-v-500adbec]:active{background:#ef4444b3;transform:scale(.95)}.qr-error[data-v-500adbec]{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.qr-error-icon[data-v-500adbec]{width:72px;height:72px;color:var(--red);background:#ef444433;border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.qr-error-text[data-v-500adbec]{color:#fff;margin:0;font-size:16px;font-weight:600}.qr-error-hint[data-v-500adbec]{color:#fff9;max-width:280px;margin:0;font-size:13px;line-height:1.5}.qr-loading-text[data-v-500adbec]{color:#fff9;font-size:13px}.qr-scanner-viewport-wrapper[data-v-500adbec]{background:#000;flex:1;width:100%;margin-top:56px;position:relative;overflow:hidden}.qr-scanner-viewport[data-v-500adbec]{width:100%;height:100%;position:relative}.qr-scanner-viewport[data-v-500adbec] #qr-shaded-region{pointer-events:none!important;border-color:#0000!important}.qr-scan-frame[data-v-500adbec]{z-index:10;pointer-events:none;width:300px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qr-scan-frame[data-v-500adbec]:before{content:"";border-top:3px solid #22c55ee6;border-left:3px solid #22c55ee6;border-radius:2px 0 0 2px;width:36px;height:36px;position:absolute;top:0;left:0}.qr-scan-frame[data-v-500adbec]:after{content:"";border-bottom:3px solid #22c55ee6;border-right:3px solid #22c55ee6;border-radius:0 0 2px 2px;width:36px;height:36px;position:absolute;bottom:0;right:0}.qr-scan-frame-inner[data-v-500adbec]{width:100%;height:100%;position:relative}.qr-scan-frame-inner[data-v-500adbec]:before{content:"";border-top:3px solid #22c55ee6;border-right:3px solid #22c55ee6;border-radius:0 2px 2px 0;width:36px;height:36px;position:absolute;top:0;right:0}.qr-scan-frame-inner[data-v-500adbec]:after{content:"";border-bottom:3px solid #22c55ee6;border-left:3px solid #22c55ee6;border-radius:2px 0 0 2px;width:36px;height:36px;position:absolute;bottom:0;left:0}.qr-scan-line[data-v-500adbec]{filter:drop-shadow(0 0 4px #22c55e99);background:linear-gradient(90deg,#0000 30%,#22c55ee6 50%,#0000 70%);height:2px;animation:2.2s ease-in-out infinite qrScanLine-500adbec;position:absolute;left:4px;right:4px}@keyframes qrScanLine-500adbec{0%{opacity:.7;top:4px}50%{opacity:1;top:calc(100% - 4px)}to{opacity:.7;top:4px}}@media (width<=380px){.qr-scan-frame[data-v-500adbec]{width:260px;height:260px}}.qr-focus-ring[data-v-500adbec]{z-index:15;pointer-events:none;border:2px solid #ffffffe6;border-radius:50%;width:60px;height:60px;animation:.8s ease-out forwards focusRingPulse-500adbec;position:absolute}.qr-focus-ring-inner[data-v-500adbec]{border:1.5px solid #22c55eb3;border-radius:50%;animation:.8s ease-out forwards focusRingInner-500adbec;position:absolute;inset:4px}@keyframes focusRingPulse-500adbec{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(.4)}}@keyframes focusRingInner-500adbec{0%{opacity:.9;transform:scale(1.2)}to{opacity:0;transform:scale(.3)}}.qr-scanner-controls[data-v-500adbec]{padding:14px 16px;padding-bottom:max(14px, env(safe-area-inset-bottom));background:#000000e6;flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.qr-ctrl-btn[data-v-500adbec]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:#fff!important;background:#ffffff1a!important;border-color:#ffffff4d!important;border-radius:10px!important;padding:10px 16px!important;font-size:14px!important}.qr-ctrl-btn--big[data-v-500adbec]{padding:12px 20px!important;font-size:15px!important}.qr-ctrl-btn--close[data-v-500adbec]{background:#ef444459!important;border-color:#ef444499!important}.qr-ctrl-btn--active[data-v-500adbec]{color:var(--yellow)!important;background:#facc1540!important;border-color:#facc1599!important}.qr-ctrl-btn[data-v-500adbec]:active{background:#ffffff40!important}.qr-scan-toast[data-v-500adbec]{z-index:20;color:#fff;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:200px;padding:16px 28px;animation:.25s ease-out toastIn-500adbec;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.toast-icon[data-v-500adbec]{font-size:32px;line-height:1}.toast-body[data-v-500adbec]{flex-direction:column;align-items:center;gap:2px;display:flex}.toast-sn[data-v-500adbec]{opacity:.95;letter-spacing:.5px;font-family:monospace;font-size:15px;font-weight:700}.toast-name[data-v-500adbec]{opacity:.85;font-size:13px;font-weight:500}.qr-scan-toast.ok[data-v-500adbec]{background:#22c55eeb;box-shadow:0 4px 24px #22c55e80}.qr-scan-toast.warn[data-v-500adbec]{background:#f59e0beb;box-shadow:0 4px 24px #f59e0b80}.qr-scan-toast.error[data-v-500adbec]{background:#ef4444eb;box-shadow:0 4px 24px #ef444480}.qr-scan-toast.leaving[data-v-500adbec]{animation:.3s ease-in forwards toastOut-500adbec}@keyframes toastIn-500adbec{0%{opacity:0;transform:translate(-50%,-50%)translateY(-12px)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)translateY(0)scale(1)}}@keyframes toastOut-500adbec{0%{opacity:1;transform:translate(-50%,-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%,-50%)translateY(-12px)scale(.9)}}@media (width<=768px){.qr-scanner-container[data-v-500adbec]{border-radius:0;max-width:100%}.qr-top-bar[data-v-500adbec]{max-width:100%}}.global-search[data-v-46dd5a1f]{position:relative}.search-trigger[data-v-46dd5a1f]{background:var(--surface2);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-width:250px;padding:8px 12px;font-size:12px;transition:border-color .2s,background .2s;display:flex}.search-trigger[data-v-46dd5a1f]:hover{border-color:var(--accent);background:var(--surface2);color:var(--text)}.search-placeholder[data-v-46dd5a1f]{text-align:left;flex:1}.search-kbd[data-v-46dd5a1f]{background:var(--bg);border:1px solid var(--border);color:var(--text2);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}.search-overlay[data-v-46dd5a1f]{z-index:9999;background:#00000080;justify-content:center;padding-top:15vh;display:flex;position:fixed;inset:0}.search-modal[data-v-46dd5a1f]{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:560px;max-height:480px;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.search-input-wrap[data-v-46dd5a1f]{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-input-icon[data-v-46dd5a1f]{color:var(--text2);flex-shrink:0}.search-input[data-v-46dd5a1f]{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.search-input[data-v-46dd5a1f]::placeholder{color:var(--text3)}.search-spinner[data-v-46dd5a1f]{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-46dd5a1f}@keyframes spin-46dd5a1f{to{transform:rotate(360deg)}}.search-esc[data-v-46dd5a1f]{background:var(--surface2);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:11px}.search-scan-btn[data-v-46dd5a1f]{background:var(--surface2);border:1px solid var(--border);width:32px;height:32px;color:var(--text2);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,color .2s;display:flex}.search-scan-btn[data-v-46dd5a1f]:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.search-results[data-v-46dd5a1f]{background:var(--surface);flex:1;padding:4px 0;overflow-y:auto}.search-empty[data-v-46dd5a1f]{text-align:center;color:var(--text2);padding:32px 16px;font-size:13px}.search-group[data-v-46dd5a1f]{padding:4px 0}.search-group-title[data-v-46dd5a1f]{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:6px 16px 4px;font-size:11px;font-weight:600}.search-item[data-v-46dd5a1f]{cursor:pointer;flex-direction:column;gap:2px;padding:8px 16px;transition:background .1s;display:flex}.search-item[data-v-46dd5a1f]:hover,.search-item-active[data-v-46dd5a1f]{background:var(--surface2)}.search-item-title[data-v-46dd5a1f]{color:var(--text);font-size:13px;font-weight:500}.search-item-title[data-v-46dd5a1f] mark{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:2px;padding:0 1px}.search-item-subtitle[data-v-46dd5a1f]{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-footer[data-v-46dd5a1f]{color:var(--text2);border-top:1px solid var(--border);text-align:center;background:var(--surface);padding:8px 16px;font-size:11px}.search-hints[data-v-46dd5a1f]{color:var(--text2);background:var(--surface);justify-content:center;gap:24px;padding:24px 16px;font-size:12px;display:flex}.search-hint-item[data-v-46dd5a1f]{align-items:center;gap:4px;display:flex}.search-hint-item kbd[data-v-46dd5a1f]{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}@media (width<=640px){.search-trigger[data-v-46dd5a1f]{min-width:0}.search-placeholder[data-v-46dd5a1f],.search-kbd[data-v-46dd5a1f]{display:none}.search-overlay[data-v-46dd5a1f]{padding-top:8vh}.search-modal[data-v-46dd5a1f]{width:95%}}.app-shell[data-v-77c388c8]{background:var(--bg);height:100dvh;display:flex;overflow:hidden}.sidebar[data-v-77c388c8]{background:var(--nav-bg);border-right:1px solid var(--nav-border);z-index:110;flex-direction:column;flex:0 0 232px;width:232px;height:100dvh;transition:width .2s,flex-basis .2s,transform .2s;display:flex;overflow:hidden}.sidebar-brand[data-v-77c388c8]{border-bottom:1px solid var(--nav-border);white-space:nowrap;flex:none;align-items:center;gap:12px;height:84px;padding:0 22px;display:flex}.brand-mark[data-v-77c388c8]{border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.brand-name[data-v-77c388c8]{color:var(--nav-brand);letter-spacing:.5px;font-size:17px;font-weight:650}.brand-name>span[data-v-77c388c8]{letter-spacing:1.4px;color:var(--nav-muted);margin-top:3px;font-size:8px;font-weight:500;display:block}.sidebar-nav[data-v-77c388c8]{scrollbar-width:thin;scrollbar-color:var(--nav-scrollbar) transparent;flex:1;padding:22px 14px 8px;overflow-y:auto}.nav-group[data-v-77c388c8]{margin-bottom:22px}.nav-group-title[data-v-77c388c8]{color:var(--nav-muted);letter-spacing:1.5px;white-space:nowrap;padding:0 12px 8px;font-size:10px;font-weight:600}.side-link[data-v-77c388c8]{min-height:40px;color:var(--nav-text);white-space:nowrap;border-radius:7px;align-items:center;gap:12px;margin:3px 0;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.side-link[data-v-77c388c8]:hover{background:var(--nav-hover-bg);color:var(--nav-hover-text)}.side-link.active[data-v-77c388c8]{background:var(--nav-active-bg);color:var(--nav-active);font-weight:600}.side-link.active[data-v-77c388c8]:after{content:"";background:var(--nav-active);border-radius:50%;flex:none;width:5px;height:5px;margin-left:auto}.side-link-name[data-v-77c388c8]{text-overflow:ellipsis;overflow:hidden}.sidebar-footer[data-v-77c388c8]{border-top:1px solid var(--nav-border);padding:16px 20px}.workspace-label[data-v-77c388c8]{color:var(--nav-muted);white-space:nowrap;align-items:center;gap:9px;margin-bottom:12px;font-size:10px;display:flex}.sidebar-collapse[data-v-77c388c8]{color:var(--nav-text);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;font-size:11px;display:flex}.sidebar-collapse[data-v-77c388c8]:hover{color:var(--nav-active)}.app-main[data-v-77c388c8]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar[data-v-77c388c8]{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex:0 0 68px;align-items:center;gap:20px;height:68px;padding:0 32px;display:flex}.page-breadcrumb[data-v-77c388c8]{white-space:nowrap;align-items:center;gap:12px;font-size:12px;display:flex}.breadcrumb-group[data-v-77c388c8],.breadcrumb-divider[data-v-77c388c8]{color:var(--text3)}.page-breadcrumb strong[data-v-77c388c8]{color:var(--text);font-weight:600}.topbar-tools[data-v-77c388c8]{align-items:center;gap:16px;margin-left:auto;display:flex}.topbar-theme[data-v-77c388c8]{width:34px;height:34px;color:var(--text2);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.topbar-theme[data-v-77c388c8]:hover{background:var(--surface2);color:var(--accent)}.mobile-menu-toggle[data-v-77c388c8]{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text2);cursor:pointer;border-radius:7px;flex:none;place-items:center;padding:0;display:none}.app-content[data-v-77c388c8]{--content-padding-top:30px;width:min(100%,1600px);min-height:0;padding:var(--content-padding-top) 32px 40px;scrollbar-gutter:stable;flex:1;margin:0 auto;overflow:hidden auto}.sidebar-collapsed .sidebar[data-v-77c388c8]{flex-basis:76px;width:76px}.sidebar-collapsed .sidebar-brand[data-v-77c388c8]{padding:0 20px}.sidebar-collapsed .brand-name[data-v-77c388c8],.sidebar-collapsed .nav-group-title[data-v-77c388c8],.sidebar-collapsed .side-link-name[data-v-77c388c8],.sidebar-collapsed .workspace-label[data-v-77c388c8],.sidebar-collapsed .sidebar-collapse span[data-v-77c388c8]{display:none}.sidebar-collapsed .nav-group[data-v-77c388c8]{margin-bottom:16px}.sidebar-collapsed .side-link[data-v-77c388c8]{justify-content:center;padding:10px}.sidebar-collapsed .side-link.active[data-v-77c388c8]:after{display:none}.sidebar-collapsed .sidebar-footer[data-v-77c388c8]{padding:16px 30px}.sidebar-mask[data-v-77c388c8],.auth-page .sidebar[data-v-77c388c8],.auth-page .topbar[data-v-77c388c8]{display:none}.auth-page .app-content[data-v-77c388c8]{width:100%;max-width:none;padding:0;overflow:auto}.user-section[data-v-77c388c8]{border-left:1px solid var(--border);margin-left:0;padding-left:18px}.user-dropdown[data-v-77c388c8]{flex-shrink:0;position:relative}.user-trigger[data-v-77c388c8]{cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:4px;transition:background .15s;display:flex}.user-trigger[data-v-77c388c8]:hover{background:var(--surface2)}.user-avatar[data-v-77c388c8]{border:1px solid var(--border);width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.user-identity[data-v-77c388c8]{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.username[data-v-77c388c8]{color:var(--text);text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.user-caption[data-v-77c388c8]{color:var(--text3);font-size:10px}.user-arrow[data-v-77c388c8]{color:var(--text3);margin-left:8px;transition:transform .2s}.user-dropdown.open .user-arrow[data-v-77c388c8]{transform:rotate(180deg)}.user-dropdown-menu[data-v-77c388c8]{background:var(--surface);border:1px solid var(--border);min-width:210px;max-height:70vh;box-shadow:var(--shadow-lg);z-index:200;border-radius:10px;padding:6px;display:none;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto}.user-dropdown.open .user-dropdown-menu[data-v-77c388c8]{display:block}.user-info[data-v-77c388c8]{padding:12px 10px}.user-name[data-v-77c388c8]{color:var(--text);font-size:14px;font-weight:600}.user-role[data-v-77c388c8]{color:var(--text3);margin-top:3px;font-size:12px}.user-dropdown-divider[data-v-77c388c8]{background:var(--border);height:1px;margin:4px 0}.user-dropdown-item[data-v-77c388c8]{width:100%;color:var(--text2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.user-dropdown-item[data-v-77c388c8]:hover{background:var(--surface2);color:var(--text)}.user-dropdown-item.active[data-v-77c388c8]{background:var(--accent-soft);color:var(--accent)}.user-dropdown-item.logout-item[data-v-77c388c8]:hover{background:var(--red-soft);color:var(--red)}.unread-badge[data-v-77c388c8]{color:#fff;text-align:center;pointer-events:none;background:#af5755;border-radius:5px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:600;line-height:18px}.sidebar-collapsed .unread-badge[data-v-77c388c8]{position:absolute;top:0;right:0}@media (width<=1100px){.topbar[data-v-77c388c8]{gap:14px;padding:0 24px}.breadcrumb-group[data-v-77c388c8],.breadcrumb-divider[data-v-77c388c8]{display:none}.app-content[data-v-77c388c8]{--content-padding-top:24px;padding:var(--content-padding-top) 24px}}@media (width<=900px){.sidebar[data-v-77c388c8]{box-shadow:var(--shadow-lg);position:fixed;left:0;transform:translate(-100%)}.sidebar.open[data-v-77c388c8]{transform:translate(0)}.sidebar-collapse[data-v-77c388c8]{display:none}.sidebar-collapsed .sidebar[data-v-77c388c8]{flex-basis:232px;width:232px}.sidebar-collapsed .brand-name[data-v-77c388c8],.sidebar-collapsed .nav-group-title[data-v-77c388c8],.sidebar-collapsed .side-link-name[data-v-77c388c8]{display:initial}.sidebar-collapsed .sidebar-brand[data-v-77c388c8]{padding:0 22px}.sidebar-collapsed .side-link[data-v-77c388c8]{justify-content:flex-start;padding:9px 12px}.sidebar-mask[data-v-77c388c8]{z-index:105;background:#0c1e257a;display:block;position:fixed;inset:0}.mobile-menu-toggle[data-v-77c388c8]{display:grid}.topbar[data-v-77c388c8]{flex-basis:60px;gap:12px;height:60px;padding:0 16px}.topbar-tools[data-v-77c388c8]{gap:8px}.user-section[data-v-77c388c8]{padding-left:10px}.user-identity[data-v-77c388c8],.user-arrow[data-v-77c388c8]{display:none}.app-content[data-v-77c388c8]{--content-padding-top:20px;padding:var(--content-padding-top) 16px 28px}}@media (width<=640px){.topbar[data-v-77c388c8]{gap:10px}.page-breadcrumb[data-v-77c388c8]{font-size:12px}.user-section[data-v-77c388c8]{padding-left:8px}.topbar-tools[data-v-77c388c8]{gap:4px}}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .2s,transform .2s}.page-fade-enter-from{opacity:0;transform:translateY(8px)}.page-fade-leave-to{opacity:0;transform:translateY(-8px)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101c22;--surface:#17272e;--surface2:#20343c;--border:#2d424b;--border-light:#48616b;--text:#e9f1f3;--text2:#b0c3ca;--text3:#8ca6b0;--accent:#47c5b1;--accent2:#70d8c7;--accent-soft:#47c5b11f;--green:#65c59b;--green-soft:#65c59b1f;--red:#f18a8a;--red-soft:#f18a8a1f;--yellow:#e9c26d;--yellow-soft:#e9c26d1f;--orange:#e9ad6f;--orange-soft:#e9ad6f1f;--cyan:#67c8d7;--cyan-soft:#67c8d71f;--blue:#87b4ed;--blue-soft:#87b4ed1f;--gray:#a5b5bc;--gray-soft:#a5b5bc1f;--emerald:var(--green);--emerald-soft:var(--green-soft);--table-row-hover:#223941;--radius:12px;--radius-sm:7px;--shadow:0 2px 5px #00000014;--shadow-lg:0 16px 48px #00000047;--btn-primary-hover:#67d5c3;--btn-primary-bg:#47c5b1;--btn-primary-text:#102c29;--btn-status-text:#102c29;--btn-success-hover:#48ae83;--btn-danger-hover:#e47474;--select-bg-dark:#20343c;--select-text-dark:#e9f1f3;--select-bg-light:#fff;--select-text-light:#213740;--nav-bg:#152b33;--nav-brand:#f0f7f8;--nav-hover-bg:#ffffff0d;--nav-hover-text:#f0f7f8;--nav-scrollbar:#35505b;--nav-active-bg:#26483f;--nav-text:#acbec5;--nav-muted:#7e99a4;--nav-active:#9ae5d7;--nav-border:#cbe3e91a}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f9fcfb;--surface:#fff;--surface2:#fcfefd;--border:#e4eeea;--border-light:#cbded7;--text:#213740;--text2:#516b76;--text3:#5d747d;--accent:#137d71;--accent2:#137d71;--accent-soft:#eaf6f1;--green:#238258;--green-soft:#eaf5ee;--red:#c24e50;--red-soft:#fceeee;--yellow:#967220;--yellow-soft:#fbf5e6;--orange:#a66a25;--orange-soft:#fbf1e6;--cyan:#237f94;--cyan-soft:#e8f4f7;--blue:#437aaf;--blue-soft:#edf3fb;--gray:#6c828c;--gray-soft:#eef2f3;--table-row-hover:#eef7f4;--shadow:0 2px 5px #1a394006;--shadow-lg:0 16px 48px #1a39401f;--btn-primary-bg:#eaf6f1;--btn-primary-hover:#d8eee4;--btn-primary-text:#10675e;--btn-status-text:#fff;--btn-success-hover:#1c6d49;--btn-danger-hover:#ae4042;--nav-bg:#f5fbf8;--nav-brand:#213740;--nav-text:#516b76;--nav-muted:#5d747d;--nav-active:#10675e;--nav-active-bg:#eaf6f1;--nav-hover-bg:#eaf6f1;--nav-hover-text:#10675e;--nav-border:#e4eeea;--nav-scrollbar:#cbded7}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text3);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;width:100%;font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;overflow-x:hidden}html{width:100%;overflow-x:hidden}a{color:var(--accent);text-decoration:none}.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.login-page+.navbar{display:none}html:has(.login-page) .navbar{display:none}.navbar .logo{color:var(--text);letter-spacing:-.3px;flex-shrink:0;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.navbar .logo .logo-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.user-section{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.username{color:var(--text2);white-space:nowrap;font-size:13px}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:4px;display:none}.menu-toggle span{background:var(--text2);border-radius:2px;width:20px;height:2px;margin:0 auto;transition:all .25s;display:block}.menu-toggle.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.nav-links{-ms-overflow-style:none;scrollbar-width:none;flex:1;align-items:center;gap:2px;margin-left:20px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.navbar .tab{border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.navbar .tab:hover{background:var(--surface2);color:var(--text)}.navbar .tab.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.container{--container-max:1400px;max-width:var(--container-max);min-height:calc(100vh - 56px);margin:0 auto;padding:5px 24px 20px}.page-title{color:var(--text);letter-spacing:-.3px;margin-bottom:0;font-size:25px;font-weight:700}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:22px}.card-title{color:var(--text);margin-bottom:12px;font-size:15px;font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;box-shadow:var(--shadow);padding:18px 20px;transition:transform .15s,box-shadow .15s}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.stat-card .num{color:var(--accent);font-size:32px;font-weight:700;line-height:1.2}.stat-card .label{color:var(--text2);margin-top:4px;font-size:13px}.stat-card.green .num{color:var(--green)}.stat-card.red .num{color:var(--red)}.stat-card.yellow .num{color:var(--yellow)}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);max-height:71vh;overflow-y:auto}.table-scroll::-webkit-scrollbar{width:6px}.table-scroll::-webkit-scrollbar-track{background:0 0}.table-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--surface2);color:var(--text2);text-align:left;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;z-index:2;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600;position:sticky;top:0}td{border-top:1px solid var(--border);white-space:nowrap;color:var(--text);padding:12px 16px}tr:hover td{background:var(--table-row-hover)}.form-row{flex-wrap:wrap;gap:14px;margin-bottom:12px;display:flex}.form-group{flex:1;min-width:200px}.form-group label{color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:8px 12px;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-group textarea{resize:vertical;min-height:60px}.form-group select,.select-sm{cursor:pointer}.form-group select:hover,.select-sm:hover{border-color:var(--border-light)}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 18px;font-size:13px;font-weight:600;line-height:1.4;transition:all .15s;display:inline-flex}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--green);color:var(--btn-status-text)}.btn-success:hover{background:var(--btn-success-hover)}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--red);color:var(--btn-status-text)}.btn-danger:hover{background:var(--btn-danger-hover)}.btn-sm{min-height:28px;padding:4px 10px;font-size:12px}.btn-outline{border:1px solid var(--border);color:var(--text2);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.badge{border-radius:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.5;display:inline-block}.badge-green{background:var(--green-soft);color:var(--green)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-blue{background:var(--accent-soft);color:var(--accent2)}.badge-yellow{background:var(--yellow-soft);color:var(--yellow)}.badge-orange{background:var(--orange-soft);color:var(--orange)}.badge-gray{color:var(--text2);background:#94a3b81a}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;display:flex}.pagination button,.pagination .page-num{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;text-align:center;min-width:32px;padding:6px 12px;font-size:13px;transition:all .15s}.pagination button:hover:not(:disabled),.pagination .page-num:hover{border-color:var(--accent);color:var(--accent)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination .page-num.active{background:var(--btn-primary-bg);border-color:var(--accent);color:var(--btn-primary-text);font-weight:500}.pagination .page-num.ellipsis{cursor:default;color:var(--text3);background:0 0;border:none}.pagination .page-num.ellipsis:hover{color:var(--text3);border:none}.page-size-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;outline:none;padding:5px 8px;font-size:13px}.page-size-select:focus{border-color:var(--accent)}.page-label{color:var(--text3);font-size:13px}.page-info{color:var(--text3);margin:0 4px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0c1e257a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:90%;max-width:600px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:12px;padding:24px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.modal-header h3{font-size:17px;font-weight:600}.modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s;display:flex}.modal-close:hover{color:var(--text)}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.error{background:var(--red-soft);border-radius:var(--radius-sm);color:var(--red);border:1px solid #ef444433;margin-bottom:16px;padding:12px 16px;font-size:14px}.success{background:var(--green-soft);border-radius:var(--radius-sm);color:var(--green);border:1px solid #22c55e33;margin-bottom:16px;padding:12px 16px;font-size:14px}select option{color:var(--text);background:var(--surface)}[data-theme=dark] select option{color:var(--select-text-dark);background:var(--select-bg-dark)}[data-theme=light] select option{color:var(--select-text-light);background:var(--select-bg-light)}.theme-toggle-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text2);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.theme-toggle-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--border-light)}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.empty-state{text-align:center;color:var(--text3);padding:40px 20px;font-size:14px}select{color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color-scheme:inherit;padding:8px 12px;font-family:inherit;font-size:14px}select:not([multiple]):not([size]),select[size="1"]:not([multiple]){text-overflow:ellipsis;cursor:pointer;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 11px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important;padding-right:36px!important}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select:disabled{cursor:not-allowed;opacity:.6}@media (forced-colors:active){select:not([multiple]):not([size]),select[size="1"]:not([multiple]){appearance:auto!important;background-image:none!important}}@media (width>=1920px){.container{--container-max:1800px;padding:32px}.form-group{min-width:220px}table{font-size:14px}th,td{padding:12px 18px}.btn{padding:10px 22px;font-size:14px}.stat-card .num{font-size:38px}.navbar .logo{font-size:18px}}@media (width<=768px){.container{--container-max:100%;min-height:calc(100vh - 48px);padding:12px}.navbar{height:48px;padding:0 12px}.navbar .logo{display:none}.menu-toggle{display:flex}.nav-dropdown-settings{display:none!important}.theme-toggle-pc{display:none}.user-section{gap:0;margin-left:auto}.nav-links{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex-direction:column;align-items:stretch;gap:0;max-height:0;margin-left:0;transition:max-height .25s;position:absolute;top:48px;left:0;right:0;overflow:hidden}.nav-links.open{max-height:600px}.nav-links .tab{border-bottom:1px solid var(--border);border-radius:0;padding:14px 20px;font-size:16px}.nav-links .tab:last-child{border-bottom:none}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.page-title{margin-bottom:0;font-size:18px}.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}.filter-bar{flex-direction:column;gap:8px}.card{border-radius:8px;padding:14px}.card-title{font-size:14px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:14px}.stat-card .num{font-size:26px}.stat-card .label{font-size:11px}table{font-size:12px}th,td{padding:8px}th.col-brand,td.col-brand,th.col-loc,td.col-loc,th.col-date,td.col-date{display:none}tr td{min-height:44px;padding:10px 8px}.table-scroll{max-height:calc(100vh - 100px)}.btn{padding:8px 12px;font-size:12px}.btn-sm{padding:4px 8px;font-size:11px}.badge{padding:2px 6px;font-size:11px}.modal{border-radius:8px;width:96%;max-height:92vh;padding:16px}.modal-header h3{font-size:16px}.form-group{min-width:100%}.pagination{gap:4px}.pagination button{padding:6px 8px;font-size:12px}}@media (width<=400px){.filter-bar{grid-template-columns:1fr}.stat-card{padding:10px}.stat-card .num{font-size:22px}}@media (width>=2560px){.container{--container-max:2400px;padding:40px}.form-group{min-width:260px}table{font-size:15px}th,td{padding:14px 20px}.btn{padding:12px 26px;font-size:15px}.stat-card .num{font-size:44px}}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input::placeholder,textarea::placeholder{color:var(--text3);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.app-content .container{max-width:none;min-height:0;margin:0;padding:0}.app-content .page-header{gap:16px;margin-bottom:24px}.app-content .page-title{letter-spacing:-.5px;margin-bottom:0;font-size:25px;font-weight:700}.app-content .page-subtitle{color:var(--text3);margin-top:6px;font-size:13px}.app-content .table-card,.app-content .filter-card{border-radius:var(--radius);box-shadow:var(--shadow)}.app-content .table-toolbar{background:var(--surface);padding:16px 20px}.app-content .table-scroll{background:var(--surface)}.app-content .pagination{margin-top:16px}@media (width<=768px){.app-content .page-title{font-size:22px}.app-content .page-header{margin-bottom:18px}.app-content .table-toolbar{flex-wrap:wrap;gap:10px;padding:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
