html{background:#171b1a}html[data-theme="light"]{background:#eef1ee}body#bgp-sales{margin:12px;min-height:calc(100dvh - 24px);width:auto;font-family:Verdana,'Golos Text','Segoe UI',sans-serif;--row-space:15px}#bgp-sales[hidden],#bgp-sales [hidden]{display:none!important}#bgp-sales>.top{position:relative;height:auto;min-height:64px;padding:12px 24px;box-sizing:border-box;max-width:none;width:auto;margin:0;border-bottom:1px solid var(--line);background:var(--bg)}#bgp-sales .bi-app-mark{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;font-size:25px;font-weight:600;display:grid;place-items:center;text-decoration:none;color:var(--text)}#bgp-sales #page-title{font-size:13px;color:var(--secondary)}#bgp-sales #loaded-at{font-size:11px;color:var(--secondary)}#bgp-sales>.top .theme-controls{margin-left:0;gap:0;background:var(--surface);border-color:var(--line)}#bgp-sales>.top #admin-menu{margin-left:auto;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--secondary);font-size:13px;padding:8px}#bgp-sales>.top #admin-menu svg{width:17px;height:17px}#bgp-sales #navigation{display:none;position:absolute;right:150px;top:58px;z-index:20000;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:190px;box-shadow:0 12px 40px #0003}#bgp-sales #admin-menu[aria-expanded="true"]~#navigation{display:grid;gap:4px}#bgp-sales #navigation a{display:block;padding:8px;color:var(--text);text-decoration:none}#bgp-sales>main{max-width:none;width:100%;margin:0;padding:0;box-sizing:border-box}#bgp-sales #workspace{padding:0}#bgp-sales:has(#reports:not([hidden])) .section-heading,#bgp-sales:has(#sales-view:not([hidden])) .section-heading{display:none}#bgp-sales #workspace>.section-heading{padding:28px 32px 0}#bgp-sales #workspace>#message:empty{display:none}#bgp-sales :is(#agent-admin,#users,#plans,#directories,#integrations){padding:0 32px 28px}#bgp-sales .bgp-content{max-width:none;width:100%;box-sizing:border-box}#bgp-sales .bgp-bar-line{display:flex;align-items:center;position:relative}#bgp-sales .bgp-bar-label{position:absolute;left:-35px;font-size:10px;color:var(--secondary)}#bgp-sales .bgp-bars{padding-left:36px}#bgp-sales .bgp-seller-info{background:none;padding:0;border:0;text-align:left;color:var(--text)}#bgp-sales .bgp-bar-space{width:100%;height:12px}#bgp-sales .bgp-bar-stack{display:flex;height:100%}#bgp-sales .bgp-status.good{color:var(--good);background:var(--good-bg)}#bgp-sales .bgp-status.bad{color:var(--bad);background:var(--bad-bg)}#bgp-sales .bgp-status.warning{color:var(--warn);background:var(--warn-bg)}#bgp-sales .xmenu{overflow:auto}#bgp-sales .xmenu .xopt{display:flex;align-items:center;width:100%;gap:10px;padding:10px 12px;background:none;border:0;text-align:left;color:var(--text)}#bgp-sales .xmenu .xopt[aria-selected="true"]{background:var(--surface-hover)}#bgp-sales .xmenu .lbl{flex:1;white-space:nowrap}#bgp-sales .xmenu .bi-originator-option-total{white-space:nowrap;flex:0 0 auto}#bgp-sales .xmenu .xcheck{width:14px;flex:0 0 14px}#bgp-sales .source-line{padding:0}#bgp-sales .source-line svg{width:100%;height:100%;display:block;font-family:inherit;color:var(--secondary)}#bgp-sales .source-line svg text{fill:var(--secondary)}#bgp-sales .bi-native-tip{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 12px 40px #0004;box-sizing:border-box}#bgp-sales .bi-native-viewer{position:fixed;inset:0;z-index:25000;background:var(--bg);display:flex;flex-direction:column}#bgp-sales .bi-native-viewer .bgp-reel{flex:1;min-height:0}#bgp-sales .bi-native-viewer .bgp-slide{height:100%;display:flex;flex-direction:column;padding:0}#bgp-sales .bi-native-viewer .bgp-panel{flex:1;margin:0;border-radius:0;border:0;display:flex;flex-direction:column;min-height:0}#bgp-sales .bi-native-viewer .bgp-seller-list{flex:1;height:auto;min-height:0;overflow:auto}#bgp-sales .bi-native-viewer .bgp-viewer-close{margin-left:auto}#bgp-sales .bi-native-preview-empty{display:grid;place-items:center;height:170px;color:var(--secondary);font-size:12px}#bgp-sales .bi-general-settings{max-width:880px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:24px}#bgp-sales .bi-general-settings form{padding:0;background:none;border:0;margin:0}#bgp-sales .bi-general-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}#bgp-sales .bi-general-settings input{max-width:320px}#bgp-sales .bi-agent-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:20px}#bgp-sales .bi-agent-row,#bgp-sales .bi-agent-heading{display:grid;grid-template-columns:1fr 110px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);margin:0}#bgp-sales .bi-agent-row input{width:18px;height:18px;justify-self:center;accent-color:var(--actual)}#bgp-sales .bi-agent-heading{background:var(--surface);font-size:12px;color:var(--secondary)}#bgp-sales .bi-native-empty{padding:30px;color:var(--secondary)}#bgp-sales .bi-route-skeleton{position:relative}#bgp-sales #tile-size svg{width:17px;height:17px}#bgp-sales .bi-sales-unplanned input{width:30px;height:17px;appearance:none;border-radius:20px;position:relative;background:var(--line);border:0;margin:0;accent-color:var(--actual)}#bgp-sales .bi-sales-unplanned input:checked{background:var(--actual)}#bgp-sales .bi-sales-unplanned input:after{content:'';position:absolute;width:13px;height:13px;border-radius:50%;left:2px;top:2px;background:var(--bg)}#bgp-sales .bi-sales-unplanned input:checked:after{left:15px}
@media(min-width:1100px){#bgp-sales #sales-view>.bgp-content{height:calc(100dvh - 90px);padding:16px 24px 12px;display:flex;flex-direction:column;min-height:0}#bgp-sales #sales-view .bgp-charts-grid{flex:1;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}#bgp-sales #sales-view .bgp-panel{display:flex;flex-direction:column;min-height:0;margin-top:0}#bgp-sales #sales-view .source-line{flex:1;min-height:220px}#bgp-sales #sales-view .bgp-seller-list{flex:1;min-height:0;overflow:auto}#bgp-sales #sales-view .bgp-footer{flex:none}#bgp-sales #sales-view .bgp-kpis{flex:none;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1099px){body#bgp-sales{margin:0;border-radius:0;min-height:100dvh}#bgp-sales>.top{padding:12px 16px}#bgp-sales #loaded-at{display:none}}
@media(max-width:767px){#bgp-sales #admin-menu{display:none!important}#bgp-sales #page-title{display:block;font-size:13px}#bgp-sales>.top{flex-wrap:nowrap;gap:12px}#bgp-sales .theme-controls{margin-left:auto!important}#bgp-sales .bgp-catalog-head{display:none}#bgp-sales .bi-general-fields{grid-template-columns:1fr}#bgp-sales #workspace>.section-heading{padding:18px}#bgp-sales :is(#agent-admin,#users,#plans,#directories,#integrations){padding:0 18px 20px}}

#bgp-sales #sales-view>.bgp-content{margin:0!important;max-width:none!important}#bgp-sales .bi-financial-year-control{display:flex!important;flex-direction:row;gap:10px;align-items:center;margin:0}#bgp-sales .bi-financial-year-control .xsel{width:92px}#bgp-sales .bi-sales-unplanned{display:flex!important;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;padding:0;white-space:nowrap;color:var(--secondary);font-size:11px}#bgp-sales .bgp-seller-values{min-width:0}#bgp-sales .bgp-value-row{display:grid;grid-template-columns:58px 20px minmax(0,1fr);gap:8px}#bgp-sales .bgp-seller-row .bgp-status{white-space:nowrap;font-size:10px;width:auto;padding:3px 6px}#bgp-sales .bgp-seller-row{overflow:hidden}#bgp-sales .bgp-plot-footer{flex-wrap:wrap}#bgp-sales .bgp-content .source-line svg{min-height:0}

#bgp-sales .bi-project-map{display:flex;flex-direction:column;min-height:0;height:100%;position:relative}#bgp-sales .bi-project-map .bi-map-stage{flex:1;min-height:320px;height:100%}#bgp-sales .bi-native-viewer .bi-project-map .bi-map-stage{min-height:0}#bgp-sales .bi-pie-chart{width:100%;height:100%;display:block}#bgp-sales .bi-native-skeleton{padding:20px}#bgp-sales .bi-route-skeleton{position:relative;inset:auto;height:auto;width:100%;min-height:500px}#bgp-sales .source-details{font-size:12px}#bgp-sales .source-tabs button{font-size:12px}@media(max-width:767px){#bgp-sales #agent-admin,#bgp-sales .bi-general-settings{display:none!important}}

#bgp-sales .bi-general-preview{display:grid;place-items:center;min-height:160px;border:1px solid var(--line);border-radius:10px;margin:20px 0;background:var(--bg)}#bgp-sales .bi-general-preview svg{width:280px;max-width:100%}#bgp-sales .bi-general-actions{display:flex;gap:12px}#bgp-sales .bi-general-actions [type="submit"]{margin-left:auto}#bgp-sales .bi-native-viewer .bi-map-stage{min-height:0;height:100%}#bgp-sales .bi-native-viewer .bgp-seller-list:has(.bi-project-map){overflow:hidden}#bgp-sales .bi-only-desktop{display:none;padding:24px;color:var(--secondary)}@media(max-width:767px){#bgp-sales[data-route="agents"] .bi-only-desktop,#bgp-sales[data-route="general"] .bi-only-desktop{display:block}}

#bgp-sales .bgp-future{fill:var(--forecast)}#bgp-sales .bgp-asof{stroke:var(--secondary);stroke-width:1;stroke-dasharray:3 5;opacity:.55}

#bgp-sales .bi-native-viewer .source-line{flex:1;min-height:0}#bgp-sales .bgp-panel .bgp-bar-plan{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--plan) 50%,transparent) 4px 5px)}

#bgp-sales #desktop-caption{font-size:13px;color:var(--secondary)}#bgp-sales .bi-native-divider{height:22px;width:1px;background:var(--line)}@media(min-width:768px){#bgp-sales #page-title{display:none}}@media(max-width:767px){#bgp-sales #desktop-caption,#bgp-sales .bi-native-divider{display:none}}

#bgp-sales .bgp-expand{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;color:var(--secondary)}#bgp-sales .bgp-expand svg{display:block;width:18px;height:18px;flex:none}#bgp-sales .bi-sales-unplanned input{min-height:0;min-width:0;padding:0;box-sizing:border-box;flex:0 0 30px}#bgp-sales .bi-sales-unplanned input:before{display:none}#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row{grid-template-columns:minmax(0,1fr) 158px;column-gap:12px}#bgp-sales .bgp-seller-values .bgp-value-row{grid-template-columns:50px 18px minmax(0,1fr);gap:6px}#bgp-sales .bgp-seller-values .bgp-status{min-width:0;width:auto;justify-content:center}#bgp-sales .bgp-seller-details{grid-column:1/-1}#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-status{min-width:0;white-space:nowrap}#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-bar-label{display:none}@media(max-width:640px){#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row{grid-template-columns:minmax(0,1fr) 137px;column-gap:8px}#bgp-sales .bgp-seller-values .bgp-value-row{grid-template-columns:42px 16px minmax(0,1fr);gap:4px}#bgp-sales .bgp-seller-values .bgp-status{font-size:9px;padding-inline:3px}}

#bgp-sales .bgp-sellers-head .bgp-panel-tools>.bi-sales-unplanned{flex-direction:row}

#bgp-sales .xmenu .bi-originator-option-total{border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--actual) 4%,var(--surface));padding:4px 8px;font-size:12px;font-variant-numeric:tabular-nums}#bgp-sales .xmenu [aria-selected="true"] .bi-originator-option-total{border-color:var(--actual);color:var(--actual)}#bgp-sales .xmenu .bi-originator-option-total small{font-size:9px;color:var(--secondary)}#bgp-sales .xmenu .xsearch{margin:0;padding:12px;position:sticky;top:0;background:var(--surface);z-index:1}#bgp-sales .xmenu .xsearch input{min-height:0;padding:0}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row{grid-template-columns:235px minmax(0,1fr) 180px;column-gap:20px;padding:12px 18px}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-info{grid-column:1;grid-row:1}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars{grid-column:2;grid-row:1;padding-left:0}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-values{grid-column:3;grid-row:1}#bgp-sales .bi-native-viewer .bgp-status{min-width:0;justify-content:center}#bgp-sales .bi-native-viewer .bgp-value-row{grid-template-columns:58px 20px minmax(0,1fr)}#bgp-sales .bi-native-viewer .bgp-bar-label{display:none}#bgp-sales .bi-native-viewer .bgp-seller-values .bgp-amount{min-width:0}#bgp-sales .bi-native-viewer .bgp-row-head{display:none}#bgp-sales .bi-native-viewer .bgp-seller-details{grid-column:1/-1;grid-row:2}@media(max-width:767px){#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row{grid-template-columns:minmax(0,1fr) 137px;column-gap:8px;padding:10px 12px}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-info{grid-column:1/-1;grid-row:1}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars{grid-column:1;grid-row:2}#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-values{grid-column:2;grid-row:2}#bgp-sales .bi-native-viewer .bgp-seller-details{grid-row:3}}

@media(min-width:768px){#bgp-sales .bi-native-viewer .bgp-sellers-panel[data-row-view="full"] .bgp-row-head{display:grid;grid-template-columns:235px minmax(0,1fr) 180px;column-gap:20px;padding-inline:18px}#bgp-sales .bi-native-viewer .bgp-scale{display:flex;justify-content:space-between}}

#bgp-sales .bi-native-viewer{animation:none;opacity:1;transform:none}

#bgp-sales .bi-map-canvas{display:flex;flex-direction:column;flex:1;min-height:0}#bgp-sales .bi-map-adjustments{flex:none;max-height:180px;overflow:auto;border-top:1px solid var(--line);padding:12px;font-size:12px}#bgp-sales .bi-map-adjustments>strong{display:block;margin-bottom:8px}#bgp-sales .bi-map-adjustments button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left}#bgp-sales .bi-map-adjustments small{display:block;color:var(--secondary);font-size:10px}#bgp-sales .bi-map-adjustments button>strong{color:var(--bad);white-space:nowrap}

#bgp-sales[data-route="sales"] #tile-size,#bgp-sales[data-route="revenue"] #tile-size,#bgp-sales[data-route="debt"] #tile-size,#bgp-sales[data-route="events"] #tile-size{display:none!important}#bgp-sales .bi-chart-theme-controls{margin-left:auto}#bgp-sales .bi-chart-theme-controls+.bgp-viewer-close{margin-left:0}

#bgp-sales .bi-map-popover-head button{display:grid;place-items:center;padding:0;line-height:1}#bgp-sales .bi-map-popover-head button svg{display:block;width:14px;height:14px;margin:0;fill:none;stroke:currentColor;stroke-width:2}

#bgp-sales .bgp-dynamics-filter{flex-wrap:wrap}#bgp-sales .xsel-cfo{min-width:160px;max-width:280px}#bgp-sales .bi-cfo-plan-note{font-size:11px;color:var(--secondary);margin:0 0 10px}@media(max-width:767px){#bgp-sales[data-route="cfos"] .bi-only-desktop{display:block}#bgp-sales .xsel-cfo{max-width:none;flex:1;min-width:0}}

.xsel-map-group{min-width:180px;max-width:270px}.xsel-map-group .xmenu{min-width:300px}.bi-map-projects table{width:100%;border-collapse:collapse}.bi-map-projects th,.bi-map-projects td{padding:8px 3px;text-align:left;border-bottom:1px solid var(--line)}.bi-map-projects td:last-child{white-space:nowrap;text-align:right}.bi-map-projects td small{display:block;opacity:.7}

.bi-negative-scroll{overflow:auto;max-height:65vh}.bi-negative-scroll table{border-collapse:collapse;width:100%;min-width:1100px}.bi-negative-scroll th,.bi-negative-scroll td{padding:10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.bi-negative-scroll th{position:sticky;top:0;background:var(--surface,#fff)}.bi-negative-sales select{min-width:100px}

/* One trigger size for all selectors in a chart toolbar (sort/view/grouping). */
#bgp-sales .bgp-panel-tools .xsel .xsel-t{box-sizing:border-box;height:30px;min-height:30px;font-size:13px;line-height:1.4;padding:0 8px;gap:6px}
#bgp-sales .bgp-panel-tools .xsel .xchev{width:12px;height:12px}
@media(max-width:768px){#bgp-sales .bgp-panel-tools .xsel .xsel-t{height:38px;min-height:38px;font-size:16px}}

/* Search labels must not inherit the vertical layout of ordinary form labels. */
#bgp-sales .xsearch{flex-direction:row;flex-wrap:nowrap;align-items:center}
#bgp-sales .xsearch svg{display:block;flex:0 0 14px;align-self:center;width:14px;height:14px}
#bgp-sales .xsearch input{flex:1 1 auto;width:auto;min-width:0;margin:0}

#bgp-sales .bi-financial-year-control{flex-wrap:wrap!important;max-width:100%;gap:12px!important}#bgp-sales .bi-financial-year-control .bgp-dynamics-filter{margin:0;padding:0;flex-wrap:wrap;gap:8px}#bgp-sales .bi-financial-year-control .xsel-originator,#bgp-sales .bi-financial-year-control .xsel-cfo{width:210px;max-width:100%}

#bgp-sales .bi-native-viewer .bgp-viewer-head{flex-wrap:wrap}#bgp-sales .bi-native-viewer .bi-financial-year-control{flex:1 1 420px;min-width:0}

/* Real financial mini previews share the report's dates and series colours. */
#bgp-sales .bi-mini-legend{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--secondary);font-size:10px;margin:8px 0 4px}
#bgp-sales .bi-mini-legend>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
#bgp-sales .bi-mini-legend i{width:14px;border-top:2px solid var(--actual)}
#bgp-sales .bi-mini-legend i.plan{border-color:var(--plan);border-top-style:dashed}
#bgp-sales .bi-mini-legend i.rr{border-color:var(--rr);border-top-style:dotted}

#bgp-sales .bi-month-guide{stroke:var(--text);stroke-width:1;stroke-dasharray:3 4;opacity:.5}
#bgp-sales .bi-dynamics-tooltip>.bi-tip-period{display:inline-block;max-width:100%;box-sizing:border-box;padding:4px 8px;margin:0 0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-hover);color:var(--text);font-size:11px;line-height:1.4;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.bi-revenue-notice{margin:16px 0;font-size:12px;line-height:1.5}.bgp-seller-legend span:has(.bi-revenue-plan-dot),.bgp-seller-legend span:has(.bi-revenue-fact-dot),.bgp-seller-legend span:has(.bi-revenue-plan-line){display:inline-flex;align-items:center;gap:8px;margin-right:16px;font-size:12px;font-weight:400}.bi-revenue-plan-dot,.bi-revenue-fact-dot{display:inline-block;width:13px;height:13px;border-radius:3px;flex:none}.bi-revenue-plan-dot{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--sales-plan) 3px 4px)}.bi-revenue-fact-dot{background:var(--sales-fact)}

/* Mobile reports use document scrolling; chart viewers scroll independently. */
@media(max-width:1099px){
 html:has(#bgp-sales){overflow-y:auto;scrollbar-gutter:auto}
 body#bgp-sales{margin:0;padding:0!important;min-height:100dvh;height:auto;overflow:visible;width:100%!important;max-width:none!important;border-radius:0}
 #bgp-sales>.top{padding:10px 12px;min-height:56px;gap:10px}
 #bgp-sales #workspace,#bgp-sales #sales-view{min-width:0;width:100%!important;max-width:none!important;height:auto;overflow:visible;padding:0!important;margin:0!important}
 #bgp-sales>main{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
 #bgp-sales .bgp-page-head>div:first-child{display:block!important;width:100%}
 #bgp-sales #sales-view>.bgp-content{padding:14px 8px 20px!important;height:auto;min-width:0;overflow:visible}
 #bgp-sales .bgp-page-head{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}
 #bgp-sales .bgp-period{order:-1;padding:0;align-self:flex-start}
 #bgp-sales .bgp-period strong{max-width:none;text-align:left}
 #bgp-sales .bi-financial-title-row{display:flex!important;flex-wrap:wrap;gap:8px;min-width:0}
 #bgp-sales .bi-financial-year-control{display:grid!important;grid-template-columns:34px 92px minmax(0,1fr);gap:6px 8px!important;width:100%!important;min-width:0;justify-self:stretch}
 #bgp-sales .bi-financial-year-control>.bgp-dynamics-filter{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;width:100%;min-width:0}
 #bgp-sales .bgp-dynamics-filter>span:first-child{grid-column:1;grid-row:1}
 #bgp-sales .bgp-dynamics-filter>.xsel-originator{grid-column:1;grid-row:2}
 #bgp-sales .bgp-dynamics-filter>span:nth-child(3){grid-column:2;grid-row:1}
 #bgp-sales .bgp-dynamics-filter>.xsel-cfo{grid-column:2;grid-row:2}
 #bgp-sales .bi-financial-year-control .xsel-originator,#bgp-sales .bi-financial-year-control .xsel-cfo{width:100%!important;min-width:0;max-width:none!important}
 #bgp-sales .xsel-t{min-height:38px;box-sizing:border-box}
 #bgp-sales .bgp-kpis{gap:8px;margin-bottom:12px}
 #bgp-sales .bgp-kpi{padding:12px 10px;min-height:110px}
 #bgp-sales .bgp-kpi-value{font-size:25px;margin-top:8px}
 #bgp-sales .bgp-kpi-label{font-size:11px;line-height:1.4}
 #bgp-sales .bgp-kpi-bottom{font-size:10px;margin-top:6px}
 #bgp-sales .bgp-charts-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
 #bgp-sales .bgp-panel{min-width:0;margin:0;width:100%;box-sizing:border-box}
 #bgp-sales .bgp-panel-head,#bgp-sales .bgp-sellers-head{padding:12px 10px;gap:8px;flex-wrap:wrap}
 #bgp-sales .bgp-panel-head>div:first-child{flex:1;min-width:0}
 #bgp-sales .bgp-panel h2{font-size:16px}
 #bgp-sales .bgp-legend{padding:8px 10px;gap:8px 12px;flex-wrap:wrap}
 #bgp-sales .bgp-plot-wrap.source-line{margin:4px 2px 0!important;width:auto;height:350px;min-height:0;touch-action:pan-y pinch-zoom}
 #bgp-sales .source-line svg{touch-action:pan-y pinch-zoom}
 #bgp-sales .bgp-panel-tools{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;min-width:0}
 #bgp-sales .bgp-sellers-head>.bgp-panel-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 32px 32px}
 #bgp-sales .bgp-panel-tools .xsel{width:auto!important;min-width:0;max-width:100%;flex:1}
 #bgp-sales .bgp-panel-tools .xsel-map-group{grid-column:1/3}
 #bgp-sales .bgp-panel-tools .bi-sales-unplanned{grid-column:1/-1;justify-self:end}
 #bgp-sales .bgp-plot-footer{padding:10px;gap:8px}
 #bgp-sales .bi-native-viewer{height:100dvh;overflow:hidden;overscroll-behavior:auto}
 #bgp-sales .bi-native-viewer .bgp-viewer-head{flex:none;display:grid;grid-template-columns:36px minmax(0,1fr) auto 36px;gap:6px;padding:8px;min-height:0;box-sizing:border-box}
 #bgp-sales .bi-native-viewer .bi-app-mark{width:34px;height:34px;font-size:23px}
 #bgp-sales .bi-native-viewer .bi-financial-year-control{grid-column:1/-1;grid-row:2;flex:none}
 #bgp-sales .bi-native-viewer .bi-chart-theme-controls{grid-column:3;grid-row:1}
 #bgp-sales .bi-native-viewer .bgp-viewer-close{grid-column:4;grid-row:1;width:34px;height:34px;padding:6px;display:grid;place-items:center;margin:0}
 #bgp-sales .bi-native-viewer .bgp-reel{overflow-y:auto;overflow-x:hidden;touch-action:pan-y pinch-zoom;min-height:0;overscroll-behavior-y:contain}
 #bgp-sales .bi-native-viewer .bgp-slide{height:auto;min-height:100%}
 #bgp-sales .bi-native-viewer .bgp-panel{height:auto;min-height:100%;flex:none;overflow:visible}
 #bgp-sales .bi-native-viewer .source-line{flex:none;height:clamp(240px,48dvh,480px);min-height:0;margin-inline:2px!important}
 #bgp-sales .bi-native-viewer .bgp-seller-list{flex:none;min-height:300px;max-height:none;overflow:visible}
 #bgp-sales .bi-native-viewer .bi-map-stage{height:480px;min-height:300px}
 #bgp-sales .bi-native-viewer .bgp-legend{padding:6px 10px}
 #bgp-sales .bgp-footer,#bgp-sales .bgp-footnote{padding-inline:8px}
}

#bgp-sales .xsel-pie-group{width:192px;min-width:0;max-width:100%}
#bgp-sales .bi-pie-project-list{max-height:260px;overflow:auto;font-size:12px}
#bgp-sales .bi-pie-project-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
#bgp-sales .bi-pie-project-list small{display:block;color:var(--secondary);margin-top:3px}
#bgp-sales .bi-pie-project-list strong{white-space:nowrap;font-weight:500}
@media(max-width:1099px){#bgp-sales .bgp-sellers-head>.bgp-panel-tools:not(:has(.xsel-pie-group,.xsel-sort))>.xsel-financial-view{grid-column:1/3}}

#bgp-sales .bgp-seller-footer{gap:12px;flex-wrap:wrap}
#bgp-sales .bi-all-originators{margin-right:auto;min-height:34px;padding:8px 14px}
#bgp-sales .bi-all-fact-row{display:grid;grid-template-columns:190px minmax(90px,1fr) minmax(300px,1fr);gap:16px;align-items:center;padding:14px 12px;border-bottom:1px solid var(--line);font-size:12px}
#bgp-sales .bi-all-fact-name{font-weight:500;overflow-wrap:anywhere}
#bgp-sales .bi-all-fact-track{height:12px;background:var(--track);border-radius:2px;overflow:hidden}
#bgp-sales .bi-all-fact-stack{display:flex;height:100%;cursor:pointer;min-width:0}
#bgp-sales .bi-all-fact-own{background:var(--actual)}
#bgp-sales .bi-all-fact-other{background:var(--other)}
#bgp-sales .bi-all-fact-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#bgp-sales .bi-all-fact-numbers span{color:var(--secondary);font-size:10px;min-width:0}
#bgp-sales .bi-all-fact-numbers strong{display:block;color:var(--text);font-weight:500;font-size:12px;margin-top:4px}
#bgp-sales .bi-all-fact-note{padding:10px 12px;color:var(--secondary);font-size:11px}
@media(max-width:1099px){#bgp-sales .bi-all-fact-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 10px}#bgp-sales .bi-all-fact-numbers{gap:8px}#bgp-sales .bi-all-originators{margin-right:0}#bgp-sales .bi-all-fact-numbers strong{font-size:11px}}

/* The prototype was a clipped widget; the native app is the scrolling document.
   Lock the background only while an actual modal surface exists. */
html:has(>body#bgp-sales){height:auto;min-height:100%;overflow-y:auto;overflow-x:clip}
body#bgp-sales{height:auto;overflow:visible}
html:has(>body#bgp-sales .bi-native-viewer),html:has(>body#bgp-sales dialog[open]){overflow-y:hidden}

/* Normal report containers pass boundary scrolling to the document. Portal menus
   and fullscreen/modal containers keep their own scroll boundary. */
#bgp-sales #workspace :is(.bgp-seller-list,.bi-financial-pie,.source-bars,.bgp-chart-scroll){overscroll-behavior-y:auto}

/* User-scoped favourites: separate hit targets, wrapping labels and viewport-safe portal. */
#bgp-sales .bi-picker-menu{min-width:0;overflow-x:hidden;box-sizing:border-box}
#bgp-sales .bi-picker-option{display:flex;align-items:center;gap:4px;min-width:0}
#bgp-sales .bi-picker-option[hidden]{display:none}
#bgp-sales .bi-picker-option .xopt{flex:1;min-width:0;width:auto;white-space:normal}
#bgp-sales .bi-picker-option .lbl{min-width:0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
#bgp-sales .bi-picker-option .xcheck{flex-shrink:0}
#bgp-sales .bi-picker-star{flex:0 0 36px;width:36px;height:36px;padding:8px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--secondary);cursor:pointer}
#bgp-sales .bi-picker-star svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
#bgp-sales .bi-picker-star[aria-pressed=true]{color:var(--actual)}
#bgp-sales .bi-picker-star[aria-pressed=true] svg{fill:currentColor}
#bgp-sales .bi-picker-star:hover,#bgp-sales .bi-picker-star:focus-visible{background:var(--line)}
#bgp-sales .bi-picker-menu .bi-originator-option-total{flex-shrink:0}
@media(max-width:480px){#bgp-sales .bi-picker-star{flex-basis:40px;width:40px;height:40px}#bgp-sales .bi-picker-option .xopt{gap:6px;padding:10px 8px}#bgp-sales .bi-picker-menu .bi-originator-option-total{padding:4px;font-size:11px}}

/* Facts-only rows use the same 24px content line and 4px vertical spacing as compact rows. */
#bgp-sales .bi-all-fact-row{grid-template-columns:minmax(118px,190px) minmax(90px,1fr) minmax(300px,1fr);gap:12px;padding:4px 18px;min-height:24px;line-height:24px}
#bgp-sales .bi-all-fact-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}
#bgp-sales .bi-all-fact-numbers{gap:10px;align-items:center;line-height:24px}
#bgp-sales .bi-all-fact-numbers span{display:block;white-space:nowrap;line-height:12px}
#bgp-sales .bi-all-fact-numbers strong{display:block;margin-top:0;line-height:12px}
@media(max-width:1099px) and (min-width:641px){#bgp-sales .bi-all-fact-row{grid-template-columns:minmax(90px,118px) minmax(70px,1fr) minmax(290px,1fr);gap:8px}#bgp-sales .bi-all-fact-numbers{gap:6px}}
@media(max-width:640px){#bgp-sales .bi-all-fact-row{grid-template-columns:minmax(0,1fr);padding:4px 10px;gap:3px;line-height:20px}#bgp-sales .bi-all-fact-name{line-height:20px}#bgp-sales .bi-all-fact-numbers{gap:6px;line-height:20px}#bgp-sales .bi-all-fact-numbers span{display:block;white-space:normal;line-height:16px}#bgp-sales .bi-all-fact-numbers strong{display:block;line-height:18px}}

/* Facts-only mode has no selectors; its remaining chart actions stay beside the title. */
@media(max-width:1099px){
 #bgp-sales .bgp-sellers-panel:has(.bi-all-fact-row) .bgp-sellers-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
 #bgp-sales .bgp-sellers-panel:has(.bi-all-fact-row) .bgp-sellers-head>div:first-child{min-width:0}
 #bgp-sales .bgp-sellers-panel:has(.bi-all-fact-row) .bgp-sellers-head>.bgp-panel-tools{width:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;grid-column:2;grid-row:1;align-self:start}
 #bgp-sales .bgp-sellers-panel:has(.bi-all-fact-row) .bgp-sellers-head h2{overflow-wrap:anywhere}
}

@media(max-width:1099px){#bgp-sales .bgp-sellers-panel:has(.bi-all-fact-row) .bgp-sellers-head>.bgp-panel-tools>.bgp-expand{position:static;margin:0;flex:none}}

@media(max-width:640px){
 #bgp-sales .bgp-sellers-panel[data-row-view=compact] .bi-compact-completion>.bgp-progress-kind:first-child{display:none}
 #bgp-sales .bi-mobile-seller-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 10px;min-width:0}
 #bgp-sales .bi-mobile-seller-meta .bi-sales-unplanned{flex:none;font-size:9px;gap:4px}
 #bgp-sales .bi-mobile-seller-meta .bgp-seller-legend{flex:1;min-width:0;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;padding:0;margin:0}
 #bgp-sales .bi-mobile-seller-meta .bgp-legend-item{font-size:8px;gap:3px;white-space:nowrap}
 #bgp-sales .bi-mobile-seller-meta .bgp-block-swatch{width:9px;height:9px;flex:none}
 #bgp-sales .bi-mobile-seller-meta .bi-legend-info{width:10px;height:10px;flex:none}
}

/* Shared readable action colors in all four themes; do not fade actionable text. */
#bgp-sales{--button-primary-bg:var(--actual);--button-on-primary:#171b1c;--button-secondary-ink:var(--secondary)}
#bgp-sales .login-panel button[type=submit]{background:var(--button-primary-bg);color:var(--button-on-primary)}
#bgp-sales button:disabled{opacity:1!important;cursor:not-allowed}
#bgp-sales button.bgp-legend-item[aria-pressed=false]{opacity:1;color:var(--button-secondary-ink)}
#bgp-sales button .bgp-seller-index,#bgp-sales .bgp-report-card .bgp-preview-months{color:var(--button-secondary-ink)}

#bgp-sales[data-theme^="light"]{--button-on-primary:#ffffff}

/* Low emphasis must remain legible inside actionable surfaces in every theme. */
#bgp-sales button .bgp-seller-index,#bgp-sales button .bgp-preview-months{color:var(--secondary)}
#bgp-sales button:disabled{opacity:1;cursor:not-allowed}
#bgp-sales button.bgp-legend-item[aria-pressed="false"]{opacity:1;color:var(--secondary)}
#bgp-sales .login-panel button[type=submit]{background:var(--actual);color:var(--bg)}

#bgp-sales .login-panel button[type=submit]{background:var(--button-primary-bg);color:var(--button-on-primary)}

/* Keep mobile chart footer actions level; the count owns a separate line. */
@media(max-width:640px){
 #bgp-sales .bgp-seller-footer:has([data-all-originators]){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 10px}
 #bgp-sales .bgp-seller-footer:has([data-all-originators])>span{grid-column:1/-1}
 #bgp-sales .bgp-seller-footer [data-all-originators]{grid-column:1;justify-self:start;min-width:0;max-width:100%;margin:0;padding:8px 10px;font-size:11px;line-height:1.35;white-space:normal;min-height:36px}
 #bgp-sales .bgp-seller-footer:has([data-all-originators])>.bi-financial-details{grid-column:2;justify-self:end;align-self:center;margin:0;padding:8px 10px;font-size:11px;min-height:36px;white-space:nowrap}
}

/* Financial detail controls and a bounded hierarchy with conserved RUB columns. */
#bgp-sales .bi-detail-report{min-width:0;padding:16px 18px}
#bgp-sales .bi-detail-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
#bgp-sales .bi-detail-heading h2{margin:0;font-size:20px}
#bgp-sales .bi-detail-heading>span{flex-basis:100%;color:var(--secondary);overflow-wrap:anywhere}
#bgp-sales .bi-detail-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:18px}
#bgp-sales .bi-detail-field{display:grid;gap:6px;min-width:0;flex:0 1 240px}
#bgp-sales .bi-detail-field:first-child{flex-basis:90px}
#bgp-sales .bi-detail-field>span{font-size:12px;color:var(--secondary)}
/* task 363: «карточка ↗» next to the CFO filter's label (one CFO chosen) and «ЦФО» of a line open the CFO card */
#bgp-sales .bi-detail-field>.bi-detail-cfo-label{display:flex;align-items:baseline;gap:8px;min-width:0}
#bgp-sales .bi-detail-cfo-open{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#bgp-sales .bi-detail-cfo-open[hidden]{display:none}
#bgp-sales .bi-detail-cfo-open:hover,#bgp-sales .bi-detail-cfo-link:hover{color:var(--text)}
#bgp-sales .bi-detail-cfo-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
#bgp-sales .bi-detail-field .xsel,#bgp-sales .bi-detail-field .xsel-t{width:100%;min-width:0}
#bgp-sales .bi-detail-field input{width:100%;min-width:0;box-sizing:border-box;padding:10px}
#bgp-sales .bi-detail-group{margin-left:auto;flex-basis:210px}
#bgp-sales .bi-detail-summary{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:16px}
#bgp-sales .bi-detail-summary>span{display:grid;gap:4px;font-size:12px;color:var(--secondary)}
#bgp-sales .bi-detail-summary strong{font-size:18px;color:var(--text)}
#bgp-sales .bi-detail-grid{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}
#bgp-sales .bi-detail-grid-head,#bgp-sales .bi-detail-grid-row{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(100px,140px));align-items:center;min-width:590px;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
#bgp-sales .bi-detail-grid-head{background:var(--surface);font-size:12px;font-weight:600}
#bgp-sales .bi-detail-grid-row{font-size:13px}
#bgp-sales .bi-detail-grid-head>span:not(:first-child),#bgp-sales .bi-detail-grid-row>span{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#bgp-sales .bi-detail-drill{display:flex;align-items:flex-start;gap:8px;width:100%;padding:4px 0 4px calc(var(--detail-level)*14px);border:0;background:transparent;text-align:left;line-height:1.4;overflow-wrap:anywhere}
#bgp-sales .bi-detail-drill>span:first-child{flex:none;min-width:16px;color:var(--secondary)}
#bgp-sales .bi-detail-drill>span:last-child{min-width:0}
#bgp-sales .bi-detail-children[hidden]{display:none}
#bgp-sales .bi-detail-audit{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--secondary)}
#bgp-sales .bi-detail-more{margin:10px 14px}
#bgp-sales .bi-detail-note{margin:14px 0 10px;line-height:1.5}
@media(max-width:640px){
 #bgp-sales .bi-detail-report{padding:12px 10px}
 #bgp-sales .bi-detail-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #bgp-sales .bi-detail-group{margin-left:0;grid-column:1/-1}
 #bgp-sales .bi-detail-heading h2{font-size:18px}
 #bgp-sales .bi-detail-summary{gap:12px}
 #bgp-sales .bi-detail-summary strong{font-size:14px}
 #bgp-sales .bi-detail-grid-head,#bgp-sales .bi-detail-grid-row{grid-template-columns:minmax(220px,1fr) repeat(3,95px);min-width:550px;padding:8px 10px;gap:8px;font-size:11px}
 #bgp-sales .bi-detail-note{font-size:11px}
}

#bgp-sales .bi-detail-heading>button,#bgp-sales .bi-detail-more{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:36px}
#bgp-sales .bi-detail-heading>button:hover,#bgp-sales .bi-detail-more:hover{background:var(--surface-hover)}
#bgp-sales .bi-detail-heading>button:focus-visible,#bgp-sales .bi-detail-drill:focus-visible,#bgp-sales .bi-detail-more:focus-visible{outline:2px solid var(--actual);outline-offset:2px}
/* Task 299 (owner 22.10.2026): «область + − для раскрытия сделай чуть больше, с мобильника плохо работает; строчку с данными (не группами)
   сделай другим цветом, учти наши темы». The +/− is a box (bigger on a phone / touch screen) and the whole row opens it; a line of the
   file and its open block are tinted with the theme accent (8% over the surface, a 3px accent stripe — text contrast ≥ 4.5 in all 4 themes). */
#bgp-sales .bi-detail-drill>span:first-child{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;min-width:22px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600;line-height:1}
#bgp-sales [data-detail-nodes] .bi-detail-grid-row,#bgp-sales [data-expense-nodes] .bi-detail-grid-row{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#bgp-sales [data-detail-nodes] .bi-detail-grid-row:hover,#bgp-sales [data-expense-nodes] .bi-detail-grid-row:hover{background:var(--surface-hover)}
#bgp-sales .bi-detail-grid-row.bi-detail-leaf,#bgp-sales .bi-detail-leaf+.bi-detail-audit{background:color-mix(in srgb,var(--actual) 8%,var(--surface));box-shadow:inset 3px 0 var(--actual)}
#bgp-sales [data-detail-nodes] .bi-detail-grid-row.bi-detail-leaf:hover,#bgp-sales [data-expense-nodes] .bi-detail-grid-row.bi-detail-leaf:hover{background:color-mix(in srgb,var(--actual) 10%,var(--surface))}
#bgp-sales .bi-detail-leaf+.bi-detail-audit strong{color:var(--text)}
#bgp-sales .bi-detail-audit{min-width:590px}  /* the tint reaches the end of a scrolled grid, like the rows */
#bgp-sales .bi-detail-grid-expenses .bi-detail-audit{min-width:460px}
#bgp-sales .bi-detail-grid-together .bi-detail-audit{min-width:880px}
@media(max-width:700px){#bgp-sales .bi-detail-grid-expenses .bi-detail-audit{min-width:380px}#bgp-sales .bi-detail-grid-together .bi-detail-audit{min-width:800px}}
@media(max-width:640px){#bgp-sales .bi-detail-grid:not(.bi-detail-grid-expenses):not(.bi-detail-grid-together) .bi-detail-audit{min-width:550px}}
@media(max-width:640px),(pointer:coarse){#bgp-sales .bi-detail-drill>span:first-child{width:30px;height:30px;min-width:30px;font-size:18px}#bgp-sales .bi-detail-drill{align-items:center;min-height:38px}}
#bgp-sales .bi-detail-note{color:var(--secondary);opacity:1}

/* Leave the mobile fullscreen action clear of the visible report total. */
@media(max-width:1099px){#bgp-sales .bgp-sellers-head>[data-financial-header-total]{margin-right:44px;max-width:calc(100% - 44px);grid-column:1/-1;justify-self:start}}

/* Sales picker scope sits beside search; the label contains only its input. */
#bgp-sales .bi-originator-search-header{display:flex;align-items:center;gap:10px;padding:8px 12px;position:sticky;top:0;background:var(--surface);z-index:2;border-bottom:1px solid var(--line)}
#bgp-sales .xmenu .bi-originator-search-header .xsearch{flex:1 1 0;min-width:0;position:static;padding:0;border:0;background:transparent}
#bgp-sales .bi-originator-plan-pill{display:flex;flex:0 0 auto;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
#bgp-sales .bi-originator-plan-pill button{min-width:52px;min-height:32px;padding:4px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);white-space:nowrap;font-size:12px;line-height:1.2}
#bgp-sales .bi-originator-plan-pill button[aria-pressed="true"]{background:var(--button-primary-bg);color:var(--button-on-primary)}
#bgp-sales .bi-originator-plan-pill button:focus-visible{outline:2px solid var(--actual);outline-offset:2px}
@media(max-width:640px){#bgp-sales .bi-originator-plan-pill button{min-height:38px;padding:4px 8px}}

/* Detail trees grow beyond a viewport; their rows must remain within the body. */
body#bgp-sales:has(#sales-view .bi-detail-report,#sales-view .source-details,#sales-view .bi-revenue-detail-page){height:auto;display:block;min-height:calc(100dvh - 24px)}
@media(max-width:1099px){body#bgp-sales:has(#sales-view .bi-detail-report,#sales-view .source-details,#sales-view .bi-revenue-detail-page){min-height:100dvh}}

#bgp-sales .bi-detail-grouping-panel{margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
#bgp-sales .bi-detail-grouping-top,#bgp-sales .bi-detail-tree-actions,#bgp-sales .bi-detail-grouping-fields{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#bgp-sales .bi-detail-grouping-top{justify-content:space-between;margin-bottom:10px}
#bgp-sales .bi-detail-preset{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--secondary)}
#bgp-sales .bi-detail-preset .xsel{width:260px;max-width:100%}
#bgp-sales .bi-detail-grouping-chip{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--bg);gap:2px;padding:3px}
#bgp-sales .bi-detail-grouping-chip label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--text);width:auto;cursor:pointer}
#bgp-sales .bi-detail-grouping-chip input{width:14px;height:14px;margin:0;accent-color:var(--actual)}
#bgp-sales .bi-detail-grouping-chip button{padding:4px 4px;border:0;background:transparent;color:var(--text);min-height:30px}
#bgp-sales .bi-detail-grouping-chip .bi-detail-drag{cursor:grab;touch-action:none;font-size:18px}
#bgp-sales .bi-detail-grouping-chip.dragging{outline:2px solid var(--actual)}
#bgp-sales .bi-detail-tree-actions button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font-size:12px}
#bgp-sales [data-expand-status]{font-size:11px;color:var(--secondary)}
@media(max-width:640px){#bgp-sales .bi-detail-preset{width:100%;flex-wrap:wrap}#bgp-sales .bi-detail-preset .xsel{flex:1;min-width:0}#bgp-sales .bi-detail-grouping-chip button{min-height:36px}}

#bgp-sales .bi-detail-grouping-chip.drop-target{border-color:var(--actual);box-shadow:inset 3px 0 var(--actual)}

/* Excel export is desktop-only; hide controls and status in mobile portals too. */
@media(max-width:767px){#bgp-sales [data-excel-export],#bgp-sales [data-excel-export]+span[role="status"]{display:none!important}}

/* Task 197: denser report pickers — more options fit; amount badges in one column (rows without a star keep its slot). */
#bgp-sales .bi-picker-menu .bi-picker-option .xopt{padding:4px 8px;min-height:32px;gap:8px}
#bgp-sales .bi-picker-menu .bi-picker-star{height:30px;padding:4px}
#bgp-sales .bi-picker-menu .bi-picker-option:not(:has(.bi-picker-star))::after{content:"";flex:0 0 36px}
#bgp-sales .bi-picker-menu .xopt .bi-originator-option-total{min-width:88px;box-sizing:border-box;text-align:right;padding:3px 8px}
@media(max-width:480px){#bgp-sales .bi-picker-menu .bi-picker-option:not(:has(.bi-picker-star))::after{flex-basis:40px}}
/* Task 197: «Все ориджинаторы» — column headers; the name opens the row with «Детали». */
#bgp-sales .bi-all-fact-head{position:sticky;top:0;z-index:1;background:var(--surface);min-height:0;padding-top:6px;padding-bottom:6px}
#bgp-sales .bi-all-fact-head .bi-all-fact-numbers span{font-size:11px;color:var(--secondary);font-weight:500}
#bgp-sales button.bi-all-fact-name{display:flex;align-items:center;gap:4px;min-width:0;padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:500;text-align:left;cursor:pointer}
#bgp-sales button.bi-all-fact-name .bgp-name-chevron{flex:none;transition:transform 140ms}
#bgp-sales button.bi-all-fact-name[aria-expanded=true] .bgp-name-chevron{transform:rotate(90deg)}
#bgp-sales .bi-all-fact-details{grid-column:1/-1;display:flex;justify-content:flex-end;padding:2px 0 6px}
#bgp-sales .bi-all-fact-details[hidden]{display:none}
#bgp-sales .bi-all-fact-details .bi-financial-details{min-height:0;padding:3px 10px;line-height:18px;font-size:12px}

/* Task 202: originator picker — the selected row is highlighted across its full width; person badges are narrower than «Все». */
#bgp-sales .bi-picker-menu .bi-picker-option:has(>.xopt[aria-selected="true"]){background:var(--surface-hover);border-radius:8px}
#bgp-sales .bi-picker-menu .bi-picker-option>.xopt[aria-selected="true"]{background:transparent}
#bgp-sales .bi-picker-menu .bi-picker-option:not([data-option-value=""]) .xopt .bi-originator-option-total{min-width:66px}
/* Task 202: compact view — one header row «Факт, млн / Год / RR» instead of labels in every row. */
#bgp-sales .bgp-seller-row.bi-compact-head{position:sticky;top:0;z-index:2;background:var(--surface);min-height:0;padding-top:6px;padding-bottom:6px;cursor:default;pointer-events:none}
#bgp-sales .bi-compact-head .bi-compact-fact-amount,#bgp-sales .bi-compact-head .bi-compact-head-label{color:var(--secondary);font-size:11px;font-weight:500;background:none;border-color:transparent;box-shadow:none}

/* Task 203: negative totals excluded from the pie and the project map are listed under them. */
#bgp-sales .bi-pie-excluded,#bgp-sales .bi-map-excluded{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:12px}
#bgp-sales .bi-pie-excluded .bi-excluded-title,#bgp-sales .bi-map-excluded .bi-excluded-title{font-weight:600;margin-bottom:2px}
#bgp-sales .bi-pie-excluded>div,#bgp-sales .bi-map-excluded>div{display:flex;justify-content:space-between;gap:12px}
#bgp-sales .bi-pie-excluded small,#bgp-sales .bi-map-excluded small{display:block;color:var(--secondary)}
#bgp-sales .bi-pie-excluded>div>strong,#bgp-sales .bi-map-excluded>div>strong{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Task 204: originator photos (or the initial) in the sales picker. */
#bgp-sales .bi-picker-avatar{position:relative;flex:none;width:26px;height:26px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:var(--surface-hover);color:var(--secondary);font-size:11px;font-weight:600;line-height:1}
#bgp-sales .bi-picker-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Task 204: «Без плана» sits in the top filters next to «ЦФО». */
#bgp-sales .bi-sales-unplanned-top{display:inline-flex!important;align-items:center;gap:8px;margin:0 0 0 6px;padding:0 4px;white-space:nowrap;flex:none;font-size:12px}

/* Task 205: photos in «Продажи по ориджинаторам». Full: the photo replaces the «План/Факт» labels; compact: before the surname. */
#bgp-sales .bi-row-photo{position:relative;flex:none;width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:var(--surface-hover);color:var(--secondary);font-size:11px;font-weight:600;line-height:1}
#bgp-sales .bi-row-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#bgp-sales .bi-row-photo .bi-bgp-mark{display:grid;place-items:center;width:100%;height:100%;background:#51c1b5;color:#0f1d1b;font-size:8px;font-weight:600;letter-spacing:.02em}
#bgp-sales .bgp-bars>.bi-row-photo{position:absolute;left:0;top:50%;transform:translateY(-50%)}
#bgp-sales .bgp-bars:has(>.bi-row-photo) .bgp-bar-label{display:none}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars:has(>.bi-row-photo){padding-left:42px}
#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars:has(>.bi-row-photo){padding-left:38px}
#bgp-sales .bgp-seller-name>.bi-row-photo{width:26px;height:26px;margin-right:8px}
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-row:not(.bi-compact-head){padding-top:8px;padding-bottom:8px}
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-fact-row{min-height:30px}

/* Task 206: the chart header does not repeat the total — it is in the KPI tiles (receivables keep theirs). */
#bgp-sales .bgp-sellers-panel:not(.bi-debt-sellers) .bi-map-header-total{display:none!important}

/* Task 207: compact view — the plan is a thin purple line through the middle of the bar with an end tick. */
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-bar-track{position:relative}
#bgp-sales .bi-plan-line{position:absolute;left:0;top:50%;height:2px;margin-top:-1px;background:var(--plan);border-radius:1px;pointer-events:none;z-index:2}
#bgp-sales .bi-plan-line::after{content:'';position:absolute;right:-1px;top:-6px;width:2px;height:14px;border-radius:1px;background:var(--plan)}
#bgp-sales .bi-plan-line[hidden]{display:none}

/* Task 208: thinner plan line and tick (owner: «немного тоньше»). */
#bgp-sales .bi-plan-line{height:1.5px;margin-top:-.75px}
#bgp-sales .bi-plan-line::after{width:1.5px;height:12px;top:-5.25px;right:-.75px}

/* Task 210: compact charts — fixed amount/status widths so every bar track has the same width (bars stay comparable). */
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-fact-amount{min-width:56px;text-align:right;box-sizing:border-box}
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion .bgp-status{min-width:74px;justify-content:center;box-sizing:border-box}
@media(max-width:640px){#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion .bgp-status{min-width:58px}#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-fact-amount{min-width:44px}}
#bgp-sales .bi-plan-line{z-index:1}
#bgp-sales .bgp-seller-row.bi-compact-head{z-index:3}
/* Task 210: revenue compact — the CFO name above the bar, the head's photo left of the bar. */
#bgp-sales .bgp-seller-row.bi-row-stacked{display:grid!important;grid-template-columns:minmax(0,1fr)!important;row-gap:3px}
#bgp-sales .bi-row-stacked>.bgp-seller-info{grid-column:1!important;grid-row:1!important;padding-left:38px;min-width:0}
#bgp-sales .bi-row-stacked .bi-seller-display-name{white-space:normal;overflow:visible;text-overflow:clip}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row{grid-column:1!important;grid-row:2!important;grid-template-columns:28px minmax(0,1fr) auto auto!important}
#bgp-sales .bi-row-stacked .bi-photo-slot{width:28px}
#bgp-sales .bi-compact-head.bi-row-stacked>.bgp-seller-info{display:none}

/* Task 212: an expanded stacked (revenue) row shows its details on a line of their own under the bar. */
#bgp-sales .bi-row-stacked>.bgp-seller-details{grid-column:1!important;grid-row:3!important;padding-left:38px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
#bgp-sales .bi-row-stacked>.bgp-seller-details[hidden]{display:none!important}

/* Task 213: the project map canvas never shrinks below its content (stage + legend + note); the map area scrolls,
   so the «Ещё…» buttons and corrections stay below the legend instead of covering it. Shared by sales and revenue. */
#bgp-sales .bi-bounded-map>.bi-map-canvas{flex:1 0 auto}
#bgp-sales .bi-bounded-map>.bi-map-adjustments,#bgp-sales .bi-bounded-map>.bi-bounded-map-pages{flex:none}
#bgp-sales .bi-bounded-map-pages{padding:8px 12px;gap:6px}
#bgp-sales .bi-bounded-map-pages .bi-financial-details{min-height:0;padding:4px 10px;font-size:11px;line-height:16px}

/* Task 215: photos in the pie of people — beside the callout, ring in the sector colour. */
#bgp-sales .bi-pie-photo{width:var(--ph);height:var(--ph);box-shadow:0 0 0 2px var(--pie-color,transparent)}
#bgp-sales .bi-pie-callout.bi-pie-person,#bgp-sales .bi-pie-category.bi-pie-person{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:0;align-items:center}
#bgp-sales .bi-pie-person>.bi-pie-photo{grid-row:1/4}
#bgp-sales .bi-pie-person>.bi-pie-name:before{display:none}
/* Task 215: full bar view — no row numbers; a 44 px photo across the name and both bars; the surname starts with the bars. */
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row:has(.bgp-bars>.bi-row-photo) .bgp-seller-index{display:none}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row:has(.bgp-bars>.bi-row-photo) .bgp-seller-info{padding-left:56px}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row .bgp-bars:has(>.bi-row-photo),#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row .bgp-bars:has(>.bi-row-photo){padding-left:56px}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars>.bi-row-photo{width:44px;height:44px;font-size:15px;top:calc(50% - 16px)}

/* Task 217: «Наши сервисы» — a catalog tile of links (not a report: no favourite star, no click-through). */
#bgp-sales .bi-services-card{cursor:default}
#bgp-sales .bi-services-card:hover{transform:none}
#bgp-sales .bi-services-links{display:grid;gap:8px;margin-top:12px}
#bgp-sales .bi-services-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;background:var(--surface);transition:background .15s,border-color .15s}
#bgp-sales .bi-services-link:hover{background:var(--surface-hover);border-color:var(--secondary)}
#bgp-sales .bi-services-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}
#bgp-sales .bi-services-link>span{display:grid;min-width:0;flex:1}
#bgp-sales .bi-services-link strong{font-size:14px;font-weight:600}
#bgp-sales .bi-services-link small{font-size:12px;color:var(--secondary)}
#bgp-sales .bi-services-link svg{width:18px;height:18px;flex:none;color:var(--secondary)}
#bgp-sales .bi-services-link .bi-services-arrow,#bgp-sales .bi-services-link svg.bi-services-arrow{width:16px;height:16px}

/* Task 219: full view photo 48 px (+9%), surname and bars start 60 px in. */
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars>.bi-row-photo{width:48px;height:48px;font-size:16px}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row:has(.bgp-bars>.bi-row-photo) .bgp-seller-info{padding-left:60px}
#bgp-sales .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row .bgp-bars:has(>.bi-row-photo),#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-seller-row .bgp-bars:has(>.bi-row-photo){padding-left:60px}
/* Task 219: «Тестовая версия». */
html.bi-test{padding-top:26px}
.bi-test-banner{position:fixed;top:0;left:0;right:0;z-index:2147483000;height:26px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:26px;padding:3px 12px;background:#f5c518;color:#1f1a00;font:600 12px/1.3 inherit;letter-spacing:.02em;text-align:center}
/* Task 219: the selected filter in the header. */
#bgp-sales .bi-filter-slot{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
#bgp-sales .bi-filter-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:3px 14px 3px 3px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
#bgp-sales .bi-filter-chip-photo{position:relative;flex:none;width:30px;height:30px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:var(--surface-hover);color:var(--secondary);font-size:12px;font-weight:600}
#bgp-sales .bi-filter-chip-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#bgp-sales .bi-filter-chip-photo .bi-bgp-mark{display:grid;place-items:center;width:100%;height:100%;background:#51c1b5;color:#0f1d1b;font-size:8px;font-weight:600}
#bgp-sales .bi-filter-chip-text{display:grid;line-height:1.15;min-width:0}
#bgp-sales .bi-filter-chip-text small{font-size:10px;color:var(--secondary)}
#bgp-sales .bi-filter-chip-text strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){#bgp-sales .bi-filter-slot{display:none}}

/* Task 220: compact view — column headers in the legend line (the separate header row is hidden while they are placed). */
#bgp-sales .bgp-sellers-panel.bi-heads-up .bgp-seller-legend{position:relative}
#bgp-sales .bi-legend-heads{position:absolute;inset:0;pointer-events:none}
#bgp-sales .bgp-sellers-panel:not(.bi-heads-up) .bi-legend-heads{display:none}
#bgp-sales .bi-legend-heads span{position:absolute;transform:translateY(-50%);color:var(--secondary);font-size:11px;font-weight:500;white-space:nowrap}
/* Task 326: Verdana is wider — on phones the column headers keep their place on the legend line (10 px as the legend, a tighter legend) */
@media(max-width:640px){#bgp-sales .bgp-sellers-panel .bi-legend-heads span{font-size:10px}#bgp-sales .bgp-sellers-panel .bgp-seller-legend{gap:6px}}
#bgp-sales .bgp-sellers-panel.bi-heads-up .bgp-seller-row.bi-compact-head{display:none!important}  /* task 452: the revenue's stacked rows are display:grid!important */

/* Task 225: in the fullscreen viewer a finger swipe over the pie (or the bars) scrolls the viewer: inner lists that cannot
   scroll themselves must not swallow the gesture (the same rule #workspace already has). */
#bgp-sales .bi-native-viewer :is(.bgp-seller-list,.bi-financial-pie,.source-bars,.bgp-chart-scroll){overscroll-behavior-y:auto}

/* Task 225: compact view on phones — the photo sits further left and closer to the surname; Год and RR are stacked
   badges (no gap, smaller) under one «Год/RR» header, so the freed width goes to the surname. */
@media(max-width:640px){
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-row{grid-template-columns:minmax(0,128px) minmax(0,1fr);column-gap:4px;padding-left:4px;padding-right:6px}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-info,#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-name{gap:4px}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-name>.bi-row-photo{margin-right:0}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion{display:flex;flex-direction:column;gap:0;align-items:stretch}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion .bgp-status{min-width:50px;height:15px;min-height:0;padding:0 4px;font-size:10px;line-height:15px;border-radius:3px}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion .bgp-status:first-of-type{border-bottom-left-radius:0;border-bottom-right-radius:0}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-compact-completion .bgp-status:last-of-type{border-top-left-radius:0;border-top-right-radius:0}
 #bgp-sales .bi-compact-head .bi-compact-completion .bi-compact-head-label:last-child{display:none}
 #bgp-sales .bi-compact-head .bi-compact-completion .bi-compact-head-label:first-child{font-size:0;height:auto;border-radius:3px}
 #bgp-sales .bi-compact-head .bi-compact-completion .bi-compact-head-label:first-child::after{content:'Год/RR';font-size:11px}
}

/* Task 226: phones — «Без плана» on the year row, right; KPI tiles fit their content (no empty bottom). */
@media(max-width:640px){
 #bgp-sales .bi-financial-title-row:has(>.bi-unplanned-on-year){position:relative}
 #bgp-sales .bi-financial-title-row>.bi-sales-unplanned-top.bi-unplanned-on-year{position:absolute;right:0;margin:0}
 #bgp-sales .bgp-kpis>.bgp-kpi{min-height:0;padding-bottom:10px}
}

/* Task 226: phones, full view — header line «план/факт · год/RR», no «Год»/«RR» words in the rows, tighter legend. */
@media(max-width:640px){
 #bgp-sales .bgp-sellers-panel[data-row-view="full"] .bgp-seller-row .bgp-progress-kind{display:none}
 #bgp-sales .bgp-sellers-panel[data-row-view="full"] .bgp-seller-values .bgp-value-row,#bgp-sales .bi-native-viewer .bgp-sellers-panel[data-row-view="full"] .bgp-value-row{grid-template-columns:42px minmax(0,1fr);gap:6px}
 #bgp-sales .bgp-sellers-panel[data-row-view="full"] .bgp-seller-legend{padding-top:8px;padding-bottom:0}
 #bgp-sales .bi-full-head{position:relative;height:16px;margin:2px 0 -2px;pointer-events:none}
 #bgp-sales .bi-full-head span{position:absolute;top:0;color:var(--secondary);font-size:11px;line-height:16px;white-space:nowrap;text-align:center}
 #bgp-sales .bi-full-head span:first-child{text-align:right}
}

/* Task 227: phones, compact view — refresh beside fullscreen in the header, the view selector full width, one line
   «legend | Факт, млн · Год/RR» (no separate header row), a narrower name column so the bars start further left. */
#bgp-sales .bi-legend-divider{display:none}
@media(max-width:640px){
 #bgp-sales .bgp-sellers-panel:not(:has(.bi-all-fact-row)) .bgp-sellers-head>.bgp-panel-tools>.bi-refresh-chart{position:absolute;top:16px;right:54px;margin:0}
 #bgp-sales .bgp-sellers-panel:not(:has(.bi-all-fact-row)) .bgp-sellers-head>div:first-child{padding-right:84px}
 #bgp-sales .bgp-sellers-panel:not(:has(.bi-all-fact-row)) .bgp-sellers-head>.bgp-panel-tools{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
 #bgp-sales .bgp-sellers-panel:not(:has(.bi-all-fact-row)) .bgp-sellers-head>.bgp-panel-tools:not(:has(.xsel-pie-group,.xsel-sort))>.xsel-financial-view{grid-column:1/-1}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-legend{justify-content:flex-start;gap:8px}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-legend .bgp-legend-item{font-size:10px;gap:3px}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-legend .bgp-block-swatch{width:9px;height:9px}
 #bgp-sales .bgp-sellers-panel.bi-heads-up .bi-legend-divider{display:block;position:absolute;width:1px;height:16px;transform:translateY(-50%);background:var(--line)}
 #bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-row{grid-template-columns:minmax(0,104px) minmax(0,1fr)}
}

/* Task 230: phones — rows appear as they scroll into view: photo fade, bars grow, the compact plan line grows 500 ms later. */
@keyframes bi-photo-fade{from{opacity:0}to{opacity:1}}
/* Task 231: desktop too — the same row reveal on every width. */
@media(prefers-reduced-motion:no-preference){
 #bgp-sales .bi-row-reveal>.bgp-seller-row[data-entity]:not(.bi-row-in) .bi-row-photo{opacity:0;animation:none}
 #bgp-sales .bi-row-reveal>.bgp-seller-row[data-entity]:not(.bi-row-in) :is(.bgp-bar,.bi-plan-line){transform:scaleX(0);animation:none}
 #bgp-sales .bi-row-reveal>.bgp-seller-row.bi-row-in .bi-row-photo{animation:bi-photo-fade 500ms ease-out var(--row-delay,0ms) both}
 #bgp-sales .bi-row-reveal>.bgp-seller-row.bi-row-in .bgp-bar{animation:bgp-grow var(--bar-animation-ms,800ms) cubic-bezier(.22,1,.36,1) var(--row-delay,0ms) both}
 #bgp-sales .bi-row-reveal>.bgp-seller-row.bi-row-in .bi-plan-line{transform-origin:left;animation:bgp-grow var(--bar-animation-ms,800ms) cubic-bezier(.22,1,.36,1) calc(var(--row-delay,0ms) + 500ms) both}
}

/* Task 233: «Выручка по ЦФО» — legend plan line, «Детали» next to «В Excel», tooltip close button, compact rows with a
   bigger photo across the name and the bar, full view with the practice name over the whole row. */
#bgp-sales .bi-revenue-plan-line{display:inline-block;position:relative;flex:none;width:18px;height:2px;margin-right:0;vertical-align:middle;background:var(--plan);border-radius:1px}
#bgp-sales .bi-revenue-plan-line::after{content:'';position:absolute;right:0;top:-4px;width:2px;height:10px;border-radius:1px;background:var(--plan)}
#bgp-sales .bgp-seller-footer:has([data-excel-export])>[data-details]{margin-left:auto}
#bgp-sales .bgp-seller-footer:has([data-details])>[data-excel-export]{margin-left:0}
#bgp-sales .bi-tip-close{position:absolute;right:6px;top:6px;width:28px;height:28px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-hover);color:var(--text);font-size:18px;line-height:1;cursor:pointer}
#bgp-sales .bi-seller-bar-tooltip:has(.bi-tip-close)>strong{display:block;padding-right:30px}
#bgp-sales .bi-seller-bar-tooltip:has(.bi-tip-close){pointer-events:auto}
@media(hover:hover) and (pointer:fine){#bgp-sales .bi-tip-close{display:none}#bgp-sales .bi-seller-bar-tooltip:has(.bi-tip-close)>strong{padding-right:0}#bgp-sales .bi-seller-bar-tooltip:has(.bi-tip-close){pointer-events:none}}
#bgp-sales .bgp-seller-row.bi-row-stacked[data-entity]{row-gap:0}
#bgp-sales .bi-row-stacked>.bgp-seller-info{padding-left:56px}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row{grid-template-columns:44px minmax(0,1fr) auto auto!important;position:static}
#bgp-sales .bi-row-stacked .bi-photo-slot{width:44px}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row>.bgp-bars{grid-column:2}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row>.bi-compact-fact-amount{grid-column:3}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row>.bi-compact-completion{grid-column:4}
#bgp-sales .bi-row-stacked>.bi-compact-fact-row>.bi-row-photo{position:absolute;top:calc(50% - 22px);width:44px;height:44px;font-size:15px}
#bgp-sales .bi-row-stacked:has(>.bgp-seller-details:not([hidden]))>.bi-compact-fact-row>.bi-row-photo{top:10px}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-seller-row[data-entity]{grid-template-columns:minmax(0,1fr) 180px!important;row-gap:2px}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-seller-row[data-entity]>.bgp-seller-info{grid-column:1/-1!important;grid-row:1!important}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-seller-row[data-entity]>.bgp-bars{grid-column:1!important;grid-row:2!important}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-seller-row[data-entity]>.bgp-seller-values{grid-column:2!important;grid-row:2!important}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-seller-row[data-entity]>.bgp-seller-details{grid-column:1/-1!important;grid-row:3!important}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-row-head{grid-template-columns:minmax(0,1fr) 180px!important}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-row-head>:first-child{display:none}
#bgp-sales .bgp-sellers-panel[data-kind="revenue"][data-row-view="full"] .bgp-row-head>.bgp-scale{padding-left:60px}

/* Task 234: pie tooltip — photo + title, «Детали» under it, amount, own/other split; names and amounts apart. */
#bgp-sales .bi-pie-tooltip .bi-pie-tip-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
#bgp-sales .bi-pie-tooltip .bi-pie-tip-head>.bi-row-photo{width:44px;height:44px;font-size:15px;margin:0}
#bgp-sales .bi-pie-tooltip .bi-pie-tip-head strong{font-size:15px}
#bgp-sales .bi-pie-tooltip .bi-pie-tip-actions:empty{display:none}
#bgp-sales .bi-pie-tooltip .bi-pie-tip-actions,#bgp-sales .bi-pie-tooltip .bi-pie-tip-head+.bi-financial-details{margin:0 0 12px}
#bgp-sales .bi-pie-tooltip .bi-pie-sector-total{margin:0 0 10px;font-size:15px;font-variant-numeric:tabular-nums}
#bgp-sales .bi-pie-tooltip .bi-pie-practices{display:grid;gap:6px;font-size:12px;color:var(--secondary)}
#bgp-sales .bi-pie-tooltip .bi-pie-practices span{display:flex;justify-content:space-between;gap:16px}
#bgp-sales .bi-pie-tooltip .bi-pie-practices b{color:var(--text);font-weight:600;white-space:nowrap}
#bgp-sales .bi-pie-tooltip .bi-pie-project-list>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}
#bgp-sales .bi-pie-tooltip .bi-pie-project-list>button>strong{flex:none}

/* Task 236: revenue — «доходная часть − расходы = результат» under the tiles; details: expenses by type and project. */
/* Task 326 (owner 26.10.2026: «числа в первой и второй плитки увеличь»): «Выручка» — the plan and the revenue to date larger */
#bgp-sales .bgp-kpi.bi-kpi-large .bgp-kpi-value{font-size:38px}
@media(max-width:920px){#bgp-sales .bgp-kpi.bi-kpi-large .bgp-kpi-value{font-size:36px}}
@media(max-width:640px){#bgp-sales .bgp-kpi.bi-kpi-large .bgp-kpi-value{font-size:28px}}
@media(max-width:370px){#bgp-sales .bgp-kpi.bi-kpi-large .bgp-kpi-value{font-size:24px}}
/* task 445: the tile «Чистая выручка» of the revenue — the name and the figure, and at their right (below them when the tile is narrow:
   the row wraps) the four rows the figure is the sum of. The rows name themselves in full where they have the room («Оборот валовый»),
   else by the first word (the container query). From 1280 px the tile takes 5 of the 16 parts of the row and «План на год» 3 — the two
   halves of the tiles stay over the two charts — and the two large figures follow the width of the window, so the plan fits its tile. */
#bgp-sales .bgp-kpi.bi-net-tile .bi-net-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px}
#bgp-sales .bi-net-main{flex:none;min-width:0;max-width:100%}
#bgp-sales .bi-net-parts{container:bi-net-parts/inline-size;flex:1 1 136px;max-width:290px;min-width:0;margin:0;display:grid;gap:2px;font-size:11px;line-height:1.3}
#bgp-sales .bi-net-parts>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding:0 0 0 8px;border-left:2px solid var(--line)}
#bgp-sales .bi-net-parts dt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--secondary)}
#bgp-sales .bi-net-parts dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}
#bgp-sales .bi-net-parts .bi-net-plus{border-left-color:var(--actual)}
#bgp-sales .bi-net-parts .bi-net-minus{border-left-color:var(--bad)}
/* task 448: the two parts of «Проектные расходы» stand under it, indented, their sums in the secondary colour — they are not added again */
#bgp-sales .bi-net-parts>.bi-net-sub{margin-left:10px}
#bgp-sales .bi-net-parts .bi-net-sub dd{font-weight:400;color:var(--secondary)}
/* task 452: the net revenue of a CFO row opens a card — the figure large, then the rows of the tile; the row's details are a formula */
#bgp-sales .bi-net-amount{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
#bgp-sales .bi-net-amount:focus-visible{outline:2px solid var(--actual);outline-offset:2px;border-radius:3px}
#bgp-sales .bi-net-card .bi-net-card-label{display:block;margin-top:6px;font-size:11px;color:var(--secondary)}
#bgp-sales .bi-net-card .bi-net-card-total{display:block;margin:0 0 10px;font-size:26px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--text)}
#bgp-sales .bi-net-card .bi-net-card-total small{margin-left:4px;font-size:12px;font-weight:400;color:var(--secondary)}
#bgp-sales .bi-net-card .bi-net-parts{max-width:none;font-size:12px}
#bgp-sales .bi-net-card .bi-tip-close{display:inline-grid;place-items:center}   /* task 460: inline-flex left the cross in the corner — a grid centres it */
#bgp-sales .bi-seller-bar-tooltip.bi-net-card{pointer-events:auto}
#bgp-sales .bi-seller-bar-tooltip.bi-net-card>strong{padding-right:30px}
#bgp-sales .bi-net-formula{flex:1 1 100%;min-width:0;margin:0;line-height:1.6;color:var(--secondary)}
#bgp-sales .bi-net-formula b{font-weight:700;color:var(--text)}
#bgp-sales .bgp-seller-details .bi-net-formula strong{margin-left:0}
@container bi-net-parts (max-width:199px){#bgp-sales .bi-net-parts dt span{display:none}}
@media(min-width:1280px){#bgp-sales #sales-view .bgp-kpis:has(.bi-net-tile){grid-template-columns:3fr 5fr 4fr 4fr}
 #bgp-sales #sales-view .bgp-kpis:has(.bi-net-tile) .bgp-kpi.bi-kpi-large .bgp-kpi-value{font-size:clamp(30px,2.35vw,38px)}}
@media(max-width:640px){#bgp-sales .bi-net-parts{font-size:10px}}
#bgp-sales .bi-detail-expenses{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
#bgp-sales .bi-detail-expenses h3{margin:0 0 6px;font-size:15px}
#bgp-sales .bi-detail-expense-types{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0;font-size:12px;color:var(--secondary)}
#bgp-sales .bi-detail-expense-list{display:grid;max-height:420px;overflow:auto;font-size:12px}
#bgp-sales .bi-detail-expense-list>[role=row]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}
#bgp-sales .bi-expense-type{color:var(--secondary);white-space:nowrap}
#bgp-sales .bi-expense-amount{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}

/* Task 247: CFO groups — the «группа» badge and the window with the group's CFOs. */
#bgp-sales .bi-group-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border:1px solid color-mix(in srgb,var(--actual) 45%,var(--line));border-radius:6px;font-size:10px;font-weight:600;line-height:16px;color:var(--actual);background:color-mix(in srgb,var(--actual) 8%,transparent);cursor:pointer;white-space:nowrap;vertical-align:middle}
#bgp-sales .bi-group-badge:hover,#bgp-sales .bi-group-badge:focus-visible{background:color-mix(in srgb,var(--actual) 18%,transparent);outline:none}
#bgp-sales .bi-group-window{position:fixed;inset:0;z-index:36000;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,#000 45%,transparent)}
#bgp-sales .bi-group-card{width:min(720px,100%);max-height:min(640px,calc(100dvh - 32px));overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 18px 48px var(--shadow)}
#bgp-sales .bi-group-card header{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface)}
#bgp-sales .bi-group-card header small{display:block;color:var(--secondary);font-size:11px}
#bgp-sales .bi-group-card header strong{font-size:16px}
#bgp-sales .bi-group-close{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-hover);color:var(--text);font-size:18px;line-height:1;cursor:pointer}
#bgp-sales .bi-group-body{padding:8px 18px 16px;font-size:13px}
#bgp-sales .bi-group-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
#bgp-sales .bi-group-table th{padding:8px 6px;color:var(--secondary);font-size:11px;font-weight:500;text-align:right}
#bgp-sales .bi-group-table th:first-child,#bgp-sales .bi-group-table td:first-child{text-align:left}
#bgp-sales .bi-group-table td{padding:8px 6px;border-top:1px solid var(--line);text-align:right;white-space:nowrap}
#bgp-sales .bi-group-table tfoot td{font-weight:600}
#bgp-sales .bi-group-name{display:inline-flex;align-items:center;gap:8px;white-space:normal}
#bgp-sales .bi-group-name .bi-row-photo{width:28px;height:28px;flex:none}

/* Task 249: the gear with the grouping fields; the expenses grid (name, amount, rows) like the revenue grid */
#bgp-sales .bi-detail-gear-wrap{position:relative;display:inline-flex}
#bgp-sales .bi-detail-gear{width:34px;height:34px;padding:0;display:inline-grid;place-items:center;font-size:17px;line-height:1}
#bgp-sales .bi-detail-gear-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:grid;gap:6px;min-width:250px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px var(--shadow)}
#bgp-sales .bi-detail-gear-menu strong{font-size:12px;color:var(--secondary);font-weight:600}
#bgp-sales .bi-detail-gear-menu label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--text);cursor:pointer;width:auto}
#bgp-sales .bi-detail-gear-menu input{width:14px;height:14px;margin:0;accent-color:var(--actual)}
#bgp-sales .bi-detail-expenses .bi-detail-grouping-panel{margin-top:10px}
#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-head,#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-row{grid-template-columns:minmax(260px,1fr) minmax(110px,160px) minmax(60px,90px);min-width:460px}
@media (max-width:700px){#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-head,#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-row{grid-template-columns:minmax(200px,1fr) 100px 60px;min-width:380px}#bgp-sales .bi-detail-gear-menu{left:auto;right:0}}

/* Task 252: «Авансы» — advances of my projects */
#bgp-sales .bi-adv{display:grid;gap:10px;padding:4px 0 24px}
#bgp-sales .bi-adv-head h1{margin:0 0 4px;font-size:22px}
#bgp-sales .bi-adv-head p{margin:0;color:var(--secondary);font-size:13px;max-width:760px}
#bgp-sales .bi-adv-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}
#bgp-sales .bi-adv-search{display:grid;gap:4px;font-size:12px;color:var(--secondary);width:min(420px,100%)}
#bgp-sales .bi-adv-search input{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px}
#bgp-sales .bi-adv-mine{display:inline-flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;width:auto}
#bgp-sales .bi-adv-mine input{width:16px;height:16px;margin:0;accent-color:var(--actual)}
#bgp-sales .bi-adv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
/* Task 273: the revenue charts above the tiles and the grid of «Авансы» */
.bi-adv .bgp-charts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;height:440px}
/* as tall as the revenue charts: there the grid takes the window below the page head and the KPIs (≈100dvh − 473px at ≥1100px);
   never lower than 440px. Below 1100px the panels stack (as revenue) with their own heights. */
#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid{height:max(440px,calc(100dvh - 473px));min-height:0}
@media(max-width:1099px){#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid{grid-template-columns:minmax(0,1fr);height:auto}#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid>.bgp-dynamics-panel{height:480px}#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid>.bgp-sellers-panel{height:520px}}
@media(max-width:600px){#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid>.bgp-dynamics-panel{height:400px}#bgp-sales #sales-view>.bi-adv>.bgp-charts-grid>.bgp-sellers-panel{height:480px}}
.bi-adv .bgp-charts-grid>.bgp-panel{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;margin:0}
.bi-adv .bgp-charts-grid>.bgp-dynamics-panel>.bgp-plot-wrap{flex:1 1 auto;min-height:0;margin:4px 14px 0}
.bi-adv .bgp-charts-grid .bgp-plot{height:100%;min-height:0}
.bi-adv .bgp-charts-grid>.bgp-sellers-panel>.bgp-seller-list{flex:1 1 auto;min-height:0;overflow:auto}
.bi-adv .bgp-charts-grid .bgp-plot-footer{flex:0 0 auto}
#bgp-sales .bi-adv .bgp-seller-values .bgp-amount.plan{white-space:nowrap}
#bgp-sales .bi-gt-fullscreen.bi-gt-fullscreen>.bi-adv-charts,.bi-adv-filter[hidden]{display:none}  /* the grid in full screen: no charts */  /* as the receivables panel: «3 проекта» on one line */
.bi-adv .bgp-seller-row.bi-adv-chosen{outline:2px solid var(--actual);outline-offset:-2px;border-radius:8px}
.bi-adv-filter{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}
.bi-adv-filter span{padding:4px 10px;border-radius:6px;background:color-mix(in srgb,var(--actual) 14%,transparent);color:var(--text)}
.bi-adv-filter button{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}
@media(max-width:900px){.bi-adv .bgp-charts-grid{grid-template-columns:minmax(0,1fr);height:auto}.bi-adv .bgp-charts-grid>.bgp-dynamics-panel{height:380px}.bi-adv .bgp-charts-grid>.bgp-sellers-panel{height:480px}}
#bgp-sales .bi-adv-kpis>div{display:grid;gap:2px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
#bgp-sales .bi-adv-kpis small{color:var(--secondary);font-size:12px}
#bgp-sales .bi-adv-kpis strong{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
#bgp-sales .bi-adv-note{margin:0;color:var(--secondary);font-size:12px}
#bgp-sales .bi-adv-scroll{overflow:auto;max-height:calc(100vh - 300px);border:1px solid var(--line);border-radius:10px}
#bgp-sales .bi-adv-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px;line-height:1.3}
#bgp-sales .bi-adv-table th{position:sticky;top:0;z-index:1;background:var(--surface);text-align:left;border-bottom:1px solid var(--line);padding:0}
#bgp-sales .bi-adv-table th button{width:100%;padding:6px 8px;border:0;background:transparent;color:var(--secondary);font-size:11px;font-weight:600;text-align:inherit;cursor:pointer;white-space:nowrap}
#bgp-sales .bi-adv-table th[aria-sort=ascending] button::after{content:' ↑'}
#bgp-sales .bi-adv-table th[aria-sort=descending] button::after{content:' ↓'}
#bgp-sales .bi-adv-table td{padding:4px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
#bgp-sales .bi-adv-table td.bi-adv-clip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bgp-sales .bi-adv-table td.bi-adv-project{max-width:380px}
#bgp-sales .bi-adv-table td.bi-adv-project strong{font-weight:600}
#bgp-sales .bi-adv-table td.bi-adv-project strong,#bgp-sales .bi-adv-table td.bi-adv-project small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bgp-sales .bi-adv-table td small{display:block;margin-top:1px;color:var(--secondary);font-size:10.5px}
#bgp-sales .bi-adv-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#bgp-sales .bi-adv-table td.bi-adv-open{color:var(--warning,#d97706)}
#bgp-sales .bi-adv-table tfoot td{position:sticky;bottom:0;background:var(--surface);font-weight:600;border-top:1px solid var(--line)}
#bgp-sales .bi-adv-empty{color:var(--secondary);text-align:center;padding:24px}
@media (max-width:700px){#bgp-sales .bi-adv{padding:4px 16px 24px}#bgp-sales .bi-adv-head h1{font-size:19px}#bgp-sales .bi-adv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#bgp-sales .bi-adv-kpis strong{font-size:15px}
 #bgp-sales .bi-adv-scroll{max-height:none;overflow:visible;border:0}#bgp-sales .bi-adv-table{min-width:0}#bgp-sales .bi-adv-table thead{display:none}
 #bgp-sales .bi-adv-table,#bgp-sales .bi-adv-table tbody,#bgp-sales .bi-adv-table tr,#bgp-sales .bi-adv-table td{display:block}
 #bgp-sales .bi-adv-table tbody tr{margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
 #bgp-sales .bi-adv-table tbody td{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border:0;text-align:right;max-width:none;white-space:normal}
 #bgp-sales .bi-adv-table tbody td.bi-adv-project strong,#bgp-sales .bi-adv-table tbody td.bi-adv-project small{white-space:normal}
 #bgp-sales .bi-adv-table tbody td[data-label]::before{content:attr(data-label);color:var(--secondary);font-size:12px;text-align:left;flex:none}
 #bgp-sales .bi-adv-table tbody td.bi-adv-project{display:block;text-align:left;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}
 #bgp-sales .bi-adv-table td.num small{display:none}
 #bgp-sales .bi-adv-table tfoot{display:none}}
/* Task 255 (owner 20.10.2026): «Авансы» — a classic grid like Excel: gridlines, one line per row, sticky header and first column */
@media (min-width:701px){
#bgp-sales .bi-adv-table{min-width:1500px;border-collapse:separate;border-spacing:0;font-size:12px}
#bgp-sales .bi-adv-table th,#bgp-sales .bi-adv-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
#bgp-sales .bi-adv-table th{background:color-mix(in srgb,var(--line) 35%,var(--surface))}
#bgp-sales .bi-adv-table th button{color:var(--text);padding:4px 8px}
#bgp-sales .bi-adv-table td{padding:3px 8px;height:24px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bgp-sales .bi-adv-table td.bi-adv-project{max-width:320px;font-weight:600}
#bgp-sales .bi-adv-table td small{display:inline;margin:0;font-size:10.5px}
#bgp-sales .bi-adv-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--line) 12%,transparent)}
#bgp-sales .bi-adv-table tbody tr:hover td{background:color-mix(in srgb,var(--actual) 10%,transparent)}
#bgp-sales .bi-adv-table th:first-child,#bgp-sales .bi-adv-table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
#bgp-sales .bi-adv-table th:first-child{z-index:2}
#bgp-sales .bi-adv-table tbody tr:nth-child(even) td:first-child{background:color-mix(in srgb,var(--line) 12%,var(--surface))}
#bgp-sales .bi-adv-table tbody tr:hover td:first-child{background:color-mix(in srgb,var(--actual) 10%,var(--surface))}
#bgp-sales .bi-adv-table tfoot td{white-space:nowrap}
}
@media (max-width:700px){#bgp-sales .bi-adv-table tbody td.bi-adv-project{font-weight:600}#bgp-sales .bi-adv-table tbody td.bi-adv-project::before{content:none}}
#bgp-sales .bi-adv-table td a{color:inherit;text-decoration:underline;text-underline-offset:3px}  /* task 256: the project opens its universal card */

/* Task 257: record grouping in «Авансы» — the group panel, chips, group rows */
#bgp-sales .bi-adv-groupbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
#bgp-sales .bi-adv-groupbar.bi-adv-drop{border-color:var(--actual);background:color-mix(in srgb,var(--actual) 8%,transparent)}
#bgp-sales .bi-adv-group-hint{color:var(--secondary);font-size:12px}
#bgp-sales .bi-adv-group-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#bgp-sales .bi-adv-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:grab;font-size:12px}
#bgp-sales .bi-adv-chip button{border:0;background:transparent;color:var(--text);padding:4px 8px;font-size:12px;cursor:pointer;min-height:0}
#bgp-sales .bi-adv-chip .bi-adv-chip-remove{width:24px;height:24px;padding:0;display:inline-grid;place-items:center;color:var(--secondary);border-left:1px solid var(--line);border-radius:0 999px 999px 0}
#bgp-sales .bi-adv-chip-arrow{color:var(--secondary)}
#bgp-sales .bi-adv-groupbar select{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}
#bgp-sales .bi-adv-group-actions{display:inline-flex;gap:6px;margin-left:auto}
#bgp-sales .bi-adv-group-actions button{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;cursor:pointer}
#bgp-sales .bi-adv-table th[draggable=true] button{cursor:grab}
#bgp-sales .bi-adv-table th.bi-adv-grouped button{color:var(--actual)}
#bgp-sales .bi-adv-table tr.bi-adv-group td{background:color-mix(in srgb,var(--actual) 6%,var(--surface));cursor:pointer;font-weight:600}
#bgp-sales .bi-adv-table tr.bi-adv-group td:first-child{padding-left:calc(8px + var(--group-level,0) * 18px);white-space:nowrap}
#bgp-sales .bi-adv-table tr.bi-adv-group td:first-child small{display:inline;color:var(--secondary);font-weight:400;margin-left:4px}
#bgp-sales .bi-adv-table tr.bi-adv-group .bi-adv-group-toggle{width:20px;height:20px;padding:0;margin-right:4px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--text);cursor:pointer;font-size:12px;min-height:0}
#bgp-sales .bi-adv-table tbody tr:not(.bi-adv-group) td:first-child{padding-left:calc(8px + var(--group-level,0) * 18px)}
@media (max-width:700px){#bgp-sales .bi-adv-group-hint{display:none}#bgp-sales .bi-adv-group-actions{margin-left:0}
 #bgp-sales .bi-adv-table tbody tr.bi-adv-group{margin:12px 0 6px;padding:8px 10px;border-color:color-mix(in srgb,var(--actual) 40%,var(--line))}
 #bgp-sales .bi-adv-table tbody tr.bi-adv-group td:first-child{display:block;text-align:left;white-space:normal;padding-left:0}
 #bgp-sales .bi-adv-table tbody tr.bi-adv-group td:not(:first-child){display:none}
 #bgp-sales .bi-adv-table tbody tr.bi-adv-group{margin:10px 0 4px;padding:6px 10px}
 #bgp-sales .bi-adv-table tbody tr:not(.bi-adv-group) td:first-child{padding-left:0}}
/* Task 260: the filter row of «Авансы» sticks under the header row; the chooser sits in the tools line */
#bgp-sales .bi-adv-table .bi-gt-filter th{position:sticky;top:var(--gt-head-height,27px);z-index:1;padding:2px 4px;background:var(--surface);font-weight:400;text-align:left}
#bgp-sales .bi-adv-table .bi-gt-filter th:first-child{left:0;z-index:3}
#bgp-sales .bi-adv-gt{display:inline-flex;margin-left:auto}
#bgp-sales .bi-adv-table .bi-gt-filter .bi-gt-funnel{width:22px;padding:0;font-size:12px;font-weight:400;color:var(--secondary)}
#bgp-sales .bi-adv-table .bi-gt-filter .bi-gt-funnel.is-active{color:var(--actual);font-weight:600}
@media (min-width:701px){#bgp-sales .bi-adv-table tr.bi-adv-group td:first-child,#bgp-sales .bi-adv-table tfoot td:first-child{left:auto}}  /* a cell over several columns must not follow the scroll */
/* Task 265 (owner 20.10.2026): the «Назад» button of the top bar (nav-back.js) */
#bgp-sales .bi-nav-back{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 8px;margin-left:10px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
#bgp-sales .bi-nav-back[hidden]{display:none}
#bgp-sales .bi-nav-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#bgp-sales .bi-nav-back:hover,#bgp-sales .bi-nav-back:focus-visible{background:color-mix(in srgb,var(--actual) 12%,transparent);border-color:var(--actual);outline:none}
@media (max-width:700px){#bgp-sales .bi-nav-back{width:36px;padding:0;justify-content:center;margin-left:6px}#bgp-sales .bi-nav-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Task 266 (owner 20.10.2026): the revenue details — «Отображение», the combined grid, the totals under the financial columns */
#bgp-sales .bi-detail-view-switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--secondary)}
#bgp-sales .bi-detail-view-switch button{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:13px;cursor:pointer}
#bgp-sales .bi-detail-view-switch button[aria-pressed=true]{background:var(--actual);border-color:var(--actual);color:var(--bg,#111);font-weight:600}
#bgp-sales .bi-detail-grouping-note{margin:6px 0 0;max-width:900px}
#bgp-sales .bi-detail-grid-together .bi-detail-grid-head,#bgp-sales .bi-detail-grid-together .bi-detail-grid-row,#bgp-sales .bi-detail-grid-together .bi-detail-grid-total{grid-template-columns:minmax(260px,1fr) repeat(5,minmax(96px,130px));min-width:880px}
#bgp-sales .bi-detail-grid-total{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(100px,140px));align-items:center;gap:12px;min-width:590px;padding:10px 14px;border-top:2px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;position:sticky;bottom:0;z-index:1}
#bgp-sales .bi-detail-grid-total:empty{display:none}
#bgp-sales .bi-detail-grid-total>span{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-total{grid-template-columns:minmax(260px,1fr) minmax(110px,160px) minmax(60px,90px);min-width:460px}
#bgp-sales .bi-detail-neg{color:var(--negative,#da7474)}
@media (max-width:700px){#bgp-sales .bi-detail-grid-together .bi-detail-grid-head,#bgp-sales .bi-detail-grid-together .bi-detail-grid-row,#bgp-sales .bi-detail-grid-together .bi-detail-grid-total{grid-template-columns:minmax(220px,1fr) repeat(5,92px);min-width:800px}
#bgp-sales .bi-detail-grid-total{grid-template-columns:minmax(220px,1fr) repeat(3,95px);min-width:550px;padding:8px 10px;gap:8px;font-size:11px}
#bgp-sales .bi-detail-grid-expenses .bi-detail-grid-total{grid-template-columns:minmax(200px,1fr) 100px 60px;min-width:380px}}
/* Task 269 (owner 20.10.2026: «комбобоксы наехали друг на друга, поправь и больше так не допускай»): a filter field keeps its
   column — the picker inside is never wider than the field (the own width rules of .xsel-cfo / .xsel-originator lose here);
   a long name is cut with «…». tests/browser-layout-269.cjs checks every filter row for overlaps at four widths. */
#bgp-sales .bi-detail-field{grid-template-columns:minmax(0,1fr)}
#bgp-sales .bi-detail-field>*{min-width:0}
#bgp-sales .bi-detail-field .xsel{width:100%!important;max-width:100%!important;min-width:0!important}
#bgp-sales .bi-detail-field .xsel-t{width:100%;max-width:100%;min-width:0;overflow:hidden}
#bgp-sales .bi-detail-field .xsel-t .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
/* Task 279 (owner 21.10.2026): «Итого» under the rows, the whole compact row opens it, the fullscreen heads and photos */
#bgp-sales .bgp-seller-row.bi-seller-total-row{border-top:2px solid var(--line);border-bottom:0;font-weight:600;cursor:default;background:var(--surface)}
#bgp-sales .bgp-seller-row.bi-seller-total-row:hover{background:var(--surface)}
#bgp-sales .bi-seller-total-row .bgp-seller-info{cursor:default;pointer-events:none}
#bgp-sales .bi-seller-total-row .bi-seller-display-name{font-weight:600}
#bgp-sales .bi-total-photo{visibility:hidden}  /* the same row layout as an originator row with a photo */
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bi-seller-total-row .bgp-seller-name{padding-left:34px}
#bgp-sales .bgp-sellers-panel[data-row-view="compact"] .bgp-seller-row[data-entity] .bi-compact-fact-row{cursor:pointer}
#bgp-sales .bgp-sellers-panel.bi-heads-up .bgp-seller-toolbar>.bgp-subtitle{display:none}
#bgp-sales .bi-native-viewer .bgp-sellers-panel:not([data-row-view="compact"]) .bgp-bars>.bi-row-photo{top:50%}
/* Task 281 (owner 21.10.2026): «Входящие продажи, ₽» in two lines; every column head aligned to the top */
#bgp-sales .bi-detail-grid-head{align-items:start}
#bgp-sales .bi-detail-grid-head>span:not(:first-child){white-space:pre-line}
/* Task 284 (owner 21.10.2026): the saved grouping presets under the grouping bar; «Итого» of the sales details */
#bgp-sales .bi-saved-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:12px}
#bgp-sales .bi-saved-presets-title{color:var(--secondary);margin-right:2px}
#bgp-sales .bi-saved-presets-empty{color:var(--secondary)}
#bgp-sales .bi-saved-preset{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
#bgp-sales .bi-saved-preset.is-active{border-color:var(--actual)}
#bgp-sales .bi-saved-preset button{height:28px;border:0;background:transparent;color:var(--text);font-size:12px;cursor:pointer;padding:0 10px}
#bgp-sales .bi-saved-preset.is-active .bi-saved-preset-use{background:var(--actual);color:var(--bg,#111);font-weight:600}
#bgp-sales .bi-saved-preset .bi-saved-preset-drop{padding:0 8px;color:var(--secondary);border-left:1px solid var(--line)}
#bgp-sales .bi-saved-preset-new,#bgp-sales .bi-saved-preset-form button{height:28px;padding:0 10px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:12px;cursor:pointer}
#bgp-sales .bi-saved-preset-form{display:inline-flex;align-items:center;gap:6px}
#bgp-sales .bi-saved-preset-form input{height:28px;width:220px;max-width:60vw;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px}
#bgp-sales .bi-saved-preset-form .bi-saved-preset-save{border-style:solid;border-color:var(--actual)}
/* Task 285 (owner 21.10.2026): «Столбцы» and «На весь экран» of the advances grid sit in the grid head, beside the grouping bar */
#bgp-sales .bi-adv-gridhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#bgp-sales .bi-adv-gridhead>.bi-adv-groupbar{flex:1 1 420px;min-width:0}
#bgp-sales .bi-adv-gridhead>.bi-adv-gt{margin-left:0;flex:none}

/* Task 309: «↗» to the entity card on the group / client / project rows of the details (as in «Маркетинг»); always seen on a touch screen */
#bgp-sales .bi-detail-grid-row>div[role=gridcell]:has(>.bi-detail-card){display:flex;align-items:center;gap:4px;min-width:0}
#bgp-sales .bi-detail-grid-row>div[role=gridcell]:has(>.bi-detail-card)>.bi-detail-drill{flex:0 1 auto;min-width:0;width:auto}  /* «↗» right after the name */
#bgp-sales .bi-detail-card{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;color:var(--secondary);text-decoration:none;font-size:14px;opacity:0}
#bgp-sales .bi-detail-grid-row:hover .bi-detail-card,#bgp-sales .bi-detail-card:focus-visible{opacity:1}
#bgp-sales .bi-detail-card:hover{color:var(--actual);background:var(--surface-hover)}
#bgp-sales .bi-detail-card:focus-visible{outline:2px solid var(--actual);outline-offset:1px}
@media (hover:none),(pointer:coarse){#bgp-sales .bi-detail-card{opacity:1;width:32px;height:32px}}
/* Task 339: the page skeleton of «Клиенты в динамике», «Авансы», «Дебиторка» (BiNativeUi.routeSkeleton) — the classes of «Продажи» */
#bgp-sales .bi-route-skeleton[data-page]{min-height:0}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-visual>*+*{margin-top:0}
#bgp-sales .bi-route-skeleton[data-controls] .bi-skeleton-controls{display:flex}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:20px}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-charts[data-single]{grid-template-columns:minmax(0,1fr)}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-line-chart{min-height:220px}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-line-chart>svg{height:230px}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(n+5){display:none}
#bgp-sales .bi-skeleton-table{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;min-width:0}
#bgp-sales .bi-skeleton-table-row{display:grid;grid-template-columns:2.2fr 1.6fr 1.2fr 1fr 1fr 1fr;gap:18px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
#bgp-sales .bi-skeleton-table-row:first-child{border-top:0}
#bgp-sales .bi-skeleton-table-row>span{height:8px}
#bgp-sales .bi-skeleton-table-row>span:nth-child(n+4){width:70%;justify-self:end}
#bgp-sales .bi-skeleton-table-head{background:color-mix(in srgb,var(--track) 35%,transparent)}
#bgp-sales .bi-skeleton-table-head>span{height:6px;opacity:.7}
@media (max-width:1099px){#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-charts{grid-template-columns:minmax(0,1fr)}
 #bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){#bgp-sales .bi-route-skeleton[data-page]{padding:18px 16px}
 #bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis:is([data-count="6"],[data-count="3"]){grid-template-columns:repeat(2,minmax(0,1fr))}
 #bgp-sales .bi-route-skeleton[data-controls] .bi-skeleton-control{width:calc(50% - 4px)}#bgp-sales .bi-route-skeleton[data-controls] .bi-skeleton-control-filter{width:100%;margin-left:0}
 #bgp-sales .bi-skeleton-table-row{grid-template-columns:1.6fr 1fr;padding:12px 14px}#bgp-sales .bi-skeleton-table-row>span:nth-child(n+3){display:none}
 #bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-line-chart>svg{height:170px}}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1099px){#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="5"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-kpis[data-count="5"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-name>span:first-child{width:44%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-bars .bi-skeleton-bar-plan{width:78%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-bars .bi-skeleton-bar-fact{width:64%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(2) .bi-skeleton-bar-plan{width:61%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(2) .bi-skeleton-bar-fact{width:52%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(3) .bi-skeleton-bar-plan{width:47%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(3) .bi-skeleton-bar-fact{width:40%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(4) .bi-skeleton-bar-plan{width:33%}
#bgp-sales .bi-route-skeleton[data-page] .bi-skeleton-seller-row:nth-child(4) .bi-skeleton-bar-fact{width:25%}
/* Task 356: the menu has 4 px of padding; a sticky search header at top:0 left a 4 px band above it where scrolled rows showed through. */
#bgp-sales .xmenu .xsearch,#bgp-sales .xmenu .bi-originator-search-header{top:-4px}
/* Task 358: the monthly view of «Динамика продаж» — the trend strip, its captions, the bars (the open month lighter) */
#bgp-sales .bi-monthly-plot .bi-trend-strip{fill:color-mix(in srgb,var(--text) 3%,transparent);stroke:var(--line);stroke-width:1}
#bgp-sales .bi-monthly-plot .bi-trend-caption{fill:var(--secondary);font-size:11px;letter-spacing:.02em}
#bgp-sales .bi-monthly-plot .bi-trend-value{fill:var(--text);font-size:11px;font-variant-numeric:tabular-nums}
#bgp-sales .bi-monthly-plot .bi-month-bar[data-partial]{opacity:.55}
#bgp-sales .bi-monthly-plot .bi-month-bar{transform-box:fill-box;transform-origin:50% 100%;animation:bi-month-bar-grow var(--chart-animation-ms,800ms) cubic-bezier(.22,1,.36,1) both}
@keyframes bi-month-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){#bgp-sales .bi-monthly-plot .bi-month-bar{animation:none}}
#bgp-sales .bgp-dynamics-panel .bgp-panel-tools .xsel-dynamics-view{min-width:0}
#bgp-sales .bgp-dynamics-panel .xsel-dynamics-view .xsel-t{min-width:168px}
/* task 381: on the phone the picker is small and never reaches the title; the open list keeps its own width (bind: 220 px) */
@media(max-width:600px){#bgp-sales .bgp-dynamics-panel .bgp-panel-head>.bgp-panel-tools{flex:none;flex-wrap:nowrap}#bgp-sales .bgp-dynamics-panel .bgp-panel-tools .xsel-dynamics-view{flex:0 0 118px;width:118px!important;max-width:118px}#bgp-sales .bgp-dynamics-panel .bgp-panel-tools .xsel-dynamics-view .xsel-t{width:100%;min-width:0;height:32px;min-height:32px;padding:0 6px;gap:4px;font-size:12px}#bgp-sales .bgp-dynamics-panel .xsel-dynamics-view .xsel-t .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Task 360: the monthly view v2 — the sums over the bars, the tooltip of a month; «Все партнёры» — photos at the line ends */
#bgp-sales .bi-monthly-plot .bi-month-value{fill:var(--text);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
#bgp-sales .bi-monthly-plot .bi-month-previous{pointer-events:none}
#bgp-sales .bi-monthly-plot .bi-trend-value{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
#bgp-sales .bi-dynamics-tooltip .bi-mtip{display:grid;gap:6px;margin-top:8px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-total span{color:var(--secondary);font-size:12px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-total b{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:8px;align-items:center;font-size:12px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-caption{color:var(--secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-note{grid-column:2/-1;color:var(--secondary);font-size:11px;margin-top:-2px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch{width:10px;height:10px;border-radius:3px;background:var(--line)}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="own"]{background:var(--own)}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="other"]{background:var(--other)}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="plan"]{background:var(--plan);height:3px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="previous"]{background:var(--previous);height:3px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="trend"]{background:var(--actual);height:3px}
#bgp-sales .bi-dynamics-tooltip .bi-mtip-swatch[data-swatch="companyTrend"]{background:var(--rr);height:3px}
/* task 365: the header got «Профиль» — on a phone the round buttons are 30 px and the page title may shrink, so the group stays inside the screen (360–480 px) */
@media (max-width:480px){header .theme-controls{padding:2px}header .theme-controls button{width:30px;height:30px}header .theme-controls svg{width:18px;height:18px}header #page-title{min-width:0;overflow:hidden;text-overflow:ellipsis}}
/* task 378: «Сводная» of the dynamics panel — sticky head, names and totals; the heat of a cell is its share of the row's best month */
#bgp-sales .bi-pivot{--pivot-heat:var(--actual);display:flex;flex-direction:column;gap:6px;width:100%;height:100%;min-height:0;font-size:11px}
#bgp-sales .bi-pivot-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;flex:none}
#bgp-sales .bi-pivot-tools .bi-sales-unplanned{flex-direction:row;margin:0}
#bgp-sales .bi-pivot-sum{margin-right:auto;color:var(--secondary)}
#bgp-sales .bi-pivot-sum b{color:var(--text);font-variant-numeric:tabular-nums}
#bgp-sales .bi-pivot-export{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--text);font:inherit;cursor:pointer}
#bgp-sales .bi-pivot-export:hover:not(:disabled){background:var(--surface-hover)}
#bgp-sales .bi-pivot-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:8px;touch-action:pan-x pan-y pinch-zoom}
#bgp-sales .bi-pivot-state{display:grid;place-items:center;min-height:200px;margin:0}
#bgp-sales .bi-pivot-grid{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
#bgp-sales .bi-pivot-grid th,#bgp-sales .bi-pivot-grid td{padding:3px 6px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:400}
#bgp-sales .bi-pivot-grid .num{min-width:46px;text-align:right}
#bgp-sales .bi-pivot-grid thead th{position:sticky;top:0;z-index:3;height:28px;background:var(--surface);color:var(--secondary);font-weight:600}
#bgp-sales .bi-pivot-grid tfoot th,#bgp-sales .bi-pivot-grid tfoot td{position:sticky;bottom:0;z-index:3;height:30px;background:var(--surface);border-top:1px solid var(--secondary);border-bottom:0;font-weight:600}
#bgp-sales .bi-pivot-grid .bi-pivot-name{position:sticky;left:0;z-index:2;width:1%;background:var(--surface);text-align:left;font-weight:600;border-right:1px solid var(--line)}
#bgp-sales .bi-pivot-grid thead .bi-pivot-name,#bgp-sales .bi-pivot-grid tfoot .bi-pivot-name{z-index:4}
#bgp-sales .bi-pivot-grid .bi-group-name{display:flex;align-items:center;gap:8px;min-width:0}
#bgp-sales .bi-pivot-grid .bi-group-name>span:last-child{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bgp-sales .bi-pivot-grid .bi-row-photo{width:24px;height:24px}
#bgp-sales .bi-pivot-grid .bi-pivot-total{border-left:1px solid var(--line);font-weight:600}
#bgp-sales .bi-pivot-grid .bi-pivot-spark{padding:1px 6px;text-align:center}
#bgp-sales .bi-pivot-grid td[data-neg]{color:var(--bad)}
#bgp-sales .bi-pivot-grid td[data-h="1"]{background:color-mix(in srgb,var(--pivot-heat) 3%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="2"]{background:color-mix(in srgb,var(--pivot-heat) 6%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="3"]{background:color-mix(in srgb,var(--pivot-heat) 9%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="4"]{background:color-mix(in srgb,var(--pivot-heat) 12%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="5"]{background:color-mix(in srgb,var(--pivot-heat) 15%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="6"]{background:color-mix(in srgb,var(--pivot-heat) 18%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="7"]{background:color-mix(in srgb,var(--pivot-heat) 21%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="8"]{background:color-mix(in srgb,var(--pivot-heat) 24%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="9"]{background:color-mix(in srgb,var(--pivot-heat) 27%,var(--surface))}
#bgp-sales .bi-pivot-grid td[data-h="10"]{background:color-mix(in srgb,var(--pivot-heat) 30%,var(--surface))}
@media(min-width:768px){#bgp-sales .bi-pivot-grid .bi-pivot-total{position:sticky;right:84px;z-index:2;min-width:70px;background:var(--surface)}#bgp-sales .bi-pivot-grid .bi-pivot-spark{position:sticky;right:0;z-index:2;width:84px;min-width:84px;background:var(--surface)}#bgp-sales .bi-pivot-grid thead .bi-pivot-total,#bgp-sales .bi-pivot-grid thead .bi-pivot-spark,#bgp-sales .bi-pivot-grid tfoot .bi-pivot-total,#bgp-sales .bi-pivot-grid tfoot .bi-pivot-spark{z-index:4}}
/* task 380: the Bitrix24 login beside the form */
#bgp-sales .bi-bitrix-login{display:flex;flex-direction:column;gap:10px;margin:18px 0 0}
#bgp-sales .bi-bitrix-login[hidden]{display:none}
#bgp-sales .bi-bitrix-button{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:12px 14px;border-radius:10px;text-align:center;font-weight:600;background:var(--button-primary-bg);color:var(--button-on-primary)}
#bgp-sales .bi-bitrix-login p{margin:0;text-align:center;font-size:13px;color:var(--muted)}
/* task 402: only the button */
#bgp-sales #signin[data-bitrix-only="true"] .eyebrow,#bgp-sales #signin[data-bitrix-only="true"] .description,#bgp-sales #signin[data-bitrix-only="true"] .bi-bitrix-login p{display:none}
#bgp-sales #signin-form[hidden]{display:none}
