.nb[data-v-6d2d4c78],.nb-btn[data-v-6d2d4c78]{position:relative}.nb-btn[data-v-6d2d4c78]{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:color .15s,background .15s;width:36px}.nb-btn[data-v-6d2d4c78]:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.nb-badge[data-v-6d2d4c78]{align-items:center;background:var(--color-danger);border:1.5px solid var(--color-bg);border-radius:7px;color:#fff;display:flex;font-size:.5rem;font-weight:700;height:14px;justify-content:center;line-height:1;min-width:14px;padding:0 2px;position:absolute;right:3px;top:3px}.nb-panel[data-v-6d2d4c78]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);width:320px;z-index:300}.nb-head[data-v-6d2d4c78]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:.75rem 1rem}.nb-title[data-v-6d2d4c78]{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.nb-markall[data-v-6d2d4c78]{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.75rem;font-weight:500}.nb-markall[data-v-6d2d4c78]:hover{text-decoration:underline}.nb-list[data-v-6d2d4c78]{max-height:320px;overflow-y:auto}.nb-empty[data-v-6d2d4c78]{color:var(--color-text-muted);font-size:.85rem;padding:2rem 1rem;text-align:center}.nb-item[data-v-6d2d4c78]{border-bottom:1px solid var(--color-border);display:block;padding:.6rem 1rem;text-decoration:none;transition:background .12s}.nb-item[data-v-6d2d4c78]:hover{background:var(--color-bg-subtle)}.nb-item.unread[data-v-6d2d4c78]{background:var(--color-primary-subtle)}.nb-msg[data-v-6d2d4c78]{color:var(--color-text-secondary);font-size:.825rem;line-height:1.4}.nb-item.unread .nb-msg[data-v-6d2d4c78]{color:var(--color-text-primary);font-weight:600}.nb-time[data-v-6d2d4c78]{color:var(--color-text-muted);font-size:.7rem;margin-top:.15rem}.nb-fade-enter-active[data-v-6d2d4c78]{transition:opacity .13s ease,transform .13s ease}.nb-fade-leave-active[data-v-6d2d4c78]{transition:opacity .1s ease}.nb-fade-enter-from[data-v-6d2d4c78]{opacity:0;transform:translateY(-6px)}.nb-fade-leave-to[data-v-6d2d4c78]{opacity:0}.breadcrumbs[data-v-f5e35f17]{line-height:1}.crumb-list[data-v-f5e35f17]{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);list-style:none;margin:0;padding:0}.crumb-item[data-v-f5e35f17],.crumb-list[data-v-f5e35f17]{align-items:center;gap:var(--space-1)}.crumb-item[data-v-f5e35f17]{display:inline-flex}.crumb-link[data-v-f5e35f17]{color:var(--color-text-muted);text-decoration:none}.crumb-link[data-v-f5e35f17]:hover{color:var(--color-primary);text-decoration:underline}.crumb-current[data-v-f5e35f17]{color:var(--color-text-secondary);font-weight:600}.crumb-sep[data-v-f5e35f17]{color:var(--color-border-strong)}.app-top-shell[data-v-d10c8e98]{background:var(--color-bg-subtle);display:flex;flex-direction:column;min-height:100vh}.ts-header[data-v-d10c8e98]{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.ts-inner[data-v-d10c8e98]{gap:var(--space-5);height:60px;margin:0 auto;max-width:var(--container-wide);padding:0 var(--space-6);width:100%}.ts-brand[data-v-d10c8e98],.ts-inner[data-v-d10c8e98]{align-items:center;display:flex}.ts-brand[data-v-d10c8e98]{color:var(--color-text-primary);flex-shrink:0;font-size:var(--text-md);font-weight:700;gap:var(--space-2);text-decoration:none;white-space:nowrap}.portal-staff .ts-brand-mark[data-v-d10c8e98]{color:var(--accent-staff)}.portal-admin .ts-brand-mark[data-v-d10c8e98]{color:var(--accent-admin)}.ts-brand-mark[data-v-d10c8e98]{color:var(--color-primary);font-size:1.3em;line-height:1}.ts-nav[data-v-d10c8e98]{align-items:center;display:flex;flex:1;gap:var(--space-1);min-width:0;overflow-x:auto;scrollbar-width:none}.ts-nav[data-v-d10c8e98]::-webkit-scrollbar{display:none}.ts-nav-link[data-v-d10c8e98]{align-items:center;border-radius:var(--radius-md);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);padding:var(--space-2) var(--space-3);text-decoration:none;transition:color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease);white-space:nowrap}.ts-nav-link[data-v-d10c8e98]:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.ts-nav-icon[data-v-d10c8e98]{font-size:1.05em;line-height:1}.ts-nav-link.is-active[data-v-d10c8e98]{background:var(--color-primary-subtle);color:var(--color-primary)}.portal-staff .ts-nav-link.is-active[data-v-d10c8e98]{background:#fff4ed;color:var(--accent-staff)}.portal-admin .ts-nav-link.is-active[data-v-d10c8e98]{background:#f5f3ff;color:var(--accent-admin)}.ts-nav-badge[data-v-d10c8e98]{background:var(--color-danger);border-radius:var(--radius-pill);color:var(--color-bg);font-size:var(--text-xs);font-weight:700;padding:1px var(--space-2)}.ts-right[data-v-d10c8e98]{flex-shrink:0;gap:var(--space-3)}.ts-actions[data-v-d10c8e98],.ts-right[data-v-d10c8e98]{align-items:center;display:flex}.ts-actions[data-v-d10c8e98]{gap:var(--space-2)}.ts-user[data-v-d10c8e98]{flex-shrink:0;position:relative}.ts-user-btn[data-v-d10c8e98]{align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;gap:var(--space-2);height:36px;padding:0 var(--space-2) 0 4px;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.ts-user-btn[data-v-d10c8e98]:hover,.ts-user-btn[aria-expanded=true][data-v-d10c8e98]{background:var(--color-bg-subtle);border-color:var(--color-primary)}.ts-avatar[data-v-d10c8e98]{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-bg);display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:700;height:26px;justify-content:center;width:26px}.portal-staff .ts-avatar[data-v-d10c8e98]{background:var(--accent-staff)}.portal-admin .ts-avatar[data-v-d10c8e98]{background:var(--accent-admin)}.ts-avatar-lg[data-v-d10c8e98]{font-size:var(--text-sm);height:38px;width:38px}.ts-user-name[data-v-d10c8e98]{font-size:var(--text-sm);font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-chevron[data-v-d10c8e98]{color:#94a3b8;flex-shrink:0;transition:transform var(--duration-fast) var(--ease)}.ts-chevron.open[data-v-d10c8e98]{transform:rotate(180deg)}.ts-user-menu[data-v-d10c8e98]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f;min-width:230px;overflow:hidden;padding:var(--space-1) 0;position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-dropdown,50)}.ts-user-head[data-v-d10c8e98]{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.ts-user-meta[data-v-d10c8e98]{display:flex;flex-direction:column;min-width:0}.ts-user-fullname[data-v-d10c8e98]{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600}.ts-user-email[data-v-d10c8e98],.ts-user-fullname[data-v-d10c8e98]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-user-email[data-v-d10c8e98]{color:var(--color-text-muted);font-size:var(--text-xs)}.ts-user-role[data-v-d10c8e98]{color:#94a3b8;font-size:var(--text-xs);letter-spacing:.5px;text-transform:uppercase}.ts-divider[data-v-d10c8e98]{background:var(--color-border);height:1px;margin:var(--space-1) 0}.ts-menu-item[data-v-d10c8e98]{align-items:center;background:none;border:none;color:var(--color-danger);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2);padding:var(--space-2) var(--space-4);text-align:left;width:100%}.ts-menu-item[data-v-d10c8e98]:hover{background:var(--color-bg-subtle)}.ts-menu-enter-active[data-v-d10c8e98]{animation:ts-menu-in-d10c8e98 .13s ease}.ts-menu-leave-active[data-v-d10c8e98]{animation:ts-menu-out-d10c8e98 .1s ease}@keyframes ts-menu-in-d10c8e98{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ts-menu-out-d10c8e98{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-4px) scale(.97)}}.ts-main[data-v-d10c8e98]{flex:1;margin:0 auto;max-width:var(--container-wide);padding:var(--space-6);width:100%}.ts-pagehead[data-v-d10c8e98]{margin-bottom:var(--space-5)}.ts-page-title[data-v-d10c8e98]{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight);margin:var(--space-1) 0 0}@media(max-width:768px){.ts-inner[data-v-d10c8e98]{gap:var(--space-3);padding:0 var(--space-4)}.ts-main[data-v-d10c8e98]{padding:var(--space-4)}.ts-nav-label[data-v-d10c8e98],.ts-user-name[data-v-d10c8e98]{display:none}.ts-nav-link[data-v-d10c8e98]{padding:var(--space-2)}}.cmd-backdrop[data-v-5403bebf]{align-items:flex-start;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding-top:10vh;position:fixed;z-index:var(--z-modal,100)}.cmd-modal[data-v-5403bebf]{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-drawer);display:flex;flex-direction:column;max-height:70vh;overflow:hidden;width:min(640px,92vw)}.cmd-input-row[data-v-5403bebf]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.cmd-prompt[data-v-5403bebf]{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace);font-size:var(--text-xs);font-weight:700;padding:2px 6px}.cmd-input[data-v-5403bebf]{background:transparent;border:none;color:var(--color-text-primary);flex:1;font-size:var(--text-base);outline:none}.cmd-close[data-v-5403bebf]{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace);font-size:var(--text-xs);padding:2px 6px}.cmd-results[data-v-5403bebf]{flex:1;overflow-y:auto}.cmd-state[data-v-5403bebf]{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-6) var(--space-4);text-align:center}.cmd-group[data-v-5403bebf]{padding:var(--space-2) 0}.cmd-group-title[data-v-5403bebf]{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.5px;padding:var(--space-1) var(--space-4);text-transform:uppercase}.cmd-row[data-v-5403bebf]{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4);text-align:left;width:100%}.cmd-row.selected[data-v-5403bebf],.cmd-row[data-v-5403bebf]:hover{background:var(--color-bg-subtle)}.cmd-row.selected[data-v-5403bebf]{background:#dbeafe}.cmd-row-kind[data-v-5403bebf]{font-size:1.1rem}.cmd-row-text[data-v-5403bebf]{display:flex;flex-direction:column;min-width:0}.cmd-row-title[data-v-5403bebf]{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600}.cmd-row-sub[data-v-5403bebf],.cmd-row-title[data-v-5403bebf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-row-sub[data-v-5403bebf]{color:var(--color-text-muted);font-size:var(--text-xs)}
