:root{--bg: #f2f4f6;--surface: #ffffff;--surface2: #e9edf1;--surface3: #dce2e8;--border: #dbe1e7;--border2: #c2cad3;--text: #161d25;--text2: #49535f;--text3: #77828e;--accent: #116873;--accent-fg: #ffffff;--accent-ink: color-mix(in oklab, var(--accent) 90%, black);--accent-hover: color-mix(in oklab, var(--accent) 86%, black);--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--ok: #1e7a46;--ok-soft: rgba(30, 122, 70, .13);--warn: #8a6208;--warn-soft: rgba(178, 134, 13, .16);--err: #b23a30;--err-strong: #b23a30;--err-soft: rgba(178, 58, 48, .12);--info: #31609f;--info-soft: rgba(49, 96, 159, .13);--sh1: 0 1px 2px rgba(16, 24, 32, .07);--sh2: 0 12px 32px rgba(16, 24, 32, .18);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-full: 999px;--cell-y: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1317;--surface: #161b21;--surface2: #1e242c;--surface3: #28303a;--border: #29323c;--border2: #3a4550;--text: #e8ebee;--text2: #aab4bf;--text3: #727e8a;--accent-ink: color-mix(in oklab, var(--accent) 45%, white);--accent-hover: color-mix(in oklab, var(--accent) 82%, white);--accent-soft: color-mix(in srgb, var(--accent) 24%, transparent);--ok: #63c489;--ok-soft: rgba(99, 196, 137, .15);--warn: #d6a94a;--warn-soft: rgba(214, 169, 74, .15);--err: #e2786e;--err-strong: #c4453a;--err-soft: rgba(226, 120, 110, .14);--info: #7ea9e0;--info-soft: rgba(126, 169, 224, .15);--sh1: 0 1px 2px rgba(0, 0, 0, .5);--sh2: 0 16px 40px rgba(0, 0, 0, .55);color-scheme:dark}}:root[data-theme=light]{--bg: #f2f4f6;--surface: #ffffff;--surface2: #e9edf1;--surface3: #dce2e8;--border: #dbe1e7;--border2: #c2cad3;--text: #161d25;--text2: #49535f;--text3: #77828e;--accent-ink: color-mix(in oklab, var(--accent) 90%, black);--accent-hover: color-mix(in oklab, var(--accent) 86%, black);--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--ok: #1e7a46;--ok-soft: rgba(30, 122, 70, .13);--warn: #8a6208;--warn-soft: rgba(178, 134, 13, .16);--err: #b23a30;--err-strong: #b23a30;--err-soft: rgba(178, 58, 48, .12);--info: #31609f;--info-soft: rgba(49, 96, 159, .13);--sh1: 0 1px 2px rgba(16, 24, 32, .07);--sh2: 0 12px 32px rgba(16, 24, 32, .18);color-scheme:light}:root[data-theme=dark]{--bg: #0f1317;--surface: #161b21;--surface2: #1e242c;--surface3: #28303a;--border: #29323c;--border2: #3a4550;--text: #e8ebee;--text2: #aab4bf;--text3: #727e8a;--accent-ink: color-mix(in oklab, var(--accent) 45%, white);--accent-hover: color-mix(in oklab, var(--accent) 82%, white);--accent-soft: color-mix(in srgb, var(--accent) 24%, transparent);--ok: #63c489;--ok-soft: rgba(99, 196, 137, .15);--warn: #d6a94a;--warn-soft: rgba(214, 169, 74, .15);--err: #e2786e;--err-strong: #c4453a;--err-soft: rgba(226, 120, 110, .14);--info: #7ea9e0;--info-soft: rgba(126, 169, 224, .15);--sh1: 0 1px 2px rgba(0, 0, 0, .5);--sh2: 0 16px 40px rgba(0, 0, 0, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.mono{font-family:ui-monospace,Consolas,SF Mono,Menlo,monospace}@keyframes ecoSpin{to{transform:rotate(360deg)}}@keyframes ecoShimmer{0%{opacity:.45}50%{opacity:1}to{opacity:.45}}@keyframes ecoToast{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes ecoFade{0%{opacity:0}to{opacity:1}}@keyframes ecoPop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.toast-host[data-v-78738089]{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast[data-v-78738089]{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh2);animation:ecoToast .2s ease}.dot[data-v-78738089]{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px}.k-ok[data-v-78738089]{background:var(--ok)}.k-err[data-v-78738089]{background:var(--err)}.k-warn[data-v-78738089]{background:var(--warn)}.k-info[data-v-78738089]{background:var(--info)}.text[data-v-78738089]{font-size:13px;color:var(--text)}.overlay[data-v-5793fd2b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#090d118c;animation:ecoFade .15s ease}.dialog[data-v-5793fd2b]{width:100%;max-width:460px;max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh2);animation:ecoPop .18s ease}.head[data-v-5793fd2b]{display:flex;align-items:center;gap:8px;padding:18px 20px 0}.title[data-v-5793fd2b]{font-size:17px;font-weight:700;flex:1}.x[data-v-5793fd2b]{flex:none;width:28px;height:28px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text3);font-size:14px;cursor:pointer}.x[data-v-5793fd2b]:hover{background:var(--surface2);color:var(--text)}.body[data-v-5793fd2b]{padding:14px 20px 20px;display:flex;flex-direction:column;gap:14px}.spinner[data-v-f211d83c]{display:inline-block;border-radius:50%;border:2px solid var(--border2);border-top-color:var(--accent-ink);animation:ecoSpin .7s linear infinite}.spinner.on-accent[data-v-f211d83c]{border-color:#ffffff59;border-top-color:#fff}.btn[data-v-99f8c3dd]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-md);border:1px solid transparent;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,filter .12s ease}.btn.block[data-v-99f8c3dd]{width:100%}.s-md[data-v-99f8c3dd]{height:36px;padding:0 16px;font-size:14px}.s-sm[data-v-99f8c3dd]{height:30px;padding:0 12px;font-size:13px}.v-primary[data-v-99f8c3dd]{background:var(--accent);color:var(--accent-fg)}.v-primary[data-v-99f8c3dd]:hover:not(:disabled){background:var(--accent-hover)}.v-secondary[data-v-99f8c3dd]{background:var(--surface);color:var(--text);border-color:var(--border2)}.v-secondary[data-v-99f8c3dd]:hover:not(:disabled){background:var(--surface2)}.v-ghost[data-v-99f8c3dd]{background:transparent;color:var(--accent-ink)}.v-ghost[data-v-99f8c3dd]:hover:not(:disabled){background:var(--accent-soft)}.v-danger[data-v-99f8c3dd]{background:var(--err-strong);color:#fff}.v-danger[data-v-99f8c3dd]:hover:not(:disabled){filter:brightness(1.08)}.btn[data-v-99f8c3dd]:disabled{opacity:.5;cursor:not-allowed}.btn.is-loading[data-v-99f8c3dd]{cursor:progress;opacity:.85}.text[data-v-38021a9b]{margin:0;color:var(--text2);font-size:14px}.actions[data-v-38021a9b]{display:flex;justify-content:flex-end;gap:8px}.theme-btn[data-v-a1bdee24]{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border2);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.theme-btn[data-v-a1bdee24]:hover{background:var(--surface2)}.theme-btn.compact[data-v-a1bdee24]{height:30px;padding:0 10px;font-size:12px;color:var(--text2)}.auth-shell[data-v-302b152c]{min-height:100vh;background:var(--surface2);display:flex;flex-direction:column}.corner[data-v-302b152c]{display:flex;justify-content:flex-end;padding:16px 20px}.center[data-v-302b152c]{flex:1;display:grid;place-items:center;padding:20px 20px 64px}.logo[data-v-27e7a31c]{flex:none;display:block;color:var(--text)}.shell[data-v-69c2e719]{height:100vh;display:flex;background:var(--bg)}.sidebar[data-v-69c2e719]{flex:none;width:216px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);transition:width .2s ease;overflow:hidden}.sidebar.collapsed[data-v-69c2e719]{width:62px}.brand-row[data-v-69c2e719]{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;white-space:nowrap}.brand-name[data-v-69c2e719]{font-weight:700;font-size:14px}.nav[data-v-69c2e719]{display:flex;flex-direction:column;gap:2px;padding:8px 10px}.nav-item[data-v-69c2e719]{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:var(--r-md);text-decoration:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text2)}.nav-item[data-v-69c2e719]:hover{background:var(--surface2);color:var(--text)}.nav-item.active[data-v-69c2e719]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.mark[data-v-69c2e719]{flex:none;width:24px;height:24px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--surface2);color:var(--text3)}.mark.active[data-v-69c2e719]{background:var(--accent);color:var(--accent-fg)}.nav-label[data-v-69c2e719]{white-space:nowrap}.collapse[data-v-69c2e719]{margin:auto 10px 10px;padding:8px 10px;border-radius:var(--r-md);border:none;background:transparent;color:var(--text3);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-align:left}.collapse[data-v-69c2e719]:hover{background:var(--surface2);color:var(--text)}.main[data-v-69c2e719]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar[data-v-69c2e719]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.crumbs[data-v-69c2e719]{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.crumb[data-v-69c2e719]{font-size:13px;padding:2px 4px;border-radius:4px;text-decoration:none}.crumb.link[data-v-69c2e719]{color:var(--text3);font-weight:500}.crumb.link[data-v-69c2e719]:hover{color:var(--accent-ink)}.crumb.cur[data-v-69c2e719]{color:var(--text);font-weight:600}.sep[data-v-69c2e719]{color:var(--text3);font-size:13px}.top-right[data-v-69c2e719]{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar-wrap[data-v-69c2e719]{position:relative}.avatar-btn[data-v-69c2e719]{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.avatar-btn[data-v-69c2e719]:hover{background:var(--surface2)}.avatar-mini[data-v-69c2e719]{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-size:11px;font-weight:700}.avatar-name[data-v-69c2e719]{white-space:nowrap}.caret[data-v-69c2e719]{color:var(--text3);font-size:10px}.menu[data-v-69c2e719]{position:absolute;right:0;top:38px;z-index:30;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh2);padding:6px;display:flex;flex-direction:column;animation:ecoPop .15s ease}.menu-head[data-v-69c2e719]{padding:8px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.menu-name[data-v-69c2e719]{font-size:13px;font-weight:600}.menu-email[data-v-69c2e719]{font-size:12px;color:var(--text3)}.menu-item[data-v-69c2e719]{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-decoration:none}.menu-item[data-v-69c2e719]:hover{background:var(--surface2)}.menu-item.danger[data-v-69c2e719]{color:var(--err)}.menu-item.danger[data-v-69c2e719]:hover{background:var(--err-soft)}.content[data-v-69c2e719]{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px}@media(max-width:640px){.sidebar[data-v-69c2e719]{width:62px}.sidebar .brand-name[data-v-69c2e719],.sidebar .nav-label[data-v-69c2e719],.avatar-name[data-v-69c2e719]{display:none}}
