:root{color-scheme:light;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;background:#f4f6f8;color:#1f2933}.storageWorkspace{display:grid;gap:16px}.settingsGrid>.panel.controlPanel:nth-child(2){display:none}.storageTabs{display:flex;gap:6px;padding:4px;background:#e9eef1;border-radius:8px}.tabButton{padding:9px 14px;color:#53616d;background:transparent;border-radius:6px}.tabButton.active,.tabButton:hover{color:#173d35;background:#fff;box-shadow:0 1px 3px #0f172a1a}.storageOverviewGrid,.storageMetricGrid{display:grid;gap:12px}.storageOverviewGrid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.storageHero{display:flex;align-items:center;gap:12px;grid-column:1 / -1}.storageHero>div:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.storageHero span{color:#6a7580;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storageMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metricCard{display:grid;gap:8px}.metricCard span{color:#6a7580;font-size:13px}.metricCard strong{font-size:22px}.statusDot.connected{background:#22a06b}.statusDot.disconnected{background:#a53426}.compactInput{width:220px;height:38px;padding:0 10px;border:1px solid #d8dee4;border-radius:8px;outline:0}.tableWrap{overflow-x:auto}.tableWrap table{width:100%;border-collapse:collapse;font-size:13px}.tableWrap th,.tableWrap td{padding:10px 8px;text-align:left;border-bottom:1px solid #edf0f2;white-space:nowrap}.tableWrap td:nth-child(2){max-width:360px;overflow:hidden;text-overflow:ellipsis}.linkButton{color:#1f5aa6;background:transparent}.emptyState{padding:28px;color:#6a7580;text-align:center}.notice.info{color:#245b78;background:#eef8ff;border:1px solid #cbe6f6}.apiChannelPanel{grid-column:1 / -1}.apiChannelLayout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.apiChannelForm{min-width:0}.checkboxField{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:12px;background:#f7f9fa;border:1px solid #e3e8ed;border-radius:8px;cursor:pointer}.checkboxField input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:#146c5c}.checkboxField span{display:grid;gap:4px;min-width:0}.checkboxField small,.fieldHint{color:#6b7680;font-size:12px;line-height:1.5}.apiChannelTimeoutGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fieldError{margin:-4px 0 12px;color:#b42318;font-size:12px;line-height:1.5}.apiChannelDiagnostics{min-width:0;padding:14px;background:#f8fafb;border:1px solid #e3e8ed;border-radius:8px}.apiChannelDiagnostics .panelHead{margin-bottom:12px}.apiChannelDiagnostics .panelHead p{max-width:420px}.apiDiagnosticGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldStack textarea{min-width:0;width:100%;min-height:92px;padding:10px 12px;color:#26313a;background:#f8fafb;border:1px solid #d8dee4;border-radius:8px;outline:0;resize:vertical;line-height:1.5}.fieldStack textarea:focus,.fieldStack input:focus{border-color:#75a99e;box-shadow:0 0 0 3px #146c5c1a}@media(max-width:980px){.storageOverviewGrid{grid-template-columns:1fr}.storageMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,p{margin:0}.loginShell{display:grid;min-height:100vh;place-items:center;padding:24px}.loginPanel{width:min(420px,100%);padding:28px;background:#fff;border:1px solid #dfe5ea;border-radius:8px;box-shadow:0 18px 50px #0f172a14}.loginMark{display:grid;width:52px;height:52px;margin-bottom:18px;place-items:center;color:#fff;background:#146c5c;border-radius:8px}.loginPanel h1{font-size:26px;line-height:1.2}.loginPanel p{margin:10px 0 18px;color:#66727d;line-height:1.7}.tokenInput,.verifyRow,.topbar,.panelHead,.accountRow,.tabs,.actions,.brand,.navItem,.ghostButton,.primary,.dangerButton,.orgEdit{display:flex;align-items:center}.tokenInput{gap:10px;height:44px;margin-bottom:14px;padding:0 12px;background:#f8fafb;border:1px solid #d8dee4;border-radius:8px}.tokenInput input,.verifyRow input,.orgEdit input,.fieldStack input{min-width:0;width:100%;border:0;outline:0;background:transparent}.appShell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:20px 14px;color:#dbe4eb;background:#17212b}.brand{gap:10px;padding:8px 10px 22px}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:#91a0ad;font-size:12px}.sidebar nav{display:grid;gap:6px}.sidebarStatus{display:flex;gap:10px;align-items:center;margin-top:auto;padding:12px 10px;color:#dbe4eb;background:#111922;border:1px solid #263645;border-radius:8px;width:100%;text-align:left}.sidebarStatus:hover{background:#1b2834}.sidebarStatus strong,.sidebarStatus span{display:block}.sidebarStatus strong{font-size:13px}.sidebarStatus span{margin-top:2px;color:#91a0ad;font-size:12px}.navItem{justify-content:flex-start;gap:10px;width:100%;min-height:42px;padding:0 12px;color:#b8c4ce;background:transparent;border-radius:8px}.navItem.active,.navItem:hover{color:#fff;background:#233241}.workspace{min-width:0;padding:24px}.topbar{justify-content:space-between;gap:16px;margin-bottom:16px}.eyebrow{margin-bottom:4px;color:#66727d;font-size:13px}h1{font-size:28px;line-height:1.15}h2{font-size:18px}.ghostButton{gap:8px;height:38px;padding:0 12px;color:#26313a;background:#fff;border:1px solid #dfe5ea;border-radius:8px}.statsBar{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px}.statCard{min-height:78px;padding:14px 16px;background:#fff;border:1px solid #dfe5ea;border-radius:8px}.statCard span{display:block;color:#6a7580;font-size:13px}.statCard strong{display:block;margin-top:8px;font-size:26px}.notice{margin-bottom:16px;padding:12px 14px;border-radius:8px;font-size:14px}.notice.error{color:#a53426;background:#fff2f0;border:1px solid #ffd6cf}.storageTestResult{display:grid;gap:8px;margin:14px 0 16px;padding:12px 14px;border:1px solid;border-radius:8px;font-size:13px;line-height:1.55}.storageTestResult strong{font-size:14px}.storageTestResult.success{color:#0f6b4b;background:#e8f7f0;border-color:#b8e5d1}.storageTestResult.failed{color:#a53426;background:#fff2f0;border-color:#ffd6cf}.storageTestResult dl{display:grid;gap:4px;margin:0}.storageTestResult dl div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px}.storageTestResult dt{opacity:.8}.storageTestResult dd,.storageTestResult p{margin:0}.channelGrid,.settingsGrid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}.panel{min-width:0;padding:18px;background:#fff;border:1px solid #dfe5ea;border-radius:8px}.panelHead{justify-content:space-between;gap:12px;margin-bottom:16px}.panelHead p{margin-top:4px;color:#6b7680;font-size:13px}.iconButton,.actions button{display:inline-grid;width:36px;height:36px;place-items:center;color:#26313a;background:#eef2f4;border-radius:8px}.qrBox{display:grid;width:100%;margin-bottom:14px;overflow:hidden;place-items:center;aspect-ratio:1;color:#7b8792;background:#f8fafb;border:1px dashed #c7d0d8;border-radius:8px}.qrCard{display:grid;width:min(88%,280px);padding:10px;place-items:center;aspect-ratio:1;background:#fff}.qrCard svg{display:block;width:100%;height:100%}.qrLink{display:block;margin:-4px 0 14px;color:#1f5aa6;font-size:12px;line-height:1.5;word-break:break-all}.primary,.dangerButton{justify-content:center;gap:8px;width:100%;height:42px;color:#fff;border-radius:8px}.primary{background:#146c5c}.primary.inline{width:auto;min-width:130px;padding:0 14px}.dangerButton{background:#a53426}.verifyRow{gap:8px;height:42px;margin-bottom:12px;padding:0 8px 0 12px;border:1px solid #d8dee4;border-radius:8px}.verifyRow button{height:30px;padding:0 12px;color:#fff;background:#2f5d9f;border-radius:6px}.accountList,.orgTree{display:grid;gap:10px}.accountRow{min-height:74px;gap:14px;padding:12px;border:1px solid #e3e8ed;border-radius:8px}.accountMain{display:grid;grid-template-columns:12px minmax(0,1fr);flex:1;min-width:0;gap:10px}.accountMain strong,.accountMain span,.accountMeta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accountMain strong{font-size:14px}.accountMain span,.accountMeta{color:#6b7680;font-size:12px}.accountMeta{width:190px}.dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#aab5bf}.statusDot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#aab5bf}.dot.live,.dot.polling,.statusDot.connected{background:#0f9f6e}.statusDot.connecting,.statusDot.subscribing,.statusDot.reconnecting{background:#2563eb;box-shadow:0 0 0 4px #2563eb24}.dot.error,.statusDot.disconnected,.statusDot.invalid,.statusDot.authentication_failed,.statusDot.client_id_in_use{background:#d14343}.dot.binding_pending,.statusDot.missing_secret{background:#d97706}.statusDot.mock{background:#7b8792}.errorText{color:#b42318!important}.actions{gap:8px}.actions .danger{color:#9b2c2c;background:#fff0f0}.activityPanel{margin-top:16px}.tabs{gap:8px}.tabs button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;color:#54616d;background:#eef2f4;border-radius:8px}.tabs .active{color:#fff;background:#26313a}.table{overflow:auto;border:1px solid #e3e8ed;border-radius:8px}.tableHead,.tableRow{display:grid;min-width:860px}.messageGrid{grid-template-columns:70px 180px 180px minmax(240px,1fr) 90px 90px}.logGrid{grid-template-columns:80px 80px 160px 190px minmax(360px,1fr) 170px}.userGrid{min-width:1180px;grid-template-columns:minmax(210px,1fr) 100px 150px 70px 60px 60px minmax(220px,1fr) 170px 60px}.tableHead{min-height:38px;align-items:center;padding:0 12px;color:#65717d;background:#f5f7f8;font-size:12px}.tableRow{min-height:44px;align-items:center;padding:0 12px;border-top:1px solid #e7ecf0;font-size:13px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level{font-weight:700;text-transform:uppercase}.level.error{color:#b42318}.level.warn{color:#a05a00}.level.info{color:#146c5c}.orgNode{border:1px solid #e3e8ed;border-radius:8px}.orgNode summary{display:grid;grid-template-columns:minmax(180px,1fr) 90px 90px 90px;gap:12px;min-height:46px;align-items:center;padding:0 14px;cursor:pointer;background:#f8fafb;border-radius:8px}.orgNode[open] summary{border-bottom:1px solid #e3e8ed;border-radius:8px 8px 0 0}.orgNode summary span{color:#66727d;font-size:13px}.userAccountBlock{padding:14px;border-top:1px solid #eef2f4}.userAccountBlock:first-of-type{border-top:0}.userAccountHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:14px;align-items:center;margin-bottom:12px}.userAccountHead strong,.userAccountHead span{display:block}.userAccountHead span{margin-top:4px;color:#6b7680;font-size:12px}.orgEdit{gap:8px;min-width:0}.orgEdit input{height:36px;padding:0 10px;border:1px solid #d8dee4;border-radius:8px}.orgEdit button{flex:0 0 auto;height:36px;padding:0 12px;color:#fff;background:#26313a;border-radius:8px}.detailsList{display:grid;gap:12px;margin:0 0 18px}.detailsList div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.detailsList dt{color:#6b7680}.detailsList dd{min-width:0;margin:0;overflow-wrap:anywhere}.fieldStack{display:grid;gap:8px;margin-bottom:12px}.fieldStack span{color:#6b7680;font-size:13px}.fieldStack input{height:40px;padding:0 12px;background:#f8fafb;border:1px solid #d8dee4;border-radius:8px}.secretInput{display:flex;height:40px;align-items:center;background:#f8fafb;border:1px solid #d8dee4;border-radius:8px}.fieldStack .secretInput input{height:38px;border:0;background:transparent}.secretToggle{display:inline-grid;flex:0 0 38px;width:38px;height:38px;place-items:center;color:#5c6873;background:transparent}.buttonRow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.dangerButton.inline{width:auto;min-width:116px;height:38px;padding:0 12px}.statusPill{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;border-radius:999px}.statusPill.connected{color:#0f6b4b;background:#e8f7f0}.statusPill.connecting,.statusPill.subscribing,.statusPill.reconnecting{color:#1d4ed8;background:#dbeafe}.statusPill.disconnected,.statusPill.invalid,.statusPill.authentication_failed,.statusPill.client_id_in_use{color:#a53426;background:#fff2f0}.statusPill.missing_secret{color:#8a4b00;background:#fff7e6}.statusPill.mock{color:#54616d;background:#eef2f4}.connectionDiagnostics{margin-bottom:16px}.diagnosticGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.diagnosticItem{min-width:0;padding:12px;background:#f7f9fa;border:1px solid #e3e8ed;border-radius:8px}.diagnosticItem span,.diagnosticItem strong{display:block}.diagnosticItem span{margin-bottom:6px;color:#6b7680;font-size:12px}.diagnosticItem strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.connectionError{display:grid;gap:5px;margin-top:12px;padding:12px 14px;color:#84291f;background:#fff2f0;border:1px solid #ffd6cf;border-radius:8px;overflow-wrap:anywhere}.connectionError small{color:#9c4b42}.logPanelHead{align-items:flex-end}.logFilters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.logFilters select,.logSearch{height:36px;color:#26313a;background:#f8fafb;border:1px solid #d8dee4;border-radius:8px}.logFilters select{min-width:120px;padding:0 30px 0 10px}.logSearch{display:flex;min-width:220px;align-items:center;gap:7px;padding:0 10px}.logSearch input{min-width:0;width:100%;border:0;outline:0;background:transparent}.emptyState{display:flex;gap:8px;min-height:70px;align-items:center;justify-content:center;color:#7b8792;font-size:13px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.statsBar{grid-template-columns:repeat(3,minmax(140px,1fr))}.channelGrid,.settingsGrid{grid-template-columns:1fr}.diagnosticGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.apiChannelLayout{grid-template-columns:1fr}}@media(max-width:820px){.appShell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.workspace{padding:16px}.topbar,.accountRow,.userAccountHead{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.statsBar{grid-template-columns:repeat(2,minmax(140px,1fr))}.accountMeta{width:auto}.logPanelHead,.logFilters{align-items:stretch;flex-direction:column}.logFilters select,.logSearch{width:100%}.orgNode summary{grid-template-columns:1fr 70px 70px 70px}}@media(max-width:520px){.statsBar,.sidebar nav{grid-template-columns:1fr}.diagnosticGrid,.apiChannelTimeoutGrid,.apiDiagnosticGrid{grid-template-columns:1fr}.orgNode summary{grid-template-columns:1fr;padding:10px 14px}.orgEdit{align-items:stretch;flex-direction:column}.orgEdit button{width:100%}}
