.captcha-row[data-v-2c4c4b12]{display:flex;gap:10px;align-items:center}.captcha[data-v-2c4c4b12]{height:40px;border-radius:var(--r-xl);border:1px solid var(--line-input);cursor:pointer;flex-shrink:0;background:#fff}.revealed[data-v-2ecd069b]{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line-active);background:var(--bg-active);border-radius:var(--r-xl)}.revealed .mono[data-v-2ecd069b]{font-size:12px;word-break:break-all;color:var(--warn)}.revealed[data-v-ede8c80c]{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line-active);background:var(--bg-active);border-radius:var(--r-xl)}.revealed .mono[data-v-ede8c80c]{font-size:12px;word-break:break-all;color:var(--warn)}:root{color-scheme:light;--bg-root: #F4F5F7;--bg-side: #FFFFFF;--bg-panel: #FFFFFF;--bg-panel-2: #FAFBFC;--bg-input: #FFFFFF;--bg-input-2: #F6F7F9;--bg-tab: #F1F3F6;--bg-hover: #F2F4F7;--bg-active: #EEF0F7;--bg-row: #FAFBFC;--bg-sunken: #F1F3F6;--line: #E4E7EC;--line-2: #E8EBF0;--line-3: #EDF0F3;--line-input: #DCE1E8;--line-input-2: #CED5DE;--line-active: #C9CEEF;--line-primary: #5E6AD2;--line-filter: #E0E4EA;--text-1: #1A1E27;--text-2: #3C434F;--text-3: #49515D;--text-4: #4F5866;--text-5: #57606D;--text-6: #5F6876;--text-7: #666E7C;--text-primary: #4C56B8;--text-primary-2: #414BB0;--primary: #5E6AD2;--primary-hover: #4F5AC2;--primary-soft: #4C56B8;--primary-deep: #3B5BC7;--ok: #157A45;--ok-bg: #E6F7EE;--warn: #9A6408;--warn-bg: #FBF2E0;--err: #C43A31;--err-bg: #FDECEA;--err-strong: #B3312A;--teal: #0F8A7C;--r-sm: 4px;--r-md: 6px;--r-lg: 7px;--r-xl: 8px;--r-2xl: 9px;--r-panel: 12px;--font-cn: "Noto Sans SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-en: "Inter", -apple-system, sans-serif;--sidebar-w: 228px;--topbar-h: 56px;--nav-item-h: 40px;--brand-h: 60px}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg-root);color:var(--text-1);font-family:var(--font-cn);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none}.mono{font-family:var(--font-mono)}.muted{color:var(--text-6)}.hint{color:var(--text-7);font-size:12px}.error{color:var(--err);font-size:12px}.row{display:flex;align-items:center;gap:10px}.divider{height:1px;background:var(--line)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-root)}::-webkit-scrollbar-thumb{background:#c9cfd8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b3bac5}::selection{background:#5e6ad233}.app-shell{display:flex;align-items:flex-start;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-side);border-right:1px solid var(--line-3);display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:sticky;top:0}.sidebar-brand{height:var(--brand-h);padding:18px;display:flex;align-items:center;gap:10px;flex-shrink:0}.logo{width:26px;height:26px;border-radius:7px;background:var(--primary);display:grid;place-items:center;font-family:var(--font-en);font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.sidebar-brand-name{font-size:13px;font-weight:500;color:var(--text-1)}.nav{flex:1;padding:6px 14px 14px;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:14px}.nav-label{font-size:10px;font-weight:500;color:var(--text-7);letter-spacing:.5px;padding:0 0 8px 10px}.nav-item{height:var(--nav-item-h);border-radius:var(--r-2xl);padding:0 10px 0 12px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:background .15s ease;border:1px solid transparent}.nav-item:hover{background:#0000000a}.nav-item.is-active{background:var(--bg-active);border-color:var(--line-active)}.nav-item.is-active .nav-icon{color:var(--primary-soft)}.nav-item.is-active .nav-text{color:var(--text-1);font-weight:500}.nav-icon{width:17px;height:17px;flex-shrink:0;color:var(--text-5)}.nav-icon svg{display:block}.nav-text{font-size:13px;color:var(--text-3);white-space:nowrap}.nav-spacer{flex:1;min-height:20px}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:16px;flex-shrink:0;background:var(--bg-root)}.crumb{display:flex;align-items:center;gap:8px;font-size:13px}.crumb-group{color:var(--text-6)}.crumb-sep{color:var(--text-7)}.crumb-current{color:var(--text-1);font-weight:500}.topbar-spacer{flex:1}.svc-status{display:flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:var(--r-lg);background:var(--bg-panel);border:1px solid var(--line);font-size:12px;color:var(--text-4)}.svc-dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.user-chip{display:flex;align-items:center;gap:9px;height:30px;padding:0 10px 0 4px;border-radius:var(--r-xl);background:var(--bg-panel);border:1px solid var(--line)}.avatar{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center;font-family:var(--font-en)}.user-name{font-size:12px;color:var(--text-2)}.content{flex:1;padding:28px;display:flex;flex-direction:column;gap:18px;min-width:0;overflow-y:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-title{font-size:22px;font-weight:600;color:var(--text-1);line-height:1.3}.page-sub{font-size:13px;color:var(--text-4);margin-top:3px}.page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn{height:40px;padding:0 15px;border-radius:var(--r-2xl);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:all .15s ease}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost{background:var(--bg-input);border-color:var(--line-input);color:var(--text-2)}.btn--ghost:hover{border-color:var(--line-active);color:var(--text-1)}.btn--danger{background:var(--err);color:#fff}.btn--danger:hover{background:#d24a41}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--lg{height:46px;font-size:14px}.btn--block{width:100%}.btn--sm{height:34px;font-size:12px;padding:0 12px}.card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-panel)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 14px}.card-title{font-size:15px;font-weight:600;color:var(--text-1)}.card-sub{font-size:12px;color:var(--text-6);margin-top:3px}.card-head-right{display:flex;align-items:center;gap:14px}.kpi-row{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.kpi{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-panel);padding:18px;display:flex;flex-direction:column;gap:8px}.kpi-label{font-size:12px;color:var(--text-4)}.kpi-value{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text-1);line-height:1.15;letter-spacing:-.5px}.kpi-foot{font-size:12px;color:var(--text-6)}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;color:var(--text-4)}.input{width:100%;height:40px;border-radius:var(--r-xl);background:var(--bg-input);border:1px solid var(--line-input);padding:0 13px;font-size:13px;color:var(--text-1);transition:border-color .15s ease}.input::placeholder{color:var(--text-7)}.input:focus{border-color:var(--primary)}.input.is-error{border-color:var(--err)}.input.mono{font-family:var(--font-mono)}.input[type=date]{color-scheme:light}textarea.input{height:auto;padding:12px 14px;resize:vertical;line-height:1.6}.toolbar{display:flex;gap:10px;padding:18px 20px 14px;align-items:center;flex-wrap:wrap}.search{flex:1;height:40px;border-radius:var(--r-xl);background:var(--bg-input);border:1px solid var(--line-input);display:flex;align-items:center;gap:10px;padding:0 13px;min-width:0}.search input{flex:1;font-size:13px;color:var(--text-1);min-width:0}.search input::placeholder{color:var(--text-7)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{height:34px;padding:0 14px;border-radius:var(--r-2xl);background:var(--bg-input);border:1px solid var(--line-filter);color:var(--text-4);font-size:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.chip:hover{border-color:var(--line-active)}.chip.is-active{background:var(--bg-active);border-color:var(--line-primary);color:var(--text-primary);font-weight:500}.tbl{width:100%;border-collapse:collapse}.tbl thead th{height:44px;background:var(--bg-input-2);padding:0 14px;text-align:left;font-size:12px;font-weight:400;color:var(--text-4);white-space:nowrap}.tbl tbody td{height:46px;padding:0 14px;border-top:1px solid var(--line);font-size:13px;color:var(--text-2);white-space:nowrap}.tbl tbody tr:hover td{background:#00000006}.tbl .num{font-family:var(--font-mono)}.tbl .muted{color:var(--text-7)}.empty{padding:32px 0;text-align:center;color:var(--text-7);font-size:13px}.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-md);font-size:11px;font-weight:500;white-space:nowrap}.tag--ok{background:var(--ok-bg);color:var(--ok)}.tag--err{background:var(--err-bg);color:var(--err)}.tag--warn{background:var(--warn-bg);color:var(--warn)}.tag--info{background:#edeffa;color:var(--primary-soft)}.tag--muted{background:#f0f2f5;color:var(--text-6)}.tag .dot{width:4px;height:4px;border-radius:50%;background:currentColor}.pager{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:12px;color:var(--text-6)}.pager .row{gap:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2673;display:flex;align-items:center;justify-content:center;z-index:20}.modal{width:420px;max-width:calc(100vw - 32px);background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-panel);padding:22px;box-shadow:0 18px 48px #141a2629}.modal h3{margin:0 0 8px;font-size:16px;color:var(--text-1)}.modal p{margin:0 0 16px;font-size:12px;color:var(--text-4);line-height:1.7}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2659;display:flex;justify-content:flex-end;z-index:24}.drawer{width:860px;max-width:100vw;height:100vh;background:var(--bg-panel);border-left:1px solid var(--line);box-shadow:-18px 0 48px #141a2624;display:flex;flex-direction:column}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}.drawer-head h3{margin:0;font-size:16px;color:var(--text-1)}.drawer-head p{margin:6px 0 0;font-size:12px;color:var(--text-5)}.drawer-body{flex:1;overflow:auto;padding:0 0 24px}.drawer-body .tbl th{position:sticky;top:0;background:var(--bg-panel);z-index:1}.auth{min-height:100vh;background:var(--bg-root);display:grid;place-items:center;padding:40px}.auth-card{width:428px;max-width:100%;background:var(--bg-panel);border:1px solid var(--line);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:20px;box-shadow:0 12px 32px #141a260f}.auth-brand{display:flex;align-items:center;gap:10px}.auth-card-title{font-size:24px;font-weight:600;color:var(--text-1)}.auth-card-sub{font-size:13px;color:var(--text-4);margin-top:6px;line-height:1.6}.auth-fields{display:flex;flex-direction:column;gap:16px}.auth-note{font-size:12px;color:var(--text-7);line-height:1.7}
