/* Consent manager styles. Self-contained so it looks the same on the site and in the app. */
.ck-banner, .ck-overlay { --ck-bg: #ffffff; --ck-text: #0c1a36; --ck-muted: #55658a; --ck-border: #dbe3f1; --ck-navy: #0f2a5c; --ck-on-navy: #ffffff; font: 15px/1.5 Inter, system-ui, sans-serif; color: var(--ck-text); }
@media (prefers-color-scheme: dark) {
  .ck-banner, .ck-overlay { --ck-bg: #101d3b; --ck-text: #e6ecfa; --ck-muted: #9db0d4; --ck-border: #1f2f55; --ck-navy: #6ea0ff; --ck-on-navy: #06122b; }
}
.ck-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; max-width: 760px; margin: 0 auto; display: flex; gap: 1rem 1.5rem; align-items: center; flex-wrap: wrap; justify-content: space-between; background: var(--ck-bg); border: 1px solid var(--ck-border); border-radius: 14px; padding: 1rem 1.2rem; box-shadow: 0 18px 40px -16px rgba(8, 21, 48, 0.45); }
.ck-banner p { margin: 0; flex: 1 1 320px; }
.ck-banner a { color: inherit; text-decoration: underline; }
.ck-actions { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
/* Accept and Reject are deliberately styled the same: rejecting must be as easy as accepting. */
.ck-btn { min-width: 7rem; padding: 0.55rem 1.1rem; border: 1px solid var(--ck-border); border-radius: 10px; background: transparent; color: var(--ck-text); font: 600 0.9rem Inter, system-ui, sans-serif; cursor: pointer; }
.ck-btn:hover { border-color: var(--ck-muted); }
.ck-btn.ck-primary { background: var(--ck-navy); border-color: var(--ck-navy); color: var(--ck-on-navy); }
.ck-link { background: none; border: none; padding: 0.4rem; color: var(--ck-text); text-decoration: underline; font: inherit; cursor: pointer; }
.ck-overlay { position: fixed; inset: 0; z-index: 1001; background: rgba(8, 21, 48, 0.55); display: grid; place-items: center; padding: 16px; }
.ck-dialog { background: var(--ck-bg); border: 1px solid var(--ck-border); border-radius: 16px; width: 100%; max-width: 560px; max-height: 90vh; overflow: auto; padding: 1.4rem 1.5rem; }
.ck-dialog h2 { margin: 0 0 0.6rem; font: 700 1.25rem Sora, system-ui, sans-serif; }
.ck-h { margin: 1.1rem 0 0.4rem; font: 600 0.95rem Sora, system-ui, sans-serif; }
.ck-body p { margin: 0 0 0.7rem; }
.ck-list { margin: 0 0 0.8rem; padding-left: 1.1rem; color: var(--ck-muted); }
.ck-list strong { color: var(--ck-text); font-family: ui-monospace, monospace; font-size: 0.85rem; }
.ck-row { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.55rem 0; border-top: 1px solid var(--ck-border); cursor: pointer; }
.ck-row input { margin-top: 0.3rem; accent-color: var(--ck-navy); }
.ck-desc { display: block; color: var(--ck-muted); font-size: 0.9rem; }
.ck-note { color: var(--ck-muted); font-size: 0.9rem; }
.ck-dialog .ck-actions { justify-content: flex-end; margin-top: 1rem; }
.ck-footer-link { background: none; border: none; padding: 0; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
.ck-footer-link:hover { text-decoration: underline; }
