/* ============================================================
   Analytics — elevated inventory intelligence surface
   Scoped to #pg-analytics. Keeps app tokens (--acc, --grn, --amb,
   --red, --ink*, --bdr) while borrowing the best of two references:
   modular light cards + clinical polish (colored metrics, soft
   glass chrome, sparklines, live status, richer chart presence).
   ============================================================ */

#pg-analytics{
  --anx-surface:#ffffff;
  --anx-surface-2:#f7fafc;
  --anx-surface-3:rgba(248,251,255,.88);
  --anx-line:rgba(219,231,243,.9);
  --anx-line-strong:#c7d7ea;
  --anx-shadow:0 1px 2px rgba(15,23,42,.03),0 10px 28px rgba(15,23,42,.045);
  --anx-shadow-hover:0 8px 28px rgba(15,23,42,.08);
  --anx-radius:20px;
  --anx-radius-sm:12px;
  --anx-gap:18px;
  --anx-glow:rgba(37,99,235,.07);
  position:relative;
  min-height:100%;
  isolation:isolate;
}

#pg-analytics::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 70% 42% at 8% -8%, rgba(37,99,235,.09), transparent 55%),
    radial-gradient(ellipse 50% 36% at 96% 4%, rgba(15,118,110,.07), transparent 50%),
    radial-gradient(ellipse 40% 30% at 70% 100%, rgba(14,165,233,.05), transparent 55%);
}

.anx{
  position:relative;
  z-index:1;
  max-width:1600px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding-bottom:36px;
  font-variant-numeric:tabular-nums;
}

.anx :focus-visible{
  outline:2px solid var(--acc);
  outline-offset:2px;
  border-radius:6px;
}

/* Soft entrance — respects reduced-motion below */
.anx-head,
.anx-filters,
.anx-kpis > *,
.anx-grid > .anx-card,
.anx > .anx-card{
  animation:anx-rise .45s cubic-bezier(.22,1,.36,1) both;
}
.anx-kpis > *:nth-child(1){animation-delay:.04s}
.anx-kpis > *:nth-child(2){animation-delay:.07s}
.anx-kpis > *:nth-child(3){animation-delay:.1s}
.anx-kpis > *:nth-child(4){animation-delay:.13s}
.anx-kpis > *:nth-child(5){animation-delay:.16s}
.anx-grid > .anx-card:nth-child(2){animation-delay:.06s}

/* ── Header ───────────────────────────────────────────────── */
.anx-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.anx-head-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.anx-live{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 11px 5px 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#166534;
  background:linear-gradient(180deg,rgba(22,163,74,.12),rgba(22,163,74,.06));
  border:1px solid rgba(22,163,74,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.anx-live-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:#16a34a;
  box-shadow:0 0 0 0 rgba(22,163,74,.45);
  animation:anx-pulse 2s ease-out infinite;
}
.anx-eyebrow{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink4);
}
.anx-head h1{
  font-size:1.95rem;
  line-height:1.12;
  font-weight:750;
  letter-spacing:-.032em;
  color:var(--ink);
}
.anx-head p{
  margin-top:6px;
  font-size:.875rem;
  color:var(--ink3);
  max-width:58ch;
  line-height:1.45;
}
.anx-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.anx-stamp{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  font-size:.76rem;
  font-weight:550;
  color:var(--ink3);
  white-space:nowrap;
  background:var(--anx-surface-3);
  border:1px solid var(--anx-line);
  border-radius:999px;
  backdrop-filter:blur(8px);
}
.anx-stamp i{color:var(--ink4);font-size:.72rem;}

/* ── Filter bar ───────────────────────────────────────────── */
.anx-filters{
  display:flex;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.86));
  border:1px solid var(--anx-line);
  border-radius:var(--anx-radius);
  box-shadow:var(--anx-shadow);
  backdrop-filter:blur(10px);
}
.anx-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.anx-field > label{
  font-size:.685rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--ink4);
}
.anx-select,
.anx-date{
  appearance:none;
  min-width:150px;
  max-width:230px;
  padding:9px 30px 9px 12px;
  font-family:var(--font);
  font-size:.85rem;
  font-weight:500;
  color:var(--ink);
  background:var(--anx-surface);
  border:1px solid var(--anx-line-strong);
  border-radius:var(--anx-radius-sm);
  cursor:pointer;
  transition:border-color var(--tr),box-shadow var(--tr),background var(--tr);
  text-overflow:ellipsis;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.anx-select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
}
.anx-date{padding-right:11px;cursor:text;}
.anx-select:hover,.anx-date:hover{border-color:var(--bdr2);background:#fff;}
.anx-select:focus,.anx-date:focus{
  outline:none;
  border-color:var(--acc);
  box-shadow:0 0 0 3px var(--acc-s);
}
.anx-custom-range{display:none;gap:10px;align-items:flex-end;}
.anx-custom-range.is-on{display:flex;}
.anx-filters-spacer{flex:1 1 auto;min-width:0;}

.anx-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 14px;
  font-family:var(--font);
  font-size:.83rem;
  font-weight:600;
  color:var(--ink2);
  background:var(--anx-surface);
  border:1px solid var(--anx-line-strong);
  border-radius:var(--anx-radius-sm);
  cursor:pointer;
  white-space:nowrap;
  transition:background var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr),transform var(--tr);
}
.anx-btn:hover{
  background:var(--anx-surface-2);
  border-color:var(--bdr2);
  color:var(--ink);
  transform:translateY(-1px);
}
.anx-btn i{font-size:.8rem;color:var(--ink3);}
.anx-btn-primary{
  background:linear-gradient(180deg,#3b82f6 0%,var(--acc) 100%);
  border-color:var(--acc);
  color:#fff;
  box-shadow:0 1px 2px rgba(37,99,235,.18),0 8px 18px rgba(37,99,235,.16);
}
.anx-btn-primary:hover{
  background:linear-gradient(180deg,var(--acc) 0%,var(--acc2) 100%);
  border-color:var(--acc2);
  color:#fff;
}
.anx-btn-primary i{color:rgba(255,255,255,.9);}
.anx-btn-quiet{border-color:transparent;background:transparent;color:var(--ink3);box-shadow:none;}
.anx-btn-quiet:hover{background:var(--sur3);color:var(--ink2);transform:none;}

/* Export menu */
.anx-menu-wrap{position:relative;}
.anx-menu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:60;
  min-width:190px;
  padding:6px;
  background:var(--anx-surface);
  border:1px solid var(--anx-line-strong);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(15,23,42,.14);
  display:none;
}
.anx-menu.is-open{display:block;animation:anx-fade .14s ease;}
.anx-menu button{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  padding:9px 10px;
  font-family:var(--font);
  font-size:.84rem;
  font-weight:500;
  color:var(--ink2);
  background:none;
  border:none;
  border-radius:9px;
  cursor:pointer;
  text-align:left;
}
.anx-menu button:hover{background:var(--sur3);color:var(--ink);}
.anx-menu button[disabled]{opacity:.55;cursor:default;}
.anx-menu button[disabled]:hover{background:none;color:var(--ink2);}
.anx-menu button i{width:14px;color:var(--ink4);font-size:.82rem;}

/* ── Section rhythm ───────────────────────────────────────── */
.anx-section{display:flex;flex-direction:column;gap:14px;}
.anx-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.anx-section-head h2{
  font-size:1.02rem;
  font-weight:650;
  letter-spacing:-.015em;
  color:var(--ink);
}
.anx-section-head p{font-size:.82rem;color:var(--ink3);margin-top:2px;}

/* ── KPI cards ────────────────────────────────────────────── */
.anx-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--anx-gap);
}
.anx-kpi{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px 18px 16px;
  background:
    linear-gradient(165deg,rgba(255,255,255,.98) 0%,rgba(248,251,255,.94) 100%);
  border:1px solid var(--anx-line);
  border-radius:var(--anx-radius);
  box-shadow:var(--anx-shadow);
  overflow:hidden;
  text-align:left;
  font-family:var(--font);
  width:100%;
  transition:box-shadow var(--tr),border-color var(--tr),transform var(--tr);
}
.anx-kpi::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--anx-accent,var(--acc));
  opacity:.95;
}
.anx-kpi::after{
  content:'';
  position:absolute;
  top:-40%;right:-20%;
  width:120px;height:120px;
  border-radius:50%;
  background:radial-gradient(circle,var(--anx-glow),transparent 70%);
  pointer-events:none;
  opacity:.85;
}
button.anx-kpi{cursor:pointer;}
button.anx-kpi:hover{
  border-color:var(--anx-line-strong);
  box-shadow:var(--anx-shadow-hover);
  transform:translateY(-2px);
}
.anx-kpi-top{
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:1;
}
.anx-kpi-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:10px;
  background:var(--anx-glow);
  color:var(--anx-accent,var(--acc));
  flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.anx-kpi-ico i{font-size:.82rem;}
.anx-kpi-label{
  font-size:.76rem;
  font-weight:650;
  letter-spacing:.01em;
  color:var(--ink3);
  line-height:1.25;
}
.anx-kpi-mid{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  position:relative;
  z-index:1;
  min-height:42px;
}
.anx-kpi-value{
  font-size:1.85rem;
  font-weight:750;
  letter-spacing:-.04em;
  line-height:1;
  color:var(--anx-accent,var(--ink));
}
.anx-kpi-value small{
  font-size:.9rem;
  font-weight:600;
  color:var(--ink3);
  letter-spacing:0;
  margin-left:3px;
}
.anx-kpi-foot{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.755rem;
  color:var(--ink3);
  min-height:16px;
  position:relative;
  z-index:1;
}
.anx-delta{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-weight:700;
  white-space:nowrap;
}
.anx-delta i{font-size:.66rem;}
.anx-delta.up{color:var(--grn);}
.anx-delta.down{color:var(--red);}
.anx-delta.flat{color:var(--ink4);}
.anx-delta.neutral{color:var(--ink3);}

/* Inline sparkline beside KPI value */
.anx-spark{
  display:block;
  width:72px;
  height:32px;
  flex-shrink:0;
  overflow:visible;
  opacity:.95;
}

/* ── Cards ────────────────────────────────────────────────── */
.anx-grid{display:grid;gap:var(--anx-gap);}
.anx-grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr);}
.anx-grid-half{grid-template-columns:repeat(2,minmax(0,1fr));}

.anx-card{
  display:flex;
  flex-direction:column;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(252,254,255,.96) 100%);
  border:1px solid var(--anx-line);
  border-radius:var(--anx-radius);
  box-shadow:var(--anx-shadow);
  min-width:0;
  overflow:hidden;
  transition:box-shadow var(--tr),border-color var(--tr),transform var(--tr);
}
.anx-card:hover{
  border-color:rgba(199,215,234,.95);
  box-shadow:var(--anx-shadow-hover);
}
.anx-card-hd{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px 14px;
  flex-wrap:wrap;
  border-bottom:1px solid transparent;
  background:
    linear-gradient(180deg,rgba(248,251,255,.55),transparent 100%);
}
.anx-card-hd h3{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:-.015em;
  color:var(--ink);
}
.anx-card-hd h3 > i.anx-card-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:8px;
  font-size:.72rem;
  color:var(--acc);
  background:var(--acc-s);
}
.anx-card-hd p{margin-top:4px;font-size:.775rem;color:var(--ink3);line-height:1.4;}
.anx-card-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.anx-card-bd{padding:4px 20px 18px;flex:1;min-width:0;}
.anx-card-bd.flush{padding:0 0 4px;}
.anx-card-ft{
  padding:12px 20px;
  border-top:1px solid var(--anx-line);
  background:var(--anx-surface-2);
}

/* Info tooltip */
.anx-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;height:16px;
  border-radius:50%;
  border:1px solid var(--anx-line-strong);
  background:var(--anx-surface);
  color:var(--ink4);
  font-size:.62rem;
  font-weight:700;
  cursor:help;
  flex-shrink:0;
  transition:color var(--tr),border-color var(--tr),background var(--tr);
}
.anx-info:hover{color:var(--acc);border-color:rgba(37,99,235,.35);background:var(--acc-s);}

/* Segmented control */
.anx-seg{
  display:inline-flex;
  padding:3px;
  gap:2px;
  background:rgba(232,241,251,.9);
  border:1px solid rgba(199,215,234,.7);
  border-radius:11px;
}
.anx-seg button{
  padding:6px 12px;
  font-family:var(--font);
  font-size:.775rem;
  font-weight:600;
  color:var(--ink3);
  background:none;
  border:none;
  border-radius:8px;
  cursor:pointer;
  white-space:nowrap;
  transition:background var(--tr),color var(--tr),box-shadow var(--tr);
}
.anx-seg button:hover{color:var(--ink2);}
.anx-seg button.is-on{
  background:#fff;
  color:var(--ink);
  box-shadow:0 1px 3px rgba(15,23,42,.08);
}
.anx-seg button[disabled]{opacity:.4;cursor:not-allowed;}

/* ── Charts ───────────────────────────────────────────────── */
.anx-chart{position:relative;height:290px;}
.anx-chart-sm{height:210px;}
.anx-chart-md{height:250px;}
.anx-chart-tall{height:340px;}

/* ── Health legend ────────────────────────────────────────── */
.anx-legend{display:flex;flex-direction:column;margin-top:8px;}
.anx-legend-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0;
  border-top:1px solid var(--anx-line);
  font-size:.83rem;
}
.anx-legend-row:first-child{border-top:none;}
.anx-dot{
  display:inline-block;
  width:9px;height:9px;
  border-radius:3px;
  flex-shrink:0;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.anx-legend-row span{flex:1;color:var(--ink2);min-width:0;}
.anx-legend-row b{font-weight:700;color:var(--ink);}
.anx-legend-row em{
  font-style:normal;
  font-size:.76rem;
  font-weight:600;
  color:var(--ink4);
  min-width:38px;
  text-align:right;
}

/* ── Attention list ───────────────────────────────────────── */
.anx-alerts{display:flex;flex-direction:column;}
.anx-alert{
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  padding:14px 20px;
  background:none;
  border:none;
  border-top:1px solid var(--anx-line);
  font-family:var(--font);
  text-align:left;
  cursor:pointer;
  transition:background var(--tr);
}
.anx-alert:first-child{border-top:none;}
.anx-alert:hover{background:linear-gradient(90deg,var(--anx-surface-2),transparent);}
.anx-alert-bar{width:3px;align-self:stretch;border-radius:3px;flex-shrink:0;background:var(--ink4);}
.anx-alert-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  border-radius:11px;
  flex-shrink:0;
  background:var(--sur3);
  color:var(--ink3);
  font-size:.85rem;
}
.anx-alert-bd{flex:1;min-width:0;}
.anx-alert-bd strong{
  display:block;
  font-size:.865rem;
  font-weight:650;
  color:var(--ink);
  letter-spacing:-.01em;
}
.anx-alert-bd span{display:block;margin-top:3px;font-size:.775rem;color:var(--ink3);line-height:1.35;}
.anx-alert > i{color:var(--ink4);font-size:.78rem;transition:transform var(--tr),color var(--tr);}
.anx-alert:hover > i{color:var(--acc);transform:translateX(3px);}

/* ── Expiry risk buckets ──────────────────────────────────── */
.anx-buckets{display:flex;flex-direction:column;gap:11px;}
.anx-bucket{display:flex;align-items:center;gap:11px;font-size:.82rem;}
.anx-bucket-label{display:flex;align-items:center;gap:8px;width:110px;flex-shrink:0;color:var(--ink2);font-weight:550;}
.anx-bucket-track{
  flex:1;
  height:8px;
  border-radius:99px;
  background:rgba(232,241,251,.95);
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.anx-bucket-fill{
  display:block;
  height:100%;
  border-radius:99px;
  transition:width .45s cubic-bezier(.22,1,.36,1);
  box-shadow:0 0 0 1px rgba(255,255,255,.25) inset;
}
.anx-bucket-val{width:58px;text-align:right;font-weight:700;color:var(--ink);flex-shrink:0;}

.anx-metric{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  margin-top:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.05),rgba(15,118,110,.04));
  border:1px solid rgba(37,99,235,.12);
  border-radius:14px;
}
.anx-metric-label{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink3);font-weight:550;}
.anx-metric-value{font-size:1.12rem;font-weight:750;letter-spacing:-.025em;color:var(--acc);}

/* ── Tables ───────────────────────────────────────────────── */
.anx-table-scroll{overflow-x:auto;}
.anx-table{width:100%;border-collapse:collapse;}
.anx-table th{
  padding:10px 20px;
  font-size:.685rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--ink4);
  text-align:left;
  white-space:nowrap;
  border-bottom:1px solid var(--anx-line);
  background:linear-gradient(180deg,rgba(248,251,255,.7),transparent);
}
.anx-table td{
  padding:12px 20px;
  font-size:.845rem;
  color:var(--ink2);
  border-bottom:1px solid var(--anx-line);
  vertical-align:middle;
}
.anx-table tbody tr:last-child td{border-bottom:none;}
.anx-table tbody tr{animation:none;}
.anx-table tbody tr.is-clickable{cursor:pointer;transition:background var(--tr);}
.anx-table tbody tr.is-clickable:hover{background:linear-gradient(90deg,rgba(37,99,235,.04),transparent);}
.anx-table .num{text-align:right;font-weight:650;color:var(--ink);white-space:nowrap;}
.anx-table .anx-name{
  display:block;
  font-weight:650;
  color:var(--ink);
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.anx-table .anx-sub{font-size:.755rem;color:var(--ink4);font-weight:400;}
.anx-table .anx-name + .anx-sub{display:block;margin-top:2px;}
.anx-grid-half .anx-table .anx-name{max-width:170px;}
.anx-grid-half .anx-table th,
.anx-grid-half .anx-table td{padding-left:14px;padding-right:14px;}
.anx-grid-half .anx-table th:first-child,
.anx-grid-half .anx-table td:first-child{padding-left:20px;}
.anx-grid-half .anx-table th:last-child,
.anx-grid-half .anx-table td:last-child{padding-right:20px;}
.anx-rank{
  font-size:.76rem;
  font-weight:700;
  color:var(--ink4);
  font-variant-numeric:tabular-nums;
  width:34px;
}

/* ── Badges ───────────────────────────────────────────────── */
.anx-tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 10px;
  border-radius:999px;
  font-size:.735rem;
  font-weight:650;
  white-space:nowrap;
  border:1px solid transparent;
}
.anx-tag-neutral{background:var(--sur3);color:var(--ink3);border-color:rgba(148,163,184,.2);}
.anx-tag-info{background:var(--acc-s);color:var(--acc);border-color:rgba(37,99,235,.16);}
.anx-tag-ok{background:var(--grn-s);color:var(--grn);border-color:rgba(21,128,61,.16);}
.anx-tag-warn{background:var(--amb-s);color:var(--amb);border-color:rgba(217,119,6,.18);}
.anx-tag-danger{background:var(--red-s);color:var(--red);border-color:rgba(220,38,38,.16);}
.anx-tag-teal{background:var(--tl-s);color:var(--tl);border-color:rgba(15,118,110,.16);}

/* ── Empty / error / loading ──────────────────────────────── */
.anx-empty,.anx-error{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:38px 22px;
  text-align:center;
  min-height:130px;
}
.anx-empty i,.anx-error i{font-size:1.2rem;color:var(--ink4);opacity:.55;margin-bottom:4px;}
.anx-empty strong,.anx-error strong{font-size:.865rem;font-weight:650;color:var(--ink2);}
.anx-empty p,.anx-error p{font-size:.79rem;color:var(--ink4);max-width:38ch;line-height:1.5;}
.anx-error i{color:var(--amb);opacity:.9;}
.anx-error .anx-btn{margin-top:8px;}

.anx-skel{
  background:linear-gradient(90deg,var(--sur3) 25%,#f4f8fd 50%,var(--sur3) 75%);
  background-size:200% 100%;
  animation:anx-shimmer 1.3s linear infinite;
  border-radius:8px;
  display:block;
}
.anx-skel-line{height:11px;margin-bottom:9px;}
.anx-skel-block{height:100%;border-radius:14px;}
.anx-skel-kpi{display:flex;flex-direction:column;gap:14px;padding:20px;min-height:132px;}
.anx-skel-kpi .anx-skel:nth-child(1){width:45%;height:10px;}
.anx-skel-kpi .anx-skel:nth-child(2){width:62%;height:26px;}
.anx-skel-kpi .anx-skel:nth-child(3){width:78%;height:9px;}

@keyframes anx-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes anx-fade{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes anx-rise{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes anx-pulse{
  0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}
  70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}
  100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}
}

.anx-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:11px 14px;
  font-size:.775rem;
  line-height:1.5;
  color:var(--ink3);
  background:var(--anx-surface-2);
  border:1px solid var(--anx-line);
  border-radius:12px;
}
.anx-note i{color:var(--ink4);margin-top:2px;font-size:.75rem;}

.anx-sr{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:1440px){
  .anx-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1180px){
  .anx-grid-main,.anx-grid-half{grid-template-columns:minmax(0,1fr);}
  .anx-chart{height:260px;}
}
@media (max-width:860px){
  .anx{gap:18px;}
  .anx-head h1{font-size:1.6rem;}
  .anx-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .anx-filters{padding:12px;gap:10px;}
  .anx-select,.anx-date{min-width:0;width:100%;max-width:none;}
  .anx-field{flex:1 1 140px;}
  .anx-filters-spacer{display:none;}
  .anx-card-hd{padding:14px 16px 12px;}
  .anx-card-bd{padding:0 16px 16px;}
  .anx-table th,.anx-table td{padding:10px 16px;}
  .anx-alert{padding:12px 16px;}
  .anx-chart{height:240px;}
  .anx-chart-tall{height:280px;}
  .anx-spark{width:56px;height:28px;}
}
@media (max-width:560px){
  .anx-kpis{grid-template-columns:minmax(0,1fr);}
  .anx-head{align-items:flex-start;}
  .anx-head-actions{width:100%;}
  .anx-custom-range.is-on{width:100%;}
  .anx-table .anx-name{max-width:150px;}
  .anx-kpi-mid{flex-wrap:wrap;}
}

@media print{
  .anx-filters,.anx-head-actions,.anx-seg,.anx-live{display:none!important;}
  .anx-card,.anx-kpi{break-inside:avoid;box-shadow:none;}
  #pg-analytics::before{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .anx *,.anx-skel,.anx-live-dot{animation:none!important;transition:none!important;}
  .anx-head,.anx-filters,.anx-kpis > *,.anx-grid > .anx-card,.anx > .anx-card{opacity:1;transform:none;}
}
