/* cookie consent popup (shared by the wiki and the dashboard) */
.cc { position: fixed; z-index: 1000; left: 16px; right: 16px; bottom: 16px; display: flex; justify-content: center; pointer-events: none; }
.cc-card { pointer-events: auto; width: min(560px, 100%); background: #1d222d; color: #e7e9f0; border: 1px solid #3c4459; border-radius: 10px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55); padding: 18px 20px; font: 14px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.cc-card h2 { margin: 0 0 6px; font-size: 16px; color: #e7e9f0; text-transform: none; letter-spacing: 0; font-weight: 700; }
.cc-card p { margin: 0 0 12px; color: #c4c8d4; }
.cc-card a { color: #5b8def; }
.cc-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.cc-buttons button { flex: 1 1 140px; padding: 9px 14px; border-radius: 6px; font: 600 13px system-ui, sans-serif; cursor: pointer;
  background: #262c3a; color: #e7e9f0; border: 1px solid #3c4459; }
.cc-buttons button:hover { border-color: #5b8def; }
.cc-buttons button[data-cc="accept"], .cc-buttons button[data-cc="reject"] { background: #262c3a; } /* equal weight on purpose */
.cc-buttons button[data-cc="save"] { background: #5b8def; color: #0b1020; border-color: #5b8def; }
.cc-buttons .cc-link { flex: 1 1 100%; background: none; border-color: transparent; color: #5b8def; }
.cc-panel { display: grid; gap: 10px; margin: 0 0 14px; }
.cc-panel[hidden] { display: none; }
.cc-row { display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: start; cursor: pointer; }
.cc-row em { font-style: normal; font-size: 11px; color: #868c9c; }
.cc-muted { color: #868c9c; font-size: 13px; }
.cc-switch { position: relative; width: 36px; height: 20px; margin-top: 2px; }
.cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.cc-switch span { position: absolute; inset: 0; background: #3c4459; border-radius: 999px; transition: background .15s; }
.cc-switch span::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #e7e9f0; transition: transform .15s; }
.cc-switch input:checked + span { background: #4fbf67; }
.cc-switch input:checked + span::after { transform: translateX(16px); }
.cc-switch input:disabled + span { opacity: .6; }
.cc-switch input:focus-visible + span { outline: 2px solid #5b8def; outline-offset: 2px; }
@media (max-width: 480px) { .cc { left: 8px; right: 8px; bottom: 8px; } .cc-card { padding: 14px; } }
footer .linkish { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.cc-foot { text-align: center; padding: 18px 16px 24px; font-size: 12px; color: #868c9c; }
.cc-foot a { color: #868c9c; }
