:root{--ink:#182c3c;--muted:#71818f;--navy:#132a38;--navy-light:#203f50;--teal:#087d76;--line:#e2e9ed;--surface:#f3f6f8;--tblr-primary:#087d76;--tblr-primary-rgb:8,125,118;--tblr-font-sans-serif:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--tblr-font-sans-serif)}[hidden]{display:none!important}a{color:var(--teal)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #55c6be;outline-offset:3px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:23px;font-weight:700;letter-spacing:-.7px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:2px;margin-top:4px;color:#a5bfca}.brand-mark{display:grid;place-items:center;background:#d5efdf;color:#173c3a;width:38px;height:38px;border-radius:10px;font-family:Georgia,serif;font-style:italic;font-size:29px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--teal)}.muted{color:var(--muted)}.login-screen{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh;background:#fff}.login-intro{background:var(--navy);padding:56px 68px;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-intro:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff10;border-radius:50%;right:-320px;bottom:-230px;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff02;pointer-events:none}.login-copy{margin:auto 0;padding:70px 0;z-index:1}.login-copy .eyebrow{color:#9bd1bd}.login-copy h1{font-size:clamp(32px,3.5vw,52px);line-height:1.45;font-weight:500;letter-spacing:-1.5px;margin:24px 0}.login-copy p{color:#afc2cb;line-height:2;font-size:15px}.login-tags{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}.login-tags span{font-size:11px;border:1px solid #597483;padding:7px 12px;border-radius:4px;color:#c6d6dd}.login-foot{color:#819daa;font-size:11px}.login-card{align-self:center;width:min(380px,calc(100% - 64px));margin:60px auto}.login-card h2{font-size:31px;margin-top:15px;font-weight:600}.login-card .muted{margin-bottom:30px}.login-card label,dialog label{display:block;font-size:12px;font-weight:600;margin:18px 0;color:#3e5362}.login-card input,dialog input,dialog select,dialog textarea,.settings-form input{display:block;width:100%;background:#fff;border:1px solid #cfdbe1;border-radius:6px;padding:11px 12px;margin-top:8px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087d7615}.login-card .btn{width:100%;display:flex;justify-content:space-between;margin-top:25px;padding:12px 16px}.btn{font-size:12px;font-weight:600;border-radius:6px;padding:9px 14px;box-shadow:none}.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn-primary:hover{background:#09645f;border-color:#09645f}.login-note{font-size:11px;line-height:1.9;color:#81909a;margin-top:22px}.error{color:#bd3d3d;font-size:12px;min-height:14px}.workspace{display:flex;min-height:100vh}.sidebar{width:224px;background:var(--navy);color:#c0d0d9;position:fixed;inset:0 auto 0 0;z-index:15;padding:30px 20px;display:flex;flex-direction:column}.sidebar .brand{color:white;margin:0 10px 44px;font-size:22px}.nav-caption{font-size:9px;letter-spacing:2px;color:#688897;margin:0 16px 14px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;font-size:12px;padding:12px 14px;border-radius:6px;color:#aac1cd;text-decoration:none;transition:background .15s}.nav-item svg{width:18px;height:18px;opacity:.8}.nav-item:hover{background:#ffffff08;color:white}.nav-item.active{background:var(--navy-light);color:#e3f8ee}.nav-item.active:after{content:"";margin-left:auto;width:5px;height:5px;border-radius:100%;background:#9ad6bd}.sidebar-footer{margin-top:auto;padding:25px 10px 0;font-size:11px;color:#94b7aa;border-top:1px solid #ffffff0d}.sidebar-footer small{display:block;margin:10px 0 0 14px;color:#688997;font-size:10px}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#6bc8a3;margin-right:7px}.page-main{width:calc(100% - 224px);margin-left:224px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:11px;color:#8997a2;margin:0;gap:16px;display:flex}.breadcrumb b{font-weight:500;color:#4f6472}.top-actions{display:flex;gap:18px;align-items:center;font-size:11px}.client-link{color:#647784}.avatar{display:grid;place-items:center;background:#e4efea;color:#416a55;width:29px;height:29px;border-radius:50%;font-size:11px;font-weight:600}.text-button,.icon-button{border:0;background:none;color:#6e818e;padding:4px;font-size:12px}.icon-button{font-size:22px;line-height:1}.mobile-menu{display:none}#content{padding:35px 38px;max-width:1600px;margin:auto;min-height:calc(100vh - 136px)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:27px}.page-heading h1{font-size:25px;font-weight:600;letter-spacing:-.7px;margin:8px 0}.page-heading p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.7}.heading-actions{display:flex;align-items:center;gap:10px}.meta-label{font-family:Consolas,monospace;font-size:10px;color:#8b9aa5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.metric{padding:23px;background:white;border:1px solid var(--line);border-radius:8px;position:relative}.metric-name{font-size:11px;color:#788b98}.metric-value{font-size:34px;font-weight:600;line-height:1.5;letter-spacing:-1.5px}.metric-note{font-size:10px;color:#94a1aa;margin-top:9px}.metric-icon{position:absolute;right:22px;top:22px;width:33px;height:33px;display:grid;place-items:center;background:#edf5f2;border-radius:8px;color:#518779}.metric-icon svg{width:17px;height:17px}.grid-two{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:22px;overflow:hidden}.panel-heading{padding:20px 23px;border-bottom:1px solid #edf1f4;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-heading h2{font-size:13px;font-weight:600;margin:0}.panel-heading small{font-size:10px;color:#8b9ca7}.panel-body{padding:23px}.connection-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #edf1f4;font-size:12px}.connection-row:first-child{padding-top:0}.connection-row:last-child{border:0;padding-bottom:0}.connection-row small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.badge-soft{font-size:10px;padding:4px 8px;border-radius:4px;background:#eaf4ef;color:#438767;white-space:nowrap}.badge-soft.gray{background:#f0f3f6;color:#7c8c99}.badge-soft.amber{background:#fff4dc;color:#a67924}.badge-soft.red{background:#fbeeee;color:#b75757}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-action{border:1px solid var(--line);padding:19px 14px;border-radius:6px;text-decoration:none;color:#354e5e;font-size:12px;font-weight:600;background:#fff;display:flex;align-items:center;justify-content:space-between}.quick-action:hover{background:#f5f9f8;border-color:#b9d5c9}.notice{background:#f3f7f8;border-left:3px solid #98b8aa;padding:15px;font-size:11px;color:#617783;line-height:1.9;margin-top:22px}.toolbar{padding:16px 22px;border-bottom:1px solid #edf1f4;display:flex;gap:15px;justify-content:space-between;align-items:center}.search{border:1px solid var(--line);border-radius:5px;padding:8px 11px;background:#fafcfd;font-size:11px;max-width:280px;width:100%}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{background:#fbfcfd;font-size:10px;font-weight:500;color:#8a9aa5;letter-spacing:.4px;white-space:nowrap;text-align:left;padding:13px 23px;border-bottom:1px solid var(--line)}.data-table td{padding:18px 23px;border-bottom:1px solid #edf1f4;vertical-align:middle;max-width:320px;overflow-wrap:anywhere}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdfd}.cell-title{font-size:12px;font-weight:600;color:#355060}.cell-sub{font-size:10px;color:#8c9ca6;margin-top:5px}.table-actions{display:flex;gap:10px;white-space:nowrap}.table-actions button{background:none;border:0;color:var(--teal);padding:0;font-size:11px}.table-actions .danger{color:#af6868}.mono{font-family:Consolas,monospace;font-size:10px}.empty{padding:65px 25px;text-align:center;color:#7e909d}.empty h3{font-size:14px;font-weight:500;color:#506b79}.empty p{font-size:11px;margin:12px auto 0;max-width:430px;line-height:1.9}.empty-icon{font-size:27px;color:#94b7aa;margin-bottom:15px}.loading{padding:100px;text-align:center;color:var(--muted)}.page-footer{height:60px;padding:0 38px;border-top:1px solid var(--line);color:#96a4ad;font-size:10px;display:flex;align-items:center;justify-content:space-between}.page-footer small{margin-left:7px}.page-footer a{color:#879aa5;margin-left:18px}dialog{border:0;border-radius:10px;width:min(520px,calc(100% - 30px));padding:28px;box-shadow:0 25px 90px #132a3838;color:var(--ink)}dialog::backdrop{background:#0e23376b;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading h2{font-size:20px;margin:9px 0 12px}.dialog-actions{display:flex;gap:10px;justify-content:end;border-top:1px solid var(--line);margin-top:25px;padding-top:20px}dialog textarea{min-height:140px;resize:vertical}.field-help{font-size:10px;color:#8b9ba7;line-height:1.8}.check-label{display:flex!important;gap:9px;align-items:center}.check-label input{width:auto!important;margin:0!important;accent-color:var(--teal)}.toast-message{position:fixed;bottom:28px;right:28px;background:var(--navy);color:#fff;font-size:12px;padding:15px 22px;border-radius:7px;box-shadow:0 8px 25px #132a3820;max-width:calc(100vw - 40px);z-index:100}.toast-message.failure{background:#853c3c}.settings-form{max-width:550px}.settings-form label{font-size:12px;font-weight:500;display:block;margin-bottom:22px}.settings-form input{font-size:12px}.settings-form .check-label{margin-top:15px}.key-block{padding:13px;background:#f7f9fa;border-radius:5px;font-family:Consolas,monospace;font-size:10px;overflow-wrap:anywhere;line-height:1.8;color:#78909d}.announcement-preview{white-space:pre-wrap;max-height:100px;overflow:hidden;font-size:11px;line-height:1.8;color:#7c8e99}.endpoint-list .connection-row code{font-size:10px;background:#f2f6f7;padding:4px 7px;color:#537280}.help-list{font-size:12px;line-height:2;color:#6d8390;padding-left:20px}.section-subtitle{font-size:11px;line-height:1.8;color:#8697a2;margin-bottom:20px}.editor-note{font-size:11px;color:#8396a2;background:#f4f8f7;padding:13px;line-height:1.8;border-radius:5px}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.sidebar{width:202px}.page-main{margin-left:202px;width:calc(100% - 202px)}#content{padding:28px}.topbar{padding:0 28px}.data-table td,.data-table th{padding:16px}.login-intro{padding:45px}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-intro{padding:28px;min-height:230px}.login-copy{padding:30px 0 10px}.login-copy h1{font-size:29px;margin:14px 0}.login-copy p,.login-tags,.login-foot{display:none}.login-card{margin:40px auto}.sidebar{transform:translateX(-100%);transition:transform .2s}.workspace.nav-open .sidebar{transform:translateX(0);box-shadow:0 0 0 100vmax #152b3938}.page-main{margin-left:0;width:100%}.topbar{padding:0 20px;height:65px}.mobile-menu{display:block}.breadcrumb{gap:8px;font-size:10px;margin-right:auto}.top-actions{gap:12px}.client-link{display:none}#content{padding:24px 18px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.heading-actions{flex-shrink:0}.meta-label{display:none}.metric{padding:18px}.metric-value{font-size:30px}.metric-icon{right:15px;top:16px;width:27px;height:27px}.metrics{gap:12px}.metric-note{font-size:9px}.panel-heading,.panel-body{padding:19px}.page-footer{padding:0 18px;height:auto;min-height:70px;gap:15px;font-size:9px}.page-footer span:last-child{max-width:180px;text-align:right}.toolbar{padding:14px}.data-table{min-width:650px}.quick-actions{gap:9px}.quick-action{font-size:11px}.dialog-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


.runtime-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.runtime-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0}.runtime-card>span{display:block;color:var(--muted);font-size:11px;margin-bottom:14px}.runtime-card strong{font-weight:500}.runtime-card .badge-soft{white-space:normal;display:inline-block;line-height:1.6}.runtime-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:22px;overflow-wrap:anywhere}.remote-command-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.remote-command-bar>span{margin-left:auto;font-size:10px;color:var(--muted)}.remote-plugin-actions{display:flex;gap:6px;white-space:nowrap}.remote-plugin-actions .btn{font-size:10px;padding:6px 9px}.remote-stop{color:#a34e4e}.remote-plugin-actions button:disabled{cursor:not-allowed}.table-actions a{text-decoration:none;font-size:11px}@media(max-width:1150px){.runtime-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.runtime-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.runtime-card{padding:15px}.runtime-meta{gap:10px}.remote-command-bar>span{width:100%;margin:4px 0}.page-heading .heading-actions{flex-wrap:wrap;max-width:140px}}
/* Device-scoped WeChat accounts and transient login sessions. */
.wechat-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.wechat-toolbar .btn:first-child{background:var(--tblr-primary,#206bc4);color:#fff}.wechat-path{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 12px;background:#f6f8fb;border:1px solid #e2e8f0;padding:14px 16px;border-radius:8px}.wechat-path code{overflow-wrap:anywhere;white-space:normal}.wechat-path small{grid-column:2;color:#66778c}.wechat-help{font-size:13px;color:#63758a;line-height:1.7;margin:12px 0 18px}.wechat-section-title{font-size:15px;margin:22px 0 12px;display:flex;gap:10px;align-items:center}.wechat-section-title span{color:#708095;font-size:12px;font-weight:400}.wechat-login-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.wechat-login-card{border:1px solid #dce4ed;border-radius:10px;background:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-width:0}.wechat-login-card>div{display:flex;justify-content:space-between;gap:18px;width:100%;font-size:12px}.wechat-login-card p{font-size:13px;color:#63758a;line-height:1.7;margin:0;max-width:380px}.wechat-qr{max-width:224px;width:100%;height:auto;image-rendering:pixelated}.wechat-login-card strong{font-size:15px}@media(max-width:560px){.wechat-path{grid-template-columns:1fr}.wechat-path small{grid-column:1}.wechat-toolbar .btn{flex:1 1 45%}}

.wechat-account-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:16px; margin:12px 0 24px; }
.wechat-account-card { border:1px solid var(--tblr-border-color,#dce2ec); border-radius:12px; background:#fff; padding:18px; min-width:0; }
.wechat-account-head,.wechat-account-policy,.wechat-plugin-item { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wechat-account-head strong,.wechat-account-policy strong,.wechat-plugin-item strong { display:block; }
.wechat-account-head small,.wechat-account-policy small,.wechat-plugin-item small { display:block; color:#66758b; margin-top:4px; overflow-wrap:anywhere; }
.wechat-account-policy { margin:16px 0; padding:14px; border-radius:8px; background:#f3f7fb; }
.wechat-account-plugins h4 { font-size:14px; margin:0 0 8px; }
.wechat-plugin-item { padding:10px 0; border-top:1px solid #edf0f5; }
@media(max-width:600px) { .wechat-account-head,.wechat-account-policy,.wechat-plugin-item { align-items:flex-start; flex-wrap:wrap; } }

.wechat-overview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px}.wechat-overview strong{font-size:18px}.wechat-overview p{margin:6px 0 0;color:#63758a}.wechat-page-status{font-size:12px;color:#63758a;margin:0 0 12px}.wechat-account-actions{display:flex;gap:8px;flex-wrap:wrap}.wechat-detail-intro{padding:16px;background:#f3f7fb;border-radius:8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wechat-detail-intro strong{font-size:16px}.wechat-detail-intro small{color:#66758b;overflow-wrap:anywhere}.wechat-detail-intro .badge-soft{margin-left:auto}#wechat-account-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}#wechat-account-dialog-body .wechat-plugin-item{padding:14px 0}@media(max-width:600px){.wechat-overview{align-items:flex-start;flex-direction:column}.wechat-detail-intro .badge-soft{margin-left:0}.wechat-account-actions .btn{flex:1}.wechat-plugin-item .btn{width:100%}}

/* WeChat management: clear account-first hierarchy using the existing teal palette. */
.wechat-workspace{display:grid;gap:18px}.wechat-status-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#153a3a;color:#fff;border-radius:10px;padding:20px 24px}.wechat-status-strip>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.wechat-status-strip small{color:#c3dcda;margin-left:4px}.wechat-status-dot{width:9px;height:9px;border-radius:50%;background:#f2bf6a;flex:none}.wechat-status-dot.is-live{background:#63d4ae;box-shadow:0 0 0 4px #63d4ae20}.wechat-status-counts{display:flex;gap:24px;color:#d6e8e6;font-size:12px}.wechat-status-counts span{white-space:nowrap}.wechat-status-counts b{font-size:20px;color:#fff;margin-right:3px}.wechat-block{background:#fff;border:1px solid #dce5e5;border-radius:10px;padding:24px}.wechat-block-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.wechat-block-heading h3{font-size:18px;line-height:1.3;margin:4px 0 5px;color:#173b3b}.wechat-block-heading h3 span{font-size:12px;color:#617a79;font-weight:400;margin-left:6px}.wechat-block-heading p{font-size:13px;color:#5d7375;margin:0}.wechat-kicker{color:#168778;letter-spacing:.1em;font-size:10px;font-weight:700}.wechat-block-heading>.btn{background:#087f70;color:white;border-color:#087f70;min-height:44px;white-space:nowrap}.wechat-block-heading>.btn:disabled{opacity:.55}.wechat-account-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin:0;gap:14px}.wechat-account-card{border-color:#dbe7e4;border-radius:10px;padding:18px;box-shadow:0 2px 8px #183d3310}.wechat-account-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.wechat-account-identity>div{min-width:0}.wechat-avatar{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#dff3eb;color:#087f70;font-size:16px;font-weight:700}.wechat-account-head{align-items:flex-start}.wechat-account-head strong{font-size:15px;overflow-wrap:anywhere}.wechat-account-head small{font-size:12px;color:#58716f}.wechat-account-policy{background:#f2f7f5;border:1px solid #e2eeea;margin:18px 0 14px;padding:12px 14px}.wechat-account-policy strong{font-size:13px;color:#173d37}.wechat-account-policy small{font-size:12px;color:#58716f}.wechat-account-actions .btn,.wechat-toolbar .btn{min-height:40px}.wechat-account-actions .btn:last-child{color:#087f70;border-color:#9dc9bf}.wechat-empty-login{padding:18px 20px;background:#f4f8f7;border:1px dashed #cadbd6;border-radius:8px;color:#506c68;line-height:1.7;font-size:13px}.wechat-login-grid{margin-top:4px}.wechat-settings .wechat-path{background:#f6f9f8;border-color:#e0ebe7}.wechat-settings .wechat-toolbar{margin:16px 0 0}.wechat-settings .wechat-toolbar .btn:first-child{background:#fff;color:inherit}.wechat-settings .wechat-help{margin-bottom:0}.wechat-test-note{margin:0;padding:12px 18px;background:#fff8e6;border:1px solid #efdcae;border-radius:8px;color:#785b19}.wechat-command-history{background:#fff;border:1px solid #dce5e5;border-radius:10px;margin-top:18px;overflow:hidden}.wechat-command-history summary{cursor:pointer;padding:20px 24px;font-size:15px;font-weight:600;color:#173b3b}.wechat-command-history summary span{font-size:12px;font-weight:400;color:#607875;margin-left:10px}.wechat-command-history[open] summary{border-bottom:1px solid #e5eeeb}.wechat-command-history summary:focus-visible,.wechat-workspace button:focus-visible,#wechat-account-dialog button:focus-visible{outline:3px solid #54a99d;outline-offset:2px}#wechat-account-dialog{border-radius:12px;box-shadow:0 18px 60px #112c2c45}#wechat-account-dialog::backdrop{background:#102b2b99}#wechat-account-dialog .wechat-detail-intro{background:#eff7f4}#wechat-account-dialog .wechat-plugin-item{gap:20px}#wechat-account-dialog .wechat-plugin-item .btn{min-height:40px}.wechat-page-status{margin-bottom:14px;color:#58716f}@media(max-width:760px){.wechat-status-strip{align-items:flex-start;flex-direction:column;padding:18px}.wechat-status-counts{gap:22px}.wechat-block{padding:18px}.wechat-block-heading{align-items:flex-start}.wechat-block-heading>.btn{flex:none}.wechat-account-grid{grid-template-columns:1fr}.wechat-command-history summary{padding:18px}.wechat-command-history summary span{display:block;margin:5px 0 0 18px}}@media(max-width:400px){.wechat-block-heading{flex-wrap:wrap}.wechat-account-actions .btn,.wechat-toolbar .btn{min-height:44px}.wechat-status-counts{gap:14px}.wechat-status-counts b{font-size:18px}}

/* V2.1 device detail visual language. Scoped to device detail and WeChat detail surfaces. */
:root{--ui-accent:#087f70;--ui-ink:#173b3b;--ui-muted:#617a79;--ui-line:#dce7e3;--ui-surface:#fff;--ui-soft:#f3f8f5;--ui-radius:12px;--ui-shadow:0 10px 30px rgba(20,61,46,.05)}
.device-detail-heading{align-items:flex-start}.device-detail-heading .heading-actions{padding-top:20px}.device-scope-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.device-section{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);padding:22px 24px;margin-bottom:22px;box-shadow:var(--ui-shadow)}.device-section-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.device-section-heading h2{font-size:16px;margin:5px 0;color:var(--ui-ink)}.device-section-heading p{font-size:12px;color:var(--ui-muted);margin:0;line-height:1.7}.device-runtime-scope{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}.scope-label{font-size:12px;font-weight:700;color:var(--ui-ink)}.scope-note{font-size:11px;color:var(--ui-muted)}.device-overview-section #device-runtime{margin:0}.device-command-section{padding-bottom:16px}.device-command-section .remote-command-bar{margin:0}.device-command-section .remote-command-bar>span{color:var(--ui-muted)}#device-runtime .runtime-cards{margin-bottom:15px}.runtime-card{border-radius:10px;box-shadow:0 2px 12px rgba(20,61,46,.03)}.runtime-meta{margin-bottom:0}.device-detail-heading~.panel{box-shadow:var(--ui-shadow)}.panel-heading h2{color:var(--ui-ink)}.panel-heading small{color:var(--ui-muted)}#device-plugins .toolbar{background:var(--ui-soft)}#device-commands .toolbar{background:var(--ui-soft)}#device-commands .data-table td:nth-child(2){white-space:nowrap}.remote-command-bar .btn:disabled,.remote-plugin-actions .btn:disabled{opacity:.52;cursor:not-allowed}.wechat-overview{padding:22px 24px}.wechat-overview>div:first-child{display:grid;gap:4px}.wechat-overview .eyebrow{display:block}.wechat-overview strong{color:var(--ui-ink)}.wechat-overview-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.wechat-overview p{margin:0}.wechat-command-history{box-shadow:var(--ui-shadow)}
body.dark{--ui-ink:#e2efea;--ui-muted:#9eb5aa;--ui-line:#2c4b40;--ui-surface:#162a24;--ui-soft:#1d382f;--ui-shadow:0 14px 40px rgba(0,0,0,.24)}body.dark .device-section,body.dark .panel,body.dark .runtime-card,body.dark .wechat-block,body.dark .wechat-account-card,body.dark .wechat-command-history{background:var(--ui-surface);border-color:var(--ui-line)}body.dark .device-section-heading h2,body.dark .panel-heading h2,body.dark .wechat-overview strong,body.dark .wechat-block-heading h3{color:var(--ui-ink)}body.dark .panel-heading,body.dark .toolbar,body.dark .data-table th{background:var(--ui-soft);border-color:var(--ui-line)}body.dark .data-table td{border-color:var(--ui-line)}body.dark .data-table tbody tr:hover{background:#203d33}body.dark .runtime-card{color:var(--ui-ink)}
@media(max-width:1150px){.device-detail-heading .heading-actions{padding-top:10px}.device-section{padding:20px}.device-section-heading{margin-bottom:15px}}
@media(max-width:760px){.device-detail-heading{display:flex;flex-direction:column}.device-detail-heading .heading-actions{padding-top:0;width:100%}.device-detail-heading .heading-actions .btn{flex:1}.device-section{padding:18px;margin-bottom:16px}.device-section-heading{align-items:flex-start;flex-direction:column}.device-command-section .remote-command-bar{align-items:stretch}.device-command-section .remote-command-bar .btn{flex:1}.device-command-section .remote-command-bar>span{width:100%;margin-left:0}.wechat-overview{padding:18px;align-items:flex-start}.wechat-overview>a{width:100%;text-align:center}.wechat-overview-badges{margin-top:5px}}

/* Device inspections share existing theme variables and do not affect other routes. */
.device-inspection-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 24px 80px #102e3240;overflow:auto}.device-inspection-dialog::backdrop{background:#102a3399}.device-inspection-dialog .dialog-heading,.device-inspection-dialog .dialog-actions{padding:20px 24px;background:var(--ui-surface);border-color:var(--ui-line)}.device-inspection-body{padding:20px 24px}.device-inspection-body h3{font-size:14px;margin:24px 0 12px}.device-inspection-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:18px 0}.device-inspection-fields>div{padding:12px 0;border-bottom:1px solid var(--ui-line);min-width:0}.device-inspection-fields dt{font-weight:400;font-size:12px;color:var(--ui-muted);margin-bottom:6px}.device-inspection-fields dd{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.device-command-timeline{list-style:none;padding:0 0 0 15px;border-left:2px solid var(--ui-line);margin-left:6px}.device-command-timeline li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;padding:10px 0;font-size:13px}.device-command-timeline li::before{content:'';width:8px;height:8px;border-radius:50%;background:#168a76;position:absolute;left:-20px;top:16px}.device-command-timeline span{color:var(--ui-muted)}.device-command-result{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ui-soft);border:1px solid var(--ui-line);padding:14px;border-radius:10px;line-height:1.7}.device-inspection-body pre{background:var(--ui-soft);color:var(--ui-ink);padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.device-inspection-body details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.device-status-warning{padding:12px;background:var(--ui-soft);color:var(--ui-muted);border:1px solid var(--ui-line);border-radius:8px}.command-target{display:block;color:var(--ui-muted);font-size:12px;overflow-wrap:anywhere}.device-wechat-summary{list-style:none;padding:0 24px 18px;margin:0;display:grid;gap:10px}.device-wechat-summary li{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 14px;border:1px solid var(--ui-line);background:var(--ui-soft);border-radius:10px}.device-wechat-summary small{color:var(--ui-muted);overflow-wrap:anywhere}.device-wechat-summary li>span{grid-column:2;grid-row:1/3;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.wechat-detail-states{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.device-detail-heading .remote-stop{color:#b64e4e}
@media(max-width:760px){.device-inspection-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.device-inspection-fields{grid-template-columns:1fr}.device-inspection-body,.device-inspection-dialog .dialog-heading,.device-inspection-dialog .dialog-actions{padding:18px}.device-inspection-dialog .btn,.device-detail-heading .btn,.device-section .btn,#device-plugins .btn,#device-commands .btn{min-height:44px}.device-wechat-summary{padding:0 18px 18px}.device-wechat-summary li{display:flex;flex-direction:column}.device-wechat-summary li>span{margin-top:5px}.device-inspection-dialog .dialog-actions button{width:100%}}

.device-inspection-dialog h2,.device-inspection-dialog h3{color:var(--ui-ink)}.device-inspection-dialog .editor-note{color:var(--ui-muted)}.device-detail-heading .heading-actions{max-width:none;flex-wrap:wrap}
body.dark:has(.device-detail-heading) .page-main{background:#10221b;color:var(--ui-ink)}body.dark .device-detail-heading h1,body.dark .device-detail-heading~.panel .cell-title,body.dark .device-detail-heading~.panel .data-table td,body.dark .device-wechat-summary strong{color:var(--ui-ink)}body.dark .device-detail-heading p,body.dark .device-detail-heading~.panel .cell-sub,body.dark .device-detail-heading~.panel .wechat-overview p{color:var(--ui-muted)}
body.dark .device-inspection-dialog .btn,body.dark .device-detail-heading .btn,body.dark .device-detail-heading~.panel .btn,body.dark .device-section .btn{background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-ink)}body.dark .device-detail-heading~.panel input{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line)}
@media(max-width:760px){.device-detail-heading .heading-actions .btn{flex:1 1 140px;max-width:none}.device-inspection-dialog .dialog-actions{position:sticky;bottom:0;z-index:1}.device-inspection-dialog .dialog-actions button{min-height:44px}}

/* Account-scoped portal and the independent WeChat workspace reuse existing surfaces. */
body.dark:has(.portal-wechat-index) .page-main{background:#10221b;color:var(--ui-ink)}
body.dark .portal-wechat-index .page-heading p{color:var(--ui-muted)}
.portal-wechat-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 23px;border-bottom:1px solid var(--ui-line)}.portal-wechat-filters input,.portal-wechat-filters select{min-height:44px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);padding:10px 12px;font-size:12px;min-width:0}.portal-wechat-filters input{flex:1 1 260px}.portal-wechat-filters select{flex:0 1 230px;max-width:100%}.portal-wechat-filters>span,.portal-index-status{font-size:12px;color:var(--ui-muted)}.portal-index-status{padding:14px 23px;margin:0;line-height:1.7;background:var(--ui-soft)}.portal-row-time{display:block;margin-top:6px;color:var(--ui-muted);white-space:nowrap;font-size:10px}.portal-row-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-row-actions .btn{min-height:44px;display:inline-flex;align-items:center}.portal-device-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-device-links .quick-action{min-width:0;overflow-wrap:anywhere;gap:14px}.portal-device-links small{display:block;color:var(--ui-muted);font-weight:400;font-size:11px;margin-top:8px;line-height:1.7}.portal-wechat-index .metric-value{color:var(--ui-ink)}.portal-wechat-index .data-table td{overflow-wrap:anywhere}.portal-wechat-index .data-table td:nth-child(5){min-width:145px}
body.dark .portal-wechat-index .panel,body.dark .portal-wechat-index .metric,body.dark .portal-wechat-index .quick-action{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}body.dark .portal-wechat-index h1,body.dark .portal-wechat-index h2,body.dark .portal-wechat-index .cell-title,body.dark .portal-wechat-index td{color:var(--ui-ink)}body.dark .portal-wechat-index th,body.dark .portal-wechat-index tbody tr:hover{background:var(--ui-soft);color:var(--ui-muted)}body.dark .portal-wechat-index .btn{background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-ink)}
@media(max-width:1000px){.portal-device-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-wechat-filters{padding:16px;align-items:stretch}.portal-wechat-filters input,.portal-wechat-filters select{flex:1 1 100%;width:100%}.portal-device-links{grid-template-columns:1fr}.portal-wechat-index .heading-actions,.portal-wechat-index .page-heading{align-items:stretch}.portal-wechat-index .page-heading{flex-direction:column}.portal-wechat-index .btn{min-height:44px}.portal-index-status{padding:14px 16px}.portal-wechat-index .data-table th,.portal-wechat-index .data-table td{padding:14px 16px}}
