.consent-manage {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--on-dark-soft);
  cursor: pointer;
  font: inherit;
  font-size: .84rem;
  min-height: 44px;
  padding: 7px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.consent-banner {
  position: fixed;
  z-index: 1000;
  right: clamp(12px, 3vw, 30px);
  bottom: calc(82px + env(safe-area-inset-bottom));
  left: clamp(12px, 3vw, 30px);
  display: grid;
  gap: 16px;
  max-width: 760px;
  margin-inline: auto;
  padding: 18px;
  border: 1px solid var(--gold-hair);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
}

.consent-banner strong,
.consent-panel h2,
.consent-option strong { color: var(--ink); }
.consent-banner p,
.consent-panel p,
.consent-option small { color: var(--ink-soft); }
.consent-banner p { margin-top: 5px; }
.consent-banner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.consent-banner-actions .btn { min-height: 44px; }
.consent-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--gold-deep);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  min-height: 44px;
  padding: 8px 10px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.consent-dialog {
  width: min(92vw, 620px);
  max-height: min(84dvh, 720px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--gold-hair);
  border-radius: 20px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow-lg);
}
.consent-dialog::backdrop { background: rgba(6, 12, 20, .72); }
.consent-panel { display: grid; gap: 16px; padding: clamp(22px, 5vw, 34px); }
.consent-close {
  justify-self: end;
  width: 44px;
  height: 44px;
  margin: -10px -10px -8px 0;
  border: 0;
  border-radius: 50%;
  background: var(--surface-2);
  color: var(--ink);
  cursor: pointer;
  font-size: 1.5rem;
}
.consent-kicker { color: var(--gold-deep) !important; font-size: .78rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.consent-option { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; min-height: 60px; padding: 14px; border: 1px solid var(--line-strong); border-radius: 12px; cursor: pointer; }
.consent-option input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--emerald); }
.consent-option span { display: grid; gap: 4px; }
.consent-option small { font-size: .86rem; }
.consent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.consent-actions a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gold-deep); font-weight: 800; }

@media (min-width: 700px) {
  .consent-banner { grid-template-columns: 1fr auto; align-items: center; bottom: 24px; }
}

@media (max-width: 430px) {
  .consent-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .consent-banner-actions .consent-link { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .consent-dialog,
  .consent-banner { scroll-behavior: auto; }
}

/* Shared, self-contained controls for all three properties. */
.consent-banner,.consent-dialog{--ink:#152535;--ink-soft:#33404a;--surface:#fff9ee;--surface-2:#eee7db;--gold-hair:#9b8251;--gold-deep:#765c28;--line-strong:#a59c8c;--emerald:#245748;color:#152535;background:#fff9ee;font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:1.55;box-sizing:border-box}
.consent-banner *,.consent-dialog *{box-sizing:border-box;opacity:1}
.consent-banner{bottom:calc(82px + env(safe-area-inset-bottom));max-height:calc(100dvh - 170px);overflow:auto}
.consent-banner-actions{display:flex;flex-wrap:wrap;gap:8px}
.consent-banner-actions button,.consent-actions button{appearance:none;background:#fff9ee;color:#152535;border:1px solid #765c28;border-radius:8px;font:inherit;font-weight:700;min-width:70px;min-height:44px;padding:9px 12px;cursor:pointer;flex:1}
.consent-banner a,.consent-dialog a{color:#654c22;text-decoration:underline;display:inline-block;min-height:24px;line-height:24px}
.consent-panel{margin:0}.consent-panel h2{font-family:Fraunces,Georgia,serif;font-size:26px;line-height:1.2;margin:0}.consent-panel p{margin:0}.consent-option input{width:24px;height:24px}.consent-manage{color:inherit;min-width:24px;min-height:44px}.tracker-table{width:100%;border-collapse:collapse;table-layout:fixed}.tracker-table th,.tracker-table td{padding:12px 8px;text-align:left;vertical-align:top;border-bottom:1px solid currentColor;overflow-wrap:anywhere;font-size:14px;line-height:1.55}
@media(max-width:430px){.consent-banner{padding:14px;gap:10px}.consent-banner-actions{display:flex}.consent-banner p{font-size:13px}.consent-option{padding:10px;gap:8px}.consent-panel{padding:20px}.tracker-table th,.tracker-table td{padding:8px 4px;font-size:12px}}

.consent-banner .consent-close { float: right; margin: 0 0 4px 8px; }
