.analytics{box-sizing:border-box;width:100%;min-width:0;padding:26px clamp(16px,3vw,42px) 40px;color:var(--fg);background:var(--bg);font:14px/1.5 var(--text)}
.analytics h2,.analytics h3,.analytics h4,.analytics p{margin:0}
.analytics h2{font:500 clamp(24px,2.5vw,34px)/1.2 var(--serif,var(--text));overflow-wrap:anywhere}
.analytics h3{font:600 17px/1.4 var(--text)}
.an-heading,.an-controls,.an-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.an-eyebrow{color:var(--muted);font:11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px!important}
.an-map,.an-segment button{font:14px var(--text);color:var(--muted);background:transparent;border:0;min-height:44px;cursor:pointer}
.an-map{border:1px solid var(--border);border-radius:24px;padding:0 18px;flex:none}
.an-map:hover{color:var(--accent);border-color:var(--accent)}
.an-segment{display:flex;align-items:center;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--border);border-radius:24px;background:var(--card);width:fit-content;max-width:100%}
.an-segment button{border-radius:22px;padding:0 15px;min-height:38px}
.an-segment [aria-pressed=true]{color:var(--bg);background:var(--fg)}
.an-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px;margin-bottom:12px}
.an-total{display:grid;gap:4px;padding:14px 18px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:var(--card);min-width:0}
.an-total.b{border-left-color:var(--b-color,#a45e37)}
.an-total strong{overflow-wrap:anywhere;font-weight:600}
.an-total span{font:13px/1.5 var(--mono)}
.an-total small,.an-note{color:var(--muted);font-size:12px;line-height:1.6}
.analytics>.an-note{margin-bottom:24px}
.an-card{min-width:0;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:20px}
.an-card>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.an-card>header>.an-note{width:100%}
.an-plot{min-width:0;position:relative}
.an-chart{display:block;width:100%;height:auto;overflow:hidden}
.an-label,.an-value{fill:var(--fg);font:12px var(--text)}
.an-value{font-size:11px}
.an-tick{fill:var(--muted);font:11px var(--mono)}
.an-grid{stroke:var(--border);stroke-width:1;pointer-events:none}
.an-hit{fill:transparent;pointer-events:all}
.an-diagonal{stroke:var(--muted);stroke-dasharray:4 4;stroke-width:1}
.an-dot.a,.an-fill.a{fill:var(--accent)}
.an-dot.b,.an-fill.b{fill:var(--b-color,#a45e37)}
.an-connector{stroke:var(--muted);stroke-width:2}
.an-mark{cursor:pointer;outline-offset:3px}
.an-mark:hover,.an-mark:focus{filter:brightness(1.15)}
.an-mark:focus-visible{outline:2px solid var(--accent)}
.an-treemap-label{fill:white;font:11px var(--text);paint-order:stroke;stroke:#0006;stroke-width:2px;pointer-events:none}
.an-headlines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border)}
.an-headlines h4{font-size:13px;margin-bottom:8px}
.an-headlines a{display:block;color:var(--accent);font-size:13px;padding:6px 0;overflow-wrap:anywhere}
.an-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}
.an-grid-cards .an-card{margin-bottom:0}
.an-data{margin-top:16px;color:var(--muted);font-size:12px}
.an-data summary{cursor:pointer;min-height:32px;display:flex;align-items:center;width:fit-content;text-decoration:underline;text-underline-offset:3px}
.an-table{overflow:auto;position:relative;max-height:360px}
.an-table table{width:100%;border-collapse:collapse;font:12px/1.6 var(--mono)}
.an-table caption{text-align:left;padding:8px 0}
.an-table th,.an-table td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}
.an-table th:first-child{text-align:left;white-space:normal;min-width:120px;max-width:260px}
.an-topic-key{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:10px}
.an-topic-key a{font-size:12px;color:var(--accent);min-height:32px;display:flex;align-items:center;gap:6px}
.an-topic-key svg{flex:none}
.an-empty{padding:32px 16px;text-align:center;color:var(--muted)}
.an-claims{width:min(700px,calc(100vw - 40px));max-height:85dvh;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--fg);font:14px/1.5 var(--text);box-sizing:border-box;overflow:hidden}
.an-claims::backdrop{background:#0008}
.an-claims>header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}
.an-claims h2{font:600 22px/1.3 var(--text);margin:0;overflow-wrap:anywhere}
.an-claims-close{width:44px;height:44px;flex:none;border:1px solid var(--border);border-radius:50%;color:var(--fg);background:var(--bg);font-size:24px;cursor:pointer}
.an-claims-body{overflow:auto;max-height:calc(80dvh - 180px);margin-top:16px;padding-right:6px}
.an-claims-body .cl-claim-heading{display:block}
.an-main{position:absolute;inset:64px 0 0;overflow-y:auto;z-index:10;background:var(--bg)}
.cm-dashboard{display:flex;flex-direction:column}
.cm-dashboard>.map-toolbar{position:relative;inset:auto;margin:12px 16px;flex:none}
.cm-dashboard>.an-main{position:relative;inset:auto;min-height:0;flex:1}
.cm-dashboard>canvas{display:none}
.cm-dashboard>.m-zoom,.cm-dashboard>.map-help,.cm-dashboard>.cm-legend,.cm-dashboard>.treemap-view,.cm-dashboard>canvas,.cm-dashboard>.m-hint,.cm-dashboard>.map-options{visibility:hidden;pointer-events:none}
.cm-dashboard .settings-pop{z-index:13}
.analytics-active #desktop-map{overflow:auto}
.analytics-active #desktop-map>.analytics{min-height:100%}
.analytics-intro{display:grid;gap:16px;padding-top:12px}
.analytics-intro a{min-height:44px;display:flex;align-items:center;color:var(--accent)}
@media(max-width:699px){
 .analytics{padding:18px 0 32px}
 .an-heading{gap:12px;align-items:flex-start}
 .an-map{min-height:40px;padding:0 12px;font-size:13px}
 .an-controls{gap:10px}
 .an-segment button{padding:0 12px;font-size:13px;min-height:38px}
 .an-card{padding:14px;border-radius:12px}
 .an-grid-cards{grid-template-columns:minmax(0,1fr)}
 .an-total{padding:12px}
 .an-chart .an-label{font-size:11px}
 .an-chart .an-value{font-size:10px}
 .phone-analytics .cmp-gap-list,.phone-analytics .cmp-section,.phone-analytics>.cmp-note{display:none}
 .phone-analytics>.analytics{display:block}
 .analytics-active .instance-panel{padding-top:12px}
 .phone-compare-map{height:65dvh;min-height:360px;display:flex;flex-direction:column;position:relative}
 .phone-compare-map[hidden]{display:none}
}
