/* Shared analytics for the two contemporary local appearances. */
.foxy-ui .fxa-analytics { margin-bottom:28px; scroll-margin-top:24px; }
.foxy-ui .fxa-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.foxy-ui .fxa-heading h2 { margin:0; color:var(--fx-text); font-size:24px; font-weight:700; line-height:1.25; letter-spacing:-.6px; }
.foxy-ui .fxa-heading p { margin:7px 0 0; color:var(--fx-muted); font-size:15px; }
.foxy-ui .fxa-heading h2:focus { outline:none; }
.foxy-ui .fxa-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px 18px; margin-bottom:20px; }
.foxy-ui .fxa-person-filter { display:block; margin:0; width:310px; max-width:100%; }
.foxy-ui .fxa-person-filter>span { display:block; font-size:13px; font-weight:600; color:var(--fx-muted); margin:0 0 7px; }
.foxy-ui .fxa-person-filter select,.foxy-ui .fxa-person-filter .fx-select-trigger { width:100%; min-height:46px; border:1px solid var(--fx-line); border-radius:11px; background:var(--fx-surface); color:var(--fx-text); font-size:15px!important; }
.foxy-ui .fxa-period { display:flex; align-items:center; gap:4px; min-height:46px; padding:4px; border:1px solid var(--fx-line); border-radius:12px; background:var(--fx-subtle); }
.foxy-ui .fxa-period button { min-height:36px; padding:7px 13px; border-radius:8px; background:transparent; color:var(--fx-muted); font-size:14px; }
.foxy-ui .fxa-period button[aria-pressed=true] { background:var(--fx-surface); color:var(--fx-text); box-shadow:0 1px 4px #0000000c; }
.foxy-ui .fxa-reset-person { background:var(--fx-tint); color:var(--fx-accent-ink); border-radius:10px; padding:11px 14px; font-size:14px; min-height:46px; }
.foxy-ui .fxa-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:20px; }
.foxy-ui .fxa-charts { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr); gap:20px; margin-bottom:20px; }
.foxy-ui .fxa-chart { min-width:0; border:1px solid var(--fx-line); background:var(--fx-surface); border-radius:18px; padding:22px; }
.foxy-ui .fxa-chart-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 14px; margin-bottom:15px; }
.foxy-ui .fxa-chart-head h3 { font-size:18px; font-weight:650; letter-spacing:-.35px; margin:0; color:var(--fx-text); }
.foxy-ui .fxa-chart-head>span { font-size:13px; color:var(--fx-muted); }
.foxy-ui .fxa-timeline-svg { width:100%; height:auto; display:block; min-height:160px; overflow:visible; }
.foxy-ui .fxa-grid-line { stroke:var(--fx-line); stroke-dasharray:3 4; }
.foxy-ui .fxa-axis-text { fill:var(--fx-muted)!important; color:var(--fx-muted); font-family:var(--font-family-base); font-size:12px; }
.foxy-ui .fxa-creation-bar { fill:var(--fx-accent)!important; }
.foxy-ui .fxa-distribution-content { display:flex; gap:20px; align-items:center; min-height:180px; }
.foxy-ui .fxa-donut { width:142px; height:142px; flex:none; position:relative; }
.foxy-ui .fxa-donut svg { display:block; width:100%; height:100%; transform:rotate(-90deg); }
.foxy-ui .fxa-ring-track,.foxy-ui .fxa-ring-segment { fill:none!important; stroke-width:14; }
.foxy-ui .fxa-ring-track { stroke:var(--fx-hover); }
.foxy-ui .fxa-type-redirect { --fxa-type-color:var(--fx-accent); }
.foxy-ui .fxa-type-proxy { --fxa-type-color:#638dae; }
.foxy-ui .fxa-type-pages { --fxa-type-color:#9482ae; }
.foxy-ui .fxa-type-other { --fxa-type-color:#809480; }
.foxy-ui .fxa-ring-segment { stroke:var(--fxa-type-color); }
.foxy-ui .fxa-donut>strong { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--fx-text); font-size:32px; line-height:1.2; font-weight:700; letter-spacing:-1px; }
.foxy-ui .fxa-donut small { display:block; color:var(--fx-muted); font-size:12px; letter-spacing:0; font-weight:400; margin-top:4px; }
.foxy-ui .fxa-type-list { list-style:none; margin:0; padding:0; flex:1; min-width:0; }
.foxy-ui .fxa-type-list li { display:flex; align-items:center; gap:8px; margin:0; padding:8px 0; font-size:14px; color:var(--fx-muted); }
.foxy-ui .fxa-type-list strong { margin-left:auto; color:var(--fx-text); font-size:15px; font-weight:650; font-variant-numeric:tabular-nums; }
.foxy-ui .fxa-type-dot { width:9px; height:9px; flex:none; border-radius:3px; background:var(--fxa-type-color); }
.foxy-ui .fxa-heatmap { grid-column:1/-1; }
.foxy-ui .fxa-heatmap-scroll { width:100%; overflow:auto; }
.foxy-ui .fxa-heatmap-svg { display:block; width:100%; max-width:900px; min-width:550px; height:auto; margin:0 auto; }
.foxy-ui .fxa-heat-0 { --fxa-cell:var(--fx-hover); }
.foxy-ui .fxa-heat-1 { --fxa-cell:#ffe1c6; }
.foxy-ui .fxa-heat-2 { --fxa-cell:#ffbc80; }
.foxy-ui .fxa-heat-3 { --fxa-cell:#ff942e; }
.foxy-ui .fxa-heat-4 { --fxa-cell:#c25a00; }
.foxy-ui .fxa-heat-cell { fill:var(--fxa-cell)!important; }
.foxy-ui .fxa-heat-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 18px; }
.foxy-ui .fxa-chart-note { margin:9px 0 0; font-size:13px; line-height:1.55; color:var(--fx-muted); }
.foxy-ui .fxa-heat-footer .fxa-chart-note { margin:8px 0 0; }
.foxy-ui .fxa-heat-legend { display:flex; align-items:center; gap:5px; color:var(--fx-muted); font-size:12px; margin-top:8px; }
.foxy-ui .fxa-heat-legend i { display:block; width:14px; height:14px; border-radius:3px; background:var(--fxa-cell); }
.foxy-ui .fxa-materials { margin-bottom:24px; }
.foxy-ui .fxa-materials .fxo-own-record { margin:0; }
.foxy-ui .fxa-materials-empty { display:flex; align-items:center; gap:12px; padding:22px 24px; color:var(--fx-muted); }
.foxy-ui .fxa-materials-empty p { margin:0; font-size:15px; }
.foxy-ui .fxa-materials-empty .fxo-icon { color:var(--fx-muted); }
.foxy-ui .fxa-person-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.foxy-ui .fxa-person-actions .fxo-detail-button { flex:none; }
.foxy-ui .fxa-statistics-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--fx-tint); color:var(--fx-accent-ink); border:0; border-radius:10px; padding:10px 13px; min-height:44px; font-size:14px; font-weight:600; white-space:nowrap; }
.foxy-ui .fxa-statistics-button .fxo-icon { width:19px; height:19px; }
.foxy-ui .fxa-person-actions .fxa-statistics-button:hover,.foxy-ui .fxa-reset-person:hover { background:var(--fx-hover); color:var(--fx-text); }
.foxy-ui .fxo-dialog-footer { gap:12px; }
.foxy-ui .fxa-data-note { margin:0 0 20px; padding:12px 16px; border-radius:10px; background:var(--fx-tint); color:var(--fx-accent-ink); font-size:14px; }
.foxy-ui .fxa-analytics button:focus-visible,.foxy-ui .fxa-person-actions button:focus-visible,.foxy-ui .fxa-heatmap-scroll:focus-visible { outline:3px solid var(--fx-accent); outline-offset:3px; }
html[data-foxy-design=studio] .foxy-ui .fxa-metrics { margin-bottom:20px; }
html[data-foxy-design=studio] .foxy-ui .fxa-metrics .fxo-metric { min-height:144px; padding:21px; }
html[data-foxy-design=studio] .foxy-ui .fxa-metrics .fxo-metric strong { font-size:44px; margin-top:18px; }
html[data-foxy-design=studio] .foxy-ui .fxa-chart { border:0; border-radius:20px; padding:24px; }
html[data-foxy-design=studio] .foxy-ui .fxa-chart-head h3 { display:flex; align-items:center; gap:10px; }
html[data-foxy-design=studio] .foxy-ui .fxa-chart-head h3::before { content:''; width:4px; height:20px; border-radius:3px; background:var(--fx-accent-soft); }
@container foxy-overview (max-width:850px) {
 .foxy-ui .fxa-charts { grid-template-columns:minmax(0,1fr); }
 .foxy-ui .fxa-distribution-content { min-height:145px; gap:28px; }
 .foxy-ui .fxa-donut { width:134px; height:134px; }
 .foxy-ui .fxa-type-list { max-width:360px; }
 .foxy-ui .fxa-person-actions { flex-wrap:wrap; }
}
@container foxy-overview (max-width:720px) {
 .foxy-ui .fxa-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .foxy-ui .fxa-heading { align-items:flex-start; }
 .foxy-ui .fxa-heading .fxo-connection { font-size:12px; white-space:nowrap; }
 .foxy-ui .fxa-metrics .fxo-metric>div .fxo-icon { display:none; }
 .foxy-ui .fxa-metrics .fxo-metric { padding:17px; }
}
@media(max-width:650px) {
 .foxy-ui .fxa-heading { flex-wrap:wrap; gap:9px; }
 .foxy-ui .fxa-heading h2 { font-size:22px; }
 .foxy-ui .fxa-heading .fxo-connection { margin:0; }
 .foxy-ui .fxa-heading p { font-size:14px; }
 .foxy-ui .fxa-controls { gap:12px; }
 .foxy-ui .fxa-person-filter { width:100%; }
 .foxy-ui .fxa-period { width:100%; }
 .foxy-ui .fxa-period button { flex:1; padding:8px 9px; }
 .foxy-ui .fxa-reset-person { width:100%; }
 .foxy-ui .fxa-chart,html[data-foxy-design=studio] .foxy-ui .fxa-chart { padding:18px 16px; border-radius:16px; }
 .foxy-ui .fxa-chart-head h3 { font-size:17px; }
 .foxy-ui .fxa-chart-head>span { font-size:12px; }
 .foxy-ui .fxa-charts { gap:14px; }
 .foxy-ui .fxa-timeline-svg { min-height:140px; }
 .foxy-ui .fxa-axis-text { font-size:13px; }
 .foxy-ui .fxa-distribution-content { gap:14px; min-height:120px; }
 .foxy-ui .fxa-donut { width:105px; height:105px; }
 .foxy-ui .fxa-donut>strong { font-size:26px; }
 .foxy-ui .fxa-type-list li { font-size:13px; gap:6px; }
 .foxy-ui .fxa-type-list strong { font-size:14px; }
 .foxy-ui .fxa-materials-empty { padding:20px 18px; align-items:flex-start; }
 .foxy-ui .fxa-materials-empty p { font-size:14px; }
 .foxy-ui .fxa-person-actions { flex-wrap:nowrap; justify-content:flex-start; }
 .foxy-ui .fxa-person-actions .fxa-statistics-button { flex:1; }
 .foxy-ui .fxa-person-actions .fxo-detail-button { width:44px!important; height:44px; }
 .foxy-ui .fxa-person-actions .fxo-detail-label { display:none; }
 .foxy-ui .fxo-dialog-footer { flex-wrap:wrap; }
 .foxy-ui .fxo-dialog-footer>.fxa-statistics-button { flex:1; }
 html[data-foxy-design=studio] .foxy-ui .fxa-metrics .fxo-metric { min-height:116px; padding:16px 13px; }
 html[data-foxy-design=studio] .foxy-ui .fxa-metrics .fxo-metric strong { font-size:36px; margin-top:16px; }
}
