/* Act V-only filter additions; inherited colors support both themes. */
#casesApp .ws-toolbar{grid-template-columns:minmax(260px,1.45fr) minmax(260px,1fr) repeat(4,minmax(150px,.76fr));}
#casesApp .case-period-control{display:grid;gap:7px;min-width:0;position:relative;}
#casesApp .case-filter-label{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
#casesApp .case-period-toggle{height:50px;width:100%;border:1px solid var(--line2);background:var(--theme-surface,#fff);color:var(--ink);border-radius:999px;padding:0 16px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;}
#casesApp .case-period-toggle:hover,#casesApp .case-period-toggle:focus-visible{border-color:rgba(255,0,127,.42);outline:0}
#casesApp .case-period-toggle svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#casesApp .case-period-panel{position:absolute;z-index:110;top:calc(100% + 7px);left:0;width:min(360px,calc(100vw - 34px));border:1px solid var(--line2);border-radius:16px;padding:17px;background:var(--theme-surface,#fff);color:var(--ink);box-shadow:none;}
#casesApp .case-period-panel[hidden]{display:none}
/* Both custom panels share title typography and the established Reset link style. */
#casesApp .case-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line2);margin-bottom:5px}
#casesApp .case-filter-panel-title{display:block;margin:0;padding:0;color:var(--ink);font:400 13px/1.35 var(--sans);letter-spacing:normal;text-transform:none}
#casesApp .case-filter-reset{appearance:none;display:inline-block;flex:none;width:auto;min-width:0;min-height:0;margin:0;border:0;border-radius:2px;padding:0;background:none;color:var(--pink);font:400 10px/1.7 var(--mono);letter-spacing:normal;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:1}
#casesApp .case-filter-reset:hover{color:var(--ink)}
#casesApp .case-filter-reset:focus-visible{color:var(--ink);outline:2px solid var(--pink);outline-offset:3px}
#casesApp .case-typology-menu-head{padding:11px 11px 12px}
#casesApp .case-period-panel-head{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px}
#casesApp .case-period-years{display:flex;justify-content:space-between;margin:20px 0 5px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}
#casesApp .case-period-range{position:relative;height:35px;margin:0 7px;--period-from:0%;--period-to:100%;}
#casesApp .case-period-range:before{content:"";position:absolute;height:5px;border-radius:99px;top:15px;left:0;right:0;background:linear-gradient(to right,var(--line2) 0 var(--period-from),var(--pink) var(--period-from) var(--period-to),var(--line2) var(--period-to) 100%)}
#casesApp .case-period-range input{position:absolute;top:0;left:0;width:100%;height:35px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;outline:0;}
#casesApp .case-period-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:17px;height:17px;border-radius:50%;border:2px solid var(--theme-surface,#fff);background:var(--pink);box-shadow:0 0 0 1px var(--pink);cursor:grab;pointer-events:auto;}
#casesApp .case-period-range input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid var(--theme-surface,#fff);background:var(--pink);cursor:grab;pointer-events:auto;}
#casesApp .case-period-range input::-moz-range-track{background:transparent;}
#casesApp .case-period-range input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--ink);outline-offset:4px}
#casesApp .case-period-range input:focus-visible::-moz-range-thumb{outline:2px solid var(--ink);outline-offset:4px}
#casesApp .case-period-panel p{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1350px){#casesApp .ws-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}#casesApp .ws-toolbar .filter-search{grid-column:1/-1}}
@media(max-width:820px){#casesApp .ws-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#casesApp .ws-toolbar{grid-template-columns:1fr}#casesApp .ws-toolbar .filter-search{grid-column:auto}}
/* The Period panel opens in the right-hand column on the two-column layout. */
@media(min-width:621px) and (max-width:820px){#casesApp .case-period-panel{left:auto;right:0}}
@media(max-width:620px){#casesApp .case-period-panel{width:100%}}

#casesApp .case-typology-control{position:relative;display:grid;gap:7px;min-width:0;}
#casesApp .case-typology-toggle{height:50px;width:100%;border:1px solid var(--line2);background:var(--theme-surface,#fff);color:var(--ink);border-radius:999px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font:inherit;text-align:left;}
#casesApp .case-typology-toggle span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;}
#casesApp .case-typology-toggle svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7;fill:none;flex:none;transition:transform .16s ease;}
#casesApp .case-typology-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
#casesApp .case-typology-toggle[aria-expanded=true],#casesApp .case-typology-toggle:focus-visible{border-color:rgba(255,0,127,.45);outline:none;}
#casesApp .case-typology-menu{position:absolute;z-index:150;top:calc(100% + 7px);left:0;width:max-content;min-width:100%;max-width:min(550px,calc(100vw - 28px));max-height:min(450px,55vh);overflow:auto;box-sizing:border-box;border-radius:16px;border:1px solid var(--line2);padding:6px;background:var(--theme-surface,#fff);color:var(--ink);box-shadow:none;}
#casesApp .case-typology-menu[hidden]{display:none}
#casesApp .case-typology-options{display:grid;gap:1px;}
#casesApp .case-typology-option{display:flex;align-items:center;gap:11px;box-sizing:border-box;white-space:nowrap;width:100%;min-width:max-content;min-height:36px;padding:9px 12px;border:0;background:none;color:var(--ink);font:inherit;font-size:12px;line-height:1.25;text-align:left;border-radius:9px;cursor:pointer;}
#casesApp .case-typology-option:hover,#casesApp .case-typology-option:focus-within{background:var(--pinksoft,rgba(255,0,127,.07));}
#casesApp .case-typology-option input{position:absolute;opacity:0;width:20px;height:20px;cursor:pointer;}
#casesApp .case-typology-check{display:inline-grid;place-items:center;box-sizing:border-box;flex:0 0 17px;height:17px;border:1px solid var(--line2);border-radius:5px;color:transparent;background:transparent;}
#casesApp .case-typology-check svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
#casesApp .case-typology-option input:checked+.case-typology-check{border-color:var(--pink);background:var(--pink);color:#fff;}
#casesApp .case-typology-option input:focus-visible+.case-typology-check{outline:2px solid var(--pink);outline-offset:3px;}
#casesApp .case-reported-amount-pill{cursor:default;white-space:nowrap;}
@media(max-width:620px){#casesApp .case-typology-menu{max-width:calc(100vw - 32px)}}
