.toast-container[data-v-2fe5e07c]{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px}.toast-item[data-v-2fe5e07c]{padding:10px 16px;border-radius:8px;font-size:13px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);box-shadow:0 4px 12px #00000026}.toast-success[data-v-2fe5e07c]{border-color:var(--accent);color:var(--accent)}.toast-error[data-v-2fe5e07c]{border-color:var(--danger);color:var(--danger)}.toast-enter-active[data-v-2fe5e07c]{animation:slideIn-2fe5e07c .2s ease}.toast-leave-active[data-v-2fe5e07c]{animation:slideIn-2fe5e07c .15s ease reverse}@keyframes slideIn-2fe5e07c{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.overlay[data-v-c3b3d80a]{position:fixed;inset:0;z-index:60;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.dlg-box[data-v-c3b3d80a]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:340px;overflow:hidden}.dlg-head[data-v-c3b3d80a]{padding:16px 20px;font-size:15px;font-weight:600;border-bottom:1px solid var(--border)}.dlg-body[data-v-c3b3d80a]{padding:16px 20px;font-size:13px;color:var(--text-dim);line-height:1.6}.dlg-foot[data-v-c3b3d80a]{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.dbtn[data-v-c3b3d80a]{padding:8px 18px;font-size:13px;border-radius:8px;cursor:pointer;transition:all .15s}.dbtn-cancel[data-v-c3b3d80a]{border:1px solid var(--border);color:var(--text-muted)}.dbtn-cancel[data-v-c3b3d80a]:hover{color:var(--text);border-color:var(--accent-muted)}.dbtn-confirm[data-v-c3b3d80a]{background:var(--accent-dim);color:#0c0f0c;border:none}.dbtn-confirm[data-v-c3b3d80a]:hover{background:var(--accent)}.fade-enter-active[data-v-c3b3d80a],.fade-leave-active[data-v-c3b3d80a]{transition:opacity .2s}.fade-enter-from[data-v-c3b3d80a],.fade-leave-to[data-v-c3b3d80a]{opacity:0}.overlay[data-v-4f8f9f48]{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-box[data-v-4f8f9f48]{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:360px;max-width:90vw}.modal-header[data-v-4f8f9f48]{padding:16px 20px 0;font-size:15px;font-weight:600}.modal-body[data-v-4f8f9f48]{padding:16px 20px}.modal-footer[data-v-4f8f9f48]{padding:0 20px 16px;display:flex;justify-content:flex-end;gap:8px}.prompt-hint[data-v-4f8f9f48]{font-size:13px;color:var(--text-dim);margin-bottom:12px}.prompt-input[data-v-4f8f9f48]{width:100%;padding:10px 12px;font-size:14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);outline:none;transition:border-color .15s}.prompt-input[data-v-4f8f9f48]:focus{border-color:var(--accent-muted)}.prompt-error[data-v-4f8f9f48]{font-size:12px;color:var(--danger);margin-top:8px}.btn-cancel[data-v-4f8f9f48]{padding:6px 16px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px}.btn-confirm[data-v-4f8f9f48]{padding:6px 16px;border-radius:8px;border:none;background:var(--accent-dim);color:#0c0f0c;cursor:pointer;font-size:13px;font-weight:600}.btn-confirm[data-v-4f8f9f48]:disabled{opacity:.4;cursor:not-allowed}.fade-enter-active[data-v-4f8f9f48],.fade-leave-active[data-v-4f8f9f48]{transition:opacity .15s}.fade-enter-from[data-v-4f8f9f48],.fade-leave-to[data-v-4f8f9f48]{opacity:0}:root{--bg-base: #0c0f0c;--bg-panel: #111611;--bg-card: #161b16;--bg-card-hover: #1a201a;--border: #2e3d2e;--accent: #4ade80;--accent-dim: #22c55e;--accent-muted: #166534;--danger: #ef4444;--warn: #f59e0b;--info: #38bdf8;--maint: #f97316;--text: #e8f0e8;--text-dim: #b0c4b0;--text-muted: #8a9f8a}[data-accent=blue]{--bg-base: #0a0d12;--bg-panel: #0d121b;--bg-card: #131824;--bg-card-hover: #181f2d;--border: #2a3a52;--accent: #60a5fa;--accent-dim: #3b82f6;--accent-muted: #1e3a8a}[data-accent=purple]{--bg-base: #0d0a12;--bg-panel: #11101b;--bg-card: #181323;--bg-card-hover: #1d1828;--border: #3d2a52;--accent: #a78bfa;--accent-dim: #8b5cf6;--accent-muted: #5b21b6}[data-accent=red]{--bg-base: #110a0a;--bg-panel: #1a0f0f;--bg-card: #221414;--bg-card-hover: #281919;--border: #4d2727;--accent: #f87171;--accent-dim: #ef4444;--accent-muted: #991b1b}[data-accent=orange]{--bg-base: #110d08;--bg-panel: #1a1410;--bg-card: #221814;--bg-card-hover: #281d18;--border: #4d3520;--accent: #fb923c;--accent-dim: #f97316;--accent-muted: #9a3412}[data-accent=cyan]{--bg-base: #081112;--bg-panel: #0c171b;--bg-card: #121f24;--bg-card-hover: #18272d;--border: #1f4750;--accent: #22d3ee;--accent-dim: #06b6d4;--accent-muted: #155e75}[data-accent=pink]{--bg-base: #120a0f;--bg-panel: #1a0f17;--bg-card: #22141d;--bg-card-hover: #281925;--border: #4d234a;--accent: #f472b6;--accent-dim: #ec4899;--accent-muted: #9d174d}[data-mode=light]{--bg-base: #f5f7f5;--bg-panel: #ffffff;--bg-card: #f7f9f7;--bg-card-hover: #ebefeb;--border: #d4dbd4;--text: #1a2a1a;--text-dim: #44524a;--text-muted: #6a7a6a}[data-mode=light][data-accent=green]{--accent: #16a34a;--accent-dim: #15803d;--accent-muted: #14532d}[data-mode=light][data-accent=blue]{--accent: #2563eb;--accent-dim: #1d4ed8;--accent-muted: #1e3a8a}[data-mode=light][data-accent=purple]{--accent: #7c3aed;--accent-dim: #6d28d9;--accent-muted: #5b21b6}[data-mode=light][data-accent=red]{--accent: #dc2626;--accent-dim: #b91c1c;--accent-muted: #991b1b}[data-mode=light][data-accent=orange]{--accent: #ea580c;--accent-dim: #c2410c;--accent-muted: #9a3412}[data-mode=light][data-accent=cyan]{--accent: #0891b2;--accent-dim: #0e7490;--accent-muted: #155e75}[data-mode=light][data-accent=pink]{--accent: #db2777;--accent-dim: #be185d;--accent-muted: #9d174d}[data-mode=light]:not([data-accent]){--accent: #16a34a;--accent-dim: #15803d;--accent-muted: #14532d}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;background:var(--bg-base)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text);font-size:14px;line-height:1.5}::selection{background:#4ade8030;color:var(--accent)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4ade8040}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}input,textarea,select{font:inherit}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9f8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}select option{background:var(--bg-card);color:var(--text)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;font-size:12px;border-radius:8px;background:var(--accent-dim);color:var(--bg-base);transition:background .15s}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;font-size:12px;border-radius:8px;border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.btn-outline:hover{color:var(--text);border-color:var(--accent-muted)}.btn-outline:disabled{opacity:.2;cursor:not-allowed}.btn-outline-accent{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;font-size:12px;border-radius:8px;border:1px solid var(--accent-muted);color:var(--accent-dim);transition:all .15s}.btn-outline-accent:hover{background:#4ade801a}.btn-outline-accent:disabled{opacity:.2;cursor:not-allowed}.btn-login{width:100%;padding:10px;margin-top:8px;font-size:13px;font-weight:500;background:var(--accent-dim);color:var(--bg-base);border-radius:8px;transition:all .15s}.btn-login:hover{background:var(--accent)}.btn-login:disabled{opacity:.4;cursor:not-allowed}.btn-cancel{padding:6px 16px;font-size:13px;border-radius:8px;border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.btn-cancel:hover{color:var(--text);background:var(--bg-card-hover)}.btn-confirm{padding:6px 16px;font-size:13px;border-radius:8px;background:var(--accent-dim);color:var(--bg-base);transition:all .15s}.btn-confirm:hover{background:var(--accent)}.link{color:var(--text-muted);transition:color .15s}.link:hover{color:var(--accent)}.link-accent{color:var(--accent-dim);transition:color .15s}.link-accent:hover{color:var(--accent)}.link-muted{color:var(--text-muted);transition:color .15s}.link-muted:hover{color:var(--info)}.link-danger{color:var(--text-muted);transition:color .15s}.link-danger:hover{color:var(--danger)}.link-red{color:var(--danger);font-size:12px;margin-right:6px}.filter-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.filter-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.chip{padding:4px 12px;font-size:12px;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.chip:hover{color:var(--text);border-color:var(--accent-muted)}.chip-active{color:var(--accent);border-color:var(--accent-muted);background:#4ade8014}.filter-input{padding:5px 12px;font-size:12px;width:140px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none;transition:all .15s}.filter-input:focus{border-color:var(--accent-muted);width:180px}.form-fields{display:flex;flex-direction:column;gap:12px}.field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}.field input:not(.cb):not(.rb),.field select{width:100%;padding:8px 12px;font-size:13px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);outline:none;transition:border-color .15s}.field input:not(.cb):not(.rb):focus,.field select:focus{border-color:var(--accent-muted)}.field-row{display:flex;align-items:center;gap:12px}.field-row label{font-size:13px;color:var(--text-dim);flex-shrink:0}.input-sm{width:80px;padding:8px 12px;font-size:13px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);outline:none;font-variant-numeric:tabular-nums}.input-sm:focus{border-color:var(--accent-muted)}.textarea{width:100%;padding:8px 12px;font-size:13px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);outline:none;resize:none;font-family:SF Mono,Cascadia Code,Consolas,monospace;transition:border-color .15s}.textarea:focus{border-color:var(--accent-muted)}.tag-ok{font-size:12px;color:var(--accent)}.tag-bad{font-size:12px;color:var(--danger)}.muted{color:var(--text-muted)}.sm{font-size:12px}.accent{color:var(--accent)}.danger{color:var(--danger)}.mono{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:12px}.tabnum{font-variant-numeric:tabular-nums}.hint{font-size:13px;color:var(--text-dim)}.cb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:4px;flex-shrink:0;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;position:relative;transition:all .15s}.cb:checked{background:var(--accent-dim);border-color:var(--accent-dim)}.cb:checked:after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid #0c0f0c;border-width:0 2px 2px 0;transform:rotate(45deg)}.cb:hover{border-color:var(--accent-muted)}.cb:focus-visible{outline:2px solid var(--accent-muted);outline-offset:1px}.rb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;position:relative;transition:all .15s}.rb:checked{background:var(--accent-dim);border-color:var(--accent-dim)}.rb:checked:after{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#0c0f0c}.rb:hover{border-color:var(--accent-muted)}.rb:focus-visible{outline:2px solid var(--accent-muted);outline-offset:1px}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}
