/* RV Gesetzgebungs-Monitor – neutrale Gestaltung, erbt Schrift und Grundfarben vom Theme */
.rvgm{--rvgm-line:#d0d7de;--rvgm-bg:#f6f8fa;--rvgm-card:#fff;--rvgm-text:inherit;--rvgm-muted:#555;--rvgm-ok:#0a7a4a;--rvgm-warn:#9a5b00;--rvgm-acc:#0b4f8a;--rvgm-radius:10px;--rvgm-onacc:#fff;--rvgm-acc2:#0f6b4f;--rvgm-onacc2:#fff;margin:1.5rem 0;color:var(--rvgm-text)}
.rvgm *{box-sizing:border-box}
.rvgm-filter{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;position:sticky;top:0;z-index:5;background:var(--rvgm-card);padding:.6rem 0;border-bottom:1px solid var(--rvgm-line)}
.rvgm-search{flex:1 1 320px}
.rvgm-search input{width:100%;padding:.6rem .8rem;font-size:1rem;border:1px solid var(--rvgm-line);border-radius:6px;background:var(--rvgm-card);color:var(--rvgm-text)}
.rvgm-filter select{background:var(--rvgm-card);color:var(--rvgm-text);padding:.55rem .6rem;border:1px solid var(--rvgm-line);border-radius:6px;max-width:100%}
.rvgm-check{display:flex;gap:.35rem;align-items:center;font-size:.9rem}
.rvgm-reset{padding:.5rem .8rem;border:1px solid var(--rvgm-line);background:var(--rvgm-bg);border-radius:6px;cursor:pointer}
.rvgm-count{margin:.6rem 0;color:var(--rvgm-muted);font-size:.9rem}
.rvgm-cards{display:grid;gap:1.2rem}
.rvgm-card{border:1px solid var(--rvgm-line);border-radius:var(--rvgm-radius);padding:1.1rem 1.3rem;background:var(--rvgm-card)}
.rvgm-card[hidden]{display:none}
.rvgm-card h3{margin:0 0 .2rem;font-size:1.25rem}
.rvgm-card h4{margin:1.1rem 0 .4rem;font-size:1rem;color:var(--rvgm-acc)}
.rvgm-sub{margin:.1rem 0 .5rem;color:var(--rvgm-muted);font-size:.92rem}
.rvgm-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .8rem}
.rvgm-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;background:var(--rvgm-bg);border:1px solid var(--rvgm-line)}
.rvgm-st-in_kraft,.rvgm-st-verkuendet{background:#e6f6ee;border-color:#9bd5b7}
.rvgm-st-beschlossen{background:#eef6ff;border-color:#a9cbee}
.rvgm-st-in_beratung,.rvgm-st-vorbereitung{background:#fff6dd;border-color:#e6cd7c}
.rvgm-st-gescheitert{background:#fdeaea;border-color:#e5a3a3}
.rvgm-st-entwurf{background:#f1ecff;border-color:#c5b6f0}
.rvgm-ok{color:var(--rvgm-ok)}
.rvgm-warn,.rvgm-warn-text{color:var(--rvgm-warn)}
.rvgm-new{background:var(--rvgm-acc);color:var(--rvgm-onacc);border-color:var(--rvgm-acc)}
.rvgm-az ul,.rvgm-more ul{list-style:none;margin:0;padding:0}
.rvgm-az li,.rvgm-more li{padding:.15rem 0}
.rvgm-az li span,.rvgm-more li span{display:inline-block;min-width:9.5em;color:var(--rvgm-muted);font-size:.88rem}
.rvgm-small{font-size:.78rem;color:var(--rvgm-muted);margin:.4rem 0 0}
.rvgm-chain{margin:.9rem 0;padding:.7rem .9rem;background:var(--rvgm-bg);border-left:4px solid var(--rvgm-acc);border-radius:4px}
.rvgm-chain-flow{margin-top:.3rem;line-height:1.9}
.rvgm-chain a.rvgm-current{font-weight:700;text-decoration:none;color:inherit;border-bottom:2px solid var(--rvgm-acc)}
.rvgm-timeline{list-style:none;margin:.3rem 0 0;padding:0 0 0 1.1rem;border-left:2px solid var(--rvgm-line)}
.rvgm-timeline li{position:relative;padding:.35rem 0 .35rem .8rem;display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem}
.rvgm-timeline li::before{content:"";position:absolute;left:-1.45rem;top:.75rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--rvgm-ok)}
.rvgm-timeline li.rvgm-u::before{background:var(--rvgm-card);border:2px solid var(--rvgm-warn)}
.rvgm-timeline time{font-variant-numeric:tabular-nums;color:var(--rvgm-text);font-weight:600}
.rvgm-uncheck{color:var(--rvgm-warn);font-size:.85rem}
.rvgm-prot{border-left:3px solid var(--rvgm-line);padding:.2rem .7rem;margin:.4rem 0}
.rvgm-prot p{margin:.2rem 0 0;font-size:.92rem}
.rvgm-list{margin:.2rem 0 0 1.1rem;padding:0}
.rvgm-note{margin-top:1rem;padding:.6rem .8rem;background:#fff8e6;border:1px solid #ecd9a0;border-radius:6px;font-size:.88rem}
.rvgm-empty{padding:1rem;background:var(--rvgm-bg);border-radius:6px}
.rvgm-changes{list-style:none;padding:0;margin:0}
.rvgm-changes li{padding:.5rem 0;border-bottom:1px solid var(--rvgm-line)}
.rvgm-chain-list{padding-left:1.2rem}
.rvgm-teaser{font-size:1.1rem}
@media (max-width:640px){.rvgm-timeline li{grid-template-columns:1fr}.rvgm-az li span,.rvgm-more li span{display:block}}
/* Abo, Kalender, Kacheln */
.rvgm-form{max-width:46rem}
.rvgm-form label{display:block;font-weight:600;margin-bottom:.25rem}
.rvgm-form input[type=text],.rvgm-form input[type=email]{width:100%;padding:.65rem .8rem;font-size:1rem;border:1px solid var(--rvgm-line);border-radius:6px;background:var(--rvgm-card);color:var(--rvgm-text)}
.rvgm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:640px){.rvgm-grid2{grid-template-columns:1fr}}
.rvgm-themen{border:1px solid var(--rvgm-line);border-radius:var(--rvgm-radius);padding:.8rem 1rem;margin:1rem 0}
.rvgm-themen legend{font-weight:700;padding:0 .4rem}
.rvgm-check{display:flex!important;gap:.5rem;align-items:flex-start;font-weight:400!important;margin:.3rem 0}
.rvgm-check input{margin-top:.3rem}
.rvgm-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.rvgm-code{font-size:1.8rem!important;letter-spacing:.35em;text-align:center;max-width:12rem}
.rvgm-btn{display:inline-block;padding:.7rem 1.2rem;border:0;border-radius:8px;background:var(--rvgm-acc);color:var(--rvgm-onacc)!important;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none}
.rvgm-btn:hover{filter:brightness(1.1)}
.rvgm-btn-alt{background:transparent;color:var(--rvgm-acc)!important;border:2px solid var(--rvgm-acc)}
.rvgm-btn-link{background:none;color:var(--rvgm-acc)!important;padding:.2rem 0;text-decoration:underline}
.rvgm-btn-danger{background:#b32d2e}
.rvgm-msg{padding:.8rem 1rem;border-radius:8px;margin:0 0 1rem;border:1px solid}
.rvgm-msg-ok{background:#e6f6ee;border-color:#9bd5b7;color:#0b4d30}
.rvgm-msg-err{background:#fdeaea;border-color:#e5a3a3;color:#7a1f1f}
.rvgm-kal-btns{display:flex;flex-wrap:wrap;gap:.6rem}
.rvgm-termine{list-style:none;padding:0;margin:1rem 0}
.rvgm-termine li{padding:.6rem 0;border-bottom:1px solid var(--rvgm-line)}
.rvgm-termine time{font-weight:700;margin-right:.4rem}
.rvgm-tiles{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;padding:0;margin:0}
.rvgm-tiles a{display:block;padding:1rem 1.1rem;border:1px solid var(--rvgm-line);border-radius:var(--rvgm-radius);background:var(--rvgm-card);text-decoration:none;color:inherit;height:100%}
.rvgm-tiles a:hover{border-color:var(--rvgm-acc)}
.rvgm-tiles strong{display:block;margin-bottom:.3rem}
.rvgm-tiles span{color:var(--rvgm-muted);font-size:.9rem}
a.rvgm-ics{text-decoration:none;color:var(--rvgm-acc)}
/* Backend */
.rvgm-admin .rvgm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.rvgm-admin .rvgm-stats div{background:#fff;border:1px solid #c3c4c7;border-left:4px solid #0b4f8a;padding:12px 16px}
.rvgm-admin .rvgm-stats b{display:block;font-size:28px;line-height:1.1}
.rvgm-admin .rvgm-stats span{color:#50575e}
.rvgm-admin .rvgm-cols{display:grid;grid-template-columns:2fr 1fr;gap:24px}
@media (max-width:1100px){.rvgm-admin .rvgm-cols{grid-template-columns:1fr}}

/* Schwerpunkt-Buttons (pulsierend) */
.rvgm-schwerpunkte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:1.2rem 0}
.rvgm-sp{--c:var(--rvgm-acc);--oc:var(--rvgm-onacc);display:flex;align-items:center;gap:1.1rem;padding:1.5rem 1.6rem;min-height:8.5rem;background:var(--c);color:var(--oc)!important;text-decoration:none!important;border-radius:calc(var(--rvgm-radius) + 6px);position:relative;animation:rvgm-pulse 2.4s ease-out infinite;transition:transform .2s ease}
.rvgm-sp-vereine{--c:var(--rvgm-acc2);--oc:var(--rvgm-onacc2);animation-delay:1.2s}
.rvgm-sp:hover,.rvgm-sp:focus-visible{transform:translateY(-3px) scale(1.015);animation-play-state:paused;outline:3px solid var(--c);outline-offset:3px}
.rvgm-sp-icon{flex:0 0 auto;width:3.6rem;height:3.6rem}
.rvgm-sp-icon svg{width:100%;height:100%;display:block;fill:currentColor}
.rvgm-sp-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.rvgm-sp-text strong{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.15}
.rvgm-sp-text span{font-size:.95rem;opacity:.92}
.rvgm-sp-text em{font-style:normal;font-size:.85rem;font-weight:700;opacity:.95;margin-top:.15rem}
.rvgm-sp-go{margin-left:auto;font-size:2rem;line-height:1;transition:transform .2s ease}
.rvgm-sp:hover .rvgm-sp-go{transform:translateX(4px)}
@keyframes rvgm-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}70%{box-shadow:0 0 0 20px color-mix(in srgb,var(--c) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 0%,transparent)}}
@media (max-width:700px){.rvgm-schwerpunkte{grid-template-columns:1fr}.rvgm-sp{min-height:7rem;padding:1.2rem}}
@media (prefers-reduced-motion:reduce){.rvgm-sp{animation:none;transition:none}.rvgm-sp-go{transition:none}}
.rvgm-bereich-h{margin:1.6rem 0 .4rem;padding-left:.7rem;border-left:6px solid var(--rvgm-acc)}
.rvgm-bereich-h.rvgm-b-vereine{border-left-color:var(--rvgm-acc2)}
.rvgm-tiles.rvgm-b-vereine a{border-top:4px solid var(--rvgm-acc2)}
.rvgm-tiles.rvgm-b-rente a{border-top:4px solid var(--rvgm-acc)}
.rvgm-themen h4{margin:.9rem 0 .2rem;font-size:.95rem;color:var(--rvgm-muted);text-transform:uppercase;letter-spacing:.04em}
.rvgm-backfill{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #c3c4c7;background:#fff;border-radius:4px}
.rvgm-backfill progress{width:100%;height:.9rem}

/* 0.23: Inkrafttreten-Box, Redaktionsblock, FAQ */
.rvgm-inkraft{border-left:4px solid var(--rvgm-acc,#1f5d3a);background:rgba(127,127,127,.09);padding:.7em 1em;margin:0 0 1.2em;border-radius:4px}
.rvgm-inkraft-h{margin:0 0 .3em}
.rvgm-inkraft ul{margin:0;padding-left:1.1em}
.rvgm-inkraft li{margin:.15em 0}
.rvgm-ik-ja strong::before{content:"\2713 "}
.rvgm-ik-bald{font-style:normal}
.rvgm-ik-nein strong::before{content:"\25CB "}
.rvgm-inkraft-n{margin:.5em 0 0;font-size:.82em;opacity:.75}
.rvgm-redaktion,.rvgm-pruefen{border:1px dashed currentColor;padding:.6em 1em;margin:1em 0;border-radius:4px;font-size:.92em}
.rvgm-faq details{border-bottom:1px solid rgba(127,127,127,.35);padding:.5em 0}
.rvgm-faq summary{cursor:pointer;font-weight:600}

/* 0.24: Themenseite mit vier aufklappbaren Karten */
.rvgm-thema .rvgm-crumb{margin:0 0 .5rem;font-size:.9rem}
.rvgm-thema .rvgm-teaser{font-size:1.15rem}
.rvgm-tcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:start;margin:1.4rem 0}
@media (max-width:760px){.rvgm-tcards{grid-template-columns:1fr}}
.rvgm-tcard{border:1px solid var(--rvgm-line);border-top:4px solid var(--rvgm-acc);background:var(--rvgm-card);border-radius:var(--rvgm-radius)}
.rvgm-tcard>summary{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}
.rvgm-tcard>summary::-webkit-details-marker{display:none}
.rvgm-tcard>summary::after{content:"+";margin-left:auto;font-size:1.6rem;line-height:1}
.rvgm-tcard[open]>summary::after{content:"\2212"}
.rvgm-tcard-n{flex:0 0 auto;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--rvgm-acc);color:var(--rvgm-onacc);display:grid;place-items:center;font-weight:700}
.rvgm-tcard-t{display:flex;flex-direction:column;gap:.1rem}
.rvgm-tcard-t em{font-style:normal;font-size:.85rem;opacity:.75}
.rvgm-tcard-b{padding:0 1.2rem 1.2rem}
.rvgm-tcard-b h3{margin:1.1rem 0 .3rem;font-size:1.05rem}
.rvgm-hint{font-size:.9rem;opacity:.8}
