.analytics-consent {
  position: fixed;
  right: auto;
  bottom: 1.5rem;
  left: 50%;
  z-index: 2500;
  width: min(46rem, calc(100vw - 3rem));
  padding: 1.5rem;
  border: 1px solid #dce5e1;
  border-radius: 1.1rem;
  background: #fff;
  color: #173435;
  box-shadow: 0 24px 72px rgba(10, 43, 44, .3);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  transform: translateX(-50%);
}

.analytics-consent form {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(15.5rem, .75fr);
  gap: 1.5rem;
  align-items: center;
}

.analytics-consent p { margin: 0; line-height: 1.5; }
.analytics-consent-title { margin-bottom: .45rem !important; font-size: 1.2rem; font-weight: 800; letter-spacing: -.01em; }
.analytics-consent-title + p { color: #526866; font-size: .96rem; }
.analytics-consent-copy a {
  display: inline-block;
  margin-top: .55rem;
  color: #0f5b55;
  font-size: .9rem;
  font-weight: 700;
  text-underline-offset: .18rem;
}
.analytics-consent-actions { display: flex; flex-direction: column; gap: .65rem; }
.analytics-consent button {
  min-height: 3rem;
  padding: .7rem 1rem;
  border: 2px solid #0f5b55;
  border-radius: .65rem;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
.analytics-consent-primary {
  order: -1;
  background: #0f5b55;
  color: #fff;
  box-shadow: 0 8px 20px rgba(15, 91, 85, .24);
}
.analytics-consent-primary:hover { background: #0b4b46; border-color: #0b4b46; transform: translateY(-1px); }
.analytics-consent-secondary { background: #fff; color: #0f5b55; }
.analytics-consent-secondary:hover { background: #eef6f4; }
.analytics-consent button:focus-visible,
.analytics-consent-copy a:focus-visible { outline: 3px solid #f47d60; outline-offset: 3px; }
.footer-consent-link,
.app-sidebar-footer [data-analytics-consent-open] {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .analytics-consent button { transition: none; }
}

@media (max-width: 700px) {
  .analytics-consent {
    bottom: 1rem;
    width: min(36rem, calc(100vw - 2rem));
    padding: 1.2rem;
  }
  .analytics-consent form { grid-template-columns: 1fr; gap: 1rem; }
  .analytics-consent-actions { align-items: stretch; }
}
