:root{--bg:#f0f2f5;--card:#fff;--card-hover:#f8fafc;--text:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--primary:#3b82f6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--pv:#f59e0b;--grid:#6366f1;--batt:#10b981;--load:#ef4444;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}[data-theme=dark]{--bg:#0f172a;--card:#1e293b;--card-hover:#334155;--text:#f1f5f9;--text-secondary:#94a3b8;--border:#334155;--primary:#60a5fa;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--pv:#fbbf24;--grid:#818cf8;--batt:#34d399;--load:#f87171}body{background:var(--bg);color:var(--text);margin:0;transition:background .3s,color .3s}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:#0f172a}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#475569}.lp-wrapper{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.lp-hero{color:#1e293b;background:linear-gradient(145deg,#e8f4fd 0%,#d0ebfb 40%,#bfe8fa 70%,#e8f4fd 100%);justify-content:center;align-items:center;width:34%;min-width:240px;display:flex;position:relative;overflow:hidden}.lp-hero-bg{pointer-events:none;position:absolute;inset:0}.lp-hero-orb{filter:blur(90px);border-radius:50%;position:absolute}.lp-orb-1{background:radial-gradient(circle,#03a9f440 0%,#0000 75%);width:280px;height:280px;top:-12%;left:-10%}.lp-orb-2{background:radial-gradient(circle,#4caf502e 0%,#0000 75%);width:200px;height:200px;top:52%;right:-10%}.lp-orb-3{background:radial-gradient(circle,#ff980026 0%,#0000 75%);width:120px;height:120px;bottom:8%;left:20%}.lp-hero-content{z-index:1;width:100%;max-width:340px;padding:20px;position:relative}.lp-brand{align-items:center;gap:8px;margin-bottom:14px;display:flex}.lp-logo-icon{letter-spacing:-.5px;background:linear-gradient(135deg,#52c41a,#13c11c);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;font-weight:800;display:flex}.lp-logo-text{letter-spacing:1px;font-size:16px;font-weight:700}.lp-hero-title{color:#0c4a6e;margin-bottom:8px;font-size:20px;font-weight:800;line-height:1.3}.lp-hero-desc{color:#334155;margin-bottom:14px;font-size:12px;line-height:1.5}.lp-features{flex-direction:column;gap:8px;display:flex}.lp-feature{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffa6;border:1px solid #94a3b833;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:all .2s;display:flex}.lp-feature:hover{background:#ffffffd9;transform:translate(4px)}.lp-f-icon{text-align:center;flex-shrink:0;width:28px;font-size:18px}.lp-feature strong{color:#1e293b;font-size:13px;font-weight:600;line-height:1.3;display:block}.lp-feature span{color:#64748b;font-size:11px}.lp-footer-note{color:#94a3b8;margin-top:auto;padding-top:14px;font-size:10px}.kawaii-row{justify-content:center;gap:12px;padding:10px 0 0;display:flex;position:relative}.kawaii-char{transition:transform .25s cubic-bezier(.4,0,.2,1);position:relative}.kawaii-char:hover{transform:scale(1.08)translateY(-3px)}.kawaii-char svg{filter:drop-shadow(0 3px 6px #0000001f);transition:filter .2s}.kawaii-char:hover svg{filter:drop-shadow(0 5px 12px #0000002e)}.lp-form-area:focus-within .kawaii-char{animation:.5s kawaii-shake}@keyframes kawaii-shake{0%,to{transform:translateY(0)}25%{transform:translateY(-2px)rotate(-2deg)}75%{transform:translateY(-2px)rotate(2deg)}}.lp-card-area{background:#f8fafc;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 16px;display:flex}.lp-card{background:#fff;border-radius:16px;width:100%;max-width:760px;overflow:hidden;box-shadow:0 4px 24px #0f172a12,0 1px 3px #0f172a0a}.lp-tabs{scrollbar-width:thin;gap:4px;padding:18px 20px 0;display:flex;overflow-x:auto}.lp-tab{color:#94a3b8;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:10px 10px 0 0;flex:1 0 auto;min-height:48px;padding:12px 14px;font-size:clamp(14px,1.05vw,16px);font-weight:600;transition:all .2s}.lp-tab:hover{color:#475569;background:#3b82f60a}.lp-tab.active{color:#1890ff;background:#fff;box-shadow:0 -2px 8px #0f172a08}.lp-form-area{padding:16px 20px 18px}.lp-form-header h2{color:#1e293b;margin-bottom:2px;font-size:18px;font-weight:700}.lp-form-header p{color:#94a3b8;margin-bottom:12px;font-size:12px}.lp-form{flex-direction:column;gap:14px;display:flex}.lp-field label{color:#475569;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.lp-input{color:#1e293b;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-size:14px;transition:all .2s}.lp-input:focus{background:#fff;border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1a}.lp-input::placeholder{color:#cbd5e1}.lp-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px}.lp-kick{color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;font-size:13px}.lp-btn{color:#fff;cursor:pointer;letter-spacing:2px;background:linear-gradient(135deg,#1890ff,#0070e0);border:none;border-radius:10px;margin-top:4px;padding:12px;font-size:15px;font-weight:700;transition:all .2s}.lp-btn:hover{background:linear-gradient(135deg,#0070e0,#005bb5);box-shadow:0 4px 14px #1890ff59}.lp-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.lp-guide-area{text-align:center;flex-direction:column;align-items:center;padding:20px 20px 16px;display:flex}.lp-guide-icon{margin-bottom:6px;font-size:30px}.lp-guide-area h3{color:#1e293b;margin-bottom:4px;font-size:15px;font-weight:700}.lp-guide-area p{color:#64748b;max-width:300px;font-size:12px;line-height:1.5}.lp-guide-sub{margin-top:-4px;margin-bottom:12px;color:#94a3b8!important;font-size:11px!important}.lp-guide-btn{color:#fff;background:linear-gradient(135deg,#1890ff,#0070e0);border-radius:8px;align-items:center;gap:4px;margin-top:12px;padding:9px 22px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #1890ff40}.lp-guide-btn:hover{background:linear-gradient(135deg,#0070e0,#005bb5);transform:translateY(-1px);box-shadow:0 4px 8px #1890ff4d}.lp-dev-table-wrap{width:100%;margin:16px 0 4px}.lp-dev-table{border-collapse:collapse;border:1px solid #e2e8f0;border-radius:8px;width:100%;overflow:hidden}.lp-dev-table td{color:#334155;border-top:1px solid #f1f5f9;padding:10px 14px;font-size:13px}.lp-dev-table td:first-child{color:#1890ff;background:#f8fafc;width:110px;font-weight:700}.lp-dev-table tr:last-child td:first-child{border-bottom-left-radius:7px}.lp-dev-table tr:last-child td:last-child{border-bottom-right-radius:7px}.lp-card-footer{color:#94a3b8;text-align:center;margin-top:22px;padding:4px 8px;font-size:clamp(14px,1vw,16px);line-height:1.7}.lp-contact-link{cursor:pointer;color:#1890ff;border-radius:8px;align-items:center;min-height:38px;padding:4px 12px;font-weight:600;transition:color .2s,background .2s;display:inline-flex}.lp-contact-link:hover{color:#0070e0;background:#1890ff14;text-decoration:underline}.lp-footer-sep{margin:0 8px}.lp-contact-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;animation:.2s lp-fade-in;display:flex;position:fixed;inset:0}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}.lp-contact-panel{background:#fff;border-radius:16px;width:90%;max-width:480px;animation:.3s lp-slide-up;overflow:hidden;box-shadow:0 12px 40px #0000002e}@keyframes lp-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.lp-contact-head{color:#1e293b;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 22px;font-size:16px;font-weight:700;display:flex}.lp-contact-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .15s;display:flex}.lp-contact-close:hover{color:#334155;background:#e2e8f0}.lp-contact-body{text-align:center;padding:24px 22px 28px}.lp-contact-desc{color:#64748b;margin-bottom:20px;font-size:14px}.lp-contact-qrs{justify-content:center;gap:32px;display:flex}.lp-contact-qr-item{flex-direction:column;align-items:center;gap:8px;display:flex}.lp-contact-qr-img{object-fit:contain;border:2px solid #e2e8f0;border-radius:10px;width:180px;height:180px}.lp-contact-qr-item:last-child .lp-contact-qr-img{border-color:#22c55e59}.lp-contact-qr-item span{color:#94a3b8;font-size:13px}[data-theme=dark] .lp-contact-panel{background:#1e293b}[data-theme=dark] .lp-contact-head{color:#e2e8f0;border-color:#334155}[data-theme=dark] .lp-contact-close{color:#94a3b8;background:#334155}[data-theme=dark] .lp-contact-close:hover{color:#e2e8f0;background:#475569}[data-theme=dark] .lp-contact-desc{color:#94a3b8}[data-theme=dark] .lp-contact-qr-img{border-color:#334155}[data-theme=dark] .lp-card-area{background:#0f172a}[data-theme=dark] .lp-card{background:#1e293b;box-shadow:0 4px 24px #0000004d}[data-theme=dark] .lp-tab{color:#64748b}[data-theme=dark] .lp-tab:hover{color:#94a3b8;background:#94a3b80f}[data-theme=dark] .lp-tab.active{color:#58a6ff;box-shadow:none;background:#0f172a;border:1px solid #21262d}[data-theme=dark] .lp-form-header h2,[data-theme=dark] .lp-guide-area h3{color:#e2e8f0}[data-theme=dark] .lp-guide-area p{color:#94a3b8}[data-theme=dark] .lp-input{color:#e2e8f0;background:#0f172a;border-color:#334155}[data-theme=dark] .lp-input:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff26}[data-theme=dark] .lp-input::placeholder{color:#475569}[data-theme=dark] .lp-dev-table{border-color:#334155}[data-theme=dark] .lp-dev-table td{color:#cbd5e1;border-top-color:#21262d}[data-theme=dark] .lp-dev-table td:first-child{color:#58a6ff;background:#0f172a}[data-theme=dark] .lp-card-footer{color:#475569}@media (width<=860px){.lp-hero{display:none}.lp-card-area{justify-content:flex-start;padding:16px 12px 24px}.lp-card{box-shadow:0 2px 12px #0f172a0f}}@media (width<=560px){.lp-card-area{padding:10px 8px 20px}.lp-tabs{gap:3px;padding:12px 10px 0}.lp-tab{flex:none;min-height:46px;padding:11px 12px;font-size:14px}.lp-form-area{padding:18px 16px 20px}.lp-guide-area{padding:20px 16px 18px}.lp-guide-icon{font-size:28px}.lp-dev-table td{padding:9px 10px;font-size:13px}.lp-card{max-width:unset;border-radius:12px}.lp-card-footer{margin-top:14px;font-size:14px}.lp-contact-qrs{gap:12px}.lp-contact-qr-img{width:min(38vw,180px);height:min(38vw,180px)}}:root{--gw-bg:#f0f4f8;--gw-card:#fff;--gw-card-hover:#f8fafc;--gw-text:#1e293b;--gw-text-secondary:#64748b;--gw-border:#e2e8f0;--gw-blue:#1e9fff;--gw-green:#10b981;--gw-red:#ef4444;--gw-orange:#f59e0b;--gw-purple:#a855f7}[data-theme=dark]{--gw-bg:#0f172a;--gw-card:#1e293b;--gw-card-hover:#334155;--gw-text:#e2e8f0;--gw-text-secondary:#94a3b8;--gw-border:#334155;--gw-blue:#60a5fa}body{background:var(--gw-bg);color:var(--gw-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.gw-app-shell{flex-direction:column;min-height:100vh;display:flex}.gw-header{z-index:999;color:#fff;background:linear-gradient(135deg,#1e9fff,#0070e0);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #1e9fff40}.gw-header-left{align-items:center;gap:20px;display:flex}.gw-logo{align-items:center;gap:8px;display:flex}.gw-logo-icon{background:#ffffff40;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;font-weight:800;display:flex}.gw-logo-text{letter-spacing:1px;font-size:16px;font-weight:700}.gw-device-switcher select{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;outline:none;max-width:240px;padding:6px 12px;font-size:13px;font-weight:600}.gw-device-switcher select option{color:#1e293b}.gw-nav{gap:4px;display:flex}.gw-nav-btn{color:#fffc;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.gw-nav-btn:hover{background:#ffffff40}.gw-nav-btn.active{color:#1e9fff;background:#fff}.gw-header-right{align-items:center;gap:12px;display:flex}.gw-theme-btn,.gw-logout-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;padding:6px 14px;font-size:13px}.gw-logout-btn:hover{background:#ffffff40}.gw-main-content{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:20px 24px}.kick-banner{color:#dc2626;text-align:center;background:#fef2f2;border-bottom:1px solid #fecaca;padding:10px;font-size:14px}.web-empty-lg{text-align:center;color:var(--gw-text-secondary);padding:80px 20px;font-size:16px}.gw-badge{border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600}.gw-badge.online{color:#059669;background:#d1fae5}.gw-badge.offline{color:#dc2626;background:#fee2e2}.gwi-page{flex-direction:column;gap:16px;display:flex}.gwi-top-grid{grid-template-columns:380px 1fr;gap:16px;display:grid}@media (width<=980px){.gwi-top-grid{grid-template-columns:1fr}}.gwi-flow-card{padding:20px}.gwi-flow-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.gwi-flow-title{color:var(--gw-text);font-size:16px;font-weight:700}.gwi-flow-tabs{gap:4px;display:flex}.gwi-flow-tab{border:1px solid var(--gw-border);color:var(--gw-text-secondary);cursor:pointer;background:0 0;border-radius:14px;padding:4px 14px;font-size:12px}.gwi-flow-tab.active{background:var(--gw-blue);color:#fff;border-color:var(--gw-blue)}.gwi-flow-topology{flex-direction:column;gap:8px;display:flex}.gwi-flow-row{justify-content:center;gap:40px;display:flex}.gwi-flow-row-arrows{color:#cbd5e1;justify-content:center;gap:40px;height:18px;font-size:18px;display:flex}.gwi-flow-arrow-down{color:#cbd5e1;opacity:.2}.gwi-flow-arrow-down.active{color:var(--gw-blue);opacity:1;font-weight:700;animation:1.5s ease-in-out infinite flowDown}.gwi-flow-arrow-down.reverse{animation:1.5s ease-in-out infinite flowUp}@keyframes flowDown{0%{opacity:.6;transform:translateY(-4px)}50%{opacity:1;transform:translateY(2px)}to{opacity:.6;transform:translateY(-4px)}}@keyframes flowUp{0%{opacity:.6;transform:translateY(4px)}50%{opacity:1;transform:translateY(-2px)}to{opacity:.6;transform:translateY(4px)}}.gwi-flow-tnode{align-items:center;gap:12px;min-width:160px;display:flex}.gwi-flow-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.gwi-flow-info{flex:1;min-width:0}.gwi-flow-label{color:var(--gw-text-secondary);font-size:13px}.gwi-flow-label strong{color:var(--gw-text);margin-left:4px;font-size:16px;font-weight:700}.gwi-flow-sub{color:var(--gw-text-secondary);margin-top:2px;font-size:11px}.gwi-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=720px){.gwi-stats-grid{grid-template-columns:repeat(2,1fr)}}.gwi-stat-card{background:var(--gw-card);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 1px 4px #0000000a}.gwi-stat-card-icon{border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.gwi-stat-card-label{color:var(--gw-text-secondary);margin-top:-32px;margin-left:48px;font-size:13px}.gwi-stat-card-row{gap:16px;margin-top:4px;display:flex}.gwi-stat-card-val{color:var(--gw-text);font-size:22px;font-weight:700;line-height:1.1}.gwi-stat-card-sub{color:var(--gw-text-secondary);margin-top:2px;font-size:11px}.gwi-stat-card-sub-row{color:var(--gw-text-secondary);border-top:1px dashed var(--gw-border);justify-content:space-between;padding-top:6px;font-size:12px;display:flex}.gwi-chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.gwi-chart-title{color:var(--gw-text);font-size:16px;font-weight:700}.gwi-chart-range{gap:4px;display:flex}.gwi-chart-range .gwi-range-tab{border:1px solid var(--gw-border);color:var(--gw-text-secondary);cursor:pointer;background:0 0;border-radius:14px;padding:4px 14px;font-size:12px}.gwi-chart-range .gwi-range-tab.active{background:var(--gw-blue);color:#fff;border-color:var(--gw-blue)}.gwi-chart-legend{color:var(--gw-text-secondary);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:8px;font-size:11px;display:flex}.gwi-chart-legend i{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.gwi-flow-card .gwi-card-title{margin-bottom:0}.gwi-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.gwi-stat{background:var(--gw-card);border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 1px 4px #0000000a}.gwi-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.gwi-stat-val{color:var(--gw-text);font-size:1.3rem;font-weight:700}.gwi-stat-val small{color:var(--gw-text-secondary);font-size:.75rem;font-weight:400}.gwi-stat-lbl{color:var(--gw-text-secondary);margin-top:2px;font-size:.75rem}.gwi-main-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=860px){.gwi-main-grid{grid-template-columns:1fr}}.gwi-card{background:var(--gw-card);border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000a}.gwi-card-title{color:var(--gw-text);margin-bottom:16px;font-size:.9rem;font-weight:700}.gwi-flow-body{flex-direction:column;align-items:center;gap:8px;display:flex}.gwi-flow-node{border:1px solid var(--gw-border);background:#f8fafc;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:120px;padding:12px 24px;display:flex}.gwi-flow-node span{font-size:24px}.gwi-flow-node strong{font-size:1.1rem}.gwi-flow-node small{color:var(--gw-text-secondary);font-size:.7rem}.gwi-flow-node.solar{border-color:#fbbf24}.gwi-flow-node.inverter{border-color:#60a5fa}.gwi-flow-node.battery{border-color:#34d399}.gwi-flow-node.load{border-color:#f87171}.gwi-flow-node.grid{border-color:#a78bfa}.gwi-flow-arrow{color:var(--gw-text-secondary);font-size:20px}.gwi-flow-split{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.gwi-power-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gwi-mini-card{background:var(--gw-card);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex;box-shadow:0 1px 3px #0000000a}.gwi-mini-icon{text-align:center;width:36px;font-size:22px}.gwi-mini-val{color:var(--gw-text);font-size:1rem;font-weight:700}.gwi-mini-lbl{color:var(--gw-text-secondary);font-size:.7rem}.gwi-chart-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.gwi-chart-tab,.gwi-range-tab{border:1px solid var(--gw-border);background:var(--gw-card);color:var(--gw-text-secondary);cursor:pointer;border-radius:6px;padding:4px 14px;font-size:12px;transition:all .2s}.gwi-chart-tab.active,.gwi-range-tab.active{background:var(--gw-blue);color:#fff;border-color:var(--gw-blue)}.gwi-chart-placeholder{text-align:center;color:var(--gw-text-secondary);padding:60px 20px;font-size:14px}.gwi-detail-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:16px;display:grid}.gwi-detail-card{background:var(--gw-card);border-radius:10px;padding:12px 16px;box-shadow:0 1px 3px #0000000a}.gwi-detail-lbl{color:var(--gw-text-secondary);font-size:.7rem}.gwi-detail-val{color:var(--gw-text);margin:4px 0;font-size:1.05rem;font-weight:700}.gwi-detail-sub{color:var(--gw-text-secondary);font-size:.7rem}.gwb-page{flex-direction:column;gap:14px;display:flex}.gwb-topbar{background:var(--gw-card);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;box-shadow:0 1px 4px #0000000a}.gwb-topbar-left{align-items:center;gap:12px;font-size:15px;font-weight:700;display:flex}.gwb-topbar-status{font-size:15px}.gwb-topbar-tag{color:#7c3aed;background:#ede9fe;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.gwb-topbar-main{color:var(--gw-text);align-items:center;gap:14px;font-size:18px;font-weight:700;display:flex}.gwb-topbar-main small{color:var(--gw-text-secondary);margin-left:2px;font-size:12px;font-weight:400}.gwb-topbar-divider{color:#cbd5e1;font-weight:300}.gwb-topbar-right{color:var(--gw-text-secondary);font-size:12px}.gwb-topbar-rssi{background:#f1f5f9;border-radius:12px;padding:4px 10px}.gwb-core-grid{grid-template-columns:2fr 1fr;gap:14px;display:grid}@media (width<=860px){.gwb-core-grid{grid-template-columns:1fr}}.gwb-gauges-card{padding:16px}.gwb-gauges{flex-wrap:wrap;justify-content:space-around;gap:12px;padding:8px 0;display:flex}.gwb-power-card{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;display:flex}.gwb-power-title{color:var(--gw-text-secondary);font-size:13px}.gwb-power-val{font-size:48px;font-weight:700;line-height:1}.gwb-power-val small{color:var(--gw-text-secondary);margin-left:4px;font-size:18px;font-weight:400}.gwb-power-sub{color:var(--gw-text-secondary);font-size:14px}.gwb-power-divider{background:var(--gw-border);width:60%;height:1px;margin:4px 0}.gwb-power-detail{color:var(--gw-text-secondary);gap:16px;font-size:12px;display:flex}.gwb-power-detail strong{color:var(--gw-text);margin-top:2px;font-size:16px;display:block}.gwb-card{background:var(--gw-card);border-radius:12px;padding:16px 20px;box-shadow:0 1px 4px #0000000a}.gwb-card-title{color:var(--gw-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.gwb-cell-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;display:grid}.gwb-cell{border:1px solid var(--gw-border);background:#f8fafc;border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;padding:8px 6px;display:flex}.gwb-cell-idx{color:var(--gw-text-secondary);text-align:left;font-size:10px;font-weight:600}.gwb-cell-bar-wrap{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden}.gwb-cell-bar{border-radius:2px;height:100%;transition:width .3s}.gwb-cell-v{color:var(--gw-text);text-align:right;font-size:12px;font-weight:700}.gwb-cell-v small{color:var(--gw-text-secondary);margin-left:1px;font-size:9px;font-weight:400}.gwb-temp-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.gwb-temp-item{border:1px solid var(--gw-border);background:#f8fafc;border-radius:10px;padding:8px 12px}.gwb-temp-item.mos{background:#fffbeb;border-color:#fbbf24}.gwb-temp-lbl{color:var(--gw-text-secondary);font-size:11px;font-weight:600}.gwb-temp-bar-wrap{background:#e5e7eb;border-radius:2px;height:4px;margin:6px 0;overflow:hidden}.gwb-temp-bar{border-radius:2px;height:100%;transition:width .3s}.gwb-temp-val{color:var(--gw-text);font-size:14px;font-weight:700}.gwb-temp-val small{color:var(--gw-text-secondary);margin-left:2px;font-size:10px;font-weight:400}.gwb-health-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=720px){.gwb-health-grid{grid-template-columns:1fr}}.gwb-health-card{flex-direction:column;align-items:center;gap:4px;padding:16px 12px;display:flex;position:relative}.gwb-health-icon{border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.gwb-health-label{color:var(--gw-text-secondary);margin-top:-32px;margin-left:44px;font-size:12px}.gwb-health-val{color:var(--gw-text);margin-top:4px;font-size:22px;font-weight:700}.gwb-health-val small{color:var(--gw-text-secondary);margin-left:4px;font-size:12px;font-weight:400}.gwb-health-bar-wrap{background:#e5e7eb;border-radius:3px;width:100%;height:6px;margin-top:6px;overflow:hidden}.gwb-health-bar{border-radius:3px;height:100%;transition:width .3s}.gwb-health-pct{color:var(--gw-text-secondary);margin-top:4px;font-size:11px}.gwb-info-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.gwb-info-card{background:var(--gw-card);border:1px solid var(--gw-border);text-align:center;border-radius:10px;padding:12px}.gwb-info-lbl{color:var(--gw-text-secondary);font-size:11px}.gwb-info-val{color:var(--gw-text);word-break:break-all;margin-top:4px;font-size:16px;font-weight:700}.gwb-info-val small{color:var(--gw-text-secondary);font-size:10px;font-weight:400}.gwm-page{flex-direction:column;gap:14px;display:flex}.gwm-header-card{background:var(--gw-card);border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;box-shadow:0 1px 4px #0000000a}.gwm-header-left{align-items:center;gap:12px;min-width:0;display:flex}.gwm-icon{color:#f97316;font-size:36px;line-height:1}.gwm-title-wrap{min-width:0}.gwm-device-name{color:var(--gw-text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.gwm-device-id{color:var(--gw-text-secondary);margin-top:2px;font-family:monospace;font-size:11px}.gwm-header-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.gwm-rssi{color:var(--gw-text-secondary);font-size:11px}.gwm-status{border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:flex}.gwm-status.online{color:#dc2626;background:#fee2e2}.gwm-status.offline{color:#64748b;background:#f1f5f9}.gwm-dot{background:#dc2626;border-radius:50%;width:8px;height:8px}.gwm-status.offline .gwm-dot{background:#94a3b8}.gwm-section{background:var(--gw-card);border-radius:12px;padding:16px 20px;box-shadow:0 1px 4px #0000000a}.gwm-section-title{color:var(--gw-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.gwm-last-fetch{color:var(--gw-text-secondary);font-size:11px;font-weight:400}.gwm-row-4{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.gwm-row-3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=720px){.gwm-row-4{grid-template-columns:repeat(2,1fr)}.gwm-row-3{grid-template-columns:1fr}}.gwm-row-4.energy{padding-top:4px}.gwm-metric{border:1px solid var(--gw-border);text-align:center;background:#f8fafc;border-radius:10px;padding:12px 8px}.gwm-metric-label{color:var(--gw-text-secondary);margin-bottom:6px;font-size:11px}.gwm-metric-value{word-break:break-all;font-size:18px;font-weight:700;line-height:1.2}.gwm-price-btn{border:1px solid var(--gw-border);color:var(--gw-text-secondary);cursor:pointer;background:0 0;border-radius:14px;padding:4px 12px;font-size:12px}.gwm-price-btn:hover{background:#f1f5f9}.gwm-chart-placeholder{text-align:center;color:var(--gw-text-secondary);padding:60px 20px;font-size:13px}.gwm-price-modal{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gwm-price-panel{background:var(--gw-card);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.gwm-price-header{border-bottom:1px solid var(--gw-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.gwm-price-title{font-size:16px;font-weight:700}.gwm-price-close{color:var(--gw-text-secondary);cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:24px}.gwm-price-body{padding:20px}.gwm-price-row{align-items:center;gap:12px;margin-bottom:4px;display:flex}.gwm-price-label{color:var(--gw-text);flex:0 0 80px;font-size:14px}.gwm-price-input{border:1px solid var(--gw-border);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:14px}.gwm-price-input:focus{border-color:var(--gw-blue)}.gwm-price-unit{color:var(--gw-text-secondary);font-size:12px}.gwm-price-hint{color:var(--gw-text-secondary);margin:0 0 16px 92px;font-size:11px}.gwm-price-footer{border-top:1px solid var(--gw-border);gap:12px;padding:16px 20px;display:flex}.gwm-price-btn-cancel,.gwm-price-btn-save{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600}.gwm-price-btn-cancel{color:var(--gw-text-secondary);background:#f1f5f9}.gwm-price-btn-save{background:var(--gw-blue);color:#fff}@media (width<=860px){.gw-header{padding:0 12px}.gw-header-left{gap:10px}.gw-device-switcher select{max-width:160px;font-size:12px}.gw-nav-btn{padding:4px 10px;font-size:12px}.gw-main-content{padding:12px}.gwi-overview{grid-template-columns:repeat(2,1fr)}.gwi-main-grid{grid-template-columns:1fr}.gwi-power-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.gw-header{flex-wrap:wrap;gap:8px;height:auto;padding:8px 10px}.gw-header-left{flex-wrap:wrap}.gw-logo-text{font-size:14px}.gwb-gauges{gap:16px}.gwi-overview,.gwi-power-grid{grid-template-columns:1fr 1fr}}.gps-tracker-page{max-width:900px;margin:0 auto;padding:16px}.gps-info-cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:12px;display:grid}.gps-info-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.gps-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.gps-val{color:var(--text);font-size:15px;font-weight:600}.gps-map-container{border-radius:12px;width:100%;overflow:hidden}.gps-daily-table{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:12px 16px}
