.dialog-mask[data-v-8caa0976]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 10);display:grid;place-items:center;padding:20px;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-panel[data-v-8caa0976]{width:min(400px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:22px 22px 18px;display:grid;gap:14px}.dialog-title[data-v-8caa0976]{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--color-foreground)}.dialog-message[data-v-8caa0976]{margin:0;font-size:var(--font-size-base);line-height:1.55;color:var(--color-on-surface-muted);white-space:pre-wrap}.dialog-actions[data-v-8caa0976]{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px}.dialog-actions .btn[data-v-8caa0976]{min-width:72px;min-height:36px;height:36px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center;box-sizing:border-box}.dialog-actions .btn-danger.solid[data-v-8caa0976]{background:var(--color-destructive);color:#fff;border-color:var(--color-destructive)}.dialog-actions .btn-danger.solid[data-v-8caa0976]:hover:not(:disabled){filter:brightness(.95);background:var(--color-destructive)}:root,:root[data-theme=light]{color-scheme:light;--color-primary: #111111;--color-on-primary: #ffffff;--color-secondary: #525252;--color-accent: #171717;--color-background: #fafafa;--color-foreground: #0a0a0a;--color-muted: #f4f4f5;--color-border: #e4e4e7;--color-destructive: #b91c1c;--color-ring: #111111;--color-success: #171717;--color-warning: #404040;--color-surface: #ffffff;--color-surface-2: #f4f4f5;--color-on-surface: #0a0a0a;--color-on-surface-muted: #3f3f46;--color-on-surface-subtle: #71717a;--color-sidebar: #ffffff;--color-sidebar-elevated: #f4f4f5;--color-on-sidebar: #0a0a0a;--color-on-sidebar-muted: #71717a;--color-on-sidebar-border: #e4e4e7;--color-sidebar-active-bg: #0a0a0a;--color-sidebar-active-fg: #fafafa;--color-sidebar-hover: rgba(0, 0, 0, .05);--color-sidebar-logo-bg: #0a0a0a;--color-sidebar-logo-fg: #fafafa;--color-sidebar-avatar-bg: #0a0a0a;--color-sidebar-avatar-fg: #fafafa;--login-left-grad: linear-gradient(145deg, #111827 0%, #1f2937 48%, #374151 100%);--login-btn-grad: #111111;--sidebar-grad: var(--color-sidebar);--login-decor-1: rgba(108, 63, 245, .28);--login-decor-2: rgba(255, 155, 107, .22);--login-right-bg: radial-gradient(circle at 12% 0%, rgba(0, 0, 0, .04), transparent 40%), radial-gradient(circle at 90% 85%, rgba(0, 0, 0, .03), transparent 42%), linear-gradient(160deg, #fafafa 0%, #f4f4f5 100%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .06);--shadow-md: 0 10px 28px rgba(0, 0, 0, .08);--shadow-card: 0 18px 40px rgba(0, 0, 0, .08);--shadow-focus: 0 0 0 3px rgba(17, 17, 17, .18);--primary: var(--color-primary);--primary-deep: #000000;--primary-end: #404040;--app-bg: var(--color-background);--card-bg: var(--color-surface);--text-main: var(--color-foreground);--text-regular: var(--color-on-surface-muted);--text-secondary: var(--color-on-surface-subtle);--border: var(--color-border);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-destructive)}:root[data-theme=dark]{color-scheme:dark;--color-primary: #f5f5f5;--color-on-primary: #0a0a0a;--color-secondary: #a1a1aa;--color-accent: #e5e5e5;--color-background: #0a0a0a;--color-foreground: #fafafa;--color-muted: #1c1c1c;--color-border: #2a2a2a;--color-destructive: #f87171;--color-ring: #f5f5f5;--color-success: #e5e5e5;--color-warning: #a1a1aa;--color-surface: #141414;--color-surface-2: #1c1c1c;--color-on-surface: #fafafa;--color-on-surface-muted: #d4d4d8;--color-on-surface-subtle: #a1a1aa;--color-sidebar: #0a0a0a;--color-sidebar-elevated: #141414;--color-on-sidebar: #fafafa;--color-on-sidebar-muted: rgba(250, 250, 250, .64);--color-on-sidebar-border: rgba(255, 255, 255, .1);--color-sidebar-active-bg: #fafafa;--color-sidebar-active-fg: #0a0a0a;--color-sidebar-hover: rgba(255, 255, 255, .08);--color-sidebar-logo-bg: rgba(255, 255, 255, .1);--color-sidebar-logo-fg: #fafafa;--color-sidebar-avatar-bg: #fafafa;--color-sidebar-avatar-fg: #0a0a0a;--login-left-grad: linear-gradient(145deg, #0a0a0a 0%, #171717 50%, #262626 100%);--login-btn-grad: #f5f5f5;--sidebar-grad: var(--color-sidebar);--login-decor-1: rgba(108, 63, 245, .22);--login-decor-2: rgba(232, 215, 84, .14);--login-right-bg: radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .04), transparent 40%), radial-gradient(circle at 90% 85%, rgba(255, 255, 255, .03), transparent 42%), linear-gradient(160deg, #0a0a0a 0%, #111111 100%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px rgba(0, 0, 0, .45);--shadow-card: 0 18px 40px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px rgba(245, 245, 245, .22);--primary: var(--color-primary);--primary-deep: #ffffff;--primary-end: #a1a1aa;--app-bg: var(--color-background);--card-bg: var(--color-surface);--text-main: var(--color-foreground);--text-regular: var(--color-on-surface-muted);--text-secondary: var(--color-on-surface-subtle);--border: var(--color-border);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-destructive)}:root{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--font-sans: "Plus Jakarta Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--line-height-body: 1.55;--line-height-tight: 1.3;--z-base: 0;--z-sticky: 20;--z-sidebar: 30;--z-overlay: 40;--z-modal: 100;--touch-min: 44px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{min-height:100%;min-height:100dvh}body{font-family:var(--font-sans);background:var(--color-background);color:var(--color-foreground);line-height:var(--line-height-body);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button:disabled,[aria-disabled=true]{cursor:not-allowed}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-modal);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;font-size:var(--font-size-sm);transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4);outline:2px solid var(--color-on-primary);outline-offset:2px}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.page-head h1{margin:0;font-size:var(--font-size-xl);letter-spacing:-.02em}.page-head p{margin:4px 0 0;color:var(--color-on-surface-subtle);font-size:var(--font-size-sm)}.btn{min-height:36px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground);font-weight:600;font-size:var(--font-size-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;text-align:center;box-sizing:border-box;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--color-muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-accent)}.btn-danger{color:var(--color-destructive);border-color:color-mix(in srgb,var(--color-destructive) 35%,var(--color-border))}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}table.data th,table.data td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle}table.data th{font-weight:700;color:var(--color-on-surface-subtle);background:var(--color-muted);white-space:nowrap}table.data tr:last-child td{border-bottom:none}table.data .actions{display:flex;gap:8px;flex-wrap:wrap}.mono{font-family:var(--font-mono);font-size:12px}.pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--color-muted);border:1px solid var(--color-border);font-size:11px;font-weight:600}.form-grid{display:grid;gap:12px}.form-grid label{display:grid;gap:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-on-surface-muted)}.form-grid .field-block{display:grid;gap:6px}.form-grid .field-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-on-surface-muted)}.form-grid .field-block:has(.filter-select){position:relative;z-index:1}.form-grid .field-block:has(.filter-select.open),.form-grid .field-block:has(.filter-select:focus-within){z-index:5}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid textarea{min-height:40px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground)}.form-grid textarea{min-height:80px;padding:10px 12px;resize:vertical}.form-grid input:not([type=checkbox]):not([type=radio]):focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.check-list{display:grid;gap:4px;max-height:220px;overflow:auto;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-muted)}.check-list label{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 10px;border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);color:var(--color-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out)}.check-list label:hover{background:color-mix(in srgb,var(--color-foreground) 6%,transparent)}.check-list input[type=checkbox],.form-grid input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;flex:0 0 16px;aspect-ratio:1 / 1;border:1.5px solid var(--color-on-surface-subtle);border-radius:4px;background-color:var(--color-surface);background-repeat:no-repeat;background-position:center;background-size:10px 10px;cursor:pointer;vertical-align:middle;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.check-list input[type=checkbox]:checked,.form-grid input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fafafa' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E")}:root[data-theme=dark] .check-list input[type=checkbox]:checked,:root[data-theme=dark] .form-grid input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E")}.check-list input[type=checkbox]:focus-visible,.form-grid input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-primary)}.check-list input[type=checkbox]:hover:not(:checked),.form-grid input[type=checkbox]:hover:not(:checked){border-color:var(--color-foreground)}.check-list label:has(input[type=checkbox]:checked){background:color-mix(in srgb,var(--color-foreground) 5%,transparent)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:var(--z-modal);display:grid;place-items:center;padding:20px;overflow:auto}.modal{width:min(520px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:20px;display:grid;gap:16px;overflow:visible}.modal h2{margin:0;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.error-text{color:var(--color-destructive);font-size:var(--font-size-sm)}.empty{padding:28px;text-align:center;color:var(--color-on-surface-subtle)}
