.backdrop[data-v-7d476c3e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-7d476c3e]{background:var(--surface);border-radius:10px;max-height:90vh;max-width:calc(100vw - 32px);display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-header[data-v-7d476c3e]{display:flex;align-items:center;justify-content:space-between;padding:20px var(--space-7) var(--space-6);border-bottom:1px solid var(--border)}.modal-header h2[data-v-7d476c3e]{font-size:var(--fs-lg);font-weight:700}.close-btn[data-v-7d476c3e]{font-size:var(--fs-lg);color:var(--text-sub);position:relative}.close-btn[data-v-7d476c3e]:after{content:"";position:absolute;top:-13px;right:-13px;bottom:-13px;left:-13px}.close-btn[data-v-7d476c3e]:hover{color:var(--text)}.modal-body[data-v-7d476c3e]{padding:20px var(--space-7) var(--space-7);overflow-y:auto}.confirm-text[data-v-f4c13c76]{margin-bottom:var(--space-6);font-size:var(--fs-md);line-height:1.5}.confirm-actions[data-v-f4c13c76]{display:flex;justify-content:flex-end;gap:var(--space-4)}.toast-container[data-v-25a267f9]{position:fixed;top:16px;right:16px;z-index:1100;max-width:min(360px,calc(100vw - 32px));pointer-events:none}.toast-stack[data-v-25a267f9]{display:flex;flex-direction:column;gap:var(--space-4)}.toast[data-v-25a267f9]{display:flex;align-items:center;gap:var(--space-5);min-width:min(320px,calc(100vw - 32px));max-width:min(360px,calc(100vw - 32px));padding:var(--space-5) var(--space-5) var(--space-5) 14px;border:1px solid var(--border);border-left:4px solid var(--text-sub);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 8px 32px #00000026;font-size:var(--fs-base);line-height:1.45;pointer-events:auto;cursor:pointer}.toast-success[data-v-25a267f9]{border-left-color:#2e9e5b}.toast-error[data-v-25a267f9]{border-left-color:var(--danger)}.toast-info[data-v-25a267f9]{border-left-color:var(--text-sub)}.toast-message[data-v-25a267f9]{flex:1;min-width:0;overflow-wrap:anywhere}.toast-action[data-v-25a267f9]{flex:0 0 auto;padding:var(--space-2) 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.toast-action[data-v-25a267f9]:hover{background:var(--bg)}.toast-close[data-v-25a267f9]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;padding:0;color:var(--text-sub)}.toast-close[data-v-25a267f9]:hover{color:var(--text)}.toast-enter-from[data-v-25a267f9],.toast-leave-to[data-v-25a267f9]{opacity:0;transform:translate(16px)}.toast-enter-active[data-v-25a267f9],.toast-leave-active[data-v-25a267f9]{transition:all .25s ease}.toast-move[data-v-25a267f9]{transition:transform .25s ease}@media (prefers-color-scheme: dark){.toast-success[data-v-25a267f9]{border-left-color:#46c178}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100vw}:root{--bg: #f5f5f5;--surface: #ffffff;--text: #1a1a1a;--text-sub: #888888;--border: #e0e0e0;--primary: #1a1a1a;--danger: #cc3333;--sidebar-w: 220px;--radius: 6px;--focus: #2f6fb0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 24px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--success: #38a169;--info: #3b82f6;--warning: #d69e2e}@media (prefers-color-scheme: dark){:root{--bg: #111111;--surface: #1c1c1e;--text: #e8e8e8;--text-sub: #888888;--border: #303030;--primary: #e8e8e8;--danger: #e05555;--focus: #5b9bd5}}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:var(--fs-md);line-height:1.5}button{cursor:pointer;border:none;background:none;font:inherit}input:not(:where([type=checkbox],[type=radio])),select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) 10px;width:100%;background:var(--surface);color:var(--text);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}input:not(:where([type=checkbox],[type=radio])):focus,select:focus,textarea:focus{border-color:var(--primary)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:var(--space-3);padding:7px 14px;border-radius:var(--radius);font-size:var(--fs-base);font-weight:500;transition:opacity .15s}.btn:hover{opacity:.75}.btn-primary{background:var(--primary);color:#fff}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:var(--space-2) 10px;font-size:var(--fs-sm)}.badge{display:inline-block;padding:var(--space-1) var(--space-4);border-radius:99px;font-size:var(--fs-xs);font-weight:500;background:var(--border);color:var(--text)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:14px}.form-group label{font-size:var(--fs-sm);font-weight:600;color:var(--text-sub)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}input:not(:where([type=checkbox],[type=radio])),select,textarea{font-size:var(--fs-lg)!important}}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);margin-bottom:20px}.page-header h1{font-size:var(--fs-xl);font-weight:700}.empty-state{text-align:center;padding:60px 20px;color:var(--text-sub)}.empty-state p{margin-top:var(--space-4);font-size:var(--fs-base)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-7);margin-bottom:20px}.card h2{font-size:15px;font-weight:700;margin-bottom:20px}.msg{font-size:var(--fs-base);margin-bottom:var(--space-5);padding:10px var(--space-5);border-radius:var(--radius);border:1px solid}.msg.success{background:#edf8f0;color:#236b36;border-color:#bfe4c8}.msg.error{background:#fff0f0;color:var(--danger);border-color:#f0c4c4}.msg.warn{background:#fff8e5;color:#7a5600;border-color:#ead59b}.msg.ok{background:#edf8f0;color:#236b36;border-color:#bfe4c8}@media (prefers-color-scheme: dark){.btn-primary{color:#111}.msg.success,.msg.ok{background:#0d2417;color:#4ade80;border-color:#1a4a2e}.msg.error{background:#2e1010;color:#f87171;border-color:#5a2020}.msg.warn{background:#2a2208;color:#fbbf24;border-color:#5a4a18}}
