.icon[data-v-b418c9ca]{flex-shrink:0}.popover[data-v-7ef102f0]{z-index:var(--z-menu);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);flex-direction:column;padding:4px;display:flex;position:fixed;overflow-y:auto}.menu-item[data-v-0047d05d]{width:100%;height:30px;color:var(--text);background:0 0;border:0;justify-content:flex-start;padding:0 8px}.menu-item[data-v-0047d05d]:hover,.menu-item[data-v-0047d05d]:focus-visible{background:var(--surface-hover);outline:none}.menu-item.danger[data-v-0047d05d]{color:var(--danger)}.menu-item.danger[data-v-0047d05d]:hover,.menu-item.danger[data-v-0047d05d]:focus-visible{background:var(--danger-soft)}.menu-item[data-v-0047d05d]:disabled{pointer-events:auto}.dialog-mask[data-v-4b428a61]{z-index:var(--z-dialog);padding:var(--space-4);background:var(--mask);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-4b428a61]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);outline:none;flex-direction:column;display:flex}.dialog-head[data-v-4b428a61]{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);display:flex}.dialog-head h2[data-v-4b428a61]{font-size:var(--text-lg);flex:1}.dialog-body[data-v-4b428a61]{min-height:0;padding:var(--space-1) var(--space-5) var(--space-5);flex:1;overflow-y:auto}.dialog-foot[data-v-4b428a61]{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);display:flex}.dialog-enter-active[data-v-4b428a61],.dialog-leave-active[data-v-4b428a61]{transition:opacity var(--dur-fast) var(--ease)}.dialog-enter-active .dialog[data-v-4b428a61],.dialog-leave-active .dialog[data-v-4b428a61]{transition:transform var(--dur) var(--ease)}.dialog-enter-from[data-v-4b428a61],.dialog-leave-to[data-v-4b428a61]{opacity:0}.dialog-enter-from .dialog[data-v-4b428a61],.dialog-leave-to .dialog[data-v-4b428a61]{transform:translateY(6px)scale(.98)}.confirm-message[data-v-cff0614b]{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary)}.shell[data-v-2b29d9c7]{--header-h:52px;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100dvh;transition:grid-template-columns var(--dur) var(--ease);display:grid}.shell.rail[data-v-2b29d9c7]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.sidebar[data-v-2b29d9c7]{gap:var(--space-2);min-height:0;padding:var(--space-2);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.brand[data-v-2b29d9c7]{align-items:center;gap:var(--space-2);height:calc(var(--header-h) - var(--space-2) * 2);color:var(--text);padding:0 6px;text-decoration:none;display:flex}.brand[data-v-2b29d9c7]:hover{text-decoration:none}.brand-mark[data-v-2b29d9c7]{width:28px;height:28px;color:var(--on-accent);background:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;place-items:center;font-weight:700;display:grid}.brand-name[data-v-2b29d9c7]{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.nav[data-v-2b29d9c7]{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.nav-item[data-v-2b29d9c7]{width:100%;height:34px;font-size:var(--text-md);color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:0 10px;font-weight:400;text-decoration:none;display:flex}.nav-item[data-v-2b29d9c7]:hover{color:var(--text);background:var(--surface-hover);text-decoration:none}.nav-item.active[data-v-2b29d9c7]{color:var(--accent-text);background:var(--accent-soft);font-weight:600}.shell.rail .nav-item[data-v-2b29d9c7]{justify-content:center;padding:0}.nav-child[data-v-2b29d9c7]{padding-left:36px}.nav-chevron[data-v-2b29d9c7]{transition:transform var(--dur-fast) var(--ease);margin-left:auto}.nav-group[aria-expanded=true] .nav-chevron[data-v-2b29d9c7]{transform:rotate(90deg)}.collapse-toggle[data-v-2b29d9c7]{flex-shrink:0}.main[data-v-2b29d9c7]{flex-direction:column;min-width:0;min-height:0;display:flex}.header[data-v-2b29d9c7]{align-items:center;gap:var(--space-1);height:var(--header-h);padding:0 var(--space-3) 0 var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.title[data-v-2b29d9c7]{align-items:baseline;gap:var(--space-2);flex:1;min-width:0;display:flex}.title h1[data-v-2b29d9c7]{min-width:0;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crumb[data-v-2b29d9c7]{font-size:var(--text-lg);color:var(--text-muted);flex-shrink:0}.crumb[data-v-2b29d9c7]:hover{color:var(--text);text-decoration:none}.crumb-sep[data-v-2b29d9c7]{color:var(--text-muted)}.nav-toggle[data-v-2b29d9c7]{display:none}.stage[data-v-2b29d9c7]{min-height:0;padding:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.stage[data-v-2b29d9c7]:has(>.split){overflow:hidden}.toasts[data-v-2b29d9c7]{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;width:min(360px,100vw - 24px);display:flex;position:fixed}.toast[data-v-2b29d9c7]{align-items:flex-start;gap:var(--space-2);font-size:var(--text-md);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);padding:10px 8px 10px 12px;display:flex}.toast>.icon[data-v-2b29d9c7]{margin-top:2px}.toast .success[data-v-2b29d9c7]{color:var(--success)}.toast .error[data-v-2b29d9c7]{color:var(--danger)}.toast-text[data-v-2b29d9c7]{overflow-wrap:anywhere;flex:1;min-width:0;padding-top:1px}.toast button[data-v-2b29d9c7]{margin:-3px 0}@media (width<=960px){.shell[data-v-2b29d9c7],.shell.rail[data-v-2b29d9c7]{grid-template-columns:minmax(0,1fr)}.nav-toggle[data-v-2b29d9c7]{display:inline-flex}.header[data-v-2b29d9c7]{padding-left:var(--space-2)}.collapse-toggle[data-v-2b29d9c7]{display:none}.sidebar[data-v-2b29d9c7]{top:calc(var(--header-h) + 4px);left:var(--space-2);z-index:var(--z-popover);width:min(280px,100vw - 16px);max-height:calc(100dvh - var(--header-h) - 12px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);visibility:hidden;opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), visibility 0s linear var(--dur-fast);position:fixed;transform:translateY(-4px)}.shell.nav-open .sidebar[data-v-2b29d9c7]{visibility:visible;opacity:1;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);transform:none}.stage[data-v-2b29d9c7]{padding:var(--space-3)}.toasts[data-v-2b29d9c7]{right:50%;transform:translate(50%)}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-mono-latin.woff2)format("woff2")}:root{--accent:#00a8cc;--accent-hover:#008fb3;--accent-text:#00799a;--on-accent:#0f1214;--radius-sm:4px;--radius-md:6px;--accent-soft:#00a8cc1a;--accent-ring:#00a8cc40;--success:#2f8a1f;--success-soft:#2f8a1f1f;--warning:#b86e00;--warning-soft:#df8e1d29;--danger:#d20f39;--danger-hover:#b00c30;--danger-soft:#d20f391a;--on-danger:#fff;--info:#0b7fb3;--info-soft:#04a5e51f;--text:#1e1e1c;--text-secondary:#52524e;--text-muted:#6b6b66;--bg:#f4f4f2;--surface:#fbfbfa;--surface-muted:#efefec;--surface-hover:#e9e9e6;--surface-raised:#fff;--border:#1e1e1c1a;--border-strong:#1e1e1c33;--mask:#1e1e1c5c;--chart-1:#00a8cc;--chart-2:#5b6cf0;--chart-3:#e8963a;--chart-4:#3f9f5c;--chart-5:#d4537e;--chart-6:#8b5cd6;--chart-7:#2a9d8f;--chart-8:#a3a3a0;--shadow-float:0 8px 24px #1e1e1c1f;--shadow-dialog:0 20px 48px #1e1e1c2e;--font-sans:"Plus Jakarta Sans", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"Geist Mono", "SF Mono", "JetBrains Mono", Consolas, monospace;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--control-h:32px;--control-h-sm:26px;--sidebar-w:224px;--sidebar-w-collapsed:64px;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.15s;--dur:.22s;--z-sticky:2;--z-header:10;--z-popover:100;--z-dialog:200;--z-menu:300;--z-toast:400;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--accent:#00d9ff;--accent-hover:#4de4ff;--accent-text:#00d9ff;--on-accent:#0f1214;--accent-soft:#00d9ff1a;--accent-ring:#00d9ff4d;--success:#a6da95;--success-soft:#a6da9524;--warning:#eed49f;--warning-soft:#eed49f24;--danger:#ed8796;--danger-hover:#f3a5b1;--danger-soft:#ed879624;--on-danger:#15171a;--info:#91d7e3;--info-soft:#91d7e324;--text:#e8e8e6;--text-secondary:#b0b0ad;--text-muted:#8f8f8a;--bg:#131518;--surface:#1a1d21;--surface-muted:#20242a;--surface-hover:#272c33;--surface-raised:#22262c;--border:#ffffff17;--border-strong:#ffffff2e;--mask:#0000008f;--chart-1:#00d9ff;--chart-2:#8c98ff;--chart-3:#f2b066;--chart-4:#6cc787;--chart-5:#ee86ab;--chart-6:#b496f0;--chart-7:#5cc4b8;--chart-8:#8f8f8a;--shadow-float:0 8px 24px #00000073;--shadow-dialog:0 20px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.5}body.scroll-locked{overflow:hidden}::selection{background:var(--accent-soft)}h1,h2,h3,h4{color:var(--text);margin:0;font-weight:600;line-height:1.3}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}h4{font-size:var(--text-md)}p{margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}code,kbd{font-family:var(--font-mono);font-size:.92em}code{border-radius:var(--radius-sm);background:var(--surface-muted);padding:1px 5px}pre{padding:var(--space-3);max-height:480px;font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);margin:0;line-height:1.6;overflow:auto}pre code{background:0 0;padding:0}hr{margin:var(--space-3) 0;border:0;border-top:1px solid var(--border)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,.btn{height:var(--control-h);font:inherit;font-size:var(--text-md);white-space:nowrap;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--surface-hover);text-decoration:none}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}button.primary,.btn.primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}button.primary:hover,.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger,.btn.danger{color:var(--on-danger);background:var(--danger);border-color:var(--danger)}button.danger:hover,.btn.danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}button.ghost,.btn.ghost{color:var(--text-secondary);background:0 0;border-color:#0000}button.ghost:hover,.btn.ghost:hover{color:var(--text);background:var(--surface-hover)}button.ghost.danger,.btn.ghost.danger{color:var(--danger);background:0 0;border-color:#0000}button.ghost.danger:hover,.btn.ghost.danger:hover{background:var(--danger-soft)}button.btn-sm,.btn.btn-sm{height:var(--control-h-sm);font-size:var(--text-sm);padding:0 8px}button.btn-icon,.btn.btn-icon{width:var(--control-h);padding:0}button.btn-icon.btn-sm,.btn.btn-icon.btn-sm{width:var(--control-h-sm)}input:where(:not([type]),[type=text],[type=number],[type=password],[type=email],[type=search],[type=url],[type=tel],[type=date],[type=time],[type=datetime-local],[type=month]),select,textarea{width:100%;min-width:0;height:var(--control-h);font:inherit;font-size:var(--text-md);color:var(--text);background-color:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);outline:none;padding:0 10px;display:block}textarea{resize:vertical;height:auto;min-height:80px;padding:6px 10px;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input:disabled,select:disabled,textarea:disabled{color:var(--text-muted);background-color:var(--surface-muted);cursor:not-allowed}::placeholder{color:var(--text-muted);opacity:1}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 9px center;background-repeat:no-repeat;background-size:12px;padding-right:28px}input[type=checkbox],input[type=radio]{width:14px;height:14px;accent-color:var(--accent);margin:0}label{font-size:var(--text-md)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.required:after{content:" *";color:var(--danger)}.field-hint{font-size:var(--text-sm);color:var(--text-muted)}.field-error{font-size:var(--text-sm);color:var(--danger)}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.form{gap:var(--space-4);flex-direction:column;display:flex}.form-grid{gap:var(--space-4) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid>.span-2{grid-column:1/-1}.form-actions{align-items:center;gap:var(--space-2);display:flex}.page{gap:var(--space-4);flex-direction:column;display:flex}.toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar :where(input,select){width:auto}.toolbar .search{flex:200px;max-width:320px}.toolbar .spacer{flex:1}.toolbar.batch{min-height:var(--control-h);padding:0 var(--space-1) 0 var(--space-3);background:var(--accent-soft);border-radius:var(--radius-sm)}.card{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;min-width:0;display:flex}.card-head{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);display:flex}.card-head>:first-child{flex:1;min-width:0}.card-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.stats{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.stats>.card{gap:var(--space-1)}.stat-label{font-size:var(--text-sm);color:var(--text-muted)}.stat-value{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.stat-sub{font-size:var(--text-sm);color:var(--text-muted)}.kv{gap:var(--space-2) var(--space-4);font-size:var(--text-md);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--text-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.split{gap:var(--space-3);flex:auto;min-height:0;display:flex}.split-master,.split-detail{gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.split-master{flex:0 0 var(--split-master-width,clamp(420px, 42%, 760px))}.split-master>.table-wrap{flex:auto;min-height:0}.split-detail{flex:1 1 0;overflow-y:auto}.split-empty{color:var(--text-muted);font-size:var(--text-md);flex:1;justify-content:center;align-items:center;display:flex}.detail-head{align-items:center;gap:var(--space-2);min-height:var(--control-h);display:flex}.detail-head>h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.split-back{display:none}@media (width<=960px){.split-master{flex:auto}.split:not(.has-detail)>.split-detail,.split.has-detail>.split-master{display:none}.split-back{display:inline-flex}}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);min-height:0;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-md)}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);height:40px;padding:0 12px}th{z-index:var(--z-sticky);height:36px;font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-muted);font-weight:500;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-hover)}tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}tr.selected td,tr.selected:hover td{background:var(--accent-soft)}tr.selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}th.col-actions,td.row-actions{text-align:right;position:sticky;right:0}th.col-actions{z-index:calc(var(--z-sticky) + 1)}td.row-actions{background:var(--surface-raised)}td.row-actions>span{align-items:center;gap:2px;display:inline-flex}th.col-check,td.col-check{width:36px;padding-right:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:240px}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:block;overflow:hidden}td.state-cell{height:auto;padding:var(--space-6) var(--space-3);text-align:center;white-space:normal;color:var(--text-muted)}.pill{height:20px;font-size:var(--text-sm);white-space:nowrap;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface-muted);align-items:center;gap:4px;padding:0 8px;font-weight:500;display:inline-flex}.pill.tone-accent{color:var(--accent-text);background:var(--accent-soft)}.pill.tone-success{color:var(--success);background:var(--success-soft)}.pill.tone-warning{color:var(--warning);background:var(--warning-soft)}.pill.tone-danger{color:var(--danger);background:var(--danger-soft)}.pill.tone-info{color:var(--info);background:var(--info-soft)}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums}.tok-key{color:var(--accent-text)}.tok-str{color:var(--success)}.tok-num{color:var(--warning)}.tok-lit{color:var(--info)}.tok-comment{color:var(--text-muted);font-style:italic}details>summary{cursor:pointer;color:var(--text-secondary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
