.error-boundary[data-v-c3a4f0ce]{justify-content:center;align-items:center;min-height:200px;padding:32px;display:flex}.error-content[data-v-c3a4f0ce]{text-align:center;max-width:360px}.error-title[data-v-c3a4f0ce]{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.error-msg[data-v-c3a4f0ce]{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.6}.error-retry[data-v-c3a4f0ce]{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);padding:8px 20px}.error-retry[data-v-c3a4f0ce]:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-hover)}.app-shell[data-v-2d0a4f6b]{min-height:100vh;position:relative}.deploy-banner[data-v-2d0a4f6b]{z-index:9999;color:var(--bg-card);text-align:center;padding:10px 16px;font-size:14px;font-weight:500;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000026}.new-version-banner[data-v-2d0a4f6b]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.new-version-icon[data-v-2d0a4f6b]{margin-right:8px;font-size:16px;animation:1.5s linear infinite spin-2d0a4f6b;display:inline-block}.deploy-banner-btn[data-v-2d0a4f6b]{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #fffc;border-radius:6px;margin-left:12px;padding:4px 14px;font-size:13px;font-weight:600;transition:all .2s}.deploy-banner-btn[data-v-2d0a4f6b]:hover{color:#2563eb;background:#fff}@keyframes spin-2d0a4f6b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-enter-active[data-v-2d0a4f6b],.fade-leave-active[data-v-2d0a4f6b]{transition:opacity .4s}.fade-enter-from[data-v-2d0a4f6b],.fade-leave-to[data-v-2d0a4f6b]{opacity:0}:root{--color-primary:#2563eb;--color-primary-light:#60a5fa;--color-primary-dark:#1d4ed8;--color-primary-bg:#2563eb14;--color-primary-border:#2563eb2e;--color-primary-gradient:linear-gradient(135deg, #2563eb, #7c3aed);--color-success:#10b981;--color-success-bg:#10b9811a;--color-success-dark:#047857;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-error-dark:#dc2626;--color-info:#3b82f6;--color-info-bg:#3b82f61a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-primary:#fff;--text-on-dark:#f1f5f9;--bg-page:#f0f4ff;--bg-card:#ffffffbf;--bg-sidebar:#ffffffd1;--bg-input:#f1f5f9;--bg-hover:#2563eb0f;--bg-elevated:#ffffffeb;--bg-code:#1e1e2e;--glass-bg:#ffffffb8;--glass-border:#ffffff59;--glass-shadow:0 8px 32px #2563eb14;--glass-blur:16px;--border-color:#94a3b833;--border-light:#94a3b81f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #2563eb0f;--shadow-md:0 4px 16px #2563eb14;--shadow-lg:0 8px 32px #2563eb1a;--shadow-xl:0 16px 48px #2563eb1f;--shadow-glow:0 0 24px #2563eb1f;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", sans-serif;--font-size-base:14px;--font-size-sm:12px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--spacing-page:24px;--spacing-section:16px;--nav-height:72px;--transition-fast:.12s ease;--transition:.15s ease;--transition-slow:.25s ease;--primary-color:var(--color-primary)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-page);touch-action:manipulation}#app{width:100%;height:100vh;overflow:hidden}button,a{min-width:44px;min-height:44px}select,input,textarea{font-size:16px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus,select:focus,textarea:focus,button:focus-visible{box-shadow:0 0 0 3px var(--color-primary-bg);border-color:var(--color-primary);outline:none}.page-container{padding:var(--spacing-page);max-width:1200px;height:100%;margin:0 auto;overflow-y:auto}.page-container--wide{max-width:1600px}.page-container--full{max-width:none}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 12px #2563eb0f}50%{box-shadow:0 0 24px #2563eb24}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-slide-enter-active,.page-slide-leave-active{transition:opacity .2s,transform .2s}.page-slide-enter-from{opacity:0;transform:translateY(8px)}.page-slide-leave-to{opacity:0;transform:translateY(-8px)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#e2e8f0 25% 50%,#f1f5f9 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.skeleton-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.skeleton-line{border-radius:4px;height:14px;margin-bottom:10px}.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}.skeleton-line.w-80{width:80%}.skeleton-line.w-full{width:100%}.skeleton-line.h-lg{height:24px}.skeleton-line.h-xl{height:40px}@media (width<=480px){:root{--spacing-page:16px;--font-size-base:13px}}@media (width<=768px){table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (hover:none) and (pointer:coarse){button:active,a:active{opacity:.7;transition:opacity .1s}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.toast-global-container{z-index:99999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast-global{color:#fff;pointer-events:auto;text-align:center;opacity:0;border-radius:10px;max-width:90vw;padding:12px 24px;font-size:14px;font-weight:500;line-height:1.4;transition:opacity .3s ease-out,transform .3s ease-out;transform:translateY(-12px)scale(.95);box-shadow:0 4px 20px #00000026}.toast-global--enter{opacity:1;transform:translateY(0)scale(1)}.toast-global--leaving{opacity:0;transition:opacity .25s ease-in,transform .25s ease-in;transform:translateY(-8px)scale(.95)}.toast-global--error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-global--success{background:linear-gradient(135deg,#10b981,#059669)}.toast-global--info{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light))}.toast-global--warning{background:linear-gradient(135deg,#f59e0b,#d97706)}
