.portal-header[data-v-b8c5a615]{z-index:var(--z-sticky);border-bottom:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);flex:none;position:sticky;top:0}.portal-header-inner[data-v-b8c5a615]{justify-content:space-between;align-items:center;gap:var(--space-lg);max-width:1280px;height:60px;margin:0 auto;padding:0 28px;display:flex}.brand[data-v-b8c5a615]{cursor:pointer;flex:none;align-items:center;gap:12px;display:flex}.brand-logo[data-v-b8c5a615]{border:1px solid var(--color-rule);width:34px;height:34px;color:var(--color-ink);background:var(--color-paper);border-radius:8px;justify-content:center;align-items:center;display:flex}.brand-text[data-v-b8c5a615]{gap:0;display:grid}.brand-name[data-v-b8c5a615]{color:var(--color-ink);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.3}.brand-sub[data-v-b8c5a615]{color:var(--color-ink-2);font-family:var(--font-mono);letter-spacing:.06em;font-size:10px;line-height:1.3}.portal-nav[data-v-b8c5a615]{align-items:center;gap:2px;min-width:0;display:flex}.portal-nav-item[data-v-b8c5a615]{min-height:36px;color:var(--color-ink-2);cursor:pointer;transition:color var(--dur-micro) var(--ease-out);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.portal-nav-item[data-v-b8c5a615]:after{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform var(--dur-short) var(--ease-out);position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.portal-nav-item[data-v-b8c5a615]:hover{color:var(--color-ink)}.portal-nav-item.active[data-v-b8c5a615]{color:var(--color-ink);font-weight:600}.portal-nav-item.active[data-v-b8c5a615]:after{transform:scaleX(1)}.caret[data-v-b8c5a615]{opacity:.65;transition:transform var(--dur-micro) var(--ease-out)}.user-dropdown[data-v-b8c5a615]{position:relative}.dropdown-menu[data-v-b8c5a615]{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);min-width:220px;animation:dropdown-in-b8c5a615 var(--dur-short) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #1920291f;box-shadow:0 12px 32px lab(11.7603% -.815302 -7.22399/.12)}.dropdown-menu.user-menu[data-v-b8c5a615]{min-width:260px}@keyframes dropdown-in-b8c5a615{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item[data-v-b8c5a615]{border-radius:var(--radius-input);width:100%;color:var(--color-ink-2);text-align:left;cursor:pointer;transition:background var(--dur-micro) var(--ease-out);background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;display:flex}.dropdown-item[data-v-b8c5a615]:hover{background:var(--color-paper-2)}.dropdown-item.danger[data-v-b8c5a615]{color:var(--color-danger)}.dropdown-item.danger[data-v-b8c5a615]:hover{background:color-mix(in oklch, var(--color-danger) 8%, var(--color-paper))}.dropdown-item.selected[data-v-b8c5a615]{color:var(--color-accent);background:color-mix(in oklch, var(--color-accent) 8%, var(--color-paper))}.dropdown-tip[data-v-b8c5a615]{color:var(--color-ink-2);margin-left:auto;font-size:11px;font-weight:400}.header-actions[data-v-b8c5a615]{flex:none;align-items:center;gap:10px;display:flex}.login-btn[data-v-b8c5a615]{border-radius:var(--radius-input);min-height:34px;color:var(--color-accent-ink);background:var(--color-accent);cursor:pointer;transition:background var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);align-items:center;padding:0 18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.login-btn[data-v-b8c5a615]:hover{background:color-mix(in oklch, var(--color-accent) 85%, var(--color-ink));transform:translateY(-1px)}.login-btn[data-v-b8c5a615]:active{transform:translateY(0)}.user-chip[data-v-b8c5a615]{border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);cursor:pointer;min-height:36px;transition:border-color var(--dur-micro) var(--ease-out);align-items:center;gap:8px;padding:2px 12px 2px 2px;font-family:inherit;display:flex}.user-chip[data-v-b8c5a615]:hover{border-color:var(--color-rule-2)}.user-avatar[data-v-b8c5a615]{width:28px;height:28px;color:var(--color-accent-ink);background:var(--color-accent);border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-name[data-v-b8c5a615]{max-width:120px;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.user-menu-section[data-v-b8c5a615]{padding:4px}.user-menu-title[data-v-b8c5a615]{color:var(--color-ink-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 10px 4px;font-size:10px;font-weight:600;display:flex}.tenant-name[data-v-b8c5a615]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.check-active[data-v-b8c5a615]{color:var(--color-accent)}.tenant-badge[data-v-b8c5a615]{border-radius:var(--radius-input);color:var(--color-warning);background:color-mix(in oklch, var(--color-warning) 10%, var(--color-paper));flex:none;padding:1px 6px;font-size:10px;font-weight:600}.tenant-badge.dev[data-v-b8c5a615]{color:var(--color-accent);background:color-mix(in oklch, var(--color-accent) 10%, var(--color-paper))}.user-menu-empty[data-v-b8c5a615]{color:var(--color-ink-2);padding:10px;font-size:12px}.user-menu-divider[data-v-b8c5a615]{background:var(--color-rule);height:1px;margin:6px 4px}@media (max-width:1080px){.portal-header-inner[data-v-b8c5a615]{padding:0 16px}.brand-sub[data-v-b8c5a615]{display:none}}@media (max-width:760px){.portal-nav[data-v-b8c5a615]{scrollbar-width:none;overflow-x:auto}.portal-nav[data-v-b8c5a615]::-webkit-scrollbar{display:none}.portal-nav-item[data-v-b8c5a615]{padding:0 8px;font-size:13px}.user-name[data-v-b8c5a615]{display:none}.user-chip[data-v-b8c5a615]{padding:2px}}.app-shell[data-v-29692eef]{flex-direction:column;min-height:100vh;display:flex}:root{--color-paper:#f8fafd;--color-paper-2:#f0f2f4;--color-ink:#192029;--color-ink-2:#323841;--color-rule:#dadee3;--color-rule-2:#c2c8cf;--color-accent:#0076ec;--color-accent-ink:#fcfcfc;--color-graphite:#161b22;--color-focus:#0076ec;--color-success:#008660;--color-success-ink:#f4faf7;--color-danger:#b71824;--color-danger-ink:#fef6f6;--color-warning:#b17000;--color-warning-ink:#fcf8f3;--font-display:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.64rem;--text-sm:.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-display:clamp(2.25rem, 4vw + 1rem, 3.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--radius-input:6px;--radius-card:10px;--radius-code:10px;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.257% -.443965 -1.43218);--color-paper-2:lab(95.357% -.443876 -1.4321);--color-ink:lab(11.7603% -.815302 -7.22399);--color-ink-2:lab(23.3822% -1.01292 -6.54257);--color-rule:lab(88.3935% -.876904 -2.85805);--color-rule-2:lab(80.2692% -1.29604 -4.27654);--color-accent:lab(49.543% 8.27035 -68.7982);--color-accent-ink:lab(98.84% .0000298023 -.0000119209);--color-graphite:lab(9.45149% -.520468 -5.83602);--color-focus:lab(49.543% 8.27035 -68.7982);--color-success:lab(49.3876% -41.434 11.7);--color-success-ink:lab(97.7879% -2.62773 .763309);--color-danger:lab(40.057% 60.2793 38.9217);--color-danger-ink:lab(97.6067% 2.44412 1.31344);--color-warning:lab(53.2548% 23.4859 68.6512);--color-warning-ink:lab(97.6845% .915587 2.88116)}}html,body,#app{height:100%;margin:0;padding:0}html,body{overflow-x:clip}body{color:var(--color-ink-2);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}*,:before,:after{box-sizing:border-box}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:none}}.reveal{opacity:0;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);transform:translateY(8px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.reveal{opacity:1;transition:none;transform:none}}
