.fh-analytics-admin-backdrop{position:fixed;inset:0;z-index:1250;background:var(--surface-primary,#fff);overflow:auto;scrollbar-gutter:stable;color:var(--text-primary,#222)}
.fh-analytics-admin-dialog{--fh-gutter:max(16px,calc((100% - 1280px)/2));background:var(--surface-primary,#fff);box-sizing:border-box;height:100%;display:flex;flex-direction:column;overflow:hidden;word-break:keep-all;overflow-wrap:anywhere}
.fh-analytics-admin-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.fh-analytics-admin-dialog h2{font-size:20px;font-weight:650}.fh-analytics-admin-dialog p{margin:8px 0;font-size:13px}
.fh-analytics-admin-dialog fieldset,.fh-analytics-admin-dialog form{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--border-light,#ddd);padding:12px;margin:12px 0;border-radius:10px}
.fh-analytics-admin-dialog label{display:flex;flex-direction:column;gap:5px;font-size:13px}.fh-analytics-admin-dialog input,.fh-analytics-admin-dialog select{border:1px solid var(--border-medium,#bbb);border-radius:6px;padding:7px;background:var(--surface-primary,#fff);color:inherit;max-width:100%}.fh-analytics-admin-dialog input[type=checkbox]{align-self:flex-start}
.fh-analytics-admin-dialog [data-fh-analytics-admin=filters]{align-items:end}
.fh-analytics-admin-dialog [data-fh-analytics-admin=filters] input,.fh-analytics-admin-dialog [data-fh-analytics-admin=filters] select,.fh-analytics-admin-dialog [data-fh-analytics-admin=filters] button{box-sizing:border-box;height:36px;padding:2px 10px;line-height:normal}
.fh-analytics-admin-dialog button{border:1px solid var(--border-medium,#bbb);border-radius:7px;padding:7px 12px;background:var(--surface-secondary,#f5f5f5);color:inherit;white-space:nowrap;align-self:end}.fh-analytics-admin-dialog button:disabled{opacity:.5}.fh-analytics-admin-dialog :focus-visible{outline:2px solid #a43528;outline-offset:2px}
.fh-analytics-admin-retention{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fh-analytics-admin-retention label:first-child{flex-direction:row;align-items:center;gap:8px}.fh-analytics-admin-dialog input:disabled{opacity:.5}
.fh-analytics-admin-child{z-index:1251;background:#0007;display:flex;align-items:center;justify-content:center;padding:16px}.fh-analytics-admin-subdialog{box-sizing:border-box;width:min(680px,100%);min-height:0;max-height:92vh;overflow:auto;border-radius:16px;box-shadow:0 16px 60px #0004;padding:20px}.fh-analytics-admin-subdialog [data-fh-analytics-admin=directory-results],.fh-analytics-admin-subdialog [data-fh-analytics-admin=excluded-selected-list]{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-height:32vh;overflow:auto}.fh-analytics-admin-subdialog [data-fh-analytics-admin=directory-results] label,.fh-analytics-admin-subdialog [data-fh-analytics-admin=excluded-selected-list] label{flex-direction:row;align-items:center;gap:8px}.fh-analytics-admin-subdialog>button{margin:6px 6px 6px 0}.fh-analytics-admin-subdialog>label{margin:12px 0}
.fh-analytics-admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.fh-analytics-admin-metrics>div{border:1px solid var(--border-light,#ddd);border-radius:10px;padding:12px}.fh-analytics-admin-metrics dt{font-size:13px}.fh-analytics-admin-metrics dd{margin:6px 0;font-size:22px;font-weight:650}.fh-analytics-admin-detail{grid-column:1/-1}.fh-analytics-admin-scroll{overflow:auto;margin:12px 0}.fh-analytics-admin-scroll table{border-collapse:collapse;width:100%;font-size:13px}.fh-analytics-admin-scroll th,.fh-analytics-admin-scroll td{padding:8px;border-bottom:1px solid var(--border-light,#ddd);text-align:left;white-space:nowrap}
.fh-analytics-admin-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:10px 0 28px}
.fh-chart-card{border:1px solid var(--border-light,#ddd);border-radius:12px;padding:12px 14px;min-width:0}
.fh-chart-card h2,.fh-chart-card h3{font-size:14px;font-weight:650;margin:0}
.fh-chart-card>p{margin:2px 0 10px;font-size:12px;color:var(--text-primary,#555);opacity:.72}
.fh-chart-bars{display:flex;flex-direction:column;gap:7px}
.fh-chart-row{display:grid;grid-template-columns:minmax(80px,40%) 1fr auto;align-items:center;gap:8px;font-size:12px}
.fh-chart-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fh-chart-track{position:relative;height:14px;background:var(--border-light,#eee);border-radius:7px;overflow:hidden;min-width:0}
.fh-chart-fill{display:block;height:100%;border-radius:7px;min-width:2px}
.fh-chart-val{font-variant-numeric:tabular-nums;white-space:nowrap}
.fh-chart-stack{display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--border-light,#eee);margin:6px 0 10px}
.fh-analytics-admin-dialog [data-fh-analytics-admin=tokens] .fh-chart-stack{height:22px}
.fh-chart-seg{display:block;height:100%}
.fh-chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}
.fh-chart-legend-item{display:inline-flex;align-items:center;gap:6px}
.fh-chart-dot{width:9px;height:9px;border-radius:2px;flex:none}
.fh-chart-track-lg{display:block;height:16px}
.fh-chart-rate{display:flex;align-items:baseline;gap:8px;margin:2px 0 8px}
.fh-chart-rate strong{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}
.fh-chart-rate span{font-size:12px;color:var(--text-primary,#555);opacity:.72}
.fh-chart-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:4px 0 2px}
.fh-chart-kpi{display:flex;flex-direction:column;gap:1px;min-width:0}
.fh-chart-kpi span{font-size:11px;color:var(--text-primary,#555);opacity:.72}
.fh-chart-kpi strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.fh-chart-kpi strong.good{color:#2f9e6f}
.fh-chart-sub{font-size:12.5px;color:var(--text-primary,#555);opacity:.85;margin:0;padding-top:9px;border-top:1px solid var(--border-light,#eee);font-variant-numeric:tabular-nums}
/* ---- Data quality: collection-health coverage table ---- */
.fh-cov-note{font-size:12px;color:var(--text-primary,#555);opacity:.75;margin:0 0 10px}
.fh-cov-table{width:100%;border-collapse:collapse;font-size:12.5px}
.fh-cov-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--text-secondary,#666);padding:0 8px 8px;border-bottom:1px solid var(--border-light,#ddd)}
.fh-cov-table th.num,.fh-cov-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.fh-cov-table td{padding:9px 8px;border-bottom:1px solid var(--border-light,#eee);vertical-align:middle}
.fh-cov-table tr:last-child td{border-bottom:none}
.fh-cov-nm b{font-weight:600}
.fh-cov-nm small{display:block;color:var(--text-secondary,#888);font-weight:400;font-size:11px;margin-top:1px}
.fh-cov-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}
.fh-cov-pill i{width:7px;height:7px;border-radius:2px;flex:none}
.fh-cov-pill.ok{color:#2f9e6f;background:rgba(47,158,111,.14)}.fh-cov-pill.ok i{background:#2f9e6f}
.fh-cov-pill.part{color:#c98a16;background:rgba(201,138,22,.16)}.fh-cov-pill.part i{background:#c98a16}
.fh-cov-pill.gap{color:#c0453a;background:rgba(192,69,58,.15)}.fh-cov-pill.gap i{background:#c0453a}
.fh-cov-pill.zero{color:var(--text-secondary,#777);background:var(--border-light,#ececec)}.fh-cov-pill.zero i{background:var(--text-secondary,#888)}
.fh-cov-bar{position:relative;height:7px;border-radius:4px;background:var(--border-light,#eee);overflow:hidden;min-width:70px}
.fh-cov-bar>i{position:absolute;inset:0 auto 0 0;border-radius:4px}
.fh-cov-bar.ok>i{background:#2f9e6f}.fh-cov-bar.part>i{background:#c98a16}.fh-cov-bar.zero>i{background:var(--text-secondary,#999)}
.fh-cov-bar.gap>i{width:100%;background:repeating-linear-gradient(45deg,#c0453a 0 4px,transparent 4px 8px);opacity:.55}
/* ---- Option A: fixed header + rail, only the content column scrolls ---- */
.fh-analytics-admin-dialog>header{flex:none;padding:16px var(--fh-gutter) 0}
.fh-analytics-admin-tabs{flex:none;display:flex;gap:8px;margin:12px 0;padding:0 var(--fh-gutter)}
.fh-analytics-admin-tabs button{appearance:none;font:inherit;font-size:13.5px;color:var(--text-secondary,#666);background:var(--surface-primary,#fff);border:1.5px solid var(--border-medium,#bbb);border-radius:8px;padding:7px 15px;cursor:pointer;transition:border-color .1s,color .1s}
.fh-analytics-admin-tabs button:hover{border-color:#3878e4;color:#3878e4}
.fh-analytics-admin-tabs button:focus-visible{outline:2px solid #a43528;outline-offset:2px}
.fh-analytics-admin-tabs button.on{border-color:#3878e4;color:#3878e4;background:var(--surface-secondary,#f5f5f5);font-weight:650}
.fh-analytics-admin-pane[hidden]{display:none!important}
.fh-analytics-admin-dialog [data-fh-analytics-admin=pane-analytics]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.fh-analytics-admin-dialog [data-fh-analytics-admin=pane-settings]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:22px var(--fh-gutter) 56px}
.fh-analytics-admin-dialog [data-fh-analytics-admin=pane-settings]>*{margin:0}
.fh-analytics-admin-dialog [data-fh-analytics-admin=pane-settings]>button{align-self:flex-start}
.fh-analytics-admin-dialog [data-fh-analytics-admin=settings]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:4px 18px 18px}
.fh-analytics-admin-dialog [data-fh-analytics-admin=settings] legend{font-size:13px;font-weight:650;padding:0 6px}
.fh-analytics-admin-dialog [data-fh-analytics-admin=settings]>label{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;margin:0;border-bottom:1px solid var(--border-light,#ddd);font-size:13px}
.fh-analytics-admin-dialog [data-fh-analytics-admin=settings]>label>select,.fh-analytics-admin-dialog [data-fh-analytics-admin=settings]>label>input:not([type=checkbox]){box-sizing:border-box;flex:none;width:auto;min-width:160px;height:34px;padding:0 10px;font-size:13px;line-height:normal}
.fh-analytics-admin-dialog [data-fh-analytics-admin=settings]>label>input[type=checkbox]{align-self:center;width:18px;height:18px}
.fh-analytics-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.fh-analytics-admin-actions button{align-self:center}
.fh-analytics-admin-export{display:flex;align-items:center;gap:8px}
.fh-analytics-admin-export label{flex-direction:row;align-items:center;gap:7px;font-size:12px}
.fh-analytics-admin-export select{box-sizing:border-box;height:34px;padding:0 8px;font-size:13px;line-height:normal}
.fh-analytics-admin-dialog button[data-fh-analytics-admin=export]{border:1.5px solid #2f9e6f;color:#2f9e6f}
.fh-analytics-admin-dialog button[data-fh-analytics-admin=export]:hover:not(:disabled){border-color:#2f9e6f;background:rgba(47,158,111,.1)}
.fh-analytics-admin-sticky{flex:none;background:var(--surface-primary,#fff);padding:10px var(--fh-gutter);border-bottom:1px solid var(--border-light,#ddd)}
.fh-analytics-admin-sticky form{margin:0}
.fh-analytics-admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:10px 0 2px}
.fh-analytics-admin-kpis>div{border:1px solid var(--border-light,#ddd);border-radius:10px;padding:8px 11px}
.fh-analytics-admin-kpis dt{font-size:11px;color:var(--text-secondary,#666)}
.fh-analytics-admin-kpis dd{margin:3px 0 0;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.fh-analytics-admin-layout{flex:1;display:flex;gap:16px;align-items:stretch;min-height:0;overflow:hidden;padding:0 var(--fh-gutter)}
.fh-analytics-admin-rail{flex:none;width:132px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:14px 0 12px}
.fh-analytics-admin-rail a{font-size:13px;color:var(--text-secondary,#666);padding:6px 10px;border-radius:7px;text-decoration:none;border:1px solid transparent}
.fh-analytics-admin-rail a:hover{background:var(--surface-secondary,#f5f5f5)}
.fh-analytics-admin-rail a.on{background:var(--surface-secondary,#f5f5f5);color:#a43528;font-weight:650;border-color:var(--border-light,#ddd)}
.fh-analytics-admin-main{flex:1;min-width:0;overflow-y:auto;padding:2px 2px 48px 0}
.fh-analytics-admin-scroll{scroll-margin-top:10px}
.fh-analytics-sec{font-size:15px;font-weight:650;margin:28px 0 8px;scroll-margin-top:10px}
.fh-analytics-sec:first-child{margin-top:8px}
.fh-grid-usage{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.fh-grid-usage{grid-template-columns:1fr}}
@media(max-width:700px){.fh-analytics-admin-layout{flex-direction:column;overflow-y:auto}.fh-analytics-admin-rail{flex-direction:row;flex-wrap:wrap;width:auto;overflow:visible;padding:10px 0}.fh-analytics-admin-main{overflow:visible}}
@media(max-width:600px){.fh-analytics-admin-child{padding:6px}.fh-analytics-admin-subdialog{padding:12px;max-height:96vh}.fh-analytics-admin-dialog{padding:16px 12px}.fh-analytics-admin-dialog fieldset,.fh-analytics-admin-dialog form{gap:8px}.fh-analytics-admin-dialog label{flex:1 1 150px;min-width:0}.fh-analytics-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-analytics-admin-metrics dd{font-size:18px}}
