/* Shared visual language for marketing, business reports and supporting pages.
   Loaded last; data columns and each page's single vertical scroll surface stay intact. */
:root {
  --cq-ink:#0e3a46; --cq-muted:#526971; --cq-accent:#155163;
  --cq-bg:#f3f6f7; --cq-line:#dce5e7; --cq-tint:#e8f0f1;
  --cq-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",sans-serif;
}
body.workbench-shell,body.marketing-shell,body.utility-page {
  --ink:var(--cq-ink); --muted:var(--cq-muted); --muted2:var(--cq-muted);
  --accent:var(--cq-accent); --line:var(--cq-line); --line2:var(--cq-line); --headbg:var(--cq-tint);
  font-family:var(--cq-font); color:var(--cq-ink); background:var(--cq-bg); font-size:14px; line-height:1.55;
}
:is(.workbench-shell,.marketing-shell,.utility-page) :is(button,input,select,textarea) { font-family:inherit; }
:is(.workbench-shell,.marketing-shell,.utility-page) :is(button,a,input,select,summary,[tabindex]):focus-visible { outline:2px solid var(--cq-accent); outline-offset:3px; }
:is(.workbench-shell,.marketing-shell,.utility-page) button { touch-action:manipulation; }
:is(.workbench-shell,.marketing-shell,.utility-page) button:disabled { opacity:.55; cursor:default; }
.workspace-header.workspace-header {
  display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; min-height:64px;
  max-width:1440px; margin:0 auto; padding:10px 24px; background:#fff; border-bottom:1px solid var(--cq-line); color:var(--cq-ink); font-size:13px;
}
.workspace-brand { display:flex; align-items:center; gap:9px; color:var(--cq-ink); text-decoration:none; white-space:nowrap; }
.workspace-brand strong { font-size:16px; font-weight:650; }
.workspace-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:var(--cq-ink); color:#fff; font-size:15px; font-weight:700; }
.workspace-header .module-nav { display:flex; flex-wrap:nowrap; order:0; width:auto; gap:4px; padding:3px; border:1px solid var(--cq-line); border-radius:8px; background:var(--cq-bg); }
.workspace-header .module-nav a { padding:7px 16px; min-height:34px; border-radius:5px; color:var(--cq-muted); font-size:13px; white-space:nowrap; }
.workspace-header .module-nav a[aria-current=page] { color:#fff; background:var(--cq-ink); font-weight:600; }
.workspace-header .module-nav a:hover:not([aria-current]) { background:var(--cq-tint); }
.workspace-tools { display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap; }
.workspace-tools a,.workspace-tools button { display:inline-flex; align-items:center; min-height:36px; padding:6px; border:0; background:none; color:var(--cq-muted); font-size:13px; text-decoration:none; }
.workspace-tools :is(a,button):hover { color:var(--cq-ink); background:var(--cq-bg); border-radius:5px; }
.workspace-context { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; margin:16px 24px 10px; color:var(--cq-muted); font-size:12px; }
.workbench-shell .app-shell { display:block; width:100%; max-width:none; height:100%; margin:0; border:0; }
.workbench-shell #scrollArea { background:var(--cq-bg); }
.workbench-shell #scrollInner { max-width:1440px; margin:0 auto; padding:0 0 40px; }
.workbench-shell .sidebar { display:block; padding:0; margin:0 24px; border:0; overflow:visible; background:none; }
.workbench-shell .sidebar .specbar { display:flex; flex-direction:row; gap:6px; flex-wrap:wrap; padding:0; }
.workbench-shell .sidebar .sptab { width:auto; flex:none; min-height:36px; padding:7px 14px; gap:8px; font-size:13px; border:1px solid var(--cq-line); border-radius:6px; color:var(--cq-muted); background:white; font-weight:500; }
.workbench-shell .sidebar .sptab.active { background:var(--cq-ink); color:white; border-color:var(--cq-ink); }
.workbench-shell .sidebar .sptab:not(.active):hover { background:var(--cq-tint); }
.workbench-shell .sidebar .sptab svg { width:16px; height:16px; }
.workbench-shell .sidebar .sptab .spn { display:inline; margin:0 0 0 4px; color:inherit; font-size:12px; opacity:.85; }
.workbench-shell .hero { padding:18px 24px 10px; }
.workbench-shell .hero h1,.marketing-heading h1 { font-size:24px; font-weight:650; letter-spacing:0; line-height:1.4; }
.workbench-shell .period-trigger { min-height:38px; padding:8px 12px; border-radius:6px; color:var(--cq-muted); border-color:var(--cq-line); font-size:13px; }
.workbench-shell .period-trigger strong { font-size:13px; }
.workbench-shell .fbar { margin:0 24px 10px; }
.workbench-shell .fsum { justify-content:flex-start; gap:8px 12px; font-size:12px; }
.workbench-shell #coverageLabel { margin-left:auto; }
.workbench-shell .source-badge { padding:2px 8px; border-radius:5px; border:1px solid var(--cq-line); background:#fff; font-size:12px; }
.workbench-shell #filterRows { padding:16px; border-radius:8px; }
.workbench-shell #businessTabs { margin:10px 24px 0; border:1px solid var(--cq-line); border-radius:8px; padding:4px; background:white; box-shadow:none; }
.workbench-shell .tab { color:var(--cq-muted); border-radius:5px; font-size:13px; }
.workbench-shell .tab.active { color:white; background:var(--cq-ink); }
.workbench-shell .wb-update { margin:8px 24px 0; padding:0; font-size:12px; }
.workbench-shell .wb-status { margin:0 24px; }
.workbench-shell .page { padding:0 24px; }
.workbench-shell .page.is-refreshing { opacity:.55; cursor:wait; }
.workbench-shell .card,#page-all .card,.marketing-shell .panel { border:1px solid var(--cq-line); border-radius:8px; box-shadow:none; margin-bottom:18px; }
.workbench-shell .card-h,#page-all .card-h { padding:14px 16px 10px; font-size:16px; font-weight:650; border:0; }
.workbench-shell .card-b,#page-all .card-b { padding:4px 16px 16px; }
.workbench-shell .tag { color:white; background:var(--cq-ink); border-radius:5px; padding:2px 7px; font-size:11px; }
.workbench-shell .bcard,.marketing-shell .card { padding:14px; border:1px solid var(--cq-line); border-radius:8px; box-shadow:none; background:white; }
.workbench-shell .bcard.active,.marketing-shell .income-card { border-color:#82b6c4; background:#f2f9fa; box-shadow:inset 0 0 0 1px #82b6c4; }
.workbench-shell .bcard:hover { border-color:#82b6c4; }
.workbench-shell .bcard .bt,.marketing-shell .card .k { font-size:12px; color:var(--cq-muted); }
.workbench-shell .bcard .bv,.marketing-shell .card .v,#page-all .ovtv { font-size:24px; font-weight:650; line-height:1.35; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.workbench-shell .bcard .small,.marketing-shell .card .pair { font-size:12px; color:var(--cq-muted); }
.workbench-shell .board-spark { height:26px; margin:6px 0; }
.workbench-shell .bcards { gap:10px; }
.workbench-shell .seg { padding:0; border:1px solid var(--cq-line); background:#fff; border-radius:6px; }
.workbench-shell .seg .sbtn { padding:6px 12px; min-height:32px; border-radius:5px; }
.workbench-shell .seg .sbtn.active { color:#fff; background:var(--cq-ink); box-shadow:none; }
.workbench-shell :is(.lbtn,.fbtn),.marketing-shell :is(#updBtn,#foldBtn,#resetFilters) { min-height:34px; padding:6px 12px; border:1px solid var(--cq-line); border-radius:6px; background:white; color:var(--cq-ink); font-size:13px; }
.workbench-shell .fbtn.active { background:var(--cq-ink); color:#fff; border-color:var(--cq-ink); }
.workbench-shell :is(.lbtn,.fbtn):hover:not(:disabled),.marketing-shell :is(#updBtn,#foldBtn,#resetFilters):hover:not(:disabled) { border-color:#82b6c4; }
.workbench-shell .wb-actions :is(input,select),.marketing-shell .q,.marketing-shell .rng input { min-height:34px; border-color:var(--cq-line); font-size:13px; }
.workbench-shell .wb-table,#page-all .wb-table,.marketing-shell table { font-size:13px; font-variant-numeric:tabular-nums; }
.workbench-shell .wb-table th,#page-all .wb-table th,.marketing-shell th { color:var(--cq-ink); background:var(--cq-tint); border-bottom:2px solid var(--cq-ink); font-size:12px; font-weight:600; }
.workbench-shell .wb-table :is(th,td),#page-all .wb-table :is(th,td),.marketing-shell :is(th,td) { padding:9px 10px; line-height:1.55; }
.workbench-shell .wb-table td { border-bottom-color:#edf2f3; }
.workbench-shell .wb-table tr:hover td,.marketing-shell tr:hover td { background:#f4faf9; }
.workbench-shell .table-scroll,.marketing-shell .scroll { scrollbar-width:thin; scrollbar-color:#8aabb5 #eef4f5; }
.marketing-shell .wc .h,.marketing-shell .wkwrap td:first-child .sub,.marketing-shell .muted { font-size:12px; color:var(--cq-muted); }
.marketing-shell .search-feedback { margin:4px 0 8px; color:var(--cq-muted); font-size:12px; }
.marketing-shell .scroll:focus-visible { outline-offset:-2px; }
.marketing-shell .panel:focus { outline:none; }
.marketing-shell #marketingMessage:empty { display:none; }
.marketing-shell #marketingContent[aria-busy=true] { opacity:.55; cursor:wait; }
.consultation-shell #consultContent[aria-busy=true] { opacity:.55; cursor:wait; }
.utility-page #scrollInner { max-width:1440px; }
.utility-page .sec { border-radius:8px; }
.utility-page .app-nav a[aria-current=page],.utility-page .query-primary,.utility-page .stack-form button[type=submit] { background:var(--cq-ink); color:white; }
@media(max-width:760px) {
  .workspace-header.workspace-header { padding:10px 12px; gap:8px 12px; }
  .workspace-brand strong { font-size:14px; }
  .workspace-header .module-nav { margin-left:auto; }
  .workspace-header .module-nav a { min-height:36px; padding:7px 12px; }
  .workspace-tools { width:100%; justify-content:flex-end; gap:8px; }
  .workspace-tools a,.workspace-tools button { min-height:36px; font-size:12px; }
  .workspace-context { margin:12px 12px 8px; }
  .workbench-shell .sidebar { margin:0 12px; }
  .workbench-shell .sidebar .specbar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .workbench-shell .sidebar .sptab { justify-content:center; min-height:40px; padding:6px 3px; font-size:12px; gap:3px; }
  .workbench-shell .sidebar .sptab svg { display:none; }
  .workbench-shell .sidebar .sptab .spn { margin-left:0; font-size:11px; }
  .workbench-shell .hero { padding:16px 12px 10px; }
  .workbench-shell .hero h1,.marketing-heading h1 { font-size:21px; }
  .workbench-shell .hero-line { gap:10px; }
  .workbench-shell .fbar { margin:0 12px 8px; }
  .workbench-shell #businessTabs { margin-inline:12px; }
  .workbench-shell .wb-update { margin-inline:12px; }
  .workbench-shell .wb-status { margin-inline:12px; }
  .workbench-shell .page { padding:0 12px; }
  .workbench-shell .card-h,#page-all .card-h { padding:12px 12px 10px; font-size:15px; }
  .workbench-shell .card-b,#page-all .card-b { padding:2px 12px 12px; }
  .workbench-shell .bcard,.marketing-shell .card { padding:12px; }
  .workbench-shell .bcard .bv,.marketing-shell .card .v { font-size:21px; }
  .workbench-shell .seg .sbtn,.marketing-shell .seg button,.marketing-shell .chips button,.marketing-shell .presets button { min-height:38px; }
  .workbench-shell :is(.lbtn,.fbtn),.marketing-shell :is(#updBtn,#foldBtn,#resetFilters) { min-height:38px; }
  .marketing-shell .card .pair { font-size:12px; }
}
@media print { .workspace-header,.workspace-context,.workbench-shell .sidebar { display:none; } }
/* Account authorizations use the same controls on desktop and narrow screens. */
.access-editor{display:grid;gap:12px;max-width:880px;width:100%}.access-editor fieldset{min-width:0;border:1px solid #d9e6ec;border-radius:8px;padding:12px}.access-editor legend{padding:0 6px;font-weight:600}.scope-options{display:flex;flex-wrap:wrap;gap:10px 20px}.scope-options .checkbox-field{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:13px;overflow-wrap:anywhere}.access-editor input[type=checkbox]{width:16px;height:16px;flex:none}

/* Compact page heading; secondary status lives in a keyboard-accessible disclosure. */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap}
.data-tools{position:relative;flex:none;z-index:35;color:var(--cq-ink);text-align:left;font-size:13px}
.data-tools>summary,.page-actions>button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--cq-line);border-radius:6px;background:#fff;color:var(--cq-ink);cursor:pointer;list-style:none;font-size:13px;font-weight:500;white-space:nowrap}
.data-tools>summary::-webkit-details-marker{display:none}
.data-tools>summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.data-tools[open]>summary{border-color:#82b6c4;background:var(--cq-tint)}
.data-tools-panel{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-width:calc(100vw - 48px);max-height:min(65vh,520px);overflow:auto;overscroll-behavior:contain;padding:16px;background:#fff;border:1px solid var(--cq-line);border-radius:10px;box-shadow:0 12px 32px #173c5024}
.data-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.data-tools-panel .data-tools-close{display:grid;place-items:center;border:0;background:var(--cq-bg);border-radius:5px;width:32px;height:32px;min-height:32px;padding:0;font-size:20px;color:var(--cq-muted);cursor:pointer}
.data-tools-panel p,.marketing-heading .data-tools-panel p{font-size:12px;line-height:1.6;margin:6px 0;color:var(--cq-muted);overflow-wrap:anywhere}
.data-source{display:inline-block;background:var(--cq-bg);padding:2px 7px;border-radius:4px;font-size:12px;color:var(--cq-muted)}
.data-update-item{padding-top:12px;margin-top:12px;border-top:1px solid var(--cq-line)}
.data-update-item strong{font-size:13px;font-weight:600}
.data-update-item button{margin-top:6px}
.data-notice{font-size:11px;line-height:1.4;color:#526971}
.data-notice[data-state=failed]{color:#b33528}
.data-tools [hidden]{display:none!important}
.workbench-shell .sidebar{margin-top:16px}
.workbench-shell .hero{padding-block:16px 12px}
.workbench-shell .hero-line{align-items:center;gap:14px}
.workbench-shell .hero h1{margin:0}
.workbench-shell .fbar{margin-bottom:0}
.workbench-shell .filter-summary{font-size:12px;color:var(--cq-muted);margin:0 0 10px}
.workbench-shell .filter-count{display:inline-grid;place-items:center;min-width:18px;height:18px;background:var(--cq-ink);color:white;border-radius:10px;font-size:11px}
.workbench-shell .filter-count[hidden]{display:none}
.workbench-shell #businessTabs{margin-top:0;margin-bottom:8px}
.workbench-shell #pageStatus{min-height:8px;margin-block:0}
.workbench-shell #pageStatus:not(:empty){padding:6px 0;min-height:28px}
.marketing-shell .marketing-heading{padding-block:18px 12px;min-width:0}
.marketing-shell .marketing-heading h1{margin:0}
.marketing-shell #marketingStatus:has(#marketingMessage:empty):has(#marketingRetry[hidden]){margin:0;padding:0}
@media(max-width:760px){
 .workbench-shell .hero-line,.marketing-shell .marketing-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .page-actions{width:100%;justify-content:flex-end;flex-wrap:nowrap}
 .workbench-shell .page-actions .period-trigger{flex:1;min-width:0;gap:5px;padding:7px 8px;justify-content:space-between}
 .workbench-shell .period-trigger strong{font-size:12px;white-space:normal}
 .workbench-shell .period-trigger svg{display:none}
 .workbench-shell .period-trigger .filter-caption{font-size:12px}
 .data-tools>summary,.page-actions>button{min-height:40px;padding:7px 10px}
 .data-tools-panel{padding:12px}
 .workbench-shell .sidebar{margin-top:12px}
 .workspace-header .module-nav{max-width:100%;margin-left:0}
 .workspace-header .module-nav a{padding-inline:11px}
}
@media print{.data-tools,.page-actions{display:none}}
