/* m2 - 管理面板/数据仪表盘风格 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,"PingFang SC",sans-serif;background:#f1f5f9;color:#334155;font-size:14px;line-height:1.6}
a{color:#6366f1;text-decoration:none}a:hover{color:#4f46e5}
img{max-width:100%}ul,ol{list-style:none;padding:0;margin:0}
.zm2-side{position:fixed;top:0;left:0;bottom:0;width:64px;background:#1e293b;z-index:100;display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:8px;overflow-y:auto}
.zm2-side .zm2-logo{width:36px;height:36px;border-radius:8px;overflow:hidden;margin-bottom:16px}.zm2-side .zm2-logo img{width:100%;height:100%;object-fit:cover}
.zm2-side .zm2-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:18px;transition:.2s;cursor:pointer;position:relative}
.zm2-side .zm2-icon:hover,.zm2-side .zm2-icon.active{color:#6366f1;background:rgba(99,102,241,0.1)}
.zm2-side .zm2-icon .zm2-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;background:#ef4444;border-radius:50%}
.zm2-side .zm2-drop{position:relative}.zm2-side .zm2-drop-menu{display:none;position:absolute;left:100%;top:0;background:#fff;border-radius:8px;min-width:160px;padding:4px 0;box-shadow:0 4px 20px rgba(0,0,0,0.1);margin-left:8px}.zm2-side .zm2-drop:hover .zm2-drop-menu{display:block}.zm2-side .zm2-drop-menu a{display:block;padding:8px 16px;font-size:13px;color:#334155}.zm2-side .zm2-drop-menu a:hover{background:#eef2ff}
.zm2-side .zm2-cta{margin-top:auto;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px}
.zm2-main{margin-left:64px;min-height:100vh}

/* Top bar */
.zm2-topbar{background:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}
.zm2-topbar .zm2-bread{font-size:13px;color:#94a3b8}.zm2-topbar .zm2-bread span{color:#6366f1}
.zm2-topbar .zm2-actions{display:flex;gap:12px;align-items:center}
.zm2-topbar .zm2-notify{width:36px;height:36px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.zm2-topbar .zm2-notify::after{content:'';position:absolute;top:6px;right:6px;width:7px;height:7px;background:#ef4444;border-radius:50%}
.zm2-btn{display:inline-block;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.zm2-btn-primary{background:#6366f1;color:#fff}.zm2-btn-primary:hover{background:#4f46e5}.zm2-btn-outline{background:transparent;color:#6366f1;border:1px solid #c7d2fe}.zm2-btn-outline:hover{background:#eef2ff}

/* Hero */
.zm2-hero{padding:24px 24px 0;display:flex;gap:24px;align-items:center}.zm2-hero .zm2-hero-text{flex:1}.zm2-hero .zm2-hero-text .zm2-hero-badge{display:inline-block;padding:3px 12px;background:#eef2ff;color:#6366f1;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}.zm2-hero .zm2-hero-text h1{font-size:32px;font-weight:800;color:#1e293b;line-height:1.2;margin-bottom:8px}.zm2-hero .zm2-hero-text p{color:#64748b;font-size:14px;margin-bottom:18px;max-width:480px}.zm2-hero .zm2-hero-text .zm2-hero-btns{display:flex;gap:10px}.zm2-hero .zm2-hero-visual{flex-shrink:0}.zm2-hero .zm2-hero-visual img{max-height:220px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.06)}

/* Dashboard grid */
.zm2-dash{padding:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.zm2-widget{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:.2s}.zm2-widget:hover{box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.zm2-widget .zw-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.zm2-widget .zw-value{font-size:28px;font-weight:700;color:#1e293b}
.zm2-widget .zw-change{font-size:12px;margin-top:4px}.zm2-widget .zw-change.up{color:#10b981}.zm2-widget .zw-change.down{color:#ef4444}
.zm2-widget.span2{grid-column:span 2}.zm2-widget.span4{grid-column:span 4}

/* Table */
.zm2-table-wrap{padding:0 24px 24px}.zm2-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04)}.zm2-table table{width:100%;border-collapse:collapse}.zm2-table th{text-align:left;padding:12px 16px;font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #f1f5f9;font-weight:600}.zm2-table td{padding:14px 16px;border-bottom:1px solid #f8fafc;font-size:13px}.zm2-table tr:hover td{background:#f8fafc}.zm2-table .status{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600}.zm2-table .status.online{background:#ecfdf5;color:#059669}.zm2-table .status.offline{background:#fef2f2;color:#dc2626}

/* Cards section */
.zm2-section{padding:24px}.zm2-sec-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:16px}
.zm2-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.zm2-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.03);transition:.2s}.zm2-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.06);transform:translateY(-2px)}.zm2-card .zc-thumb{height:120px;overflow:hidden}.zm2-card .zc-thumb img{width:100%;height:100%;object-fit:cover}.zm2-card .zc-body{padding:14px 16px}.zm2-card .zc-body h4{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.zm2-card .zc-body .zc-meta{font-size:11px;color:#94a3b8}

.zm2-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.zm2-hcard{display:flex;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.zm2-hcard .zh-img{width:180px;flex-shrink:0}.zm2-hcard .zh-img img{width:100%;height:100%;object-fit:cover}.zm2-hcard .zh-body{padding:20px}.zm2-hcard .zh-body .zh-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;margin-bottom:8px}.zm2-hcard .zh-body .zh-tag.blue{background:#eef2ff;color:#6366f1}.zm2-hcard .zh-body h4{font-size:15px;font-weight:600;color:#1e293b}.zm2-hcard .zh-body p{font-size:12px;color:#94a3b8}

.zm2-faq{padding:0 24px 24px}.zm2-faq .fq{background:#fff;border-radius:10px;margin-bottom:6px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,0.02)}.zm2-faq .fq .q{padding:14px 18px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between}.zm2-faq .fq .q::after{content:'+'}.zm2-faq .fq.open .q::after{content:'−'}.zm2-faq .fq .a{padding:0 18px;max-height:0;overflow:hidden;transition:.3s;color:#64748b}.zm2-faq .fq.open .a{padding:0 18px 14px;max-height:240px}

.zm2-partners{overflow:hidden;padding:0 24px 24px}.zm2-partners .track{display:flex;gap:16px;animation:zm2p 22s linear infinite;width:fit-content}.zm2-partners .item{flex-shrink:0;background:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,0.02)}.zm2-partners .item img{height:36px;opacity:0.5}.zm2-partners .item:hover img{opacity:1}@keyframes zm2p{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.zm2-footer{background:#1e293b;color:#94a3b8;padding:30px 24px;font-size:13px}.zm2-footer a{color:#94a3b8}.zm2-footer a:hover{color:#fff}.zm2-footer .zf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:20px}.zm2-footer .zf-bot{text-align:center;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06)}

.zm2-detail{padding:24px}.zm2-row{display:flex;gap:20px;flex-wrap:wrap}.zm2-col-main{flex:2}.zm2-col-side{flex:1;min-width:250px}
.zm2-pcard{background:#fff;border-radius:10px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.zm2-pcard-hd{padding:14px 18px;border-bottom:1px solid #f1f5f9;font-weight:600}.zm2-pcard-bd{padding:18px}.zm2-bread{font-size:12px;color:#94a3b8;padding:8px 0}.zm2-art-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #f8fafc}.zm2-art-item .art-t{width:150px;height:100px;border-radius:8px;overflow:hidden;flex-shrink:0}.zm2-art-item .art-t img{width:100%;height:100%;object-fit:cover}.zm2-art-item .art-i h4{font-size:14px;font-weight:600}.zm2-art-item .art-i h4 a{color:#1e293b}.zm2-art-item .art-i .art-d{font-size:12px;color:#94a3b8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.zm2-list-i{padding:7px 0;border-bottom:1px solid #f8fafc}.zm2-list-i a{color:#475569;font-size:13px}.zm2-tags{display:flex;gap:5px;flex-wrap:wrap}.zm2-tags a{padding:4px 10px;background:#eef2ff;color:#6366f1;border-radius:6px;font-size:11px}.zm2-pag{display:flex;justify-content:center;gap:5px;padding:20px 0}.zm2-pag a,.zm2-pag span{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#64748b;background:#fff}.zm2-pag a:hover{background:#6366f1;color:#fff}.zm2-pag .active span{background:#6366f1;color:#fff}.zm2-dbody{font-size:15px;line-height:1.8;color:#475569}.zm2-meta{display:flex;gap:12px;font-size:12px;color:#94a3b8;padding-bottom:10px;border-bottom:1px solid #f1f5f9;margin-bottom:14px}.zm2-pn{display:flex;gap:12px;padding:12px 0;border-top:1px solid #f1f5f9;margin-top:20px}.zm2-404{text-align:center;padding:100px 20px}.zm2-404 .code{font-size:120px;color:#e2e8f0}
@media(max-width:768px){.zm2-side{display:none}.zm2-main{margin-left:0}.zm2-dash{grid-template-columns:1fr 1fr}.zm2-widget.span2,.zm2-widget.span4{grid-column:span 2}.zm2-grid4,.zm2-grid2{grid-template-columns:1fr}}
