/* Module reviews: alleen wat écht module-specifiek is (klassen rv-*); de rest komt uit design/ en style.css.
   Kleuren uitsluitend uit de tokens: --accent, --ok, --let-op, --tekst-*, --vlak-*, --lijn*. Geen rood. */
.rij.rij-rv { grid-template-columns: 5.5rem 3rem 1fr; align-items: start; }
.rij.rij-rv-p { grid-template-columns: 1fr 6rem 7rem 8rem auto; }
.rij.rv-uit { opacity: .6; }
@media (max-width: 47.99rem) { .rij.rij-rv-p { grid-template-columns: 1fr auto; } .rij.rij-rv-p > :nth-child(n+2):not(:last-child) { display: none; } }
textarea.rv-invoer, textarea.rv-kort { width: 100%; font: inherit; font-size: var(--tekst-xs); line-height: 1.5; padding: 10px 12px; border-radius: var(--radius); border: 1px solid var(--lijn); background: var(--vlak); color: var(--tekst); resize: vertical; }
textarea.rv-invoer { min-height: 14rem; }
textarea.rv-kort { min-height: 7rem; }
textarea.rv-invoer:focus, textarea.rv-kort:focus { outline: none; border-color: var(--accent); }
.rv-uitleg { line-height: 1.6; }
.rv-uitleg p { margin: 0 0 var(--r-2); }
.rv-uitleg ol { padding-left: 18px; margin: 0 0 var(--r-2); }
.rv-schakel { display: flex; gap: 10px; align-items: center; cursor: pointer; font-size: var(--tekst-s); }
.rv-start-lijst { margin: 0; padding-left: 18px; font-size: var(--tekst-s); display: grid; gap: 4px; }

/* Actiekaarten */
.rv-acties { display: grid; gap: var(--r-3); }
.rv-actie { display: grid; gap: var(--r-2); padding: var(--r-4); border: 1px solid var(--lijn); border-radius: var(--radius-l); background: var(--vlak); }
.rv-actie.top { border-color: var(--accent); }
.rv-actie-kop { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--r-3); }
.rv-actie-kop h3 { font-size: var(--tekst-m); line-height: 1.3; }
.rv-actie-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: var(--tekst-xs); color: var(--tekst-3); }
.rv-actie-score { font-family: var(--font-mono); font-size: 22px; font-weight: 500; color: var(--accent); line-height: 1; min-width: 3rem; text-align: right; }
.rv-actie-score small { display: block; font-size: 10px; color: var(--tekst-3); letter-spacing: .04em; text-transform: uppercase; }
.rv-actie-blok { display: grid; grid-template-columns: 8rem 1fr; gap: 6px var(--r-3); font-size: var(--tekst-s); }
.rv-actie-blok b { color: var(--tekst-3); font-weight: 500; font-size: var(--tekst-xs); letter-spacing: .04em; text-transform: uppercase; padding-top: 2px; }
.rv-actie-blok p { margin: 0; white-space: pre-line; }
.rv-actie-blok .voorstel { background: var(--vlak-2); border-radius: var(--radius); padding: 10px 12px; }
.rv-actie-voet { display: flex; gap: var(--r-2); flex-wrap: wrap; align-items: center; justify-content: space-between; }
.rv-actie-voet .knoppen { display: flex; gap: 6px; flex-wrap: wrap; }
@media (max-width: 47.99rem) { .rv-actie-blok { grid-template-columns: 1fr; } }

/* Aspecten */
.rv-aspecten { display: grid; gap: 6px; }
.rv-aspect { display: grid; grid-template-columns: 11rem 1fr 3rem; gap: var(--r-2); align-items: center; font-size: var(--tekst-xs); }
.rv-aspect .naam { color: var(--tekst); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-aspect .naam small { color: var(--tekst-3); }
.rv-balk { height: 8px; background: var(--vlak-3); border-radius: 4px; overflow: hidden; }
.rv-balk i { display: block; height: 100%; border-radius: 4px; background: var(--tekst-3); }
.rv-balk.negatief i { background: var(--let-op); }
.rv-balk.positief i { background: var(--ok); }
.rv-aspect .n { text-align: right; font-family: var(--font-mono); color: var(--tekst-2); }
.rv-citaat { font-size: var(--tekst-xs); color: var(--tekst-2); font-style: italic; padding-left: 10px; border-left: 2px solid var(--lijn-sterk); margin: 2px 0 6px; }
.rv-vergelijk { display: grid; gap: 4px; font-size: var(--tekst-xs); }
.rv-vergelijk .rij-v { display: grid; grid-template-columns: 11rem repeat(var(--kolommen, 2), 1fr); gap: var(--r-2); align-items: center; padding: 4px 0; border-bottom: 1px solid var(--lijn); }
.rv-vergelijk .kop { color: var(--tekst-3); text-transform: uppercase; letter-spacing: .04em; font-size: 10px; }
.rv-vergelijk .waarde { font-family: var(--font-mono); }
.rv-vergelijk .waarde.slechter { color: var(--let-op); }
.rv-vergelijk .waarde.beter { color: var(--ok); }

/* Trend per maand */
.rv-trend { display: flex; align-items: flex-end; gap: 4px; height: 70px; }
.rv-trend .staaf { flex: 1; display: grid; align-content: end; gap: 2px; height: 100%; position: relative; }
.rv-trend .staaf i { display: block; background: var(--vlak-3); border-radius: 3px 3px 0 0; }
.rv-trend .staaf i.klacht { background: var(--let-op); }
.rv-trend .staaf small { font-family: var(--font-mono); font-size: 9px; color: var(--tekst-3); text-align: center; }

/* Taaklog, pillen, sterren */
.rv-taak-log { font-family: var(--font-mono); font-size: 11px; color: var(--tekst-2); background: var(--vlak-2); border-radius: var(--radius); padding: 8px 10px; max-height: 12rem; overflow: auto; white-space: pre-wrap; }
.rv-pil { display: inline-block; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--tekst-3); border: 1px solid var(--lijn); border-radius: 999px; padding: 1px 7px; }
.rv-pil.goed { color: var(--ok); border-color: var(--ok); }
.rv-sterren { color: var(--accent); letter-spacing: -1px; font-size: 12px; }
