:root{--primary: #1E3478;--primary-light: #2A4A9E;--primary-dark: #15255A;--text: #1B1B1B;--text-secondary: #4A4A4A;--text-muted: #8C8C8C;--bg: #F5F6FA;--bg-alt: #E8EAF0;--surface: #FFFFFF;--border: #D0D3DD;--border-light: #E5E7EB;--accent: #1E3478;--danger: #DC2626;--success: #059669;--warning: #D97706;--radius: 2px;--radius-sm: 1px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.05), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px rgba(0,0,0,.05), 0 4px 6px rgba(0,0,0,.03);--max-width: 1440px;--header-height: 72px;--font: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}input,select{font-family:inherit;outline:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}@media (max-width: 768px){.container{padding:0 16px}}.fade-in{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding-top:var(--header-height)}.section-header{text-align:center;margin-bottom:40px}.section-title{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:12px;letter-spacing:2px}.section-desc{font-size:16px;color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.7}.products-section{padding:60px 0 80px}@media (max-width: 768px){.products-section{padding:40px 0 50px}.section-title{font-size:22px}.section-desc{font-size:14px}}.header[data-v-44285181]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:#fff;border-bottom:1px solid var(--border-light);z-index:100;transition:box-shadow .3s ease}.header-scrolled[data-v-44285181]{box-shadow:0 2px 8px #0000000f}.header-inner[data-v-44285181]{display:flex;align-items:center;justify-content:space-between;height:100%}.logo-wrap[data-v-44285181]{display:flex;align-items:center;gap:12px;cursor:pointer;flex-shrink:0}.logo[data-v-44285181]{height:40px;width:auto}.site-name[data-v-44285181]{font-size:18px;font-weight:700;color:#1b1b1b;letter-spacing:1px;white-space:nowrap}.nav[data-v-44285181]{display:flex;align-items:center;gap:2px}.nav-link[data-v-44285181]{padding:10px 22px;font-size:15px;font-weight:500;color:var(--text-secondary);position:relative;letter-spacing:.5px;transition:color .2s}.nav-link[data-v-44285181]:hover{color:var(--primary)}.nav-link.active[data-v-44285181]{color:var(--primary);font-weight:600}.menu-toggle[data-v-44285181]{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}.menu-bar[data-v-44285181]{display:block;width:24px;height:2px;background:var(--text);border-radius:1px;transition:transform .3s,opacity .3s}.menu-bar.open[data-v-44285181]:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-bar.open[data-v-44285181]:nth-child(2){opacity:0}.menu-bar.open[data-v-44285181]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 1024px){.site-name[data-v-44285181]{font-size:15px}.nav-link[data-v-44285181]{padding:8px 14px;font-size:14px}}@media (max-width: 768px){.header[data-v-44285181]{--header-height: 60px}.logo[data-v-44285181]{height:28px}.site-name[data-v-44285181]{font-size:13px;white-space:normal;line-height:1.2}.nav[data-v-44285181]{position:fixed;top:var(--header-height);left:0;right:0;background:#fff;flex-direction:column;padding:12px 16px;gap:2px;border-bottom:1px solid var(--border-light);transform:translateY(-110%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none;box-shadow:0 4px 12px #00000014}.nav-open[data-v-44285181]{transform:translateY(0);opacity:1;pointer-events:auto}.nav-link[data-v-44285181]{width:100%;padding:12px 16px;font-size:15px}.menu-toggle[data-v-44285181]{display:flex}}.hero[data-v-34d14f29]{position:relative;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%);padding:80px 0 60px;overflow:hidden;min-height:480px;display:flex;align-items:center}.hero-bg[data-v-34d14f29]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08}.hero-pattern[data-v-34d14f29]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 40%),radial-gradient(circle at 60% 80%,rgba(255,255,255,.1) 0%,transparent 45%)}.hero-content[data-v-34d14f29]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:60px}.hero-text[data-v-34d14f29]{flex:1;max-width:620px}.hero-badge[data-v-34d14f29]{display:inline-block;font-size:16px;font-weight:500;color:#ffffffb3;letter-spacing:4px;margin-bottom:12px;padding:4px 16px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius)}.hero-title[data-v-34d14f29]{font-size:44px;font-weight:900;color:#fff;line-height:1.15;letter-spacing:4px;margin-bottom:0}.hero-divider[data-v-34d14f29]{width:60px;height:3px;background:#ffffff80;margin:24px 0;border-radius:1px}.hero-slogan[data-v-34d14f29]{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:300;color:#ffffffe6;letter-spacing:6px;margin-bottom:36px}.slogan-dot[data-v-34d14f29]{color:#fff6;font-weight:300}.hero-actions[data-v-34d14f29]{display:flex;gap:16px;flex-wrap:wrap}.btn-primary[data-v-34d14f29]{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:#fff;color:var(--primary);font-size:16px;font-weight:600;border-radius:var(--radius);transition:all .25s ease}.btn-primary[data-v-34d14f29]:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-outline[data-v-34d14f29]{display:inline-flex;align-items:center;padding:14px 32px;border:1.5px solid rgba(255,255,255,.5);color:#fff;font-size:16px;font-weight:500;border-radius:var(--radius);transition:all .25s ease}.btn-outline[data-v-34d14f29]:hover{border-color:#fff;background:#ffffff1a;transform:translateY(-1px)}@media (max-width: 1024px){.hero-content[data-v-34d14f29]{flex-direction:column;text-align:center;gap:40px}.hero-text[data-v-34d14f29]{max-width:100%;display:flex;flex-direction:column;align-items:center}.hero-divider[data-v-34d14f29]{margin-left:auto;margin-right:auto}.hero-actions[data-v-34d14f29]{justify-content:center}.hero-title[data-v-34d14f29]{font-size:36px}}@media (max-width: 768px){.hero[data-v-34d14f29]{padding:60px 0 40px;min-height:auto}.hero-title[data-v-34d14f29]{font-size:28px;letter-spacing:2px}.hero-badge[data-v-34d14f29]{font-size:13px;letter-spacing:2px;padding:3px 12px}.hero-slogan[data-v-34d14f29]{font-size:18px;letter-spacing:4px;gap:8px;flex-wrap:wrap;justify-content:center}.hero-divider[data-v-34d14f29]{width:40px;margin:18px auto}.btn-primary[data-v-34d14f29],.btn-outline[data-v-34d14f29]{padding:12px 24px;font-size:14px}}.filter-wrap[data-v-7f2af7b9]{margin-bottom:28px;display:flex;flex-direction:column;gap:12px}.categories-row[data-v-7f2af7b9]{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);position:relative}.categories-viewport[data-v-7f2af7b9]{flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0}.categories-viewport[data-v-7f2af7b9]::-webkit-scrollbar{display:none}.categories-track[data-v-7f2af7b9]{display:flex;gap:4px;padding:0 8px;width:max-content;min-width:100%}.cat-btn[data-v-7f2af7b9]{flex-shrink:0;padding:7px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius);transition:all .2s ease;white-space:nowrap;letter-spacing:.5px;border:none;background:transparent;cursor:pointer}.cat-btn[data-v-7f2af7b9]:hover{color:var(--primary);background:#1e34780d}.cat-btn.active[data-v-7f2af7b9]{color:#fff;background:var(--primary);font-weight:600}.cat-dot[data-v-7f2af7b9]{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:4px}.scroll-btn[data-v-7f2af7b9]{display:none;align-items:center;justify-content:center;width:32px;flex-shrink:0;border:none;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s;z-index:1}.scroll-btn.visible[data-v-7f2af7b9]{display:flex}.scroll-btn[data-v-7f2af7b9]:hover{color:var(--primary);background:var(--bg)}.scroll-left[data-v-7f2af7b9]{border-right:1px solid var(--border-light);border-radius:var(--radius) 0 0 var(--radius)}.scroll-right[data-v-7f2af7b9]{border-left:1px solid var(--border-light);border-radius:0 var(--radius) var(--radius) 0}.search-box[data-v-7f2af7b9]{position:relative;display:flex;align-items:center;max-width:480px}.search-icon[data-v-7f2af7b9]{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.search-input[data-v-7f2af7b9]{width:100%;padding:9px 36px 9px 38px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .2s}.search-input[data-v-7f2af7b9]:focus{border-color:var(--primary);outline:none}.search-input[data-v-7f2af7b9]::placeholder{color:var(--text-muted)}.search-clear[data-v-7f2af7b9]{position:absolute;right:8px;color:var(--text-muted);padding:4px;display:flex;border:none;background:none;cursor:pointer;transition:color .2s}.search-clear[data-v-7f2af7b9]:hover{color:var(--text)}@media (max-width: 768px){.filter-wrap[data-v-7f2af7b9]{gap:10px}.categories-row[data-v-7f2af7b9]{border-left:none;border-right:none;border-radius:0;margin:0 -16px}.scroll-btn[data-v-7f2af7b9]{display:none!important}.categories-viewport[data-v-7f2af7b9]{padding:6px 0}.categories-track[data-v-7f2af7b9]{padding:0 16px}.cat-btn[data-v-7f2af7b9]{padding:6px 14px;font-size:13px}.search-box[data-v-7f2af7b9]{max-width:100%}}@media (max-width: 375px){.cat-btn[data-v-7f2af7b9]{padding:5px 12px;font-size:12px}}.card[data-v-38b4af83]{position:relative;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;min-height:320px;height:100%}.card[data-v-38b4af83]:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-title[data-v-38b4af83]{font-size:17px;font-weight:600;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-all;padding-right:60px;min-height:3em}.card-category[data-v-38b4af83]{display:inline-block;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--radius-sm);letter-spacing:.5px;margin:10px 0 12px;width:fit-content;min-height:22px}.card-desc[data-v-38b4af83]{font-size:14px;color:var(--text-secondary);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-all;min-height:4.2em;margin-bottom:10px}.card-tags[data-v-38b4af83]{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;overflow:hidden;min-height:50px;max-height:50px}.tag[data-v-38b4af83]{font-size:12px;color:var(--text-muted);background:var(--bg);padding:3px 10px;border-radius:var(--radius-sm);letter-spacing:.3px;height:23px;box-sizing:border-box;line-height:1.4}.card-spacer[data-v-38b4af83]{flex:1;min-height:8px}.card-footer[data-v-38b4af83]{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border-light);flex-shrink:0;gap:8px}.meta-item[data-v-38b4af83]{font-size:12px;color:var(--text-muted);flex-shrink:0}.provider[data-v-38b4af83]{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.card-source-tag[data-v-38b4af83]{position:absolute;top:24px;right:16px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:1px}.tag-dataset[data-v-38b4af83]{background:#1e347814;color:#1e3478}.tag-api[data-v-38b4af83]{background:#05966914;color:#059669}@media (max-width: 768px){.card[data-v-38b4af83]{padding:18px;min-height:280px}.card-title[data-v-38b4af83]{font-size:16px}.card-desc[data-v-38b4af83]{font-size:13px}.card-tags[data-v-38b4af83]{min-height:44px;max-height:44px}.card-source-tag[data-v-38b4af83]{display:none}}.card-grid[data-v-f13cdece]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-item[data-v-f13cdece]{display:flex;align-items:stretch}.grid-item[data-v-f13cdece]>*{width:100%;height:100%}.pagination[data-v-f13cdece]{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:40px}.page-btn[data-v-f13cdece]{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;font-size:14px;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s;cursor:pointer}.page-btn[data-v-f13cdece]:hover:not(:disabled):not(.active){border-color:var(--primary);color:var(--primary)}.page-btn.active[data-v-f13cdece]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn[data-v-f13cdece]:disabled{opacity:.4;cursor:not-allowed}.grid-skeleton[data-v-f13cdece]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skeleton-card[data-v-f13cdece]{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;min-height:240px}.skeleton-line[data-v-f13cdece]{height:14px;background:linear-gradient(90deg,var(--bg) 25%,var(--bg-alt) 50%,var(--bg) 75%);background-size:200% 100%;animation:shimmer-f13cdece 1.5s infinite;border-radius:var(--radius-sm)}.w-20[data-v-f13cdece]{width:20%}.w-40[data-v-f13cdece]{width:40%}.w-60[data-v-f13cdece]{width:60%}.w-80[data-v-f13cdece]{width:80%}.w-100[data-v-f13cdece]{width:100%}.h-5[data-v-f13cdece]{height:20px}.mt-auto[data-v-f13cdece]{margin-top:auto}@keyframes shimmer-f13cdece{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state[data-v-f13cdece]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-title[data-v-f13cdece]{font-size:18px;font-weight:600;color:var(--text);margin-top:20px}.empty-desc[data-v-f13cdece]{font-size:14px;color:var(--text-muted);margin-top:8px}@media (max-width: 1200px){.card-grid[data-v-f13cdece],.grid-skeleton[data-v-f13cdece]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.card-grid[data-v-f13cdece],.grid-skeleton[data-v-f13cdece]{grid-template-columns:1fr}.empty-state[data-v-f13cdece]{padding:60px 20px}.pagination[data-v-f13cdece]{flex-wrap:wrap;gap:4px}.page-btn[data-v-f13cdece]{padding:6px 10px;font-size:13px}}.footer[data-v-d10bb85b]{background:var(--primary-dark);color:#fffc;padding:60px 0 0}.footer-main[data-v-d10bb85b]{display:flex;gap:80px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand[data-v-d10bb85b]{flex:1;max-width:480px}.footer-brand-top[data-v-d10bb85b]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.footer-logo[data-v-d10bb85b]{height:40px;width:auto;flex-shrink:0;margin-bottom:0}.footer-site-name[data-v-d10bb85b]{font-size:18px;font-weight:700;color:#fff;letter-spacing:1px;margin-bottom:0}.footer-contact[data-v-d10bb85b]{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px 32px}.contact-item[data-v-d10bb85b]{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffa6;line-height:1.6}.footer-links[data-v-d10bb85b]{flex-shrink:0}.link-group[data-v-d10bb85b]{display:flex;flex-direction:column;gap:12px;min-width:200px}.link-title[data-v-d10bb85b]{font-size:16px;font-weight:600;color:#fff;margin-bottom:4px;letter-spacing:.5px}.link-group a[data-v-d10bb85b]{font-size:14px;color:#fff9;transition:color .2s}.link-group a[data-v-d10bb85b]:hover{color:#fff}.footer-bottom[data-v-d10bb85b]{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:13px;color:#fff6}.footer-bottom a[data-v-d10bb85b]{color:#fff6;transition:color .2s}.footer-bottom a[data-v-d10bb85b]:hover{color:#ffffffb3}@media (max-width: 768px){.footer[data-v-d10bb85b]{padding:40px 0 0}.footer-main[data-v-d10bb85b]{flex-direction:column;gap:36px}.footer-brand[data-v-d10bb85b]{max-width:100%}.footer-links[data-v-d10bb85b]{width:100%}.link-group[data-v-d10bb85b]{min-width:auto}.footer-bottom[data-v-d10bb85b]{flex-direction:column;gap:6px;text-align:center}}.app[data-v-c2b8921d]{min-height:100vh;display:flex;flex-direction:column}.main[data-v-c2b8921d]{flex:1;padding-top:var(--header-height)}.section-header[data-v-c2b8921d]{text-align:center;margin-bottom:40px}.section-title[data-v-c2b8921d]{font-size:28px;font-weight:700;color:var(--primary);letter-spacing:2px}.products-section[data-v-c2b8921d]{padding:60px 0 80px}@media (max-width: 768px){.products-section[data-v-c2b8921d]{padding:40px 0 50px}.section-title[data-v-c2b8921d]{font-size:22px}}.app[data-v-d2e9b291]{min-height:100vh;display:flex;flex-direction:column}.main[data-v-d2e9b291]{flex:1;padding-top:var(--header-height)}.cat-hero[data-v-d2e9b291]{background:linear-gradient(135deg,#1e3a5f,#2563eb);padding:60px 0;text-align:center}.cat-title[data-v-d2e9b291]{font-size:32px;font-weight:900;color:#fff;letter-spacing:3px;margin-bottom:12px}.cat-desc[data-v-d2e9b291]{font-size:16px;color:#ffffffbf}.products-section[data-v-d2e9b291]{padding:40px 0 80px}@media (max-width: 768px){.cat-hero[data-v-d2e9b291]{padding:40px 0}.cat-title[data-v-d2e9b291]{font-size:24px}.cat-desc[data-v-d2e9b291]{font-size:14px}}.app[data-v-cf12d109]{min-height:100vh;display:flex;flex-direction:column}.main[data-v-cf12d109]{flex:1;padding-top:var(--header-height)}.cat-hero[data-v-cf12d109]{background:linear-gradient(135deg,#0f3d3e,#0891b2);padding:60px 0;text-align:center}.cat-title[data-v-cf12d109]{font-size:32px;font-weight:900;color:#fff;letter-spacing:3px;margin-bottom:12px}.cat-desc[data-v-cf12d109]{font-size:16px;color:#ffffffbf}.products-section[data-v-cf12d109]{padding:40px 0 80px}@media (max-width: 768px){.cat-hero[data-v-cf12d109]{padding:40px 0}.cat-title[data-v-cf12d109]{font-size:24px}.cat-desc[data-v-cf12d109]{font-size:14px}}.login-page[data-v-a676302f]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#15255a,#1e3478,#2a4a9e);padding:24px}.login-card[data-v-a676302f]{background:#fff;border-radius:2px;padding:48px 40px 36px;width:100%;max-width:400px;box-shadow:0 4px 24px #00000026}.login-header[data-v-a676302f]{text-align:center;margin-bottom:36px}.login-logo[data-v-a676302f]{height:48px;width:auto;margin:0 auto 16px}.login-title[data-v-a676302f]{font-size:24px;font-weight:700;color:#1e3478;letter-spacing:2px}.login-subtitle[data-v-a676302f]{font-size:13px;color:#8c8c8c;margin-top:8px}.form-group[data-v-a676302f]{margin-bottom:20px}.form-label[data-v-a676302f]{display:block;font-size:14px;font-weight:500;color:#1b1b1b;margin-bottom:6px}.form-input[data-v-a676302f]{width:100%;padding:10px 14px;font-size:15px;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b;background:#f5f6fa;transition:border-color .2s,background .2s;box-sizing:border-box}.form-input[data-v-a676302f]:focus{border-color:#1e3478;background:#fff;outline:none}.login-error[data-v-a676302f]{color:#dc2626;font-size:13px;margin-bottom:16px}.login-btn[data-v-a676302f]{width:100%;padding:12px;background:#1e3478;color:#fff;font-size:16px;font-weight:600;border:none;border-radius:2px;cursor:pointer;transition:background .2s;letter-spacing:4px;display:flex;align-items:center;justify-content:center;height:44px}.login-btn[data-v-a676302f]:hover{background:#2a4a9e}.login-btn[data-v-a676302f]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-a676302f]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-a676302f .6s linear infinite}@keyframes spin-a676302f{to{transform:rotate(360deg)}}.fade-in[data-v-a676302f]{opacity:0;transform:translateY(20px);animation:fadeInUp-a676302f .5s ease forwards}@keyframes fadeInUp-a676302f{to{opacity:1;transform:translateY(0)}}.admin-layout[data-v-f3c92c12]{display:flex;min-height:100vh;background:#f5f6fa}.sidebar[data-v-f3c92c12]{width:220px;background:#1e3478;color:#fff;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header[data-v-f3c92c12]{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo[data-v-f3c92c12]{height:32px;width:auto;filter:brightness(0) invert(1)}.sidebar-title[data-v-f3c92c12]{font-size:16px;font-weight:700;letter-spacing:1px}.sidebar-nav[data-v-f3c92c12]{flex:1;padding:12px;display:flex;flex-direction:column;gap:4px}.nav-item[data-v-f3c92c12]{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;color:#ffffffb3;border-radius:2px;text-decoration:none;transition:all .2s}.nav-item[data-v-f3c92c12]:hover{color:#fff;background:#ffffff1a}.nav-active[data-v-f3c92c12]{color:#fff;background:#ffffff26;font-weight:600}.sidebar-footer[data-v-f3c92c12]{padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.sidebar-user[data-v-f3c92c12]{font-size:13px;color:#fff9}.logout-btn[data-v-f3c92c12]{font-size:12px;color:#ffffff80;background:none;border:1px solid rgba(255,255,255,.2);padding:4px 10px;border-radius:2px;cursor:pointer;transition:all .2s}.logout-btn[data-v-f3c92c12]:hover{color:#fff;border-color:#ffffff80}.main-area[data-v-f3c92c12]{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar[data-v-f3c92c12]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #E5E7EB}.topbar-title[data-v-f3c92c12]{font-size:18px;font-weight:600;color:#1b1b1b}.topbar-right[data-v-f3c92c12]{display:flex;gap:10px}.btn[data-v-f3c92c12]{padding:8px 20px;font-size:14px;font-weight:500;border-radius:2px;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-f3c92c12]{background:#1e3478;color:#fff}.btn-primary[data-v-f3c92c12]:hover{background:#2a4a9e}.btn-primary[data-v-f3c92c12]:disabled{opacity:.5;cursor:not-allowed}.btn-outline-primary[data-v-f3c92c12]{background:transparent;color:#1e3478;border:1px solid #1E3478}.btn-outline-primary[data-v-f3c92c12]:hover{background:#1e34780d}.btn-outline-primary[data-v-f3c92c12]:disabled{opacity:.5;cursor:not-allowed}.main-content[data-v-f3c92c12]{flex:1;padding:24px;overflow-y:auto}.toast[data-v-f3c92c12]{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 28px;font-size:14px;border-radius:2px;z-index:1000;box-shadow:0 4px 12px #00000026;white-space:nowrap}.toast-success[data-v-f3c92c12]{background:#059669;color:#fff}.toast-error[data-v-f3c92c12]{background:#dc2626;color:#fff}.toast-enter-active[data-v-f3c92c12]{animation:toastFadeIn-f3c92c12 .3s ease}.toast-leave-active[data-v-f3c92c12]{animation:toastFadeIn-f3c92c12 .3s ease reverse}@keyframes toastFadeIn-f3c92c12{0%{transform:translate(-50%) translateY(-10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media (max-width: 768px){.sidebar[data-v-f3c92c12]{width:56px}.sidebar-title[data-v-f3c92c12],.sidebar-user[data-v-f3c92c12],.nav-item span[data-v-f3c92c12]{display:none}.nav-item[data-v-f3c92c12]{justify-content:center;padding:10px}.topbar[data-v-f3c92c12]{padding:12px 16px;flex-direction:column;gap:8px}.main-content[data-v-f3c92c12]{padding:16px}}.chart-wrap[data-v-7ba01ba4]{position:relative}.chart-svg[data-v-7ba01ba4]{display:block}.chart-dot[data-v-7ba01ba4]{transition:r .2s ease}.chart-dot[data-v-7ba01ba4]:hover{r:5}.chart-label[data-v-7ba01ba4],.chart-label-y[data-v-7ba01ba4]{font-size:10px;fill:#8c8c8c}.chart-empty[data-v-7ba01ba4]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#8c8c8c;font-size:13px}.data-mgmt[data-v-c12e2a8a]{display:flex;flex-direction:column;gap:16px}.kpi-row[data-v-c12e2a8a]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi-card[data-v-c12e2a8a]{background:#fff;border:1px solid #E5E7EB;border-radius:2px;padding:16px 20px;display:flex;align-items:flex-start;gap:14px}.kpi-card.kpi-chart[data-v-c12e2a8a]{grid-column:span 2;display:block;padding:16px 20px}.kpi-top[data-v-c12e2a8a]{flex-shrink:0}.kpi-icon[data-v-c12e2a8a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:2px}.kpi-blue[data-v-c12e2a8a]{background:#1e347814;color:#1e3478}.kpi-green[data-v-c12e2a8a]{background:#05966914;color:#059669}.kpi-amber[data-v-c12e2a8a]{background:#d9770614;color:#d97706}.kpi-body[data-v-c12e2a8a]{display:flex;flex-direction:column;gap:2px}.kpi-value[data-v-c12e2a8a]{font-size:26px;font-weight:700;color:#1b1b1b;line-height:1.2;letter-spacing:-.5px}.kpi-label[data-v-c12e2a8a]{font-size:13px;color:#8c8c8c}.kpi-chart-header[data-v-c12e2a8a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.kpi-chart-title[data-v-c12e2a8a]{font-size:13px;font-weight:600;color:#1b1b1b}.days-select[data-v-c12e2a8a]{padding:4px 8px;font-size:12px;border:1px solid #D0D3DD;border-radius:2px;color:#4a4a4a;background:#fff}.tabs-row[data-v-c12e2a8a]{display:flex;gap:2px;background:#e8eaf0;border-radius:2px;padding:2px;width:fit-content}.tab-btn[data-v-c12e2a8a]{padding:6px 20px;font-size:13px;font-weight:500;color:#4a4a4a;border:none;background:transparent;border-radius:1px;cursor:pointer;transition:all .2s}.tab-btn.active[data-v-c12e2a8a]{background:#fff;color:#1e3478;font-weight:600;box-shadow:0 1px 3px #00000014}.import-panel[data-v-c12e2a8a]{display:flex;flex-direction:column;gap:16px}.import-search[data-v-c12e2a8a]{display:flex;gap:10px}.search-input-lg[data-v-c12e2a8a]{flex:1;max-width:500px;padding:8px 14px;font-size:14px;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b}.search-input-lg[data-v-c12e2a8a]:focus{border-color:#1e3478;outline:none}.import-preview[data-v-c12e2a8a]{max-width:600px}.preview-card[data-v-c12e2a8a]{background:#fff;border:1px solid #E5E7EB;border-radius:2px;padding:20px}.preview-header[data-v-c12e2a8a]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.preview-type[data-v-c12e2a8a]{font-size:11px;padding:2px 8px;border-radius:1px;font-weight:500}.preview-name[data-v-c12e2a8a]{font-size:18px;font-weight:600;color:#1b1b1b;margin-bottom:16px;line-height:1.4}.preview-info[data-v-c12e2a8a]{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:12px}.info-item[data-v-c12e2a8a]{display:flex;gap:8px;font-size:13px;color:#4a4a4a}.info-label[data-v-c12e2a8a]{color:#8c8c8c;white-space:nowrap;width:64px;flex-shrink:0}.preview-desc[data-v-c12e2a8a]{font-size:13px;color:#4a4a4a;line-height:1.7;margin-bottom:16px;padding:12px;background:#f5f6fa;border-radius:2px;max-height:80px;overflow-y:auto}.preview-actions[data-v-c12e2a8a]{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid #F0F1F5}.filters[data-v-c12e2a8a]{display:flex;align-items:center;justify-content:space-between;gap:16px}.filter-left[data-v-c12e2a8a]{display:flex;align-items:center;gap:12px}.search-input[data-v-c12e2a8a]{width:200px;padding:7px 12px;font-size:13px;border:1px solid #D0D3DD;border-radius:2px;background:#fff;color:#1b1b1b}.search-input[data-v-c12e2a8a]:focus{border-color:#1e3478;outline:none}.filter-right[data-v-c12e2a8a]{display:flex;align-items:center;gap:12px}.item-count[data-v-c12e2a8a]{font-size:13px;color:#8c8c8c}.batch-bar[data-v-c12e2a8a]{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border:1px solid #1E3478;border-radius:2px}.batch-info[data-v-c12e2a8a]{font-size:13px;font-weight:500;color:#1e3478;white-space:nowrap}.batch-actions[data-v-c12e2a8a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.batch-select[data-v-c12e2a8a]{padding:6px 10px;font-size:13px;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b}.btn[data-v-c12e2a8a]{padding:6px 14px;font-size:13px;font-weight:500;border-radius:2px;cursor:pointer;transition:all .2s;border:none;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.btn-sm[data-v-c12e2a8a]{padding:5px 12px;font-size:12px}.btn-primary[data-v-c12e2a8a]{background:#1e3478;color:#fff}.btn-primary[data-v-c12e2a8a]:hover{background:#2a4a9e}.btn-primary[data-v-c12e2a8a]:disabled{opacity:.5;cursor:not-allowed}.btn-outline[data-v-c12e2a8a]{background:transparent;color:#1e3478;border:1px solid #1E3478}.btn-outline[data-v-c12e2a8a]:hover{background:#1e34780d}.btn-text[data-v-c12e2a8a]{background:transparent;color:#8c8c8c}.btn-text[data-v-c12e2a8a]:hover{color:#1b1b1b}.table-wrap[data-v-c12e2a8a]{background:#fff;border:1px solid #E5E7EB;border-radius:2px;overflow-x:auto}.data-table[data-v-c12e2a8a]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-c12e2a8a]{padding:12px 14px;text-align:left;font-weight:600;color:#1b1b1b;background:#f5f6fa;border-bottom:1px solid #E5E7EB;white-space:nowrap}.data-table td[data-v-c12e2a8a]{padding:10px 14px;border-bottom:1px solid #F0F1F5;color:#1b1b1b}.data-table tbody tr[data-v-c12e2a8a]:hover{background:#f8f9fc}.data-table tbody tr.rowchanged[data-v-c12e2a8a]{background:#fff8e6}.col-check[data-v-c12e2a8a]{width:36px;text-align:center}.col-name[data-v-c12e2a8a]{min-width:140px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.dianshu-table .col-name[data-v-c12e2a8a]{max-width:50%}.col-type[data-v-c12e2a8a]{width:60px}.col-creator[data-v-c12e2a8a],.col-time[data-v-c12e2a8a]{width:110px}.col-cat[data-v-c12e2a8a]{width:130px}.col-show[data-v-c12e2a8a]{width:60px;text-align:center}.col-action[data-v-c12e2a8a]{width:60px}.col-price[data-v-c12e2a8a]{width:80px}.col-status[data-v-c12e2a8a]{width:70px}.sortable[data-v-c12e2a8a]{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable[data-v-c12e2a8a]:hover{color:#1e3478}.sort-icon[data-v-c12e2a8a]{font-size:12px;margin-left:4px}.item-link[data-v-c12e2a8a]{color:#1e3478;text-decoration:none;font-weight:500}.item-link[data-v-c12e2a8a]:hover{text-decoration:underline}.origin-tag[data-v-c12e2a8a]{display:inline-block;font-size:10px;padding:1px 6px;border-radius:1px;background:#d977061a;color:#d97706;font-weight:500;vertical-align:middle;margin-left:4px}.tag-type[data-v-c12e2a8a]{display:inline-block;font-size:11px;padding:2px 8px;border-radius:1px;font-weight:500}.tag-dataset[data-v-c12e2a8a]{background:#1e347814;color:#1e3478}.tag-api[data-v-c12e2a8a]{background:#05966914;color:#059669}.status-tag[data-v-c12e2a8a]{font-size:11px;padding:2px 8px;border-radius:1px;font-weight:500}.status-imported[data-v-c12e2a8a]{background:#05966914;color:#059669}.status-new[data-v-c12e2a8a]{background:#1e347814;color:#1e3478}.cat-select[data-v-c12e2a8a]{width:100%;padding:5px 8px;font-size:13px;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b;background:#fff}.cat-select[data-v-c12e2a8a]:focus{border-color:#1e3478;outline:none}.toggle-switch[data-v-c12e2a8a]{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.toggle-switch input[data-v-c12e2a8a]{opacity:0;width:0;height:0}.toggle-slider[data-v-c12e2a8a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#d0d3dd;border-radius:10px;transition:all .25s}.toggle-slider[data-v-c12e2a8a]:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:all .25s}.toggle-switch input:checked+.toggle-slider[data-v-c12e2a8a]{background:#1e3478}.toggle-switch input:checked+.toggle-slider[data-v-c12e2a8a]:before{transform:translate(16px)}.loading-cell[data-v-c12e2a8a],.empty-cell[data-v-c12e2a8a]{text-align:center;padding:48px!important;color:#8c8c8c;font-size:14px}.empty-state[data-v-c12e2a8a]{text-align:center;padding:48px;color:#8c8c8c;font-size:14px}.pagination[data-v-c12e2a8a]{display:flex;align-items:center;justify-content:center;gap:4px}.page-btn[data-v-c12e2a8a]{padding:6px 12px;font-size:13px;color:#4a4a4a;background:#fff;border:1px solid #E5E7EB;border-radius:2px;cursor:pointer;transition:all .2s}.page-btn[data-v-c12e2a8a]:hover:not(:disabled):not(.active){border-color:#1e3478;color:#1e3478}.page-btn.active[data-v-c12e2a8a]{background:#1e3478;color:#fff;border-color:#1e3478}.page-btn[data-v-c12e2a8a]:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 1024px){.kpi-row[data-v-c12e2a8a]{grid-template-columns:repeat(2,1fr)}.kpi-card.kpi-chart[data-v-c12e2a8a]{grid-column:span 2}}@media (max-width: 768px){.kpi-row[data-v-c12e2a8a]{grid-template-columns:1fr}.kpi-card.kpi-chart[data-v-c12e2a8a]{grid-column:span 1}.filters[data-v-c12e2a8a]{flex-direction:column;align-items:stretch}.filter-left[data-v-c12e2a8a]{flex-direction:column}.search-input[data-v-c12e2a8a]{width:100%}.batch-bar[data-v-c12e2a8a]{flex-direction:column;align-items:stretch}.batch-actions[data-v-c12e2a8a]{flex-wrap:wrap}.import-search[data-v-c12e2a8a]{flex-direction:column}.search-input-lg[data-v-c12e2a8a]{max-width:100%}}.category-mgmt[data-v-59773625]{display:flex;flex-direction:column;gap:20px}.btn[data-v-59773625]{padding:8px 20px;font-size:14px;font-weight:500;border-radius:2px;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-59773625]{background:#1e3478;color:#fff}.btn-primary[data-v-59773625]:hover{background:#2a4a9e}.btn-primary[data-v-59773625]:disabled{opacity:.5;cursor:not-allowed}.btn-text[data-v-59773625]{background:transparent;color:#8c8c8c}.btn-text[data-v-59773625]:hover{color:#1b1b1b}.btn-sm[data-v-59773625]{padding:6px 14px;font-size:13px}.add-form[data-v-59773625]{background:#fff;border:1px solid #1E3478;border-radius:2px;padding:16px;max-width:500px}.form-input[data-v-59773625]{width:100%;padding:8px 12px;font-size:14px;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b;box-sizing:border-box}.form-input[data-v-59773625]:focus{border-color:#1e3478;outline:none}.color-picker-row[data-v-59773625]{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.color-label[data-v-59773625]{font-size:13px;font-weight:500;color:#4a4a4a}.color-picker-wrap[data-v-59773625]{display:flex;align-items:center;gap:6px}.color-input-native[data-v-59773625]{width:36px;height:32px;padding:0;border:1px solid #D0D3DD;border-radius:2px;cursor:pointer;background:none}.color-input-native[data-v-59773625]::-webkit-color-swatch-wrapper{padding:2px}.color-input-native[data-v-59773625]::-webkit-color-swatch{border:none;border-radius:1px}.color-hex-input[data-v-59773625]{width:80px;padding:5px 8px;font-size:13px;font-family:monospace;border:1px solid #D0D3DD;border-radius:2px;color:#1b1b1b}.color-hex-input[data-v-59773625]:focus{border-color:#1e3478;outline:none}.color-preview[data-v-59773625]{font-size:12px;font-weight:500;padding:3px 10px;border-radius:2px;letter-spacing:.5px}.add-actions[data-v-59773625]{display:flex;gap:8px;margin-top:12px}.table-wrap[data-v-59773625]{background:#fff;border:1px solid #E5E7EB;border-radius:2px;overflow:hidden}.data-table[data-v-59773625]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-59773625]{padding:12px 14px;text-align:left;font-weight:600;color:#1b1b1b;background:#f5f6fa;border-bottom:1px solid #E5E7EB}.data-table td[data-v-59773625]{padding:12px 14px;border-bottom:1px solid #F0F1F5;color:#1b1b1b;vertical-align:middle}.data-table tbody tr[data-v-59773625]:hover{background:#f8f9fc}.col-order[data-v-59773625]{width:100px}.col-color[data-v-59773625]{width:120px}.col-name[data-v-59773625]{min-width:200px}.col-time[data-v-59773625]{width:180px;color:#8c8c8c}.col-actions[data-v-59773625]{width:140px}.order-btns[data-v-59773625]{display:flex;align-items:center;gap:6px}.order-btn[data-v-59773625]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #D0D3DD;background:#fff;border-radius:2px;cursor:pointer;color:#4a4a4a;transition:all .2s}.order-btn[data-v-59773625]:hover:not(:disabled){border-color:#1e3478;color:#1e3478}.order-btn[data-v-59773625]:disabled{opacity:.3;cursor:not-allowed}.order-num[data-v-59773625]{font-size:14px;font-weight:500;color:#4a4a4a;min-width:20px;text-align:center}.color-display[data-v-59773625]{display:flex;align-items:center}.color-dot[data-v-59773625]{width:20px;height:20px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.08)}.color-edit-inline[data-v-59773625]{display:flex;align-items:center;gap:6px}.color-input-sm[data-v-59773625]{width:30px;height:28px}.color-hex-sm[data-v-59773625]{width:72px;padding:4px 6px;font-size:12px}.edit-input[data-v-59773625]{width:100%;max-width:280px;padding:5px 10px;font-size:14px;border:1px solid #1E3478;border-radius:2px;color:#1b1b1b;box-sizing:border-box}.edit-input[data-v-59773625]:focus{outline:none}.action-btn[data-v-59773625]{font-size:13px;color:#1e3478;background:none;border:none;cursor:pointer;padding:4px 10px;border-radius:2px;transition:background .2s}.action-btn[data-v-59773625]:hover{background:#1e34780d}.action-save[data-v-59773625]{font-weight:600}.action-danger[data-v-59773625]{color:#dc2626}.action-danger[data-v-59773625]:hover{background:#dc26260d}.immutable-badge[data-v-59773625]{display:inline-block;font-size:10px;padding:1px 6px;border-radius:1px;background:#1e347814;color:#1e3478;font-weight:500;vertical-align:middle;margin-left:6px}.empty-cell[data-v-59773625]{text-align:center;padding:48px!important;color:#8c8c8c}
