/* Consent controls use the existing light/dark theme tokens and equal-weight actions. */
.sh-analytics-consent[hidden], .sh-analytics-preferences[hidden] { display: none !important; }
.sh-analytics-consent {
    position: fixed; z-index: 1050; bottom: 1.5rem; left: 1.5rem;
    box-sizing: border-box; width: min(28rem, calc(100vw - 3rem)); max-height: calc(100dvh - 3rem);
    overflow: auto; padding: 1.5rem; background: var(--sh-raised); color: var(--sh-ink);
    border: 1px solid var(--sh-hairline-strong); border-radius: 1rem;
    box-shadow: var(--sh-shadow-lift);
}
.sh-analytics-consent h2 { font-size: 1.125rem; line-height: 1.3; margin: 0 2rem .75rem 0; color: var(--sh-ink); }
.sh-analytics-consent p { font-size: .875rem; line-height: 1.5; margin: 0 0 1rem; color: var(--sh-muted); }
.sh-analytics-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.sh-analytics-actions button { flex: 1; min-height: 2.75rem; justify-content: center; padding: .75rem 1rem; }
.sh-analytics-close { position: absolute; top: .5rem; right: .5rem; width: 2.75rem; height: 2.75rem; font: inherit; font-size: 1.5rem; color: var(--sh-ink); border: 0; border-radius: .5rem; background: var(--sh-raised); cursor: pointer; }
.sh-analytics-consent .sh-analytics-status { margin: 1rem 0 0; font-size: .8125rem; }
.sh-analytics-preferences { margin: .75rem 0; padding: .5rem .75rem; font: inherit; font-size: .8125rem; color: var(--sh-muted); background: var(--sh-surface); border: 1px solid var(--sh-hairline-strong); border-radius: .5rem; cursor: pointer; }
.sh-analytics-consent button:focus-visible, .sh-analytics-preferences:focus-visible { outline: 3px solid var(--sh-cyan-ink); outline-offset: 3px; }
@media (max-width: 480px) {
    .sh-analytics-consent { left: 1rem; bottom: 1rem; padding: 1.25rem; width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); }
}
