:root { --dashboard-ink:#1f2933; --dashboard-muted:#65717d; --dashboard-border:#dbe2e8; --dashboard-surface:#fff; --dashboard-bg:#f3f6f8; --dashboard-primary:#176b87; --dashboard-primary-dark:#0f4f66; }
body { background:var(--dashboard-bg); color:var(--dashboard-ink); }
.dashboard-shell { max-width:none; padding-left:0; padding-right:1.5rem; }
.dashboard { padding:5.25rem 1.5rem 3rem; width:100%; }
.dashboard-header,.dashboard-panel-heading,.dashboard-quality { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.dashboard-header { margin-bottom:1.5rem; }
.dashboard h1 { font-size:2rem; font-weight:600; margin-bottom:.4rem; }
.dashboard h2 { font-size:1.1rem; font-weight:600; margin-bottom:.25rem; }
.dashboard-eyebrow { color:var(--dashboard-primary); font-size:.8rem; font-weight:700; letter-spacing:.08em; margin-bottom:.35rem; text-transform:uppercase; }
.dashboard-lead,.dashboard-panel-heading p,.dashboard-note { color:var(--dashboard-muted); margin-bottom:0; }
.dashboard-sample-badge { font-size:.8rem; padding:.55rem .75rem; }
.dashboard-filter,.dashboard-panel,.dashboard-quality,.dashboard-kpi { background:var(--dashboard-surface); border:1px solid var(--dashboard-border); border-radius:.5rem; }
.dashboard-filter { margin-bottom:1rem; padding:1.25rem; }
.dashboard-filter h2 { margin-bottom:1rem; }
.dashboard-filter .form-group { margin-bottom:.75rem; }
.dashboard-filter-row .form-control,.dashboard-filter-row .btn { height:calc(1.5em + .75rem + 2px); }
.dashboard-filter-row .form-group { margin-bottom:0; }
#product-catalog-status { margin:.45rem 0 .7rem; }
.dashboard-filter label { color:var(--dashboard-muted); font-size:.85rem; font-weight:600; }
.dashboard-filter .btn-primary { background-color:var(--dashboard-primary); border-color:var(--dashboard-primary); }
.dashboard-filter .btn-primary:hover,.dashboard-filter .btn-primary:focus { background-color:var(--dashboard-primary-dark); border-color:var(--dashboard-primary-dark); }
.dashboard-note { font-size:.8rem; }
.dashboard-kpis { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:1rem; }
.dashboard-kpis-product { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dashboard-kpis-single { grid-template-columns:minmax(240px,1fr); max-width:33.333%; }
.dashboard-kpi { padding:1.1rem 1.25rem; }
.dashboard-kpi span,.dashboard-kpi small { color:var(--dashboard-muted); display:block; }
.dashboard-kpi strong { color:var(--dashboard-primary-dark); display:block; font-size:1.75rem; line-height:1.25; margin:.3rem 0; }
.dashboard-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.dashboard-panel { min-width:0; padding:1.25rem; }
.dashboard-panel-wide { grid-column:1/-1; }
.dashboard-panel-heading p { font-size:.8rem; }
.dashboard-chart { height:310px; margin-top:.75rem; width:100%; }
.dashboard-section { margin-top:1.5rem; }
.dashboard-section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:1rem; }
.dashboard-section-heading>p { color:var(--dashboard-muted); font-size:.8rem; margin:0; }
.dashboard-annotation { color:var(--dashboard-muted); font-size:.75rem; }
.dashboard-chart-large { height:370px; }
.dashboard-chart-wide { height:340px; }
.dashboard-topic-layout { display:grid; gap:1.5rem; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); margin-top:1rem; }
.dashboard-topic-layout h3 { font-size:.95rem; font-weight:600; margin-bottom:.25rem; }
.dashboard-wordcloud { align-items:center; background:radial-gradient(ellipse at center,rgba(23,107,135,.055) 0,rgba(74,143,99,.025) 52%,rgba(255,255,255,0) 73%); color:var(--dashboard-muted); display:flex; height:560px; justify-content:center; margin:.5rem auto 0; max-width:100%; width:100%; }
.dashboard-wordcloud img { display:block; height:100%; object-fit:contain; width:100%; }
.dashboard-donut { height:500px; margin-top:.5rem; }
.dashboard-quality { align-items:center; margin-top:1rem; padding:1.25rem; }
.dashboard-quality dl { display:grid; gap:1.5rem; grid-template-columns:repeat(4,auto); margin:0; }
.dashboard-quality dt { color:var(--dashboard-muted); font-size:.75rem; font-weight:600; }
.dashboard-quality dd { font-size:.9rem; margin:.15rem 0 0; }
.dashboard-post-table { margin:.75rem 0; }
.dashboard-post-table tbody tr[data-url] { cursor:pointer; }
.dashboard-post-table tbody tr[data-url]:focus { outline:2px solid var(--dashboard-primary); outline-offset:-2px; }
.dashboard-post-table th { border-top:0; color:var(--dashboard-muted); font-size:.8rem; }
@media (max-width:991.98px) { .dashboard-grid{grid-template-columns:1fr}.dashboard-panel-wide{grid-column:auto}.dashboard-kpis-product{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-topic-layout{grid-template-columns:1fr}.dashboard-quality{align-items:flex-start;flex-direction:column}.dashboard-quality dl{grid-template-columns:repeat(2,minmax(0,1fr));width:100%} }
@media (max-width:767.98px) { .dashboard-shell{padding-right:0}.dashboard{padding:4.75rem 1rem 3rem}.dashboard-header{flex-direction:column}.dashboard h1{font-size:1.6rem}.dashboard-kpis,.dashboard-kpis-single{grid-template-columns:1fr;max-width:none}.dashboard-chart,.dashboard-chart-large,.dashboard-chart-wide{height:300px}.dashboard-wordcloud{height:360px}.dashboard-donut{height:340px} }
@media (max-width:479.98px) { .dashboard-quality dl{grid-template-columns:1fr} #product-posts-panel .dashboard-panel-heading{align-items:flex-start;flex-direction:column} }
