/* Optional analytics uses the existing Squeekly type, surfaces and native controls. */
.consent-panel {
  position: fixed;
  z-index: 1200;
  inset-inline: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(680px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  margin-inline: auto;
  padding: 24px;
  border: 1px solid var(--muted-foreground);
  border-radius: 16px;
  background: var(--background);
  color: var(--foreground);
  box-shadow: 0 8px 32px rgb(0 0 0 / 0.15);
  font-family: var(--font-ui);
}
.consent-panel[hidden], .consent-panel [hidden] { display: none !important; }
.consent-panel h2 { margin: 0 0 12px; font-size: 1.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; }
.consent-panel p { margin: 0 0 12px; font-size: 0.9375rem; line-height: 1.55; }
.consent-panel a { color: var(--foreground); text-decoration: underline; text-underline-offset: 4px; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.consent-panel button, .consent-settings {
  min-height: 44px;
  font: inherit;
  cursor: pointer;
  color: var(--foreground);
}
.consent-choice {
  flex: 1 1 180px;
  padding: 12px 16px;
  border: 1px solid var(--foreground);
  border-radius: 12px;
  background: var(--surface);
  font-weight: 600;
  text-align: center;
}
.consent-choice:hover { background: var(--surface-muted); }
.consent-choice:disabled { cursor: not-allowed; opacity: 0.6; }
.consent-panel .consent-note { margin: 12px 0 0; font-size: 0.8125rem; color: var(--muted-foreground); }
.consent-close, .consent-settings { border: 0; padding: 10px 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.consent-close { flex-basis: 100%; text-align: start; }
.consent-panel :focus-visible, .consent-settings:focus-visible { outline: 3px solid var(--foreground); outline-offset: 4px; }
@media (max-width: 480px) {
  .consent-panel { padding: 20px; }
  .consent-choice { flex-basis: 100%; }
}
