@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.modal-overlay[data-v-78a286bf]{z-index:220;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-78a286bf]{background:var(--bg-white);border-radius:18px;width:min(460px,92vw);overflow:hidden;box-shadow:0 22px 64px #0f172a2e}.modal-header[data-v-78a286bf]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h3[data-v-78a286bf]{color:var(--text-h);margin:0;font-size:17px}.modal-close[data-v-78a286bf]{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px}.modal-close[data-v-78a286bf]:hover{background:var(--bg);color:var(--text-h)}.modal-body[data-v-78a286bf]{padding:22px}.modal-tip[data-v-78a286bf]{color:var(--text);margin-bottom:16px;font-size:13px}.error-msg[data-v-78a286bf]{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.form-row[data-v-78a286bf]{margin-bottom:16px}.form-row[data-v-78a286bf]:last-child{margin-bottom:0}.form-row label[data-v-78a286bf]{color:var(--text-h);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-row input[data-v-78a286bf]{border:1px solid var(--border);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px}.form-row input[data-v-78a286bf]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61f}.modal-footer[data-v-78a286bf]{border-top:1px solid var(--border);background:#fafbfc;justify-content:flex-end;gap:8px;padding:14px 22px 18px;display:flex}.btn[data-v-78a286bf]{border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.btn-ghost[data-v-78a286bf]{background:var(--bg-white);color:var(--text-h)}.btn-primary[data-v-78a286bf]{background:var(--primary);border-color:var(--primary);color:#fff}.btn[data-v-78a286bf]:disabled{opacity:.55;cursor:not-allowed}.layout[data-v-e68e3c14]{min-height:100vh;display:flex}.sidebar[data-v-e68e3c14]{width:var(--sidebar-width);background:var(--sidebar-bg);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 32px #0ea5e926}.sidebar-header[data-v-e68e3c14]{border-bottom:1px solid #ffffff14;padding:28px 24px 32px}.logo-container[data-v-e68e3c14]{align-items:center;gap:14px;animation:.4s ease-out slideDown;display:flex}.logo-icon[data-v-e68e3c14]{border-radius:var(--radius-lg);color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fff3,#ffffff14);border:1px solid #ffffff26;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 16px #0ea5e94d,0 0 24px #0ea5e926}.logo-text[data-v-e68e3c14]{flex-direction:column;gap:2px;display:flex}.logo-title[data-v-e68e3c14]{color:#fff;letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1}.logo-subtitle[data-v-e68e3c14]{color:#fff9;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.sidebar-nav[data-v-e68e3c14]{flex-direction:column;flex:1;gap:4px;padding:20px 16px;display:flex;overflow-y:auto}.nav-item[data-v-e68e3c14]{border-radius:var(--radius-lg);color:#ffffffb3;transition:all var(--transition-base);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;animation:.3s ease-out backwards slideUp;display:flex;position:relative}.nav-item[data-v-e68e3c14]:hover{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;transform:translate(2px)}.nav-item.active[data-v-e68e3c14]{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff1a;box-shadow:0 4px 16px #0ea5e940}.nav-item.active .nav-indicator[data-v-e68e3c14]{opacity:1;transform:translateY(-50%)scaleY(1)}.nav-icon[data-v-e68e3c14]{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-icon[data-v-e68e3c14] svg{width:20px;height:20px}.nav-label[data-v-e68e3c14]{flex:1}.nav-indicator[data-v-e68e3c14]{opacity:0;width:4px;height:24px;transition:all var(--transition-base);background:linear-gradient(#38bdf8,#0ea5e9);border-radius:0 3px 3px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0);box-shadow:0 0 12px #0ea5e999}.sidebar-footer[data-v-e68e3c14]{border-top:1px solid #ffffff14;padding:20px 24px}.sidebar-decoration[data-v-e68e3c14]{background:linear-gradient(90deg,#0ea5e966,#38bdf899,#0ea5e966) 0 0/200% 100%;border-radius:2px;height:4px;animation:3s infinite shimmer;box-shadow:0 0 8px #0ea5e966}.main-area[data-v-e68e3c14]{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.header[data-v-e68e3c14]{height:var(--header-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:40;background:#ffffffe6;border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0ea5e90d}.header-left[data-v-e68e3c14]{align-items:center;gap:20px;display:flex}.breadcrumb[data-v-e68e3c14]{align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb-icon[data-v-e68e3c14]{color:var(--text-light)}.breadcrumb-item[data-v-e68e3c14]{color:var(--text);font-weight:500}.breadcrumb-sep[data-v-e68e3c14]{color:var(--text-muted);align-items:center;display:flex}.breadcrumb-current[data-v-e68e3c14]{color:var(--text-h);font-weight:600}.header-right[data-v-e68e3c14]{align-items:center;gap:12px;display:flex}.user-menu[data-v-e68e3c14]{border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--border-light);align-items:center;gap:10px;padding:8px 14px;display:flex}.user-avatar[data-v-e68e3c14]{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 2px 12px #0ea5e966}.user-name[data-v-e68e3c14]{color:var(--text-h);font-size:14px;font-weight:600}.header-btn[data-v-e68e3c14]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);color:var(--text-h);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.header-btn[data-v-e68e3c14]:hover{color:#0ea5e9;background:#0ea5e914;border-color:#0ea5e9;transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e926}.header-btn.danger[data-v-e68e3c14]:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.content[data-v-e68e3c14]{flex:1;min-width:0;padding:28px 32px;animation:.3s ease-out fadeIn}:root{--primary:#0ea5e9;--primary-dark:#0284c7;--primary-light:#38bdf8;--primary-bg:#0ea5e914;--primary-glow:#0ea5e940;--accent:#3b82f6;--accent-dark:#2563eb;--accent-light:#60a5fa;--accent-bg:#3b82f614;--sidebar-bg:linear-gradient(165deg, #0c4a6e 0%, #075985 50%, #0284c7 100%);--sidebar-width:260px;--header-height:64px;--text:#475569;--text-h:#0f172a;--text-light:#64748b;--text-muted:#94a3b8;--bg:#f8fafc;--bg-white:#fff;--bg-elevated:#fefefe;--border:#e2e8f0;--border-light:#f1f5f9;--success:#10b981;--success-bg:#10b98114;--success-glow:#10b98133;--danger:#ef4444;--danger-bg:#ef444414;--danger-glow:#ef444433;--warning:#f59e0b;--warning-bg:#f59e0b14;--warning-glow:#f59e0b33;--info:#3b82f6;--info-bg:#3b82f614;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 4px #0f172a0f, 0 1px 2px #0f172a08;--shadow:0 4px 8px #0f172a14, 0 2px 4px #0f172a0a;--shadow-md:0 8px 16px #0f172a1a, 0 4px 8px #0f172a0f;--shadow-lg:0 16px 32px #0f172a1f, 0 8px 16px #0f172a14;--shadow-glow:0 0 24px var(--primary-glow);--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-h);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1, "liga" 1;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}#app{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary-bg);color:var(--primary-dark)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-fast) ease-out}
