.analytics-banner {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 12px max(16px, env(safe-area-inset-left));
  background: #141c3b;
  color: #f2eee5;
  border-bottom: 1px solid #3b4562;
  font: 14px/1.5 Inter, system-ui, sans-serif;
}
.analytics-banner[hidden] { display: none; }
.analytics-banner h2 { margin: 0; color: inherit; font: 600 16px/1.5 Inter, system-ui, sans-serif; }
.analytics-banner p { margin: 2px 0 0; max-width: 76ch; }
.analytics-banner a { display: inline-flex; align-items: center; min-height: 44px; color: #edc778; text-decoration: underline; }
.analytics-actions { display: flex; flex-shrink: 0; gap: 8px; }
.analytics-actions button {
  min-width: 88px;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid #c1c5d5;
  border-radius: 10px;
  background: #10162e;
  color: #f2eee5;
  cursor: pointer;
  font: 600 14px/1.5 Inter, system-ui, sans-serif;
}
.analytics-banner :focus-visible, .cookie-settings:focus-visible { outline: 3px solid #edc778; outline-offset: 3px; }
.cookie-settings {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-decoration: underline;
}
body:has(> .app-shell) { display: flex; flex-direction: column; }
body > .app-shell { flex: 1; min-height: 0; }
@media (max-width: 600px) {
  .analytics-banner { align-items: flex-start; flex-direction: column; gap: 4px; padding-block: 10px; }
  .analytics-actions { width: 100%; }
  .analytics-actions button { flex: 1; }
}
