.fs-activity { max-width:1100px; margin:0 auto 2rem; color:inherit; }
.fs-activity [hidden] { display:none!important; }
.fs-activity h2,.fs-activity h3 { line-height:1.3; }
.fs-activity p { max-width:85ch; }
.fs-activity-filters { display:flex; align-items:end; flex-wrap:wrap; gap:.75rem; margin:1.25rem 0; }
.fs-activity-filters p { flex-basis:100%; margin:0; }
.fs-activity label { display:flex; flex-direction:column; gap:.35rem; }
.fs-activity button,.fs-activity select { font:inherit; min-height:40px; max-width:100%; }
.fs-activity button { padding:.4rem .7rem; cursor:pointer; }
.fs-activity button:disabled { cursor:default; }
.fs-activity :focus-visible { outline:3px solid #2576a8; outline-offset:3px; }
.fs-activity-summary { padding:1rem; border:1px solid #b9c7d2; border-radius:6px; }
.fs-activity-summary strong { font-size:1.5rem; }
.fs-activity-chart { height:140px; display:flex; align-items:flex-end; gap:2px; border-bottom:2px solid currentColor; margin:1rem 0; padding-top:6px; }
.fs-activity-chart span { flex:1; background:#245d81; min-width:0; }
.fs-activity details { margin:1rem 0 2rem; }
.fs-activity summary { cursor:pointer; text-decoration:underline; }
.fs-activity table { width:100%; border-collapse:collapse; table-layout:fixed; margin:1rem 0; }
.fs-activity th,.fs-activity td { padding:.65rem; border-bottom:1px solid #b9c7d2; text-align:left; overflow-wrap:anywhere; }
.fs-activity caption { text-align:left; font-size:.9rem; padding:.4rem 0; }
.fs-activity nav { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-bottom:2rem; }
.flyer-storm-admin-header + .fs-activity { max-width:none; margin-top:28px; }
@media(max-width:520px){ .fs-activity th,.fs-activity td{padding:.4rem;} .fs-activity button{font-size:.9rem;} .fs-activity-chart{height:110px;gap:1px;} }

.fs-activity-axis { display:flex; justify-content:space-between; gap:1rem; font-size:.85rem; }

/* Native modal supplies background inertness; explicit keyboard wrapping keeps both actions reachable. */
.fs-activity-reset-dialog { color:#1d2327; background:#fff; border:1px solid #8c8f94; border-radius:8px; padding:1.5rem; width:min(560px,calc(100% - 2rem)); box-sizing:border-box; max-height:calc(100vh - 2rem); overflow:auto; }
.fs-activity-reset-dialog::backdrop { background:rgba(0,0,0,.5); }
.fs-activity-reset-dialog h2 { margin-top:0; }
.fs-activity-reset-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; }
.fs-activity [data-activity-reset-error] { color:#a21a1a; font-weight:600; }
.fs-activity [data-activity-reset-error]:empty { display:none; }

/* Public reporting accents inherit the site's text color. */
body:not(.wp-admin) .fs-activity-chart span { background:var(--fs-control-color, currentColor); }
body:not(.wp-admin) .fs-activity :focus-visible { outline-color:var(--fs-focus-color, currentColor); }
body:not(.wp-admin) .fs-activity-summary,
body:not(.wp-admin) .fs-activity th,
body:not(.wp-admin) .fs-activity td { border-color:var(--fs-border-color, currentColor); }

/* My Impact only. Administrator charts and tables retain their existing presentation. */
.fs-impact { --impact-accent:currentColor; --impact-line:currentColor; --impact-surface:transparent; max-width:1100px; margin:0 auto 3rem; color:inherit; font:inherit; overflow-wrap:anywhere; background:transparent;padding:clamp(1rem,2vw,2rem);border-radius:16px; }
.fs-impact *, .fs-impact *::before, .fs-impact *::after { box-sizing:border-box; }
.fs-impact [hidden] { display:none!important; }
.fs-impact-heading { display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap; }
.fs-impact-heading h2 { font-size:clamp(2rem,4vw,2.8rem);margin:0 0 .35rem;letter-spacing:-.035em; }
.fs-impact-heading p { margin:.25rem 0; }
.fs-impact-heading .fs-account { font-size:.85rem;max-width:100%; }
.fs-impact-heading .fs-account nav { margin:0;gap:.15rem; }
.fs-impact-heading .fs-account nav a { padding:.35rem .5rem; }
.fs-impact [data-impact-message] { font-size:.9rem;min-height:1.5em;margin:1rem 0; }
.fs-impact-stats { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.5rem; }
.fs-impact-stats > div { padding:.85rem 1.1rem;border-left:3px solid var(--impact-accent);background:var(--impact-surface);border-radius:0 8px 8px 0; }
.fs-impact-stats dt { font-size:.9rem; }
.fs-impact-stats dd { font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;margin:.15rem 0;line-height:1.2;font-variant-numeric:tabular-nums; }
.fs-impact-stats p { margin:0;font-size:.8rem;color:inherit; }
.fs-impact-graph { background:transparent;border:1px solid var(--impact-line);border-radius:16px;padding:clamp(1rem,3vw,2rem); }
.fs-impact-graph header { display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap; }
.fs-impact h3 { font-size:1.25rem;margin:0 0 .65rem; }
.fs-impact fieldset { display:flex;flex-wrap:wrap;gap:.35rem;border:0;padding:0;margin:0; }
.fs-impact legend { font-size:.75rem;margin-bottom:.3rem; }
.fs-impact fieldset label { padding:.5rem .65rem;border:1px solid var(--impact-line);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.3rem;min-height:44px;font-size:.9rem; }
.fs-impact fieldset label:has(:checked) { background:var(--impact-surface);color:inherit;border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor;font-weight:700; }
.fs-impact input[type=radio] { accent-color:var(--impact-accent);margin:0; }
.fs-impact [data-impact-range] { color:inherit;font-size:.85rem;margin:.7rem 0 1.5rem; }
.fs-impact-plot { height:clamp(260px,32vw,360px);display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.7rem; }
.fs-impact-y { display:flex;flex-direction:column;justify-content:space-between;font-size:.75rem;text-align:right;font-variant-numeric:tabular-nums; }
.fs-impact-y span { line-height:1; }
.fs-impact-surface { min-width:0;touch-action:pan-y; }
.fs-impact-surface svg { display:block;width:100%;height:100%;overflow:visible; }
.fs-impact-grid { stroke:var(--impact-line);stroke-width:1;vector-effect:non-scaling-stroke; }
.fs-impact-bar { fill:var(--impact-accent); }
.fs-impact-marker { stroke:currentColor;stroke-width:2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke; }
.fs-impact-dates { display:flex;justify-content:space-between;font-size:.75rem;margin:.6rem 0 1rem;padding-left:2rem;gap:.5rem; }
.fs-impact-tooltip { background:var(--impact-surface);border-radius:8px;padding:.65rem 1rem;font-size:.9rem;font-weight:600;margin:.5rem 0; }
.fs-impact-explore { display:grid;gap:.35rem;font-size:.8rem; }
.fs-impact input[type=range] { width:100%;min-height:44px;margin:0;accent-color:inherit; }
.fs-impact details { margin-top:.75rem; }
.fs-impact summary { cursor:pointer;min-height:44px;align-content:center;font-size:.85rem;text-decoration:underline; }
.fs-impact table { width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem; }
.fs-impact th,.fs-impact td { text-align:left;padding:.6rem;border-bottom:1px solid var(--impact-line); }
.fs-impact caption { text-align:left;padding:.75rem 0; }
.fs-impact [data-impact-flyers] { margin-top:2rem; }
.fs-impact-flyer-list { padding:0;list-style:none;counter-reset:impact; }
.fs-impact-flyer-list li { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--impact-line);padding:.85rem 0; }
.fs-impact-flyer-list li > :last-child { flex-shrink:0;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums; }
.fs-impact a { color:var(--wp--style--color--link, inherit);text-underline-offset:.2em; }
.fs-impact button,.fs-impact-button { display:inline-block;border:1px solid var(--impact-accent);border-radius:8px;padding:.65rem 1rem;font:inherit;cursor:pointer;min-height:44px;background:transparent;color:inherit; }
.fs-impact-button { background:var(--impact-surface);color:inherit;text-decoration:underline;font-weight:600; }
.fs-impact button:disabled { opacity:.5;cursor:default; }
.fs-impact nav { display:flex;align-items:center;flex-wrap:wrap;gap:.6rem; }
.fs-impact :focus-visible { outline:3px solid currentColor;outline-offset:3px; }
.fs-impact-empty { padding:1rem 0 1.5rem; }
.fs-impact-empty p { margin:.3rem 0 1rem; }
.fs-impact-definition { color:inherit;font-size:.8rem;border-top:1px solid var(--impact-line);padding-top:1rem;margin-top:2rem; }
@media(max-width:520px) { .fs-impact-stats { gap:.4rem; } .fs-impact-stats > div { padding:.6rem; } .fs-impact-stats dt { font-size:.75rem;min-height:4.5em; } .fs-impact-stats p { font-size:.7rem; } .fs-impact-flyer-list li { align-items:start; } .fs-impact-graph { border-radius:10px; } }
@media(prefers-reduced-motion:reduce) { .fs-impact *, .fs-impact *::before,.fs-impact *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }

/* Transparent surfaces preserve the actual theme/container background; currentColor
   also works with classic themes that publish no WordPress palette variables. */
.fs-impact :is(h2,h3,dt,dd,th,td,caption,summary,legend,label) { color:inherit;font-family:inherit; }
.fs-impact :is(button,input) { font-family:inherit;color:inherit; }
@supports (color:color-mix(in srgb, black, transparent)) {
 .fs-impact { --impact-line:color-mix(in srgb,currentColor 60%,transparent); --impact-surface:color-mix(in srgb,currentColor 5%,transparent); }
}
/* Native range accents vary by platform; keep the chart explorer in the site's ink. */
.fs-impact input[type=range] { appearance:none;background:transparent;cursor:pointer; }
.fs-impact input[type=range]::-webkit-slider-runnable-track { height:6px;background:currentColor;border-radius:3px; }
.fs-impact input[type=range]::-webkit-slider-thumb { appearance:none;width:16px;height:16px;margin-top:-5px;border:0;border-radius:50%;background:currentColor; }
.fs-impact input[type=range]::-moz-range-track { height:6px;background:currentColor;border-radius:3px; }
.fs-impact input[type=range]::-moz-range-thumb { width:16px;height:16px;border:0;border-radius:50%;background:currentColor; }
