.toast-container[data-v-f9684b4c]{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:380px}@media (max-width: 768px){.toast-container[data-v-f9684b4c]{top:auto;bottom:20px;right:12px;left:12px;max-width:none}}.toast[data-v-f9684b4c]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;box-shadow:var(--shadow-lg);background:var(--bg-secondary);border-left:4px solid;animation:slideIn-f9684b4c .3s ease}.toast--success[data-v-f9684b4c]{border-left-color:var(--success-text)}.toast--error[data-v-f9684b4c]{border-left-color:var(--danger-text)}.toast--warning[data-v-f9684b4c]{border-left-color:var(--warning-text)}.toast--info[data-v-f9684b4c]{border-left-color:var(--info-text)}.toast__icon[data-v-f9684b4c]{font-size:16px;flex-shrink:0}.toast--success .toast__icon[data-v-f9684b4c]{color:var(--success-text)}.toast--error .toast__icon[data-v-f9684b4c]{color:var(--danger-text)}.toast--warning .toast__icon[data-v-f9684b4c]{color:var(--warning-text)}.toast--info .toast__icon[data-v-f9684b4c]{color:var(--info-text)}.toast__message[data-v-f9684b4c]{flex:1;font-size:14px;color:var(--text-primary);line-height:1.4}.toast__close[data-v-f9684b4c]{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-light);border-radius:4px;transition:all .2s ease}.toast__close[data-v-f9684b4c]:hover{background:var(--hover-bg-strong);color:var(--text-primary)}@keyframes slideIn-f9684b4c{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.modal-overlay[data-v-94d335db]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}@media (max-width: 768px){.modal-overlay[data-v-94d335db]{padding:0;align-items:flex-end}}.modal[data-v-94d335db]{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;width:100%}@media (max-width: 768px){.modal[data-v-94d335db]{max-height:95dvh;border-radius:16px 16px 0 0;animation:slideUp-94d335db .3s ease}}.modal--sm[data-v-94d335db]{max-width:400px}.modal--md[data-v-94d335db]{max-width:560px}.modal--lg[data-v-94d335db]{max-width:760px}.modal__header[data-v-94d335db]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}@media (max-width: 768px){.modal__header[data-v-94d335db]{padding:16px}}.modal__title[data-v-94d335db]{font-size:18px;font-weight:600;color:var(--text-primary)}@media (max-width: 768px){.modal__title[data-v-94d335db]{font-size:16px}}.modal__close[data-v-94d335db]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:6px;transition:all .2s ease;-webkit-tap-highlight-color:transparent;flex-shrink:0}.modal__close[data-v-94d335db]:hover{background:var(--hover-bg-strong);color:var(--text-primary)}.modal__body[data-v-94d335db]{padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal__body[data-v-94d335db]::-webkit-scrollbar{width:6px;height:2px}.modal__body[data-v-94d335db]::-webkit-scrollbar-track{background:transparent}.modal__body[data-v-94d335db]::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}@media (max-width: 768px){.modal__body[data-v-94d335db]{padding:16px}}.modal__footer[data-v-94d335db]{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}@media (max-width: 768px){.modal__footer[data-v-94d335db]{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (max-width: 480px){.modal__footer[data-v-94d335db] .btn{width:100%}}@keyframes slideUp-94d335db{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-enter-active[data-v-94d335db],.modal-leave-active[data-v-94d335db],.modal-enter-active .modal[data-v-94d335db],.modal-leave-active .modal[data-v-94d335db]{transition:all .25s ease}.modal-enter-from[data-v-94d335db],.modal-leave-to[data-v-94d335db]{opacity:0}.modal-enter-from .modal[data-v-94d335db],.modal-leave-to .modal[data-v-94d335db]{transform:scale(.95) translateY(-10px)}@media (max-width: 768px){.modal-enter-from .modal[data-v-94d335db],.modal-leave-to .modal[data-v-94d335db]{transform:translateY(100%)}}.btn[data-v-b1bcd895]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn[data-v-b1bcd895]:disabled{opacity:.6;cursor:not-allowed}.btn--primary[data-v-b1bcd895]{background:var(--primary);color:#fff}.btn--primary[data-v-b1bcd895]:hover:not(:disabled){background:var(--primary-light)}.btn--primary[data-v-b1bcd895]:active:not(:disabled){background:var(--primary-dark)}.btn--secondary[data-v-b1bcd895]{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary[data-v-b1bcd895]:hover:not(:disabled){background:var(--hover-bg-strong);border-color:var(--text-secondary)}.btn--danger[data-v-b1bcd895]{background:var(--danger);color:#fff}.btn--danger[data-v-b1bcd895]:hover:not(:disabled){background:var(--danger-dark)}.btn--success[data-v-b1bcd895]{background:var(--success);color:#fff}.btn--success[data-v-b1bcd895]:hover:not(:disabled){background:var(--success-dark)}.btn--ghost[data-v-b1bcd895]{background:transparent;color:var(--text-secondary)}.btn--ghost[data-v-b1bcd895]:hover:not(:disabled){background:var(--hover-bg-strong);color:var(--text-primary)}.btn--sm[data-v-b1bcd895]{padding:6px 12px;font-size:13px}@media (max-width: 768px){.btn--sm[data-v-b1bcd895]{padding:8px 14px;font-size:13px;min-height:36px}}.btn--md[data-v-b1bcd895]{padding:10px 20px;font-size:14px}@media (max-width: 768px){.btn--md[data-v-b1bcd895]{padding:12px 18px;min-height:44px}}.btn--lg[data-v-b1bcd895]{padding:14px 28px;font-size:16px}@media (max-width: 768px){.btn--lg[data-v-b1bcd895]{padding:14px 24px;min-height:48px}}.btn__spinner[data-v-b1bcd895]{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin-b1bcd895 .6s linear infinite}@keyframes spin-b1bcd895{to{transform:rotate(360deg)}}.confirm-dialog__message[data-v-6cea396e]{font-size:14px;color:var(--text-secondary);line-height:1.6}:root,[data-theme=light]{--bg-primary: #F5F7FA;--bg-secondary: #FFFFFF;--bg-sidebar: #2D3250;--bg-card: #FFFFFF;--text-primary: #2D3748;--text-secondary: #718096;--text-light: #A0AEC0;--border-color: #E8ECF1;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--hover-bg: rgba(0, 0, 0, .04);--hover-bg-strong: rgba(0, 0, 0, .07);--active-bg: rgba(0, 0, 0, .1);--disabled-bg: rgba(0, 0, 0, .03);--primary: #5C6BC0;--primary-rgb: 92, 107, 192;--primary-light: #7986CB;--primary-light-rgb: 121, 134, 203;--primary-dark: #3F51B5;--secondary: #E07A9A;--secondary-light: #F0A3BB;--accent: #9575CD;--accent-rgb: 149, 117, 205;--success: #66BB6A;--success-rgb: 102, 187, 106;--success-dark: #4a9e4e;--warning: #FFA726;--warning-rgb: 255, 167, 38;--warning-dark: #e08f00;--danger: #EF5350;--danger-rgb: 239, 83, 80;--danger-dark: #d93633;--info: #42A5F5;--info-rgb: 66, 165, 245;--info-dark: #1e88e5;--primary-text: #5C6BC0;--danger-text: #d93633;--success-text: #4a9e4e;--warning-text: #e08f00;--info-text: #1e88e5;--accent-text: #9575CD}[data-theme=dark]{--bg-primary: #1A1E2E;--bg-secondary: #222840;--bg-sidebar: #1E2448;--bg-card: #262D4A;--text-primary: #FFFFFF;--text-secondary: #CDD5E0;--text-light: #9AA3B2;--border-color: #3A4268;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4);--hover-bg: rgba(255, 255, 255, .05);--hover-bg-strong: rgba(255, 255, 255, .08);--active-bg: rgba(255, 255, 255, .12);--disabled-bg: rgba(255, 255, 255, .03);--primary: #738AFF;--primary-rgb: 115, 138, 255;--primary-light: #A0B0FF;--primary-light-rgb: 160, 176, 255;--primary-dark: #5468E0;--secondary: #FF6B9D;--secondary-light: #FF9BBF;--accent: #B47AFF;--accent-rgb: 180, 122, 255;--success: #5EE094;--success-rgb: 94, 224, 148;--success-dark: #3CC774;--warning: #FFD04A;--warning-rgb: 255, 208, 74;--warning-dark: #F5BE00;--danger: #FF6B7A;--danger-rgb: 255, 107, 122;--danger-dark: #E04E5E;--info: #4FC3F7;--info-rgb: 79, 195, 247;--info-dark: #29B6F6;--primary-text: #FFFFFF;--danger-text: #FF8A80;--success-text: #B9F6CA;--warning-text: #FFE082;--info-text: #82B1FF;--accent-text: #FFFFFF}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);background:var(--bg-primary);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{border:none;background:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}table{border-collapse:collapse;width:100%}#app{min-height:100vh;min-height:100dvh}.page{padding:24px}@media (max-width: 768px){.page{padding:16px}}@media (max-width: 480px){.page{padding:12px}}.page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}@media (max-width: 768px){.page__header{margin-bottom:16px}}@media (max-width: 480px){.page__header{flex-direction:column;align-items:stretch}}.page__title{font-size:24px;font-weight:700;color:var(--text-primary)}@media (max-width: 768px){.page__title{font-size:20px}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active,.modal-leave-active{transition:all .25s ease}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.95)}.slide-enter-active,.slide-leave-active{transition:transform .3s ease}.slide-enter-from,.slide-leave-to{transform:translate(-100%)}.toast-enter-active,.toast-leave-active{transition:all .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(100%)}.toast-move{transition:transform .3s ease}
