:root{--bg: #FAF6F0;--card: #FFFFFF;--ink: #2A1F3D;--muted: #7A6D85;--purple: #4A2C6B;--purple-dark: #371F50;--accent: #C97B5B;--line: #ECE4D5;--info: #EDE7F3;--urgent: #B3392F;--urgent-bg: #FBEAE8}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.4;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;overscroll-behavior:none}h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.7rem;margin:.4rem 0 .2rem;color:var(--purple)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.gedempt{color:var(--muted);margin:.2rem 0 1rem}.paars{color:var(--purple)}.fout{color:var(--urgent);margin:.5rem 0;font-weight:500}.hint{color:var(--muted);font-size:.9rem;margin:.4rem 0 0}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--purple);animation:draai .9s linear infinite}@keyframes draai{to{transform:rotate(360deg)}}.knop{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.4rem;border:0;border-radius:999px;background:var(--purple);color:#fff;font-weight:700;transition:background .18s,transform .18s}.knop:hover:not(:disabled){background:var(--purple-dark);transform:translateY(-1px)}.knop:disabled{opacity:.45;cursor:default}.knop.klein{min-height:40px;padding:0 1rem;font-size:.95rem}.knop.licht{background:#fff;color:var(--purple);border:1px solid var(--line)}.link{background:none;border:0;color:var(--purple);font-weight:500;padding:.4rem .2rem;display:inline-flex;align-items:center;gap:.3rem}.icoon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:inherit}.icoon.klein{width:36px;height:36px}.midden{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.kaart{width:100%;max-width:460px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:2rem 1.6rem;text-align:center}.kaart.smal{max-width:380px;display:flex;flex-direction:column;align-items:center;gap:.4rem}.logo{width:84px;height:84px;border-radius:20px}.groepenraster{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.groepknop{min-height:56px;border:1px solid var(--line);border-radius:16px;background:var(--bg);font-weight:700;color:var(--purple)}.groepknop:hover{background:var(--info)}.codeveld{width:100%;text-align:center;font-size:1.8rem;letter-spacing:.4em;padding:.7rem;border:2px solid var(--line);border-radius:16px;background:var(--bg);margin-bottom:.8rem}.codeveld:focus{outline:none;border-color:var(--purple)}.kaart form .knop{width:100%}.app{height:100dvh;display:flex;flex-direction:column;max-width:900px;margin:0 auto;background:var(--bg);position:relative}.kop{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;padding:calc(.7rem + env(safe-area-inset-top)) 1rem .7rem 1.2rem;background:var(--purple);color:#fff}.kopnaam{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.35rem;line-height:1.1}.kopsub{opacity:.8;font-size:.9rem}.menu{position:absolute;right:.8rem;top:calc(100% - .2rem);z-index:10;min-width:270px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #2a1f3d2e;padding:.4rem}.menu button,.menuinfo{display:flex;align-items:center;gap:.7rem;width:100%;min-height:52px;padding:0 1rem;border:0;background:none;border-radius:12px;text-align:left}.menu button:hover{background:var(--info)}.menuinfo{color:var(--muted)}.balk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding:.7rem 1.2rem;background:var(--info);color:var(--purple);font-size:.95rem}.balk.waarschuwing{background:var(--urgent-bg);color:var(--urgent);justify-content:flex-start}.balk .acties{display:inline-flex;gap:.5rem}.feed{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 1rem .5rem;display:flex;flex-direction:column;gap:.7rem}.leeg{margin:auto;text-align:center;color:var(--muted);padding:2rem}.dag{text-align:center;margin:.6rem 0 .2rem}.dag span{display:inline-block;padding:.2rem .9rem;border-radius:999px;background:var(--line);color:var(--muted);font-size:.85rem;text-transform:capitalize}.bericht{align-self:flex-start;max-width:86%;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:.7rem 1rem .5rem}.bericht.mijn{align-self:flex-end;background:var(--info);border-color:#ddd2ea;border-radius:18px 18px 6px}.bericht.urgent{border-left:6px solid var(--urgent)}.berichtkop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;font-size:.95rem}.berichtkop strong{color:var(--purple)}.aan{color:var(--muted);font-size:.85rem}.badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--urgent);color:#fff;font-size:.75rem;font-weight:700;padding:.1rem .55rem;border-radius:999px}.citaat{margin:.4rem 0 .1rem;padding:.3rem .7rem;border-left:3px solid var(--accent);background:#c97b5b1a;border-radius:6px;color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tekst{margin:.35rem 0 .2rem;white-space:pre-wrap;overflow-wrap:anywhere}.berichtvoet{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}.berichtvoet .link{font-size:.9rem}.berichtvoet .acties{display:inline-flex;gap:.6rem}.opsteller{border-top:1px solid var(--line);background:var(--card);padding:.7rem 1rem calc(.8rem + env(safe-area-inset-bottom))}.antwoordbalk{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.antwoordbalk .citaat{flex:1;margin:0;min-width:0}.aanrij{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.aanlabel{color:var(--muted);font-weight:500;margin-right:.2rem}.chip{min-height:44px;padding:0 1rem;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:500;color:var(--ink);transition:all .12s}.chip.aan{background:var(--purple);border-color:var(--purple);color:#fff}.schrijfrij{display:flex;align-items:flex-end;gap:.5rem;margin-top:.6rem}.schrijfrij textarea{flex:1;resize:none;min-height:56px;max-height:140px;padding:.7rem 1rem;border:2px solid var(--line);border-radius:18px;background:var(--bg)}.schrijfrij textarea:focus{outline:none;border-color:var(--purple)}.icoon.vlag{border:2px solid var(--line);color:var(--muted)}.icoon.vlag.aan{background:var(--urgent);border-color:var(--urgent);color:#fff}.knop.verstuur{width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;flex:none}@media (max-width: 520px){.bericht{max-width:94%}}
