.dso-store-comparison {
	--dsc-purple:#5B3CC4; --dsc-cyan:#16B8D4; --dsc-ink:#25263A; --dsc-muted:#667085;
	--dsc-line:#E5E7EF; --dsc-bg:#F5F6FA; --dsc-good:#178A62; --dsc-warning:#A96900; --dsc-danger:#B42318;
	color:var(--dsc-ink); font-size:var(--bops-text-base,16px); line-height:1.55;
}
.dso-store-comparison * { box-sizing:border-box; }
.dso-comparison-header,.dso-comparison-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.dso-comparison-header { margin-bottom:18px; }
.dso-comparison-eyebrow { margin:0 0 4px; color:var(--dsc-purple); font-size:var(--bops-text-xs,13px); font-weight:800; letter-spacing:.08em; }
.dso-comparison-intro,.dso-comparison-panel-heading p { margin:0; color:var(--dsc-muted); font-size:var(--bops-text-base,16px); }
.dso-comparison-controls { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.dso-comparison-controls label { color:var(--dsc-muted); font-size:var(--bops-text-sm,14px); }
.dso-comparison-controls select,.dso-comparison-controls input { min-height:42px; max-width:220px; border:1px solid var(--dsc-line); border-radius:9px; padding:8px 11px; background:#fff; color:var(--dsc-ink); font:inherit; font-size:var(--bops-text-sm,14px); }
.dso-comparison-controls input { width:190px; }
.dso-comparison-button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; border:1px solid var(--dsc-purple); border-radius:9px; padding:8px 14px; background:var(--dsc-purple); color:#fff; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.dso-comparison-button.secondary { background:#fff; color:var(--dsc-purple); }
.dso-comparison-button:hover,.dso-comparison-button:focus { filter:brightness(.96); }
.dso-comparison-notice { display:none; margin:12px 0 16px; border:1px solid #C9BDF5; border-radius:9px; padding:11px 14px; background:#F7F4FF; color:#482BAE; font-size:var(--bops-text-sm,14px); }
.dso-comparison-notice.visible { display:block; }
.dso-comparison-notice.error { border-color:#F2C8C5; background:#FFF4F2; color:var(--dsc-danger); }
.dso-comparison-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.dso-comparison-card,.dso-comparison-panel { min-width:0; border:1px solid var(--dsc-line); border-radius:13px; background:#fff; box-shadow:0 4px 16px #29294A0A; }
.dso-comparison-card { display:grid; gap:8px; padding:16px 17px; }
.dso-comparison-card span { color:var(--dsc-muted); font-size:var(--bops-text-sm,14px); }
.dso-comparison-card strong { font-size:var(--bops-text-xl,20px); line-height:1.3; overflow-wrap:anywhere; }
.dso-comparison-panel { margin-bottom:16px; padding:18px; }
.dso-comparison-panel-heading { margin-bottom:14px; }
.dso-comparison-panel-heading h2 { margin:0 0 3px; font-size:var(--bops-text-xl,20px); line-height:1.3; }
.dso-comparison-panel-heading p { font-size:var(--bops-text-sm,14px); }
.dso-comparison-legend { display:flex; gap:15px; color:var(--dsc-muted); font-size:var(--bops-text-sm,14px); }
.dso-comparison-legend span { display:flex; align-items:center; gap:6px; }
.dso-comparison-legend i { width:10px; height:10px; border-radius:3px; background:var(--dsc-purple); }
.dso-comparison-legend i.previous { background:var(--dsc-cyan); }
.dso-comparison-chart { display:grid; gap:14px; }
.dso-comparison-bar-row { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr); align-items:center; gap:14px; }
.dso-comparison-bar-label { display:grid; min-width:0; }
.dso-comparison-bar-label strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dso-comparison-bar-label span { color:var(--dsc-muted); font-size:var(--bops-text-sm,14px); }
.dso-comparison-bar-tracks { display:grid; gap:4px; }
.dso-comparison-track { height:10px; overflow:hidden; border-radius:999px; background:#F0EEF8; }
.dso-comparison-track.previous { background:#E6F8FB; }
.dso-comparison-bar { display:block; height:100%; min-width:0; border-radius:inherit; background:var(--dsc-purple); transition:width .25s ease; }
.dso-comparison-track.previous .dso-comparison-bar { background:var(--dsc-cyan); }
.dso-comparison-count { border-radius:999px; padding:4px 10px; background:#F2EEFF; color:var(--dsc-purple); font-size:var(--bops-text-xs,13px); font-weight:700; white-space:nowrap; }
.dso-comparison-table-wrap { width:100%; overflow:auto; border:1px solid var(--dsc-line); border-radius:9px; }
.dso-comparison table { width:100%; min-width:1040px; border-collapse:collapse; font-size:var(--bops-text-sm,14px); }
.dso-comparison th { padding:11px 12px; background:#FAFAFC; color:#4B4D61; text-align:left; font-weight:750; white-space:nowrap; }
.dso-comparison td { padding:12px; border-top:1px solid var(--dsc-line); vertical-align:middle; }
.dso-comparison tr:hover td { background:#FCFBFF; }
.dso-comparison-rank { width:40px; color:var(--dsc-muted); }
.dso-comparison-store { min-width:145px; }
.dso-comparison-store strong,.dso-comparison-store small { display:block; }
.dso-comparison-store small { color:var(--dsc-muted); font-size:var(--bops-text-xs,13px); }
.dso-comparison-number { white-space:nowrap; font-variant-numeric:tabular-nums; }
.dso-comparison-change { font-weight:700; white-space:nowrap; }
.dso-comparison-change.positive { color:var(--dsc-good); }
.dso-comparison-change.negative { color:var(--dsc-danger); }
.dso-comparison-change.neutral { color:var(--dsc-muted); font-weight:500; }
.dso-comparison-status { display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px; font-size:var(--bops-text-xs,13px); font-weight:700; white-space:nowrap; }
.dso-comparison-status.good { background:#E8F7F0; color:var(--dsc-good); }
.dso-comparison-status.warning { background:#FFF5E5; color:var(--dsc-warning); }
.dso-comparison-status.critical { background:#FFF0EF; color:var(--dsc-danger); }
.dso-comparison-status.no-data { background:#F0F1F5; color:#60657A; }
.dso-comparison-empty { margin:0; padding:18px; color:var(--dsc-muted); text-align:center; }
.dso-comparison-footnote { margin:0; color:var(--dsc-muted); font-size:var(--bops-text-xs,13px); }
.dso-comparison-access { padding:24px; border:1px solid var(--dsc-line); border-radius:12px; background:#fff; }
@media(max-width:900px) { .dso-comparison-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .dso-comparison-controls { width:100%; } }
@media(max-width:600px) { .dso-comparison-summary { grid-template-columns:1fr 1fr; gap:9px; } .dso-comparison-card { padding:13px; } .dso-comparison-card strong { font-size:var(--bops-text-lg,18px); } .dso-comparison-panel { padding:14px; } .dso-comparison-controls input { max-width:100%; width:100%; } .dso-comparison-search { flex:1 1 100%; } .dso-comparison-bar-row { grid-template-columns:minmax(90px,125px) minmax(0,1fr); gap:9px; } }
