.product-report-range { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.product-report-range label { display:grid; gap:6px; min-width:140px; font-size:12px; }
.product-report-range > label { flex:1; }
.product-report-range input,.product-report-range select { width:100%; min-width:0; box-sizing:border-box; }
.product-report-custom { display:flex; align-items:end; flex-wrap:wrap; gap:10px; flex-basis:100%; padding:12px; background:#f2f8f5; border:1px solid #c7dfd2; border-radius:10px; }
.product-report-custom strong { padding-bottom:10px; color:#155e45; font-size:13px; }
.product-report-range [hidden] { display:none!important; }
.product-report-range [role=status]:empty { display:none; }
.product-report-range [role=status] { flex-basis:100%; color:#8a4b00; margin:0; }
.product-comparison-dialog { padding:0; width:min(1100px,calc(100vw - 24px)); max-height:94dvh; border:1px solid #bad7c8; border-radius:16px; color:#173d30; background:white; }
.product-comparison-dialog[open] { display:flex; flex-direction:column; }
.product-comparison-dialog::backdrop { background:#153d3066; }
.product-comparison-dialog > header,.product-comparison-dialog > footer { padding:18px 22px; background:#f2f9f5; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-shrink:0; }
.product-comparison-dialog h2 { margin:4px 0; }
.product-comparison-dialog .comparison-body { overflow:auto; padding:20px; }
.comparison-product-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); max-height:230px; overflow:auto; gap:6px; margin:10px 0 22px; }
.comparison-product-picker label { display:flex; align-items:center; gap:8px; padding:8px; border:1px solid #d8e7df; border-radius:8px; font-size:13px; }
.comparison-product-picker label[hidden] { display:none; }
.comparison-product-picker input { width:18px; height:18px; min-height:18px; flex-shrink:0; }
.comparison-product-picker small { display:block; color:#587566; }
.comparison-selection-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.comparison-totals { display:flex; flex-wrap:wrap; gap:20px; padding:16px; background:#eaf5ee; border:1px solid #bdd7c9; border-radius:10px; }
.product-comparison-dialog table { width:100%; border-collapse:collapse; font-size:13px; }
.product-comparison-dialog td,.product-comparison-dialog th { padding:10px 8px; border-bottom:1px solid #d4e2da; text-align:left; }
.comparison-table { overflow-x:auto; }
.comparison-individual > summary { padding:16px 0; cursor:pointer; font-weight:700; }
.comparison-product { padding:16px 0; border-bottom:1px solid #bfd9cc; }
.report-warning { background:#fff1d8; padding:12px; color:#794400; border-radius:8px; }
.report-definition { font-size:12px; color:#587566; line-height:1.5; }
@media(max-width:600px){.product-comparison-dialog > header,.product-comparison-dialog > footer,.product-comparison-dialog .comparison-body{padding:12px}.product-report-custom label{flex:1;min-width:110px}.comparison-product-picker{grid-template-columns:1fr}}

/* Fordwell report actions: outlined panels with the shared raised-button finish. */
.product-comparison-dialog .report-panel-button, .product-report-range .report-panel-button {
 display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; min-width:110px; min-height:76px; padding:12px 15px; margin:0;
 border:1px solid #a9cbbc; border-radius:11px; background:linear-gradient(#fff,#eef7f1); color:#14563f; box-shadow:0 3px 0 #b6d1c2,inset 0 1px 0 #fff;
 font:inherit; font-size:12px; font-weight:700; line-height:1.25; text-align:left; cursor:pointer; transition:background 120ms ease,box-shadow 120ms ease,transform 120ms ease;
}
.product-comparison-dialog .report-panel-button svg, .product-report-range .report-panel-button svg { width:22px; height:22px; flex:0 0 22px; pointer-events:none; }
.product-comparison-dialog .report-panel-button:hover:not(:disabled), .product-report-range .report-panel-button:hover:not(:disabled) { background:linear-gradient(#fff,#dfeee5); border-color:#328b6a; }
.product-comparison-dialog .report-panel-button:active:not(:disabled), .product-report-range .report-panel-button:active:not(:disabled) { transform:translateY(2px); box-shadow:inset 0 2px 4px #215e3e26; }
.product-comparison-dialog .report-panel-button:focus-visible, .product-report-range .report-panel-button:focus-visible { outline:3px solid #409878; outline-offset:3px; }
.product-comparison-dialog .report-panel-button:disabled, .product-report-range .report-panel-button:disabled { opacity:.45; box-shadow:none; cursor:default; }
.product-comparison-dialog .report-panel-button.is-close { min-width:44px; width:44px; min-height:44px; height:44px; padding:10px; align-items:center; background:#fff; box-shadow:none; }
.product-comparison-dialog .report-panel-button.is-print { flex-direction:row; align-items:center; gap:10px; min-height:54px; background:linear-gradient(#fffdf3,#eaf5ee); border-color:#82b69f; }
.product-comparison-dialog .report-panel-button.is-print small { display:block; color:#567365; font-size:10px; font-weight:400; margin-top:3px; }
.product-report-range .report-panel-button.is-inline { flex-direction:row; align-items:center; min-height:44px; min-width:0; }
.product-report-range .report-panel-button.is-refresh { min-width:86px; }
.product-comparison-dialog > header { border-top:3px solid transparent; background:linear-gradient(#f2f9f5,#f2f9f5) padding-box,linear-gradient(90deg,#cba746,#79ae90,#177658) border-box; }
.product-comparison-dialog > footer { border-top:1px solid #cee0d6; }
.product-comparison-dialog .comparison-selection-actions { gap:10px; margin:12px 0 14px; }
.product-comparison-dialog [data-selection-count] { font-size:12px; padding:8px 12px; border:1px solid #c8ddd1; border-radius:999px; background:#f2f8f4; color:#285e48; }
.product-comparison-dialog .comparison-product-picker input { accent-color:#1f785d; }
.product-comparison-dialog .comparison-product-picker label:has(input:checked) { background:#f1f8f4; border-color:#9fc8b4; }
@media(max-width:600px) {
 .product-comparison-dialog .comparison-selection-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .product-comparison-dialog .comparison-selection-actions .report-panel-button { width:100%; min-width:0; min-height:78px; padding:10px 8px; font-size:11px; }
 .product-comparison-dialog [data-selection-count] { grid-column:1 / -1; justify-self:start; }
 .product-report-range .report-panel-button.is-refresh { min-width:72px; padding:10px; }
}
@media(prefers-reduced-motion:reduce) { .product-comparison-dialog .report-panel-button,.product-report-range .report-panel-button { transition:none; } }

/* Orders-style report workspace: compact toolbar above a rail of period tiles. */
.product-comparison-dialog { background:#f6f8f5; border-radius:12px; }
.product-comparison-dialog > header { background:#fff; border-top:0; border-bottom:1px solid #d8e4dd; }
.product-comparison-dialog .comparison-body { padding:18px; }
.product-comparison-dialog .comparison-controls,.product-comparison-dialog [data-comparison-report] { padding:18px; background:#fff; border:1px solid #d8e4dd; border-radius:8px; }
.product-comparison-dialog [data-comparison-report] { margin-top:16px; }
.product-comparison-dialog [data-comparison-report]:empty { display:none; }
.product-comparison-dialog .comparison-toolbar { display:flex; align-items:end; gap:10px; margin-bottom:20px; }
.product-comparison-dialog .comparison-search { display:grid; gap:6px; flex:1; min-width:160px; color:#526e62; font-size:11px; font-weight:700; }
.product-comparison-dialog .comparison-search input { width:100%; height:42px; min-width:0; border:1px solid #b4d3c4; border-radius:7px; padding:10px 12px; background:#fff; color:#173d30; font:inherit; font-size:13px; }
.product-comparison-dialog .comparison-selection-actions { display:flex; flex-wrap:nowrap; gap:8px; margin:0; }
.product-comparison-dialog .comparison-toolbar .report-panel-button { min-width:82px; min-height:62px; padding:9px 10px; border-radius:8px; align-items:center; text-align:center; font-size:10px; gap:6px; background:#f7fbf8; border-color:#bed9cd; box-shadow:0 2px 0 #c4dbce; }
.product-comparison-dialog .comparison-toolbar .report-panel-button svg { width:20px; height:20px; flex-basis:20px; }
.product-comparison-dialog .comparison-toolbar .is-refresh { min-width:42px; width:42px; min-height:42px; height:42px; padding:10px; background:#fff; box-shadow:none; }
.product-comparison-dialog .comparison-toolbar .is-refresh span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.product-comparison-dialog .comparison-native-range { display:none; }
.product-comparison-dialog .product-report-range { display:block; margin:0; }
.product-comparison-dialog .comparison-period-tiles { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.product-comparison-dialog .comparison-period-tile { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:104px; padding:14px 8px; border:1px solid #c8ded2; border-radius:8px; color:#23654e; background:#fff; box-shadow:none; font:inherit; cursor:pointer; }
.product-comparison-dialog .comparison-period-tile:after { content:'\2197'; position:absolute; right:10px; top:8px; color:#81ab98; font-size:11px; }
.product-comparison-dialog .comparison-period-tile svg { width:21px; height:21px; }
.product-comparison-dialog .comparison-period-tile span { font-size:11px; color:#678276; }
.product-comparison-dialog .comparison-period-tile strong { font-size:12px; }
.product-comparison-dialog .comparison-period-tile[aria-pressed=true] { background:#eaf5ee; border-color:#238263; box-shadow:inset 0 0 0 1px #238263; }
.product-comparison-dialog .comparison-period-tile:hover { background:#f0f8f3; border-color:#238263; }
.product-comparison-dialog .comparison-period-tile:focus-visible,.product-comparison-dialog .comparison-search input:focus-visible { outline:2px solid #238263; outline-offset:3px; }
.product-comparison-dialog .product-report-custom { margin-bottom:16px; }
.product-comparison-dialog [data-comparison-status]:empty { display:none; }
.product-comparison-dialog [data-product-selection] summary { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #d8e4dd; padding:12px 0; font-size:12px; cursor:pointer; }
.product-comparison-dialog [data-product-selection] summary:before { content:'\25b8'; }
.product-comparison-dialog [data-product-selection] details[open] summary:before { content:'\25be'; }
.product-comparison-dialog [data-selection-count] { margin-left:auto; border:0; border-radius:0; padding:0; color:#527065; background:transparent; font-size:11px; font-weight:400; }
.product-comparison-dialog .comparison-product-picker { margin:0; }
.product-comparison-dialog .comparison-product-picker label:has(input:checked) { background:#f6faf7; border-color:#bfd8ca; }
.product-comparison-dialog > footer { background:#fff; }
.product-comparison-dialog .report-panel-button.is-print { border-radius:8px; }
@media(max-width:700px) {
 .product-comparison-dialog .comparison-body { padding:10px; }
 .product-comparison-dialog .comparison-controls,.product-comparison-dialog [data-comparison-report] { padding:12px; }
 .product-comparison-dialog .comparison-toolbar { flex-wrap:wrap; gap:8px; margin-bottom:16px; }
 .product-comparison-dialog .comparison-search { flex-basis:calc(100% - 54px); }
 .product-comparison-dialog .comparison-selection-actions { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .product-comparison-dialog .comparison-toolbar .comparison-selection-actions .report-panel-button { min-width:0; min-height:58px; padding:8px 4px; font-size:10px; }
 .product-comparison-dialog .comparison-period-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:14px; }
 .product-comparison-dialog .comparison-period-tile { min-height:88px; padding:10px 5px; gap:5px; }
 .product-comparison-dialog .comparison-period-tile strong { font-size:11px; }
 .product-comparison-dialog .comparison-period-tile span { font-size:10px; }
}
