/* source: detailed-report-excel.css */
/* Detailed Reports — compact spreadsheet-style presentation. */

.detail-grid {
  --dr-grid-border: #d6dce1;
  --dr-grid-strong: #bcc6ce;
  --dr-head-bg: #e7ecef;
  --dr-subhead-bg: #f3f5f6;
  --dr-row-alt: #fbfcfc;
  --dr-text: #263238;
  --dr-muted: #66737b;
  --dr-accent: #476b56;
  --dr-accent-soft: #e7efe9;
  gap: 10px;
  color: var(--dr-text);
}
.detail-grid .detail-order-bar {padding:10px 12px;gap:10px;border:1px solid var(--dr-grid-strong);border-radius:6px;background:#f7f9fa;box-shadow:none}
.detail-grid .detail-report-filters {display:grid;grid-template-columns:repeat(2,minmax(170px,230px));gap:8px;margin-right:auto;padding:0;border:0;border-radius:0;background:transparent}
.detail-grid .detail-report-filters label {color:#4f5d65;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.detail-grid .detail-report-filters select {height:34px;margin-top:4px;padding:6px 9px;border-color:var(--dr-grid-strong);border-radius:4px;background:#fff;font-size:11px}
.detail-grid .detail-order-bar>span {color:var(--dr-muted);font-size:10px}
.detail-grid .detail-order-bar button {min-height:34px;padding:7px 11px;border-radius:4px;font-size:10px}
.detail-grid>.panel,.detail-grid .detail-collapsible-panel {padding:0;overflow:hidden;border:1px solid var(--dr-grid-strong);border-radius:6px;background:#fff;box-shadow:none}
.detail-grid .detail-collapsible-panel.is-open {border-color:#aeb9c2}
.detail-grid .detail-section-toggle,.detail-grid .detail-collapsible-panel>.panel-head {min-height:46px;margin:0;padding:9px 12px;align-items:center;gap:10px;border-bottom:1px solid var(--dr-grid-strong);background:var(--dr-head-bg);cursor:pointer}
.detail-grid .detail-collapsible-panel.is-collapsed .detail-section-toggle,.detail-grid .detail-collapsible-panel.is-collapsed>.panel-head {border-bottom:0}
.detail-grid .detail-section-toggle>div:first-child,.detail-grid .detail-collapsible-panel>.panel-head>div:first-child {min-width:0}
.detail-grid .detail-section-toggle small,.detail-grid .detail-collapsible-panel>.panel-head small {color:#738089;font-size:8px;letter-spacing:.1em}
.detail-grid .detail-section-toggle h2,.detail-grid .detail-section-toggle b,.detail-grid .detail-collapsible-panel>.panel-head h2,.detail-grid .detail-collapsible-panel>.panel-head b {color:#25323a;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:800}
.detail-grid .detail-section-toggle>b,.detail-grid .detail-collapsible-panel>.panel-head>b {margin-left:auto;color:#34464f;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.detail-grid .detail-section-chevron {display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid #c9d1d6;border-radius:4px;background:#fff;color:#53626a;font-size:11px;transition:transform .15s ease}
.detail-grid .is-collapsed .detail-section-chevron {transform:rotate(-90deg)}
.detail-grid .table-wrap {width:100%;overflow:auto;border-radius:0;background:#fff;-webkit-overflow-scrolling:touch}
.detail-grid table {width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:10.5px;line-height:1.25}
.detail-grid thead th {position:sticky;top:0;z-index:2;height:34px;padding:7px 9px;border-right:1px solid #c9d0d5;border-bottom:2px solid #aeb8bf;background:var(--dr-subhead-bg);color:#46545c;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.detail-grid thead th:last-child,.detail-grid tbody td:last-child {border-right:0}
.detail-grid tbody td {height:34px;padding:7px 9px;border-right:1px solid #e4e8eb;border-bottom:1px solid #e1e5e8;background:#fff;color:#313d43;vertical-align:middle}
.detail-grid tbody tr:nth-child(even) td {background:var(--dr-row-alt)}
.detail-grid tbody tr:hover td {background:#f1f6f2}
.detail-grid tbody tr:last-child td {border-bottom:0}
.detail-grid td.num,.detail-grid th.num,.detail-grid td:last-child,.detail-grid th:last-child {font-variant-numeric:tabular-nums}
.detail-grid td.num,.detail-grid th.num {text-align:right}
.detail-grid tbody td:first-child {font-weight:650;color:#27343b}
.detail-grid tbody tr:last-child td {border-top:1px solid #b8c2c9;background:#eef2f4;font-weight:800;color:#243139}
.detail-grid tbody tr:last-child:hover td {background:#e8edef}
.detail-grid td:nth-last-child(-n+3),.detail-grid th:nth-last-child(-n+3) {background-color:rgba(231,239,233,.42)}
.detail-grid thead th:nth-last-child(-n+3) {background:#e8efea;color:#3d5848}
.detail-grid tbody tr:last-child td:nth-last-child(-n+3) {background:#dde9e0}
.detail-grid tbody td:nth-last-child(-n+3) {font-weight:700}
.detail-grid tbody td:nth-last-child(1) {border-left:1px solid #cfd8d2}
.detail-grid tr.total-row td,.detail-grid tr.report-total td,.detail-grid tr.grand-total td {border-top:2px solid #89969e!important;background:#e5eaed!important;font-weight:900!important;color:#1f2b31!important}
.detail-grid tr.subtotal-row td,.detail-grid tr.report-subtotal td,.detail-grid tr.subtotal td {border-top:1px solid #bdc7cd;background:#f1f4f5!important;font-weight:800!important}
.detail-grid tr.total-row td:nth-last-child(-n+3),.detail-grid tr.report-total td:nth-last-child(-n+3),.detail-grid tr.grand-total td:nth-last-child(-n+3) {background:#d7e4da!important;color:#294536!important}
.detail-grid td select,.detail-grid td input {min-height:29px;margin:0;padding:5px 7px;border:1px solid #cfd6db;border-radius:3px;background:#fff;font-size:10px}
.detail-grid .tag {display:inline-flex;align-items:center;min-height:18px;margin-left:5px;padding:2px 5px;border:1px solid #d7dfd9;border-radius:3px;background:var(--dr-accent-soft);color:var(--dr-accent);font-size:7px;font-weight:800;letter-spacing:.04em}
.detail-grid .order-buttons {gap:2px}.detail-grid .order-buttons button {width:24px;height:24px;padding:0;border-radius:3px}
.detail-grid .table-wrap::-webkit-scrollbar {height:9px;width:9px}.detail-grid .table-wrap::-webkit-scrollbar-thumb {border:2px solid #f7f8f9;border-radius:8px;background:#bcc5cb}.detail-grid .table-wrap::-webkit-scrollbar-track {background:#f7f8f9}

/* Detailed Report analytics layer */
.detail-analytics-shell{display:grid;gap:12px;padding:16px;border:1px solid #d8e0e7;border-radius:10px;background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);box-shadow:0 8px 24px rgba(18,42,66,.06)}
.detail-analytics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.detail-analytics-head>div:first-child{display:grid;gap:3px}.detail-analytics-head small{font-size:8px;font-weight:900;letter-spacing:.09em;color:#72808c}.detail-analytics-head h2{margin:0;font-size:19px;line-height:1.1;color:#13273b}.detail-analytics-head span{font-size:10px;color:#6f7d89}
.detail-week-controls{display:flex;align-items:end;gap:8px}.detail-week-controls label{display:grid;gap:4px;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#66747f}.detail-week-controls select{min-width:210px;height:36px;padding:0 10px;border:1px solid #cfd9e2;border-radius:6px;background:#fff;color:#263746;font-size:11px;font-weight:700}.detail-compare-chip{display:grid;gap:2px;min-width:190px;padding:8px 10px;border:1px solid #d9e1e7;border-radius:6px;background:#fff}.detail-compare-chip b{font-size:10.5px;color:#314657}
.detail-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #d9e1e7;border-radius:8px;overflow:hidden;background:#fff}.detail-kpi-strip article{min-width:0;padding:12px 13px;border-right:1px solid #e4e9ed}.detail-kpi-strip article:last-child{border-right:0}.detail-kpi-strip small{display:block;margin-bottom:5px;font-size:8px;font-weight:800;letter-spacing:.04em;color:#6d7a85}.detail-kpi-strip b{display:block;overflow:hidden;text-overflow:ellipsis;font-size:18px;line-height:1.1;color:#152b3e;white-space:nowrap}.detail-kpi-strip span{display:block;margin-top:5px;font-size:8.5px;font-weight:700;color:#75838e}.detail-kpi-strip .positive{color:#24804a}.detail-kpi-strip .negative{color:#bf3f3f}
.detail-insights-row{display:grid;grid-template-columns:1.15fr repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}.detail-insights-title{display:grid;align-content:center;gap:3px;padding:10px 12px;border-right:1px solid #dce4ea}.detail-insights-title b{font-size:11px;color:#24394b}.detail-insights-title small{font-size:8.5px;color:#7b8791}.detail-insight{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #e0e6eb;border-radius:7px;background:#fff}.detail-insight>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#edf3f8;color:#49657c;font-size:11px;font-weight:900}.detail-insight p{display:grid;gap:2px;margin:0;min-width:0}.detail-insight b{overflow:hidden;text-overflow:ellipsis;font-size:9.5px;color:#2c3f4e;white-space:nowrap}.detail-insight small{font-size:8px;line-height:1.3;color:#74818b}.detail-insight.positive>span{background:#e7f4eb;color:#2e7d4b}.detail-insight.warning>span{background:#fff0e7;color:#b85c2b}.detail-insight.warning b{color:#a4472f}
.detail-movers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.detail-rank-card{min-width:0;overflow:hidden;border:1px solid #dbe3e9;border-radius:7px;background:#fff}.detail-rank-card header{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:10px 11px;border-bottom:1px solid #e4e9ed;background:#f7f9fa}.detail-rank-card header div{display:grid;gap:2px}.detail-rank-card header small{font-size:7px;font-weight:900;letter-spacing:.08em;color:#7b8791}.detail-rank-card header b{font-size:11px;color:#253b4d}.detail-rank-card header>span{font-size:7.5px;color:#84909a}.detail-rank-list{display:grid}.detail-rank-list button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:43px;padding:7px 10px;border:0;border-bottom:1px solid #edf0f2;border-radius:0;background:#fff;color:#283a48;text-align:left;box-shadow:none}.detail-rank-list button:last-child{border-bottom:0}.detail-rank-list button:hover{background:#f3f7f5}.detail-rank-list em{font-style:normal;font-size:9px;font-weight:900;color:#8a969f}.detail-rank-list button>span{display:grid;gap:1px;min-width:0}.detail-rank-list button>span b{overflow:hidden;text-overflow:ellipsis;font-size:9.5px;white-space:nowrap}.detail-rank-list button>span small{font-size:7.5px;color:#7d8992}.detail-rank-list strong{font-size:9.5px;white-space:nowrap}.rank-positive{color:#27804c!important}.rank-negative{color:#bd4141!important}.detail-rank-empty{margin:0;padding:14px 10px;font-size:8.5px;color:#7d8992}.detail-product-drawer{display:grid;grid-template-rows:auto auto auto auto 1fr;align-content:start;gap:14px;width:min(480px,94vw);height:100%;padding:20px;overflow:auto;background:#f8fafb;box-shadow:-18px 0 45px rgba(12,28,43,.18)}.detail-product-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid #dbe3e8}.detail-product-drawer>header>div{display:grid;gap:3px}.detail-product-drawer>header small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#75838e}.detail-product-drawer>header h2{margin:0;font-size:21px;color:#172d40}.detail-product-drawer>header span{font-size:9px;color:#798690}.detail-drawer-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-drawer-kpis article{padding:11px;border:1px solid #dfe6eb;border-radius:6px;background:#fff}.detail-drawer-kpis small{display:block;font-size:8px;font-weight:800;color:#77848e}.detail-drawer-kpis b{display:block;margin-top:4px;font-size:17px;color:#1f3445}.detail-drawer-kpis span{display:block;margin-top:4px;font-size:8.5px;font-weight:700;color:#75828d}.detail-product-drawer .positive{color:#27804c!important}.detail-product-drawer .negative{color:#bd4141!important}.detail-drawer-comparison{overflow:hidden;border:1px solid #dce4e9;border-radius:6px;background:#fff}.detail-drawer-comparison>div{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;min-height:39px;border-bottom:1px solid #e8ecef}.detail-drawer-comparison>div:last-child{border-bottom:0}.detail-drawer-comparison>div:first-child{background:#eef2f4}.detail-drawer-comparison>* *{padding:0 9px}.detail-drawer-comparison small,.detail-drawer-comparison>div:first-child b{font-size:7.5px;font-weight:900;letter-spacing:.03em;color:#677680}.detail-drawer-comparison span{font-size:9px;font-weight:700;color:#455865}.detail-drawer-comparison strong,.detail-drawer-comparison em{font-size:9px;font-style:normal;font-weight:800;text-align:right;color:#263b4b}.detail-drawer-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-drawer-meta div{display:grid;gap:3px;padding:10px;border:1px solid #e0e6ea;border-radius:6px;background:#fff}.detail-drawer-meta small{font-size:7.5px;font-weight:800;color:#7b8790}.detail-drawer-meta b{overflow:hidden;text-overflow:ellipsis;font-size:9.5px;color:#304554;white-space:nowrap}.detail-drawer-product-link{align-self:end;min-height:38px;border-radius:5px}

@media (max-width:1100px){.detail-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-kpi-strip article:nth-child(3){border-right:0}.detail-kpi-strip article:nth-child(-n+3){border-bottom:1px solid #e4e9ed}.detail-insights-row{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-insights-title{grid-column:1/-1;border-right:0;border-bottom:1px solid #dce4ea}.detail-movers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.detail-grid{gap:8px}.detail-grid .detail-order-bar{padding:9px}.detail-grid .detail-report-filters{grid-template-columns:1fr;width:100%}.detail-grid .detail-section-toggle,.detail-grid .detail-collapsible-panel>.panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;min-height:44px;padding:8px 9px}.detail-grid .detail-section-toggle>b,.detail-grid .detail-collapsible-panel>.panel-head>b{margin-left:0;font-size:9.5px}.detail-grid .table-wrap table{min-width:620px}.detail-grid thead th,.detail-grid tbody td{padding-left:7px;padding-right:7px}.detail-analytics-shell{padding:11px;gap:10px;border-radius:8px}.detail-analytics-head{align-items:stretch;flex-direction:column}.detail-week-controls{display:grid;grid-template-columns:1fr}.detail-week-controls select,.detail-compare-chip{width:100%;min-width:0}.detail-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-kpi-strip article{border-bottom:1px solid #e4e9ed}.detail-kpi-strip article:nth-child(even){border-right:0}.detail-kpi-strip article:nth-last-child(-n+2){border-bottom:0}.detail-kpi-strip b{font-size:15px}.detail-insights-row{display:flex;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}.detail-insights-title{min-width:150px;flex:0 0 150px;border-bottom:0;border-right:1px solid #dce4ea}.detail-insight{min-width:210px;flex:0 0 210px;scroll-snap-align:start}.detail-movers-grid{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.detail-rank-card{min-width:270px;flex:0 0 82vw;scroll-snap-align:start}.detail-product-drawer{width:100%;padding:15px}.detail-product-drawer>header h2{font-size:18px}.detail-drawer-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-drawer-comparison>div{grid-template-columns:1fr repeat(3,.85fr)}.detail-drawer-comparison>* *{padding:0 6px}}

/* source: detailed-report-performance.css */
.detail-performance-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:9px}.detail-performance-card{min-width:0;overflow:hidden;border:1px solid #dbe3e9;border-radius:7px;background:#fff}.detail-performance-card>header{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:10px 11px;border-bottom:1px solid #e4e9ed;background:#f7f9fa}.detail-performance-card>header>div{display:grid;gap:2px}.detail-performance-card>header small{font-size:7px;font-weight:900;letter-spacing:.08em;color:#7b8791}.detail-performance-card>header b{font-size:11px;color:#253b4d}.detail-performance-card>header>span{font-size:7.5px;color:#84909a}.detail-performance-table{display:grid}.detail-performance-head,.detail-performance-row{display:grid;grid-template-columns:minmax(150px,1.7fr) repeat(5,minmax(58px,.7fr));align-items:center;gap:0}.detail-performance-head{min-height:29px;background:#f2f5f7;border-bottom:1px solid #dfe5e9}.detail-performance-head span{padding:0 9px;font-size:7px;font-weight:900;letter-spacing:.05em;color:#6c7983;text-transform:uppercase}.detail-performance-head span:not(:first-child){text-align:right}.detail-performance-row{min-height:42px;border-bottom:1px solid #edf0f2}.detail-performance-row:last-child{border-bottom:0}.detail-performance-row:hover{background:#f8faf9}.detail-performance-row>span{display:grid;gap:1px;padding:6px 9px;min-width:0}.detail-performance-row>span b{overflow:hidden;text-overflow:ellipsis;font-size:9.5px;color:#2d404e;white-space:nowrap}.detail-performance-row>span small{font-size:7.5px;color:#84909a}.detail-performance-row>strong{padding:6px 9px;font-size:9px;text-align:right;color:#334957}.detail-performance-card .positive{color:#27804c!important}.detail-performance-card .negative{color:#bd4141!important}.detail-trend-summary{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid #e7ebee}.detail-trend-summary>span{display:grid;gap:2px;padding:9px 11px}.detail-trend-summary>span:first-child{border-right:1px solid #e7ebee}.detail-trend-summary small{font-size:7.5px;font-weight:800;color:#7c8992}.detail-trend-summary b{font-size:13px;color:#243a4b}.detail-trend-chart{display:flex;align-items:flex-end;gap:8px;height:155px;padding:12px 12px 9px}.detail-trend-week{display:grid;grid-template-rows:auto 1fr auto;gap:5px;align-items:end;justify-items:center;min-width:0;flex:1;height:100%}.detail-trend-value{overflow:hidden;width:100%;font-size:7px;font-weight:800;color:#61717c;text-align:center;text-overflow:ellipsis;white-space:nowrap}.detail-trend-bar-wrap{display:flex;align-items:flex-end;width:min(28px,68%);height:100%;min-height:70px;border-radius:3px 3px 0 0;background:#eef2f4;overflow:hidden}.detail-trend-bar-wrap i{display:block;width:100%;min-height:4px;border-radius:3px 3px 0 0;background:#506d83}.detail-trend-week:last-child .detail-trend-bar-wrap i{background:#476b56}.detail-trend-week>small{font-size:7px;font-weight:800;color:#77858f}.detail-subcategory-performance{width:100%}.detail-subcategory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.detail-subcategory-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;min-height:76px;padding:10px 11px;border-right:1px solid #e8ecef;border-bottom:1px solid #e8ecef;background:#fff}.detail-subcategory-grid article:nth-child(4n){border-right:0}.detail-subcategory-grid article:nth-last-child(-n+4){border-bottom:0}.detail-subcategory-grid article>div{display:grid;gap:1px;min-width:0}.detail-subcategory-grid article>div small{font-size:7px;font-weight:800;color:#84909a}.detail-subcategory-grid article>div b{overflow:hidden;text-overflow:ellipsis;font-size:9.5px;color:#2c404f;white-space:nowrap}.detail-subcategory-grid article>strong{font-size:10px;color:#263d4e;white-space:nowrap}.detail-subcategory-grid article>span{font-size:7.5px;color:#7d8993}.detail-subcategory-grid article>em{font-size:8px;font-style:normal;font-weight:800;text-align:right}.detail-subcategory-grid .positive{color:#27804c}.detail-subcategory-grid .negative{color:#bd4141}
.detail-quick-nav{display:flex;gap:5px;overflow-x:auto;padding:2px 0 1px;scrollbar-width:none}.detail-quick-nav::-webkit-scrollbar{display:none}.detail-quick-nav button{min-height:30px;padding:6px 10px;border:1px solid #d7e0e6;border-radius:999px;background:#fff;color:#536571;font-size:8.5px;font-weight:800;white-space:nowrap;box-shadow:none}.detail-quick-nav button:hover{border-color:#aebbc4;background:#f2f6f4;color:#314b3d}.detail-context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #dce4e9;border-radius:7px;background:#f7f9fa}.detail-context-strip article{display:grid;gap:2px;min-width:0;padding:9px 11px;border-right:1px solid #e4e9ed}.detail-context-strip article:last-child{border-right:0}.detail-context-strip small{font-size:7.5px;font-weight:800;color:#77848e}.detail-context-strip b{overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#263d4e;white-space:nowrap}.detail-context-strip span{overflow:hidden;text-overflow:ellipsis;font-size:7.5px;color:#83909a;white-space:nowrap}.detail-context-strip .positive{color:#27804c}.detail-context-strip .negative{color:#bd4141}
@media(max-width:1100px){.detail-performance-grid{grid-template-columns:1fr}.detail-subcategory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-subcategory-grid article:nth-child(4n){border-right:1px solid #e8ecef}.detail-subcategory-grid article:nth-child(3n){border-right:0}.detail-subcategory-grid article:nth-last-child(-n+4){border-bottom:1px solid #e8ecef}.detail-subcategory-grid article:nth-last-child(-n+3){border-bottom:0}.detail-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-context-strip article:nth-child(2){border-right:0}.detail-context-strip article:nth-child(-n+2){border-bottom:1px solid #e4e9ed}}
@media(max-width:700px){.detail-performance-card{overflow-x:auto}.detail-performance-card>header{position:sticky;left:0;min-width:100%;width:max-content}.detail-performance-table{min-width:650px}.detail-trend-card{overflow:hidden}.detail-trend-card>header{width:auto}.detail-trend-chart{gap:5px;height:135px;padding-left:8px;padding-right:8px}.detail-trend-value{font-size:6.5px}.detail-trend-bar-wrap{width:min(22px,78%)}.detail-subcategory-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.detail-subcategory-grid article{min-width:205px;flex:0 0 205px;border-bottom:0!important;border-right:1px solid #e8ecef!important;scroll-snap-align:start}.detail-subcategory-grid article:last-child{border-right:0!important}.detail-quick-nav{margin:0 -2px;padding-bottom:2px}.detail-quick-nav button{min-height:32px;padding:7px 11px;font-size:9px}.detail-context-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;background:transparent;border:0;border-radius:0}.detail-context-strip article{min-width:175px;flex:0 0 175px;border:1px solid #dce4e9!important;border-radius:6px;background:#fff;scroll-snap-align:start}.detail-context-strip b{font-size:13px}}

/* Approved Detailed Reports project style: keep this navigation neutral/blue, never burgundy. */
.app main:has(.detail-grid) .detail-context-strip{margin-top:-3px}
.app main:has(.detail-grid) .detail-kpi-strip{margin-top:1px}
.app main:has(.detail-grid) .detail-insights-row{margin-top:1px}
.app main:has(.detail-grid) .detail-performance-grid{margin-top:1px}
@media(max-width:700px){
  .app main:has(.detail-grid) .detail-quick-nav{
    top:0;
    margin:0 -1px!important;
  }
}

/* source: detailed-product-explorer.css */
.detail-product-explorer{overflow:hidden;border:1px solid #dbe3e9;border-radius:8px;background:#fff}.detail-product-explorer>header{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #e4e9ed;background:#f7f9fa}.detail-product-explorer>header>div:first-child{display:grid;gap:2px}.detail-product-explorer>header small{font-size:7px;font-weight:900;letter-spacing:.08em;color:#7b8791}.detail-product-explorer>header b{font-size:11px;color:#253b4d}.detail-product-explorer>header span{font-size:7.5px;color:#84909a}.detail-explorer-controls{display:flex;gap:7px;align-items:center}.detail-explorer-controls input{width:min(330px,34vw);height:34px;padding:0 10px;border:1px solid #cfd9e2;border-radius:6px;background:#fff;font-size:10px}.detail-explorer-controls select{height:34px;padding:0 9px;border:1px solid #cfd9e2;border-radius:6px;background:#fff;font-size:10px}.detail-explorer-modes{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid #e7ecef;background:#fbfcfd;overflow-x:auto}.detail-explorer-modes button{min-height:28px;padding:5px 10px;border:1px solid #d7e0e6;border-radius:999px;background:#fff;color:#526471;font-size:8px;font-weight:800;white-space:nowrap;box-shadow:none}.detail-explorer-modes button.is-active{border-color:#9eb3a5;background:#e9f1eb;color:#355543}.detail-explorer-table{display:grid}.detail-explorer-head,.detail-explorer-row{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(76px,.55fr));align-items:center}.detail-explorer-head{min-height:30px;border-bottom:1px solid #dfe5e9;background:#f2f5f7}.detail-explorer-head span{padding:0 10px;font-size:7px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#6c7983}.detail-explorer-head span:not(:first-child){text-align:right}.detail-explorer-row{min-height:44px;width:100%;padding:0;border:0;border-bottom:1px solid #edf0f2;border-radius:0;background:#fff;text-align:left;box-shadow:none}.detail-explorer-row:hover{background:#f6f9f7}.detail-explorer-row:last-child{border-bottom:0}.detail-explorer-row>span{display:grid;gap:1px;min-width:0;padding:7px 10px}.detail-explorer-row>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#2d404e}.detail-explorer-row>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;color:#84909a}.detail-explorer-row>strong{padding:7px 10px;font-size:9px;text-align:right;color:#334957}.detail-product-explorer .positive{color:#27804c!important}.detail-product-explorer .negative{color:#bd4141!important}.detail-explorer-empty{margin:0;padding:16px 12px;font-size:9px;color:#78858e}.detail-product-explorer>footer{padding:7px 10px;border-top:1px solid #edf0f2;background:#fafbfc;font-size:7.5px;color:#7c8992;text-align:right}@media(max-width:700px){.detail-product-explorer>header{align-items:stretch;flex-direction:column}.detail-explorer-controls{display:grid;grid-template-columns:1fr}.detail-explorer-controls input,.detail-explorer-controls select{width:100%}.detail-explorer-table{overflow-x:auto}.detail-explorer-head,.detail-explorer-row{min-width:590px;grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(72px,.55fr))}.detail-explorer-row>span{position:sticky;left:0;z-index:1;background:inherit}.detail-explorer-head span:first-child{position:sticky;left:0;z-index:2;background:#f2f5f7}}

/* source: detailed-report-clean-ui.css */
/* BeverageHub Detailed Reports — clean weekly analytics surface */
.app .detail-grid{
  --dr-blue:#2563eb;
  --dr-blue-soft:#eff6ff;
  --dr-ink:#172033;
  --dr-muted:#667085;
  --dr-line:#e5e9ef;
  --dr-soft:#f8fafc;
  --dr-green:#16803a;
  --dr-red:#dc2626;
  --dr-orange:#ea580c;
  display:grid;
  gap:12px;
  color:var(--dr-ink);
}

.app .detail-grid .detail-order-bar{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--dr-line);
  border-radius:9px;
  background:#fff;
  box-shadow:0 2px 8px rgba(16,24,40,.035);
}
.app .detail-grid .detail-report-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(190px,230px));
  gap:9px;
  margin-right:auto;
}
.app .detail-grid .detail-report-filters label{
  display:grid;
  gap:5px;
  color:#475467;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:none;
}
.app .detail-grid .detail-report-filters select{
  height:38px;
  min-height:38px;
  padding:0 11px;
  border:1px solid #d7dee7;
  border-radius:7px;
  background:#fff;
  color:#344054;
  font-size:11px;
  font-weight:650;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.app .detail-grid .detail-order-bar>button{
  min-height:38px;
  height:38px;
  padding:0 13px;
  border-radius:7px;
  font-size:10px;
  font-weight:750;
}
.app .detail-grid .detail-order-bar>button:last-child{
  border:1px solid #2463eb;
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 2px 5px rgba(37,99,235,.14);
}
.app .detail-grid .detail-order-bar>span{
  align-self:center;
  max-width:235px;
  color:#98a2b3;
  font-size:9px;
  line-height:1.35;
}

.app .detail-grid .detail-collapsible-panel{
  overflow:hidden;
  padding:0!important;
  border:1px solid var(--dr-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.03)!important;
}
.app .detail-grid .detail-collapsible-panel.is-open{
  border-color:#d9e0e8!important;
}
.app .detail-grid .detail-section-toggle{
  min-height:48px;
  margin:0!important;
  padding:10px 13px!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--dr-ink)!important;
  box-shadow:none!important;
  transition:background .15s ease;
}
.app .detail-grid .detail-collapsible-panel.is-open .detail-section-toggle{
  border-bottom-color:var(--dr-line)!important;
  background:#fbfcfe!important;
}
.app .detail-grid .detail-section-toggle:hover{
  background:#f8fafc!important;
}
.app .detail-grid .detail-section-toggle>div:first-child{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.app .detail-grid .detail-section-toggle small{
  display:none;
}
.app .detail-grid .detail-section-toggle h2{
  margin:0;
  color:#1d2939;
  font-size:12px;
  font-weight:750;
  letter-spacing:-.01em;
}
.app .detail-grid .detail-section-toggle>b{
  margin-left:auto;
  color:#475467;
  font-size:10px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.app .detail-grid .detail-section-chevron{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border:1px solid #dde3ea;
  border-radius:6px;
  background:#fff;
  color:#667085;
  font-size:10px;
  transition:transform .15s ease;
}
.app .detail-grid .detail-collapsible-panel.is-collapsed .detail-section-chevron{
  transform:rotate(-90deg);
}
.app .detail-grid .category-order-buttons{
  display:flex;
  gap:4px;
}
.app .detail-grid .category-order-buttons button,
.app .detail-grid .order-buttons button{
  min-height:26px!important;
  height:26px!important;
  width:26px!important;
  padding:0!important;
  border:1px solid #dce2e8!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#667085!important;
  box-shadow:none!important;
}

.app .detail-grid .table-wrap{
  width:100%;
  overflow:auto;
  border:0!important;
  border-radius:0!important;
  background:#fff;
  box-shadow:none!important;
}
.app .detail-grid table{
  width:100%;
  border-collapse:collapse;
  font-size:10px;
  line-height:1.3;
}
.app .detail-grid thead th{
  position:sticky;
  top:0;
  z-index:2;
  height:34px;
  padding:7px 9px;
  border-bottom:1px solid #dfe4ea;
  background:#f8fafc;
  color:#667085;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:none;
  white-space:nowrap;
}
.app .detail-grid tbody td{
  height:40px;
  padding:8px 9px;
  border-bottom:1px solid #edf0f3;
  background:#fff;
  color:#344054;
  vertical-align:middle;
}
.app .detail-grid tbody tr:nth-child(even) td{
  background:#fff;
}
.app .detail-grid tbody tr:hover td{
  background:#f8fbff;
}
.app .detail-grid tbody tr:last-child td{
  border-bottom:0;
}
.app .detail-grid tbody td:first-child{
  color:#1d2939;
  font-weight:700;
}
.app .detail-grid td.num,
.app .detail-grid th.num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.app .detail-grid td.num b{
  color:#1d2939;
}
.app .detail-grid .product-gp-percent.strong{color:var(--dr-green)!important}
.app .detail-grid .product-gp-percent.attention{color:var(--dr-orange)!important}
.app .detail-grid .product-gp-percent.low,
.app .detail-grid .product-gp-value.negative{color:var(--dr-red)!important}
.app .detail-grid .gp-missing{color:#98a2b3;font-size:8px}
.app .detail-grid .adjustment-percent b{color:#b42318;font-weight:750}
.app .detail-grid .tag{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  margin-left:5px;
  padding:1px 5px;
  border:1px solid #dbe7ff;
  border-radius:999px;
  background:#f3f7ff;
  color:#315fb5;
  font-size:7px;
  font-weight:800;
}
.app .detail-grid .combined-lines summary{
  margin-top:3px;
  color:#667085;
  font-size:7.5px;
}
.app .detail-grid .note{
  margin:0;
  padding:9px 12px;
  border-top:1px solid #edf0f3;
  background:#fbfcfd;
  color:#667085;
  font-size:9px;
}

/* Selected report navigation reads like the blue-accented mockup while retaining burgundy app navigation. */
.app header:has(+ .notice + .detail-grid) h1,
.app main:has(.detail-grid) header h1{
  color:#172033;
}
.app main:has(.detail-grid) .notice{
  border:1px solid #e6eaf0;
}
.app main:has(.detail-grid) .report-action-buttons>button:not(.secondary){
  background:#2563eb!important;
  border-color:#2563eb!important;
}

@media (max-width:1100px){
  .app .detail-grid .detail-order-bar{flex-wrap:wrap}
  .app .detail-grid .detail-report-filters{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .app .detail-grid .detail-order-bar>span{display:none}
}

@media (max-width:700px){
  .app main:has(.detail-grid){background:#f8fafc}
  .app .detail-grid{gap:9px}
  .app .detail-grid .detail-order-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
    gap:7px;
    padding:10px;
    border-radius:9px;
  }
  .app .detail-grid .detail-report-filters{
    grid-column:1/-1;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .app .detail-grid .detail-report-filters select{
    min-width:0;
    width:100%;
    height:36px;
    min-height:36px;
    font-size:10px;
  }
  .app .detail-grid .detail-order-bar>button{
    width:100%;
    min-height:36px!important;
    height:36px!important;
    padding:0 8px;
    font-size:9px!important;
  }
  .app .detail-grid .detail-section-toggle{
    min-height:47px;
    padding:9px 10px!important;
  }
  .app .detail-grid .detail-section-toggle h2{
    overflow:hidden;
    max-width:50vw;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
  }
  .app .detail-grid .detail-section-toggle>b{
    font-size:8.5px;
  }
  .app .detail-grid .detail-section-chevron{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .app .detail-grid .table-wrap{
    margin-right:0!important;
    border-radius:0!important;
  }
  .app .detail-grid table{
    min-width:920px;
    font-size:9.5px;
  }
  .app .detail-grid thead th{font-size:7px}
  .app .detail-grid tbody td{height:38px;padding:7px 8px}
  .app .detail-grid .table-wrap table th:first-child,
  .app .detail-grid .table-wrap table td:first-child{
    left:0;
    min-width:150px;
    background:#fff;
    box-shadow:4px 0 8px rgba(16,24,40,.04);
  }
  .app .detail-grid .table-wrap table th:first-child{background:#f8fafc}
}

/* source: detailed-report-approved-theme.css */
/* Detailed Reports approved project theme — source of truth for the whole panel.
   Burgundy is intentionally reserved for the main BeverageHub sidebar only. */
.app main:has(.detail-grid){
  --dr-approved-blue:#2563eb;
  --dr-approved-blue-dark:#1f5fd0;
  --dr-approved-blue-soft:#eef4ff;
  --dr-approved-ink:#172033;
  --dr-approved-text:#344054;
  --dr-approved-muted:#667085;
  --dr-approved-subtle:#98a2b3;
  --dr-approved-line:#e4e9ef;
  --dr-approved-soft:#f8fafc;
  --dr-approved-green:#16803a;
  --dr-approved-red:#dc2626;
  --dr-approved-orange:#ea580c;
  background:#f8fafc!important;
  color:var(--dr-approved-ink)!important;
}

/* Keep brand burgundy only in the application sidebar. */
.app main:has(.detail-grid) header,
.app main:has(.detail-grid) .notice,
.app main:has(.detail-grid) .detail-grid,
.app main:has(.detail-grid) .detail-grid *,
.app main:has(.detail-grid) .detail-analytics-shell,
.app main:has(.detail-grid) .detail-performance-card,
.app main:has(.detail-grid) .detail-rank-card,
.app main:has(.detail-grid) .detail-context-strip,
.app main:has(.detail-grid) .detail-kpi-strip,
.app main:has(.detail-grid) .detail-insight,
.app main:has(.detail-grid) .detail-collapsible-panel{
  --bh-burgundy:var(--dr-approved-blue);
  --bh-burgundy-dark:var(--dr-approved-blue-dark);
}

.app main:has(.detail-grid) h1,
.app main:has(.detail-grid) h2,
.app main:has(.detail-grid) h3,
.app main:has(.detail-grid) b,
.app main:has(.detail-grid) strong{color:var(--dr-approved-ink)}
.app main:has(.detail-grid) small,
.app main:has(.detail-grid) span,
.app main:has(.detail-grid) p{border-color:var(--dr-approved-line)}

/* Top controls and report actions */
.app main:has(.detail-grid) .notice,
.app main:has(.detail-grid) .detail-order-bar,
.app main:has(.detail-grid) .detail-compare-chip,
.app main:has(.detail-grid) .detail-week-controls select{
  background:#fff!important;
  border-color:var(--dr-approved-line)!important;
  color:var(--dr-approved-text)!important;
  box-shadow:0 1px 3px rgba(16,24,40,.025)!important;
}
.app main:has(.detail-grid) input,
.app main:has(.detail-grid) select,
.app main:has(.detail-grid) textarea{
  border-color:#d7dee7!important;
  background:#fff!important;
  color:var(--dr-approved-text)!important;
}
.app main:has(.detail-grid) input:focus,
.app main:has(.detail-grid) select:focus,
.app main:has(.detail-grid) textarea:focus{
  border-color:#9dbcf7!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}
.app main:has(.detail-grid) .report-action-buttons>button:not(.sign-out-btn),
.app main:has(.detail-grid) .detail-order-bar>button:last-child{
  border-color:var(--dr-approved-blue)!important;
  background:var(--dr-approved-blue)!important;
  color:#fff!important;
  box-shadow:0 2px 5px rgba(37,99,235,.14)!important;
}
.app main:has(.detail-grid) .report-action-buttons .secondary,
.app main:has(.detail-grid) .detail-order-bar .secondary,
.app main:has(.detail-grid) .order-toggle:not(.active){
  border-color:#d7dee7!important;
  background:#fff!important;
  color:var(--dr-approved-text)!important;
  box-shadow:none!important;
}
.app main:has(.detail-grid) .order-toggle.active{
  border-color:#b8cef9!important;
  background:var(--dr-approved-blue-soft)!important;
  color:var(--dr-approved-blue-dark)!important;
}

/* Quick navigation — always one compact neutral/blue row. */
.app main:has(.detail-grid) .detail-quick-nav{
  position:sticky!important;
  top:0!important;
  z-index:35!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:3px!important;
  width:100%!important;
  margin:0!important;
  padding:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid var(--dr-approved-line)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 2px 8px rgba(16,24,40,.035)!important;
  backdrop-filter:blur(10px);
  scrollbar-width:none;
}
.app main:has(.detail-grid) .detail-quick-nav::-webkit-scrollbar{display:none}
.app main:has(.detail-grid) .detail-quick-nav button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  background:transparent!important;
  color:var(--dr-approved-muted)!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.app main:has(.detail-grid) .detail-quick-nav button:hover,
.app main:has(.detail-grid) .detail-quick-nav button:focus-visible,
.app main:has(.detail-grid) .detail-quick-nav button:first-child{
  border-color:#d8e5ff!important;
  background:var(--dr-approved-blue-soft)!important;
  color:var(--dr-approved-blue-dark)!important;
}

/* Weekly analytics header and shell */
.app main:has(.detail-grid) .detail-analytics-shell{
  gap:11px!important;
  padding:14px!important;
  border:1px solid var(--dr-approved-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(16,24,40,.035)!important;
}
.app main:has(.detail-grid) .detail-analytics-head h2{color:var(--dr-approved-ink)!important}
.app main:has(.detail-grid) .detail-analytics-head small,
.app main:has(.detail-grid) .detail-analytics-head span,
.app main:has(.detail-grid) .detail-week-controls label{color:var(--dr-approved-muted)!important}

/* KPI and context strips */
.app main:has(.detail-grid) .detail-context-strip,
.app main:has(.detail-grid) .detail-kpi-strip{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.app main:has(.detail-grid) .detail-context-strip article,
.app main:has(.detail-grid) .detail-kpi-strip article{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
}
.app main:has(.detail-grid) .detail-context-strip small,
.app main:has(.detail-grid) .detail-kpi-strip small,
.app main:has(.detail-grid) .detail-kpi-strip span{color:var(--dr-approved-muted)!important}
.app main:has(.detail-grid) .detail-context-strip b,
.app main:has(.detail-grid) .detail-kpi-strip b{color:var(--dr-approved-ink)!important}

/* Insights */
.app main:has(.detail-grid) .detail-insights-title{
  border-color:var(--dr-approved-line)!important;
  background:transparent!important;
}
.app main:has(.detail-grid) .detail-insight{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.app main:has(.detail-grid) .detail-insight>span{
  background:#eef4ff!important;
  color:#315fb5!important;
}
.app main:has(.detail-grid) .detail-insight.positive>span{background:#eaf7ef!important;color:var(--dr-approved-green)!important}
.app main:has(.detail-grid) .detail-insight.warning>span{background:#fff3ea!important;color:var(--dr-approved-orange)!important}
.app main:has(.detail-grid) .detail-insight b{color:var(--dr-approved-text)!important}
.app main:has(.detail-grid) .detail-insight small{color:var(--dr-approved-muted)!important}

/* Performance, trend, movers and subcategory cards */
.app main:has(.detail-grid) .detail-performance-card,
.app main:has(.detail-grid) .detail-rank-card{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.app main:has(.detail-grid) .detail-performance-card>header,
.app main:has(.detail-grid) .detail-rank-card header{
  border-color:var(--dr-approved-line)!important;
  background:#f8fafc!important;
}
.app main:has(.detail-grid) .detail-performance-card>header b,
.app main:has(.detail-grid) .detail-rank-card header b{color:var(--dr-approved-ink)!important}
.app main:has(.detail-grid) .detail-performance-card>header small,
.app main:has(.detail-grid) .detail-rank-card header small,
.app main:has(.detail-grid) .detail-performance-card>header span,
.app main:has(.detail-grid) .detail-rank-card header span{color:var(--dr-approved-muted)!important}
.app main:has(.detail-grid) .detail-performance-head{background:#f8fafc!important;border-color:var(--dr-approved-line)!important}
.app main:has(.detail-grid) .detail-performance-row,
.app main:has(.detail-grid) .detail-rank-list button{border-color:#edf0f3!important;background:#fff!important}
.app main:has(.detail-grid) .detail-performance-row:hover,
.app main:has(.detail-grid) .detail-rank-list button:hover{background:#f8fbff!important}
.app main:has(.detail-grid) .detail-trend-bar-wrap{background:#edf2f7!important}
.app main:has(.detail-grid) .detail-trend-bar-wrap i{background:#6f8aa3!important}
.app main:has(.detail-grid) .detail-trend-week:last-child .detail-trend-bar-wrap i{background:var(--dr-approved-blue)!important}
.app main:has(.detail-grid) .detail-subcategory-grid article{border-color:var(--dr-approved-line)!important;background:#fff!important}

/* Detailed tables and collapsible sections */
.app main:has(.detail-grid) .detail-collapsible-panel{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.025)!important;
}
.app main:has(.detail-grid) .detail-section-toggle,
.app main:has(.detail-grid) .detail-collapsible-panel.is-open .detail-section-toggle{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
  color:var(--dr-approved-ink)!important;
}
.app main:has(.detail-grid) .detail-section-toggle:hover{background:#f8fbff!important}
.app main:has(.detail-grid) .detail-section-chevron{
  border-color:#dde3ea!important;
  background:#fff!important;
  color:var(--dr-approved-muted)!important;
}
.app main:has(.detail-grid) .table-wrap{background:#fff!important;border-color:var(--dr-approved-line)!important}
.app main:has(.detail-grid) table{background:#fff!important}
.app main:has(.detail-grid) thead th{
  border-color:#dfe4ea!important;
  background:#f8fafc!important;
  color:var(--dr-approved-muted)!important;
}
.app main:has(.detail-grid) tbody td{
  border-color:#edf0f3!important;
  background:#fff!important;
  color:var(--dr-approved-text)!important;
}
.app main:has(.detail-grid) tbody tr:nth-child(even) td{background:#fff!important}
.app main:has(.detail-grid) tbody tr:hover td{background:#f8fbff!important}
.app main:has(.detail-grid) tr.total-row td,
.app main:has(.detail-grid) tr.report-total td,
.app main:has(.detail-grid) tr.grand-total td{
  border-color:#cdd7e3!important;
  background:#f0f4f8!important;
  color:var(--dr-approved-ink)!important;
}
.app main:has(.detail-grid) tr.subtotal-row td,
.app main:has(.detail-grid) tr.report-subtotal td,
.app main:has(.detail-grid) tr.subtotal td{background:#f8fafc!important}
.app main:has(.detail-grid) .tag{
  border-color:#dbe7ff!important;
  background:#f3f7ff!important;
  color:#315fb5!important;
}

/* Product drawer shown from Detailed Reports */
.app main:has(.detail-grid) .detail-product-drawer{background:#f8fafc!important}
.app main:has(.detail-grid) .detail-product-drawer>header,
.app main:has(.detail-grid) .detail-drawer-kpis article,
.app main:has(.detail-grid) .detail-drawer-comparison,
.app main:has(.detail-grid) .detail-drawer-meta div{
  border-color:var(--dr-approved-line)!important;
  background:#fff!important;
}
.app main:has(.detail-grid) .detail-drawer-comparison>div:first-child{background:#f8fafc!important}

/* Semantic colours only: performance status, never structural decoration. */
.app main:has(.detail-grid) .positive,
.app main:has(.detail-grid) .rank-positive,
.app main:has(.detail-grid) .product-gp-percent.strong{color:var(--dr-approved-green)!important}
.app main:has(.detail-grid) .negative,
.app main:has(.detail-grid) .rank-negative,
.app main:has(.detail-grid) .product-gp-percent.low,
.app main:has(.detail-grid) .product-gp-value.negative{color:var(--dr-approved-red)!important}
.app main:has(.detail-grid) .product-gp-percent.attention{color:var(--dr-approved-orange)!important}

/* Remove any legacy burgundy structural fill that leaks from global button styling. */
.app main:has(.detail-grid) .detail-grid button:not(.detail-quick-nav button):not(.detail-order-bar>button:last-child):not(.report-action-buttons>button):not(.order-toggle.active){
  background:#fff;
}

#detail-overview,#detail-categories,#detail-products,#detail-movers,#detail-tables{scroll-margin-top:52px}

@media(max-width:700px){
  .app main:has(.detail-grid) .detail-analytics-shell{padding:10px!important;gap:9px!important}
  .app main:has(.detail-grid) .detail-quick-nav{padding:4px!important;gap:2px!important;border-radius:8px!important}
  .app main:has(.detail-grid) .detail-quick-nav button{min-height:30px!important;height:30px!important;padding:0 10px!important;font-size:8.5px!important}
  .app main:has(.detail-grid) .detail-context-strip article{border-color:var(--dr-approved-line)!important;background:#fff!important}
}

/* source: detailed-report-approved-layout.css */
/* Detailed Reports — approved project layout. Loaded last on purpose. */
.app main:has(.detail-analytics-shell) .detail-grid{gap:12px!important}
.app main:has(.detail-analytics-shell) .detail-analytics-shell{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#172033!important}
.app main:has(.detail-analytics-shell) .detail-analytics-head{align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}
.app main:has(.detail-analytics-shell) .detail-analytics-head small{color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-analytics-head h2{margin:2px 0 0!important;color:#101828!important}
.app main:has(.detail-analytics-shell) .detail-analytics-head span{font-size:10px!important;color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-head-actions{display:flex!important;gap:8px!important}.app main:has(.detail-analytics-shell) .detail-head-actions button{height:38px!important;padding:0 13px!important;border:1px solid #dfe4ea!important;border-radius:7px!important;background:#fff!important;color:#344054!important;font-size:9px!important;box-shadow:none!important}

.app main:has(.detail-analytics-shell) .detail-period-toolbar{display:grid!important;border-top:1px solid #e7ebf0!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar label,.app main:has(.detail-analytics-shell) .detail-compare-chip{display:grid!important;color:#667085!important;font-size:8px!important;font-weight:800!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar select{padding:0 10px!important;border:1px solid #dfe4ea!important}
.app main:has(.detail-analytics-shell) .detail-period-main{display:flex!important}.app main:has(.detail-analytics-shell) .detail-period-main>button{padding:0 13px!important;border:1px solid #dfe4ea!important}.app main:has(.detail-analytics-shell) .detail-week-picker{min-width:250px!important}.app main:has(.detail-analytics-shell) .detail-week-picker select{width:100%!important}.app main:has(.detail-analytics-shell) .detail-import-state{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0 10px!important;border:1px solid #dce9df!important;color:#16803a!important}.app main:has(.detail-analytics-shell) .detail-import-state i{width:7px!important;height:7px!important;border-radius:50%!important;background:#22a447!important}.app main:has(.detail-analytics-shell) .detail-compare-chip{border:1px solid #dfe4ea!important}
.app main:has(.detail-analytics-shell) .detail-import-meta{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:0 2px!important;color:#667085!important}

.app main:has(.detail-analytics-shell) .detail-quick-nav{gap:4px!important;overflow-x:auto!important;padding:4px!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;scrollbar-width:none!important}.app main:has(.detail-analytics-shell) .detail-quick-nav::-webkit-scrollbar{display:none}.app main:has(.detail-analytics-shell) .detail-quick-nav button{flex:0 0 auto!important;min-height:30px!important;padding:0 11px!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#667085!important;font-size:8.5px!important;font-weight:800!important;box-shadow:none!important}.app main:has(.detail-analytics-shell) .detail-quick-nav button:first-child,.app main:has(.detail-analytics-shell) .detail-quick-nav button:hover{border-color:#d9e5ff!important;background:#eef4ff!important;color:#1f5fd0!important}

.app main:has(.detail-analytics-shell) .detail-kpi-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;overflow:hidden!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.025)!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip article{min-width:0!important;border-right:1px solid #edf0f3!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip article:last-child{border-right:0!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip small{display:block!important;margin-bottom:9px!important;font-size:8px!important;font-weight:750!important;color:#475467!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:18px!important;line-height:1.05!important;color:#101828!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip span{display:block!important;margin-top:8px!important;font-size:7.8px!important;font-weight:700!important;color:#667085!important}

.app main:has(.detail-analytics-shell) .detail-insights-row{display:grid!important;grid-template-columns:250px repeat(4,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important}.app main:has(.detail-analytics-shell) .detail-insights-title{display:grid!important;align-content:center!important;gap:4px!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-insights-title b{color:#172033!important}.app main:has(.detail-analytics-shell) .detail-insights-title small{color:#667085!important}.app main:has(.detail-analytics-shell) .detail-insight{border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;box-shadow:0 1px 3px rgba(16,24,40,.02)!important}.app main:has(.detail-analytics-shell) .detail-insight>span{width:24px!important;height:24px!important}.app main:has(.detail-analytics-shell) .detail-dashboard-main{display:grid!important;gap:9px!important;min-width:0!important}.app main:has(.detail-analytics-shell) .detail-dashboard-rail{display:grid!important;gap:10px!important;min-width:0!important}.app main:has(.detail-analytics-shell) .detail-breadcrumb-row{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:10px!important}.app main:has(.detail-analytics-shell) .detail-breadcrumb{display:flex!important;align-items:center!important;gap:8px!important;padding:0 2px 3px!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-breadcrumb span:last-child{color:#2459b3!important}.app main:has(.detail-analytics-shell) .detail-report-filters.compact label{display:grid!important;gap:3px!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-report-filters.compact select{height:32px!important;padding:0 8px!important;border:1px solid #dfe4ea!important;border-radius:6px!important;background:#fff!important;color:#344054!important}

.app main:has(.detail-analytics-shell) .detail-product-explorer{overflow:hidden!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.025)!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>header{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:10px!important;padding:11px 12px!important;border-bottom:1px solid #e7ebf0!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>header small{color:#667085!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>header b{color:#172033!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>header span{color:#667085!important}.app main:has(.detail-analytics-shell) .detail-explorer-controls{gap:7px!important}.app main:has(.detail-analytics-shell) .detail-explorer-controls input{height:34px!important;padding:0 10px!important;border:1px solid #dfe4ea!important;border-radius:6px!important}.app main:has(.detail-analytics-shell) .detail-explorer-controls select{height:34px!important;padding:0 8px!important;border:1px solid #dfe4ea!important;border-radius:6px!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-explorer-modes{display:flex!important;gap:5px!important;padding:8px 10px!important;border-bottom:1px solid #e7ebf0!important;background:#fbfcfe!important}.app main:has(.detail-analytics-shell) .detail-explorer-modes button{min-height:28px!important;padding:0 10px!important;border:1px solid #dfe4ea!important;border-radius:6px!important;background:#fff!important;color:#475467!important;box-shadow:none!important}.app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-active{border-color:#cfe0ff!important;background:#eef4ff!important;color:#1f5fd0!important}.app main:has(.detail-analytics-shell) .detail-explorer-head,.app main:has(.detail-analytics-shell) .detail-explorer-row{display:grid!important;grid-template-columns:34px minmax(200px,1.6fr) repeat(7,minmax(68px,.55fr))!important;align-items:center!important}.app main:has(.detail-analytics-shell) .detail-explorer-head{min-height:34px!important;border-bottom:1px solid #dfe4ea!important;background:#f8fafc!important}.app main:has(.detail-analytics-shell) .detail-explorer-head span{padding:0 8px!important;color:#667085!important;text-transform:none!important}.app main:has(.detail-analytics-shell) .detail-explorer-head span:nth-child(n+3){text-align:right!important}.app main:has(.detail-analytics-shell) .detail-explorer-row{min-height:47px!important;padding:0!important;border:0!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;background:#fff!important;text-align:left!important;box-shadow:none!important}.app main:has(.detail-analytics-shell) .detail-explorer-row>span{display:grid!important;gap:2px!important;padding:7px 8px!important}.app main:has(.detail-analytics-shell) .detail-explorer-row>span b{color:#172033!important}.app main:has(.detail-analytics-shell) .detail-explorer-row>span small{color:#667085!important}.app main:has(.detail-analytics-shell) .detail-explorer-row>strong{padding:7px 8px!important;text-align:right!important;color:#344054!important}.app main:has(.detail-analytics-shell) .detail-explorer-rank{text-align:center!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>footer{display:flex!important;justify-content:space-between!important;padding:8px 10px!important;border-top:1px solid #edf0f3!important;background:#fbfcfe!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-performance-card>header{padding:10px 11px!important;border-bottom:1px solid #e7ebf0!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-performance-card>header small{color:#667085!important}.app main:has(.detail-analytics-shell) .detail-performance-card>header b{color:#172033!important}.app main:has(.detail-analytics-shell) .detail-trend-chart{height:185px!important;padding:13px 10px 9px!important}.app main:has(.detail-analytics-shell) .detail-week-list{display:grid!important}.app main:has(.detail-analytics-shell) .detail-week-list>div{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;min-height:36px!important;padding:0 10px!important;border-bottom:1px solid #edf0f3!important;font-size:8px!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-week-list>div:last-child{border-bottom:0!important}.app main:has(.detail-analytics-shell) .detail-week-list b{font-size:8.5px!important;color:#344054!important}.app main:has(.detail-analytics-shell) .detail-mix-list{display:grid!important;padding:4px 0!important}.app main:has(.detail-analytics-shell) .detail-mix-list>div{display:grid!important;grid-template-columns:52px minmax(0,1fr) 42px 65px!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:0 10px!important;font-size:7.5px!important}.app main:has(.detail-analytics-shell) .detail-mix-list span{height:5px!important;overflow:hidden!important;border-radius:99px!important;background:#eef2f6!important}.app main:has(.detail-analytics-shell) .detail-mix-list span i{display:block!important;height:100%!important;border-radius:99px!important;background:#2563eb!important}.app main:has(.detail-analytics-shell) .detail-mix-list b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#344054!important}.app main:has(.detail-analytics-shell) .detail-mix-list em{font-style:normal!important;text-align:right!important;color:#667085!important}.app main:has(.detail-analytics-shell) .detail-mix-list strong{text-align:right!important;color:#344054!important}

.app main:has(.detail-analytics-shell) .detail-movers-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.app main:has(.detail-analytics-shell) .detail-rank-card{border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}.app main:has(.detail-analytics-shell) .detail-rank-card header{padding:8px 9px!important}.app main:has(.detail-analytics-shell) .detail-rank-list button{min-height:39px!important;padding:6px 8px!important}

.app main:has(.detail-analytics-shell) .detail-order-bar#detail-tables{margin-top:2px!important;padding:10px 12px!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important}.app main:has(.detail-analytics-shell) .detail-collapsible-panel{border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}.app main:has(.detail-analytics-shell) .detail-section-toggle{background:#fff!important;color:#172033!important}.app main:has(.detail-analytics-shell) .detail-collapsible-panel.is-open .detail-section-toggle{background:#fbfcfe!important}

.app main:has(.detail-analytics-shell) .positive,.app main:has(.detail-analytics-shell) .rank-positive{color:#16803a!important}.app main:has(.detail-analytics-shell) .negative,.app main:has(.detail-analytics-shell) .rank-negative{color:#dc2626!important}.app main:has(.detail-analytics-shell) .warning{color:#ea580c!important}

@media(max-width:1200px){.app main:has(.detail-analytics-shell) .detail-dashboard-body{grid-template-columns:minmax(0,1fr) 290px!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}.app main:has(.detail-analytics-shell) .detail-insights-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app main:has(.detail-analytics-shell) .detail-insights-title{grid-column:1/-1!important}.app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:115px minmax(0,1fr) 210px!important}}
@media(max-width:900px){.app main:has(.detail-analytics-shell) .detail-dashboard-body{grid-template-columns:1fr!important}.app main:has(.detail-analytics-shell) .detail-dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app main:has(.detail-analytics-shell) .detail-category-mix{grid-column:1/-1!important}.app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:1fr!important}.app main:has(.detail-analytics-shell) .detail-period-main{flex-wrap:wrap!important}.app main:has(.detail-analytics-shell) .detail-compare-chip{width:100%!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.app main:has(.detail-analytics-shell) .detail-analytics-head{flex-direction:column!important}.app main:has(.detail-analytics-shell) .detail-head-actions{width:100%!important}.app main:has(.detail-analytics-shell) .detail-head-actions button{flex:1!important}.app main:has(.detail-analytics-shell) .detail-period-main{display:grid!important;grid-template-columns:1fr!important}.app main:has(.detail-analytics-shell) .detail-week-picker{min-width:0!important;width:100%!important}.app main:has(.detail-analytics-shell) .detail-import-meta{flex-direction:column!important;gap:3px!important}.app main:has(.detail-analytics-shell) .detail-kpi-strip article{padding:11px!important}.app main:has(.detail-analytics-shell) .detail-insights-row{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity!important}.app main:has(.detail-analytics-shell) .detail-insights-title,.app main:has(.detail-analytics-shell) .detail-insight{min-width:220px!important;flex:0 0 220px!important;scroll-snap-align:start!important}.app main:has(.detail-analytics-shell) .detail-breadcrumb-row{align-items:stretch!important;flex-direction:column!important}.app main:has(.detail-analytics-shell) .detail-report-filters.compact{display:grid!important;grid-template-columns:1fr 1fr!important}.app main:has(.detail-analytics-shell) .detail-report-filters.compact select{width:100%!important;min-width:0!important}.app main:has(.detail-analytics-shell) .detail-product-explorer>header{align-items:stretch!important;flex-direction:column!important}.app main:has(.detail-analytics-shell) .detail-explorer-controls{display:grid!important;grid-template-columns:1fr!important}.app main:has(.detail-analytics-shell) .detail-explorer-controls input{width:100%!important}.app main:has(.detail-analytics-shell) .detail-dashboard-rail{grid-template-columns:1fr!important}.app main:has(.detail-analytics-shell) .detail-movers-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity!important}.app main:has(.detail-analytics-shell) .detail-rank-card{min-width:250px!important;flex:0 0 250px!important;scroll-snap-align:start!important}}

/* source: detailed-report-project-final.css */
/* Final visual contract for Detailed Reports. This file is intentionally loaded last. */
.app main:has(.detail-analytics-shell) .detail-quick-nav{display:none!important}
.app main:has(.detail-analytics-shell) .detail-movers-grid{display:none!important}
.app main:has(.detail-analytics-shell) .detail-head-actions .detail-filter-button{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important;box-shadow:0 2px 5px rgba(37,99,235,.15)!important}
.app main:has(.detail-analytics-shell) .detail-period-main{flex-wrap:nowrap!important}
.app main:has(.detail-analytics-shell) .detail-period-main>button:disabled{opacity:.42!important;cursor:not-allowed!important}

.app main:has(.detail-analytics-shell) .detail-line-chart{display:grid!important;gap:7px!important;padding:12px 11px 10px!important;background:#fff!important}
.app main:has(.detail-analytics-shell) .detail-line-chart svg{display:block!important;width:100%!important;overflow:visible!important}
.app main:has(.detail-analytics-shell) .detail-line-chart svg line{stroke:#edf1f5!important;stroke-width:1!important}
.app main:has(.detail-analytics-shell) .detail-line-chart svg polyline{fill:none!important;stroke:#2563eb!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}
.app main:has(.detail-analytics-shell) .detail-line-chart svg circle{fill:#2563eb!important;stroke:#fff!important;stroke-width:1.5!important;vector-effect:non-scaling-stroke!important}
.app main:has(.detail-analytics-shell) .detail-line-labels{display:flex!important;justify-content:space-between!important;gap:3px!important;color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-line-labels span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:center!important}

.app main:has(.detail-analytics-shell) .detail-week-table{display:grid!important;background:#fff!important}
.app main:has(.detail-analytics-shell) .detail-week-table-head,
.app main:has(.detail-analytics-shell) .detail-week-table-row{display:grid!important;grid-template-columns:minmax(75px,1fr) 72px 58px 58px!important;align-items:center!important;padding:0 9px!important;border-bottom:1px solid #edf0f3!important}
.app main:has(.detail-analytics-shell) .detail-week-table-head{min-height:31px!important;background:#f8fafc!important;color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row:last-child{border-bottom:0!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row{color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row b{color:#344054!important;text-align:right!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row>span:nth-child(3),
.app main:has(.detail-analytics-shell) .detail-week-table-row em{text-align:right!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row em{font-style:normal!important;font-weight:800!important}

.app main:has(.detail-analytics-shell) .detail-donut-wrap{display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;padding:14px 12px!important}
.app main:has(.detail-analytics-shell) .detail-donut{position:relative!important;width:110px!important;height:110px!important;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(16,24,40,.03)!important}
.app main:has(.detail-analytics-shell) .detail-donut i{position:absolute!important;inset:27px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 0 1px #eef1f5!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend{display:grid!important;gap:8px!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend>div{display:grid!important;grid-template-columns:8px minmax(0,1fr) 34px 60px!important;align-items:center!important;gap:6px!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend>div>span{width:7px!important;height:7px!important;border-radius:2px!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend .wet-dot{background:#2563eb!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend .dry-dot{background:#7aa7ff!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend .pool-dot{background:#b9cdfd!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#344054!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend em{font-style:normal!important;color:#667085!important;text-align:right!important}
.app main:has(.detail-analytics-shell) .detail-donut-legend strong{color:#344054!important;text-align:right!important}

/* The explorer is the focal reporting panel exactly as in the approved dashboard. */
.app main:has(.detail-analytics-shell) .detail-dashboard-main>.detail-product-explorer{margin-top:0!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-main{grid-template-rows:auto auto!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-rail{align-content:start!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-performance-card{width:100%!important}

@media(max-width:1250px){
  .app main:has(.detail-analytics-shell) .detail-period-main{flex-wrap:wrap!important}
  .app main:has(.detail-analytics-shell) .detail-donut-wrap{grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important}
  .app main:has(.detail-analytics-shell) .detail-donut{width:90px!important;height:90px!important}
  .app main:has(.detail-analytics-shell) .detail-donut i{inset:22px!important}
}
@media(max-width:900px){
  .app main:has(.detail-analytics-shell) .detail-line-chart svg{height:165px!important}
  .app main:has(.detail-analytics-shell) .detail-donut-wrap{grid-template-columns:120px minmax(0,1fr)!important}
  .app main:has(.detail-analytics-shell) .detail-donut{width:110px!important;height:110px!important}
  .app main:has(.detail-analytics-shell) .detail-donut i{inset:27px!important}
}
@media(max-width:700px){
  .app main:has(.detail-analytics-shell) .detail-head-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .app main:has(.detail-analytics-shell) .detail-head-actions button{min-width:0!important;padding:0 7px!important;font-size:8px!important}
  .app main:has(.detail-analytics-shell) .detail-week-table-head,
  .app main:has(.detail-analytics-shell) .detail-week-table-row{grid-template-columns:minmax(70px,1fr) 70px 52px 55px!important}
  .app main:has(.detail-analytics-shell) .detail-donut-wrap{grid-template-columns:105px minmax(0,1fr)!important;padding:12px 10px!important}
  .app main:has(.detail-analytics-shell) .detail-donut{width:96px!important;height:96px!important}
  .app main:has(.detail-analytics-shell) .detail-donut i{inset:24px!important}
}

/* source: detailed-report-refinement.css */
/* Detailed Report refinement — approved two-column reporting layout. */
.app main:has(.detail-analytics-shell){background:#f7f9fc!important;overflow-x:hidden!important}
/* Keep Detailed Reports on the shared workspace grid: the report cards now
   align with the Dashboard utility panel instead of gaining a second inset. */
.app main:has(.detail-analytics-shell) .detail-grid{width:100%!important;max-width:none!important;margin:0!important;padding-inline:0!important;box-sizing:border-box!important}
.app main:has(.detail-analytics-shell) .detail-analytics-shell{display:grid!important;width:100%!important;max-width:none!important;min-width:0!important;gap:12px!important}
.app main:has(.detail-analytics-shell) .detail-analytics-head>div>small,
.app main:has(.detail-analytics-shell) .detail-performance-card header small,
.app main:has(.detail-analytics-shell) .detail-product-explorer header small{font-size:9px!important;letter-spacing:.06em!important}

.app main:has(.detail-analytics-shell) .detail-kpi-strip article{min-height:86px!important;padding:12px 13px!important}
.app main:has(.detail-analytics-shell) .detail-kpi-strip article b{margin-top:5px!important}
.app main:has(.detail-analytics-shell) .detail-kpi-strip article span{margin-top:5px!important}

.app main:has(.detail-analytics-shell) .detail-insights-title,
.app main:has(.detail-analytics-shell) .detail-insight{min-height:72px!important;padding:11px!important}

/* Approved layout: Product Performance on the left, analytics stack on the right. */
.app main:has(.detail-analytics-shell) .detail-dashboard-body{
  display:grid!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1.72fr) minmax(360px,.98fr)!important;
  gap:12px!important;
  align-items:start!important;
  justify-items:stretch!important;
  margin:0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-main{
  display:grid!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-self:stretch!important;
  align-self:start!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-rail{
  display:grid!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  gap:12px!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  background:transparent!important;
  align-content:start!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
}
.app main:has(.detail-analytics-shell) .detail-dashboard-main>*{min-width:0!important;max-width:100%!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-rail>*{min-width:0!important;max-width:100%!important;width:100%!important}
.app main:has(.detail-analytics-shell) .detail-performance-card{min-width:0!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important;border:1px solid #e4e9ef!important;box-shadow:0 2px 8px rgba(16,24,40,.025)!important}
.app main:has(.detail-analytics-shell) .detail-performance-card header{min-height:48px!important;padding:10px 12px!important;background:#fff!important}
.app main:has(.detail-analytics-shell) .detail-performance-card header b{font-size:11px!important}

/* Keep the right-side analytics visually balanced with the product table. */
.app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-trend-card{min-height:258px!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-week-by-week{min-height:246px!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-category-mix{min-height:224px!important}
.app main:has(.detail-analytics-shell) .detail-line-chart svg{height:150px!important}
.app main:has(.detail-analytics-shell) .detail-donut-wrap{min-height:160px!important}

/* Category focus mode remains full width and hides venue-level analytics. */
.app main:has(.detail-analytics-shell) .detail-dashboard-body.is-category-focus{grid-template-columns:minmax(0,1fr)!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-body.is-category-focus>.detail-dashboard-main{grid-column:1!important;grid-row:1!important;width:100%!important}
.app main:has(.detail-analytics-shell) .detail-dashboard-body.is-category-focus>.detail-dashboard-rail{display:none!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(420px,1.5fr) auto!important;align-items:center!important;gap:16px!important;padding:16px 18px!important;border:1px solid #d9e5f5!important;border-radius:10px!important;background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%)!important;box-shadow:0 2px 10px rgba(16,24,40,.035)!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary>div:first-child small{display:block!important;letter-spacing:.08em!important;color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary h3{margin:3px 0 2px!important;line-height:1.05!important;letter-spacing:-.025em!important;color:#101828!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary>div:first-child span{color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis article{min-width:0!important;padding:9px 10px!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis small{display:block!important;color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis b{display:block!important;margin-top:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#172033!important}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary>button{height:36px!important;padding:0 12px!important;border:1px solid #cfe0ff!important;border-radius:7px!important;background:#eef4ff!important;color:#1f5fd0!important;font-size:9px!important;font-weight:800!important;white-space:nowrap!important;cursor:pointer!important}
.app main:has(.detail-analytics-shell) .detail-week-table-row{min-height:36px!important}

/* Left side must align exactly with the KPI/Insights content edge. */
.app main:has(.detail-analytics-shell) .detail-dashboard-main>.detail-breadcrumb-row{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:10px!important;
  position:static!important;
  margin:0!important;
  padding:5px 0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  background:transparent!important;
  flex-wrap:wrap!important;
  box-sizing:border-box!important;
}
.app main:has(.detail-analytics-shell) .detail-report-filters.compact{display:flex!important;min-width:0!important;max-width:100%!important;flex:1 1 360px!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.app main:has(.detail-analytics-shell) .detail-report-filters.compact label{min-width:145px!important;flex:0 1 210px!important}
.app main:has(.detail-analytics-shell) .detail-report-filters.compact select{width:100%!important;min-width:0!important;min-height:32px!important}

.app main:has(.detail-analytics-shell) .detail-dashboard-main>.detail-product-explorer{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  justify-self:stretch!important;
  border-radius:9px!important;
  box-shadow:0 2px 8px rgba(16,24,40,.025)!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.app main:has(.detail-analytics-shell) .detail-product-explorer>header{width:100%!important;min-width:0!important;max-width:100%!important;flex-wrap:wrap!important}
.app main:has(.detail-analytics-shell) .detail-explorer-controls{display:flex!important;min-width:0!important;max-width:100%!important;flex:1 1 430px!important;justify-content:flex-end!important;flex-wrap:wrap!important}
.app main:has(.detail-analytics-shell) .detail-explorer-controls input{width:auto!important;min-width:220px!important;max-width:420px!important;flex:1 1 280px!important}
.app main:has(.detail-analytics-shell) .detail-explorer-controls select{width:auto!important;min-width:150px!important;max-width:210px!important;flex:0 1 190px!important}
.app main:has(.detail-analytics-shell) .detail-explorer-modes{width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
.app main:has(.detail-analytics-shell) .detail-explorer-table{display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain!important}
.app main:has(.detail-analytics-shell) .detail-explorer-head,
.app main:has(.detail-analytics-shell) .detail-explorer-row{width:100%!important;min-width:900px!important}
.app main:has(.detail-analytics-shell) .detail-product-explorer table th{font-size:9px!important;white-space:nowrap!important}
.app main:has(.detail-analytics-shell) .detail-product-explorer table td{font-size:10px!important;line-height:1.3!important}
.app main:has(.detail-analytics-shell) .detail-explorer-row:hover{background:#f7faff!important}

.app main:has(.detail-analytics-shell) #detail-tables{width:100%!important;max-width:100%!important;margin-top:14px!important;overflow:hidden!important}
.app main:has(.detail-analytics-shell) #detail-tables table th{font-size:9px!important}
.app main:has(.detail-analytics-shell) #detail-tables table td{font-size:10px!important}

@media(max-width:1280px){
 .app main:has(.detail-analytics-shell) .detail-dashboard-body{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr)!important}
}
@media(max-width:1020px){
 .app main:has(.detail-analytics-shell) .detail-dashboard-body{grid-template-columns:minmax(0,1fr)!important}
 .app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-main{grid-column:1!important;grid-row:1!important}
 .app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-rail{grid-column:1!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-category-mix{grid-column:1/-1!important}
 .app main:has(.detail-analytics-shell) .detail-category-focus-summary{grid-template-columns:1fr!important;align-items:start!important}
 .app main:has(.detail-analytics-shell) .detail-category-focus-summary>button{justify-self:start!important}
 .app main:has(.detail-analytics-shell) .detail-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .app main:has(.detail-analytics-shell) .detail-grid{padding-inline:10px!important}
 .app main:has(.detail-analytics-shell) .detail-analytics-head h2{font-size:22px!important}
 .app main:has(.detail-analytics-shell) .detail-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-rail{grid-template-columns:1fr!important}
 .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-category-mix{grid-column:auto!important}
 .app main:has(.detail-analytics-shell) .detail-kpi-strip article{min-height:78px!important}
 .app main:has(.detail-analytics-shell) .detail-category-focus-summary{padding:13px!important}
 .app main:has(.detail-analytics-shell) .detail-category-focus-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .app main:has(.detail-analytics-shell) .detail-explorer-head,
 .app main:has(.detail-analytics-shell) .detail-explorer-row{min-width:760px!important}
}

/* source: detailed-report-category-drawer.css */
/* Detailed Report category launcher + right-side popout drawer. Loaded last. */
.app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:130px minmax(0,1fr) 190px 230px!important;gap:10px!important;align-items:end!important;padding:10px 0 6px!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar>*,
.app main:has(.detail-analytics-shell) .detail-period-main>*{box-sizing:border-box!important}
.app main:has(.detail-analytics-shell) .detail-view-select,
.app main:has(.detail-analytics-shell) .detail-week-picker,
.app main:has(.detail-analytics-shell) .detail-category-launcher,
.app main:has(.detail-analytics-shell) .detail-compare-chip{min-height:44px!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar select,
.app main:has(.detail-analytics-shell) .detail-period-main>button,
.app main:has(.detail-analytics-shell) .detail-import-state{height:44px!important;border-radius:9px!important}
.app main:has(.detail-analytics-shell) .detail-period-main{gap:8px!important;align-items:end!important}
.app main:has(.detail-analytics-shell) .detail-period-main>button,
.app main:has(.detail-analytics-shell) .detail-period-toolbar select,
.app main:has(.detail-analytics-shell) .detail-import-state,
.app main:has(.detail-analytics-shell) .detail-category-launcher,
.app main:has(.detail-analytics-shell) .detail-compare-chip{border-color:#dfe5ec!important;box-shadow:0 1px 2px rgba(16,24,40,.025)!important;background:#fff!important}
.app main:has(.detail-analytics-shell) .detail-import-state{background:#f4fbf6!important;border-color:#d8eadc!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar label{gap:5px!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar label,
.app main:has(.detail-analytics-shell) .detail-category-launcher small,
.app main:has(.detail-analytics-shell) .detail-compare-chip small{color:#667085!important}
.app main:has(.detail-analytics-shell) .detail-period-toolbar select,
.app main:has(.detail-analytics-shell) .detail-period-main>button,
.app main:has(.detail-analytics-shell) .detail-category-launcher b,
.app main:has(.detail-analytics-shell) .detail-compare-chip b{color:#24324a!important}
.app main:has(.detail-analytics-shell) .detail-category-launcher{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"small small" "title action"!important;align-content:center!important;column-gap:8px!important;row-gap:2px!important;padding:7px 11px!important;border:1px solid #dfe5ec!important;border-radius:9px!important;color:#344054!important;text-align:left!important;cursor:pointer!important;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease!important}
.app main:has(.detail-analytics-shell) .detail-category-launcher:hover{border-color:#b9cff8!important;background:#fbfdff!important;box-shadow:0 0 0 3px rgba(37,99,235,.055)!important}
.app main:has(.detail-analytics-shell) .detail-category-launcher small{grid-area:small!important}
.app main:has(.detail-analytics-shell) .detail-category-launcher b{grid-area:title!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.app main:has(.detail-analytics-shell) .detail-category-launcher span{grid-area:action!important;font-weight:750!important;color:#2563eb!important;white-space:nowrap!important}
.app main:has(.detail-analytics-shell) .detail-compare-chip{display:grid!important;align-content:center!important;gap:4px!important;padding:8px 11px!important;border-radius:9px!important}

.detail-category-drawer-backdrop{position:fixed!important;inset:0!important;z-index:9998!important;background:rgba(15,23,42,.18)!important;backdrop-filter:blur(1px)!important;display:flex!important;justify-content:flex-end!important;align-items:stretch!important}
.detail-category-drawer{width:min(390px,92vw)!important;height:100vh!important;background:#fff!important;border-left:1px solid #e4e9ef!important;box-shadow:-18px 0 45px rgba(15,23,42,.12)!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important;animation:detailCategorySlideIn .18s ease-out!important}
@keyframes detailCategorySlideIn{from{transform:translateX(24px);opacity:.65}to{transform:translateX(0);opacity:1}}
.detail-category-drawer>header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:16px!important;padding:22px 22px 16px!important;border-bottom:1px solid #edf0f3!important;background:#fff!important}
.detail-category-drawer>header>div{min-width:0!important}
.detail-category-drawer>header small{display:block!important;margin-bottom:5px!important;letter-spacing:.08em!important;color:#667085!important}
.detail-category-drawer>header h2{margin:0!important;line-height:1.05!important;letter-spacing:-.025em!important;color:#101828!important}
.detail-category-drawer>header span{display:block!important;margin-top:8px!important;max-width:290px!important;color:#667085!important}
.detail-category-drawer .icon-btn{flex:0 0 34px!important;width:34px!important;height:34px!important;border:1px solid #e4e9ef!important;border-radius:8px!important;background:#fff!important;color:#344054!important;font-size:20px!important;line-height:1!important;cursor:pointer!important}
.detail-category-search{padding:14px 18px!important;border-bottom:1px solid #edf0f3!important;background:#fff!important}
.detail-category-search input{width:100%!important;height:40px!important;padding:0 12px!important;border:1px solid #dfe4ea!important;border-radius:8px!important;background:#fff!important;color:#172033!important;outline:none!important}
.detail-category-search input:focus{border-color:#8fb4ff!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important}
.detail-category-list{display:grid!important;align-content:start!important;gap:8px!important;padding:14px 16px 22px!important;overflow-y:auto!important;background:#fbfcfe!important}
.detail-category-list>button{display:grid!important;grid-template-columns:38px minmax(0,1fr) 20px!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:62px!important;padding:10px 12px!important;border:1px solid #e4e9ef!important;border-radius:10px!important;background:#fff!important;color:#344054!important;text-align:left!important;box-shadow:0 1px 2px rgba(16,24,40,.018)!important;cursor:pointer!important}
.detail-category-list>button:hover{border-color:#c9d9fb!important;background:#f8fbff!important}
.detail-category-list>button.is-active{border-color:#c9dcff!important;background:#eef5ff!important}
.detail-category-icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:9px!important;background:#f2f4f7!important;color:#475467!important}
.detail-category-icon svg{width:17px!important;height:17px!important}
.detail-category-icon.icon-all{background:#eaf2ff!important;color:#2563eb!important}
.detail-category-icon.icon-beer{background:#fff5dc!important;color:#c98700!important}
.detail-category-icon.icon-spirits{background:#eaf8f1!important;color:#287d59!important}
.detail-category-icon.icon-cocktails{background:#eaf8f2!important;color:#198754!important}
.detail-category-icon.icon-wine{background:#fff0f2!important;color:#d83950!important}
.detail-category-icon.icon-soft{background:#eaf8f3!important;color:#15966d!important}
.detail-category-icon.icon-hot{background:#f4efe9!important;color:#8a5a2b!important}
.detail-category-icon.icon-packages{background:#fff3e7!important;color:#b86d22!important}
.detail-category-icon.icon-other{background:#f2f4f7!important;color:#475467!important}
.detail-category-list>button.is-active .detail-category-icon{box-shadow:0 0 0 2px rgba(37,99,235,.09)!important}
.detail-category-list>button>span:nth-child(2){display:grid!important;gap:3px!important;min-width:0!important}
.detail-category-list>button b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#172033!important}
.detail-category-list>button small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#667085!important}
.detail-category-list>button strong{font-size:18px!important;font-weight:500!important;color:#98a2b3!important;text-align:right!important}
.detail-category-list>button.is-active strong{color:#2563eb!important}

@media(max-width:1250px){
 .app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:120px minmax(0,1fr) 170px 210px!important}
 .app main:has(.detail-analytics-shell) .detail-category-launcher span{display:none!important}
}
@media(max-width:980px){
 .app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:1fr 1fr!important;align-items:stretch!important}
 .app main:has(.detail-analytics-shell) .detail-period-main{grid-column:1/-1!important}
 .app main:has(.detail-analytics-shell) .detail-category-launcher{grid-column:1!important}
 .app main:has(.detail-analytics-shell) .detail-compare-chip{grid-column:2!important}
}
@media(max-width:640px){
 .app main:has(.detail-analytics-shell) .detail-period-toolbar{grid-template-columns:1fr!important}
 .app main:has(.detail-analytics-shell) .detail-period-main,.app main:has(.detail-analytics-shell) .detail-category-launcher,.app main:has(.detail-analytics-shell) .detail-compare-chip{grid-column:1!important}
 .detail-category-drawer{width:100vw!important}
 .detail-category-drawer>header{padding:18px 16px 14px!important}
 .detail-category-search{padding:12px 14px!important}
 .detail-category-list{padding:12px 12px 18px!important}
}

/* source: detailed-report-mobile-final.css */
/* BeverageHub Detailed Report — final mobile contract. Loaded last. */

@media (max-width: 760px){
  .app main:has(.detail-analytics-shell){overflow-x:hidden!important;background:#f7f9fc!important}
  .app main:has(.detail-analytics-shell) .detail-grid{
    width:100%!important;max-width:100%!important;margin:0!important;
    padding-inline:8px!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
    gap:9px!important;box-sizing:border-box!important;overflow-x:hidden!important;
  }
  .app main:has(.detail-analytics-shell) .detail-analytics-shell{gap:9px!important;min-width:0!important}

  /* Header */
  .app main:has(.detail-analytics-shell) .detail-analytics-head{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;
    padding:2px 1px 5px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-analytics-head h2{
    margin:1px 0!important;line-height:1.08!important;
  }
  .app main:has(.detail-analytics-shell) .detail-analytics-head>div>span{line-height:1.35!important}
  .app main:has(.detail-analytics-shell) .detail-head-actions{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;
  }
  .app main:has(.detail-analytics-shell) .detail-head-actions button{
    width:100%!important;min-width:0!important;height:35px!important;padding:0 7px!important;border-radius:8px!important;white-space:nowrap!important;
  }

  /* Period controls: the disabled View selector adds no value on phone. */
  .app main:has(.detail-analytics-shell) .detail-period-toolbar{
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:7px 0 2px!important;align-items:stretch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-view-select{display:none!important}
  .app main:has(.detail-analytics-shell) .detail-period-main{
    grid-column:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:6px!important;width:100%!important;align-items:stretch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-week-picker{
    grid-column:1/-1!important;grid-row:1!important;width:100%!important;min-width:0!important;
  }
  .app main:has(.detail-analytics-shell) .detail-week-picker select{width:100%!important;height:42px!important}
  .app main:has(.detail-analytics-shell) .detail-period-main>button:first-of-type{grid-column:1!important;grid-row:2!important}
  .app main:has(.detail-analytics-shell) .detail-import-state{grid-column:2!important;grid-row:2!important}
  .app main:has(.detail-analytics-shell) .detail-period-main>button:last-of-type{grid-column:3!important;grid-row:2!important}
  .app main:has(.detail-analytics-shell) .detail-period-main>button,
  .app main:has(.detail-analytics-shell) .detail-import-state{
    height:38px!important;min-width:0!important;padding:0 8px!important;justify-content:center!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-launcher,
  .app main:has(.detail-analytics-shell) .detail-compare-chip{
    grid-column:1!important;width:100%!important;min-height:42px!important;border-radius:8px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-launcher{grid-template-columns:minmax(0,1fr) auto!important}
  .app main:has(.detail-analytics-shell) .detail-category-launcher span{display:block!important}
  .app main:has(.detail-analytics-shell) .detail-import-meta{
    display:grid!important;grid-template-columns:1fr!important;gap:2px!important;padding:0 1px!important;line-height:1.3!important;
  }
  .app main:has(.detail-analytics-shell) .detail-import-meta span:last-child{display:none!important}

  /* KPI strip: horizontal snap keeps the dashboard compact. */
  .app main:has(.detail-analytics-shell) .detail-kpi-strip{
    display:flex!important;grid-template-columns:none!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;
    padding:1px 1px 5px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-kpi-strip::-webkit-scrollbar{display:none!important}
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article{
    flex:0 0 152px!important;min-width:152px!important;min-height:82px!important;padding:10px 11px!important;
    border:1px solid #e4e9ef!important;border-radius:9px!important;background:#fff!important;scroll-snap-align:start!important;
  }
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article small{margin-bottom:5px!important}
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article b{white-space:nowrap!important}
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article span{margin-top:5px!important}

  /* Insights: swipe instead of a tall 5-card stack. */
  .app main:has(.detail-analytics-shell) .detail-insights-row{
    display:flex!important;grid-template-columns:none!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;
    padding:1px 1px 5px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-insights-row::-webkit-scrollbar{display:none!important}
  .app main:has(.detail-analytics-shell) .detail-insights-title{
    flex:0 0 185px!important;min-width:185px!important;min-height:68px!important;scroll-snap-align:start!important;padding:10px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-insight{
    flex:0 0 230px!important;min-width:230px!important;min-height:68px!important;scroll-snap-align:start!important;padding:10px!important;
  }

  /* Main report becomes a single flow: Product Performance first, analytics beneath. */
  .app main:has(.detail-analytics-shell) .detail-dashboard-body{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;width:100%!important;max-width:100%!important;
  }
  .app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-main{
    grid-column:1!important;grid-row:1!important;width:100%!important;max-width:100%!important;gap:7px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-dashboard-body>.detail-dashboard-rail{
    grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;
    width:100%!important;max-width:100%!important;position:static!important;
  }
  .app main:has(.detail-analytics-shell) .detail-dashboard-main>.detail-breadcrumb-row{
    display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:1px 0!important;align-items:stretch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-breadcrumb{padding:0 1px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact{
    width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;justify-content:stretch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact label{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important}
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact select{width:100%!important;height:38px!important;border-radius:8px!important}

  /* Product Performance */
  .app main:has(.detail-analytics-shell) .detail-dashboard-main>.detail-product-explorer{
    width:100%!important;max-width:100%!important;border-radius:10px!important;overflow:hidden!important;
  }
  .app main:has(.detail-analytics-shell) .detail-product-explorer>header{
    display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:stretch!important;padding:11px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-controls{
    display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(118px,.85fr)!important;gap:6px!important;width:100%!important;
    max-width:none!important;justify-content:stretch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-controls input,
  .app main:has(.detail-analytics-shell) .detail-explorer-controls select{
    width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;border-radius:8px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-modes{
    gap:5px!important;padding:7px 8px!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-modes::-webkit-scrollbar{display:none!important}
  .app main:has(.detail-analytics-shell) .detail-explorer-modes button{
    flex:0 0 auto!important;min-height:32px!important;padding:0 10px!important;white-space:nowrap!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-table{
    width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;scroll-snap-type:none!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-head,
  .app main:has(.detail-analytics-shell) .detail-explorer-row{
    grid-template-columns:34px 205px repeat(7,78px)!important;min-width:785px!important;width:785px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-head>span:first-child,
  .app main:has(.detail-analytics-shell) .detail-explorer-row>.detail-explorer-rank{
    position:sticky!important;left:0!important;z-index:5!important;background:#f8fafc!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-row>.detail-explorer-rank{background:#fff!important}
  .app main:has(.detail-analytics-shell) .detail-explorer-head>span:nth-child(2),
  .app main:has(.detail-analytics-shell) .detail-explorer-row>span:nth-child(2){
    position:sticky!important;left:34px!important;z-index:4!important;background:#f8fafc!important;box-shadow:8px 0 10px -10px rgba(16,24,40,.45)!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-row>span:nth-child(2){background:#fff!important}
  .app main:has(.detail-analytics-shell) .detail-explorer-row:hover>.detail-explorer-rank,
  .app main:has(.detail-analytics-shell) .detail-explorer-row:hover>span:nth-child(2){background:#f7faff!important}

  /* Analytics cards under the table */
  .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-performance-card{
    min-height:0!important;width:100%!important;border-radius:10px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-trend-card,
  .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-week-by-week,
  .app main:has(.detail-analytics-shell) .detail-dashboard-rail .detail-category-mix{min-height:0!important}
  .app main:has(.detail-analytics-shell) .detail-line-chart{padding:9px!important}
  .app main:has(.detail-analytics-shell) .detail-line-chart svg{height:135px!important}
  .app main:has(.detail-analytics-shell) .detail-week-table-head,
  .app main:has(.detail-analytics-shell) .detail-week-table-row{
    grid-template-columns:minmax(70px,1fr) 76px 60px 58px!important;padding:0 8px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-donut-wrap{
    grid-template-columns:96px minmax(0,1fr)!important;gap:9px!important;min-height:0!important;padding:11px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-donut{width:88px!important;height:88px!important}
  .app main:has(.detail-analytics-shell) .detail-donut i{inset:22px!important}

  /* Category focus */
  .app main:has(.detail-analytics-shell) .detail-category-focus-summary{
    grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;border-radius:10px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-focus-summary h3{font-size:19px!important}
  .app main:has(.detail-analytics-shell) .detail-category-focus-kpis{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-focus-kpis article{padding:9px!important}
  .app main:has(.detail-analytics-shell) .detail-category-focus-summary>button{width:100%!important;height:38px!important}

  /* Detailed tables: never force page-level horizontal overflow. */
  .app main:has(.detail-analytics-shell) #detail-tables{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}

@media (max-width: 480px){
  .app main:has(.detail-analytics-shell) .detail-head-actions button{font-size:7.5px!important;padding:0 5px!important}
  .app main:has(.detail-analytics-shell) .detail-period-main{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
  .app main:has(.detail-analytics-shell) .detail-period-main>button{font-size:7.2px!important;padding:0 5px!important}
  .app main:has(.detail-analytics-shell) .detail-import-state{font-size:7px!important;padding:0 7px!important}
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article{flex-basis:145px!important;min-width:145px!important}
  .app main:has(.detail-analytics-shell) .detail-insight{flex-basis:218px!important;min-width:218px!important}
  .app main:has(.detail-analytics-shell) .detail-explorer-controls{grid-template-columns:1fr!important}
  .app main:has(.detail-analytics-shell) .detail-explorer-controls input,
  .app main:has(.detail-analytics-shell) .detail-explorer-controls select{grid-column:1!important}
}

/* Category drawer mobile polish and safe-area support. */
@media (max-width: 640px){
  .detail-category-drawer-backdrop{background:rgba(15,23,42,.24)!important;backdrop-filter:none!important}
  .detail-category-drawer{
    width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;
    border-left:0!important;border-radius:0!important;grid-template-rows:auto auto minmax(0,1fr)!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  .detail-category-drawer>header{
    padding:calc(14px + env(safe-area-inset-top)) 14px 12px!important;gap:10px!important;
  }
  .detail-category-drawer>header h2{font-size:21px!important}
  .detail-category-drawer>header span{font-size:9px!important;line-height:1.35!important;margin-top:5px!important}
  .detail-category-drawer .icon-btn{width:36px!important;height:36px!important;flex-basis:36px!important}
  .detail-category-search{padding:10px 12px!important;position:sticky!important;top:0!important;z-index:3!important}
  .detail-category-search input{height:42px!important;font-size:10px!important}
  .detail-category-list{gap:6px!important;padding:10px 10px calc(14px + env(safe-area-inset-bottom))!important;background:#f8fafc!important}
  .detail-category-list>button{min-height:56px!important;padding:8px 10px!important;border-radius:9px!important}
  .detail-category-icon{width:32px!important;height:32px!important}
  .detail-category-list>button b{font-size:10px!important}
  .detail-category-list>button small{font-size:8px!important}
}

/* source: detailed-category-launcher-inline.css */
/* Detailed Report — Categories control beside Revenue above Product Performance. */
@media (min-width:761px){
  .app main:has(.detail-analytics-shell) .detail-period-toolbar{
    grid-template-columns:130px minmax(0,1fr) 230px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact{
    display:flex!important;
    align-items:flex-end!important;
    gap:8px!important;
  }
}

.app main:has(.detail-analytics-shell) .detail-category-inline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  height:32px!important;
  min-height:32px!important;
  min-width:158px!important;
  max-width:220px!important;
  margin:0!important;
  padding:0 9px!important;
  border:1px solid #c9dcff!important;
  border-radius:7px!important;
  background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 52%,#e8f1ff 100%)!important;
  color:#2459b3!important;
  box-shadow:0 1px 2px rgba(37,99,235,.045),inset 0 1px 0 rgba(255,255,255,.72)!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.app main:has(.detail-analytics-shell) .detail-category-inline:hover{
  border-color:#aecaFF!important;
  box-shadow:0 3px 9px rgba(37,99,235,.09),inset 0 1px 0 rgba(255,255,255,.8)!important;
  transform:translateY(-1px)!important;
}
.app main:has(.detail-analytics-shell) .detail-category-inline svg{
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  color:#2563eb!important;
}
.app main:has(.detail-analytics-shell) .detail-category-inline>span{
  flex:0 0 auto!important;
  font-size:8.75px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#2459b3!important;
}
.app main:has(.detail-analytics-shell) .detail-category-inline>small{
  min-width:0!important;
  max-width:88px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  color:#5b6f91!important;
  font-size:7.25px!important;
  line-height:1!important;
  font-weight:750!important;
}

@media (min-width:761px) and (max-width:1250px){
  .app main:has(.detail-analytics-shell) .detail-period-toolbar{
    grid-template-columns:120px minmax(0,1fr) 210px!important;
  }
}

@media (max-width:760px){
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:6px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact label{
    width:100%!important;
    min-width:0!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-inline{
    width:auto!important;
    min-width:132px!important;
    max-width:148px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 9px!important;
    border-radius:8px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-inline>small{max-width:62px!important}
}

@media (max-width:420px){
  .app main:has(.detail-analytics-shell) .detail-category-inline{
    min-width:118px!important;
    max-width:128px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-inline>small{display:none!important}
}

/* source: app-typography-final.css */
/* BeverageHub global typography quality pass.
   Loaded after the bundled app CSS and before Detailed Report-specific typography. */

:root{
  --bh-font-ui:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bh-font-display:Manrope,"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bh-type-ink:#202733;
  --bh-type-body:#344054;
  --bh-type-muted:#667085;
  --bh-type-subtle:#7c8797;
}

html,body,#root{
  font-family:var(--bh-font-ui)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
  font-synthesis:none!important;
}

.app,
.auth{
  font-family:var(--bh-font-ui)!important;
  color:var(--bh-type-body);
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
}

/* Headings and important numeric display values */
.app h1,.app h2,.app h3,
.auth h1,.auth h2,.auth h3,
.app .kpis strong,
.app .kpis article>b,
.app .stream-card strong,
.app .purchase-summary strong,
.app .category-kpis strong,
.app .support-kpis strong,
.app .stat-value,
.app .metric-value{
  font-family:var(--bh-font-display)!important;
  font-variant-numeric:tabular-nums lining-nums!important;
  color:var(--bh-type-ink);
}

.app h1{font-size:clamp(25px,2vw,32px)!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.025em!important}
.app h2{font-size:18px!important;line-height:1.25!important;font-weight:750!important;letter-spacing:-.015em!important}
.app h3{font-size:15px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:-.01em!important}

/* Base reading text */
.app p,
.app .note,
.app .user-email,
.app .notice,
.app .mapping-summary,
.app .revenue-period,
.auth p{
  font-family:var(--bh-font-ui)!important;
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:450!important;
}

/* Labels, eyebrows, captions and helper copy: no microscopic 7–9px text. */
.app label,
.app .eyebrow,
.app .panel>small,
.app .panel-head small,
.app .week-selector small,
.app .stream-dashboard-title small,
.app .stream-card small,
.app .stream-card span,
.app .kpis article small,
.app .kpis article span,
.app .purchase-summary small,
.app .purchase-category-head small,
.app .mapping-editor small,
.app .saved-mapping small,
.app .core-category-heading small,
.app .wine-leader .panel-head small,
.app .pack-input small,
.app .cloud-state,
.app .app-footer,
.app .caption,
.app .helper-text,
.app .meta,
.app .subtle,
.auth label,
.auth .password-rules,
.auth .auth-divider{
  font-family:var(--bh-font-ui)!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  font-weight:600!important;
  letter-spacing:.015em!important;
}

.app .eyebrow,
.app .panel>small,
.app .panel-head small,
.app .week-selector small,
.app .stream-dashboard-title small,
.app .purchase-summary small,
.app .purchase-category-head small,
.app .core-category-heading small{
  text-transform:uppercase;
  letter-spacing:.075em!important;
  font-weight:700!important;
}

/* Navigation and sidebar */
.app aside,
.app aside button,
.app aside nav button,
.app .brand,
.app .aside-foot,
.app .current-user-trigger{
  font-family:var(--bh-font-ui)!important;
}
.app aside nav button{font-size:12px!important;line-height:1.25!important;font-weight:600!important;letter-spacing:0!important}
.app .brand b{font-family:var(--bh-font-display)!important;font-weight:800!important;letter-spacing:-.015em!important}
.app .brand small,.app .aside-foot small{font-size:10.5px!important;line-height:1.35!important;font-weight:550!important}

/* Forms and controls */
.app button,
.app input,
.app select,
.app textarea,
.auth button,
.auth input,
.auth select,
.auth textarea{
  font-family:var(--bh-font-ui)!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:550!important;
  letter-spacing:0!important;
}
.app button,.auth button{font-weight:650!important}
.app input::placeholder,.app textarea::placeholder,.auth input::placeholder,.auth textarea::placeholder{font-weight:450!important;color:#8a94a3!important;opacity:1!important}

/* Tables: dense but genuinely readable. */
.app table{
  font-family:var(--bh-font-ui)!important;
  font-variant-numeric:tabular-nums lining-nums!important;
}
.app table th{
  font-size:10.5px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  color:#596579!important;
}
.app table td{
  font-size:11.5px!important;
  line-height:1.4!important;
  font-weight:450!important;
  color:#344054;
}
.app table td b,.app table td strong{font-weight:650!important;color:#202733}
.app table td small{font-size:10px!important;line-height:1.35!important;font-weight:500!important}

/* Common compact lists / rankings */
.app .rank,
.app .rank b,
.app .rank span,
.app .rank small,
.app .request-actions,
.app .history-actions,
.app .purchase-category,
.app .users-list{
  font-family:var(--bh-font-ui)!important;
}
.app .rank b{font-size:11.5px!important;line-height:1.3!important;font-weight:650!important}
.app .rank small,.app .rank span{font-size:10px!important;line-height:1.35!important}

/* KPI hierarchy across the rest of the app */
.app .kpis article small{font-size:10.5px!important;font-weight:650!important;color:var(--bh-type-muted)!important}
.app .kpis article strong,
.app .kpis article>b{font-size:19px!important;line-height:1.15!important;font-weight:750!important;letter-spacing:-.018em!important}
.app .kpis article span{font-size:10px!important;line-height:1.35!important;font-weight:500!important}
.app .stream-card strong{font-size:18px!important;line-height:1.15!important;font-weight:750!important}
.app .stream-card small,.app .stream-card span{font-size:10.5px!important}
.app .purchase-summary strong{font-size:20px!important;line-height:1.15!important;font-weight:750!important}
.app .category-kpis article strong{font-size:19px!important;font-weight:750!important}

/* Authentication screens */
.auth-card{font-family:var(--bh-font-ui)!important}
.auth-card h1,.auth-card h2{font-family:var(--bh-font-display)!important;font-size:30px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.025em!important}
.auth-card>small{font-size:11px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:.08em!important}
.auth-card p{font-size:14px!important;line-height:1.6!important;font-weight:450!important}
.auth-card label{font-size:12.5px!important;line-height:1.4!important;font-weight:650!important}
.auth-card input,.auth-card select,.auth-card button{font-size:14px!important;line-height:1.35!important}
.auth-error,.auth-success,.captcha-unavailable{font-size:12px!important;line-height:1.45!important}

/* Numeric alignment improves scanning in reports, inventory, purchases and sales. */
.app [class*="sales"],
.app [class*="revenue"],
.app [class*="price"],
.app [class*="cost"],
.app [class*="qty"],
.app [class*="total"],
.app [class*="kpi"],
.app td,
.app th{
  font-variant-numeric:tabular-nums lining-nums!important;
}

/* Detailed Report has its own stricter typography contract loaded later. */

@media(max-width:760px){
  .app h1{font-size:24px!important;line-height:1.12!important}
  .app h2{font-size:17px!important;line-height:1.25!important}
  .app h3{font-size:14px!important;line-height:1.3!important}

  .app p,.app .note,.app .notice,.app .user-email{font-size:12px!important;line-height:1.5!important}
  .app label,
  .app .eyebrow,
  .app .panel>small,
  .app .panel-head small,
  .app .week-selector small,
  .app .stream-dashboard-title small,
  .app .stream-card small,
  .app .stream-card span,
  .app .kpis article small,
  .app .kpis article span,
  .app .purchase-summary small,
  .app .purchase-category-head small,
  .app .mapping-editor small,
  .app .saved-mapping small,
  .app .core-category-heading small,
  .app .pack-input small,
  .app .cloud-state{
    font-size:10.5px!important;
    line-height:1.4!important;
  }

  /* 16px prevents iOS Safari/WebView focus zoom. */
  .app input,.app select,.app textarea,
  .auth input,.auth select,.auth textarea{
    font-size:16px!important;
    line-height:1.3!important;
  }
  .app button,.auth button{font-size:12px!important;line-height:1.25!important}

  .app table th{font-size:10.5px!important}
  .app table td{font-size:11.5px!important;line-height:1.4!important}
  .app table td small{font-size:10px!important}

  .app aside nav button{font-size:12px!important}
  .app .kpis article strong,.app .kpis article>b{font-size:18px!important}
}

@media(min-width:761px){
  .app main:not(:has(.detail-analytics-shell)) .panel-head h2{font-size:18px!important}
  .app main:not(:has(.detail-analytics-shell)) .panel-head small{font-size:10.5px!important}
}

/* source: detailed-report-typography.css */
/* BeverageHub Detailed Report — typography quality pass. Loaded last. */

.app main:has(.detail-analytics-shell),
.detail-category-drawer,
.detail-product-drawer {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  font-synthesis: none !important;
}

/* Consistent display face for report titles and key numbers. */
.app main:has(.detail-analytics-shell) h1,
.app main:has(.detail-analytics-shell) h2,
.app main:has(.detail-analytics-shell) h3,
.app main:has(.detail-analytics-shell) .detail-kpi-strip article b,
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis b,
.app main:has(.detail-analytics-shell) .detail-category-focus-summary h3,
.detail-category-drawer h2,
.detail-product-drawer h2 {
  font-family: "Manrope", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-synthesis: none !important;
}

/* Financial/reporting numbers should align cleanly across rows. */
.app main:has(.detail-analytics-shell) .detail-kpi-strip article b,
.app main:has(.detail-analytics-shell) .detail-explorer-head,
.app main:has(.detail-analytics-shell) .detail-explorer-row,
.app main:has(.detail-analytics-shell) .detail-week-table,
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis,
.app main:has(.detail-analytics-shell) table,
.app main:has(.detail-analytics-shell) select,
.detail-product-drawer {
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

/* Header hierarchy */
.app main:has(.detail-analytics-shell) .detail-analytics-head small {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  letter-spacing: .075em !important;
  font-weight: 700 !important;
}
.app main:has(.detail-analytics-shell) .detail-analytics-head h2 {
  font-size: 27px !important;
  line-height: 1.08 !important;
  letter-spacing: -.026em !important;
  font-weight: 750 !important;
}
.app main:has(.detail-analytics-shell) .detail-analytics-head>div>span {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-weight: 450 !important;
}

/* Toolbar controls: readable without looking oversized. */
.app main:has(.detail-analytics-shell) .detail-period-toolbar label,
.app main:has(.detail-analytics-shell) .detail-category-launcher small,
.app main:has(.detail-analytics-shell) .detail-compare-chip small {
  font-size: 9px !important;
  line-height: 1.25 !important;
  letter-spacing: .035em !important;
  font-weight: 700 !important;
}
.app main:has(.detail-analytics-shell) .detail-period-toolbar select,
.app main:has(.detail-analytics-shell) .detail-period-main>button,
.app main:has(.detail-analytics-shell) .detail-import-state,
.app main:has(.detail-analytics-shell) .detail-category-launcher b,
.app main:has(.detail-analytics-shell) .detail-compare-chip b {
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  letter-spacing: -.005em !important;
}
.app main:has(.detail-analytics-shell) .detail-category-launcher span,
.app main:has(.detail-analytics-shell) .detail-import-meta {
  font-size: 9px !important;
  line-height: 1.4 !important;
}

/* KPI strip */
.app main:has(.detail-analytics-shell) .detail-kpi-strip article small {
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
}
.app main:has(.detail-analytics-shell) .detail-kpi-strip article b {
  font-size: 18.5px !important;
  line-height: 1.12 !important;
  font-weight: 750 !important;
  letter-spacing: -.022em !important;
}
.app main:has(.detail-analytics-shell) .detail-kpi-strip article span {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

/* Insight cards */
.app main:has(.detail-analytics-shell) .detail-insights-title b,
.app main:has(.detail-analytics-shell) .detail-insight b {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
}
.app main:has(.detail-analytics-shell) .detail-insights-title small,
.app main:has(.detail-analytics-shell) .detail-insight small {
  font-size: 9px !important;
  line-height: 1.42 !important;
  font-weight: 450 !important;
}

/* Breadcrumb and filters */
.app main:has(.detail-analytics-shell) .detail-breadcrumb {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.app main:has(.detail-analytics-shell) .detail-breadcrumb span:last-child {
  font-weight: 700 !important;
}
.app main:has(.detail-analytics-shell) .detail-report-filters.compact label {
  font-size: 9px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}
.app main:has(.detail-analytics-shell) .detail-report-filters.compact select {
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* Product Performance */
.app main:has(.detail-analytics-shell) .detail-product-explorer>header small {
  font-size: 9px !important;
  line-height: 1.3 !important;
  letter-spacing: .06em !important;
  font-weight: 700 !important;
}
.app main:has(.detail-analytics-shell) .detail-product-explorer>header b {
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
  letter-spacing: -.012em !important;
}
.app main:has(.detail-analytics-shell) .detail-product-explorer>header span {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-controls input,
.app main:has(.detail-analytics-shell) .detail-explorer-controls select {
  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-modes button {
  font-family: inherit !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-head span {
  font-size: 9px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-row>span b {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-row>span small {
  font-size: 8.75px !important;
  line-height: 1.35 !important;
  font-weight: 450 !important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-row>strong,
.app main:has(.detail-analytics-shell) .detail-explorer-rank {
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
}
.app main:has(.detail-analytics-shell) .detail-product-explorer>footer {
  font-size: 9px !important;
  line-height: 1.35 !important;
}

/* Right analytics stack */
.app main:has(.detail-analytics-shell) .detail-performance-card>header small {
  font-size: 9px !important;
  line-height: 1.3 !important;
  letter-spacing: .055em !important;
  font-weight: 700 !important;
}
.app main:has(.detail-analytics-shell) .detail-performance-card>header b {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}
.app main:has(.detail-analytics-shell) .detail-line-labels,
.app main:has(.detail-analytics-shell) .detail-week-table-head {
  font-size: 8.75px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
}
.app main:has(.detail-analytics-shell) .detail-week-table-row,
.app main:has(.detail-analytics-shell) .detail-donut-legend>div {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.app main:has(.detail-analytics-shell) .detail-week-table-row b,
.app main:has(.detail-analytics-shell) .detail-donut-legend b,
.app main:has(.detail-analytics-shell) .detail-donut-legend strong {
  font-size: 9.75px !important;
  font-weight: 700 !important;
}

/* Category focus */
.app main:has(.detail-analytics-shell) .detail-category-focus-summary>div:first-child small,
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis small {
  font-size: 9px !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary h3 {
  font-size: 22px !important;
  font-weight: 750 !important;
}
.app main:has(.detail-analytics-shell) .detail-category-focus-summary>div:first-child span {
  font-size: 10px !important;
  line-height: 1.4 !important;
}
.app main:has(.detail-analytics-shell) .detail-category-focus-kpis b {
  font-size: 15px !important;
  font-weight: 750 !important;
}

/* Category drawer */
.detail-category-drawer>header small {
  font-size: 9px !important;
  font-weight: 700 !important;
}
.detail-category-drawer>header h2 {
  font-size: 24px !important;
  font-weight: 750 !important;
}
.detail-category-drawer>header span {
  font-size: 11px !important;
  line-height: 1.48 !important;
}
.detail-category-search input {
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.detail-category-list>button b {
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.detail-category-list>button small {
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  font-weight: 450 !important;
}

/* Mobile: never let the typography become microscopic. 16px controls also prevent iOS focus zoom. */
@media (max-width: 760px) {
  .app main:has(.detail-analytics-shell) .detail-analytics-head h2 {
    font-size: 23px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-analytics-head>div>span {
    font-size: 10.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-head-actions button,
  .app main:has(.detail-analytics-shell) .detail-period-main>button,
  .app main:has(.detail-analytics-shell) .detail-import-state {
    font-size: 10px !important;
    font-weight: 650 !important;
  }
  .app main:has(.detail-analytics-shell) .detail-week-picker select,
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact select,
  .app main:has(.detail-analytics-shell) .detail-explorer-controls input,
  .app main:has(.detail-analytics-shell) .detail-explorer-controls select,
  .detail-category-search input {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-launcher b,
  .app main:has(.detail-analytics-shell) .detail-compare-chip b {
    font-size: 10.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-category-launcher span,
  .app main:has(.detail-analytics-shell) .detail-import-meta {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article small {
    font-size: 9.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article b {
    font-size: 17px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-kpi-strip article span {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-insights-title b,
  .app main:has(.detail-analytics-shell) .detail-insight b {
    font-size: 10.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-insights-title small,
  .app main:has(.detail-analytics-shell) .detail-insight small {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-breadcrumb,
  .app main:has(.detail-analytics-shell) .detail-report-filters.compact label {
    font-size: 9.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-product-explorer>header b {
    font-size: 13px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-product-explorer>header small,
  .app main:has(.detail-analytics-shell) .detail-product-explorer>header span {
    font-size: 9.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-modes button {
    font-size: 10px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-head span {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-row>span b {
    font-size: 10.5px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-row>span small {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-row>strong,
  .app main:has(.detail-analytics-shell) .detail-explorer-rank {
    font-size: 9.75px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-performance-card>header small,
  .app main:has(.detail-analytics-shell) .detail-line-labels,
  .app main:has(.detail-analytics-shell) .detail-week-table-head {
    font-size: 9px !important;
  }
  .app main:has(.detail-analytics-shell) .detail-performance-card>header b,
  .app main:has(.detail-analytics-shell) .detail-week-table-row,
  .app main:has(.detail-analytics-shell) .detail-donut-legend>div {
    font-size: 10px !important;
  }
  .detail-category-list>button b {
    font-size: 12px !important;
  }
  .detail-category-list>button small {
    font-size: 10px !important;
  }
}

/* source: detailed-product-events-packages.css */
/* Events / Packages is a separate Product Performance view. */
.app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-events-packages{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border-color:#cbd7ee!important;
  background:#f4f7ff!important;
  color:#425b8f!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-events-packages svg{
  flex:0 0 auto!important;
  color:#5a70a8!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-events-packages:hover{
  border-color:#aebfe4!important;
  background:#edf2ff!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-events-packages.is-active{
  border-color:#7f98cf!important;
  background:#e5ecff!important;
  color:#263e75!important;
  box-shadow:inset 0 0 0 1px rgba(79,103,161,.08)!important;
}
@media(max-width:760px){
  .app main:has(.detail-analytics-shell) .detail-explorer-modes button.is-events-packages{
    min-height:34px!important;
    padding-inline:11px!important;
  }
}

/* source: detailed-product-breakdown.css */
/* Product detail: Square serve / variation breakdown. */
.app .detail-product-drawer .detail-drawer-sales-breakdown{
  margin:0;
  border:1px solid #dfe6ee;
  background:#fff;
  overflow:hidden;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #e8edf2;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header>div{display:grid;gap:2px;min-width:0}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header small{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.07em;
  color:#667085;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header b{
  font-family:'Manrope','DM Sans',system-ui,sans-serif;
  line-height:1.25;
  font-weight:750;
  color:#172033;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header>span{
  flex:0 0 auto;
  font-size:10.5px;
  border-radius:999px;
  padding:5px 8px;
}
.app .detail-product-drawer .detail-breakdown-table{display:grid;width:100%}
.app .detail-product-drawer .detail-breakdown-head,
.app .detail-product-drawer .detail-breakdown-row{
  display:grid;
  grid-template-columns:minmax(135px,1.4fr) repeat(4,minmax(62px,.62fr));
  align-items:center;
  gap:0;
}
.app .detail-product-drawer .detail-breakdown-head{
  min-height:32px;
  background:#f3f6f9;
  border-bottom:1px solid #e2e8ef;
}
.app .detail-product-drawer .detail-breakdown-head span{
  padding:0 10px;
  font-size:9.5px;
  line-height:1.2;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:#697586;
}
.app .detail-product-drawer .detail-breakdown-head span:not(:first-child){text-align:right}
.app .detail-product-drawer .detail-breakdown-row{
  min-height:42px;
  border-bottom:1px solid #edf1f4;
}
.app .detail-product-drawer .detail-breakdown-row:last-child{border-bottom:0}
.app .detail-product-drawer .detail-breakdown-row b,
.app .detail-product-drawer .detail-breakdown-row strong{
  padding:9px 10px;
  font-size:11px;
  line-height:1.25;
  font-variant-numeric:tabular-nums;
}
.app .detail-product-drawer .detail-breakdown-row b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
  color:#24324a;
}
.app .detail-product-drawer .detail-breakdown-row strong{
  text-align:right;
  font-family:'Manrope','DM Sans',system-ui,sans-serif;
  font-weight:700;
  color:#344054;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>p{
  margin:0;
  padding:14px;
  font-size:11px;
  line-height:1.45;
  color:#667085;
}

@media(max-width:640px){
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header{padding:11px 12px}
  .app .detail-product-drawer .detail-breakdown-head,
  .app .detail-product-drawer .detail-breakdown-row{
    grid-template-columns:minmax(108px,1.25fr) repeat(4,minmax(50px,.55fr));
  }
  .app .detail-product-drawer .detail-breakdown-head span{padding:0 6px;font-size:8.5px}
  .app .detail-product-drawer .detail-breakdown-row b,
  .app .detail-product-drawer .detail-breakdown-row strong{padding:8px 6px;font-size:10px}
}

/* source: detailed-product-drawer-final.css */
/* Detailed Report product drawer — final desktop + mobile polish. Loaded last. */
.detail-product-drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  background:rgba(15,23,42,.22)!important;
  backdrop-filter:blur(2px)!important;
}
.app .detail-product-drawer{
  width:min(620px,94vw)!important;
  max-width:620px!important;
  height:100dvh!important;
  margin:0!important;
  padding:0 0 18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  background:#f7f9fc!important;
  border-left:1px solid #dfe5ec!important;
  box-shadow:-24px 0 55px rgba(15,23,42,.16)!important;
  scrollbar-width:thin!important;
  box-sizing:border-box!important;
}
.app .detail-product-drawer>*:not(header){
  margin-left:16px!important;
  margin-right:16px!important;
}
.app .detail-product-drawer>header{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:20px 20px 16px!important;
  border-bottom:1px solid #e4e9ef!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 4px 14px rgba(16,24,40,.035)!important;
}
.app .detail-product-drawer>header>div{min-width:0!important}
.app .detail-product-drawer>header small{
  display:block!important;
  margin-bottom:5px!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  color:#667085!important;
}
.app .detail-product-drawer>header h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.12!important;
  font-weight:760!important;
  letter-spacing:-.025em!important;
  color:#101828!important;
  overflow-wrap:anywhere!important;
}
.app .detail-product-drawer>header span{
  display:block!important;
  margin-top:6px!important;
  font-size:11px!important;
  line-height:1.4!important;
  color:#667085!important;
}
.app .detail-product-drawer>header .icon-btn{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:1px solid #dfe4ea!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:21px!important;
  line-height:1!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}

/* KPI summary */
.app .detail-product-drawer .detail-drawer-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.app .detail-product-drawer .detail-drawer-kpis article{
  min-width:0!important;
  min-height:92px!important;
  padding:12px!important;
  border:1px solid #e1e7ee!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.025)!important;
}
.app .detail-product-drawer .detail-drawer-kpis small{
  display:block!important;
  margin-bottom:7px!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  font-weight:650!important;
  color:#667085!important;
}
.app .detail-product-drawer .detail-drawer-kpis b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-family:'Manrope','DM Sans',system-ui,sans-serif!important;
  font-size:18px!important;
  line-height:1.12!important;
  font-weight:750!important;
  letter-spacing:-.018em!important;
  color:#101828!important;
}
.app .detail-product-drawer .detail-drawer-kpis span{
  display:block!important;
  margin-top:7px!important;
  font-size:9.25px!important;
  line-height:1.35!important;
  font-weight:550!important;
  color:#667085!important;
}

/* Sales breakdown is the primary analytical section. */
.app .detail-product-drawer .detail-drawer-sales-breakdown{
  margin-bottom:12px!important;
  border-color:#d7e2f0!important;
  border-radius:11px!important;
  box-shadow:0 3px 12px rgba(37,99,235,.035)!important;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header{
  padding:13px 14px!important;
  background:linear-gradient(180deg,#f7faff 0%,#f9fbfe 100%)!important;
  border-bottom-color:#dfe7f1!important;
  box-shadow:inset 3px 0 0 #2563eb!important;
}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header b{font-size:14px!important}
.app .detail-product-drawer .detail-drawer-sales-breakdown>header>span{
  border:1px solid #d9e5ff!important;
  background:#eef4ff!important;
  color:#315fb5!important;
  font-weight:700!important;
}
.app .detail-product-drawer .detail-breakdown-row:hover{background:#f8fbff!important}
.app .detail-product-drawer .detail-breakdown-row strong::before{display:none}

/* WoW comparison: visually secondary to the serve breakdown. */
.app .detail-product-drawer .detail-drawer-comparison{
  width:auto!important;
  margin-bottom:12px!important;
  overflow:hidden!important;
  border:1px solid #e1e7ee!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.02)!important;
}
.app .detail-product-drawer .detail-drawer-comparison>div{
  display:grid!important;
  grid-template-columns:minmax(110px,1.15fr) repeat(3,minmax(82px,1fr))!important;
  align-items:center!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-bottom:1px solid #edf0f3!important;
}
.app .detail-product-drawer .detail-drawer-comparison>div:last-child{border-bottom:0!important}
.app .detail-product-drawer .detail-drawer-comparison>div:first-child{
  min-height:34px!important;
  background:#f8fafc!important;
  color:#667085!important;
}
.app .detail-product-drawer .detail-drawer-comparison>div:first-child>*{
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}
.app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>span{
  font-size:10px!important;
  font-weight:650!important;
  color:#667085!important;
}
.app .detail-product-drawer .detail-drawer-comparison strong,
.app .detail-product-drawer .detail-drawer-comparison em{
  font-size:10.5px!important;
  font-style:normal!important;
  font-weight:700!important;
  text-align:right!important;
  color:#344054!important;
  font-variant-numeric:tabular-nums!important;
}
.app .detail-product-drawer .detail-drawer-comparison strong::before,
.app .detail-product-drawer .detail-drawer-comparison em::before{display:none}

/* Product metadata */
.app .detail-product-drawer .detail-drawer-meta{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.app .detail-product-drawer .detail-drawer-meta>div{
  min-width:0!important;
  padding:11px 12px!important;
  border:1px solid #e1e7ee!important;
  border-radius:10px!important;
  background:#fff!important;
}
.app .detail-product-drawer .detail-drawer-meta small{
  display:block!important;
  margin-bottom:4px!important;
  font-size:9px!important;
  font-weight:650!important;
  color:#667085!important;
}
.app .detail-product-drawer .detail-drawer-meta b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#24324a!important;
}
.app .detail-product-drawer .detail-drawer-product-link{
  width:calc(100% - 32px)!important;
  min-height:42px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border:1px solid #cfe0ff!important;
  border-radius:9px!important;
  background:#eef4ff!important;
  color:#1f5fd0!important;
  font-size:10.5px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  .detail-product-drawer-backdrop{background:rgba(15,23,42,.28)!important}
  .app .detail-product-drawer{
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
    border-left:0!important;
    box-shadow:none!important;
  }
  .app .detail-product-drawer>*:not(header){
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .app .detail-product-drawer>header{
    margin-bottom:10px!important;
    padding:calc(13px + env(safe-area-inset-top)) 13px 12px!important;
    gap:12px!important;
  }
  .app .detail-product-drawer>header h2{font-size:20px!important;line-height:1.15!important}
  .app .detail-product-drawer>header small{font-size:9px!important;margin-bottom:4px!important}
  .app .detail-product-drawer>header span{font-size:10px!important;margin-top:4px!important}
  .app .detail-product-drawer>header .icon-btn{
    flex-basis:40px!important;width:40px!important;height:40px!important;min-height:40px!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis article{
    min-height:82px!important;
    padding:10px 11px!important;
    border-radius:9px!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis small{font-size:9px!important;margin-bottom:5px!important}
  .app .detail-product-drawer .detail-drawer-kpis b{font-size:16.5px!important}
  .app .detail-product-drawer .detail-drawer-kpis span{font-size:8.75px!important;margin-top:5px!important}

  /* Phone: each Pint / Half Pint becomes a readable metric card, no squeezed 5-column table. */
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header b{font-size:13px!important}
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header>span{font-size:9px!important;padding:4px 7px!important}
  .app .detail-product-drawer .detail-breakdown-row{
    gap:0!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>b{
    white-space:normal!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong{
    border-bottom:1px solid #edf0f3!important;
    text-align:left!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(even){border-right:1px solid #edf0f3!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-last-child(-n+2){border-bottom:0!important}

  /* Phone: WoW table becomes metric cards instead of another squeezed table. */
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child){
    gap:0!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong,
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>em{
    text-align:left!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>em{border-right:0!important}
  .app .detail-product-drawer .detail-drawer-meta>div{padding:9px 10px!important}
  .app .detail-product-drawer .detail-drawer-product-link{
    border-color:#bfd4ff!important;
    background:#edf4ff!important;
  }
}

@media(max-width:390px){
  .app .detail-product-drawer .detail-drawer-kpis{gap:6px!important}
  .app .detail-product-drawer .detail-drawer-kpis article{padding:9px!important}
  .app .detail-product-drawer .detail-breakdown-row>strong{padding:8px 9px!important;font-size:10.5px!important}
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong,
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>em{padding:8px 6px!important;font-size:9.5px!important}
}

/* source: detailed-product-drawer-mobile-visible.css */
/* Mobile product detail — strict normal-flow layout. Loaded after drawer polish. */
@media (max-width:760px){
  /* The whole drawer is one vertical document. Nothing below may overlay another section. */
  .app .detail-product-drawer{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .app .detail-product-drawer>header{
    order:0!important;
    flex:0 0 auto!important;
  }
  .app .detail-product-drawer>.detail-drawer-kpis,
  .app .detail-product-drawer>.detail-drawer-sales-breakdown,
  .app .detail-product-drawer>.detail-drawer-comparison,
  .app .detail-product-drawer>.detail-drawer-meta,
  .app .detail-product-drawer>.detail-drawer-product-link{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer>.detail-drawer-kpis{order:1!important}
  .app .detail-product-drawer>.detail-drawer-sales-breakdown{order:2!important}
  .app .detail-product-drawer>.detail-drawer-comparison{order:3!important}
  .app .detail-product-drawer>.detail-drawer-meta{order:4!important}
  .app .detail-product-drawer>.detail-drawer-product-link{order:5!important}

  /* KPI summary */
  .app .detail-product-drawer .detail-drawer-kpis{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-bottom:12px!important;
  }

  /* Serve / variation breakdown: full cards in normal flow. */
  .app .detail-product-drawer .detail-drawer-sales-breakdown{
    display:block!important;
    width:auto!important;
    margin-bottom:12px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #d7e2f0!important;
    border-radius:11px!important;
    background:#fff!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header>div{min-width:0!important}
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header>span{
    flex:0 0 auto!important;
    align-self:flex-start!important;
    white-space:nowrap!important;
  }
  .app .detail-product-drawer .detail-breakdown-table{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    align-content:start!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:9px!important;
    overflow:visible!important;
    background:#f7f9fc!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-breakdown-head{display:none!important}
  .app .detail-product-drawer .detail-breakdown-row{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto auto auto!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #dfe6ee!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 1px 3px rgba(16,24,40,.025)!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>b{
    grid-column:1/-1!important;
    display:block!important;
    width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:11px 12px!important;
    border-bottom:1px solid #e7ecf1!important;
    background:#fbfcfe!important;
    color:#172033!important;
    font-size:13px!important;
    line-height:1.3!important;
    font-weight:750!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 12px!important;
    overflow:hidden!important;
    color:#172033!important;
    font-family:'Manrope','DM Sans',system-ui,sans-serif!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:750!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(2),
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(4){border-right:1px solid #e7ecf1!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(2),
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(3){border-bottom:1px solid #e7ecf1!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(4),
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(5){border-bottom:0!important}
  .app .detail-product-drawer .detail-breakdown-row>strong::before{
    display:block!important;
    margin:0!important;
    color:#7b8794!important;
    font-family:'DM Sans',system-ui,sans-serif!important;
    font-size:9px!important;
    line-height:1.15!important;
    font-weight:650!important;
    letter-spacing:.02em!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(2)::before{content:'Sales'!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(3)::before{content:'Units'!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(4)::before{content:'Mix'!important}
  .app .detail-product-drawer .detail-breakdown-row>strong:nth-child(5)::before{content:'Avg. price'!important}

  /* Week-on-week metrics follow after the complete breakdown, never on top of it. */
  .app .detail-product-drawer .detail-drawer-comparison{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    align-content:start!important;
    gap:8px!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin-bottom:12px!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:first-child{display:none!important}
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child){
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:auto auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #dfe6ee!important;
    border-radius:10px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>span{
    grid-column:1/-1!important;
    display:block!important;
    min-height:40px!important;
    margin:0!important;
    padding:10px 11px!important;
    border-bottom:1px solid #e7ecf1!important;
    background:#fbfcfe!important;
    color:#344054!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:700!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong,
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>em{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    min-height:58px!important;
    height:auto!important;
    margin:0!important;
    padding:9px!important;
    overflow:hidden!important;
    color:#172033!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    font-weight:750!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong{border-right:1px solid #e7ecf1!important}
  .app .detail-product-drawer .detail-drawer-comparison strong::before,
  .app .detail-product-drawer .detail-drawer-comparison em::before{
    display:block!important;
    margin:0!important;
    color:#7b8794!important;
    font-family:'DM Sans',system-ui,sans-serif!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    font-weight:650!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong:nth-child(2)::before{content:'Current'!important}
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>strong:nth-child(3)::before{content:'Previous'!important}
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>em:nth-child(4)::before{content:'Change'!important}

  /* Metadata stays below all WoW cards. */
  .app .detail-product-drawer .detail-drawer-meta{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:auto!important;
    height:auto!important;
    margin-bottom:12px!important;
    overflow:visible!important;
  }

  /* The Product Database action is part of the page, not a floating overlay. */
  .app .detail-product-drawer .detail-drawer-product-link{
    position:relative!important;
    inset:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    display:flex!important;
    width:calc(100% - 20px)!important;
    min-height:46px!important;
    margin-top:0!important;
    margin-bottom:calc(10px + env(safe-area-inset-bottom))!important;
    box-shadow:none!important;
  }
}

/* source: detailed-product-drawer-desktop-final.css */
/* Detailed Report product drawer — unified laptop/desktop visual system.
   Mobile remains controlled by the dedicated mobile stylesheet. */
@media (min-width:761px){
  .detail-product-drawer-backdrop{
    align-items:stretch!important;
    justify-content:flex-end!important;
    background:rgba(15,23,42,.24)!important;
    backdrop-filter:blur(3px)!important;
  }

  .app .detail-product-drawer{
    --drawer-border:#e1e7ee;
    --drawer-muted:#667085;
    --drawer-text:#172033;
    --drawer-soft:#f8fafc;
    --drawer-blue:#2563eb;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:min(700px,78vw)!important;
    max-width:700px!important;
    height:100dvh!important;
    min-height:0!important;
    padding:0 0 16px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#f6f8fb!important;
    border-left:1px solid #dfe5ec!important;
    box-shadow:-20px 0 50px rgba(15,23,42,.14)!important;
    box-sizing:border-box!important;
  }

  .app .detail-product-drawer>*:not(header){
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin-left:16px!important;
    margin-right:16px!important;
    box-sizing:border-box!important;
  }

  /* Header */
  .app .detail-product-drawer>header{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:14px 16px 13px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid var(--drawer-border)!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer>header small{
    display:block!important;
    margin:0 0 4px!important;
    color:#697586!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:750!important;
    letter-spacing:.075em!important;
  }
  .app .detail-product-drawer>header h2{
    margin:0!important;
    color:#101828!important;
    font-size:21px!important;
    line-height:1.12!important;
    font-weight:780!important;
    letter-spacing:-.025em!important;
  }
  .app .detail-product-drawer>header span{
    display:block!important;
    margin-top:4px!important;
    color:var(--drawer-muted)!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
  .app .detail-product-drawer>header .icon-btn{
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    border:1px solid var(--drawer-border)!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#344054!important;
    box-shadow:none!important;
  }

  /* One card language everywhere: same border, radius and no competing shadows. */
  .app .detail-product-drawer .detail-drawer-kpis article,
  .app .detail-product-drawer>.detail-drawer-sales-breakdown,
  .app .detail-product-drawer>.detail-drawer-comparison,
  .app .detail-product-drawer .detail-drawer-meta>div{
    border:1px solid var(--drawer-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  /* KPI strip */
  .app .detail-product-drawer>.detail-drawer-kpis{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:0!important;
    margin-bottom:12px!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis article{
    min-width:0!important;
    min-height:78px!important;
    height:auto!important;
    padding:10px 11px!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis small{
    display:block!important;
    margin:0 0 5px!important;
    color:var(--drawer-muted)!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:650!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis b{
    display:block!important;
    color:#101828!important;
    font-size:17px!important;
    line-height:1.12!important;
    font-weight:760!important;
    font-variant-numeric:tabular-nums!important;
  }
  .app .detail-product-drawer .detail-drawer-kpis span{
    display:block!important;
    margin-top:5px!important;
    color:var(--drawer-muted)!important;
    font-size:8.75px!important;
    line-height:1.3!important;
    font-weight:550!important;
  }

  /* Sales breakdown — same card as the rest, blue only as a small semantic accent. */
  .app .detail-product-drawer>.detail-drawer-sales-breakdown{
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-top:0!important;
    margin-bottom:12px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    height:auto!important;
    min-height:52px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid var(--drawer-border)!important;
    background:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header>div{
    display:grid!important;
    gap:2px!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header small{
    color:var(--drawer-blue)!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    font-weight:800!important;
    letter-spacing:.07em!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header b{
    color:var(--drawer-text)!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:750!important;
  }
  .app .detail-product-drawer .detail-drawer-sales-breakdown>header>span{
    flex:0 0 auto!important;
    padding:4px 7px!important;
    border:1px solid #d7e4ff!important;
    border-radius:999px!important;
    background:#f3f7ff!important;
    color:#315fb5!important;
    font-size:9px!important;
    font-weight:700!important;
  }
  .app .detail-product-drawer .detail-breakdown-table{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    background:#fff!important;
  }
  .app .detail-product-drawer .detail-breakdown-head,
  .app .detail-product-drawer .detail-breakdown-row{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(72px,.62fr))!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    visibility:visible!important;
    opacity:1!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-breakdown-head{
    min-height:30px!important;
    background:var(--drawer-soft)!important;
    border-bottom:1px solid var(--drawer-border)!important;
  }
  .app .detail-product-drawer .detail-breakdown-head span{
    display:flex!important;
    align-items:center!important;
    padding:0 10px!important;
    color:#697586!important;
    font-size:8px!important;
    line-height:1.15!important;
    font-weight:750!important;
    letter-spacing:.035em!important;
  }
  .app .detail-product-drawer .detail-breakdown-head span:not(:first-child){justify-content:flex-end!important}
  .app .detail-product-drawer .detail-breakdown-row{
    min-height:40px!important;
    border-bottom:1px solid #edf1f4!important;
    background:#fff!important;
  }
  .app .detail-product-drawer .detail-breakdown-row:last-child{border-bottom:0!important}
  .app .detail-product-drawer .detail-breakdown-row>b,
  .app .detail-product-drawer .detail-breakdown-row>strong{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:8px 10px!important;
    color:#24324a!important;
    font-size:10px!important;
    line-height:1.2!important;
    opacity:1!important;
    visibility:visible!important;
    box-sizing:border-box!important;
    font-variant-numeric:tabular-nums!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>b{
    justify-content:flex-start!important;
    font-weight:700!important;
    white-space:normal!important;
  }
  .app .detail-product-drawer .detail-breakdown-row>strong{
    justify-content:flex-end!important;
    text-align:right!important;
    font-weight:700!important;
  }

  /* WoW comparison — same neutral card language. */
  .app .detail-product-drawer>.detail-drawer-comparison{
    position:relative!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin-top:0!important;
    margin-bottom:12px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(125px,1.15fr) repeat(3,minmax(90px,1fr))!important;
    align-items:center!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 12px!important;
    overflow:visible!important;
    border-bottom:1px solid #edf1f4!important;
    box-sizing:border-box!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:last-child{border-bottom:0!important}
  .app .detail-product-drawer .detail-drawer-comparison>div:first-child{
    min-height:30px!important;
    background:var(--drawer-soft)!important;
    border-bottom:1px solid var(--drawer-border)!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:first-child>*{
    color:#697586!important;
    font-size:8px!important;
    line-height:1.15!important;
    font-weight:750!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison>div:not(:first-child)>span{
    color:var(--drawer-muted)!important;
    font-size:9.5px!important;
    font-weight:650!important;
  }
  .app .detail-product-drawer .detail-drawer-comparison strong,
  .app .detail-product-drawer .detail-drawer-comparison em{
    color:#344054!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:700!important;
    font-style:normal!important;
    text-align:right!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Metadata */
  .app .detail-product-drawer>.detail-drawer-meta{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:0!important;
    margin-bottom:12px!important;
  }
  .app .detail-product-drawer .detail-drawer-meta>div{
    min-height:58px!important;
    padding:10px 11px!important;
  }
  .app .detail-product-drawer .detail-drawer-meta small{
    display:block!important;
    margin:0 0 4px!important;
    color:var(--drawer-muted)!important;
    font-size:8.5px!important;
    font-weight:650!important;
  }
  .app .detail-product-drawer .detail-drawer-meta b{
    display:block!important;
    color:#24324a!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    font-weight:700!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* CTA belongs to the same content column and spans it fully. */
  .app .detail-product-drawer>.detail-drawer-product-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-height:40px!important;
    height:40px!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding:0 14px!important;
    border:1px solid #cfe0ff!important;
    border-radius:10px!important;
    background:#eef4ff!important;
    color:#1f5fd0!important;
    font-size:10px!important;
    font-weight:750!important;
    box-shadow:none!important;
  }
  .app .detail-product-drawer>.detail-drawer-product-link:hover{
    background:#e6efff!important;
    border-color:#b9d1ff!important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  .app .detail-product-drawer{
    width:min(660px,84vw)!important;
    max-width:660px!important;
  }
  .app .detail-product-drawer>*:not(header){
    margin-left:14px!important;
    margin-right:14px!important;
  }
  .app .detail-product-drawer>.detail-drawer-kpis{gap:6px!important}
  .app .detail-product-drawer .detail-drawer-kpis article{padding:9px!important}
  .app .detail-product-drawer .detail-drawer-kpis b{font-size:15.5px!important}
}

/* source: detailed-product-performance-limit.css */
/* Product Performance row limit — compact blue footer panels. */
.app main:has(.detail-analytics-shell) .detail-product-explorer>.detail-explorer-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:54px!important;
  padding:9px 12px!important;
  border-top:1px solid #e7ecf2!important;
  background:#f8fbff!important;
  color:#667085!important;
  font-size:9px!important;
}
.app main:has(.detail-analytics-shell) .detail-product-explorer>.detail-explorer-footer>span:last-child{
  text-align:right!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-limit-panels{
  display:grid!important;
  grid-template-columns:repeat(3,44px)!important;
  gap:6px!important;
  padding:4px!important;
  border:1px solid #d7e4fb!important;
  border-radius:10px!important;
  background:#eef5ff!important;
  box-shadow:inset 0 1px 2px rgba(37,99,235,.03)!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-limit-panels button{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#3b6fcb!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:750!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-limit-panels button:hover{
  border-color:#c7dafc!important;
  background:#e4efff!important;
  color:#245fc4!important;
}
.app main:has(.detail-analytics-shell) .detail-explorer-limit-panels button.is-active{
  border-color:#2563eb!important;
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 2px 6px rgba(37,99,235,.22)!important;
}

@media(max-width:760px){
  .app main:has(.detail-analytics-shell) .detail-product-explorer>.detail-explorer-footer{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:0!important;
    padding:9px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-product-explorer>.detail-explorer-footer>span:first-child{
    font-size:8.5px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-product-explorer>.detail-explorer-footer>span:last-child{
    display:none!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-limit-panels{
    grid-template-columns:repeat(3,40px)!important;
    gap:4px!important;
    padding:3px!important;
    border-radius:9px!important;
  }
  .app main:has(.detail-analytics-shell) .detail-explorer-limit-panels button{
    width:40px!important;
    height:32px!important;
    font-size:10px!important;
  }
}

/* source: detailed-category-report-mode.css */
/* Detailed Report category mode: legacy expandable category reporting appears only after Categories is used. */

/* Normal Detailed Report = analytics dashboard only. */
.app main:has(.detail-grid) .detail-grid:not(.is-category-report) > #detail-tables,
.app main:has(.detail-grid) .detail-grid:not(.is-category-report) > .detail-collapsible-panel,
.app main:has(.detail-grid) .detail-grid:not(.is-category-report) > .panel {
  display:none!important;
}

/* Category mode = category reporting only; remove the dashboard above it. */
.app main:has(.detail-grid) .detail-grid.is-category-report > .detail-analytics-shell {
  display:none!important;
}

.app main:has(.detail-grid) .detail-grid.is-category-report {
  display:grid!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  padding-top:0!important;
}

.app main:has(.detail-grid) .detail-grid.is-category-report > #detail-tables {
  margin-top:0!important;
  border:1px solid #dfe6ee!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.025)!important;
}

.app main:has(.detail-grid) .detail-grid.is-category-report > .detail-collapsible-panel,
.app main:has(.detail-grid) .detail-grid.is-category-report > .panel {
  margin:0!important;
  border-color:#dfe6ee!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.02)!important;
}

@media (max-width:760px){
  .app main:has(.detail-grid) .detail-grid.is-category-report {
    gap:8px!important;
    padding-inline:8px!important;
  }
  .app main:has(.detail-grid) .detail-grid.is-category-report > #detail-tables {
    border-radius:9px!important;
  }
}

/* source: product-wine-recognition.css */
.product-alias-row:has(.wine-sales-recognition){grid-template-columns:minmax(0,1fr) minmax(185px,230px) auto auto!important;align-items:start!important;gap:9px 10px!important;padding:10px 0!important;border-bottom:1px solid #eceeea!important}.product-alias-row:has(.wine-sales-recognition)>input{grid-column:1!important;align-self:start!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml{grid-column:2!important;display:grid!important;grid-template-columns:minmax(90px,1fr) 82px!important;gap:6px!important;align-items:center!important;min-height:37px!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml input,.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml select{width:100%!important;height:37px!important;margin:0!important;min-width:0!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml input{padding:0 10px!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml select{padding:0 8px!important;background:#fff!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-formats{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:max-content max-content minmax(0,1fr)!important;align-items:center!important;gap:6px 8px!important;width:100%!important;padding:0!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-formats>span{width:auto!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-formats>small{grid-column:1/3!important;width:auto!important;margin:0!important;color:#7d8790!important;font-size:8px!important;line-height:1.3!important}.product-alias-row:has(.wine-sales-recognition)>.connected-product-editor{grid-row:3!important}.wine-sales-recognition{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(210px,1fr) repeat(auto-fit,minmax(210px,280px))!important;align-items:center!important;gap:8px!important;width:100%!important;margin:4px 0 0!important;padding:10px 12px!important;border:1px solid #e2e7ee!important;border-radius:9px!important;background:#f8fafc!important;box-shadow:none!important}.wine-sales-recognition-title{align-self:center!important;margin:0!important;color:#536273!important;font-size:9px!important;font-weight:800!important;letter-spacing:.01em!important;line-height:1.35!important}.wine-sales-recognition-title::before{content:"Wine format";display:block;margin-bottom:2px;color:#1f2937;font-size:10px;font-weight:800;letter-spacing:0;text-transform:none}.wine-sales-recognition-row{display:grid!important;grid-template-columns:minmax(0,1fr) 132px!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:42px!important;margin:0!important;padding:7px 8px!important;border:1px solid #e1e6ed!important;border-radius:8px!important;background:#fff!important}.wine-sales-recognition-row>span{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:3px 7px!important;min-width:0!important}.wine-sales-recognition-row>span>b{grid-row:1/3!important;display:grid!important;place-items:center!important;min-width:52px!important;height:28px!important;padding:0 7px!important;border:1px solid #d8e0ea!important;border-radius:7px!important;background:#f6f8fb!important;color:#172033!important;font-size:10px!important;white-space:nowrap!important}.wine-sales-recognition-row>span>small{margin:0!important;color:#667085!important;font-size:8px!important;line-height:1.25!important;white-space:normal!important}.wine-sales-recognition-row select{width:100%!important;min-width:0!important;height:32px!important;margin:0!important;padding:0 8px!important;border:1px solid #ccd6e2!important;border-radius:7px!important;background:#fff!important;color:#27364a!important;font-size:9px!important;font-weight:750!important;box-shadow:none!important}.wine-sales-recognition-row select:focus{border-color:#7da8f8!important;box-shadow:0 0 0 3px rgba(37,99,235,.09)!important;outline:0!important}
@media(max-width:900px){.product-alias-row:has(.wine-sales-recognition){grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto!important}.product-alias-row:has(.wine-sales-recognition)>.product-primary-name,.product-alias-row:has(.wine-sales-recognition)>.product-alias-unlink{grid-column:3!important}.wine-sales-recognition{grid-template-columns:1fr!important}.wine-sales-recognition-title{padding-bottom:3px!important;border-bottom:1px solid #e7ebf0!important}.wine-sales-recognition-row{grid-template-columns:minmax(0,1fr) 150px!important}}
@media(max-width:700px){.product-alias-row:has(.wine-sales-recognition){grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 0!important}.product-alias-row:has(.wine-sales-recognition)>input{grid-column:1/-1!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-ml{grid-column:1/-1!important;grid-template-columns:minmax(0,1fr) 100px!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-formats{grid-column:1/-1!important;grid-row:auto!important;grid-template-columns:max-content max-content!important}.product-alias-row:has(.wine-sales-recognition)>.product-alias-formats>small{grid-column:1/-1!important}.product-alias-row:has(.wine-sales-recognition)>.connected-product-editor{grid-row:auto!important}.wine-sales-recognition{grid-column:1/-1!important;grid-template-columns:1fr!important;margin-top:2px!important;padding:9px!important}.wine-sales-recognition-title{font-size:9px!important}.wine-sales-recognition-row{grid-template-columns:1fr!important;gap:7px!important;padding:9px!important}.wine-sales-recognition-row>span>b{font-size:11px!important}.wine-sales-recognition-row>span>small{font-size:9px!important}.wine-sales-recognition-row select{height:40px!important;font-size:16px!important}.product-alias-row:has(.wine-sales-recognition)>button,.product-alias-row:has(.wine-sales-recognition)>.product-primary-name,.product-alias-row:has(.wine-sales-recognition)>.product-alias-unlink{grid-column:auto!important;width:100%!important}}

/* source: detailed-report-minimal-top.css */
/* Detailed Report — remove redundant top status/title/action block only on this page. */
.app:has(main .detail-analytics-shell) .notice{
  display:none!important;
}

.app main:has(.detail-analytics-shell) .detail-analytics-head{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

.app main:has(.detail-analytics-shell) .detail-analytics-shell{
  padding-top:0!important;
}

.app main:has(.detail-analytics-shell) .detail-period-toolbar{
  margin-top:0!important;
}

/* source: detailed-report-rail-fix.css */
/* Detailed Report analytics rail isolation.
   Prevent global app <aside> rules (height:100vh / overflow:hidden) from clipping
   the right-side analytics stack. */
.app main:has(.detail-analytics-shell) aside.detail-dashboard-rail{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  flex-direction:initial!important;
  align-self:start!important;
  grid-auto-rows:max-content!important;
}
.app main:has(.detail-analytics-shell) aside.detail-dashboard-rail>.detail-performance-card{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
}
.app main:has(.detail-analytics-shell) aside.detail-dashboard-rail>.detail-category-mix{
  height:auto!important;
  max-height:none!important;
  min-height:224px!important;
  overflow:hidden!important;
}
.app main:has(.detail-analytics-shell) aside.detail-dashboard-rail>.detail-category-mix .detail-donut-wrap{
  height:auto!important;
  max-height:none!important;
  min-height:160px!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .app main:has(.detail-analytics-shell) aside.detail-dashboard-rail>.detail-category-mix{
    min-height:0!important;
  }
  .app main:has(.detail-analytics-shell) aside.detail-dashboard-rail>.detail-category-mix .detail-donut-wrap{
    min-height:112px!important;
  }
}

/* source: product-merge-search.css */
.product-modal-backdrop .product-merge-control{grid-template-columns:minmax(190px,.95fr) minmax(280px,1.45fr) auto;align-items:end;overflow:visible}.product-merge-revenue{display:block;margin-top:3px;color:#747b80;font-size:9px;font-style:normal;font-weight:700}.product-merge-search{position:relative;display:block;margin:0;min-width:0}.product-merge-search-field{display:flex!important;align-items:center;gap:8px;height:40px;padding:0 11px;border:1px solid #d7d9da;border-radius:9px;background:#fff;color:#6c747a;box-shadow:0 1px 2px rgba(16,24,40,.03)}.product-merge-search-field:focus-within{border-color:#7baed0;box-shadow:0 0 0 3px rgba(55,132,181,.11)}.product-merge-search-field input{width:100%;height:38px!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:12px}.product-merge-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);display:grid!important;gap:3px!important;max-height:244px;overflow:auto;padding:5px;border:1px solid #dfe3e6;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(15,30,45,.16)}.product-modal-backdrop .product-merge-control .product-merge-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff!important;color:#28343b!important;text-align:left;box-shadow:none}.product-modal-backdrop .product-merge-control .product-merge-result:hover{background:#edf6fc!important;color:#174f72!important;transform:none}.product-merge-result>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.product-merge-result>small{padding:3px 6px;border-radius:999px;background:#edf2f5;color:#667984!important;font-size:8px!important;letter-spacing:.04em!important;white-space:nowrap}.product-merge-empty{display:block;padding:12px 10px;color:#7c858a;font-size:10px;text-align:center}.product-modal-backdrop .product-merge-control>button:disabled{opacity:.45;cursor:not-allowed}.product-modal-backdrop .product-merge-control>button:not(:disabled){background:linear-gradient(135deg,#3b7191,#24536f);box-shadow:0 5px 13px rgba(36,83,111,.16)}@media(max-width:800px){.product-modal-backdrop .product-merge-control{grid-template-columns:1fr;overflow:visible}.product-modal-backdrop .product-merge-control>div{display:grid}.product-merge-results{position:static;margin-top:6px;max-height:176px}.product-merge-search-field input{font-size:16px!important}.product-modal-backdrop .product-merge-control>button{width:100%}}

/* source: detailed-period-view.css */
.detail-period-analysis{margin:12px 16px 0;border:1px solid #e1e7ee;border-radius:12px;background:#fff;overflow:hidden}.detail-period-analysis>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #e8edf3;background:#fbfcfe}.detail-period-analysis>header>div{display:flex;flex-direction:column;gap:3px}.detail-period-analysis>header small{font-size:10px;letter-spacing:.08em;font-weight:800;color:#2563eb}.detail-period-analysis>header b{font-family:Manrope,system-ui,sans-serif;font-size:16px;color:#172033}.detail-period-analysis>header span{font-size:11px;line-height:1.45;color:#667085;max-width:680px}.detail-period-analysis>header em{font-style:normal;font-size:10.5px;color:#667085;white-space:nowrap;padding-top:2px}.detail-period-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e8edf3}.detail-period-kpis article{min-width:0;padding:11px 14px;border-right:1px solid #edf1f5;display:flex;flex-direction:column;gap:3px}.detail-period-kpis article:last-child{border-right:0}.detail-period-kpis small{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:700}.detail-period-kpis b{font-family:Manrope,system-ui,sans-serif;font-size:17px;color:#172033;font-variant-numeric:tabular-nums}.detail-period-table-wrap{overflow-x:auto}.detail-period-table{min-width:640px}.detail-period-table-head,.detail-period-table-row{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(90px,.75fr));align-items:center}.detail-period-table-head{min-height:34px;padding:0 14px;background:#f8fafc;border-bottom:1px solid #e8edf3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#667085}.detail-period-table-row{min-height:46px;padding:5px 14px;border-bottom:1px solid #edf1f5;font-size:11.5px;color:#344054;font-variant-numeric:tabular-nums}.detail-period-table-row:last-child{border-bottom:0}.detail-period-table-row>span:first-child{display:flex;flex-direction:column;gap:1px}.detail-period-table-row>span:first-child b{font-size:11.5px;color:#172033}.detail-period-table-row>span:first-child small{font-size:9.5px;color:#98a2b3}.detail-period-table-row strong{font-weight:750;color:#172033}.detail-period-empty{padding:22px 16px;display:flex;flex-direction:column;gap:4px}.detail-period-empty b{font-size:13px;color:#172033}.detail-period-empty span{font-size:11px;color:#667085}.detail-view-select select{min-width:92px}.detail-view-select select:not(:disabled){cursor:pointer}
@media(max-width:760px){.detail-period-analysis{margin:10px 10px 0;border-radius:10px}.detail-period-analysis>header{padding:12px;flex-direction:column;gap:6px}.detail-period-analysis>header em{white-space:normal}.detail-period-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-period-kpis article{padding:10px 12px;border-bottom:1px solid #edf1f5}.detail-period-kpis article:nth-child(2){border-right:0}.detail-period-kpis article:nth-last-child(-n+2){border-bottom:0}.detail-period-table{min-width:600px}.detail-period-table-head,.detail-period-table-row{grid-template-columns:minmax(155px,1.25fr) repeat(4,minmax(82px,.7fr))}.detail-period-table-head{padding:0 12px}.detail-period-table-row{padding:5px 12px}}

/* source: upload-history-reporting.css */
.upload-history-v2{margin:0 0 18px;padding:16px;border:1px solid #dbe6f3;border-radius:14px;background:#f8fbff}.upload-history-section-head,.detail-upload-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.upload-history-section-head>div,.detail-upload-audit-head>div:first-child{display:flex;flex-direction:column;gap:3px}.upload-history-section-head small,.detail-upload-audit-head small,.detail-upload-inspector-title small{font-size:10px;letter-spacing:.08em;color:#52657d;font-weight:800}.upload-history-section-head b,.detail-upload-audit-head b{font-size:16px;color:#172033}.upload-history-section-head span,.detail-upload-audit-head span{font-size:12px;color:#667085}.upload-history-section-head em{font-style:normal;font-size:12px;font-weight:700;color:#315e91;background:#eef5ff;border:1px solid #d5e5fa;border-radius:999px;padding:6px 9px}.upload-history-v2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.upload-history-v2-card{padding:12px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:10px}.upload-history-v2-title{display:flex;align-items:flex-start;gap:9px}.upload-history-v2-title svg{margin-top:2px;color:#4274ad}.upload-history-v2-title span{display:flex;flex-direction:column;min-width:0}.upload-history-v2-title b{font-size:13px;color:#1c2638;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-history-v2-title small{font-size:11px;color:#758195}.upload-history-v2-meta,.upload-history-v2-foot{display:flex;flex-wrap:wrap;gap:6px}.upload-history-v2-meta span,.upload-history-v2-foot span{font-size:10px;border:1px solid #e5eaf0;background:#f7f9fb;border-radius:999px;padding:4px 7px;color:#546174}.upload-status-staging{background:#eef5ff!important;border-color:#cfe0f5!important;color:#245e9a!important;font-weight:800}.upload-history-v2-foot{border-top:1px solid #edf0f4;padding-top:9px}.upload-history-v2-foot span{border:0;background:transparent;padding:0;color:#7a8493}.detail-upload-audit{margin:14px 0 16px;padding:16px;border:1px solid #dfe6ee;border-radius:14px;background:#fff}.detail-upload-audit-counts{display:flex!important;flex-direction:row!important;gap:8px!important;flex-wrap:wrap}.detail-upload-audit-counts span{display:flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:#f8fafc;padding:6px 8px;border-radius:999px}.detail-upload-audit-counts strong{color:#244d7a}.detail-upload-audit-body{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);gap:14px}.detail-upload-audit-list{display:flex;flex-direction:column;gap:6px;max-height:390px;overflow:auto;padding-right:2px}.detail-upload-audit-item{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;padding:10px;border:1px solid #e4e9ef;background:#fafbfc;border-radius:10px;color:#202939;cursor:pointer}.detail-upload-audit-item:hover{border-color:#cbd9e8;background:#f5f9fe}.detail-upload-audit-item.is-active{border-color:#a9c5e7;background:linear-gradient(135deg,#f6faff,#edf5ff);box-shadow:0 0 0 1px rgba(72,121,176,.08)}.detail-upload-dot{width:7px;height:7px;border-radius:50%}.detail-upload-dot.is-v2{background:#4f83bd}.detail-upload-dot.is-verified{background:#3d8f66}.detail-upload-audit-item-copy{display:flex;flex-direction:column;min-width:0}.detail-upload-audit-item-copy b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-upload-audit-item-copy small{font-size:10px;color:#7a8492}.detail-upload-audit-item-type{font-size:9px;font-weight:800;color:#53657a;border:1px solid #dde5ee;background:#fff;border-radius:999px;padding:3px 5px}.detail-upload-inspector{border:1px solid #e1e7ee;border-radius:12px;background:#fbfcfe;padding:14px;min-width:0}.detail-upload-inspector-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e7ebf0}.detail-upload-inspector-title>div{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-upload-inspector-title h3{margin:0;font-size:16px;color:#192333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-upload-inspector-title>div>span{font-size:11px;color:#6f7b8b}.detail-upload-inspector-title>.verified,.detail-upload-inspector-title>.upload-status-staging{font-size:9px;border-radius:999px;padding:5px 7px;white-space:nowrap}.detail-upload-inspector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.detail-upload-inspector-grid>div,.detail-upload-inspector-metrics>div{border:1px solid #e5eaf0;border-radius:9px;background:#fff;padding:9px;display:flex;flex-direction:column;gap:3px;min-width:0}.detail-upload-inspector-grid small,.detail-upload-inspector-metrics small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7b8795}.detail-upload-inspector-grid b,.detail-upload-inspector-metrics b{font-size:12px;color:#202a39;white-space:normal;word-break:break-word}.detail-upload-inspector-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.detail-upload-inspector-metrics b{font-size:15px}.detail-upload-inspector-foot{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.detail-upload-inspector-foot span{font-size:10px;color:#596779;background:#f2f5f8;border-radius:7px;padding:6px 8px}.detail-upload-empty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7a8493;text-align:center}.detail-upload-empty b{color:#344054}.detail-upload-empty span{font-size:11px}.panel:has(.upload-history-v2)>.panel-head small{color:#52657d}@media(max-width:1000px){.detail-upload-inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.upload-history-section-head,.detail-upload-audit-head{flex-direction:column}.detail-upload-audit-body{grid-template-columns:1fr}.detail-upload-audit-list{max-height:220px}.detail-upload-inspector-grid,.detail-upload-inspector-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-upload-inspector-title{flex-direction:column}.upload-history-v2-grid{grid-template-columns:1fr}}

/* source: upload-history-v2-uploader.css */
.upload-history-v2-uploader{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:18px;align-items:stretch;margin:14px 0 16px;padding:16px;border:1px solid #dbe6f3;border-radius:14px;background:linear-gradient(135deg,#f8fbff 0%,#f4f8fc 100%)}.upload-history-v2-uploader-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0}.upload-history-v2-uploader-title{display:flex;align-items:flex-start;gap:12px}.upload-history-v2-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:#eaf3ff;border:1px solid #cfe0f5;color:#315f92}.upload-history-v2-uploader-title>div{min-width:0}.upload-history-v2-uploader-title small{display:block;margin-bottom:3px;font-size:10px;line-height:1.2;letter-spacing:.08em;font-weight:800;color:#4b6686}.upload-history-v2-uploader-title h3{margin:0;font-size:18px;line-height:1.2;color:#172033}.upload-history-v2-uploader-title p{margin:5px 0 0;max-width:720px;font-size:12px;line-height:1.45;color:#667085}.upload-history-v2-badges{display:flex;flex-wrap:wrap;gap:6px}.upload-history-v2-badges span{font-size:10px;font-weight:700;color:#506176;border:1px solid #dfe7ef;background:#fff;border-radius:999px;padding:5px 8px}.upload-history-v2-safety{display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;padding:8px 10px;border-radius:9px;border:1px solid #cee4d8;background:#f2faf5;color:#365f48;font-size:11px;line-height:1.35}.upload-history-v2-safety svg{flex:0 0 auto;margin-top:1px}.upload-history-v2-drop{min-height:170px;padding:18px;border:1.5px dashed #b9cbe0;border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;cursor:pointer;color:#52657d;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.upload-history-v2-drop:hover,.upload-history-v2-drop:focus-visible,.upload-history-v2-drop.is-dragging{outline:none;border-color:#6e9fd3;background:#f3f8ff;box-shadow:0 0 0 3px rgba(79,131,189,.08);transform:translateY(-1px)}.upload-history-v2-drop.is-busy{cursor:wait;border-style:solid;background:#f8fafc;transform:none}.upload-history-v2-drop svg{color:#4f83bd}.upload-history-v2-drop b{font-size:14px;color:#1f2b3d}.upload-history-v2-drop span{font-size:11px;color:#728095}.upload-history-v2-drop em{margin-top:4px;font-size:10px;font-style:normal;color:#5d7189;background:#edf4fb;border-radius:999px;padding:5px 8px}.upload-history-v2-progress{width:min(100%,340px);margin-top:8px;text-align:left}.upload-history-v2-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:11px;color:#52657d}.upload-history-v2-progress-head span{font-size:11px;color:#52657d}.upload-history-v2-progress-head b{font-size:11px;color:#2459b3}.upload-history-v2-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5edf6;box-shadow:inset 0 0 0 1px #d4e0ee}.upload-history-v2-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f83bd,#2f66ba);transition:width .25s ease}.upload-history-v2-progress small{display:block;margin-top:6px;font-size:10px;line-height:1.3;color:#728095}.upload-history-v2-drop.is-busy>svg{margin-bottom:2px}@media(max-width:900px){.upload-history-v2-uploader{grid-template-columns:1fr}.upload-history-v2-drop{min-height:145px}}@media(max-width:600px){.upload-history-v2-uploader{padding:13px;gap:13px}.upload-history-v2-uploader-title h3{font-size:16px}.upload-history-v2-drop{min-height:135px;padding:14px}.upload-history-v2-safety{width:auto}}

/* source: reporting-v2-reconciliation.css */
.v2-reconciliation{margin:16px 0;padding:16px;border:1px solid #dfe7ef;border-radius:14px;background:#fff}.v2-reconciliation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.v2-reconciliation-head>div:first-child{display:flex;flex-direction:column;gap:3px}.v2-reconciliation-head small{font-size:10px;letter-spacing:.08em;font-weight:800;color:#52657d}.v2-reconciliation-head h3{margin:0;font-size:17px;color:#182235}.v2-reconciliation-head p{margin:0;max-width:760px;font-size:11px;line-height:1.45;color:#667085}.v2-reconciliation-legend{display:flex;gap:6px;flex-wrap:wrap}.v2-reconciliation-legend span{font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px;border:1px solid}.v2-reconciliation-legend .green{color:#216346;background:#edf8f2;border-color:#cbe9d8}.v2-reconciliation-legend .amber{color:#8a5a0a;background:#fff8e7;border-color:#f0dfb2}.v2-reconciliation-legend .red{color:#9a3030;background:#fff0f0;border-color:#efcccc}.v2-reconciliation-table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.v2-reconciliation-table{width:max-content;min-width:100%;border:1px solid #e3e9ef;border-radius:12px;overflow:hidden}.v2-reconciliation-row{display:grid;grid-template-columns:170px repeat(5,minmax(135px,1fr)) 185px;align-items:stretch;border-top:1px solid #e7ebf0;background:#fff}.v2-reconciliation-row:first-child{border-top:0}.v2-reconciliation-row>span{padding:10px;border-left:1px solid #edf0f4;min-width:0}.v2-reconciliation-row>span:first-child{border-left:0}.v2-reconciliation-row.is-head{background:#f7f9fb;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#667085}.v2-reconciliation-row.is-head>span{padding:8px 10px}.v2-reconciliation-row.is-green{box-shadow:inset 3px 0 0 #3d8f66}.v2-reconciliation-row.is-amber{box-shadow:inset 3px 0 0 #c78b27}.v2-reconciliation-row.is-red{box-shadow:inset 3px 0 0 #c35454}.v2-reconciliation-row.has-date-mismatch{background:#fffaf0}.v2-rec-period,.v2-rec-metric,.v2-rec-status{display:flex;flex-direction:column;gap:3px;justify-content:center}.v2-rec-period b,.v2-rec-metric b,.v2-rec-status b{font-size:11px;color:#202939;overflow-wrap:anywhere;white-space:normal}.v2-rec-period small,.v2-rec-metric small,.v2-rec-status small{font-size:9px;line-height:1.35;color:#7a8492;overflow-wrap:anywhere}.v2-rec-metric em{font-style:normal;font-weight:800}.v2-rec-metric em.up{color:#8a5a0a}.v2-rec-metric em.down{color:#315e91}.v2-rec-metric em.flat{color:#3d8f66}.v2-rec-status b{display:inline-flex;align-self:flex-start;border:1px solid #dfe6ee;border-radius:999px;padding:4px 6px;background:#f7f9fb}.is-green .v2-rec-status b{color:#216346;background:#edf8f2;border-color:#cbe9d8}.is-amber .v2-rec-status b{color:#8a5a0a;background:#fff8e7;border-color:#f0dfb2}.is-red .v2-rec-status b{color:#9a3030;background:#fff0f0;border-color:#efcccc}.has-date-mismatch .v2-rec-status b{color:#8a5a0a;background:#fff4d8;border-color:#ecd292}.v2-rec-status em{font-size:9px;font-style:normal;color:#8a5a0a;line-height:1.3}.v2-rec-status .v2-rec-commission{margin-top:3px;padding:5px 6px;border:1px solid #d9e4f5;border-radius:7px;background:#f5f8ff;color:#315e91;font-size:8.5px;font-weight:750;line-height:1.35}.v2-reconciliation-empty{min-height:90px;border:1px dashed #dce4ec;border-radius:10px;background:#fafbfd;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}.v2-reconciliation-empty b{font-size:12px;color:#344054}.v2-reconciliation-empty span{font-size:10px;color:#7a8493}@media(max-width:760px){.v2-reconciliation-head{flex-direction:column}.v2-reconciliation{padding:12px}.v2-reconciliation-table{min-width:1110px}}

/* source: detailed-report-source-switch.css */
.detail-report-source-control{display:flex;align-items:center;gap:10px;min-width:max-content}.detail-report-source-control>small{font-size:10px;font-weight:800;letter-spacing:.08em;color:#6b7280}.detail-report-source-switch{display:flex;align-items:center;gap:8px}.detail-report-source-switch>span{font-size:12px;font-weight:700;color:#7b8491;white-space:nowrap;transition:color .18s ease}.detail-report-source-switch>span.is-active{color:#13233a}.detail-report-source-switch>span em{display:inline-flex;margin-left:4px;padding:2px 5px;border-radius:999px;background:#eef4ff;color:#2c61b7;font-size:8px;font-style:normal;letter-spacing:.05em;vertical-align:middle}.detail-report-source-switch button{position:relative;width:44px;height:24px;border:0;border-radius:999px;background:#d7dee8;padding:0;box-shadow:inset 0 0 0 1px rgba(30,48,71,.08);cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.detail-report-source-switch button i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(18,34,55,.25);transition:transform .18s ease}.detail-report-source-switch.is-v2 button{background:#2867d6;box-shadow:inset 0 0 0 1px rgba(24,73,154,.15)}.detail-report-source-switch.is-v2 button i{transform:translateX(20px)}.detail-report-source-switch.is-disabled{opacity:.55}.detail-report-source-switch.is-disabled button{cursor:not-allowed}.detail-import-state.is-v2{background:#eef4ff!important;color:#2459ad!important;border-color:#cbdcff!important}.detail-import-state.is-v2 i{background:#3b76dc!important}.detail-import-meta.is-v2{border-color:#d7e5ff;background:#f7faff}.detail-import-meta.is-v2 span:first-child{color:#2459ad;font-weight:800}@media(max-width:760px){.detail-report-source-control{width:100%;justify-content:space-between;gap:8px}.detail-report-source-control>small{display:none}.detail-report-source-switch{width:100%;justify-content:center}.detail-report-source-switch>span{font-size:11px}.detail-period-toolbar{gap:10px}}

/* source: app-contrast-guard.css */
/* BeverageHub portal-wide contrast guard.
   Final visual safety layer: dark surfaces must never inherit dark typography
   from global type rules. Loaded last in index.html. */

:root{
  --bh-dark-text:#f8fafc;
  --bh-dark-muted:#d8e0e8;
  --bh-dark-subtle:#b8c2cd;
  --bh-light-control-text:#1f2937;
}

/* Authentication / login -------------------------------------------------- */
.auth .auth-card{
  color:var(--bh-dark-text)!important;
}
.auth .auth-card h1,
.auth .auth-card h2,
.auth .auth-card h3,
.auth .auth-card h4,
.auth .auth-card label,
.auth .auth-card b,
.auth .auth-card strong{
  color:var(--bh-dark-text)!important;
}
.auth .auth-card>small,
.auth .auth-card p,
.auth .auth-card .password-rules,
.auth .auth-card .auth-divider,
.auth .auth-card .helper-text,
.auth .auth-card .subtle{
  color:var(--bh-dark-muted)!important;
}
.auth .auth-card input,
.auth .auth-card select,
.auth .auth-card textarea{
  background:#fff!important;
  color:var(--bh-light-control-text)!important;
  caret-color:var(--bh-light-control-text)!important;
}
.auth .auth-card input::placeholder,
.auth .auth-card textarea::placeholder{
  color:#667085!important;
}
.auth .auth-card button:not(.secondary):not(.link-btn){
  color:#fff!important;
}
.auth .auth-card .link-btn{
  color:#fff!important;
}
.auth .auth-card .secondary{
  background:#fff!important;
  color:#202733!important;
}
.auth .auth-card .mark{
  color:#1d211e!important;
}
.auth .auth-card .auth-error,
.auth .auth-card .auth-error *{
  color:#8d3030!important;
}
.auth .auth-card .auth-success,
.auth .auth-card .auth-success *{
  color:#2f6840!important;
}
.auth .auth-card .captcha-unavailable,
.auth .auth-card .captcha-unavailable *{
  color:#fff!important;
}

/* Main burgundy sidebar --------------------------------------------------- */
.app>aside{
  color:var(--bh-dark-text)!important;
}
.app>aside .brand b,
.app>aside .brand strong,
.app>aside .current-user-trigger,
.app>aside .current-user-trigger b,
.app>aside .current-user-trigger strong,
.app>aside nav button{
  color:var(--bh-dark-text)!important;
}
.app>aside .brand small,
.app>aside .aside-foot small,
.app>aside .current-user-trigger small,
.app>aside .current-user-trigger span{
  color:var(--bh-dark-muted)!important;
}
.app>aside nav button svg,
.app>aside .current-user-trigger svg{
  color:currentColor!important;
}

/* Shared dark KPI / metric surfaces -------------------------------------- */
.app .stream-card.stream-total,
.app .revenue-kpis article:last-child,
.app .batching-summary .total,
.app .team-sales-kpis article.net{
  color:var(--bh-dark-text)!important;
}
.app .stream-card.stream-total strong,
.app .stream-card.stream-total b,
.app .revenue-kpis article:last-child strong,
.app .revenue-kpis article:last-child b,
.app .batching-summary .total strong,
.app .batching-summary .total b,
.app .team-sales-kpis article.net strong,
.app .team-sales-kpis article.net b{
  color:var(--bh-dark-text)!important;
}
.app .stream-card.stream-total small,
.app .stream-card.stream-total span,
.app .revenue-kpis article:last-child small,
.app .revenue-kpis article:last-child span,
.app .batching-summary .total small,
.app .batching-summary .total span,
.app .batching-summary .total em,
.app .team-sales-kpis article.net small,
.app .team-sales-kpis article.net span{
  color:var(--bh-dark-muted)!important;
}

/* Dark / image hero surfaces across modules ------------------------------ */
.app .commercial-hero,
.app .team-sales-hero,
.app .house-tonic-hero,
.app .library-hero{
  color:var(--bh-dark-text)!important;
}
.app .commercial-hero h1,
.app .commercial-hero h2,
.app .commercial-hero h3,
.app .commercial-hero b,
.app .commercial-hero strong,
.app .team-sales-hero h1,
.app .team-sales-hero h2,
.app .team-sales-hero h3,
.app .team-sales-hero b,
.app .team-sales-hero strong,
.app .house-tonic-hero h1,
.app .house-tonic-hero h2,
.app .house-tonic-hero h3,
.app .house-tonic-hero b,
.app .house-tonic-hero strong,
.app .library-hero h1,
.app .library-hero h2,
.app .library-hero h3,
.app .library-hero b,
.app .library-hero strong{
  color:var(--bh-dark-text)!important;
}
.app .commercial-hero p,
.app .commercial-hero small,
.app .commercial-hero span,
.app .team-sales-hero p,
.app .team-sales-hero small,
.app .team-sales-hero span,
.app .house-tonic-hero p,
.app .house-tonic-hero small,
.app .house-tonic-hero span,
.app .library-hero p,
.app .library-hero small,
.app .library-hero span{
  color:var(--bh-dark-muted)!important;
}

/* Preserve deliberate light-button / dark-text exceptions on dark heroes. */
.app .team-sales-hero-actions .primary{
  background:#fff!important;
  color:#431022!important;
}
.app .library-hero .library-add{
  color:#fff!important;
}

/* Dark overlays are containers only; their light cards keep normal ink. */
.app .batching-modal .batching-editor,
.app .product-modal-backdrop .product-info-card,
.app .library-modal-backdrop .library-modal,
.app .team-sales-import-modal{
  color:#344054;
}

/* Defensive status/error rules: coloured pale surfaces keep dark semantic text. */
.app .auth-error{color:#8d3030!important}
.app .auth-success{color:#2f6840!important}
.app .danger-btn{color:#9c2f2f!important}

/* SVGs inside explicit dark surfaces should follow readable text colour. */
.app .commercial-hero svg,
.app .team-sales-hero svg,
.app .house-tonic-hero svg,
.app .library-hero svg,
.app .stream-card.stream-total svg,
.app .revenue-kpis article:last-child svg,
.app .batching-summary .total svg,
.app .team-sales-kpis article.net svg{
  color:currentColor;
}

/* source: team-sales-info-cleanup.css */
/* Team Sales — remove redundant informational panels while keeping actions available. */

/* Hide the global cloud/status notice only while Team Sales is open. */
.app:has(.team-sales-page) .notice{
  display:none!important;
}

/* Legacy/re-import information banners are no longer shown in Team Sales. */
.app .team-sales-v2-upgrade{
  display:none!important;
}

/* Remove the large Team Performance information card, but keep its useful
   actions plus the Reporting v2 status pill (moved here from its own
   full-width row so it sits inline with Device Mapping/Refresh v2
   instead of leaving a bare strip of page background above them). */
.app .team-sales-v2-head{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  justify-content:space-between!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.app .team-sales-v2-head::before{
  display:none!important;
}
.app .team-sales-v2-head>div:not(.team-sales-source-switch):not(.team-sales-v2-head-actions),
.app .team-sales-v2-head-actions>span{
  display:none!important;
}
.app .team-sales-v2-head .team-sales-source-switch{
  margin:0!important;
}
.app .team-sales-v2-head-actions{
  width:auto!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  gap:8px!important;
}

/* Team Sales uses a nested <aside> for the Sales Trend rail. Neutralise the
   app-shell's global aside positioning so the rail stays inside its grid column. */
.app .team-sales-v2-days{
  position:static!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  display:block!important;
  color:inherit!important;
}

@media(max-width:760px){
  .app .team-sales-v2-head{
    margin:0!important;
  }
  .app .team-sales-v2-head-actions{
    justify-content:flex-end!important;
  }
}

/* source: team-sales-mobile-app.css */
/* BeverageHub Team Sales mobile app refinement
   Keeps the existing Team Sales functionality, but presents it as a compact touch-first workspace. */

@media (max-width:760px){
  body:has(.team-sales-page){
    background:#f7f8fa!important;
  }

  .app .team-sales-page{
    gap:12px!important;
    padding:4px 0 18px!important;
    overflow-x:hidden!important;
  }

  .app .team-sales-page .team-sales-source-switch{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    max-width:none!important;
    gap:4px!important;
    padding:4px!important;
    border-radius:12px!important;
  }
  .app .team-sales-page .team-sales-source-switch button{
    width:100%!important;
    min-height:44px!important;
    padding:0 10px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }

  .app .team-sales-v2-panel{
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
  }

  .app .team-sales-v2-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:12px!important;
    padding:18px 16px!important;
    border-radius:16px!important;
  }
  .app .team-sales-v2-head::before{
    width:4px!important;
  }
  .app .team-sales-v2-head small{
    margin-bottom:5px!important;
    font-size:9px!important;
    letter-spacing:.1em!important;
  }
  .app .team-sales-v2-head h3{
    font-size:27px!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .app .team-sales-v2-head p{
    margin-top:7px!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  .app .team-sales-v2-head-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
    gap:8px!important;
  }
  .app .team-sales-v2-head-actions>span{
    grid-column:1/-1!important;
    justify-content:center!important;
    min-height:38px!important;
  }
  .app .team-sales-v2-head-actions button{
    width:100%!important;
    min-height:44px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }

  .app .team-sales-v2-controls{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .app .team-sales-v2-segment{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  .app .team-sales-v2-segment button{
    width:100%!important;
    min-height:40px!important;
    padding:0 7px!important;
    font-size:10px!important;
  }
  .app .team-sales-v2-controls>label:not(.team-sales-v2-search),
  .app .team-sales-v2-controls>select{
    width:100%!important;
    min-height:44px!important;
  }
  .app .team-sales-v2-search{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:44px!important;
  }
  .app .team-sales-v2-controls select,
  .app .team-sales-v2-controls input{
    min-height:42px!important;
    font-size:13px!important;
  }

  .app .team-sales-v2-kpis{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .app .team-sales-v2-kpis article{
    min-height:96px!important;
    padding:13px 12px!important;
    border-radius:13px!important;
  }
  .app .team-sales-v2-kpis article.primary{
    grid-column:1/-1!important;
    min-height:104px!important;
  }
  .app .team-sales-v2-kpis small,
  .app .team-sales-v2-kpis .primary small{
    font-size:9px!important;
  }
  .app .team-sales-v2-kpis b,
  .app .team-sales-v2-kpis .primary b{
    font-size:21px!important;
  }
  .app .team-sales-v2-kpis .primary b{
    font-size:27px!important;
  }
  .app .team-sales-v2-kpis span,
  .app .team-sales-v2-kpis .primary span{
    font-size:9px!important;
  }

  .app .team-sales-v2-departments{
    gap:8px!important;
    margin:0 -2px!important;
    padding:2px 2px 7px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .app .team-sales-v2-departments::-webkit-scrollbar{display:none!important}
  .app .team-sales-v2-departments button{
    flex:0 0 calc(66.66% - 8px)!important;
    min-width:0!important;
    min-height:88px!important;
    padding:11px!important;
    border-radius:13px!important;
    scroll-snap-align:start!important;
  }

  .app .team-sales-device-mapping,
  .app .team-sales-v2-leaderboard,
  .app .team-sales-item-finder,
  .app .team-sales-table-panel{
    overflow:hidden!important;
    border-radius:15px!important;
  }
  .app .team-sales-device-mapping>header,
  .app .team-sales-v2-leaderboard>header,
  .app .team-sales-item-finder>header,
  .app .team-sales-table-panel>.panel-head{
    padding:15px 14px 12px!important;
  }

  .app .team-sales-device-mapping .table-wrap,
  .app .team-sales-v2-leaderboard .table-wrap,
  .app .team-sales-table-panel .table-wrap{
    width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .app .team-sales-device-mapping table,
  .app .team-sales-v2-leaderboard table,
  .app .team-sales-table-panel table{
    min-width:620px!important;
  }
  .app .team-sales-device-mapping th,
  .app .team-sales-v2-leaderboard th,
  .app .team-sales-table-panel th{
    font-size:9px!important;
    white-space:nowrap!important;
  }
  .app .team-sales-device-mapping td,
  .app .team-sales-v2-leaderboard td,
  .app .team-sales-table-panel td{
    min-height:44px!important;
    padding-top:11px!important;
    padding-bottom:11px!important;
    font-size:11px!important;
  }

  .app .team-sales-v2-leaderboard .team-sales-v2-employee-name{
    width:100%!important;
    max-width:180px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }

  .app .team-sales-v2-upgrade,
  .app .team-sales-v2-empty,
  .app .team-sales-v2-no-location-sales{
    border-radius:13px!important;
    padding:14px!important;
    font-size:11px!important;
  }

  .app aside.team-sales-v2-drawer{
    inset:auto 0 0 0!important;
    width:100%!important;
    max-width:none!important;
    max-height:88dvh!important;
    border-radius:18px 18px 0 0!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
    overflow:auto!important;
  }
  .app .team-sales-v2-drawer>header{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    padding:15px 14px!important;
  }
  .app .team-sales-v2-drawer-kpis{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .app .team-sales-v2-drawer-kpis article{
    min-height:82px!important;
    padding:12px!important;
    border-radius:12px!important;
  }

  .app .team-sales-date-popover,
  .app .team-sales-import-modal{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:82dvh!important;
    overflow:auto!important;
    border-radius:16px!important;
  }

  .app .team-sales-page button,
  .app .team-sales-page select,
  .app .team-sales-page input{
    touch-action:manipulation!important;
  }

  .app .team-sales-page button:focus-visible,
  .app .team-sales-page select:focus-visible,
  .app .team-sales-page input:focus-visible{
    outline:2px solid rgba(111,32,56,.35)!important;
    outline-offset:2px!important;
  }
}

@media (max-width:430px){
  .app .team-sales-v2-controls{
    grid-template-columns:1fr!important;
  }
  .app .team-sales-v2-controls>*{
    grid-column:1!important;
  }
  .app .team-sales-v2-segment,
  .app .team-sales-v2-search{
    grid-column:1!important;
  }
  .app .team-sales-v2-head-actions{
    grid-template-columns:1fr!important;
  }
  .app .team-sales-v2-head-actions>span{
    grid-column:1!important;
  }
  .app .team-sales-v2-departments button{
    flex-basis:calc(66% - 7px)!important;
  }
}

/* source: mobile-app-shell-v2.css */
/* BeverageHub mobile application shell v2 — phone-first layout without changing desktop. */
@media (max-width:700px){
html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:#f7f8fa}.app{display:block!important;width:100%!important;min-width:0!important;background:#f7f8fa!important}
/* True compact mobile app bar. Hide the oversized desktop brand and show only the horizontal navigation rail. */
.app>aside{position:sticky!important;top:0!important;z-index:100!important;width:100%!important;max-width:100%!important;height:64px!important;min-height:64px!important;padding:8px 0!important;overflow:hidden!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;box-shadow:0 4px 18px rgba(46,11,24,.14)!important;box-sizing:border-box!important}
.app>aside .brand{display:none!important}.app>aside .aside-foot{display:none!important}
.app>aside nav{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;height:48px!important;gap:7px!important;margin:0!important;padding:0 10px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important}.app>aside nav::-webkit-scrollbar{display:none!important}
.app>aside nav button{flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:44px!important;height:44px!important;padding:0 14px!important;border-radius:11px!important;white-space:nowrap!important;font-size:12px!important;scroll-snap-align:start!important}.app>aside nav button svg{width:17px!important;height:17px!important}.app>aside nav button.active{box-shadow:inset 0 -3px 0 #ff4f91!important}
/* Global phone canvas. */
.app>main{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:14px 12px max(34px,env(safe-area-inset-bottom))!important;overflow:hidden!important;box-sizing:border-box!important}.app>main>*{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.app header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-bottom:14px!important}.app header>div:first-child{min-width:0!important}.app .eyebrow{font-size:10px!important;letter-spacing:.1em!important}.app h1{font-size:25px!important;line-height:1.05!important;margin-top:4px!important}
/* Account/status controls: no clipped second tile. */
.app .header-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important;min-width:0!important}.app .user-task-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;max-width:100%!important;gap:7px!important;overflow:hidden!important}.app .user-task-summary>*{min-width:0!important;max-width:100%!important;min-height:42px!important;height:42px!important;padding:0 11px!important;font-size:10px!important}.app .current-user-trigger{width:100%!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.app .report-action-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:7px!important;overflow:visible!important;padding:0!important}.app .report-action-buttons>button{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;padding:0 7px!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Dashboard status and reporting-week card. */
.app .notice{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;padding:12px!important;margin-bottom:12px!important;border-radius:11px!important;font-size:11px!important;line-height:1.45!important}.app .cloud-state{white-space:normal!important;font-size:9px!important}.app .week-selector{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;padding:14px!important;margin-bottom:12px!important;border-radius:12px!important}.app .week-selector>div,.app .week-selector label{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:7px!important;align-items:start!important}.app .week-selector select{width:100%!important;max-width:100%!important;margin:0!important;min-height:46px!important;font-size:13px!important}
/* Dashboard cards become compact phone grids. */
.app .stream-dashboard{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-bottom:12px!important}.app .stream-dashboard-title{grid-column:1/-1!important;padding:11px 12px!important}.app .stream-card{min-width:0!important;padding:12px!important;border-radius:11px!important}.app .stream-card strong{font-size:17px!important}.app .kpis,.app .revenue-kpis,.app .category-kpis,.app .purchase-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.app .kpis article,.app .category-kpis article{min-width:0!important;min-height:96px!important;padding:12px!important}.app .kpis article strong,.app .category-kpis article strong{font-size:17px!important}.app .core-category-section{padding:14px 10px 5px!important;border-radius:12px!important}
/* Generic content surfaces. */
.app .panel{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px!important;border-radius:12px!important;box-sizing:border-box!important}.app .panel-head{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:start!important}.app .panel-head>*{max-width:100%!important;min-width:0!important}.app input,.app select,.app textarea{max-width:100%!important;box-sizing:border-box!important;font-size:13px!important}.app button{max-width:100%;touch-action:manipulation}
.app .table-wrap{width:calc(100% + 14px)!important;max-width:none!important;margin-right:-14px!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:9px 0 0 9px!important}.app .table-wrap table{width:max-content!important;min-width:100%!important}.app th,.app td{white-space:nowrap!important;font-size:11px!important}
.app .users-grid,.app .purchase-summary,.app .purchase-filters,.app .dashboard-revenue-edit .revenue-form,.app .auth-name-grid{grid-template-columns:1fr!important}.app .purchase-filters{display:grid!important;width:100%!important}.app .purchase-filters>*{width:100%!important;max-width:100%!important}.app [class*="modal"]:not([class*="backdrop"]),.app [class*="drawer"]:not([class*="backdrop"]),.app .account-panel,.app .account-confirm-panel{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:14px!important}
}
@media (max-width:430px){.app>main{padding-left:10px!important;padding-right:10px!important}.app .kpis,.app .revenue-kpis,.app .category-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app .report-action-buttons>button{padding:0 5px!important;font-size:9px!important}}

/* source: detailed-report-top-cleanup.css */
/* Detailed Reports top-area cleanup — preserve burgundy app chrome, reorganise only the report workspace. */

/* Fix the reporting-source switch so global button styles cannot stretch it into a large square. */
body .app main:has(.detail-analytics-shell) .detail-report-source-control{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
}
body .app main:has(.detail-analytics-shell) .detail-report-source-control>small{
  display:block!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  color:#667085!important;
}
body .app main:has(.detail-analytics-shell) .detail-report-source-switch{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
body .app main:has(.detail-analytics-shell) .detail-report-source-switch>span{
  flex:0 1 auto!important;
  min-width:0!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
body .app main:has(.detail-analytics-shell) .detail-report-source-switch button{
  position:relative!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:inset 0 0 0 1px rgba(30,48,71,.10)!important;
}
body .app main:has(.detail-analytics-shell) .detail-report-source-switch button i{
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  border-radius:50%!important;
}

@media (min-width:901px){
  /* Header: clear title area on the left, compact operational controls on the right. */
  body .app main:has(.detail-analytics-shell)>header{
    display:grid!important;
    grid-template-columns:minmax(260px,1fr) auto!important;
    align-items:center!important;
    gap:24px!important;
    padding-bottom:18px!important;
    margin-bottom:14px!important;
    border-bottom:1px solid #e3e8ef!important;
  }
  body .app main:has(.detail-analytics-shell)>header>div:first-child{
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell)>header h1{
    margin:4px 0 0!important;
    font-size:30px!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  body .app main:has(.detail-analytics-shell) .header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell) .user-task-summary{
    display:flex!important;
    align-items:stretch!important;
    gap:7px!important;
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell) .current-user-trigger{
    width:210px!important;
    min-width:210px!important;
    height:58px!important;
    padding:0 16px!important;
  }
  body .app main:has(.detail-analytics-shell) .user-task-summary>.admin-registration-alert,
  body .app main:has(.detail-analytics-shell) .user-task-summary>.task-notification-wrap>button,
  body .app main:has(.detail-analytics-shell) .user-task-summary>span{
    width:112px!important;
    min-width:112px!important;
    height:58px!important;
    min-height:58px!important;
    padding:7px 9px!important;
  }
  body .app main:has(.detail-analytics-shell) .report-action-buttons{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  body .app main:has(.detail-analytics-shell) .report-action-buttons>button{
    width:auto!important;
    min-width:142px!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 16px!important;
    white-space:nowrap!important;
    border-radius:10px!important;
  }
  body .app main:has(.detail-analytics-shell) .report-action-buttons>button:last-child{
    min-width:126px!important;
  }

  /* Reporting period controls: three deliberate zones, no overlap. */
  body .app main:has(.detail-analytics-shell) .detail-period-toolbar{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr) 260px!important;
    align-items:end!important;
    gap:14px!important;
    width:100%!important;
    padding:16px 0 8px!important;
    border-top:0!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-toolbar>*{
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main{
    display:grid!important;
    grid-template-columns:auto minmax(260px,1fr) auto auto!important;
    align-items:end!important;
    gap:9px!important;
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main>button{
    width:auto!important;
    min-width:118px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 13px!important;
    margin:0!important;
    border:1px solid #d8e0e9!important;
    border-radius:9px!important;
    background:#fff!important;
    background-image:none!important;
    color:#344054!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main>button::before,
  body .app main:has(.detail-analytics-shell) .detail-period-main>button::after{
    display:none!important;
    content:none!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main>button:disabled{
    opacity:.5!important;
    background:#f8fafc!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-week-picker{
    width:100%!important;
    min-width:0!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-week-picker select{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 14px!important;
    border-radius:9px!important;
    font-size:11px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-import-state{
    height:44px!important;
    min-height:44px!important;
    padding:0 13px!important;
    border-radius:9px!important;
    white-space:nowrap!important;
    font-size:9px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-compare-chip{
    min-height:44px!important;
    padding:9px 13px!important;
    border-radius:9px!important;
    align-self:end!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-compare-chip b{
    font-size:10px!important;
    line-height:1.2!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-import-meta{
    margin-top:2px!important;
    padding:0 2px 7px!important;
    font-size:8.5px!important;
  }

  /* KPI strip: equal visual rhythm and enough room for Mix. */
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip{
    grid-template-columns:1.06fr .94fr 1fr 1.06fr .92fr 1fr 1.12fr!important;
    border-radius:10px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip article{
    min-height:112px!important;
    padding:16px 18px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip small{
    margin-bottom:10px!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip b{
    font-size:20px!important;
    line-height:1.1!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip span{
    margin-top:9px!important;
    font-size:8.5px!important;
    line-height:1.35!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-kpi-strip article:last-child b{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:18px!important;
  }
}

@media (min-width:901px) and (max-width:1320px){
  body .app main:has(.detail-analytics-shell)>header{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body .app main:has(.detail-analytics-shell) .header-actions{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-toolbar{
    grid-template-columns:190px minmax(0,1fr) 220px!important;
    gap:10px!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main{
    grid-template-columns:auto minmax(220px,1fr) auto!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-period-main>button:last-child{
    display:none!important;
  }
}

@media (max-width:900px){
  body .app main:has(.detail-analytics-shell) .detail-report-source-control{
    width:100%!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-report-source-control>small{
    display:block!important;
  }
  body .app main:has(.detail-analytics-shell) .detail-report-source-switch{
    justify-content:flex-start!important;
  }
}

/* Financial KPI values must remain readable at tablet widths. Never hide
   currency digits behind an ellipsis; wrapping is preferable to ambiguity. */
body .app main:has(.detail-analytics-shell) .detail-kpi-strip article b{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-variant-numeric:tabular-nums!important;
}

/* source: detailed-report-layout-fix.css */
/* Detailed Reports layout stabiliser.
   Keeps header actions and reporting-period controls in deliberate non-overlapping zones. */

@media (min-width:1280px){
  body .app main:has(.detail-period-toolbar)>header{
    display:grid!important;
    grid-template-columns:minmax(310px,.72fr) minmax(760px,1.28fr)!important;
    align-items:center!important;
    gap:24px!important;
    width:100%!important;
    min-width:0!important;
  }
  body .app main:has(.detail-period-toolbar)>header>div:first-child{
    min-width:0!important;
  }
  body .app main:has(.detail-period-toolbar) .header-actions{
    display:grid!important;
    grid-template-columns:minmax(430px,1fr) minmax(410px,auto)!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:10px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body .app main:has(.detail-period-toolbar) .user-task-summary{
    display:grid!important;
    grid-template-columns:minmax(190px,1fr) repeat(3,minmax(96px,112px))!important;
    align-items:stretch!important;
    gap:7px!important;
    min-width:0!important;
  }
  body .app main:has(.detail-period-toolbar) .current-user-trigger{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 14px!important;
  }
  body .app main:has(.detail-period-toolbar) .user-task-summary>.admin-registration-alert,
  body .app main:has(.detail-period-toolbar) .user-task-summary>.task-notification-wrap,
  body .app main:has(.detail-period-toolbar) .user-task-summary>.task-notification-wrap>button,
  body .app main:has(.detail-period-toolbar) .user-task-summary>span{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:58px!important;
    min-height:58px!important;
  }
  body .app main:has(.detail-period-toolbar) .report-action-buttons{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(126px,1fr))!important;
    align-items:stretch!important;
    gap:8px!important;
    min-width:0!important;
  }
  body .app main:has(.detail-period-toolbar) .report-action-buttons>button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 14px!important;
    white-space:nowrap!important;
  }
}

@media (min-width:901px) and (max-width:1279px){
  body .app main:has(.detail-period-toolbar)>header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body .app main:has(.detail-period-toolbar) .header-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body .app main:has(.detail-period-toolbar) .user-task-summary,
  body .app main:has(.detail-period-toolbar) .report-action-buttons{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
  }
  body .app main:has(.detail-period-toolbar) .current-user-trigger{
    flex:1 1 220px!important;
    width:auto!important;
    min-width:180px!important;
  }
  body .app main:has(.detail-period-toolbar) .report-action-buttons>button{
    flex:1 1 0!important;
    min-width:0!important;
  }
}

@media (min-width:901px){
  body .app main .detail-period-toolbar{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr) 290px!important;
    align-items:end!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    padding:16px 0 8px!important;
  }
  body .app main .detail-period-toolbar>*{
    min-width:0!important;
  }
  body .app main .detail-period-main{
    display:grid!important;
    grid-template-columns:150px minmax(280px,1fr) 155px!important;
    align-items:end!important;
    gap:10px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  /* The week selector already provides forward navigation. Hiding the disabled next-week
     button removes the collision with Compare To and gives the current week room to breathe. */
  body .app main .detail-period-main>button:last-of-type{
    display:none!important;
  }
  body .app main .detail-period-main>button:first-of-type{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 14px!important;
  }
  body .app main .detail-week-picker{
    width:100%!important;
    min-width:0!important;
  }
  body .app main .detail-week-picker select{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 16px!important;
  }
  body .app main .detail-import-state{
    width:155px!important;
    min-width:155px!important;
    max-width:155px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 12px!important;
    justify-content:center!important;
  }
  body .app main .detail-compare-chip{
    display:grid!important;
    align-content:center!important;
    justify-items:start!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:9px 16px!important;
    overflow:hidden!important;
    border-radius:10px!important;
  }
  body .app main .detail-compare-chip>*{
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body .app main .detail-report-source-control{
    align-self:end!important;
    min-width:0!important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  body .app main .detail-period-toolbar{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  body .app main .detail-period-main{
    grid-template-columns:140px minmax(0,1fr) 150px!important;
  }
  body .app main .detail-compare-chip{
    width:100%!important;
  }
}

/* source: mobile-nav-overlay-fix.css */
/* BeverageHub mobile navigation visibility fix.
   The menu is a dropdown below the sticky brand bar. Older mobile shell rules clipped
   the absolutely-positioned navigation because the aside had a fixed height and overflow:hidden. */
@media (max-width:700px){
  body .app>aside{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:9px 12px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body .app>aside .brand{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:44px!important;
    padding:0 2px!important;
  }

  body .app>aside>nav:not(.mobile-open){
    display:none!important;
  }

  body .app>aside>nav.mobile-open{
    position:absolute!important;
    top:100%!important;
    right:0!important;
    left:0!important;
    z-index:1210!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 82px)!important;
    gap:6px!important;
    margin:0!important;
    padding:10px 12px max(16px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:none!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
    background:linear-gradient(165deg,#21090f 0%,#3b101d 52%,#55182b 100%)!important;
    box-shadow:0 16px 30px rgba(28,4,11,.30)!important;
    box-sizing:border-box!important;
  }

  body .app>aside>nav.mobile-open button{
    display:flex!important;
    flex:0 0 48px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 14px!important;
    border-radius:10px!important;
    white-space:nowrap!important;
    scroll-snap-align:none!important;
  }
}

