/* Feedwatch Design System 1.4. Keine externen Schrift- oder Trackinganfragen. */
:root { --fw-ink:#000; --fw-muted:#505b59; --fw-teal:#79e8d9; --fw-line:#96eae2; --fw-card:#f9fcfb; --fw-link:#086d77; }
* { box-sizing:border-box; }
body { margin:0; color:var(--fw-ink); background:linear-gradient(135deg,#eef0f0,#dbf2ee); font:16px/1.6 Inter,system-ui,sans-serif; min-height:100vh; }
h1,h2,h3 { font-family:Poppins,Inter,system-ui,sans-serif; line-height:1.2; letter-spacing:-.02em; }
h1 { font-size:clamp(30px,5vw,48px); font-weight:800; }
h2 { font-size:24px; } p { margin:12px 0; }
a { color:var(--fw-link); text-decoration:underline; text-underline-offset:3px; }
button,.primary-link { border:1px solid #000; border-radius:999px; padding:12px 20px; font:600 14px/1.4 Inter,system-ui,sans-serif; cursor:pointer; background:transparent; color:#000; }
.primary,.primary-link { background:#000; color:#fff; text-decoration:none; display:inline-block; text-align:center; }
button:disabled { opacity:.45; cursor:default; }
button:hover:not(:disabled) { box-shadow:0 0 0 2px var(--fw-line); }
:focus-visible { outline:3px solid #086d77; outline-offset:4px; }
[hidden] { display:none!important; }
.brand { display:flex; align-items:center; gap:12px; font-size:20px; font-weight:700; }
.brand img { width:44px; height:44px; object-fit:contain; }
.eyebrow { text-transform:uppercase; font-size:12px; letter-spacing:.12em; font-weight:600; }
.card { background:var(--fw-card); border:1px solid #cde7e2; border-radius:28px; padding:32px; box-shadow:0 12px 40px #309d9710; }
.notice { background:#e5f6f4; border-left:3px solid var(--fw-line); padding:16px; border-radius:0 12px 12px 0; font-size:14px; }
.muted { color:var(--fw-muted); font-size:13px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
summary { cursor:pointer; font-weight:600; }
details { padding:16px; margin:12px 0; border:1px solid #cde7e2; border-radius:20px; background:var(--fw-card); }
#status { min-height:1.6em; font-size:14px; }
@media(max-width:520px) { .card { padding:24px; } }
#consent-controls { margin-top:24px; padding:20px; }
#consent-controls h2 { font-size:19px; }
#consent-controls h3 { font-size:16px; margin-top:24px; }
#consent-controls p,#consent-controls label { font-size:13px; line-height:1.6; }
#consent-controls label { display:block; margin:12px 0; }
#consent-controls button { margin:8px 0; font-size:12px; }
#profile-consent input,#consent-controls input { accent-color:#309d97; }
