.utrk-banner {
  --utrk-accent: #1d4ed8;
  --utrk-bg: #ffffff;
  --utrk-fg: #111827;
  --utrk-muted: #4b5563;
  --utrk-border: #e5e7eb;
  position: fixed;
  z-index: 2147483000;
  inset: auto 16px 16px 16px;
  max-width: min(var(--utrk-width, 560px), calc(100vw - 32px));
  margin-inline: auto;
  background: var(--utrk-bg);
  color: var(--utrk-fg);
  border: 1px solid var(--utrk-border);
  border-radius: var(--utrk-radius, 12px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  font: var(--utrk-font-size, 15px)/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.utrk-banner--bottom-left { inset: auto auto 16px 16px; margin: 0; }
.utrk-banner--bottom-center { inset: auto 16px 16px; margin-inline: auto; }
.utrk-banner--bottom-right { inset: auto 16px 16px auto; margin: 0; }
.utrk-banner--top-left { inset: 16px auto auto 16px; margin: 0; }
.utrk-banner--top-center { inset: 16px 16px auto; margin-inline: auto; }
.utrk-banner--top-right { inset: 16px 16px auto auto; margin: 0; }
@media (prefers-color-scheme: dark) {
  .utrk-banner {
    --utrk-bg: #1f2937;
    --utrk-fg: #f9fafb;
    --utrk-muted: #d1d5db;
    --utrk-border: #374151;
  }
}
.utrk-banner[hidden],
.utrk-reopen[hidden],
.utrk-banner [hidden] { display: none !important; }

.utrk-banner__inner { padding: 20px; }
.utrk-banner__title { margin: 0 0 6px; font-size: 17px; font-weight: 600; }
.utrk-banner__text { margin: 0 0 14px; color: var(--utrk-muted); }

.utrk-banner__prefs { display: grid; gap: 10px; margin: 0 0 14px; }
.utrk-banner__pref { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.utrk-banner__pref input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--utrk-accent); flex: none; }
.utrk-banner__pref small { display: block; color: var(--utrk-muted); font-size: 13px; }

.utrk-banner__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.utrk-btn {
  flex: 1 1 auto;
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid var(--utrk-accent);
  border-radius: var(--utrk-button-radius, 8px);
  background: transparent;
  color: var(--utrk-fg);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.utrk-btn--primary { background: var(--utrk-accent); color: var(--utrk-button-text, #fff); }
.utrk-banner--buttons-stack .utrk-banner__actions { flex-direction: column; }
.utrk-banner--buttons-stack .utrk-btn { width: 100%; }
.utrk-btn:hover { filter: brightness(1.08); }
.utrk-btn:focus-visible { outline: 3px solid var(--utrk-accent); outline-offset: 2px; }
.utrk-reopen:focus-visible { outline: 3px solid #111827; outline-offset: 3px; }

.utrk-banner__links { margin: 12px 0 0; font-size: 13px; display: flex; gap: 16px; }
.utrk-banner__links a { color: var(--utrk-muted); }
.utrk-banner__links a:focus-visible { outline: 2px solid var(--utrk-accent); outline-offset: 3px; }

.utrk-reopen {
  position: fixed;
  z-index: 2147482999;
  left: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--utrk-reopen-bg, #111827);
  color: var(--utrk-reopen-fg, #fff);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  opacity: 0.85;
}
.utrk-reopen--right { left: auto; right: 16px; }
.utrk-reopen:hover { opacity: 1; }

@media (max-width: 480px) {
  .utrk-banner--bottom-left,
  .utrk-banner--bottom-center,
  .utrk-banner--bottom-right { inset: auto 8px 8px; max-width: calc(100vw - 16px); }
  .utrk-banner--top-left,
  .utrk-banner--top-center,
  .utrk-banner--top-right { inset: 8px 8px auto; max-width: calc(100vw - 16px); }
  .utrk-banner__inner { padding: 16px; }
}
