.page[data-v-cef3bcad]{height:100%;display:flex;align-items:center;justify-content:center}.card[data-v-cef3bcad]{width:320px;padding:32px 28px;display:flex;flex-direction:column;gap:16px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014}h1[data-v-cef3bcad]{margin:0;font-size:20px;text-align:center}.hint[data-v-cef3bcad]{margin:0;font-size:13px;color:#9ca3af;text-align:center}label[data-v-cef3bcad]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4b5563}input[data-v-cef3bcad]{height:38px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}input[data-v-cef3bcad]:focus{border-color:#3b82f6}.btn[data-v-cef3bcad]{height:40px;margin-top:4px;font-size:15px;color:#fff;background:#3b82f6;border:none;border-radius:8px;cursor:pointer}.btn[data-v-cef3bcad]:hover:not(:disabled){background:#2563eb}.btn[data-v-cef3bcad]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-cef3bcad]{margin:0;font-size:13px;color:#dc2626}.version[data-v-cef3bcad]{margin:0;font-size:12px;color:#c0c4cc;text-align:center}.layout[data-v-cc195eab]{height:100%;display:flex}.sidebar[data-v-cc195eab]{width:200px;flex-shrink:0;display:flex;flex-direction:column;background:#1f2937;color:#e5e7eb}.brand[data-v-cc195eab]{height:56px;display:flex;align-items:center;padding:0 20px;font-size:16px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.nav[data-v-cc195eab]{flex:1;padding:12px 0;overflow-y:auto}.group-title[data-v-cc195eab]{padding:10px 20px 6px;font-size:12px;color:#9ca3af}.item[data-v-cc195eab]{display:block;padding:10px 20px;font-size:14px;color:#d1d5db;text-decoration:none}.item.sub[data-v-cc195eab]{padding-left:32px}.item[data-v-cc195eab]:hover{background:#ffffff0f;color:#fff}.item.active[data-v-cc195eab]{background:#2563eb;color:#fff}.main[data-v-cc195eab]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar[data-v-cc195eab]{height:56px;flex-shrink:0;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7eb}.crumb[data-v-cc195eab]{font-size:15px;font-weight:600}.user[data-v-cc195eab]{display:flex;align-items:center;gap:16px;font-size:14px;color:#4b5563}.link[data-v-cc195eab]{padding:0;font-size:14px;color:#3b82f6;background:none;border:none;cursor:pointer}.link[data-v-cc195eab]:hover{text-decoration:underline}.content[data-v-cc195eab]{flex:1;padding:24px;overflow-y:auto}.page[data-v-93a809ca]{min-height:100%;display:flex;flex-direction:column}.topbar[data-v-93a809ca]{height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7eb}h1[data-v-93a809ca]{margin:0;font-size:17px}.user[data-v-93a809ca]{display:flex;align-items:center;gap:16px;font-size:14px;color:#4b5563}.content[data-v-93a809ca]{flex:1;padding:24px}.toolbar[data-v-93a809ca]{display:flex;gap:12px;margin-bottom:16px}.search[data-v-93a809ca]{width:260px;height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.search[data-v-93a809ca]:focus{border-color:#3b82f6}.btn[data-v-93a809ca]{height:36px;padding:0 16px;font-size:14px;color:#fff;background:#3b82f6;border:none;border-radius:8px;cursor:pointer}.btn[data-v-93a809ca]:hover:not(:disabled){background:#2563eb}.btn[data-v-93a809ca]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-93a809ca]{color:#374151;background:#fff;border:1px solid #d1d5db}.btn.ghost[data-v-93a809ca]:hover:not(:disabled){background:#f3f4f6}.table-wrap[data-v-93a809ca]{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000f}table[data-v-93a809ca]{width:100%;border-collapse:collapse;font-size:14px}th[data-v-93a809ca],td[data-v-93a809ca]{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f1f3}th[data-v-93a809ca]{font-weight:600;color:#6b7280;background:#fafafa}tbody tr:last-child td[data-v-93a809ca]{border-bottom:none}.empty[data-v-93a809ca]{padding:40px;text-align:center;color:#9ca3af}.actions[data-v-93a809ca]{display:flex;gap:12px}.link[data-v-93a809ca]{padding:0;font-size:14px;color:#3b82f6;background:none;border:none;cursor:pointer}.link[data-v-93a809ca]:hover{text-decoration:underline}.link.danger[data-v-93a809ca]{color:#dc2626}.pager[data-v-93a809ca]{margin-top:16px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4b5563}.pager .size[data-v-93a809ca]{height:36px;padding:0 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;outline:none}.pager .pageno[data-v-93a809ca]{min-width:70px;text-align:center}.error[data-v-93a809ca]{margin:0 0 12px;font-size:13px;color:#dc2626}.mask[data-v-93a809ca]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#11182773}.dialog[data-v-93a809ca]{width:360px;padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:12px}.dialog h2[data-v-93a809ca]{margin:0;font-size:17px}.dialog label[data-v-93a809ca]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4b5563}.dialog input[data-v-93a809ca]{height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.dialog input[data-v-93a809ca]:focus{border-color:#3b82f6}.dialog-actions[data-v-93a809ca]{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.toolbar[data-v-8f106836]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search[data-v-8f106836]{width:240px;height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.btn[data-v-8f106836]{height:36px;padding:0 16px;font-size:14px;color:#fff;background:#3b82f6;border:none;border-radius:8px;cursor:pointer}.btn[data-v-8f106836]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-8f106836]{color:#374151;background:#fff;border:1px solid #d1d5db}.table-wrap[data-v-8f106836]{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000f}table[data-v-8f106836]{width:100%;border-collapse:collapse;font-size:14px}th[data-v-8f106836],td[data-v-8f106836]{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f1f3}th[data-v-8f106836]{font-weight:600;color:#6b7280;background:#fafafa}tbody tr:last-child td[data-v-8f106836]{border-bottom:none}.empty[data-v-8f106836]{padding:40px;text-align:center;color:#9ca3af}.actions[data-v-8f106836]{display:flex;gap:12px}.link[data-v-8f106836]{padding:0;font-size:14px;color:#3b82f6;background:none;border:none;cursor:pointer}.link.danger[data-v-8f106836]{color:#dc2626}.tag[data-v-8f106836]{display:inline-block;padding:2px 8px;font-size:12px;border-radius:4px}.tag.on[data-v-8f106836]{color:#16a34a;background:#dcfce7}.tag.off[data-v-8f106836]{color:#dc2626;background:#fee2e2}.pager[data-v-8f106836]{margin-top:16px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4b5563}.pageno[data-v-8f106836]{min-width:70px;text-align:center}.error[data-v-8f106836]{margin:0 0 12px;font-size:13px;color:#dc2626}.mask[data-v-8f106836]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#11182773}.dialog[data-v-8f106836]{width:420px;max-height:86vh;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:12px}.dialog h2[data-v-8f106836]{margin:0;font-size:17px}.dialog label[data-v-8f106836],.field[data-v-8f106836]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4b5563}.dialog input[data-v-8f106836],.dialog select[data-v-8f106836]{height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.field-label[data-v-8f106836]{font-size:14px;color:#4b5563}.checks[data-v-8f106836]{display:flex;flex-wrap:wrap;gap:12px}.check[data-v-8f106836]{flex-direction:row;align-items:center;gap:6px}.check input[data-v-8f106836]{height:auto}.tip[data-v-8f106836]{font-size:12px;color:#9ca3af}.actions-row[data-v-8f106836]{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.toolbar[data-v-1e37c845]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search[data-v-1e37c845]{width:240px;height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.btn[data-v-1e37c845]{height:36px;padding:0 16px;font-size:14px;color:#fff;background:#3b82f6;border:none;border-radius:8px;cursor:pointer}.btn[data-v-1e37c845]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-1e37c845]{color:#374151;background:#fff;border:1px solid #d1d5db}.table-wrap[data-v-1e37c845]{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000000f}table[data-v-1e37c845]{width:100%;border-collapse:collapse;font-size:14px}th[data-v-1e37c845],td[data-v-1e37c845]{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f1f3}th[data-v-1e37c845]{font-weight:600;color:#6b7280;background:#fafafa}tbody tr:last-child td[data-v-1e37c845]{border-bottom:none}.empty[data-v-1e37c845]{padding:40px;text-align:center;color:#9ca3af}.actions[data-v-1e37c845]{display:flex;gap:12px}.link[data-v-1e37c845]{padding:0;font-size:14px;color:#3b82f6;background:none;border:none;cursor:pointer}.link.danger[data-v-1e37c845]{color:#dc2626}.tag[data-v-1e37c845]{display:inline-block;padding:2px 8px;font-size:12px;border-radius:4px}.tag.on[data-v-1e37c845]{color:#16a34a;background:#dcfce7}.tag.off[data-v-1e37c845]{color:#dc2626;background:#fee2e2}code[data-v-1e37c845]{padding:2px 6px;font-size:12px;background:#f3f4f6;border-radius:4px}.pager[data-v-1e37c845]{margin-top:16px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4b5563}.pageno[data-v-1e37c845]{min-width:70px;text-align:center}.error[data-v-1e37c845]{margin:0 0 12px;font-size:13px;color:#dc2626}.mask[data-v-1e37c845]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#11182773}.dialog[data-v-1e37c845]{width:460px;max-height:86vh;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:12px}.dialog h2[data-v-1e37c845]{margin:0;font-size:17px}.dialog label[data-v-1e37c845],.field[data-v-1e37c845]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4b5563}.dialog input[data-v-1e37c845],.dialog select[data-v-1e37c845]{height:36px;padding:0 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none}.row[data-v-1e37c845]{display:flex;gap:12px}.row label[data-v-1e37c845]{flex:1}.field-label[data-v-1e37c845]{font-size:14px;color:#4b5563}.tree[data-v-1e37c845]{max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px}.tree-group[data-v-1e37c845]{margin-bottom:8px}.children[data-v-1e37c845]{margin:6px 0 0 20px;display:flex;flex-direction:column;gap:8px}.child[data-v-1e37c845]{display:flex;flex-direction:column;gap:6px}.buttons[data-v-1e37c845]{margin-left:20px;display:flex;flex-wrap:wrap;gap:12px}.check[data-v-1e37c845]{flex-direction:row;align-items:center;gap:6px}.check input[data-v-1e37c845]{height:auto}.actions-row[data-v-1e37c845]{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1f2937;background:#f5f6f8}input,button{font-family:inherit}
