/* Canonical bilingual workbench style roles; design handbook v2.6. Layout remains owned by each research window.
   Optional per-window CSS variables support justified variants without a new stylesheet. */
:root{--window-title-size:23px;--window-title-weight:550;--window-title-leading:1.5;--window-meta-size:14px;--window-subtitle-size:17px;--window-key-size:28px}
body .research-style-title{font-family:inherit!important;font-size:var(--window-title-size)!important;font-weight:var(--window-title-weight)!important;line-height:var(--window-title-leading)!important;letter-spacing:0!important;color:var(--ink,#293847)!important;margin:0 0 6px!important}
body .research-style-meta{font-family:inherit!important;font-size:var(--window-meta-size)!important;font-weight:400!important;line-height:1.65!important;color:var(--muted,#62717d)!important}
body .window-scope-tags.research-style-meta>span{font-size:inherit;line-height:inherit}
body .research-style-subtitle{font-family:inherit!important;font-size:var(--window-subtitle-size)!important;font-weight:550!important;line-height:1.5!important;letter-spacing:0!important;color:var(--ink,#293847)!important}
body .research-style-key{font-family:inherit!important;font-size:var(--window-key-size)!important;font-weight:550!important;line-height:1.5!important;font-variant-numeric:tabular-nums}
body .research-style-key small{font-size:var(--window-meta-size);font-weight:400}
/* Supply's title-plus-metrics composition and transmission's side note remain intact. */
#market .research-lead .asof{margin:0 0 10px}
@media(max-width:700px){:root{--window-title-size:20px;--window-key-size:25px}}

/* Container roles: open research windows, bounded chart/interaction panels.
   Do not strip component borders, table rules, route colors or disclosure controls. */
body .research-style-window{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
body .research-style-panel{border:1px solid var(--line,#dae2e6)!important;border-radius:5px!important;box-shadow:none!important}

/* The adopted brand mark also operates the existing navigation pin control.
   Keep native button labels, keyboard behavior and per-page state handlers. */
body .sidebar :is(.sidebar-pin,#nav-toggle){
 width:32px!important;height:32px!important;min-width:32px;flex-shrink:0;
 margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;
 background:#304b49 url('/favicon.png') center/100% 100% no-repeat!important;
 font-size:0!important;color:transparent!important;overflow:hidden;
 cursor:pointer;box-shadow:none;transition:box-shadow .15s ease;
}
body .sidebar :is(.sidebar-pin,#nav-toggle):hover{box-shadow:0 0 0 1px rgba(255,255,255,.38)}
body .sidebar :is(.sidebar-pin,#nav-toggle):focus-visible{outline:2px solid #e4eeeb!important;outline-offset:3px}

/* Keep the brand control in the left column in collapsed, hovered and pinned states.
   Inventory used this order already; the other page shells inherited label-first. */
body .sidebar .nav-toolbar{grid-template-columns:32px minmax(0,1fr)!important}
body .sidebar .nav-toolbar .sidebar-pin{grid-column:1;grid-row:1;justify-self:start}
body .sidebar .nav-toolbar .nav-toolbar-label{grid-column:2;grid-row:1;padding-left:0}

/* Typography follows reading roles. Layout and approved content stay page-owned. */
:root{--workbench-font:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--window-detail-size:20px}
html:root body{font-family:var(--workbench-font)}
html:root body :is(button,input,select,textarea){font-family:var(--workbench-font)}
html:root body :is(table,.num,.metric-highlight,.annual-balance-grid,.supply-annual-summary,svg text){font-variant-numeric:tabular-nums}
html:root body .research-style-detail-title{font-family:inherit;font-size:var(--window-detail-size);font-weight:550;line-height:1.5;letter-spacing:0;color:var(--ink)}
/* Nested overview details are subordinate to the two main window headings. */
html:root body[data-page-key="01"] #design-workbench :is(.detail-title,.pie-title){font-size:var(--window-detail-size);font-weight:550;line-height:1.5}
html:root body[data-page-key="01"] #design-workbench :is(.section h2,.landscape-section-title,.adapter-section-label){font-family:inherit;font-size:var(--window-subtitle-size);font-weight:550;line-height:1.5}
html:root body[data-page-key="01"] #design-workbench :is(.detail-subtitle,.pie-note,.box-note,.signal-note,.landscape-meta,.landscape-headline-label){font-size:var(--window-meta-size);line-height:1.65}
html:root body[data-page-key="01"] #design-workbench :is(.box-value,.landscape-headline-value,.time-value){font-weight:550;font-variant-numeric:tabular-nums}
html:root body[data-page-key="01"] #design-workbench :is(.signal-value,.landscape-name,.bar-value){font-weight:600;font-variant-numeric:tabular-nums}
/* Chart captions and analysis subheads share the established internal-heading role. */
html:root body[data-page-key="08"] #design-workbench :is(.trend-head h3,.section-heading,.market-compare h3){font-size:var(--window-subtitle-size);font-weight:550;line-height:1.5}
