.theme-switcher[data-v-a7b74f8c]{z-index:500;position:fixed;bottom:32px;right:24px}.theme-fab[data-v-a7b74f8c]{z-index:501;background:var(--bg-card);width:48px;height:48px;color:var(--text-primary);box-shadow:var(--shadow-lg);cursor:pointer;border:none;border:1px solid var(--border-light);justify-content:center;align-items:center;transition:all .25s;display:flex;position:relative}.theme-fab[data-v-a7b74f8c]:hover{transform:scale(1.08);box-shadow:0 6px 24px #0000002e}.theme-fab[data-v-a7b74f8c]:active{transform:scale(.95)}.theme-fab .fab-icon[data-v-a7b74f8c]{transition:transform .3s}.theme-popup[data-v-a7b74f8c]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:220px;box-shadow:var(--shadow-lg);z-index:502;position:absolute;bottom:60px;right:0;overflow:hidden}.popup-header[data-v-a7b74f8c]{color:var(--text-muted);letter-spacing:.5px;padding:14px 18px 10px;font-size:13px;font-weight:600}.theme-list[data-v-a7b74f8c]{padding:0 8px 8px}.theme-option[data-v-a7b74f8c]{border-radius:var(--radius);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;transition:background .2s;display:flex}.theme-option[data-v-a7b74f8c]:hover{background:var(--bg-hover)}.theme-option.active[data-v-a7b74f8c]{background:var(--brand-bg)}.theme-option.active .theme-label[data-v-a7b74f8c]{color:var(--brand);font-weight:600}.theme-label[data-v-a7b74f8c]{color:var(--text-primary);flex:1;font-size:14px;transition:color .2s}.check-icon[data-v-a7b74f8c]{color:var(--brand);flex-shrink:0}.theme-preview[data-v-a7b74f8c]{flex-shrink:0;align-items:center;gap:6px;display:flex}.theme-preview .preview-dot[data-v-a7b74f8c]{border:1.5px solid var(--border-color);width:16px;height:16px}.theme-preview .preview-dot.accent[data-v-a7b74f8c]{border:none;width:10px;height:10px}.preview-light .preview-dot[data-v-a7b74f8c]{background:#fff;border-color:#d1d5db}.preview-light .accent[data-v-a7b74f8c]{background:#4f46e5}.preview-dark .preview-dot[data-v-a7b74f8c]{background:#1a1d27;border-color:#374151}.preview-dark .accent[data-v-a7b74f8c]{background:#818cf8}.preview-dark-pink .preview-dot[data-v-a7b74f8c]{background:#241620;border-color:#3d2534}.preview-dark-pink .accent[data-v-a7b74f8c]{background:#ec4899}.theme-overlay[data-v-a7b74f8c]{z-index:499;position:fixed;inset:0}.popup-fade-enter-active[data-v-a7b74f8c],.popup-fade-leave-active[data-v-a7b74f8c]{transition:all .25s}.popup-fade-enter-from[data-v-a7b74f8c],.popup-fade-leave-to[data-v-a7b74f8c]{opacity:0;transform:translateY(8px)}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}#app{height:100%}#app .app-root{min-height:100%}:root{--max-width:1440px;--header-height:60px;--footer-padding:40px;--radius:0;--radius-lg:0;--transition:.2s ease;--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#ebeef5;--bg-card:#fff;--bg-hover:#f0f2f5;--text-primary:#1a1a2e;--text-secondary:#606266;--text-muted:#757a83;--text-placeholder:#a8adb5;--border-color:#e4e7ed;--border-light:#ebeef5;--brand:#db2777;--brand-light:#f472b6;--brand-bg:#fce7f3;--success:#10b981;--warning:#d97706;--danger:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 2px #0000000d;--shadow:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--header-bg:#ffffffd9;--footer-bg:#1a1a2e;--footer-text:#a0a0b0;--canvas-bg:#fff}[data-theme=dark]{--bg-primary:#0f1117;--bg-secondary:#1a1d27;--bg-tertiary:#252836;--bg-card:#1a1d27;--bg-hover:#252836;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-muted:#9198a4;--text-placeholder:#636c7a;--border-color:#3a3f5a;--border-light:#2d3140;--brand:#818cf8;--brand-light:#a5b4fc;--brand-bg:#1e1b4b;--shadow-sm:0 1px 2px #0000004d;--shadow:0 2px 8px #0006;--shadow-lg:0 4px 16px #00000080;--header-bg:#0f1117d9;--footer-bg:#0a0b10;--footer-text:#6b7280;--canvas-bg:#2d2d3f}[data-theme=dark-pink]{--bg-primary:#1a0e17;--bg-secondary:#241620;--bg-tertiary:#301e2a;--bg-card:#241620;--bg-hover:#301e2a;--text-primary:#f0e0eb;--text-secondary:#c9a0b8;--text-muted:#a38597;--text-placeholder:#6d5563;--border-color:#493242;--border-light:#382532;--brand:#f062a5;--brand-light:#f8a4cc;--brand-bg:#2d1b2e;--success:#34d399;--warning:#fcd34d;--danger:#fca5a5;--info:#93c5fd;--shadow-sm:0 1px 2px #f062a51a;--shadow:0 2px 8px #f062a521;--shadow-lg:0 4px 16px #f062a52e;--header-bg:#1a0e17d9;--footer-bg:#0e060d;--footer-text:#8b6b7d;--canvas-bg:#2d1b2a}*,:before,:after{box-sizing:border-box}body{background:var(--bg-secondary);color:var(--text-primary);transition:background var(--transition), color var(--transition);margin:0;padding:0;line-height:1.6}a{color:var(--brand);transition:color var(--transition);text-decoration:none}a:hover{color:var(--brand-light)}img{max-width:100%;display:block}input,textarea,select,button{font-family:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.page-content{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height)}.btn{cursor:pointer;transition:all var(--transition);border:none;outline:none;justify-content:center;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 4px 16px #db277759}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-outline{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 32px;font-size:16px}.btn-block{width:100%}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 14px;font-size:14px}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e526}.form-input::placeholder{color:var(--text-placeholder)}.form-input.error{border-color:var(--danger)}.form-error{color:var(--danger);margin-top:4px;font-size:12px}.card{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:24px}.tabs{border-bottom:2px solid var(--border-light);gap:0;margin-bottom:24px;display:flex}.tab-item{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:14px;font-weight:500}.tab-item:hover{color:var(--text-primary)}.tab-item.active{color:var(--brand);border-bottom-color:var(--brand)}.alert{margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.alert-warning{color:#d97706;background:#fffbeb;border:1px solid #fde68a}[data-theme=dark] .alert-error,[data-theme=dark-pink] .alert-error{color:#fca5a5;background:#ef44441f;border-color:#ef444440}[data-theme=dark] .alert-success,[data-theme=dark-pink] .alert-success{color:#6ee7b7;background:#10b9811f;border-color:#10b98140}[data-theme=dark] .alert-warning,[data-theme=dark-pink] .alert-warning{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b40}.loading-center{justify-content:center;align-items:center;padding:60px 0;display:flex}.spinner{border:3px solid var(--border-color);border-top-color:var(--brand);width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{box-shadow:var(--shadow-lg);word-break:break-word;align-items:center;gap:10px;max-width:360px;padding:12px 20px;font-size:14px;animation:.3s toastIn;display:flex}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.toast-primary{background:var(--brand);color:#fff}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-warning{background:var(--warning);color:#fff}.toast-info{background:var(--info);color:#fff}.toast-text{flex:1}.toast-close{width:20px;height:20px;color:inherit;cursor:pointer;opacity:.7;background:#ffffff40;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:opacity .15s;display:flex}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state svg{opacity:.3;width:80px;height:80px;margin-bottom:16px}.empty-state p{margin:0;font-size:14px}.pagination{justify-content:center;align-items:center;gap:6px;padding:32px 0;display:flex}.pagination button{border:1px solid var(--border-color);background:var(--bg-card);min-width:36px;height:36px;color:var(--text-primary);cursor:pointer;transition:all var(--transition);padding:0 10px;font-size:14px}.pagination button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.pagination button.active{background:var(--brand);border-color:var(--brand);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .page-info{color:var(--text-muted);margin:0 8px;font-size:13px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.confirm-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:var(--bg-primary);min-width:300px;max-width:90vw;box-shadow:var(--shadow-lg);animation:.2s toastIn}.confirm-body{color:var(--text-primary);text-align:center;padding:24px 24px 16px;font-size:14px}.confirm-emphasize{color:#e53935;margin:12px 0 0;font-size:13px;font-weight:600;line-height:1.6}[data-theme=dark] .confirm-emphasize{color:#fda4af}.confirm-actions{border-top:1px solid var(--border-color);display:flex}.confirm-btn{cursor:pointer;color:var(--text-primary);background:0 0;border:none;flex:1;padding:12px;font-size:14px;transition:background .15s}.confirm-btn:hover{background:var(--bg-tertiary)}.confirm-btn-ok{color:var(--brand);border-left:1px solid var(--border-color);font-weight:600}
