:root{font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#101418;--ink-muted:#596368;--ink-soft:#7e888c;--ink-faint:#99a2a5;--leaf-text:#58a021;--blue:#236de9;--blue-hover:#1d61d5;--blue-soft:#236de91a;--lime:#82dd2d;--lime-soft:#82dd2d24;--red:#ff5a50;--red-text:#e0443b;--red-soft:#ff5a501c;--focus:#236de9cc;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--shade:46, 58, 62;--line:rgba(var(--shade), .085);--line-strong:rgba(var(--shade), .11);--glass-line:#ffffffe0;--glass-line-soft:#ffffffb3;--e1:0 1px 2px rgba(var(--shade), .05), 0 5px 14px rgba(var(--shade), .04);--e2:0 1px 3px rgba(var(--shade), .06), 0 12px 30px rgba(var(--shade), .055);--e3:0 2px 6px rgba(var(--shade), .07), 0 22px 50px rgba(var(--shade), .08);--e-accent:0 1px 2px #14429447, 0 8px 18px #236de93d;--e-accent-hover:0 1px 2px #14429452, 0 12px 24px #236de94d;--e-danger:0 1px 2px #96282242, 0 8px 18px #ff5a503d;--edge:inset 0 1px 0 #ffffffeb;--edge-strong:inset 0 1px 0 #fffffffa;--stage:#dfe3e2;--frame:#17191d;--canvas:#f6f8f7;--rail-bg:#fafbfaeb;--pill-bg:linear-gradient(145deg, #ffffffed, #f6fbf99e);--pill-inset:inset 0 -1px 0 #697a8014;--float-bg:#f6f8f7db;--float-inset:inset 0 0 0 1px #78848721, inset 0 1px 0 #ffffffb8;--surface:linear-gradient(145deg, #fffffff7, #f9fcfbed);--surface-solid:#fbfcfc;--groove-bg:#e1e7e580;--groove-inset:inset 0 1px 0 #ffffff75;--input-bg:#ffffffc7;--hover-bg:rgba(var(--shade), .045);--press-bg:rgba(var(--shade), .075);--overlay:#10141842;--dark-surface:#131619;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-display-xl:56px;--fs-display-l:40px;--fs-display-m:28px;--track-eyebrow:.14em;--cat-1-bg:#f6e7c4;--cat-1-ink:#7a5a16;--cat-2-bg:#d7e7fb;--cat-2-ink:#275a96;--cat-3-bg:#e4dcf7;--cat-3-ink:#5b4597;--cat-4-bg:#f7dce1;--cat-4-ink:#94384c;--cat-5-bg:#d8f0dc;--cat-5-ink:#2d7140;--ambient-a:#82dd2d12;--ambient-b:#236de90e;--ease-premium:cubic-bezier(.16, 1, .3, 1);--rail-w:232px;--topbar-h:64px;--layer-overlay:200;--layer-toast:400;--control-h:36px;--control-h-sm:30px;--row-h:48px;--cell-px:16px;--amber-text:#9a6a00;--amber-soft:#f2b22429;font-family:SF Pro Display,SF Pro Text,PingFang SC,-apple-system,BlinkMacSystemFont,Noto Sans SC,Microsoft YaHei,sans-serif}:root[data-density=comfy]{--row-h:56px;--cell-px:18px}:root[data-density=compact]{--row-h:40px;--cell-px:14px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eef2f1;--ink-muted:#b0babd;--ink-soft:#8d979a;--ink-faint:#6c7679;--leaf-text:#9be35a;--blue:#4c8dff;--blue-hover:#3d7ff2;--blue-soft:#4c8dff29;--lime-soft:#82dd2d29;--red-text:#ff7a71;--red-soft:#ff5a5029;--focus:#4c8dffd9;--shade:0, 0, 0;--line:#ffffff12;--line-strong:#ffffff1a;--glass-line:#ffffff1a;--glass-line-soft:#ffffff12;--e1:0 1px 2px #0000004d, 0 5px 14px #0003;--e2:0 1px 3px #00000052, 0 12px 30px #00000047;--e3:0 2px 6px #0000005c, 0 22px 50px #0000006b;--e-accent:0 1px 2px #0006, 0 8px 18px #4c8dff42;--e-accent-hover:0 1px 2px #0006, 0 12px 24px #4c8dff57;--e-danger:0 1px 2px #0006, 0 8px 18px #ff5a5042;--edge:inset 0 1px 0 #ffffff0f;--edge-strong:inset 0 1px 0 #ffffff17;--stage:#090b0c;--frame:#000;--canvas:#121517;--rail-bg:#161a1cf0;--pill-bg:linear-gradient(145deg, #ffffff1c, #ffffff0d);--pill-inset:inset 0 -1px 0 #0003;--float-bg:#1e2225e6;--float-inset:inset 0 0 0 1px #ffffff0a, inset 0 1px 0 #ffffff0f;--surface:linear-gradient(145deg, #1d2124fa, #191d1ff5);--surface-solid:#1b1f21;--groove-bg:#00000038;--groove-inset:inset 0 1px 2px #00000047;--input-bg:#ffffff0a;--hover-bg:#ffffff0d;--press-bg:#ffffff14;--overlay:#00000080;--cat-1-bg:#e8be6029;--cat-1-ink:#ecc779;--cat-2-bg:#64a0f029;--cat-2-ink:#92bdf5;--cat-3-bg:#a084ec2b;--cat-3-ink:#bfaaf4;--cat-4-bg:#ec788c29;--cat-4-ink:#f2a3b1;--cat-5-bg:#6ec88226;--cat-5-ink:#94dca6;--ambient-a:#82dd2d0d;--ambient-b:#4c8dff12;--amber-text:#f5c46b;--amber-soft:#f2b22424}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--stage);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:13px;line-height:1.5}#root{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}img,svg{display:block}table{border-collapse:collapse;border-spacing:0}::selection{background:var(--blue-soft)}:focus{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}*{scrollbar-width:thin;scrollbar-color:rgba(var(--shade), .18) transparent}:root[data-theme=dark] *{scrollbar-color:#ffffff24 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(var(--shade), .16);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.section-label{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;font-size:15px;font-weight:650;display:inline-flex}.section-label:before{content:"";background:var(--lime);width:7px;height:7px;box-shadow:0 0 0 5px var(--lime-soft);border-radius:999px;flex:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.m-rail{background:var(--rail-bg);-webkit-backdrop-filter:blur(22px)}.m-pill{border:1px solid var(--glass-line);background:var(--pill-bg);box-shadow:var(--e2), var(--edge-strong), var(--pill-inset);-webkit-backdrop-filter:blur(22px)saturate(1.18)}.m-float{border:1px solid var(--glass-line);background:var(--float-bg);box-shadow:var(--e3), var(--float-inset);-webkit-backdrop-filter:blur(28px)saturate(1.08)}.m-surface{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge), var(--e1)}.m-groove{border:1px solid var(--glass-line-soft);background:var(--groove-bg);box-shadow:var(--groove-inset)}@media (prefers-reduced-transparency:reduce){.m-rail,.m-pill,.m-float{-webkit-backdrop-filter:none}.m-float,.m-rail{background:var(--surface-solid)}}.stage{background:var(--stage);min-height:100dvh;padding:8px;position:relative;overflow:clip}.app-frame{grid-template-columns:var(--rail-w) minmax(0, 1fr);border:10px solid var(--frame);background:radial-gradient(55% 45% at 92% 0%, var(--ambient-a), transparent 70%), radial-gradient(45% 40% at 20% 100%, var(--ambient-b), transparent 70%), var(--canvas);border-radius:38px;height:calc(100dvh - 16px);min-height:560px;display:grid;position:relative;overflow:clip;box-shadow:0 24px 70px #11171b3d,0 3px 12px #11171b29}.app-frame.is-collapsed{--rail-w:76px}.rail{z-index:5;border-right:1px solid var(--line-strong);flex-direction:column;min-height:0;display:flex;position:relative}.rail-brand{height:var(--topbar-h);flex:none;align-items:center;gap:11px;padding:0 18px;display:flex}.brand-mark{border-radius:var(--r-sm);color:#fff;background:var(--dark-surface);flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;box-shadow:0 1px 3px #0e121429,0 6px 16px #0e121429,inset 0 1px #ffffff1f}.brand-mark .brand-dot{background:var(--lime);border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 4px #82dd2d33,0 0 12px #82dd2d99}.brand-text{min-width:0}.brand-name{letter-spacing:-.02em;white-space:nowrap;font-size:15px;font-weight:720}.brand-sub{letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap;text-transform:uppercase;font-size:10px}.rail-nav{flex:1;min-height:0;padding:8px 12px 16px;position:relative;overflow:clip auto}.rail-nav-status{color:var(--ink-soft);padding:10px;font-size:12px}.nav-group+.nav-group{margin-top:14px}.nav-group-title{letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:650}.nav-list{flex-direction:column;gap:2px;display:flex;position:relative}.nav-item{z-index:1;border-radius:var(--r-sm);width:100%;height:38px;color:var(--ink-muted);text-align:left;white-space:nowrap;border:1px solid #0000;align-items:center;gap:11px;padding:0 11px;font-size:13px;font-weight:560;transition:color .2s,opacity .2s,background .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.nav-item .nav-ico{color:var(--ink-soft);flex:none;transition:color .2s}.nav-item:hover{color:var(--ink)}.nav-item.is-active{color:var(--ink);border-color:var(--glass-line);background:var(--pill-bg);box-shadow:var(--e2), var(--edge-strong), var(--pill-inset);font-weight:650}.nav-item.is-active .nav-ico{color:var(--blue)}.nav-item:focus-visible{outline-offset:-2px}.nav-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}@media (hover:hover){.nav-list:has(.nav-item:hover) .nav-item:not(:hover):not(.is-active){opacity:.62}}.rail-foot{border-top:1px solid var(--line);flex:none;padding:10px 12px 14px}.app-frame.is-collapsed .brand-text,.app-frame.is-collapsed .nav-label,.app-frame.is-collapsed .nav-group-title{display:none}.app-frame.is-collapsed .rail-brand,.app-frame.is-collapsed .nav-item{justify-content:center;padding:0}.app-frame.is-collapsed .nav-group+.nav-group{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.workspace{grid-template-rows:var(--topbar-h) minmax(0, 1fr);min-width:0;min-height:0;display:grid;position:relative}.topbar{z-index:2;border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:0 20px 0 14px;display:flex;position:relative}.topbar:before{content:"";z-index:-1;pointer-events:none;opacity:0;background:var(--rail-bg);box-shadow:0 1px 0 var(--line-strong), 0 10px 26px rgba(var(--shade), .07);transition:opacity .3s;position:absolute;inset:0}.workspace.is-scrolled .topbar:before{opacity:1}.topbar .spacer{flex:1}.crumbs{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12.5px;display:flex}.crumbs .crumb-current{color:var(--ink);font-weight:620}.crumbs .crumb-sep{color:var(--ink-faint)}.user-chip{border-radius:999px;align-items:center;gap:9px;height:40px;padding:0 10px 0 4px;transition:background .2s;display:inline-flex}.user-chip:hover{background:var(--hover-bg)}.user-chip .user-meta{flex-direction:column;display:flex}.user-chip .user-name{text-align:left;font-size:12.5px;font-weight:640;line-height:1.2}.user-chip .user-role{color:var(--ink-soft);text-align:left;font-size:11px;line-height:1.2}.menu-pop{z-index:120;border-radius:var(--r-md);min-width:220px;padding:6px;position:fixed}.menu-pop .menu-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 10px 12px}.menu-pop .menu-item{border-radius:var(--r-xs);width:100%;height:36px;color:var(--ink);text-align:left;align-items:center;gap:10px;padding:0 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.menu-pop .menu-item:hover,.menu-pop .menu-item:focus-visible{background:var(--hover-bg);outline:none}.menu-pop .menu-item.is-danger{color:var(--red-text)}.content{overscroll-behavior:contain;min-height:0;position:relative;overflow:clip auto}.page{flex-direction:column;gap:16px;padding:26px 28px 40px;display:flex}.page-head,.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:4px;display:flex}.page-head-main{flex-direction:column;min-width:0;display:flex}.page-title,.page-header h1,.page>h2{letter-spacing:-.03em;text-wrap:balance;font-size:28px;font-weight:740;line-height:1.15}.page h3{letter-spacing:-.01em;margin-bottom:10px;font-size:15px;font-weight:650}.page-desc{max-width:680px;color:var(--ink-muted);margin-top:6px;font-size:13px}.page-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.page-status{text-align:center;color:var(--ink-soft);padding:48px 24px;font-size:13px}.search-form{border-radius:var(--r-lg);flex-wrap:wrap;align-items:flex-end;gap:14px 16px;padding:16px 20px;display:flex}.search-form .field{width:200px}.search-form .field.is-wide{width:260px}.search-form .search-actions{gap:8px;margin-left:auto;display:flex}.btn{height:var(--control-h);border-radius:var(--r-sm);letter-spacing:.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:620;transition:color .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.btn:disabled{opacity:.5}.btn-sm{height:var(--control-h-sm);border-radius:var(--r-xs);gap:5px;padding:0 11px;font-size:12.5px}.btn-block{width:100%}.btn-primary{color:#fff;background:var(--blue);box-shadow:var(--e-accent);font-weight:660}.btn-primary:hover:not(:disabled){background:var(--blue-hover);box-shadow:var(--e-accent-hover)}.btn-secondary{color:var(--ink);border:1px solid var(--glass-line);background:var(--pill-bg);box-shadow:var(--e1), var(--edge-strong), var(--pill-inset)}:root[data-theme=dark] .btn-secondary{border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){box-shadow:var(--e2), var(--edge-strong), var(--pill-inset);color:var(--ink)}.btn-ghost{color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--hover-bg)}.btn-text{color:var(--blue);border-radius:var(--r-xs);height:auto;padding:4px 6px;font-weight:600}.btn-text:hover:not(:disabled){background:var(--blue-soft)}.btn-text.is-danger{color:var(--red-text)}.btn-text.is-danger:hover:not(:disabled){background:var(--red-soft)}.btn-danger{color:#fff;background:var(--red);box-shadow:var(--e-danger);font-weight:660}.btn-danger:hover:not(:disabled){background:#f14c42}.spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{border-radius:var(--r-xs);width:32px;height:32px;color:var(--ink-soft);flex:none;justify-content:center;align-items:center;transition:color .2s,background .2s,box-shadow .2s;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--ink);background:var(--hover-bg)}.icon-btn:disabled{opacity:.45}.icon-btn.is-bordered{border:1px solid var(--line-strong);background:var(--input-bg);box-shadow:var(--edge)}.icon-btn.is-danger:hover:not(:disabled){color:var(--red-text);background:var(--red-soft)}.icon-btn-sm{width:28px;height:28px}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>.segmented{align-self:flex-start;max-width:100%}.field-label{color:var(--ink-muted);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.field-label .req{color:var(--red-text);font-weight:700}.field-hint{color:var(--ink-soft);margin:0;font-size:11.5px}.field-error{color:var(--red-text);margin:0;font-size:11.5px}.field.is-inline{flex-flow:wrap;align-items:center;gap:6px 10px}.input-shell{min-width:0;height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--input-bg);box-shadow:var(--edge);color:var(--ink-soft);align-items:center;gap:8px;padding:0 12px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.input-shell:hover{border-color:rgba(var(--shade), .18)}:root[data-theme=dark] .input-shell:hover{border-color:#ffffff29}.input-shell:focus-within{outline:2px solid var(--focus);outline-offset:2px;border-color:#0000}.input-shell.is-invalid{border-color:var(--red)}.input-shell:has(>[aria-invalid=true]){border-color:var(--red)}.input-shell.is-invalid:focus-within{outline-color:var(--red)}.input-shell:has(>[aria-invalid=true]):focus-within{outline-color:var(--red)}.input-shell.is-disabled{opacity:.6;background:var(--groove-bg)}.input-shell:has(>:disabled){opacity:.6;background:var(--groove-bg)}.input-shell.is-multiline{align-items:stretch;height:auto;padding:9px 12px}.input-shell-sm{height:var(--control-h-sm);border-radius:var(--r-xs);padding:0 8px}.input-shell input,.input-shell textarea,.input-shell select{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:13px}.input-shell select{cursor:pointer}.input-shell select:disabled{cursor:not-allowed}.input-shell select option{color:var(--ink);background:var(--surface-solid)}.input-shell textarea{resize:vertical;min-height:64px;line-height:1.55}.input-shell input::placeholder,.input-shell textarea::placeholder{color:var(--ink-faint)}.input-shell input[type=number]::-webkit-inner-spin-button{opacity:.4}.checkbox{cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex;position:relative}.checkbox.is-disabled{cursor:not-allowed;opacity:.5}.checkbox:has(input:disabled){cursor:not-allowed;opacity:.5}.checkbox-box{border:1.5px solid rgba(var(--shade), .28);background:var(--input-bg);color:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative}:root[data-theme=dark] .checkbox-box{border-color:#ffffff38}.checkbox:hover .checkbox-box{border-color:var(--blue)}.checkbox input{opacity:0;width:0;height:0;margin:0;position:absolute}.checkbox input:checked+.checkbox-box,.checkbox input:indeterminate+.checkbox-box{background:var(--blue);border-color:var(--blue);box-shadow:0 2px 6px #236de947}.checkbox input:checked+.checkbox-box:after{content:"";border-bottom:2px solid;border-left:2px solid;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.checkbox input:indeterminate+.checkbox-box:after{content:"";background:currentColor;border-radius:1px;width:8px;height:2px}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--focus);outline-offset:2px}.checkbox-groups{flex-direction:column;gap:10px;max-height:50vh;display:flex;overflow-y:auto}.checkbox-group{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--input-bg);flex-wrap:wrap;gap:10px 18px;margin:0;padding:12px 14px;display:flex}.checkbox-group legend{padding:0 6px;font-weight:620}.segmented{border-radius:var(--r-sm);flex:none;padding:3px;display:inline-flex;position:relative}.segmented:has(button:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.segmented button{z-index:1;border-radius:var(--r-xs);height:28px;color:var(--ink-soft);white-space:nowrap;border:1px solid #0000;outline:none;padding:0 13px;font-size:12.5px;font-weight:600;transition:color .2s,background .2s,box-shadow .2s;position:relative}.segmented button:hover{color:var(--ink)}.segmented button.is-active{color:var(--ink);border-color:var(--glass-line);background:var(--pill-bg);box-shadow:var(--e1), var(--edge-strong), var(--pill-inset)}.tag{white-space:nowrap;height:22px;color:var(--ink-muted);background:rgba(var(--shade), .065);border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}:root[data-theme=dark] .tag{background:#ffffff12}.tag-dot{background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.tag.tone-ok{color:var(--leaf-text);background:var(--lime-soft)}.tag.tone-ok .tag-dot{background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}.tag.tone-info{color:var(--blue);background:var(--blue-soft)}.tag.tone-warn{color:var(--amber-text);background:var(--amber-soft)}.tag.tone-danger{color:var(--red-text);background:var(--red-soft)}.tag.tone-neutral .tag-dot{background:var(--ink-faint)}.avatar{color:#fff;letter-spacing:-.02em;box-shadow:inset 0 1px 0 #ffffff47, 0 1px 2px rgba(var(--shade), .12);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:650;display:inline-flex}.panel{border-radius:var(--r-lg);min-width:0}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:14px 20px;display:flex}.panel-body{padding:0 20px 20px}.card{border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--surface);min-width:0;box-shadow:var(--edge), var(--e1);padding:18px 20px}.card>*+*{margin-top:10px}.data-table{border-radius:var(--r-lg);overflow:hidden}.table-wrap{position:relative;overflow:auto clip}.table{width:100%;font-size:13px}.data-table .table{min-width:720px}.table th{z-index:1;height:40px;padding:0 var(--cell-px);text-align:left;color:var(--ink-soft);white-space:nowrap;background:var(--surface-solid);border-bottom:1px solid var(--line);font-size:12px;font-weight:620;position:sticky;top:0}.table td{height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;white-space:nowrap}.table .cell-text{text-overflow:ellipsis;vertical-align:middle;max-width:280px;display:inline-block;overflow:hidden}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--hover-bg)}.table tbody tr.is-selected{background:var(--blue-soft)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.table tbody tr.is-skeleton:hover{background:0 0}.table td.cell-empty{height:auto;padding:0}.table .col-actions{text-align:right;white-space:nowrap}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.code-chip{height:22px;font-family:var(--font-mono);color:var(--ink-muted);background:rgba(var(--shade), .06);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:11.5px;display:inline-flex}:root[data-theme=dark] .code-chip{background:#ffffff0f}.pager{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.pager-info{color:var(--ink-soft);font-size:12px}.pager-info b{color:var(--ink);font-weight:650}.pager-ctrl{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pager-size{width:112px;margin-right:6px}.pg-btn{border-radius:var(--r-xs);min-width:30px;height:30px;color:var(--ink-muted);border:1px solid #0000;justify-content:center;align-items:center;padding:0 8px;font-size:12.5px;font-weight:600;transition:color .2s,background .2s,box-shadow .2s;display:inline-flex}.pg-btn:hover:not(:disabled):not(.is-active){background:var(--hover-bg);color:var(--ink)}.pg-btn:disabled{opacity:.35}.pg-btn.is-active{color:var(--ink)}.pg-dots{text-align:center;width:22px;color:var(--ink-faint)}.overlay{z-index:var(--layer-overlay);background:var(--overlay);-webkit-backdrop-filter:blur(3px);place-items:center;padding:24px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.modal{border-radius:var(--r-xl);width:100%;max-height:calc(100dvh - 48px);box-shadow:var(--edge), var(--e3);background:var(--surface-solid);animation:modal-in .32s var(--ease-premium) both;flex-direction:column;display:flex}.modal:focus{outline:none}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:760px}.modal-xl{max-width:1100px}.modal-head{flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 6px;display:flex}.modal-title{letter-spacing:-.015em;font-size:16px;font-weight:700}.modal-sub{color:var(--ink-soft);margin-top:3px;font-size:12px}.modal-body{min-height:0;padding:14px 22px 20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-body .form-foot{margin:6px -22px -20px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.form{flex-direction:column;gap:16px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.form-grid .span-2{grid-column:1/-1}.confirm-body{align-items:flex-start;gap:14px;display:flex}.confirm-icon{border-radius:var(--r-sm);width:38px;height:38px;color:var(--blue);background:var(--blue-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.confirm-icon.is-danger{color:var(--red-text);background:var(--red-soft)}.confirm-text{color:var(--ink-muted);overflow-wrap:anywhere;padding-top:2px;font-size:13.5px;line-height:1.6}.confirm-text b,.confirm-text strong{color:var(--ink)}.alert{border-radius:var(--r-sm);color:var(--ink-muted);background:var(--hover-bg);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:12.5px;display:flex}.alert-error,.error{color:var(--red-text);background:var(--red-soft)}.alert-success{color:var(--leaf-text);background:var(--lime-soft)}.alert-warning{color:var(--amber-text);background:var(--amber-soft)}.error{border-radius:var(--r-sm);margin:0;padding:9px 12px;font-size:12.5px}.hint{color:var(--ink-soft);font-size:12px}.code-block,.config-preview,.card pre{border-radius:var(--r-md);font-family:var(--font-mono);color:#d9e1e4;background:var(--dark-surface);white-space:pre;margin:0;padding:14px 16px;font-size:12px;line-height:1.65;overflow:auto;box-shadow:inset 0 1px #ffffff0f}.event-log{border-radius:var(--r-md);max-height:400px;font-family:var(--font-mono);background:var(--groove-bg);box-shadow:var(--groove-inset);padding:10px 14px;font-size:12px;line-height:1.6;overflow:auto}.event-log>div{border-bottom:1px solid var(--line);padding:2px 0}.empty{color:var(--ink-soft);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:44px 16px;font-size:13px;display:flex}.skeleton{background:rgba(var(--shade), .08);border-radius:999px;height:12px;animation:1.4s ease-in-out infinite pulse;display:block}:root[data-theme=dark] .skeleton{background:#ffffff12}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.uploader{flex-direction:column;gap:8px;display:flex}.uploader-zone{text-align:center;border-radius:var(--r-md);border:1.5px dashed var(--line-strong);background:var(--groove-bg);box-shadow:var(--groove-inset);cursor:pointer;place-items:center;gap:4px;padding:26px 16px;transition:border-color .2s,background .2s;display:grid}.uploader-zone:hover,.uploader-zone.is-dragging{border-color:var(--blue);background:var(--blue-soft)}.uploader-zone.is-disabled{opacity:.6;cursor:not-allowed}.uploader-zone:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.uploader-label{color:var(--ink);font-weight:620}.uploader-hint{color:var(--ink-soft);font-size:11.5px}.md-editor{flex-direction:column;gap:8px;display:flex}.md-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.md-panes{gap:12px;min-height:360px;display:grid}.md-mode-split .md-panes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.md-panes>.input-shell{min-height:360px}.md-input{min-height:340px;font-family:var(--font-mono);font-size:12.5px}.md-preview{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-solid);min-height:360px;max-height:60vh;box-shadow:var(--edge);padding:12px 16px;overflow:auto}.md-empty{color:var(--ink-faint)}.markdown-body{overflow-wrap:anywhere;line-height:1.7}.markdown-body>:first-child{margin-top:0}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:.6em 0}.markdown-body h1,.markdown-body h2,.markdown-body h3{letter-spacing:-.01em;margin:1.2em 0 .5em;line-height:1.3}.markdown-body a{color:var(--blue)}.markdown-body code{font-family:var(--font-mono);background:rgba(var(--shade), .06);border-radius:5px;padding:1px 5px;font-size:.92em}:root[data-theme=dark] .markdown-body code{background:#ffffff0f}.markdown-body pre{border-radius:var(--r-sm);color:#d9e1e4;background:var(--dark-surface);padding:12px 14px;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0}.markdown-body blockquote{color:var(--ink-muted);border-left:3px solid var(--line-strong);margin:.8em 0;padding:0 12px}.markdown-body table{border-collapse:collapse}.markdown-body th,.markdown-body td{border:1px solid var(--line-strong);padding:4px 10px}.tabs{align-self:flex-start}.login-page{background:radial-gradient(50% 40% at 50% 30%, #ffffffb3, transparent 70%), radial-gradient(45% 40% at 80% 85%, var(--ambient-a), transparent 70%), radial-gradient(40% 40% at 15% 90%, var(--ambient-b), transparent 70%), var(--stage);place-items:center;min-height:100dvh;padding:32px 16px;display:grid;position:relative}:root[data-theme=dark] .login-page{background:radial-gradient(45% 40% at 80% 85%, var(--ambient-b), transparent 70%), var(--stage)}.login-card{border-radius:var(--r-xl);width:100%;max-width:420px}.login-card-inner{padding:32px 32px 30px}.login-brand{align-items:center;gap:12px;display:flex}.login-card-title{letter-spacing:-.03em;margin-top:22px;font-size:26px;font-weight:740}.login-card-sub{color:var(--ink-soft);margin-top:4px;font-size:13px}.login-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-form .input-shell{height:42px}.login-error{border-radius:var(--r-sm);color:var(--red-text);background:var(--red-soft);align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:12.5px;display:flex}.login-submit{border-radius:var(--r-md);height:46px;margin-top:4px;font-size:14px}@media (width<=1180px){.app-frame:not(.is-collapsed){--rail-w:208px}}@media (width<=1080px){.user-chip .user-meta{display:none}.md-mode-split .md-panes{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.stage{padding:0}.app-frame{border:0;border-radius:0;grid-template-columns:minmax(0,1fr);height:100dvh}.rail{z-index:110;width:260px;box-shadow:var(--e3);transition:translate .42s var(--ease-premium), visibility 0s linear .42s;visibility:hidden;position:fixed;inset:0 auto 0 0;translate:-105%}.app-frame.is-mobile-open .rail{visibility:visible;transition-delay:0s;translate:0}.rail-scrim{z-index:105;background:var(--overlay);position:fixed;inset:0}.page{padding:18px 16px 32px}.page-title,.page-header h1,.page>h2{font-size:22px}.crumbs{display:none}.search-form .field,.search-form .field.is-wide{width:100%}.search-form .search-actions{margin-left:0}}@media (width<=720px){.form-grid{grid-template-columns:minmax(0,1fr)}.modal-head{padding:18px 18px 4px}.modal-body{padding:12px 18px 18px}.modal-foot{padding:12px 18px}.modal-body .form-foot{margin:6px -18px -18px}.overlay{padding:12px}.login-card-inner{padding:26px 22px 24px}}
