.site-header[data-v-a711bf8b]{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--ink-200);background:#ffffffeb;position:sticky;top:0}.header-inner[data-v-a711bf8b]{max-width:1340px;height:var(--header-h);padding:0 var(--sp-6);align-items:center;gap:var(--sp-6);margin:0 auto;display:flex}.brand[data-v-a711bf8b]{color:inherit;flex:none;align-items:center;gap:10px;display:flex}.brand-mark[data-v-a711bf8b]{flex:none;width:28px;height:28px}.brand-text[data-v-a711bf8b]{flex-direction:column;line-height:1.15;display:flex}.brand-name[data-v-a711bf8b]{font-size:var(--fs-lg);color:var(--ink-900);letter-spacing:-.02em;font-weight:700}.brand-tag[data-v-a711bf8b]{color:var(--ink-500);letter-spacing:.06em;font-size:10.5px}.header-nav[data-v-a711bf8b]{flex:1;align-items:center;gap:2px;display:flex}.nav-link[data-v-a711bf8b]{border-radius:var(--r-md);color:var(--ink-600);font-size:var(--fs-sm);padding:6px 12px;font-weight:550;transition:background .15s,color .15s}.nav-link[data-v-a711bf8b]:hover{background:var(--ink-100);color:var(--ink-900)}.nav-link.active[data-v-a711bf8b],.nav-link.router-link-active[data-v-a711bf8b]{color:var(--brand-700);background:var(--brand-50)}.header-actions[data-v-a711bf8b]{flex:none;align-items:center;display:flex}.menu-toggle[data-v-a711bf8b]{color:var(--ink-600);display:none}@media (width<=860px){.header-inner[data-v-a711bf8b]{padding:0 var(--sp-4);gap:var(--sp-3)}.brand-tag[data-v-a711bf8b]{display:none}.menu-toggle[data-v-a711bf8b]{display:inline-flex}.header-nav[data-v-a711bf8b]{top:var(--header-h);padding:var(--sp-3);background:var(--white);border-bottom:1px solid var(--ink-200);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:2px;display:none;position:absolute;left:0;right:0}.header-nav.open[data-v-a711bf8b]{display:flex}.nav-link[data-v-a711bf8b]{padding:10px 12px}}.site-footer[data-v-b0b0fa80]{padding-top:var(--sp-12);background:var(--white);border-top:1px solid var(--ink-200);margin-top:auto}.footer-inner[data-v-b0b0fa80]{gap:var(--sp-8);padding-bottom:var(--sp-8);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-col[data-v-b0b0fa80]{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.footer-desc[data-v-b0b0fa80]{max-width:300px;line-height:1.65}.footer-head[data-v-b0b0fa80]{font-size:var(--fs-xs);color:var(--ink-900);letter-spacing:.04em;margin-bottom:2px;font-weight:650}.footer-link[data-v-b0b0fa80]{font-size:var(--fs-sm);color:var(--ink-600)}.footer-link[data-v-b0b0fa80]:hover{color:var(--brand-600)}.footer-bottom[data-v-b0b0fa80]{justify-content:space-between;align-items:center;gap:var(--sp-4);padding-top:var(--sp-4);padding-bottom:var(--sp-6);border-top:1px solid var(--ink-100);flex-wrap:wrap;display:flex}@media (width<=780px){.footer-inner[data-v-b0b0fa80]{gap:var(--sp-6);grid-template-columns:1fr 1fr}.footer-brand[data-v-b0b0fa80]{grid-column:1/-1}}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}.app-wide{height:100%;overflow:hidden}.app-wide .app-main{overflow:hidden}:root{--brand-50:#eef4ff;--brand-100:#dae6ff;--brand-200:#bcd2ff;--brand-300:#8eb4ff;--brand-400:#598cfb;--brand-500:#3366e6;--brand-600:#2350c9;--brand-700:#1c3fa1;--brand-800:#1a3680;--brand-900:#1a3068;--ink-900:#0f1729;--ink-800:#1c2637;--ink-700:#33415c;--ink-600:#4a5872;--ink-500:#6b7894;--ink-400:#94a0b8;--ink-300:#c3cbd9;--ink-200:#dfe4ec;--ink-100:#eef1f6;--ink-50:#f6f8fb;--white:#fff;--ok-50:#e9f8ef;--ok-100:#cdf0dc;--ok-500:#14884a;--ok-600:#0f6f3c;--warn-50:#fff6e6;--warn-100:#ffe9c2;--warn-500:#b8730a;--warn-600:#965c05;--danger-50:#fdeced;--danger-100:#fbd5d8;--danger-500:#c62834;--danger-600:#a31d28;--info-50:#eaf4fb;--info-500:#12719c;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--fs-4xl:44px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--shadow-xs:0 1px 2px #0f17290f;--shadow-sm:0 1px 3px #0f172914, 0 1px 2px #0f17290a;--shadow-md:0 4px 12px #0f172914, 0 2px 4px #0f17290a;--shadow-lg:0 12px 32px #0f17291f, 0 4px 8px #0f17290a;--shadow-focus:0 0 0 3px #3366e62e;--header-h:58px;--sidebar-w:264px;--sidebar-w-collapsed:56px;--content-max:1220px}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--ink-800);background:var(--ink-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.62}h1,h2,h3,h4,h5{color:var(--ink-900);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:650;line-height:1.32}p{margin:0}p,li{text-wrap:pretty}body{line-break:strict;overflow-wrap:break-word}a{color:var(--brand-600);text-decoration:none;transition:color .15s}a:hover{color:var(--brand-700)}ul,ol{margin:0;padding-left:1.25em}button{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}::selection{background:var(--brand-100);color:var(--brand-900)}*{scrollbar-width:thin;scrollbar-color:var(--ink-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:var(--r-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-400);background-clip:content-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--content-max);padding:0 var(--sp-6);margin:0 auto}.container-narrow{max-width:880px}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.btn{border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--white);height:34px;color:var(--ink-700);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:550;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300);color:var(--ink-900)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand-600);border-color:var(--brand-600);color:var(--white);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700);color:var(--white)}.btn-danger{color:var(--danger-500);border-color:var(--danger-100);background:var(--white)}.btn-danger:hover:not(:disabled){background:var(--danger-50);border-color:var(--danger-500);color:var(--danger-600)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--ink-100);border-color:#0000}.btn-lg{height:44px;font-size:var(--fs-md);border-radius:var(--r-md);padding:0 24px}.btn-sm{height:28px;font-size:var(--fs-xs);padding:0 10px}.btn-icon{border-radius:var(--r-md);width:30px;height:30px;padding:0}.btn-block{width:100%}.card{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card-pad{padding:var(--sp-6)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--ink-100);display:flex}.card-title{font-size:var(--fs-md);color:var(--ink-900);font-weight:650}.card-sub{font-size:var(--fs-sm);color:var(--ink-500);margin-top:2px}.card-body{padding:var(--sp-6)}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--fs-sm);color:var(--ink-700);font-weight:550}.field-hint{font-size:var(--fs-xs);color:var(--ink-500);line-height:1.55}.field-error{font-size:var(--fs-xs);color:var(--danger-500)}.input,.select,.textarea{border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--white);width:100%;height:36px;color:var(--ink-900);font-family:inherit;font-size:var(--fs-base);padding:0 10px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:96px;padding:8px 10px;line-height:1.6}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-500);box-shadow:var(--shadow-focus);outline:none}.input:disabled,.select:disabled{background:var(--ink-50);color:var(--ink-400);cursor:not-allowed}.input-num{text-align:right;font-variant-numeric:tabular-nums}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%236b7894' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.input-group{align-items:stretch;display:flex}.input-group .input{border-radius:var(--r-md) 0 0 var(--r-md)}.input-addon{border:1px solid var(--ink-200);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--ink-50);color:var(--ink-500);font-size:var(--fs-sm);white-space:nowrap;border-left:none;align-items:center;padding:0 10px;display:flex}.switch{align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{border-radius:var(--r-full);background:var(--ink-300);flex:none;width:38px;height:22px;transition:background .18s;position:relative}.switch-track:after{content:"";background:var(--white);width:18px;height:18px;box-shadow:var(--shadow-xs);border-radius:50%;transition:transform .18s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--brand-600)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--shadow-focus)}.segmented{border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--ink-50);gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--ink-600);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-weight:550;transition:background .15s,color .15s}.segmented button:hover{color:var(--ink-900)}.segmented button.active{background:var(--white);color:var(--brand-700);box-shadow:var(--shadow-xs)}.choice-grid{gap:var(--sp-3);display:grid}.choice{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--ink-200);border-radius:var(--r-md);background:var(--white);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.choice:hover{border-color:var(--brand-300);background:var(--brand-50)}.choice.selected{border-color:var(--brand-500);background:var(--brand-50);box-shadow:var(--shadow-focus)}.choice input{accent-color:var(--brand-600);flex:none;margin:3px 0 0}.choice>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-title{font-size:var(--fs-base);color:var(--ink-900);font-weight:600;line-height:1.45;display:block}.choice-desc{font-size:var(--fs-xs);color:var(--ink-500);line-height:1.6;display:block}.badge{border-radius:var(--r-full);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:600;line-height:1.6;display:inline-flex}.badge-brand{background:var(--brand-50);color:var(--brand-700)}.badge-ok{background:var(--ok-50);color:var(--ok-600)}.badge-warn{background:var(--warn-50);color:var(--warn-600)}.badge-danger{background:var(--danger-50);color:var(--danger-600)}.badge-muted{background:var(--ink-100);color:var(--ink-600)}.badge-info{background:var(--info-50);color:var(--info-500)}.note{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid #0000;line-height:1.62;display:flex}.note-icon{flex:none;font-size:15px;line-height:1.5}.note-tip{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-800)}.note-warn{background:var(--warn-50);border-color:var(--warn-100);color:var(--warn-600)}.note-danger{background:var(--danger-50);border-color:var(--danger-100);color:var(--danger-600)}.note-ok{background:var(--ok-50);border-color:var(--ok-100);color:var(--ok-600)}.note-muted{background:var(--ink-50);border-color:var(--ink-200);color:var(--ink-600)}.table-wrap{border:1px solid var(--ink-200);border-radius:var(--r-lg);background:var(--white);overflow-x:auto}.table{min-width:100%;font-size:var(--fs-sm)}.table th{text-align:left;font-weight:600;font-size:var(--fs-xs);letter-spacing:.03em;color:var(--ink-500);background:var(--ink-50);border-bottom:1px solid var(--ink-200);white-space:nowrap;z-index:1;padding:10px 12px;position:sticky;top:0}.table td{border-bottom:1px solid var(--ink-100);vertical-align:middle;padding:9px 12px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--ink-50)}.table tbody tr.is-self{background:var(--brand-50)}.table tbody tr.is-self:hover{background:var(--brand-100)}.table .num-cell{text-align:right;font-variant-numeric:tabular-nums}.table .th-num{text-align:right}.divider{background:var(--ink-100);height:1px;margin:var(--sp-5) 0;border:none}.muted{color:var(--ink-500)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:650}.center{text-align:center}.right{text-align:right}.empty{align-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-6);text-align:center;color:var(--ink-500);flex-direction:column;display:flex}.empty-icon{opacity:.55;font-size:34px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .16s}.fade-enter-from,.fade-leave-to{opacity:0}.modal-mask{z-index:200;padding:var(--sp-6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f17296b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--r-xl);width:100%;max-width:560px;max-height:88vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal-wide{max-width:860px}.modal-head{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--ink-100);display:flex}.modal-body{padding:var(--sp-6);overflow-y:auto}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--ink-100);background:var(--ink-50);display:flex}@media (width<=720px){.container{padding:0 var(--sp-4)}.card-pad,.card-body,.card-head{padding:var(--sp-4)}}@media print{body{color:#000;background:#fff}.no-print,.site-header,.site-footer,.workbench-sidebar,.step-nav,.modal-head,.modal-foot{display:none!important}.modal-mask{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;display:block;position:static}.modal,.modal-wide{width:100%;max-width:none;max-height:none;box-shadow:none;border-radius:0;overflow:visible}.modal-body{padding:0;overflow:visible}.report{color:#000;font-size:11pt}.report-section{break-inside:avoid;page-break-inside:avoid}.report h1{font-size:19pt}.report h2{font-size:13pt}.report .table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#f0f0f0!important}.report .table,.report .table-wrap{border-color:#999}.report .table td,.report .table th{border-color:#ccc}.report-page-break{break-before:page;page-break-before:always}a[href]:after{content:""}@page{size:A4;margin:16mm 14mm}}
