:root{--ink:#14213d;--muted:#667085;--line:#e5e9f2;--paper:#fff;--soft:#f6f8fb;--blue:#2457d6;--green:#38b487;--amber:#f2a93b;--red:#cf3f3f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fbfcfe;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,56px);background:rgba(255,255,255,.86);border-bottom:1px solid rgba(229,233,242,.78);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#14213d;color:#fff}.nav{display:flex;align-items:center;gap:24px;color:#445066;font-weight:650}.nav a{padding:8px 0}.nav-admin{color:var(--blue)}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px}.section-band,.section{padding:90px clamp(18px,5vw,72px)}.hero{min-height:92vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.08fr);align-items:center;gap:48px;background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%)}.eyebrow{display:inline-block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:14px 0 20px;font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:0}.hero p{max-width:680px;color:#516070;font-size:18px}.hero-actions{display:flex;gap:14px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;padding:11px 18px;font-weight:800;background:#fff;cursor:pointer}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 12px 24px rgba(36,87,214,.22)}.button.ghost{background:#fff;color:var(--ink)}.button.danger{background:#fff0f0;color:var(--red);border-color:#f3c4c4}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0}.metrics div{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.metrics dt{font-size:24px;font-weight:900}.metrics dd{margin:0;color:var(--muted)}.browser-shell{padding:18px;border:1px solid #d8e0ee;border-radius:8px;background:#fff;box-shadow:0 28px 80px rgba(26,39,66,.14)}.browser-dots{display:flex;gap:8px;padding:4px 4px 16px}.browser-dots span{width:10px;height:10px;border-radius:50%;background:#d8deea}.visual-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;min-height:440px}.chart-card{position:relative;overflow:hidden;min-height:128px;border-radius:8px;padding:20px;background:#f4f7fb;border:1px solid #e2e8f2}.chart-card.wide{grid-column:span 2}.chart-card.tall{grid-row:span 2;background:#17213a;color:#fff}.chart-card strong{display:block;margin-bottom:14px}.chart-card em{font-style:normal;font-size:42px;font-weight:900;color:var(--blue)}.chart-card small{display:block;color:var(--muted)}.chart-card.tall small,.chart-card.tall li{color:#cbd5e1}.chart-card ul{margin:18px 0 0;padding-left:18px}.bar{display:block;height:16px;border-radius:8px;margin:12px 0;background:#dce6f7}.b1{width:82%;background:var(--green)}.b2{width:62%;background:var(--blue)}.b3{width:72%;background:var(--amber)}.mini-pipeline{display:flex;align-items:end;gap:8px;height:72px}.mini-pipeline i{flex:1;border-radius:8px;background:var(--blue)}.mini-pipeline i:nth-child(1){height:38%}.mini-pipeline i:nth-child(2){height:68%;background:var(--green)}.mini-pipeline i:nth-child(3){height:90%;background:var(--amber)}.accent{background:#eaf7f2}.accent span{display:block;height:18px;width:80%;border-radius:8px;background:linear-gradient(90deg,var(--green),var(--blue));animation:pulse 2.4s infinite}@keyframes pulse{50%{width:48%}}.section{max-width:1240px;margin:auto}.section-head{max-width:720px;margin-bottom:28px}.section-head h1,.section-head h2{font-size:clamp(28px,3vw,44px);line-height:1.15;margin:10px 0}.section-head p{color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;font-weight:750;cursor:pointer}.filter.active{background:#14213d;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(20,33,61,.06);transition:.25s}.product-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(20,33,61,.12)}.product-card[hidden]{display:none}.product-card img{aspect-ratio:1.55/1;object-fit:cover;background:#eef2f8}.product-body{padding:18px}.product-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.product-meta b{color:var(--green)}.product-body h3{margin:12px 0 8px}.product-body p{color:var(--muted);font-size:14px}.text-button{padding:0;border:0;background:none;color:var(--blue);font-weight:850;cursor:pointer}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.solution-list{display:grid;gap:12px}.solution{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px;cursor:pointer}.solution.active{border-color:var(--blue);box-shadow:0 12px 28px rgba(36,87,214,.12)}.solution span{color:var(--blue);font-weight:900}.solution-panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:28px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border:1px solid var(--line);border-radius:8px;background:#fff;padding:20px}.step span{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eaf0ff;color:var(--blue);font-weight:900}.contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:30px}.contact-form,.installer-form,.editor,.auth-card{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px}.contact-form .full,.editor label:nth-child(6),.editor label:nth-child(7),.editor label:nth-child(8){grid-column:1/-1}label{display:grid;gap:7px;font-weight:750;color:#334155}input,select,textarea{width:100%;border:1px solid #d9e1ec;border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical}.footer{display:flex;justify-content:space-between;gap:16px;padding:28px clamp(18px,5vw,72px);background:#111827;color:#dbe4f0}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(12,19,34,.52)}.modal[hidden]{display:none}.modal-panel{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:8px;background:#fff;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.modal-panel img{border-radius:8px;margin-bottom:18px}.modal-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.toast,.notice{max-width:980px;margin:18px auto;padding:14px 16px;border-radius:8px;border:1px solid #cfe7d7;background:#eefaf2;color:#1f7a48}.notice.error,.toast.error{border-color:#f1c4c4;background:#fff0f0;color:#a23333}.installer,.admin-auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef4ff}.installer-card,.auth-card{width:min(520px,100%);display:block}.installer-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:28px}.installer-form{margin-top:20px;grid-template-columns:1fr}.dashboard-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:1px solid var(--line);background:#fff}.dashboard-topbar nav{display:flex;gap:18px}.dashboard{max-width:1160px;margin:auto;padding:28px}.panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px;margin-bottom:24px}.editor{grid-template-columns:repeat(2,1fr);margin-bottom:20px}.inline{display:flex;align-items:center;gap:10px}.inline input{width:auto}.table-list{display:grid;gap:12px}.table-row{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.table-row p{margin:4px 0;color:var(--muted)}.row-actions,.status-form{display:flex;align-items:center;gap:10px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}@media (max-width:980px){.hero,.split,.contact{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.hero{min-height:auto}.hero-visual{order:-1}}@media (max-width:720px){.nav{display:none;position:absolute;left:18px;right:18px;top:68px;flex-direction:column;align-items:stretch;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.nav.open{display:flex}.menu-button{display:block}.section-band,.section{padding:62px 18px}.hero h1{font-size:38px}.metrics,.product-grid,.timeline,.contact-form,.editor{grid-template-columns:1fr}.visual-grid{grid-template-columns:1fr;min-height:auto}.chart-card.wide{grid-column:auto}.footer,.table-row{flex-direction:column}.row-actions,.status-form{align-items:flex-start;flex-wrap:wrap}}

.qrcode-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
.qrcode-img{width:140px;height:140px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px}
.qrcode-wrap span{font-size:13px;color:var(--muted)}
.beian-link{color:#dbe4f0;text-decoration:underline;text-underline-offset:3px;opacity:.7}
.beian-link:hover{opacity:1}
