html { --normstudio-analytics-space: 0px; }
body.normstudio-analytics-open { padding-bottom: var(--normstudio-analytics-space); }
html:has(body.normstudio-analytics-open) { scroll-padding-bottom: var(--normstudio-analytics-space); }
.normstudio-analytics-panel[hidden], .normstudio-analytics-panel [hidden] { display: none; }
.normstudio-analytics-panel {
  position: fixed; z-index: 1000; inset: auto 16px max(12px, env(safe-area-inset-bottom));
  box-sizing: border-box; width: auto; max-width: 1050px; margin: 0 auto; padding: 20px 24px;
  display: flex; align-items: center; gap: 24px; max-height: calc(100dvh - 80px); overflow: auto;
  color: #f7f5fb; background: #1c2030; border: 1px solid #73778a; border-radius: 12px;
  box-shadow: 0 12px 40px #0005; font: 14px/1.5 "Segoe UI", Arial, sans-serif;
}
.normstudio-analytics-copy { flex: 1 1 550px; min-width: 0; }
.normstudio-analytics-panel h2 { color: #fff; font: 600 18px/1.3 "Segoe UI", Arial, sans-serif; margin: 0 0 7px; letter-spacing: 0; }
.normstudio-analytics-panel p { color: #e0dfeb; margin: 0; }
.normstudio-analytics-panel .normstudio-analytics-status { margin-top: 8px; color: #ddd1fb; }
.normstudio-analytics-policy { display: inline-block; min-height: 30px; padding-top: 7px; color: #e1d8f8; text-decoration: underline; }
.normstudio-analytics-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; flex: 0 1 330px; }
.normstudio-analytics-action, .normstudio-analytics-close {
  box-sizing: border-box; flex: 1 1 130px; min-height: 46px; padding: 11px 13px;
  color: #fff; background: #363b50; border: 1px solid #aea7c2; border-radius: 7px;
  font: 600 14px/1.35 "Segoe UI", Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.normstudio-analytics-action:hover, .normstudio-analytics-close:hover { background: #474d66; }
.normstudio-analytics-action:disabled { cursor: default; opacity: .5; }
.normstudio-analytics-close { flex-basis: 100%; }
.normstudio-analytics-panel :is(button,a):focus-visible, .normstudio-analytics-preferences:focus-visible { outline: 3px solid #dbcbff; outline-offset: 3px; }
.normstudio-analytics-preferences {
  display: inline-block; min-height: 44px; margin-top: 12px; padding: 5px 0; color: inherit;
  background: transparent; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: 13px;
  line-height: 1.4; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer;
}
@media (max-width: 700px) {
  .normstudio-analytics-panel { inset-inline: 10px; padding: 16px; gap: 12px; flex-direction: column; align-items: stretch; }
  .normstudio-analytics-copy, .normstudio-analytics-actions { flex-basis: auto; }
  .normstudio-analytics-action { flex-basis: 100px; }
}
@media (prefers-reduced-motion: reduce) { .normstudio-analytics-panel { scroll-behavior: auto; } }
