.app-bg[data-v-97b130e1]{z-index:-1;background-position:top;background-size:cover;transition:background-image .3s;position:fixed;inset:0}.header[data-v-3f1086e6]{z-index:10;background:0 0;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 16px 0 0;display:grid;position:sticky;top:0}.header[data-v-3f1086e6]:after{content:"";pointer-events:none;opacity:0;z-index:-1;background:linear-gradient(#fff 20%,#0000);height:100px;transition:opacity .2s;position:fixed;top:0;left:0;right:0}.header--scrolled[data-v-3f1086e6]:after{opacity:1}[data-theme=dark] .header[data-v-3f1086e6]:after{background:linear-gradient(#0f172a 40%,#0000)}.header-left[data-v-3f1086e6]{align-items:center;gap:4px;min-width:0;display:flex}.breadcrumbs[data-v-3f1086e6]{align-items:center;gap:4px;display:flex}.crumb[data-v-3f1086e6]{white-space:nowrap;font-size:13px;line-height:1}.crumb-sep[data-v-3f1086e6]{color:var(--twh-color-text-muted);-webkit-user-select:none;user-select:none;font-size:12px}.crumb-link[data-v-3f1086e6]{cursor:pointer;color:var(--twh-color-text-secondary);background:0 0;border:none;padding:0;font-weight:500;transition:color .15s}.crumb-link[data-v-3f1086e6]:hover{color:var(--twh-color-primary)}.crumb-current[data-v-3f1086e6]{color:var(--twh-color-text-primary);font-weight:600}.crumbs-fade-enter-active[data-v-3f1086e6],.crumbs-fade-leave-active[data-v-3f1086e6]{transition:opacity .15s}.crumbs-fade-enter-from[data-v-3f1086e6],.crumbs-fade-leave-to[data-v-3f1086e6]{opacity:0}.header-search[data-v-3f1086e6]{flex-shrink:0;align-items:center;width:41px;padding-left:7px;display:flex;position:relative}.search-icon-btn[data-v-3f1086e6]{width:34px;height:34px;color:var(--twh-color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.search-icon-btn[data-v-3f1086e6]:hover{color:var(--twh-color-text-primary);background:#0000000d}.search-input-wrap[data-v-3f1086e6]{background:var(--twh-color-bg-surface);border:1px solid var(--twh-color-border);z-index:50;border-radius:10px;align-items:center;gap:6px;width:260px;height:34px;padding:0 10px;animation:.2s expandIn-3f1086e6;display:flex;position:absolute;top:50%;left:7px;transform:translateY(-50%);box-shadow:0 4px 16px #00000014}@keyframes expandIn-3f1086e6{0%{opacity:0;width:120px}to{opacity:1;width:260px}}.search-prefix-icon[data-v-3f1086e6]{color:var(--twh-color-text-muted);flex-shrink:0}.search-input[data-v-3f1086e6]{color:var(--twh-color-text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.search-input[data-v-3f1086e6]::placeholder{color:var(--twh-color-text-muted)}.search-clear-btn[data-v-3f1086e6]{background:var(--twh-color-text-secondary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:background .15s;display:flex}.search-clear-btn[data-v-3f1086e6]:hover{background:var(--twh-color-text-primary)}.header-nav[data-v-3f1086e6]{background:var(--twh-color-nav-bg);border:1px solid var(--twh-color-nav-border);border-radius:20px;align-items:center;gap:2px;padding:5px;transition:background .2s,border-color .2s;display:flex;position:relative}.hn-pill[data-v-3f1086e6]{pointer-events:none;z-index:0;border-radius:16px;height:calc(100% - 10px);transition:left .45s cubic-bezier(.34,1.4,.64,1),width .45s cubic-bezier(.34,1.4,.64,1);position:absolute;top:5px}.hn-pill-inner[data-v-3f1086e6]{background:var(--twh-color-pill-bg);border-radius:16px;width:100%;height:100%;transition:background .2s}.hn-pill-inner.squeeze[data-v-3f1086e6]{animation:.5s cubic-bezier(.34,1.4,.64,1) forwards hn-squeeze-3f1086e6}@keyframes hn-squeeze-3f1086e6{0%{transform:scale(1)}20%{transform:scale(.88,1.2)}55%{transform:scale(1.1,.9)}75%{transform:scale(.97,1.04)}to{transform:scale(1)}}.nav-item[data-v-3f1086e6]{color:var(--twh-color-text-muted);cursor:pointer;white-space:nowrap;z-index:1;background:0 0;border:none;border-radius:16px;align-items:center;gap:7px;padding:7px 18px;font-size:14px;font-weight:500;line-height:1;transition:color .15s;display:flex;position:relative}.nav-item[data-v-3f1086e6]:hover:not(.active){color:var(--twh-color-text-primary)}.nav-item.active[data-v-3f1086e6]{color:var(--twh-color-pill-text)}.header-right[data-v-3f1086e6]{justify-content:flex-end;align-items:center;gap:6px;display:flex}.client-wrapper[data-v-3f1086e6]{position:relative}.client-selector[data-v-3f1086e6]{border:1px solid var(--twh-color-border);background:var(--twh-color-bg-surface);cursor:pointer;border-radius:10px;align-items:center;gap:8px;width:192px;padding:4px 10px 4px 4px;transition:border-color .15s,box-shadow .15s;display:flex}.client-selector[data-v-3f1086e6]:hover,.client-selector.open[data-v-3f1086e6]{border-color:var(--twh-color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--twh-color-primary) 15%, transparent)}.client-avatar[data-v-3f1086e6]{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.client-text[data-v-3f1086e6]{flex-direction:column;flex:1;align-items:flex-start;min-width:0;line-height:1.2;display:flex}.client-label[data-v-3f1086e6]{color:var(--twh-color-text-muted);text-transform:uppercase;letter-spacing:.4px;text-align:left;font-size:10px;font-weight:500}.client-name[data-v-3f1086e6]{color:var(--twh-color-text-primary);white-space:nowrap;text-overflow:ellipsis;text-align:left;width:100%;font-size:12px;font-weight:600;overflow:hidden}.client-chevron[data-v-3f1086e6]{color:var(--twh-color-text-muted);flex-shrink:0;transition:transform .2s}.client-chevron.rotated[data-v-3f1086e6]{transform:rotate(180deg)}.client-dropdown[data-v-3f1086e6]{background:var(--twh-color-bg-surface);border:1px solid var(--twh-color-border);z-index:100;border-radius:12px;width:220px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000001f}.client-dropdown-header[data-v-3f1086e6]{text-transform:uppercase;letter-spacing:.6px;color:var(--twh-color-text-muted);padding:10px 14px 6px;font-size:10px;font-weight:600}.client-option[data-v-3f1086e6]{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 14px;transition:background .12s;display:flex}.client-option[data-v-3f1086e6]:hover{background:var(--twh-color-bg-page)}.client-option.selected[data-v-3f1086e6]{background:color-mix(in srgb, var(--twh-color-primary) 8%, transparent)}.client-option-avatar[data-v-3f1086e6]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.client-option-label[data-v-3f1086e6]{color:var(--twh-color-text-primary);flex:1;font-size:13px;font-weight:500}.client-option-check[data-v-3f1086e6]{color:var(--twh-color-primary);font-size:13px;font-weight:700}.dropdown-enter-active[data-v-3f1086e6],.dropdown-leave-active[data-v-3f1086e6]{transition:opacity .15s,transform .15s}.dropdown-enter-from[data-v-3f1086e6],.dropdown-leave-to[data-v-3f1086e6]{opacity:0;transform:translateY(-6px)}.icon-btn[data-v-3f1086e6]{width:32px;height:32px;color:var(--twh-color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.icon-btn[data-v-3f1086e6]:hover{background:var(--twh-color-bg-page);color:var(--twh-color-text-primary)}.search-dropdown[data-v-3f1086e6]{background:var(--twh-color-bg-surface);border:1px solid var(--twh-color-border);z-index:9999;border-radius:14px;width:380px;max-height:480px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 40px #0000002e}.sd-state[data-v-3f1086e6]{color:var(--twh-color-text-muted);justify-content:center;align-items:center;gap:10px;padding:28px 16px;font-size:13px;display:flex}.sd-state strong[data-v-3f1086e6]{color:var(--twh-color-text-primary)}.sd-group[data-v-3f1086e6]{margin-bottom:4px}.sd-group-label[data-v-3f1086e6]{text-transform:uppercase;letter-spacing:.06em;color:var(--twh-color-text-muted);padding:6px 10px 3px;font-size:10px;font-weight:700}.sd-result[data-v-3f1086e6]{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.sd-result[data-v-3f1086e6]:hover{background:var(--twh-color-bg-page)}.sd-badge[data-v-3f1086e6]{text-transform:uppercase;letter-spacing:.04em;text-align:center;border-radius:6px;flex-shrink:0;min-width:68px;padding:3px 7px;font-size:10px;font-weight:700}.sd-info[data-v-3f1086e6]{flex-direction:column;gap:1px;min-width:0;display:flex}.sd-title[data-v-3f1086e6]{color:var(--twh-color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.sd-sub[data-v-3f1086e6]{color:var(--twh-color-text-muted);font-size:11px}.search-drop-enter-active[data-v-3f1086e6],.search-drop-leave-active[data-v-3f1086e6]{transition:opacity .15s,transform .15s}.search-drop-enter-from[data-v-3f1086e6],.search-drop-leave-to[data-v-3f1086e6]{opacity:0;transform:translateY(-6px)}.sidebar[data-v-66d3b816]{width:60px;min-width:60px;height:calc(100vh - 24px);box-shadow:none;z-index:20;background:0 0;border:none;flex-direction:column;align-items:center;padding:14px 0;display:flex;position:sticky;top:12px}.sidebar-logo[data-v-66d3b816]{justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:16px;display:flex}.brand-logo[data-v-66d3b816]{color:var(--twh-color-primary);transition:color .3s}.sidebar-nav[data-v-66d3b816]{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.nav-items-wrap[data-v-66d3b816]{flex-direction:column;align-items:center;display:flex;position:relative}.nav-pill[data-v-66d3b816]{width:38px;height:38px;transform:translateY(var(--pill-y,-100px));pointer-events:none;z-index:0;transition:transform .45s cubic-bezier(.34,1.4,.64,1);position:absolute;top:0;left:0}.nav-pill-inner[data-v-66d3b816]{background:var(--twh-color-pill-bg);border-radius:50%;width:38px;height:38px;transition:background .2s}.nav-pill-inner.squeeze[data-v-66d3b816]{animation:.5s cubic-bezier(.34,1.4,.64,1) forwards pill-squeeze-66d3b816}@keyframes pill-squeeze-66d3b816{0%{transform:scale(1)}20%{transform:scale(.78,1.3)}55%{transform:scale(1.18,.88)}75%{transform:scale(.95,1.06)}to{transform:scale(1)}}.sidebar-bottom[data-v-66d3b816]{flex-direction:column;align-items:center;gap:2px;display:flex}.nav-item[data-v-66d3b816]{cursor:pointer;width:38px;height:38px;color:var(--twh-color-text-muted);z-index:1;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex;position:relative}.nav-item[data-v-66d3b816]:hover:not(.muted):not(.active){background:var(--twh-color-nav-bg);color:var(--twh-color-text-primary)}.nav-item.active[data-v-66d3b816]{color:var(--twh-color-pill-text);z-index:1;background:0 0;position:relative}.nav-item.muted[data-v-66d3b816]{cursor:default;opacity:.35}.nav-items-list[data-v-66d3b816]{flex-direction:column;align-items:center;gap:2px;display:flex}.nav-items-enter-active[data-v-66d3b816],.nav-items-leave-active[data-v-66d3b816]{transition:opacity .2s,transform .2s}.nav-items-enter-from[data-v-66d3b816]{opacity:0;transform:translate(-8px)}.nav-items-leave-to[data-v-66d3b816]{opacity:0;transform:translate(8px)}.user-item[data-v-66d3b816]{width:38px;height:38px;padding:0}.user-avatar[data-v-66d3b816]{background:var(--twh-color-primary);color:#fff;font-size:11px;font-weight:600}[data-v-66d3b816] .n-dropdown-menu{min-width:220px;max-width:260px;overflow:hidden}.app-layout[data-v-e65b25a0]{box-sizing:border-box;background:0 0;align-items:flex-start;gap:12px;min-height:100vh;padding:12px;display:flex}.app-body[data-v-e65b25a0]{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:calc(100vh - 24px);display:flex}.app-content[data-v-e65b25a0]{flex:1;padding:16px 20px;transition:background .3s}:root{--twh-spacing-xs:4px;--twh-spacing-sm:8px;--twh-spacing-md:16px;--twh-spacing-lg:24px;--twh-spacing-xl:32px;--twh-spacing-2xl:48px;--twh-spacing-3xl:64px;--twh-color-primary:#2e5251;--twh-color-primary-light:#e0eeee;--twh-color-primary-dark:#1a3837;--twh-color-bg-page:#f8fafbb8;--twh-color-bg-surface:#fff;--twh-color-bg-elevated:#f0f6f6;--twh-color-bg-subtle:#f8fafc;--twh-color-glass:#ffffff73;--twh-color-bg-glass:#ffffffad;--twh-color-border:#e5e7eb;--twh-color-border-light:#f3f4f6;--twh-color-text-primary:#111827;--twh-color-text-secondary:#6b7280;--twh-color-text-muted:#9ca3af;--twh-color-danger:#ef4444;--twh-color-nav-bg:#e0eeee;--twh-color-nav-border:#e2e8f0;--twh-color-pill-bg:#2e5251;--twh-color-pill-text:#fff;--twh-font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--twh-font-size-xs:12px;--twh-font-size-sm:13px;--twh-font-size-base:14px;--twh-font-size-lg:16px;--twh-font-size-xl:20px;--twh-font-size-2xl:24px;--twh-font-size-3xl:30px;--twh-radius-sm:4px;--twh-radius-md:8px;--twh-radius-lg:12px;--twh-shadow-sm:0 1px 2px #0000000a;--twh-shadow-md:0 2px 8px #0000000f;--twh-shadow-lg:0 4px 16px #00000014;--twh-transition-fast:.15s ease;--twh-transition-normal:.25s ease;--el-color-primary:#2e5251;--el-color-primary-light-3:#6c8585;--el-color-primary-light-5:#96a8a8;--el-color-primary-light-7:#c0cbca;--el-color-primary-light-8:#d5dcdc;--el-color-primary-light-9:#eaeded;--el-color-primary-dark-2:#244544;--el-border-radius-base:8px;--el-border-radius-small:4px;--el-border-color:#e5e7eb;--el-border-color-light:#f3f4f6;--el-bg-color-page:#f8fafb;--el-font-family:var(--twh-font-family);--el-font-size-base:14px}[data-theme=dark]{--twh-color-primary:#5a8e8d;--twh-color-primary-light:#2e525126;--twh-color-primary-dark:#3d6a69;--twh-color-bg-page:#0f172aa6;--twh-color-bg-surface:#1e293b;--twh-color-bg-elevated:#1e293b;--twh-color-bg-subtle:#131e2e;--twh-color-glass:#0f172a8c;--twh-color-bg-glass:#1e293bb8;--twh-color-border:#334155;--twh-color-border-light:#1e293b;--twh-color-text-primary:#f1f5f9;--twh-color-text-secondary:#94a3b8;--twh-color-text-muted:#64748b;--twh-color-nav-bg:#5a8e8d26;--twh-color-nav-border:#334155;--twh-color-pill-bg:#5a8e8d;--twh-color-pill-text:#fff;--twh-shadow-sm:0 1px 2px #0003;--twh-shadow-md:0 2px 8px #00000059;--twh-shadow-lg:0 4px 16px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:0 0}[data-theme=dark] .n-data-table-td{background-color:#162238!important}[data-theme=dark] .n-data-table-th{background-color:#253347!important}[data-theme=dark] .n-data-table-tr:hover .n-data-table-td{background-color:#1e2d47!important}body{font-family:var(--twh-font-family);font-size:var(--twh-font-size-base);color:var(--twh-color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0}#app{height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c4c7cc;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#909399}::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}.fade-enter-active,.fade-leave-active{transition:opacity .18s,transform .18s}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0;transform:translateY(-4px)}.page-header{margin-bottom:var(--twh-spacing-lg);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--twh-font-size-2xl);color:var(--twh-color-text-primary);font-weight:600}.card-grid{gap:var(--twh-spacing-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.card-grid{grid-template-columns:1fr}}.form-grid{column-gap:var(--twh-spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-grid-4{column-gap:var(--twh-spacing-lg);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1024px){.form-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.form-grid-4{grid-template-columns:1fr}}.section-desc{color:var(--twh-color-text-secondary);font-size:var(--twh-font-size-sm);margin-bottom:var(--twh-spacing-md)}
