.layout[data-v-163a023e]{min-height:100vh}.sidebar[data-v-163a023e]{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3);overflow-y:auto;z-index:30}.brand[data-v-163a023e]{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-5);border-bottom:1px solid var(--sidebar-line);font-weight:650;font-size:var(--text-lg)}.brand small[data-v-163a023e]{display:block;font-weight:400;font-size:var(--text-xs);color:var(--sidebar-muted)}.brand-mark[data-v-163a023e]{width:36px;height:36px;border-radius:var(--radius);background:var(--accent);display:grid;place-items:center}.nav-close[data-v-163a023e]{margin-left:auto;background:none;border:0;color:var(--sidebar-muted);cursor:pointer}.nav-group[data-v-163a023e]{margin-top:var(--space-5)}.nav-label[data-v-163a023e]{font-size:var(--text-xs);color:var(--sidebar-muted);padding:0 var(--space-3);margin-bottom:var(--space-1);letter-spacing:.5px}.nav-item[data-v-163a023e]{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius);color:var(--sidebar-muted);text-decoration:none;font-size:var(--text-sm)}.nav-item[data-v-163a023e]:hover{background:var(--sidebar-hover);color:var(--sidebar-ink)}.nav-item.active[data-v-163a023e]{background:var(--sidebar-active);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.main[data-v-163a023e]{margin-left:var(--sidebar-width);min-width:0}.topbar[data-v-163a023e]{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-8);background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.crumb[data-v-163a023e]{flex:1;font-size:var(--text-sm);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sep[data-v-163a023e]{margin:0 var(--space-2);color:var(--line-strong)}.content[data-v-163a023e]{max-width:var(--content-max);margin:0 auto;padding:var(--space-8)}.backdrop[data-v-163a023e]{position:fixed;inset:0;background:var(--overlay);z-index:25}@media(max-width:860px){.sidebar[data-v-163a023e]{transform:translate(-100%);transition:transform var(--dur)}.nav-open .sidebar[data-v-163a023e]{transform:none;box-shadow:var(--shadow-pop)}.main[data-v-163a023e]{margin-left:0}.topbar[data-v-163a023e]{padding:0 var(--space-4)}.content[data-v-163a023e]{padding:var(--space-5) var(--space-4)}}.confirm[data-v-2e2aa467]{width:min(480px,calc(100vw - 32px));border:0;border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-pop);color:var(--ink)}.confirm[data-v-2e2aa467]::backdrop{background:var(--overlay)}h2[data-v-2e2aa467]{font-size:var(--text-lg)}.body[data-v-2e2aa467]{color:var(--muted);white-space:pre-line}.actions[data-v-2e2aa467]{display:flex;justify-content:flex-end;gap:var(--space-2)}.notices[data-v-601258fe]{position:fixed;inset:auto var(--space-5) var(--space-5) auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;display:flex;flex-direction:column;gap:var(--space-2);width:min(420px,calc(100vw - 32px))}.notices[data-v-601258fe]:not(:popover-open){display:none}.notice[data-v-601258fe]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-pop);font-size:var(--text-sm)}.notice.success[data-v-601258fe]{border-color:var(--success-line);color:var(--success)}.notice.error[data-v-601258fe]{border-color:var(--error-line);color:var(--error);background:var(--error-soft)}.notice.warning[data-v-601258fe]{border-color:var(--warning-line);color:var(--warning);background:var(--warning-soft)}.text[data-v-601258fe]{flex:1;overflow-wrap:anywhere;color:var(--ink)}.close[data-v-601258fe]{border:0;background:none;padding:0;cursor:pointer;color:var(--muted)}.login[data-v-39e0cf00]{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.card[data-v-39e0cf00]{width:min(400px,100%);padding:var(--space-8)}h1[data-v-39e0cf00]{font-size:var(--text-xl)}.mark[data-v-39e0cf00]{width:44px;height:44px;border-radius:var(--radius);background:var(--accent);color:#fff;display:grid;place-items:center}.booting[data-v-cf6fbd3b]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}:root{--bg: #f3f6fa;--surface: #ffffff;--surface-soft: #f7f9fc;--ink: #1f2c3d;--muted: #5b6a7e;--line: #dce3ec;--line-strong: #c5d0dd;--accent: #1765d1;--accent-hover: #1055b4;--accent-ink: #ffffff;--accent-soft: #edf4ff;--accent-line: #c6dbf8;--success: #18734d;--success-soft: #eaf6ef;--success-line: #bfe2cd;--warning: #885719;--warning-soft: #fff7e9;--warning-line: #ecd7ad;--error: #b23636;--error-soft: #fff0f0;--error-line: #ebc4c4;--sidebar: #17232f;--sidebar-ink: #e8eef5;--sidebar-muted: #a9b7c8;--sidebar-line: #2b3a4a;--sidebar-hover: #223241;--sidebar-active: #263e57;--focus: #4386de;--overlay: rgb(14 26 42 / 52%);--shadow: 0 1px 2px rgb(22 40 68 / 6%), 0 4px 16px rgb(22 40 68 / 6%);--shadow-pop: 0 12px 40px rgb(22 40 68 / 22%);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: 13px;--text-sm: 14px;--text-base: 15px;--text-lg: 17px;--text-xl: 21px;--text-title: 26px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 6px;--radius: 8px;--radius-card: 12px;--control-height: 40px;--sidebar-width: 240px;--content-max: 1440px;--dur: .16s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--text-base)/1.6 var(--font-body)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.3}p{margin:0}code,.mono{font-family:var(--font-mono);font-size:max(var(--text-xs),.92em);overflow-wrap:anywhere}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:start}.grid-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:var(--space-5);align-items:start}@media(max-width:1100px){.grid-2,.grid-main{grid-template-columns:minmax(0,1fr)}}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.tiny{font-size:var(--text-xs)}.strong{font-weight:600}.break{overflow-wrap:anywhere}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;flex-wrap:wrap}.panel-head h2{font-size:var(--text-lg);font-weight:650}.panel-head p{color:var(--muted);font-size:var(--text-sm);margin-top:2px}.panel-body{padding:var(--space-5)}.panel-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);background:var(--surface-soft);border-radius:0 0 var(--radius-card) var(--radius-card)}details.panel>summary{cursor:pointer;list-style:none;padding:var(--space-4) var(--space-5);font-weight:600;display:flex;align-items:center;gap:var(--space-2)}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:before{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform var(--dur)}details.panel[open]>summary:before{transform:rotate(45deg)}details.panel>.panel-body{padding-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:550;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--dur),border-color var(--dur)}.btn:hover:not(:disabled){background:var(--surface-soft);border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--error);border-color:var(--error-line)}.btn.danger:hover:not(:disabled){background:var(--error-soft);border-color:var(--error)}.btn.danger.solid{background:var(--error);border-color:var(--error);color:#fff}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:var(--surface-soft);color:var(--ink)}.btn.sm{min-height:34px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn .spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-weight:600;font-size:var(--text-sm)}.field .hint{color:var(--muted);font-size:var(--text-xs)}.field .error-text{color:var(--error);font-size:var(--text-xs)}.input,.select,.textarea{width:100%;min-height:var(--control-height);padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm)}.textarea{min-height:96px;resize:vertical;line-height:1.6;font-family:var(--font-mono);font-size:var(--text-xs)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error)}.check{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}.check input{margin-top:4px;accent-color:var(--accent)}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.segmented button{border:0;background:var(--surface);padding:6px 14px;min-height:36px;font-size:var(--text-sm);cursor:pointer;color:var(--muted)}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.success{background:var(--success-soft);color:var(--success);border-color:var(--success-line)}.badge.warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line)}.badge.error{background:var(--error-soft);color:var(--error);border-color:var(--error-line)}.badge.info{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.callout{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.callout.success{background:var(--success-soft);border-color:var(--success-line);color:var(--success)}.callout.warning{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning)}.callout.error{background:var(--error-soft);border-color:var(--error-line);color:var(--error)}.callout.info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}.callout strong{display:block;margin-bottom:2px}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2) var(--space-5);font-size:var(--text-sm);margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow)}.metric .label{color:var(--muted);font-size:var(--text-xs)}.metric .value{font-size:var(--text-xl);font-weight:650;margin-top:4px;font-variant-numeric:tabular-nums}.metric .sub{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width var(--dur)}.progress.warning>span{background:var(--warning)}.progress.error>span{background:var(--error)}.table-wrap{overflow-x:auto;border-top:1px solid var(--line)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{text-align:left;font-weight:600;color:var(--muted);font-size:var(--text-xs);padding:10px var(--space-4);background:var(--surface-soft);border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-soft)}.table tr.selected{background:var(--accent-soft)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.list{list-style:none;margin:0;padding:0}.list>li{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line)}.list>li:first-child{border-top:0}button.list-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);cursor:pointer}button.list-item:hover,button.list-item[aria-current=true]{background:var(--surface-soft)}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 var(--space-4) var(--space-5);border-left:2px solid var(--line);margin-left:5px;font-size:var(--text-sm);overflow-wrap:anywhere}.timeline li:last-child{border-left-color:transparent}.timeline li:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--surface)}.timeline li.success:before{background:var(--success)}.timeline li.warning:before{background:var(--warning)}.timeline li.error:before{background:var(--error)}.timeline time{display:block;color:var(--muted);font-size:var(--text-xs)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
