/* Local result components; existing layout and animations remain in styles.css. */
.demo-summary, .demo-weekly-report, .demo-executive-report { padding: 18px; border: 1px solid #dfe3e8; border-radius: 6px; font-size: 16px; line-height: 1.5; }
.demo-summary { background: #f4f7f5; }
.demo-summary h2, .demo-weekly-report h2, .demo-executive-report h2 { margin: 0 0 14px; font-size: 20px; }
.demo-query-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.demo-query { padding: 4px 9px; background: #e9edf1; border-radius: 4px; font-size: 14px; }
.demo-weekly-report { background: #f7f9fc; }
.demo-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 10px; }
.demo-metric { padding: 12px; background: #fff; border: 1px solid #e5e7eb; border-radius: 5px; }
.demo-metric-label { color: #737780; font-size: 14px; }
.demo-metric-value { display: block; margin: 7px 0; font-size: 22px; }
.demo-metric-change { color: #355c46; font-size: 14px; }
.demo-chart { margin: 18px 0; padding: 14px; border: 1px solid #e5e7eb; background: #fff; border-radius: 5px; }
.demo-chart figcaption { margin-bottom: 12px; color: #737780; font-size: 13px; }
.demo-chart-plot { display: flex; gap: 10px; height: 150px; border-bottom: 1px solid #dfe3e8; }
.demo-chart-column { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: center; gap: 5px; font-size: 12px; }
.demo-chart-track { display: flex; align-items: flex-end; flex: 1; min-height: 0; width: 100%; }
.demo-chart-bar { width: 100%; background: #7c99b5; border-radius: 3px 3px 0 0; }
.demo-weekly-report h3, .demo-executive-report h3 { margin: 18px 0 8px; font-size: 16px; }
.demo-weekly-report ul { padding: 0; list-style: none; }
.demo-weekly-report li, .demo-executive-report li { margin: 6px 0; }
.demo-executive-report { background: #fffdf7; border-top: 4px solid #b39b6b; }
.demo-report-label { text-transform: uppercase; letter-spacing: .08em; color: #8a7750; font-size: 11px; }
.demo-executive-report h2 { margin-top: 8px; font-family: Georgia, serif; font-size: 24px; }
.demo-report-period { color: #737780; font-size: 14px; }
.demo-executive-report ul, .demo-executive-report ol { padding-left: 22px; }
.demo-executive-report ol { counter-reset: demo-report-item; }
.demo-executive-report ol > li { counter-increment: demo-report-item; }
/* Attach the marker to the first animated word so they share visibility.
   Without word animation (reduced motion), native list markers remain. */
.demo-executive-report li:has(> span:first-child) { list-style: none; position: relative; }
.demo-executive-report li > span:first-child::before { position: absolute; right: calc(100% + 6px); }
.demo-executive-report ul > li > span:first-child::before { content: "•"; }
.demo-executive-report ol > li > span:first-child::before { content: counter(demo-report-item) "."; }
.demo-file-results { font-size: 15px; }
.demo-file-hint { color: #737780; font-size: 12px; }
.demo-file-results .demo-file-description { margin-top: 8px; }
.demo-file-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 12px; margin-top: 12px; }
.demo-file-card { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; background: #fafbfc; border: 1px solid #dfe3e8; border-radius: 6px; }
.demo-file-badge { padding: 5px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; }
.demo-file-xlsx { background: #e4f0e9; color: #355c46; }
.demo-file-pdf { background: #f5e6e4; color: #923c3c; }
.demo-file-name { overflow-wrap: anywhere; font-size: 14px; }
.demo-file-updated { color: #355c46; font-size: 12px; }
.demo-file-download { margin-top: auto; padding: 7px 12px; border: 1px solid #cbd3dc; border-radius: 4px; background: #fff; color: #536579; opacity: 1; font: inherit; font-size: 14px; }
