.air-analytics-dashboard,.air-analytics-dashboard *{box-sizing:border-box}
.air-analytics-dashboard{--bg:#101112;--panel:#191a1c;--line:#303236;--muted:#8c8782;--text:#f4f0eb;--orange:#ef5408;--teal:#009D8D;max-width:1180px;margin:28px auto;font-family:Arial,Helvetica,sans-serif}
.air-analytics-shell{background:var(--bg);border:1px solid var(--line);border-radius:17px;overflow:hidden;color:var(--text);box-shadow:0 22px 60px rgba(0,0,0,.2)}
.air-analytics-header{padding:13px 20px;display:flex;justify-content:space-between;align-items:center;background:#191a1c;border-bottom:1px solid var(--line)}
.air-analytics-brand{display:flex;align-items:center;gap:10px}
.air-analytics-logo{width:38px;height:38px;padding:7px;display:flex;align-items:flex-end;gap:3px;background:var(--orange);border-radius:8px}
.air-analytics-logo span{width:5px;background:#fff}.air-analytics-logo span:nth-child(1){height:9px}.air-analytics-logo span:nth-child(2){height:15px}.air-analytics-logo span:nth-child(3){height:21px}.air-analytics-logo span:nth-child(4){height:26px}
.air-analytics-name{font:700 18px Georgia,serif}.air-analytics-sub{color:var(--teal);font-size:8px;letter-spacing:.16em}
.air-analytics-live{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.air-live-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(0,157,141,.12)}.air-analytics-live strong{font-size:16px;color:#fff}
.air-analytics-title-row{padding:28px 28px 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.air-analytics-kicker{color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.18em}
.air-analytics-title-row h2{margin:6px 0 5px;font:32px Georgia,serif;color:var(--teal)!important}
.air-analytics-title-row p{margin:0;color:var(--muted);font-size:12px}
.air-range-switcher{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.air-range-switcher a{padding:8px 12px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:700;background:#17181a}
.air-range-switcher a.is-active{background:var(--orange);color:#fff}
.air-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:90%;margin:0 auto;padding:0 0 14px}
.air-kpi{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-height:90px}
.air-kpi>span,.air-snapshot-grid span{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.13em}
.air-kpi strong{display:block;margin:7px 0 4px;font:25px Georgia,serif}
.air-kpi small{color:#77716c;font-size:8px}.air-kpi-orange{border-top:2px solid var(--orange)}
.air-snapshot-grid{width:90%;margin:0 auto 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.air-snapshot-grid>div{padding:10px 14px;border:1px solid #292b2f;border-radius:9px;background:#151617}
.air-snapshot-grid strong{display:block;margin-top:6px;color:var(--teal);font:18px Georgia,serif}
.air-map-panel,.air-data-panel,.air-contact-panel{margin:0 28px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.air-panel-heading{padding:17px 18px 10px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px}
.air-panel-kicker{color:var(--orange)!important;font-size:9px;font-weight:800;letter-spacing:.18em}
.air-panel-heading h3{margin:5px 0 0;font:19px Georgia,serif;color:var(--teal)!important}
.air-panel-heading>span{color:var(--muted);font-size:9px}
.air-world-map{min-height:260px;width:100%;background:#191a1c}
.air-map-empty{padding:110px 20px;text-align:center;color:var(--muted);font-size:12px}
.air-country-grid{padding:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.air-country{padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:#151617;display:flex;justify-content:space-between;gap:10px}
.air-country span{color:#c8c3bd;font-size:11px}.air-country strong{color:var(--teal)}
.air-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 28px}
.air-two-col .air-data-panel{margin:0 0 20px}
.air-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 28px}
.air-three-col .air-data-panel{margin:0 0 20px}
.air-data-list{border-top:1px solid #2b2d30}
.air-data-row{padding:9px 16px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #27292c;font-size:11px}
.air-data-row span{color:#c8c3bd;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.air-data-row strong{color:var(--teal)}
.air-empty-row{padding:25px;text-align:center;color:var(--muted);font-size:11px}
.air-contact-breakdown{padding:5px 17px 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.air-contact-type{padding:12px;border:1px solid #2f3134;border-radius:8px;background:#151617}
.air-contact-type strong{display:block;font:22px Georgia,serif;color:var(--orange)}
.air-contact-type span{display:block;margin-top:6px;color:#aaa49f;font-size:9px}
.air-bottom-kicker{color:var(--orange)!important}
.air-analytics-note{margin:0 28px 20px;padding:12px 14px;border:1px solid #34363a;border-radius:9px;background:#151617;color:#8f8a85;font-size:10px;line-height:1.5}
.air-analytics-note strong{color:#cfc9c3}
.air-analytics-footer{padding:13px 28px;display:flex;justify-content:space-between;background:#17181a;border-top:1px solid #2d2f32;color:#77716d;font-size:9px}
.air-analytics-access{padding:18px;border:1px solid #ddd;border-radius:8px}
@media(max-width:900px){.air-kpi-grid{grid-template-columns:repeat(2,1fr);width:94%}.air-snapshot-grid{grid-template-columns:repeat(2,1fr);width:94%}.air-country-grid{grid-template-columns:repeat(2,1fr)}.air-two-col,.air-three-col{grid-template-columns:1fr}.air-contact-breakdown{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.air-analytics-title-row{flex-direction:column;align-items:flex-start}.air-kpi-grid,.air-snapshot-grid{grid-template-columns:1fr;width:auto;margin-left:16px;margin-right:16px}.air-country-grid{grid-template-columns:1fr}.air-two-col,.air-three-col{grid-template-columns:1fr;padding:0 16px}.air-contact-breakdown{grid-template-columns:1fr}.air-map-panel,.air-data-panel,.air-contact-panel{margin-left:16px;margin-right:16px}}

.air-map-empty strong{display:block;color:#cfc9c3;margin-bottom:8px}
.air-map-empty span{display:block;max-width:760px;margin:0 auto;line-height:1.5}
.air-map-empty small{display:block;margin-top:8px;color:#706b67}
.air-ga4-settings-link{display:inline-block;margin-top:12px;padding:7px 10px;border:1px solid var(--teal);border-radius:7px;color:var(--teal)!important;text-decoration:none;font-weight:700}

.air-heatmap-wrap{margin:4px 0 20px}.air-heatmap-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}.air-heatmap-label{color:#a9a3a0;font-size:10px;font-weight:800;letter-spacing:.14em}.air-heatmap-scale{display:flex;align-items:center;gap:5px;color:#77716e;font-size:9px;white-space:nowrap}.air-heatmap-scale i{width:14px;height:7px;display:inline-block;border-radius:2px;border:1px solid rgba(255,255,255,.07)}.air-heatmap-scale .h1{background:rgba(0,200,190,.24)}.air-heatmap-scale .h2{background:rgba(0,200,190,.40)}.air-heatmap-scale .h3{background:rgba(0,200,190,.58)}.air-heatmap-scale .h4{background:rgba(0,200,190,.77)}.air-heatmap-scale .h5{background:#00c8be}.air-heatmap-stage{position:relative;width:100%;overflow:hidden;border:1px solid #2c3033;border-radius:12px;background:#101315}.air-heatmap-svg{display:block;width:100%;height:auto;min-height:245px;max-height:420px}.air-map-ocean{fill:#101315}.air-map-country{fill:#222629;stroke:#343a3d;stroke-width:.55;vector-effect:non-scaling-stroke;transition:fill .18s ease,filter .18s ease,stroke .18s ease;outline:none}.air-map-marker{stroke-width:1.1}.air-map-country.air-country-active{cursor:pointer;stroke:#596366}.air-map-country.air-country-active:hover,.air-map-country.air-country-active:focus{stroke:#d8ffff;stroke-width:1.15;filter:brightness(1.18)}.air-map-country.air-heat-1{fill:#155b59}.air-map-country.air-heat-2{fill:#0b7772}.air-map-country.air-heat-3{fill:#07938c}.air-map-country.air-heat-4{fill:#03aaa2}.air-map-country.air-heat-5{fill:#00c8be}.air-map-tooltip{position:absolute;z-index:5;min-width:130px;pointer-events:none;padding:8px 10px;border:1px solid #3b4548;border-radius:8px;background:rgba(12,15,17,.96);box-shadow:0 8px 22px rgba(0,0,0,.35);color:#fff;font-size:10px}.air-map-tooltip strong{display:block;margin-bottom:3px;font-size:11px}.air-map-tooltip span{color:#00c8be;font-weight:700}.air-country-grid{margin-top:18px}@media(max-width:700px){.air-heatmap-title-row{align-items:flex-start;flex-direction:column}.air-heatmap-scale{white-space:normal}.air-heatmap-svg{min-height:185px}}

.air-map-country.air-country-active{filter:drop-shadow(0 0 1px rgba(0,200,190,.18))}


/* v1.2.8 — CONTENT trend line chart */
.air-content-chart-panel{overflow:hidden}
.air-content-line-chart{
  width:100%;
  min-height:286px;
  padding:12px 14px 4px;
  box-sizing:border-box;
}
.air-content-chart-svg{
  display:block;
  width:100%;
  height:auto;
  min-height:270px;
  overflow:visible;
}
.air-content-gridline{
  stroke:#2b3033;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.air-content-y-label,
.air-content-x-label,
.air-content-axis-title{
  fill:#8f8a86;
  font-size:10px;
}
.air-content-x-label{
  fill:#bcb7b2;
  font-size:9px;
}
.air-content-axis-title{
  fill:#77716e;
  font-size:9px;
  letter-spacing:.04em;
}
.air-content-line{
  fill:none;
  stroke:#00c8be;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 4px rgba(0,200,190,.18));
}
.air-content-point circle{
  fill:#111517;
  stroke:#00c8be;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
  transition:r .15s ease,fill .15s ease;
}
.air-content-point:hover circle,
.air-content-point:focus circle{
  r:7;
  fill:#00c8be;
}
.air-content-point{
  outline:none;
  cursor:default;
}
.air-content-value{
  fill:#00c8be;
  font-size:10px;
  font-weight:800;
}
.air-chart-empty{
  min-height:285px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8f8a86;
  font-size:12px;
}
@media(max-width:700px){
  .air-content-line-chart{overflow-x:auto}
  .air-content-chart-svg{min-width:680px}
}


/* v1.2.9 — wider analytics canvas + expanded Content Trend */
.air-analytics-shell{
  width:125%;
  max-width:none;
  position:relative;
  left:50%;
  transform:translateX(-50%);
}

/* CONTENT was 50% of this row. It is now 25% (= half its old width);
   CONTENT TREND receives the remaining 75%. */
.air-content-trend-layout{
  grid-template-columns:minmax(250px,1fr) minmax(0,3fr);
}
.air-content-list-panel{
  min-width:0;
}
.air-content-chart-panel{
  min-width:0;
}
.air-content-chart-panel .air-content-chart-svg{
  width:100%;
}

/* Keep the dashboard usable on narrower screens instead of forcing the 25/75 split. */
@media(max-width:1100px){
  .air-analytics-shell{
    width:100%;
    left:auto;
    transform:none;
  }
  .air-content-trend-layout{
    grid-template-columns:1fr;
  }
}


/* v1.2.11 — wrapped Content Trend X-axis labels */
.air-content-x-label{
  font-size:8px;
  letter-spacing:-0.01em;
}
