:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6f9;--card:#fff;--text:#1c2430;--dim:#68758a;--line:#e3e8ef;--accent:#2f6fed;--accent-weak:#e8f0fe;--ok:#188a4c;--ok-weak:#e2f5ea;--bad:#c62838;--bad-weak:#fdeaec;--code-bg:#eef1f6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171c;--card:#1c2027;--text:#e6eaf0;--dim:#8a95a5;--line:#2a303a;--accent:#6ea2ff;--accent-weak:#1e2a44;--ok:#4ecb82;--ok-weak:#12291c;--bad:#ff7080;--bad-weak:#331418;--code-bg:#232933}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:SF Pro Text,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.small{font-size:.78rem}.dim{color:var(--dim)}.shell{max-width:1060px;margin:0 auto;padding:24px 28px 64px}.topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.topbar-title{align-items:center;gap:12px;display:flex}.topbar h1{margin:0;font-size:1.15rem;font-weight:650}.logo,.login-logo{background:linear-gradient(135deg, var(--accent), #8f4ff4);color:#fff;letter-spacing:.03em;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:inline-flex}.topbar-actions{align-items:center;gap:14px;display:flex}.toggle{color:var(--dim);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px}.stat-num{font-size:1.6rem;font-weight:700;line-height:1.2}.stat-num.ok{color:var(--ok)}.stat-num.bad{color:var(--bad)}.stat-label{color:var(--dim);margin-top:2px;font-size:.78rem}.device-list{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px}.card h3{margin:4px 0 10px;font-size:.92rem;font-weight:650}.card h3.mt{margin-top:18px}.device-card{cursor:pointer;transition:border-color .15s,transform 50ms}.device-card:hover{border-color:var(--accent)}.device-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.device-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.device-hostname{font-size:1rem;font-weight:650}.device-meta{align-items:center;gap:10px;display:flex}.dot{background:var(--dim);border-radius:50%;width:9px;height:9px;display:inline-block}.dot-on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.device-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 20px;margin:0;display:grid}.device-grid dt{color:var(--dim);margin:0;font-size:.72rem}.device-grid dd{margin:0 0 4px}.badge{background:var(--code-bg);color:var(--dim);border-radius:999px;align-items:center;padding:2px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.badge-success{background:var(--ok-weak);color:var(--ok)}.badge-danger{background:var(--bad-weak);color:var(--bad)}.detail-head{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0;display:flex}.detail-head h2{margin:0;font-size:1.25rem}.detail-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:14px;display:grid}.kv-row{border-bottom:1px dashed var(--line);gap:12px;padding:5px 0;display:flex}.kv-row:last-child{border-bottom:none}.kv-label{width:96px;color:var(--dim);flex-shrink:0;font-size:.8rem}.kv-value{word-break:break-all}.usb-list{margin:0;padding:0 0 0 2px;list-style:none}.usb-list li{border-bottom:1px dashed var(--line);padding:3px 0}.usb-list li:last-child{border-bottom:none}.report-entry{margin:8px 0}.report-entry summary{cursor:pointer;color:var(--dim)}.report-entry summary:hover{color:var(--text)}pre{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.74rem;line-height:1.5;overflow-x:auto}code{background:var(--code-bg);border-radius:6px;padding:2px 6px}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:8px 16px;transition:filter .15s}button:hover{filter:brightness(1.06)}.btn-primary{background:var(--accent);color:#fff;width:100%;padding:10px 16px;font-weight:600}.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:18px;width:min(360px,100%);padding:36px 32px}.login-logo{border-radius:12px;width:46px;height:46px;margin:0 auto 14px;font-size:.95rem}.login-card h1{margin:0 0 4px;font-size:1.2rem}.login-card form{margin:22px 0 10px}.login-card input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;margin-bottom:10px;padding:10px 14px}.login-card input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.empty{text-align:center;color:var(--dim);padding:48px 0}.error{color:var(--bad)}@media (width<=640px){.shell{padding:16px}.stats{grid-template-columns:1fr}.kv-row{flex-direction:column;gap:2px}}.qq-badge{background:var(--bad-weak);color:var(--bad);border-radius:6px;margin:0 6px 4px 0;padding:1px 8px;font-weight:600;display:inline-block}.usb-name{font-weight:600}.toolbar{gap:10px;margin-bottom:14px;display:flex}.toolbar .search{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;border-radius:10px;flex:1;padding:9px 14px}.toolbar .search:focus{outline:2px solid var(--accent);outline-offset:-1px}.toolbar select{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:9px 12px}.table-card{padding:0;overflow-x:auto}.device-table{border-collapse:collapse;width:100%}.device-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:.72rem;font-weight:600}.device-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 16px}.device-table tbody tr:last-child td{border-bottom:none}.device-table tr.clickable{cursor:pointer}.device-table tr.clickable:hover td{background:var(--accent-weak)}.cell-host{align-items:center;gap:8px;font-weight:600;display:flex}
