.period-controls-shell{align-items:start;gap:20px;flex-wrap:wrap}
.period-controls-shell>.period{display:none}
.period-controls-shell>label{flex:1 1 300px;min-width:0}
.period-picker{flex:1 1 440px;min-width:0;margin:0}
.period-fields{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.period-fields label{display:flex;flex-direction:column;gap:5px;flex:1 1 140px;min-width:0;color:var(--muted);font-size:12px}
.period-fields input{box-sizing:border-box;min-height:44px;min-width:0;width:100%;border:1px solid var(--control-line);border-radius:9px;padding:9px 11px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;color-scheme:light}
.period-fields input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.period-fields input[aria-invalid=true]{border-color:#a23a2e}
.period-fields>.button{min-height:44px;flex:0 0 auto;padding:10px 18px}
.period-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.period-presets button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font-size:12px;padding:8px 10px}
.period-presets button:hover{border-color:var(--accent);background:#e6f4f2}
.period-error{color:#983b30;font-size:12px;margin:6px 0 0;min-height:0}
.period-error:empty{display:none}
.period-active{font-size:12px;color:var(--muted);margin:6px 0 0}
.period-pdf-tools{margin:-8px 0 24px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px;color:var(--muted);line-height:1.6}
.period-pdf-tools p{margin:0 0 4px}.period-pdf-tools p:empty{display:none}.period-pdf-tools a{display:inline-block;min-height:44px;padding:12px 0;font-size:12px;text-underline-offset:3px}
#period-pdf-error{color:#983b30}#period-pdf-status{color:var(--accent);font-weight:600}
#period-pdf-retry{min-height:44px;margin:6px 12px 6px 0}[data-period-pdf][aria-disabled=true]{cursor:wait;opacity:.65}
.period-custom #latest-snapshot{display:none!important}
.period-custom #meta-report>:not(.period-controls-shell):not(.period-results),.period-custom #channel-report>:not(.period-controls-shell):not(.period-results){display:none!important}
.period-summary{margin:22px 0;padding:22px 24px;background:#edf8f7;border:1px solid #acd6d4;border-radius:var(--radius)}
.period-summary h2{font-size:clamp(19px,2.4vw,27px);margin:7px 0}.period-summary p{margin:7px 0;font-size:14px}
.period-coverage{color:var(--ink)}.period-warning{padding:10px 12px;border-left:3px solid #a97722;background:#fff7e9;color:#79541d;font-size:13px}
.period-secondary{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}.period-secondary span{color:var(--muted);font-size:14px}.period-secondary strong{color:var(--ink)}
.period-results .metrics{margin:20px 0}.period-results .card{margin-bottom:20px}.period-results .metric .sub{white-space:normal;line-height:1.5}
.period-results th,.period-results td{white-space:normal}.period-results th:first-child{min-width:120px}
.period-results .card-head label{font-size:12px;display:flex;flex-direction:column;gap:5px}
.period-results details{margin-top:18px}.period-results summary{min-height:44px;padding:10px 0}
@media(max-width:700px){.period-controls-shell{display:flex!important;flex-direction:column;gap:16px}.period-controls-shell>label,.period-picker{width:100%;flex:0 1 auto}.period-fields{gap:8px}.period-fields label{flex-basis:calc(50% - 4px)}.period-fields>.button{width:100%}.period-presets{display:grid;grid-template-columns:1fr 1fr}.period-controls-shell>.status,.period-controls-shell>.state-tag{align-self:flex-start}.period-summary{padding:18px}.period-results .card-head{align-items:stretch;flex-direction:column}.period-results .card-head select{width:100%}}

.period-presets button:disabled,.mall-presets button:disabled{opacity:.45;cursor:not-allowed;background:var(--surface);border-color:var(--line)}
