.shell[data-v-862d2377]{height:100%;display:flex}.sidebar[data-v-862d2377]{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.brand[data-v-862d2377]{align-items:center;gap:8px;padding:16px 18px;font-size:16px;font-weight:700;display:flex}nav[data-v-862d2377]{flex:1;padding:4px 8px;overflow:auto}.nav-item[data-v-862d2377]{color:var(--text-2);border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;display:flex}.nav-item[data-v-862d2377]:hover{background:var(--hover)}.nav-item.router-link-active[data-v-862d2377]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon[data-v-862d2377]{text-align:center;opacity:.9;width:18px;font-size:13px}.me[data-v-862d2377]{border-top:1px solid var(--border);padding:12px 18px 16px}.me-name[data-v-862d2377]{color:var(--text);margin-bottom:4px;font-weight:600;display:block}.me-name[data-v-862d2377]:hover,.me-name.router-link-active[data-v-862d2377]{color:var(--accent)}.me-roles[data-v-862d2377]{margin-bottom:8px}.me-actions[data-v-862d2377]{flex-wrap:nowrap;gap:6px}.lang[data-v-862d2377]{width:auto;padding:2px 6px;font-size:12px}.main[data-v-862d2377]{flex:1;min-width:0;position:relative;overflow:auto}.burger[data-v-862d2377]{z-index:5;display:none;position:absolute;top:12px;left:8px}.backdrop[data-v-862d2377]{display:none}@media (width<=760px){.sidebar[data-v-862d2377]{z-index:40;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.open .sidebar[data-v-862d2377]{transform:none}.shell.open .backdrop[data-v-862d2377]{z-index:30;background:#0000004d;display:block;position:fixed;inset:0}.burger[data-v-862d2377]{display:inline-flex}.main[data-v-862d2377] .page{padding-top:52px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f4;--surface:#fff;--surface-2:#f2f1ee;--hover:#f4f3f0;--border:#e4e3df;--text:#0b0b0b;--text-2:#52514e;--text-3:#8a8984;--accent:#2a78d6;--accent-ink:#fff;--accent-soft:#e6f0fb;--danger:#c9302c;--ok:#1a7f37;--radius:8px;--sidebar:212px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141413;--surface:#1f1f1e;--surface-2:#262625;--hover:#2a2a29;--border:#333331;--text:#f0efec;--text-2:#c3c2b7;--text-3:#8f8e86;--accent:#3987e5;--accent-soft:#1d2f45;--danger:#f06b67;--ok:#4ac26b}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141413;--surface:#1f1f1e;--surface-2:#262625;--hover:#2a2a29;--border:#333331;--text:#f0efec;--text-2:#c3c2b7;--text-3:#8f8e86;--accent:#3987e5;--accent-soft:#1d2f45;--danger:#f06b67;--ok:#4ac26b}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}h1,h2,h3{letter-spacing:-.01em;font-weight:600}code,pre,textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.muted{color:var(--text-3)}.error-text{color:var(--danger);white-space:pre-wrap;word-break:break-word}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.grow{flex:1;min-width:0}.page{max-width:1440px;margin:0 auto;padding:20px 24px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h2{flex:1;min-width:0;margin:0;font-size:18px}.btn{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.sm{height:26px;padding:0 10px;font-size:13px}.btn.icon{width:32px;padding:0}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;min-height:32px;padding:6px 10px}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}textarea.code{resize:vertical;tab-size:2;line-height:1.55}label.field{color:var(--text-2);flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;display:flex}label.check{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}table.list{border-collapse:collapse;width:100%}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}table.list th{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}table.list tr:last-child td{border-bottom:0}table.list td.actions{text-align:right;white-space:nowrap}.table-card{padding:0;overflow-x:auto}.tag{background:var(--surface-2);color:var(--text-2);border-radius:999px;margin:1px 2px 1px 0;padding:1px 8px;font-size:12px;display:inline-block}.tag.accent{background:var(--accent-soft);color:var(--accent)}.empty{text-align:center;color:var(--text-3);padding:48px 16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.grid-cards .card{cursor:pointer;transition:border-color .15s}.grid-cards .card:hover{border-color:var(--accent)}.grid-cards h4{margin:0 0 4px;font-size:15px}.toast{z-index:100;background:var(--text);color:var(--bg);border-radius:6px;max-width:min(420px,100vw - 32px);padding:10px 14px;font-size:13px;position:fixed;bottom:16px;right:16px}.toast.err{background:var(--danger);color:#fff}@media (width<=760px){.page{padding:16px}}
