.toasts[data-v-238244c5]{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:10px;max-width:min(420px,100vw - 40px)}.toast[data-v-238244c5]{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border-strong);border-left:3px solid var(--accent);box-shadow:var(--shadow);cursor:pointer}.toast.success[data-v-238244c5]{border-left-color:var(--success)}.toast.success .toast-icon[data-v-238244c5]{color:#6fcf97}.toast.danger[data-v-238244c5]{border-left-color:var(--danger)}.toast.danger .toast-icon[data-v-238244c5]{color:#ec8b88}.toast.warning[data-v-238244c5]{border-left-color:var(--warning)}.toast.warning .toast-icon[data-v-238244c5]{color:#e6b85c}.toast-icon[data-v-238244c5]{margin-top:2px;color:var(--accent-text)}.toast-enter-active[data-v-238244c5],.toast-leave-active[data-v-238244c5]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-238244c5],.toast-leave-to[data-v-238244c5]{opacity:0;transform:translateY(8px)}.modal[data-v-957e73fa]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0009}.modal-box[data-v-957e73fa]{width:100%;max-width:560px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow)}.modal-box.sm[data-v-957e73fa]{max-width:420px}.modal-box.lg[data-v-957e73fa]{max-width:760px}.modal-head[data-v-957e73fa]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 14px 20px;border-bottom:1px solid var(--border)}.modal-head h2[data-v-957e73fa]{font-size:16px;font-weight:600}.modal-body[data-v-957e73fa]{padding:20px;overflow-y:auto}.modal-foot[data-v-957e73fa]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal-enter-active[data-v-957e73fa],.modal-leave-active[data-v-957e73fa]{transition:opacity .15s}.modal-enter-from[data-v-957e73fa],.modal-leave-to[data-v-957e73fa]{opacity:0}.text[data-v-71a99316]{color:var(--text-2);white-space:pre-line}.ico[data-v-eb351552]{flex:none;display:inline-block;vertical-align:middle}:root{--accent: #3f7fe0;--accent-2: #3570cc;--accent-soft: rgba(63, 127, 224, .12);--accent-line: rgba(63, 127, 224, .4);--accent-text: #8db4f0;--bg: #0e1116;--bg-elev: #14181e;--bg-card: #161a21;--bg-sub: #1b2028;--bg-input: #11151a;--bg-hover: rgba(255, 255, 255, .04);--border: #252b34;--border-strong: #333a45;--text: #e4e7ec;--text-2: #a1a9b6;--text-3: #6c7480;--success: #3fa66b;--warning: #d49a2a;--danger: #d9534f;--info: #4b9fd5;--radius: 8px;--radius-sm: 6px;--shadow: 0 8px 24px rgba(0, 0, 0, .4);--sidebar-w: 240px;--header-h: 56px;--page-w: 1320px;--ease: cubic-bezier(.2, .8, .2, 1);--mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}html.compact{--sidebar-w: 64px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-line)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a303a;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#3a414d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;white-space:nowrap;border:1px solid transparent;transition:background .12s,border-color .12s,opacity .12s;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c4433f}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:#414957}.btn-sm{height:30px;padding:0 11px;font-size:12.5px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-3);transition:background .12s,color .12s}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.danger:hover{background:#d9534f1f;color:#ec8b88}.icon-btn:focus-visible{outline:2px solid var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field-label .req{color:var(--danger);margin-left:2px}.field-hint{font-size:12px;color:var(--text-3)}.field-error{font-size:12px;color:#ec8b88}.input{width:100%;height:36px;padding:0 11px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-strong);outline:none;transition:border-color .12s}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent)}.input.invalid{border-color:var(--danger)}textarea.input{height:auto;min-height:110px;padding:9px 11px;resize:vertical;line-height:1.5}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;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='%23a1a9b6' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}select.input option{background:var(--bg-card)}input[type=date].input::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}.check{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-2)}.check input{width:16px;height:16px;accent-color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:18px 20px}.card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap;background:#a1a9b61f;color:var(--text-2)}.badge.success{background:#3fa66b24;color:#6fcf97}.badge.info{background:#4b9fd524;color:#82c0e8}.badge.warning{background:#d49a2a26;color:#e6b85c}.badge.danger{background:#d9534f26;color:#ec8b88}.badge.muted{background:#a1a9b614;color:var(--text-3)}.badge.accent{background:var(--accent-soft);color:var(--accent-text)}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--text-3)}.nowrap{white-space:nowrap}.page{width:100%;max-width:var(--page-w);margin:0 auto;padding:28px 32px 48px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.page-head>:first-child{flex:1;min-width:0}.page-head>:last-child:not(:first-child){flex:none}.page-title{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.25}.page-sub{color:var(--text-3);margin-top:4px}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px;margin-bottom:-1px;font-weight:600;color:var(--text-3);border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 20px;color:var(--text-3);text-align:center}.empty .empty-icon{color:var(--text-3);opacity:.8;margin-bottom:4px}.empty .empty-title{color:var(--text-2);font-weight:600;font-size:15px}.skeleton{border-radius:4px;background:#1f242c;animation:pulse 1.4s infinite ease-in-out}@keyframes pulse{50%{opacity:.5}}@media(max-width:900px){.page{padding:20px 16px 40px}.page-head{flex-wrap:wrap;align-items:flex-start}.page-title{font-size:20px}}
