:root{--bg: #eef2f7;--surface: #ffffff;--surface-2: #f5f8fb;--ink: #16202c;--ink-2: #566074;--ink-3: #6b7688;--line: #e2e8f0;--accent: #4f46e5;--accent-hover: #4338ca;--accent-ink: #ffffff;--accent-soft: #e8eaff;--warn: #b45309;--warn-soft: #fef3e2;--danger: #b3362c;--danger-soft: #fdeceb;--danger-line: #ecc8c5;--info: #0369a1;--info-soft: #e0f2fe;--row-hover: #f6f7fd;--scroll-thumb: #cfd8e3;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .07);--shadow-lift: 0 4px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .05);--sidebar: #ffffff;--sidebar-ink: #5c6779;--sidebar-ink-strong: #16202c;--sidebar-hover: #f1f5f9;--sidebar-border: #e2e8f0;--sidebar-chip: #eef2f7;--page-pad: clamp(12px, 2.5vw, 26px);--touch: 40px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.nav-locked{overflow:hidden}h1{font-size:clamp(17px,2.2vw,20px);font-weight:650;margin:0;letter-spacing:-.01em}h2{font-size:15px;font-weight:650;margin:0}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:clamp(13px,2vw,18px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s,transform .05s;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--surface-2);box-shadow:var(--shadow)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:var(--danger-line)}.btn-danger:hover{background:var(--danger-soft)}label.field{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:5px}.input,select.input,textarea.input{width:100%;min-height:38px;padding:8px 11px;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit;transition:border-color .12s,box-shadow .12s}textarea.input{min-height:0}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:14px}.hint{font-size:12px;color:var(--ink-3);margin-top:4px}.error-text{color:var(--danger);font-size:13px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:650;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}.table tbody tr{cursor:pointer;transition:background .1s}.table tbody tr:hover{background:var(--row-hover)}.table tbody tr:last-child td{border-bottom:none}.chip{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:650;border-radius:999px;white-space:nowrap}.chip.neutral{background:var(--surface-2);color:var(--ink-2)}.chip.good{background:var(--accent-soft);color:var(--accent)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--danger-soft);color:var(--danger)}.card{overflow-x:auto}.page{padding:var(--page-pad);max-width:1680px;margin-inline:auto}.page.narrow{max-width:980px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-head .sub{color:var(--ink-2);font-size:13px;margin-top:3px}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:7px 15px;font-size:13px;font-weight:650;line-height:1;color:var(--accent);background:var(--accent-soft);border:1.5px solid var(--accent);border-radius:999px;text-decoration:none;box-shadow:var(--shadow);transition:background .13s ease,color .13s ease,transform .13s ease,box-shadow .13s ease}.back:hover{background:var(--accent);color:var(--accent-ink);transform:translate(-2px);box-shadow:var(--shadow-lift)}.back:active{transform:translate(-2px) translateY(1px)}.back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stack{display:grid;gap:16px}.empty{padding:38px 20px;text-align:center;color:var(--ink-2);font-size:13.5px}.empty strong{display:block;font-size:14.5px;color:var(--ink);margin-bottom:4px}.card::-webkit-scrollbar{height:8px;width:8px}.card::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}.card::-webkit-scrollbar-track{background:transparent}@media(max-width:900px){.input,select.input,textarea.input{font-size:16px;min-height:var(--touch)}.btn{min-height:var(--touch)}.page-head{row-gap:10px}}@media(max-width:560px){.table th{padding:8px 10px}.table td{padding:9px 10px;font-size:13px}.stack{gap:12px}.page-head{margin-bottom:14px}.page-head>.btn,.page-head>a.btn{flex:1 1 100%}}@media print{.side,.topbar,.backdrop,.no-print{display:none!important}.main{padding:0!important;overflow:visible!important}.shell{display:block!important}body{background:#fff}.screen-only{display:none!important}.print-sheet{display:block!important}}.print-sheet{display:none}.cp-backdrop[data-v-6185cf06]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14212b73;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:2000}.cp[data-v-6185cf06]{width:560px;max-width:calc(100vw - 32px);background:var(--surface);border-radius:12px;box-shadow:0 24px 60px #0000004d;overflow:hidden}.cp-input[data-v-6185cf06]{width:100%;border:none;border-bottom:1px solid var(--line);padding:16px 18px;font-size:15px;font-family:inherit}.cp-input[data-v-6185cf06]:focus{outline:none}.cp-results[data-v-6185cf06]{max-height:320px;overflow-y:auto;padding:6px}.cp-hint[data-v-6185cf06]{padding:18px;color:var(--ink-3);font-size:13px;text-align:center}.cp-row[data-v-6185cf06]{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:none;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13.5px}.cp-row.active[data-v-6185cf06]{background:var(--accent-soft)}.cp-num[data-v-6185cf06]{font-weight:650;color:var(--accent);min-width:96px}.cp-kind[data-v-6185cf06]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);min-width:84px}.cp-sub[data-v-6185cf06]{flex:1;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-foot[data-v-6185cf06]{border-top:1px solid var(--line);padding:8px 14px;font-size:11.5px;color:var(--ink-3);display:flex;gap:12px}kbd[data-v-6185cf06]{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.ai[data-v-310dcb0a]{position:fixed;right:22px;bottom:22px;z-index:1500}.ai-fab[data-v-310dcb0a]{display:flex;align-items:center;gap:7px;padding:11px 17px;border:none;cursor:pointer;background:var(--accent);color:var(--accent-ink);border-radius:999px;box-shadow:0 8px 22px #0000002e;font-size:13.5px;font-weight:600}.ai-fab[data-v-310dcb0a]:hover{background:var(--accent-hover)}.ai-panel[data-v-310dcb0a]{width:360px;max-width:calc(100vw - 28px);height:520px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 44px #0000003d;overflow:hidden}.ai-head[data-v-310dcb0a]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--accent);color:var(--accent-ink)}.ai-title[data-v-310dcb0a]{font-weight:650}.ai-x[data-v-310dcb0a]{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;opacity:.85}.ai-msgs[data-v-310dcb0a]{flex:1;overflow-y:auto;padding:14px;background:var(--bg)}.ai-empty[data-v-310dcb0a]{color:var(--ink-2);font-size:13px}.ai-chip[data-v-310dcb0a]{display:block;width:100%;text-align:left;margin-top:8px;padding:8px 10px;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer}.ai-chip[data-v-310dcb0a]:hover{border-color:var(--accent);color:var(--accent)}.ai-msg[data-v-310dcb0a]{display:flex;margin-bottom:10px}.ai-msg.user[data-v-310dcb0a]{justify-content:flex-end}.ai-bubble[data-v-310dcb0a]{max-width:84%;padding:9px 12px;font-size:13px;line-height:1.45;border-radius:10px;white-space:pre-wrap}.ai-msg.user .ai-bubble[data-v-310dcb0a]{background:var(--accent);color:var(--accent-ink)}.ai-msg.assistant .ai-bubble[data-v-310dcb0a]{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.ai-typing[data-v-310dcb0a]{display:flex;gap:4px}.ai-typing span[data-v-310dcb0a]{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:b-310dcb0a 1.2s infinite both}.ai-typing span[data-v-310dcb0a]:nth-child(2){animation-delay:.2s}.ai-typing span[data-v-310dcb0a]:nth-child(3){animation-delay:.4s}@keyframes b-310dcb0a{0%,80%,to{opacity:.3}40%{opacity:1}}.ai-input[data-v-310dcb0a]{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.ai-input input[data-v-310dcb0a]{flex:1;padding:9px 11px;font-size:13px;border:1px solid var(--line);border-radius:8px;font-family:inherit}.ai-input input[data-v-310dcb0a]:focus{outline:none;border-color:var(--accent)}.ai-input button[data-v-310dcb0a]{padding:9px 15px;border:none;background:var(--accent);color:var(--accent-ink);border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}.ai-input button[data-v-310dcb0a]:disabled{opacity:.5;cursor:not-allowed}.api-error[data-v-0f38b92c]{display:flex;align-items:center;gap:12px;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13px}.api-error-text[data-v-0f38b92c]{flex:1}.api-error-x[data-v-0f38b92c]{background:none;border:0;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}.bare[data-v-0f38b92c]{height:100%}.shell[data-v-0f38b92c]{display:flex;height:100%}.side[data-v-0f38b92c]{width:218px;flex-shrink:0;display:flex;flex-direction:column;background:var(--sidebar);color:var(--sidebar-ink);border-right:1px solid var(--sidebar-border)}.brand[data-v-0f38b92c]{display:flex;gap:10px;align-items:center;padding:18px 16px 14px}.brand-mark[data-v-0f38b92c]{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:14px}.brand-mark.sm[data-v-0f38b92c]{width:26px;height:26px;font-size:12px;border-radius:7px}.brand-name[data-v-0f38b92c]{color:var(--sidebar-ink-strong);font-weight:650;font-size:14px}.brand-sub[data-v-0f38b92c]{font-size:11px;color:var(--sidebar-ink)}.brand .close[data-v-0f38b92c]{display:none;margin-left:auto;color:var(--sidebar-ink)}.nav[data-v-0f38b92c]{flex:1;padding:8px 10px;overflow-y:auto}.ico[data-v-0f38b92c]{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--sidebar-chip);background:color-mix(in srgb,var(--mod, #7f8ea0) 16%,transparent);color:var(--mod, #7f8ea0);transition:background .15s ease,transform .15s ease}.ico-svg[data-v-0f38b92c]{width:15px;height:15px;display:block}.nav-group[data-v-0f38b92c]{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;padding:7px 8px;margin:4px 0 1px;border-radius:9px;font-size:12px;font-weight:650;letter-spacing:.01em;color:var(--sidebar-ink)}.nav-group[data-v-0f38b92c]:hover{background:var(--sidebar-hover);color:var(--sidebar-ink-strong)}.nav-group:hover .ico[data-v-0f38b92c]{background:var(--sidebar-chip);background:color-mix(in srgb,var(--mod) 28%,transparent)}.nav-group .g-label[data-v-0f38b92c]{flex:1;min-width:0}.nav-group .chev[data-v-0f38b92c]{flex-shrink:0;opacity:.5;transition:transform .18s ease}.nav-group.open[data-v-0f38b92c]{color:var(--sidebar-ink-strong)}.nav-group.open .chev[data-v-0f38b92c]{transform:rotate(180deg)}.letter[data-v-0f38b92c]{flex-shrink:0;min-width:15px;height:15px;padding:0 3px;border-radius:4px;display:grid;place-items:center;background:var(--sidebar-chip);color:var(--ink-2);font-size:9px;font-weight:800;letter-spacing:0}.nav-group:hover .letter[data-v-0f38b92c],.nav-group.open .letter[data-v-0f38b92c]{color:var(--ink)}.nav-item[data-v-0f38b92c]{position:relative;display:flex;align-items:center;gap:9px;padding:7px 10px;margin:1px 0;border-radius:9px;color:var(--sidebar-ink);font-size:13.5px;font-weight:550;transition:background .14s ease,color .14s ease}.nav-item .g-label[data-v-0f38b92c]{flex:1;min-width:0}.nav-item.sub[data-v-0f38b92c]{padding-left:40px;font-size:13px}.nav-item[data-v-0f38b92c]:hover{background:var(--sidebar-hover);color:var(--sidebar-ink-strong)}.nav-item:hover .ico[data-v-0f38b92c]{background:var(--sidebar-chip);background:color-mix(in srgb,var(--mod) 28%,transparent)}.nav-item.on[data-v-0f38b92c]{background:var(--accent-soft);background:color-mix(in srgb,var(--mod) 18%,transparent);color:var(--sidebar-ink-strong);font-weight:600}.nav-item.on[data-v-0f38b92c]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:17px;border-radius:0 3px 3px 0;background:var(--mod)}.nav-item.on .ico[data-v-0f38b92c]{background:var(--sidebar-chip);background:color-mix(in srgb,var(--mod) 34%,transparent)}.nav-item.on .letter[data-v-0f38b92c]{background:var(--sidebar-chip);color:var(--sidebar-ink-strong)}.nav-item.sub.on[data-v-0f38b92c]{padding-left:40px}.soon[data-v-0f38b92c]{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.03em;padding:2px 5px;border-radius:4px;background:var(--sidebar-chip);color:var(--ink-3)}@media(prefers-reduced-motion:reduce){.ico[data-v-0f38b92c],.nav-item[data-v-0f38b92c],.nav-group .chev[data-v-0f38b92c]{transition:none}}button.nav-item[data-v-0f38b92c]{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.search-trigger kbd[data-v-0f38b92c]{margin-left:auto;background:var(--sidebar-chip);border-radius:4px;padding:1px 5px;font-size:10.5px;font-family:inherit}.side-foot[data-v-0f38b92c]{padding:12px 14px;border-top:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:space-between;gap:8px}.me[data-v-0f38b92c]{display:block;border-radius:7px;padding:4px 6px;margin:-4px -6px}.me[data-v-0f38b92c]:hover,.me-on[data-v-0f38b92c]{background:var(--sidebar-hover)}.me-name[data-v-0f38b92c]{color:var(--sidebar-ink-strong);font-size:13px;font-weight:600}.me-role[data-v-0f38b92c]{font-size:11.5px;color:var(--sidebar-ink)}.signout[data-v-0f38b92c]{background:none;border:1px solid var(--line);color:var(--sidebar-ink);font-size:11.5px;padding:5px 9px;border-radius:6px;cursor:pointer;flex-shrink:0}.signout[data-v-0f38b92c]:hover{color:var(--accent);border-color:var(--accent)}.main[data-v-0f38b92c]{flex:1;overflow-y:auto;min-width:0}.topbar[data-v-0f38b92c],.backdrop[data-v-0f38b92c]{display:none}.icon-btn[data-v-0f38b92c]{background:none;border:none;color:inherit;cursor:pointer;display:grid;place-items:center;min-width:42px;min-height:42px;padding:6px;border-radius:10px;-webkit-tap-highlight-color:transparent}.icon-btn[data-v-0f38b92c]:active{background:var(--sidebar-hover)}@media(max-width:900px){.topbar[data-v-0f38b92c]{display:flex;align-items:center;gap:8px;position:fixed;top:0;left:0;right:0;height:calc(54px + env(safe-area-inset-top));z-index:30;padding:env(safe-area-inset-top) 6px 0;background:var(--sidebar);color:var(--sidebar-ink-strong);border-bottom:1px solid var(--sidebar-border);box-shadow:0 1px 4px #10182814}.tb-brand[data-v-0f38b92c]{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px;flex:1}.topbar .icon-btn[data-v-0f38b92c]{color:var(--sidebar-ink-strong)}.side[data-v-0f38b92c]{position:fixed;top:0;bottom:0;left:0;width:min(280px,84vw);z-index:50;padding-top:env(safe-area-inset-top);transform:translate(-100%);transition:transform .24s cubic-bezier(.3,.7,.3,1);box-shadow:8px 0 28px #1018282e}.shell.nav-open .side[data-v-0f38b92c]{transform:translate(0)}.brand .close[data-v-0f38b92c]{display:grid}.nav-item[data-v-0f38b92c]{padding:11px 12px;font-size:14px}.nav-item.sub[data-v-0f38b92c]{padding-left:34px;font-size:13.5px}.nav-group[data-v-0f38b92c]{padding:12px 10px;font-size:11.5px}.side-foot[data-v-0f38b92c]{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.backdrop[data-v-0f38b92c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d141c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}.shell.nav-open .backdrop[data-v-0f38b92c]{display:block;opacity:1;pointer-events:auto}.main[data-v-0f38b92c]{padding-top:calc(54px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){.side[data-v-0f38b92c],.backdrop[data-v-0f38b92c],.btn[data-v-0f38b92c]{transition:none!important}}
