/* One role scale for the application and its sandboxed reports. No palette changes. */
:root {
  --font-ui: Arial, Helvetica, sans-serif;
  --type-body: 18px;
  --type-caption: 16px;
  --type-control: 17px;
  --type-subheading: 22px;
  --type-section: 24px;
  --type-page: 30px;
  --type-kpi: 36px;
  --weight-body: 400;
  --weight-label: 600;
  --weight-emphasis: 700;
  --leading-body: 1.45;
  --leading-heading: 1.2;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: var(--font-ui); font-size: var(--type-body); line-height: var(--leading-body); font-weight: var(--weight-body); }
button,input,select,textarea { font-family: var(--font-ui); }
button,input,select,textarea,[role="combobox"] { font-size: var(--type-control); line-height: var(--leading-body); }
button,[role="button"] { font-weight: var(--weight-label); }
input,select,textarea { font-weight: var(--weight-body); }
h1,h2,h3,h4 { line-height: var(--leading-heading); letter-spacing: normal; overflow-wrap: break-word; }
h1 { font-size: var(--type-page); font-weight: var(--weight-emphasis); }
h2 { font-size: var(--type-section); font-weight: var(--weight-label); }
h3 { font-size: var(--type-subheading); font-weight: var(--weight-label); }
h4 { font-size: var(--type-body); font-weight: var(--weight-label); }
p { line-height: var(--leading-body); }
small,figcaption,caption { font-size: var(--type-caption); line-height: var(--leading-body); }
table { font-variant-numeric: tabular-nums lining-nums; }
th,td { font-size: var(--type-body); line-height: var(--leading-body); vertical-align: middle; }
th { font-weight: var(--weight-label); white-space: normal; }
td { font-weight: var(--weight-body); }
td :is(button,a,span,b,strong) { font-size: inherit; }
td[data-type-role="plan"],td[data-type-role="plan"] :is(button,a,span,b,strong),
.mr2-plan-number,.qv-norm { font-weight: var(--weight-emphasis) !important; }
td[data-type-role="fact"],td[data-type-role="fact"] :is(button,a,span,b,strong),
.mr2-number-button,.mr2-fact,.mr2-fact>span,.qv-now { font-weight: var(--weight-body) !important; }
:is(.mr2-detail-metrics,.qv-cycle-detail-metrics) [data-type-role="plan"] { font-weight: var(--weight-emphasis) !important; }
:is(.mr2-detail-metrics,.qv-cycle-detail-metrics) [data-type-role="fact"] { font-weight: var(--weight-body) !important; }
:is(.mr2,.mr2-dialog,.qv-report,.qv-modal,.qv-cycle-dialog) { font-family: var(--font-ui); font-size: var(--type-body); line-height: var(--leading-body); }
:is(.mr2-kpi,.mr2-result-hero) { font-weight: var(--weight-body); }
:is(.mr2-goal,.mr2-result-amount,.qv-kpi strong,.metric-card>strong,.cycle-kpi strong,.success-kpi strong,.kpi-value,.big) { font-size: var(--type-kpi); line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mr2-goal { font-weight: var(--weight-emphasis); }
.mr2-result-amount { font-weight: var(--weight-body) !important; }
.mr2-kpi-label,.qv-kpi-label,.metric-label,.kpi-label { font-size: var(--type-caption); font-weight: var(--weight-label); line-height: var(--leading-body); }
/* Text-bearing controls grow; icon-only controls retain their original geometry. */
:is(.white-button,.report-calendar-trigger,.period-selector label,.filter-button,.select-button,.picker,[data-slot="select-trigger"],[data-slot="button"]):not(:empty) {
  height: auto; min-height: 44px; padding-block: 9px; white-space: normal; overflow-wrap: break-word;
}
:is(.filter-bar,.filter-left,.filter-right,.table-toolbar,.status-tabs,.qv-tabs,.mr2-tabs,.top-tools,.heading-row,.head,.panel-heading,.panelhead) { flex-wrap: wrap; }
:is(.mr2-filters,.qv-filters,.filters) { min-width: 0; }
:is(.mr2-filter,.qv-filter,.filter,.filter-field) { min-width: 0; }
:is(.mr2-filter,.qv-filter)>span { min-width: 0; }
:is(.mr2-filter,.qv-filter) select { width: 100%; min-height: 28px; height: auto; }
:is(.select-button,.report-calendar-trigger,.picker) :is(span,b,strong) { white-space: normal; overflow: visible; text-overflow: clip; }
[data-slot="select-value"],.truncate,.line-clamp-1,.line-clamp-2,.line-clamp-3 { white-space: normal; overflow: visible; text-overflow: clip; -webkit-line-clamp: unset; }
:is(.deal-title,.deal-name,.potential-deal-heading,.qv-deal-name,.mr2-deal-title,.selected,.manager-cell) { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; -webkit-line-clamp: unset; }
.call-player-person small,.top-breadcrumbs>b { max-width: 100%; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: break-word; }
body .breadcrumbs { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: break-word; }
body .topbar { height: auto; min-height: 56px; padding-block: 12px; }
:is(.deal-sheet,.qv-cycle-dialog,.qv-modal,.mr2-dialog,[data-slot="dialog-content"]) { max-height: calc(100dvh - 24px); overflow-y: auto; }
:is([data-slot="tooltip-content"],[role="tooltip"],.tooltip) { font-size: var(--type-caption); line-height: var(--leading-body); white-space: normal; overflow-wrap: break-word; max-width: min(36rem,calc(100vw - 32px)); }
:is(.table-wrap,.table-scroll,.mr2-table-scroll,.qv-table-scroll,[data-slot="table-container"]) { overflow-x: auto; max-width: 100%; }
:is(.table-wrap,.table-scroll,.mr2-table-scroll,.qv-table-scroll,[data-slot="table-container"])>table { min-width: 760px; }
:is(.sheet-body,.drawer-body,.modal-body,.qv-detail,.mr2-detail-scroll) { min-width: 0; overflow-wrap: break-word; }
.komdir-side-group-trigger,.komdir-side-link,.komdir-side-subnav a,.komdir-side-footer button { font-size: var(--type-control); height: auto; min-height: 44px; white-space: normal; line-height: var(--leading-body); }
.komdir-workspace-bar { height: auto; min-height: 72px; padding-block: 12px; }
.komdir-workspace-context,.komdir-workspace-utilities { min-width: 0; flex-wrap: wrap; }
.komdir-workspace-title { white-space: normal; }
svg text:not([data-brand-text]) { font-family: var(--font-ui); font-size: var(--type-caption); font-weight: var(--weight-body); letter-spacing: normal; }
body :is(.badge,.chip,.mr2-chip,.qv-chip,.komdir-service-count) { min-height: 24px; height: auto; min-width: 1.6em; }
/* Key Zones: keep the dial, let its long labels occupy measured text containers. */
.zone-card { min-width: 0; height: auto; }
.zone-card h2 { font-size: var(--type-subheading); line-height: 1.2; }
.zone-card :is(.helper,.zone-figure,.badge) { font-size: var(--type-caption); line-height: var(--leading-body); white-space: normal; }
.zone-card .zone-figure { overflow-wrap: anywhere; }
.zone-card .zone-figure strong { font-weight: var(--weight-body); }
body .wheel-frame { margin-bottom: 110px; }
.funnel-stage { height: auto; min-height: 96px; padding-block: 14px; gap: 8px 12px; }
.funnel-stage :is(.stage-label,.stage-conv,.stage-delta) { font-size: var(--type-caption); line-height: 1.4; white-space: normal; }
.funnel-stage .stage-value { font-size: var(--type-section); line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
:is(.wide-card,.kpi,.metric-card,.qv-kpi,.mr2-kpi) { min-width: 0; height: auto; }
body .cards>.card { min-width: 0; }
body .big { white-space: normal; overflow-wrap: anywhere; }
body .owner-money-card>strong { white-space: normal; overflow-wrap: anywhere; }
body .qv-cycle-filters { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); }
:is(.wide-card,.kpi,.metric-card) :is(.title,.formula,.label) { white-space: normal; overflow: visible; text-overflow: clip; }
[id*="cpl"],[id*="cac"],.cpl,.cac { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
@media(max-width:900px) {
  body .wheel-frame { aspect-ratio: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0 12px 20px; margin-bottom: 34px; container-type: inline-size; }
  .wheel-frame>.wheel { position: relative; grid-column: 1/-1; width: 100%; height: auto; aspect-ratio: 1200/820; inset: auto; }
  body .wheel-center { top: 33.333cqw; }
  .wheel-frame .zone-card { position: static; width: auto !important; inset: auto; align-items: flex-start !important; text-align: left !important; min-height: 0; transform: none !important; }
  .zone-card .helper { display: block; }
}
@media(max-width:1100px) { .wide-metrics { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); } }
@media(max-width:767px) {
  :is(.mr2-filters,.qv-filters,.filters) { grid-template-columns: minmax(0,1fr); }
  .komdir-workspace-bar { align-items: flex-start; flex-wrap: wrap; }
  .komdir-workspace-utilities { margin-left: auto; }
  .funnel-stage { grid-template-columns: minmax(0,1fr) minmax(80px,auto); padding-inline: 11%; }
  .funnel-stage :is(.stage-conv,.stage-delta) { display: block; justify-self: start; }
  :is(.report-calendar-trigger,.select-button,[data-slot="select-trigger"]) { max-width: 100%; }
  :is(.mr2-dialog,.qv-modal,.qv-cycle-dialog) { width: calc(100vw - 24px); max-width: calc(100vw - 24px); }
  body .qv-cycle-table-panel .qv-table-scroll>table.qv-cycle-table { min-width: 0; max-width: 100%; }
  body .filters { display: grid; grid-template-columns: minmax(0,1fr); }
}
@media(max-width:600px) {
  body .heading-tools { width: 100%; flex-direction: column; align-items: stretch; gap: 10px; }
  body .heading-tools .demo-mark { max-width: 100%; width: 100%; }
  body .heading-tools .importance-toggle { justify-content: center; }
  body .circle-help { flex-wrap: wrap; gap: 12px; }
  body .circle-help button { flex-shrink: 0; }
  body .wheel-frame>.wheel { aspect-ratio: 1/1; }
  body .wheel-center { top: 50cqw; }
}
@media(max-width:480px) {
  body .wheel-frame { grid-template-columns: minmax(0,1fr); }
  body .cards { grid-template-columns: minmax(0,1fr); }
}
