/* Follows neighboring Item Performance and Food Cost Changes report structure. */
.wp-page { display:flex; flex-direction:column; gap:18px; min-width:0; max-width:100%; --surface-shadow:var(--surface-shadow-hover); }
.wp-page>* { min-width:0; max-width:100%; }
.wp-page #wpResults { display:flex; flex-direction:column; gap:18px; min-width:0; }
.wp-page .erp-page-header__filter-row { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.wp-page .wp-primary-filters,.wp-page .wp-more-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.wp-page .wp-field { display:flex; flex-direction:column; gap:8px; min-width:180px; flex:1 1 190px; }
.wp-page .wp-field__label { color:var(--color-gray-600); font-size:12px; }
.wp-page .wp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.wp-page .wp-more-filters .wp-actions { flex-basis:100%; }
.wp-page .wp-link { color:var(--color-primary-hover); text-decoration:none; display:inline-flex; align-items:center; min-height:32px; }
.wp-page .wp-link:hover { text-decoration:underline; }
.wp-page .wp-link:focus-visible { outline:2px solid var(--color-primary-hover); outline-offset:3px; border-radius:4px; }
.wp-page .wp-secondary { display:block; color:var(--color-gray-500); font-size:12px; }
.wp-page .wp-note { color:var(--color-gray-600); font-size:12px; margin:0; }
.wp-page .wp-detail-filters>span { min-width:0; overflow-wrap:anywhere; font-size:13px; }
.wp-page .erp-panel-card { min-width:0; }
@media(max-width:768px) {
 .wp-page .wp-primary-filters,.wp-page .wp-more-filters { flex-direction:column; align-items:stretch; }
 .wp-page .wp-field { flex:auto; min-width:0; width:100%; }
 .wp-page .wp-link { min-height:44px; }
 .wp-page .wp-actions .btn { min-height:44px; }
}

/* Procurement Center reference: one filter row, optional expansion, quiet tables. */
.wp-page .wp-filter-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; width:100%; }
.wp-page .wp-field :is(.pure-dropdown-trigger,.date-range-trigger) { height:40px; min-height:40px; box-sizing:border-box; }
.wp-page #wpMoreFilters { margin:0; }
.wp-page #wpMoreFilters>summary { height:40px; min-height:40px; box-sizing:border-box; padding:0 12px; }
.wp-page #wpMoreFilters[open] { grid-column:1/-1; }
.wp-page .wp-primary-filters,.wp-page .wp-more-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:12px; }
.wp-page .wp-field { min-width:0; }
.wp-page .wp-more-filters .wp-actions { grid-column:1/-1; }
.wp-page .stat-card-u__metric-icon { width:32px; height:32px; border-radius:9px; background:var(--color-primary-light); display:flex; align-items:center; justify-content:center; }
.wp-page .stat-card-u__metric-icon svg { width:17px; height:17px; }
.wp-page .erp-data-table--precision :is(th,td) { padding:8px 12px; font-size:13px; line-height:20px; }
.wp-page .erp-panel-card { margin:0; }
@media(max-width:1100px) {
 .wp-page .wp-primary-filters,.wp-page .wp-more-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px) {
 .wp-page .wp-filter-row,.wp-page .wp-primary-filters,.wp-page .wp-more-filters { grid-template-columns:minmax(0,1fr); }
 .wp-page :is(.btn,.erp-filter-tabs__tab,.pure-dropdown-trigger,.date-range-trigger) { min-height:44px; }
 .wp-page .wp-field :is(.pure-dropdown-trigger,.date-range-trigger) { height:44px; }
 .wp-page #wpMoreFilters>summary { height:44px; min-height:44px; }
}

/* Leaderboard, upsell matrix, coaching and person profile. */
.wp-page .erp-detail-grid__main,.wp-page .erp-detail-grid__aside { display:flex; flex-direction:column; gap:18px; min-width:0; }
.wp-page .wp-person { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.wp-page .wp-person .wp-link { min-height:0; font-weight:500; color:var(--color-gray-900); }
.wp-page .wp-person .wp-link:hover { color:var(--color-primary-hover); }
.wp-page .wp-person--none { color:var(--color-gray-500); }
.wp-page .wp-avatar-none { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; flex:none; border-radius:999px; background:var(--color-gray-100); color:var(--color-gray-500); }
.wp-page .wp-avatar-none svg { width:15px; height:15px; }
.wp-page .wp-rank { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:999px; background:var(--color-gray-100); color:var(--color-gray-600); font-size:12px; font-weight:500; }
.wp-page .wp-row--muted td { background:var(--color-gray-50); color:var(--color-gray-500); }
.wp-page .wp-note--inline { margin-top:10px; }
.wp-page .wp-databar { position:relative; display:block; padding:3px 8px; margin:0 -8px; border-radius:6px; }
.wp-page .wp-databar__fill { position:absolute; inset:0 auto 0 0; border-radius:6px; background:rgba(59,130,246,.13); }
.wp-page .wp-databar__value { position:relative; font-variant-numeric:tabular-nums; }
.wp-page .wp-databar .wp-link { min-height:0; }
.wp-page .wp-delta { font-weight:500; font-variant-numeric:tabular-nums; }
.wp-page .wp-delta--up { color:var(--color-success-dark); }
.wp-page .wp-delta--down { color:var(--color-danger-dark); }
.wp-page .wp-col-head { display:inline-flex; flex-direction:column; align-items:center; line-height:1.25; max-width:100%; }
.wp-page .wp-col-head small { color:var(--color-gray-500); font-size:11px; font-weight:400; }
/* Heatmap: the whole cell carries the colour, graded by distance from the team rate. */
/* Beats the precision table's !important cell padding so the colour fills the whole cell. */
.wp-page .erp-data-table.erp-data-table--precision > tbody > tr > td:has(> .wp-heat):not(.erp-tree-table__name-cell):not(.erp-data-table__cell--indent) { padding:0 !important; height:1px; }
.wp-page .wp-heat { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; width:100%; height:100%; min-height:52px; line-height:1.2; color:var(--color-gray-800); text-decoration:none; font-variant-numeric:tabular-nums; transition:box-shadow .12s ease; }
.wp-page .wp-heat strong { font-size:14px; font-weight:500; }
.wp-page .wp-heat small { font-size:11px; color:var(--color-gray-500); }
.wp-page .wp-heat:hover { box-shadow:inset 0 0 0 2px var(--color-primary); }
.wp-page .wp-heat:focus-visible { outline:2px solid var(--color-primary-hover); outline-offset:-2px; }
.wp-page .wp-heat--above-strong { background:rgba(16,185,129,.28); color:var(--color-success-dark); }
.wp-page .wp-heat--above { background:rgba(16,185,129,.12); color:var(--color-success-dark); }
.wp-page .wp-heat--below { background:rgba(239,68,68,.11); color:var(--color-danger-dark); }
.wp-page .wp-heat--below-strong { background:rgba(239,68,68,.24); color:var(--color-danger-dark); }
.wp-page .wp-heat--muted { color:var(--color-gray-500); }
.wp-page .wp-legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:12px; font-size:12px; color:var(--color-gray-600); }
.wp-page .wp-legend>span { display:inline-flex; align-items:center; gap:6px; }
.wp-page .wp-swatch { display:inline-block; width:14px; height:14px; min-height:0; padding:0; border-radius:4px; border:1px solid var(--color-gray-200); }
/* Bullet bar: fill to the person's share, a dark tick at the team rate. */
.wp-page .wp-bullet { position:relative; display:block; height:8px; border-radius:999px; background:var(--color-gray-100); }
.wp-page .wp-bullet__fill { position:absolute; inset:0 auto 0 0; border-radius:999px; background:var(--color-primary); }
.wp-page .wp-bullet__fill--below { background:var(--color-danger); }
.wp-page .wp-bullet__fill--above { background:var(--color-success); }
.wp-page .wp-bullet__fill--neutral { background:var(--color-warning); }
.wp-page .wp-bullet__team { position:absolute; top:-4px; bottom:-4px; width:2px; margin-left:-1px; border-radius:1px; background:var(--color-gray-800); }
.wp-page .wp-coach { margin:0; padding:0; list-style:none; }
.wp-page .wp-coach__item { display:flex; flex-direction:column; gap:8px; padding:12px 0; border-bottom:1px solid var(--color-gray-100); }
.wp-page .wp-coach__item:first-child { padding-top:0; }
.wp-page .wp-coach__head { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; }
.wp-page .wp-coach__head strong { font-weight:500; }
.wp-page .wp-coach__head .wp-link { min-height:0; color:var(--color-gray-900); }
.wp-page .wp-coach__cat { color:var(--color-gray-600); }
.wp-page .wp-coach__facts { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--color-gray-600); }
.wp-page .wp-coach__facts strong { color:var(--color-gray-900); font-weight:500; font-variant-numeric:tabular-nums; }
.wp-page .wp-compare { margin:0; padding:0; list-style:none; }
.wp-page .wp-compare__row { display:grid; grid-template-columns:minmax(120px,200px) minmax(0,1fr) 92px; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid var(--color-gray-100); }
.wp-page .wp-compare__name .wp-link { min-height:0; }
.wp-page .wp-compare__value { display:flex; flex-direction:column; align-items:flex-end; font-variant-numeric:tabular-nums; }
.wp-page .wp-compare__value strong { font-weight:500; }
.wp-page .wp-compare__value small { font-size:11px; color:var(--color-gray-500); }
.wp-page .wp-hours { display:flex; align-items:flex-end; gap:6px; height:160px; padding-top:8px; }
.wp-page .wp-hours__col { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; height:100%; color:var(--color-gray-500); text-decoration:none; font-size:11px; }
.wp-page .wp-hours__bar { width:100%; max-width:36px; border-radius:6px 6px 0 0; background:var(--color-primary); }
.wp-page .wp-hours__col:hover .wp-hours__bar { background:var(--color-primary-hover); }
.wp-page .wp-top-items { margin:0; padding:0; list-style:none; }
.wp-page .wp-top-items li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--color-gray-100); font-size:13px; }
.wp-page .wp-top-items li>span { display:flex; flex-direction:column; min-width:0; }
.wp-page .wp-top-items .wp-link { min-height:0; }
.wp-page .wp-top-items strong { font-weight:500; }
.wp-page .wp-top-items small { color:var(--color-gray-500); font-size:12px; }
@media(max-width:768px) {
 .wp-page .wp-compare__row { grid-template-columns:minmax(0,1fr) 80px; }
 .wp-page .wp-compare__row .wp-bullet { grid-column:1/-1; grid-row:2; }
 .wp-page .wp-heat { min-height:44px; border-radius:8px; }
 .wp-page .wp-hours { gap:3px; }
}
