/* Original v1.1.91 customer console. No reference source, logos or assets. */
html[data-ui-theme] body.customer-body{--primary:#007aff;--line:#e2e8f0;--muted:#64748b;--surface:#fff;--bg:#f5f6f8;background:#f5f6f8!important;color:#1d1d1f;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:14px}
body.customer-body [hidden],body.customer-body .hidden{display:none!important}
html[data-ui-theme] body.customer-body #appView#appView.console-layout{display:block!important;max-width:none!important;margin:0!important;padding:0!important;background:#f5f6f8!important;min-height:100vh}
html[data-ui-theme] body.customer-body #appView#appView .workspace{display:block!important;box-sizing:border-box!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0 0 0 256px!important;padding:72px 0 0!important;min-height:100vh!important;background:transparent!important}
body.customer-body .console-sidebar{position:fixed;inset:0 auto 0 0;width:256px;z-index:70;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:24px 16px 16px;box-sizing:border-box}
.console-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#172e4a;padding:0 8px 22px}.console-brand strong{font-size:16px;font-weight:700}.console-brand .brand-mark,.console-auth-brand .brand-mark{width:36px;height:36px;display:inline-grid;place-items:center;background:#0b7a5b;color:white;border-radius:11px;font-weight:700;box-shadow:none}
.console-nav{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin}.console-group-label{font-size:11px;letter-spacing:.08em;color:#98a0ad;padding:0 14px;margin:18px 0 9px}
html[data-ui-theme] body.customer-body #appView#appView .console-nav .nav-item,body.customer-body .console-monitor-group>summary{display:flex!important;align-items:center;gap:10px;width:100%;min-height:42px;text-align:left;padding:9px 11px;margin:1px 0;background:transparent;border:0;border-radius:10px;box-shadow:none;color:#3a3a3c;font-size:14px;cursor:pointer;line-height:1.35}
html[data-ui-theme] body.customer-body #appView#appView .console-nav .nav-item.active{background:#e8f0fe!important;color:#007aff!important;font-weight:600;box-shadow:none!important}
html[data-ui-theme] body.customer-body #appView#appView .console-nav .nav-item:hover{background:#f2f2f7}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
.console-monitor-group>summary{list-style:none}.console-monitor-group>summary::-webkit-details-marker{display:none}.console-chevron{margin-left:auto;transform:rotate(90deg)}.console-monitor-group[open] .console-chevron{transform:rotate(-90deg)}.console-monitor-group>div{margin-left:16px;padding-left:8px;border-left:1px solid #e6ebf2}
.console-account{display:flex;align-items:center;gap:10px;padding:16px 8px 0;margin-top:14px;border:0;border-top:1px solid #edf0f4;background:transparent;text-align:left;cursor:pointer;width:100%}.console-account img,.console-top-user img{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e8f2ee}.console-account>span{display:grid;gap:4px;min-width:0}.console-account strong{overflow-wrap:anywhere;font-size:13px}.console-account small{color:#98a0ad;font-size:11px}
.console-topbar{position:fixed;top:0;left:256px;right:0;height:72px;z-index:60;display:flex;align-items:center;gap:14px;padding:0 30px;background:#fff;border-bottom:1px solid #e2e8f0;box-sizing:border-box}.console-topbar>strong{font-size:16px}.console-topbar-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.console-plan-badge{background:#eff8f2;border:1px solid #d2eddf;color:#2a8360;padding:5px 10px;font-size:11px;border-radius:6px}.console-top-user{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#455166;font-size:13px;cursor:pointer}.console-top-user img{width:30px;height:30px}.console-menu-toggle{display:none}.console-overlay{position:fixed;inset:0;background:#12263b66;z-index:65;border:0}
html[data-ui-theme] body.customer-body #appView#appView .customer-bottom-nav{display:none!important}
.console-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}.console-page-head h1{font-size:24px;line-height:1.4;letter-spacing:-.02em;color:#18283b;margin:0 0 7px}.console-page-head p{margin:0;color:#8a94a4;font-size:13px;line-height:1.7}
html[data-ui-theme] body.customer-body #appView#appView :is(.workspace-page-title,.mapping-head){margin-bottom:22px!important}.workspace-page-title h2{font-size:24px!important;color:#18283b!important}
html[data-ui-theme] body.customer-body #appView#appView :is(.console-card,.table-card,.stat-card,.node-auth-card,.profile-overview,.profile-editor,.profile-activity,.subscription-card,.voucher-redeem-card,#servicesRoot.customer-services,.commerce-section){background:#fff!important;border:1px solid #e2e8f0!important;border-radius:17px!important;box-shadow:0 2px 8px -2px rgba(15,23,42,.06)!important}
.console-card{padding:24px;min-width:0;overflow-wrap:anywhere}.console-card h2{font-size:16px;font-weight:600;margin:0 0 14px}.console-card p{line-height:1.7}.console-muted{font-size:13px;color:#8a94a4;line-height:1.75;margin:10px 0}.console-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:600}.console-card-head h2{margin:0}.console-card-head .button{font-size:12px!important;font-weight:400!important;padding:4px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:32px!important;color:#007aff!important}
.console-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.console-stat{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;background:white;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;min-width:0;text-align:left;overflow-wrap:anywhere}.console-stat>span{font-size:13px;color:#7c8796}.console-stat>strong{font-size:24px;line-height:1.2;font-weight:650;color:#176ac0}.console-stat>small{font-size:11px;color:#97a0ad}.console-stat[data-accent=green]>strong{color:#248872}.console-stat[data-accent=amber]>strong{color:#bb8c38}.console-stat[data-accent=violet]>strong{color:#7d71b7}
.console-dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 284px;align-items:start;gap:24px}.console-dashboard-main{display:grid;gap:24px}.console-empty{padding:40px 16px;text-align:center;color:#98a0ad;font-size:13px;background:#fafbfc;border-radius:10px;margin:18px 0 0;line-height:1.8}.console-profile-card{text-align:center;padding-top:30px}.console-profile-card>img{width:64px;height:64px;object-fit:cover;border-radius:50%;background:#edf5f2;margin:0 auto 14px}.console-profile-card h2{margin:0 0 6px}.console-uid{font-size:11px;color:#98a0ad}.console-profile-card dl{border-top:1px solid #edf0f4;margin:22px 0;padding-top:15px}.console-profile-card dl>div,.console-monitor-card dl>div{display:flex;justify-content:space-between;gap:12px;margin:14px 0;font-size:12px}.console-profile-card dt,.console-monitor-card dt{color:#8a94a4}.console-profile-card dd,.console-monitor-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.console-profile-card button{width:100%}
.console-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.console-callout{padding:18px 22px;border:1px solid #dbeafa;background:#edf5ff;color:#47617f;border-radius:12px;line-height:1.75;margin-bottom:22px;font-size:13px}.console-callout p{margin:7px 0 0}.console-table-wrap{max-width:100%;overflow:auto;margin-top:20px}.console-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.console-table-wrap th{background:#f8f9fb;color:#7c8796;text-align:left;font-weight:500;padding:13px}.console-table-wrap td{padding:18px 13px;border-bottom:1px solid #edf0f4;color:#536174}
html[data-ui-theme] body.customer-body #appView#appView .button{font-size:13px!important;min-height:36px;border-radius:10px!important;box-shadow:none!important;line-height:1.4}html[data-ui-theme] body.customer-body #appView#appView .button.primary{background:#007aff!important;border-color:#007aff!important;color:white!important;box-shadow:0 6px 16px -8px rgba(0,122,255,.6)!important}html[data-ui-theme] body.customer-body #appView#appView .button.secondary{background:white!important;border:1px solid #e2e8f0!important;color:#1d2939!important}html[data-ui-theme] body.customer-body #appView#appView .button.danger,html[data-ui-theme] body.customer-body #appView#appView .button.danger-button{background:#fef2f2!important;color:#b42318!important;border:1px solid #fecaca!important}
html[data-ui-theme] body.customer-body #appView#appView :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:10px!important;border:1px solid #e2e8f0!important;background:#fff!important;min-height:38px;color:#0f172a;box-shadow:none;max-width:100%}html[data-ui-theme] body.customer-body #appView#appView :is(table th){background:#f8fafc!important;color:#94a3b8!important;font-size:11px!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase!important}
body.customer-body :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #7bbcff!important;outline-offset:3px}body.customer-body button:disabled{opacity:.5;cursor:not-allowed}
.console-monitor-controls{display:grid;grid-template-columns:minmax(130px,1fr) 160px 160px auto;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px}.console-monitor-controls input,.console-monitor-controls select{padding:9px 12px;min-width:0}.console-monitor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.console-monitor-stats>div{background:#fff;border:1px solid #e2e8f0;padding:20px;border-radius:12px;display:grid;gap:10px}.console-monitor-stats span{color:#8a94a4;font-size:12px}.console-monitor-stats strong{font-size:25px}.console-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.console-monitor-card{padding:22px}.console-status{font-size:11px;padding:4px 9px;border-radius:6px;background:#f0f2f5;color:#87919f;font-weight:400;white-space:nowrap}.console-status[data-state=online]{background:#eaf8f1;color:#249266}.console-status[data-state=offline]{background:#fff0ef;color:#d4665b}.console-status[data-state=stale]{background:#fff7e9;color:#ac812e}.console-meter-row{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:22px;font-size:12px;color:#87919f}.console-meter-row strong{font-weight:500;color:#455166}.console-meter-row progress{grid-column:1/-1;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#edf0f4;accent-color:#168ae7}.console-meter-row progress::-webkit-progress-bar{background:#edf0f4}.console-meter-row progress::-webkit-progress-value{background:#168ae7;border-radius:8px}.console-pagination{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.console-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.console-more-grid>.nav-item{background:white;border:1px solid #e2e8f0;padding:22px;display:flex;gap:14px;align-items:center;text-align:left;border-radius:12px;cursor:pointer;color:#4b6077}.console-more-grid .nav-icon{color:#007aff}.console-loading{padding:48px;color:#8a94a4;text-align:center}
#loginApiView>.console-card{margin-top:24px}#servicesView{max-width:920px;margin:0 auto}#servicesView .services-navigation{margin:0 0 18px;gap:8px}#servicesView #servicesRoot.customer-services{padding:28px}#servicesRoot.customer-services[data-view=notifications]{max-width:704px;margin:auto}#servicesRoot.customer-services .services-info{padding:16px 20px;background:#f8f9fb;border:1px solid #edf0f4;border-radius:10px;margin-top:22px}#servicesRoot.customer-services .services-info p{font-size:12px;margin:5px 0;color:#7c8796}#servicesRoot.customer-services .services-notification-form{max-width:none;margin-top:22px;gap:0}#servicesRoot.customer-services .services-notification-form fieldset{border:0;padding:0;gap:12px}#servicesRoot.customer-services .services-notification-form legend{font-size:12px;color:#8a94a4;margin-bottom:14px}#servicesRoot.customer-services .services-option{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:18px 20px}.services-option-copy{display:grid;gap:5px;flex:1;min-width:0}.services-option-copy strong{font-size:14px;font-weight:500;color:#38485e}.services-option-copy small{font-size:12px;color:#98a0ad;line-height:1.6}.services-toggle{position:relative;flex:none;display:flex;align-items:center;gap:8px}.services-toggle small{font-size:11px;color:#8a94a4}#servicesRoot.customer-services .services-toggle input{appearance:none;-webkit-appearance:none;width:38px;height:22px;border:0;border-radius:20px;background:#ced5dd;position:relative;cursor:pointer;transition:background .15s}.services-toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:white;border-radius:50%;box-shadow:0 1px 3px #25344e20;transition:transform .15s}#servicesRoot.customer-services .services-toggle input:checked{background:#30bb79}.services-toggle input:checked:after{transform:translateX(16px)}#servicesRoot.customer-services .services-notification-form button{justify-self:end;margin-top:22px}#servicesRoot.customer-services .services-steps{list-style:none;counter-reset:steps;padding:0;margin:24px 0}.services-steps li{counter-increment:steps;position:relative;padding:20px 20px 20px 62px!important;border:1px solid #e2e8f0;border-radius:12px;margin:14px 0!important;background:#fff}.services-steps li:before{content:counter(steps);position:absolute;left:20px;top:20px;border-radius:8px;display:grid;place-items:center;width:28px;height:28px;background:#e8f0fe;color:#007aff;font-weight:600}#servicesRoot.customer-services .services-steps h3{font-size:15px}#servicesRoot.customer-services .services-steps p{font-size:13px;color:#87919f;margin:7px 0}
@media(max-width:1200px){.console-dashboard-columns{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.console-stats{gap:12px}.console-stat{padding:18px}.console-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.console-stat>strong{font-size:20px}}
@media(max-width:860px){body.customer-body .console-sidebar{width:min(290px,85vw);transform:translateX(-100%);transition:transform .2s ease;visibility:hidden;z-index:90}body.customer-body .console-sidebar.is-open{transform:none;visibility:visible}.console-overlay{z-index:85}.console-topbar{left:0;height:60px;padding:0 16px}.console-menu-toggle{display:grid;place-items:center;background:transparent;border:1px solid #e2e8f0;color:#58697d;width:32px;height:32px;border-radius:7px;cursor:pointer}.console-menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.console-plan-badge,.console-top-user span{display:none}.console-topbar-actions{gap:10px}.console-topbar>strong{font-size:15px}.console-top-user{padding:0}.console-top-user img{width:28px;height:28px}
html[data-ui-theme] body.customer-body #appView#appView .workspace{margin:0!important;padding:64px 0 calc(60px + env(safe-area-inset-bottom))!important;width:100%!important;box-sizing:border-box}html[data-ui-theme] body.customer-body #appView#appView .customer-bottom-nav{display:block!important;position:fixed!important;inset:auto 0 0!important;transform:none!important;border-radius:0!important;width:100%!important;padding:0 0 env(safe-area-inset-bottom)!important;height:auto!important;background:#fff!important;border:0!important;border-top:1px solid #e2e8f0!important;box-shadow:none!important;z-index:70!important}html[data-ui-theme] body.customer-body.customer-body #appView#appView .customer-bottom-items{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:0!important;gap:0!important;position:static!important}html[data-ui-theme] body.customer-body.customer-body #appView#appView .customer-bottom-nav .nav-item{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;min-height:66px!important;border-radius:0!important;border:0!important;background:none!important;box-shadow:none!important;padding:8px 2px!important;color:#929baa!important;font-size:10px!important}html[data-ui-theme] body.customer-body.customer-body #appView#appView .customer-bottom-nav .nav-item.active{color:#007aff!important;background:none!important}.customer-bottom-items:before,.customer-bottom-items:after{display:none!important}.console-page-head{margin-bottom:18px;align-items:flex-start}.console-page-head h1,.workspace-page-title h2{font-size:21px!important}.console-page-head p{font-size:12px}.console-page-head .button{flex:none}.console-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.console-stat{padding:16px;gap:9px}.console-stat>strong{font-size:20px}.console-dashboard-columns{grid-template-columns:1fr;gap:18px}.console-dashboard-main{gap:18px}.console-profile-card{display:none}.console-card{padding:18px}.console-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.console-more-grid>.nav-item{padding:20px 14px;gap:9px;font-size:13px}.console-monitor-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:10px}.console-monitor-controls input{grid-column:1/-1}.console-monitor-controls button{grid-column:1/-1}.console-monitor-stats{gap:10px}.console-monitor-stats>div{padding:15px 10px}.console-monitor-stats span{font-size:11px}.console-monitor-stats strong{font-size:22px}.console-monitor-grid{grid-template-columns:1fr}.console-callout{padding:16px}#servicesView #servicesRoot.customer-services{padding:20px 16px}#servicesRoot.customer-services .services-option{padding:16px 14px;gap:12px}.services-toggle small{display:none}#servicesRoot.customer-services .services-info{padding:14px}.services-navigation button{font-size:12px!important}.console-card-head{font-size:14px}.console-empty{padding:32px 10px}.console-card-head h2{font-size:15px}.console-card-head .button{white-space:nowrap}.console-table-wrap{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.console-sidebar,.services-toggle input,.services-toggle input:after{transition:none!important}}

html[data-ui-theme] body.customer-body #appView#appView .workspace-page-title{position:static!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;clip:auto!important;margin:0 0 22px!important;overflow:visible!important;clip-path:none!important;white-space:normal!important}html[data-ui-theme] body.customer-body #appView#appView .workspace-page-title h2{margin:0!important}

html[data-ui-theme] body.customer-body #appView#appView.console-layout.hidden{display:none!important}

/* Repeated app ID intentionally beats old theme !important selectors, scoped to customer only. */
/* Isolate legacy content padding; the shell owns responsive spacing. */
html[data-ui-theme] body.customer-body #appView#appView .workspace>.content-view{padding:26px 32px 44px!important;width:100%!important;max-width:1440px!important;margin-inline:auto!important;box-sizing:border-box!important}
html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .services-toggle input{appearance:none!important;-webkit-appearance:none!important;width:38px!important;height:22px!important;min-height:22px!important;border:0!important;border-radius:20px!important;background:#ced5dd!important;background-image:none!important;position:relative!important;flex:none!important}
html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .services-toggle input:checked{background:#30bb79!important}
html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .services-toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transform:none!important}
html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .services-toggle input:checked:after{transform:translateX(16px)!important}

html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .services-toggle input:after{display:block!important;content:""!important}
html[data-ui-theme] body.customer-body #appView#appView #servicesRoot.customer-services .section-heading{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
html[data-ui-theme] body.customer-body #appView#appView .console-node-preview{display:grid;gap:12px;margin-top:20px}
.console-node-preview>a{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;border:1px solid #e2e8f0;border-radius:10px;padding:16px;color:#54667b;background:#fafbfc;font-size:13px}.console-node-preview a strong{font-size:22px;color:#1684d9}.console-node-preview a small{display:block;margin-top:6px;font-size:11px;color:#98a0ad}.console-node-preview a span{min-width:0;overflow-wrap:anywhere}


/* Data landing: original local mascot from the page, pastel glass, no borrowed assets. */
html[data-ui-theme] body.customer-body #appView#appView :is(#consoleDataView,#consoleNodeDirectoryView,#walletRoot,#hubApisRoot,#rentalsRoot),
html[data-ui-theme] body.customer-body #appView#appView :is(#consoleDataView,#consoleNodeDirectoryView,#walletRoot,#hubApisRoot,#rentalsRoot) *{box-sizing:border-box;min-width:0}
html[data-ui-theme] body.customer-body #appView#appView #consoleDataView{--data-ink:#28384f;--data-muted:#586a81;--data-border:#ffffffcf;--data-glass:#ffffffb8;position:relative;isolation:isolate;max-width:1000px!important;color:var(--data-ink)}
.console-data-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
.console-data-head :is(h1,h2){margin:0;color:var(--data-ink);font-size:25px;font-weight:700;line-height:1.4;letter-spacing:-.025em}
html[data-ui-theme] body.customer-body #appView#appView #consoleDataTheme{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:36px;padding:8px 11px;border:1px solid var(--data-border)!important;border-radius:12px!important;background:var(--data-glass)!important;color:var(--data-ink)!important;font:inherit;font-size:12px!important;box-shadow:0 3px 12px #587a9710!important;cursor:pointer}
#consoleDataTheme svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.console-data-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;isolation:isolate;min-height:188px;padding:28px 30px;margin-bottom:20px;border:1px solid var(--data-border);border-radius:24px;background:radial-gradient(ellipse at 94% 15%,#fff9cd9e,transparent 50%),linear-gradient(115deg,#e1f5f2,#e3edff 60%,#faeaf4);box-shadow:0 9px 30px #5e89a314,inset 0 1px #ffffffad}
.console-data-welcome:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 71% 72%,#ffffff85 0 3px,transparent 4px),radial-gradient(circle at 89% 25%,#ffffffa6 0 5px,transparent 6px),radial-gradient(circle at 56% 22%,#ffffff99 0 2px,transparent 3px)}
.console-data-welcome>div:not(.console-data-art):not(.console-data-mascot){flex:1;position:relative;z-index:1}
.console-data-welcome :is(h2,h3,strong){display:block;margin:0 0 10px;color:var(--data-ink);font-size:22px;font-weight:700;line-height:1.45;letter-spacing:-.02em}
.console-data-welcome :is(p,small){display:block;margin:0;color:var(--data-muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.console-data-welcome :is(.console-data-art,.console-data-mascot),.console-data-welcome>img,.console-data-welcome>svg{display:block;width:164px;height:150px;max-width:38%;flex:none;object-fit:contain;filter:drop-shadow(0 10px 12px #63859c1c)}
.console-data-welcome :is(.console-data-art,.console-data-mascot) :is(img,svg){display:block;width:100%;height:100%;object-fit:contain}
.console-data-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action{--action-ink:#2e6a99;--action-start:#dcefff;--action-end:#e7eaff;display:flex!important;align-items:center!important;gap:18px!important;position:relative;isolation:isolate;min-height:136px;padding:24px!important;border:1px solid var(--data-border)!important;border-radius:22px!important;background:linear-gradient(125deg,var(--action-start),var(--action-end))!important;color:var(--data-ink)!important;box-shadow:0 8px 22px #537c9d0d,inset 0 1px #ffffffcf!important;text-align:left;font:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action:nth-child(2){--action-ink:#367865;--action-start:#d9f4e9;--action-end:#e9f7e5}
html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action:nth-child(3){--action-ink:#7861a1;--action-start:#ece2fb;--action-end:#f4e7f7}
html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action:nth-child(4){--action-ink:#a16740;--action-start:#ffedda;--action-end:#fff3d9}
.console-data-action:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 90% 0,#ffffff75,transparent 65%)}
.console-data-action>span[aria-hidden]:last-child{margin-left:auto;flex:none;font-size:24px;font-weight:400;color:var(--action-ink,#8396ac);line-height:1;opacity:.75}
.console-data-symbol{display:grid;place-items:center;width:62px;height:62px;flex:none;border:1px solid #ffffffa3;border-radius:18px;background:linear-gradient(140deg,#ffffffcf,#ffffff55);color:var(--action-ink,#007aff);box-shadow:0 5px 12px #5c7a9012,inset 0 1px #fff;font-size:27px}
.console-data-symbol svg{display:block;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.console-data-symbol img{display:block;width:40px;height:40px;object-fit:contain}
.console-data-copy{display:grid;gap:7px;flex:1;min-width:0;overflow-wrap:anywhere}
.console-data-copy :is(strong,h2,h3){margin:0;color:var(--data-ink,#28384f);font-size:17px;line-height:1.4;font-weight:650}
.console-data-copy :is(span,p,small){margin:0;color:var(--data-muted,#586a81);font-size:12px;line-height:1.7;font-weight:400;white-space:normal}
@media(hover:hover){html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #537c9d1a!important;border-color:#fff!important}html[data-ui-theme] body.customer-body #appView#appView #consoleDataTheme:hover{background:#fff!important}}
/* Night is local to data, not a global recoloring of the console or the login. */
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView #consoleDataView{--data-ink:#edf3ff;--data-muted:#c0ccdf;--data-border:#7d96bc3d;--data-glass:#25334fe8;color-scheme:dark}
body.customer-body[data-console-color=night] .console-data-welcome{background:radial-gradient(ellipse at 100% 0,#62626a44,transparent 60%),linear-gradient(120deg,#243f49,#2c3658 62%,#443653);box-shadow:0 9px 30px #09152d26,inset 0 1px #adc8ec0a}
body.customer-body[data-console-color=night] .console-data-welcome:before{opacity:.28}
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView .console-data-actions>.console-data-action{--action-ink:#a3d7ff;--action-start:#263c58;--action-end:#323a5b;box-shadow:0 8px 22px #07152d20,inset 0 1px #adc8ec0a!important}
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView .console-data-actions>.console-data-action:nth-child(2){--action-ink:#a2e7cb;--action-start:#244448;--action-end:#2d4a3f}
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView .console-data-actions>.console-data-action:nth-child(3){--action-ink:#dcc2ff;--action-start:#3b3659;--action-end:#493951}
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView .console-data-actions>.console-data-action:nth-child(4){--action-ink:#f8d4a7;--action-start:#4c3d37;--action-end:#4f4533}
body.customer-body[data-console-color=night] .console-data-actions .console-data-action:before{opacity:.06}
body.customer-body[data-console-color=night] .console-data-actions .console-data-symbol{border-color:#b0c6e22e;background:linear-gradient(140deg,#a4bbdb26,#a4bbdb0a);box-shadow:0 5px 12px #07172b24,inset 0 1px #adc8ec12}
html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView #consoleDataView .console-quick-actions .button{background:#25334f!important;border-color:#7d96bc66!important;color:#d8e6fc!important}
@media(hover:hover){html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView #consoleDataTheme:hover{background:#334465!important}}

/* Directory cards use the same action hooks, but the regular white console palette. */
.console-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
html[data-ui-theme] body.customer-body #appView#appView .console-directory-grid>:is(article,a,button,.console-directory-card){position:relative;isolation:isolate;display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#283344;box-shadow:0 3px 12px #21375203;text-align:left;text-decoration:none;font:inherit;line-height:1.65;overflow-wrap:anywhere;cursor:pointer}
.console-directory-grid .console-data-action:before{background:none}
.console-directory-grid .console-data-symbol{width:48px;height:48px;border-radius:13px;background:#e8f0fe;border-color:#cfe2ff;box-shadow:none;color:#007aff;font-size:24px}
.console-directory-grid .console-data-copy strong{font-size:16px}.console-directory-grid .console-data-copy span{font-size:12px}
.console-directory-grid :is(h2,h3){margin:0;font-size:16px;font-weight:650;line-height:1.5;color:#25374d}
.console-directory-grid :is(p,small){margin:0;color:#66758a;font-size:12px;line-height:1.75}
.console-directory-grid :is(.console-directory-meta,dl){display:grid;gap:8px;margin:0;padding-top:12px;border-top:1px solid #edf0f4;font-size:12px}
.console-directory-grid dl>div{display:flex;justify-content:space-between;gap:12px}.console-directory-grid dt{color:#66758a}.console-directory-grid dd{margin:0;text-align:right;overflow-wrap:anywhere}
.console-directory-grid [data-state]{padding:3px 8px;border-radius:6px;font-size:11px;background:#f0f3f7;color:#596a80}
.console-directory-grid [data-state=online]{color:#237556;background:#e9f7ef}.console-directory-grid :is([data-state=offline],[data-state=error]){color:#b42318;background:#fff0ee}.console-directory-grid [data-state=stale]{color:#946521;background:#fff6e5}
/* Real connection-status rows are not links or numerical node summaries. */
.console-node-preview>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc;color:#54667b;font-size:13px}
.console-node-preview>div>span{min-width:0;overflow-wrap:anywhere}.console-node-preview>div small{display:block;margin-top:6px;color:#66758a;font-size:11px;line-height:1.6}
.console-node-preview>div strong{flex:none;max-width:48%;color:#53677e;font-size:12px;font-weight:600;line-height:1.6;text-align:right;overflow-wrap:anywhere}
.console-node-preview>a{min-width:0}.console-node-preview>a strong{flex:none;font-variant-numeric:tabular-nums}
/* Auto refresh is a real checkbox, never styled as a full-width text field. */
html[data-ui-theme] body.customer-body #appView#appView .console-monitor-controls .console-auto-refresh{display:flex;align-items:center;gap:9px;grid-column:1/-1;justify-self:start;padding:4px 0 0;min-height:28px;color:#536174;font-size:12px;line-height:1.5;cursor:pointer}
html[data-ui-theme] body.customer-body #appView#appView .console-monitor-controls .console-auto-refresh input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;grid-column:auto;width:18px!important;height:18px!important;min-height:18px!important;flex:none;padding:0!important;margin:0!important;border-radius:4px!important;accent-color:#007aff;cursor:pointer;box-shadow:none!important}


/* Existing v90 business modules: high-specificity skins beat module-injected CSS. */
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot){--hub-ink:#283344;--hub-muted:#66758a;--hub-line:#e2e8f0;--hub-accent:#007aff;--border:#e2e8f0;--card-bg:#fff;--input-bg:#fff;--card:#fff;--r-line:#e2e8f0;--muted:#66758a;color:#283344;font-family:inherit;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(button,input,select,textarea){font:inherit;max-width:100%;min-width:0}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :where(button,input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:42px;padding:10px 13px;border:1px solid #dce3eb;border-radius:8px;background:#fff;color:#43546b;box-shadow:none;line-height:1.5}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) button{cursor:pointer;white-space:normal;text-align:center;transition:background-color .16s ease,border-color .16s ease}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) button:disabled{opacity:.55;cursor:not-allowed}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-height:18px;flex:none;accent-color:#007aff;box-shadow:none;cursor:pointer}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(h2,h3){margin:0 0 12px;font-size:16px;font-weight:650;line-height:1.5;color:#25374d}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(p,small,dt,time,.hub-api-meta,.wallet-muted){color:#66758a}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) p{margin:8px 0;line-height:1.75}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(.wallet-box,.hub-card,.hub-api,.hub-stats article,.rentals-filters,.rentals-node){border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 3px 12px #21375203;backdrop-filter:none}
html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#rentalsRoot) :is(.wallet-primary,button[data-action=acquire]){background:#007aff;border-color:#007aff;color:#fff;font-weight:600}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot button[data-action=delete]{background:#fff2f1;border-color:#f0ccc7;color:#b42318}
@media(hover:hover){html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) button:hover:not(:disabled){border-color:#b5cee9;background:#f0f6ff}html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#rentalsRoot) :is(.wallet-primary,button[data-action=acquire]):hover:not(:disabled){background:#0768c6;border-color:#0768c6}html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot button[data-action=delete]:hover:not(:disabled){background:#ffe9e6;border-color:#e6b8b1}}

/* Wallet: all quota/payment notes and order states stay visible. */
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-panel{max-width:none;margin:0;color:inherit}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot :is(header,.wallet-line){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot header{margin-bottom:20px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot header h2{margin-bottom:6px;font-size:20px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-box{padding:22px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-balance{margin:8px 0 12px;color:#176ac0;font-size:36px;line-height:1.25;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-muted{opacity:1;font-size:12px;line-height:1.8}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot label{display:grid;gap:8px;margin:16px 0;font-size:13px;color:#536174}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot :is(input:not([type=checkbox]),select){width:100%}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot form{margin:0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot form>.wallet-primary{width:100%;margin-top:4px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #edf0f4;border-radius:9px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot :is(td,th){padding:13px 12px;border-bottom:1px solid #edf0f4;white-space:nowrap}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot td{color:#536174}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot tbody tr:last-child td{border-bottom:0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-orders{list-style:none;padding:0;margin:0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-orders li{padding:16px 0;border-bottom:1px solid #edf0f4}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-orders li:first-child{padding-top:0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-orders li:last-child{border-bottom:0;padding-bottom:0}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-line strong{flex:none;font-size:12px;padding:3px 9px;border-radius:6px;background:#f0f3f7;color:#596a80}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-line .wallet-paid{background:#e9f7ef;color:#237556}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot code{display:block;margin:6px 0;color:#5a6a80;font-family:Consolas,"Courier New",monospace;font-size:11px;overflow-wrap:anywhere;white-space:normal}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-note{margin-top:18px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot :is(.wallet-error,[data-wallet-message].wallet-error){color:#b42318}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot [data-wallet-message]:not(:empty){padding:12px 14px;border:1px solid #dbeafa;border-radius:8px;background:#edf5ff;font-size:13px}
html[data-ui-theme] body.customer-body #appView#appView #walletRoot [data-wallet-message].wallet-error:not(:empty){border-color:#f0ccc7;background:#fff2f1}

/* API inventory and credentials; secrets overflow inside controls, not the page. */
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot :is(.hub-toolbar,.hub-card-head){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-toolbar>strong{font-size:20px;font-weight:650;line-height:1.5}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-select{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:13px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-select span{flex:none;color:#536174}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-select select{width:280px;min-width:0}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api-list{display:grid;gap:14px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:14px;padding:20px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api>input[type=checkbox]{margin:4px 0 0}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api strong{font-size:15px;font-weight:650;line-height:1.6;color:#25374d;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api:has(>input:checked){border-color:#73b3ee;background:#fbfdff;box-shadow:inset 0 0 0 1px #73b3ee}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api-meta{font-size:12px;line-height:1.8;margin-top:6px;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #dce9f7;border-radius:9px;background:#f5f9fe}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret>div{display:flex;align-items:center;gap:8px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret input{width:100%;flex:1;font-family:Consolas,"Courier New",monospace;font-size:12px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret button{flex:none;white-space:nowrap}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-empty{padding:38px 18px;border:1px dashed #dce3eb;border-radius:12px;background:#fff;color:#66758a;text-align:center;font-size:13px;line-height:1.8}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot [data-api-more]{margin-top:18px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats article{display:grid;gap:8px;padding:20px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats span{font-size:12px;color:#66758a}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats strong{font-size:28px;line-height:1.3;color:#176ac0;font-variant-numeric:tabular-nums}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;margin-bottom:18px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-card{padding:22px;margin-bottom:18px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-columns>.hub-card{margin:0}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-facts{margin:0 0 18px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:8px 0}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-facts dd{margin:0;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-shortcuts button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:14px 12px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-shortcuts span{color:#007aff}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0f4;font-size:13px}
html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-row time{font-size:12px}

/* Acquisition filters, selection, destructive actions and result statuses. */
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals{padding:0;color:inherit}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head h2{margin:0 0 7px;font-size:20px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head p{margin:0;font-size:13px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head button{flex:none}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;color:#007aff;margin:0 0 7px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot label{font-size:13px;color:#536174;line-height:1.6}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot label>span{display:block;margin-bottom:8px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot :is(select,input[type=search]){width:100%}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot :is(.rentals-search,.rentals-dimensions){grid-column:1/-1}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-dimensions{display:flex;flex-wrap:wrap;gap:16px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-dimensions label{flex:1 1 160px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 16px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-count{margin-right:auto;font-size:13px;color:#536174}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node{display:flex;align-items:flex-start;gap:12px;padding:20px;cursor:pointer;color:#283344}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node>input{margin:3px 0 0}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node>div{flex:1}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node strong{font-size:15px;font-weight:650;line-height:1.6;color:#25374d;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node small{display:block;margin-top:6px;color:#66758a;font-size:12px;line-height:1.75;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node[data-selected=true]{border-color:#73b3ee;background:#fbfdff;box-shadow:inset 0 0 0 1px #73b3ee}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-tag{display:inline-block;padding:3px 8px;margin:9px 4px 0 0;border-radius:6px;background:#e8f0fe;color:#276796;font-size:11px;line-height:1.6;white-space:normal}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-notice{white-space:pre-line;font-size:13px;line-height:1.8;margin:14px 0;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-notice:not(:empty){padding:12px 14px;border:1px solid #dbeafa;border-radius:9px;background:#edf5ff;color:#47617f}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-notice[data-error=true]{border-color:#f0ccc7;background:#fff2f1;color:#b42318}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-summary{margin-top:12px;color:#66758a;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-results{margin-top:24px;padding:20px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-result{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #edf0f4;font-size:13px;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-result:last-child{border-bottom:0}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot :is(.rentals-result[data-status=failed],.rentals-result[data-status=unknown]){color:#b42318}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot :is(.rentals-result[data-status=created],.rentals-result[data-status=synced],.rentals-result[data-status=deleted]){color:#237556}
html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-empty{grid-column:1/-1;padding:38px 18px;border:1px dashed #dce3eb;border-radius:12px;background:#fff;color:#66758a;text-align:center;font-size:13px;line-height:1.8}


/* Font fallback is local, explicit and inherited by controls, including legacy modules. */
html[data-ui-theme] body.customer-body{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","WenQuanYi Micro Hei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
html[data-ui-theme] body.customer-body #appView#appView :is(button,input,select,textarea,summary,h1,h2,h3,h4,p,span,small,strong,dt,dd,th,td){font-family:inherit}
html[data-ui-theme] body.customer-body #appView#appView :is(.workspace,.content-view,.console-dashboard-columns,.console-dashboard-main){min-width:0}
html[data-ui-theme] body.customer-body #appView#appView :is(#dashboardView,#consoleDashboardRoot){width:100%;max-width:none}
html[data-ui-theme] body.customer-body #appView#appView .console-dashboard-columns{width:100%;grid-template-columns:minmax(0,1fr) minmax(240px,284px)}
html[data-ui-theme] body.customer-body #appView#appView .console-monitor-controls{grid-template-columns:minmax(0,1fr) minmax(100px,160px) minmax(100px,160px) auto}
/* Preserve descriptive copy on dark data, and all ordinary business-module statuses. */
html[data-ui-theme] body.customer-body #appView#appView :is(.wallet-error,.rentals-notice,.rentals-summary,.hub-api-meta,.console-node-preview small){clip:auto;clip-path:none;white-space:normal}
@media(max-width:1200px){
  .console-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  html[data-ui-theme] body.customer-body #appView#appView .console-dashboard-columns{grid-template-columns:minmax(0,1fr) 250px}
}
@media(max-width:1000px) and (min-width:861px){
  html[data-ui-theme] body.customer-body #appView#appView .console-dashboard-columns{grid-template-columns:1fr}
  html[data-ui-theme] body.customer-body #appView#appView .console-monitor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  /* The pastel canvas belongs only to the visible data tab. Other views keep #f5f6f8. */
  html[data-ui-theme] body.customer-body #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])){background:radial-gradient(ellipse at 0 8%,#dff4ee,transparent 42%),radial-gradient(ellipse at 100% 36%,#e7eaff,transparent 50%),linear-gradient(#f5f7fc,#f9f3ed)!important}
  html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])){background:radial-gradient(ellipse at 0 8%,#23434a66,transparent 44%),radial-gradient(ellipse at 100% 36%,#35395777,transparent 50%),#19253b!important}
  body.customer-body[data-console-color=night] #appView:has(#consoleDataView:not(.hidden):not([hidden])) .console-topbar{background:#1d2b43;border-color:#7d96bc3d;color:#edf3ff}
  body.customer-body[data-console-color=night] #appView:has(#consoleDataView:not(.hidden):not([hidden])) :is(.console-menu-toggle,.console-top-user){border-color:#7d96bc3d;color:#c0ccdf}
  html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])) .customer-bottom-nav{background:#1d2b43!important;border-top-color:#7d96bc3d!important}
  html[data-ui-theme] body.customer-body.customer-body[data-console-color=night] #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])) .customer-bottom-nav .nav-item{color:#b7c5dd!important}
  html[data-ui-theme] body.customer-body.customer-body[data-console-color=night] #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])) .customer-bottom-nav .nav-item.active{color:#8fceff!important}
  html[data-ui-theme] body.customer-body #appView#appView .console-dashboard-columns{grid-template-columns:1fr}
  html[data-ui-theme] body.customer-body #appView#appView .console-monitor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .console-data-head{margin-bottom:18px;gap:12px}.console-data-head :is(h1,h2){font-size:23px}
  .console-data-welcome{min-height:160px;padding:22px;border-radius:22px;gap:12px;margin-bottom:16px}
  .console-data-welcome :is(h2,h3,strong){font-size:20px;margin-bottom:8px}
  .console-data-welcome :is(.console-data-art,.console-data-mascot),.console-data-welcome>img,.console-data-welcome>svg{width:132px;height:126px;max-width:38%}
  .console-data-actions{gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action{min-height:124px;padding:20px!important;gap:14px!important}
  .console-data-symbol{width:52px;height:52px;border-radius:16px}.console-data-symbol svg{width:28px;height:28px}
  .console-directory-grid{gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-columns{grid-template-columns:1fr}
}
@media(max-width:600px){
  .console-data-head :is(h1,h2){font-size:22px}
  html[data-ui-theme] body.customer-body #appView#appView #consoleDataTheme{min-height:34px;padding:7px 9px;font-size:11px!important}
  .console-data-welcome{min-height:140px;padding:20px 18px;gap:8px}
  .console-data-welcome :is(h2,h3,strong){font-size:18px;line-height:1.5}
  .console-data-welcome :is(p,small){font-size:11px;line-height:1.8}
  .console-data-welcome :is(.console-data-art,.console-data-mascot),.console-data-welcome>img,.console-data-welcome>svg{width:108px;height:108px;max-width:37%}
  .console-data-actions{grid-template-columns:1fr;gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action{min-height:110px;padding:20px!important;border-radius:20px!important;gap:16px!important}
  .console-data-copy{gap:6px}.console-data-copy :is(strong,h2,h3){font-size:16px}.console-data-copy :is(span,p,small){font-size:12px}
  .console-directory-grid{grid-template-columns:1fr}
  html[data-ui-theme] body.customer-body #appView#appView .console-directory-grid>:is(article,a,button,.console-directory-card){padding:18px;gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot){font-size:13px}
  html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :where(button,input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:42px;padding:10px 11px;font-size:13px}
  html[data-ui-theme] body.customer-body #appView#appView :is(#walletRoot,#hubApisRoot,#rentalsRoot) :is(h2,h3){font-size:15px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot header{align-items:flex-start;margin-bottom:16px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot header h2{font-size:18px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-grid{grid-template-columns:1fr;gap:14px;margin:16px 0}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-box{padding:18px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-balance{font-size:32px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot :is(td,th){padding:11px 9px}
  html[data-ui-theme] body.customer-body #appView#appView #walletRoot .wallet-actions button{flex:1 1 auto}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-toolbar{gap:10px;margin-bottom:18px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-toolbar>strong{font-size:18px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api{grid-template-columns:18px minmax(0,1fr);gap:10px;padding:16px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api>button{grid-column:2;justify-self:start}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-api strong{font-size:14px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-select select{flex:1;width:100%}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret{padding:10px;gap:9px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret>div{flex-wrap:wrap}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret input{flex:1 1 100%;font-size:12px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-secret button{flex:1 1 auto}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats article{padding:16px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-stats strong{font-size:24px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-card{padding:18px}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-ui-theme] body.customer-body #appView#appView #hubApisRoot .hub-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head{flex-wrap:wrap;gap:12px;margin-bottom:18px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head h2{font-size:18px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-head p{font-size:12px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-filters{grid-template-columns:1fr;padding:18px;gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-dimensions{gap:14px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-dimensions label{flex-basis:100%}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-toolbar{gap:8px;margin-top:18px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-count{flex-basis:100%;margin-bottom:2px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-toolbar button{flex:1 1 calc(50% - 8px);padding-inline:8px;font-size:12px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-list{grid-template-columns:1fr;gap:12px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node{padding:16px;gap:10px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-node strong{font-size:14px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-results{padding:16px}
  html[data-ui-theme] body.customer-body #appView#appView #rentalsRoot .rentals-result{grid-template-columns:70px minmax(0,1fr);gap:10px;font-size:12px}
  .console-node-preview>div{padding:14px 12px;gap:10px}.console-node-preview>div strong{font-size:11px}.console-node-preview>div small{font-size:11px}
}
@media(max-width:360px){
  .console-data-welcome{padding:18px 15px;gap:6px}.console-data-welcome :is(h2,h3,strong){font-size:17px}
  .console-data-welcome :is(.console-data-art,.console-data-mascot),.console-data-welcome>img,.console-data-welcome>svg{width:96px;height:102px}
  html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action{padding:18px!important;gap:13px!important;min-height:106px}
  .console-data-symbol{width:48px;height:48px;border-radius:15px}.console-data-copy :is(strong,h2,h3){font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  html[data-ui-theme] body.customer-body #appView#appView :is(#consoleDataView,#consoleNodeDirectoryView,#walletRoot,#hubApisRoot,#rentalsRoot) *,
  html[data-ui-theme] body.customer-body #appView#appView :is(#consoleDataView,#consoleNodeDirectoryView,#walletRoot,#hubApisRoot,#rentalsRoot) *:before,
  html[data-ui-theme] body.customer-body #appView#appView :is(#consoleDataView,#consoleNodeDirectoryView,#walletRoot,#hubApisRoot,#rentalsRoot) *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  html[data-ui-theme] body.customer-body #appView#appView .console-data-actions>.console-data-action:hover{transform:none}
}

/* Neutralize inherited desktop body gutter: the fixed 256px sidebar owns it once. */
html[data-ui-theme] body.customer-body.customer-body.customer-body{padding:0!important;font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","WenQuanYi Micro Hei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
html[data-ui-theme] body.customer-body #appView#appView.console-layout{width:100%!important}

/* Server resources remain native, collapsed details; dl follows the monitor card metrics. */
html[data-ui-theme] body.customer-body #appView#appView .console-server-details{margin-top:18px;border:1px solid #e2e8f0;border-radius:9px;background:#fafbfc;min-width:0}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details>summary{padding:11px 12px;color:#43546b;font-size:12px;font-weight:600;line-height:1.6;cursor:pointer;border-radius:8px;list-style-position:inside;overflow-wrap:anywhere}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details>summary::marker{color:#007aff;font-size:10px}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details>summary:focus-visible{outline:3px solid #7bbcff!important;outline-offset:3px;background:#edf5ff}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details[open]>summary{border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details>dl{margin:0;padding:0 12px}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details>dl>div{gap:12px;margin:12px 0;min-width:0;line-height:1.65}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details dt{flex:none;color:#66758a}
html[data-ui-theme] body.customer-body #appView#appView .console-server-details dd{min-width:0;color:#43546b;overflow-wrap:anywhere}
@media(hover:hover){html[data-ui-theme] body.customer-body #appView#appView .console-server-details>summary:hover{background:#f0f6ff}}
@media(prefers-reduced-motion:reduce){html[data-ui-theme] body.customer-body #appView#appView .workspace,html[data-ui-theme] body.customer-body #appView#appView .workspace>.content-view,html[data-ui-theme] body.customer-body #appView#appView .workspace>.content-view *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Legacy dashboard theme owns heading colors/backgrounds; Data owns its scoped palette. */
html[data-ui-theme] body.customer-body #appView#appView #consoleDataView{background:transparent!important}
html[data-ui-theme] body.customer-body #appView#appView .workspace:has(>#consoleDataView:not(.hidden):not([hidden])){background:transparent!important}
html[data-ui-theme] body.customer-body #appView#appView #consoleDataView :is(.console-data-head h1,.console-data-head h2,.console-data-welcome strong,.console-data-welcome h2,.console-data-welcome h3,.console-data-copy strong,.console-data-copy h2,.console-data-copy h3){color:var(--data-ink)}
html[data-ui-theme] body.customer-body #appView#appView #consoleDataView :is(.console-data-welcome p,.console-data-welcome small,.console-data-copy span,.console-data-copy p,.console-data-copy small){color:var(--data-muted)}
html[data-ui-theme] body.customer-body #appView#appView #consoleNodeDirectoryView .console-data-copy strong{color:#28384f}
html[data-ui-theme] body.customer-body #appView#appView #consoleNodeDirectoryView .console-data-copy span{color:#586a81}
@media(max-width:860px){html[data-ui-theme] body.customer-body[data-console-color=night] #appView#appView:has(#consoleDataView:not(.hidden):not([hidden])) #consolePageName{color:#edf3ff}}

/* v1.1.92：旧登录页外观已由 auth-portal.css 接管，这里只保留隐藏态。 */
html[data-ui-theme] body.customer-body #authView.hidden{display:none!important}

/* v1.1.92：移动端内容内边距必须排在 .workspace>.content-view 之后才生效。 */
@media(max-width:860px){
  html[data-ui-theme] body.customer-body #appView#appView .workspace>.content-view{padding:16px 14px 30px!important}
}
@media(max-width:480px){
  html[data-ui-theme] body.customer-body #appView#appView .workspace>.content-view{padding:14px 12px 26px!important}
}