/* Studio Grozlan — stijl volgens de goedgekeurde plaatjes in docs/studio-ontwerp (teg14, teg21, boek1, overzicht1, rechten1, login1, wizard2, beheer1, wacht1, notif1, meldingen4) */
:root{
  --bg:#f4f4f2;--kaart:#fff;--tekst:#1c1c1c;--stil:#7a7a76;--lijn:#e4e4df;--g:#2f7d4f;--vast:#3b4a6b;
  --rood:#b3261e;--roodzacht:#fbe9e7;--vastzacht:#eceef3;--zak:#ecebe6;--knop:#1c1c1c;--knoptekst:#fff;
  --bezet:#b5b5b0;--bezetstip:#cfcfca;--voorbij:#c9c9c4;--schaduw:0 4px 12px rgba(0,0,0,.18);--wit:#fff;
  --oker:#c58a1c;--okerzacht:#fbf1de;--okertekst:#8a5a0b;--nieuw:#f2f8f4;--dim:rgba(20,20,20,.25);
  --font:system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#141414;--kaart:#1f1f1e;--tekst:#ececea;--stil:#9a9a96;--lijn:#2f2f2d;--g:#3a9361;--vast:#4d6091;
  --rood:#ff8a80;--roodzacht:#3a201e;--vastzacht:#252a35;--zak:#232321;--knop:#ececea;--knoptekst:#141414;
  --bezet:#5d5d5a;--bezetstip:#4a4a47;--voorbij:#4a4a47;--schaduw:0 4px 14px rgba(0,0,0,.55);
  --oker:#d9a441;--okerzacht:#352a17;--okertekst:#e6bf73;--nieuw:#1c2a21;--dim:rgba(0,0,0,.45);
}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--tekst);font:16px/1.4 var(--font)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
#app{min-height:100vh;min-height:100dvh}
main{max-width:480px;margin:0 auto;padding:20px 16px calc(28px + env(safe-area-inset-bottom));position:relative;min-height:100vh;min-height:100dvh}
main.metnav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}

/* kop */
.top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;min-height:34px}
.naam{font-weight:700;font-size:24px;letter-spacing:-.01em;display:flex;align-items:center;gap:4px;min-width:0}
.naam span.nt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.naam svg.pijl{width:16px;height:16px;color:var(--stil);margin-top:3px;flex:none}
button.naam{text-align:left}
.terug{display:inline-flex;align-items:center;justify-content:center;width:22px;margin-right:6px;color:var(--stil);align-self:center}
.terug svg{width:18px;height:18px}
.stu{font-size:12px;color:var(--stil);letter-spacing:.02em;white-space:nowrap}
.ico{color:var(--stil);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-8px -6px -8px 0;border-radius:50%}
.ico svg{width:17px;height:17px}

/* raster: sessievakjes en kalender */
.raster{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.c,.dg{aspect-ratio:1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .18s ease,box-shadow .18s ease,opacity .2s}
.c{font-size:16px;font-weight:650;line-height:1.05;color:var(--wit)}
.c small{font-size:10px;font-weight:500;opacity:.75;text-transform:uppercase;letter-spacing:.05em}
.c.vast{background:var(--vast)}.c.zelf{background:var(--g)}
.c.wacht{background:transparent;color:var(--g);box-shadow:inset 0 0 0 1.5px var(--g)}
.c.vrijgegeven{background:transparent;color:var(--vast);box-shadow:inset 0 0 0 1.5px var(--vast);opacity:.55}
.c.plus{border:1.5px dashed var(--bezetstip);color:var(--stil);font-weight:400;font-size:20px}
.c.plus.aan{border-color:var(--g);color:var(--g)}
.c.v{opacity:.5}
.sep{height:1px;background:var(--lijn);margin:18px 0 14px}
.mkop{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:10px}
.mkop b{font-size:16px;font-weight:600;min-width:130px;text-align:center}
.mpijl{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tekst)}
.mpijl svg{width:16px;height:16px}.mpijl:disabled{opacity:.2;cursor:default}
.wd{font-size:11px;color:var(--stil);text-align:center;text-transform:uppercase;letter-spacing:.05em;padding-bottom:2px}
.dg{font-size:15px;gap:4px}.dg i{width:5px;height:5px;border-radius:50%}
.dg.vrij{background:var(--kaart);box-shadow:0 0 0 1px var(--lijn)}.dg.vrij i{background:var(--g)}
.dg.bezet{color:var(--bezet);background:transparent;box-shadow:0 0 0 1px var(--lijn)}.dg.bezet i{background:var(--bezetstip)}
.dg.vast{background:var(--vast);color:var(--wit);font-weight:600}
.dg.zelf{background:var(--g);color:var(--wit);font-weight:600}
.dg.wacht{color:var(--g);font-weight:600;box-shadow:inset 0 0 0 1.5px var(--g)}
.dg.voorbij,.dg.ver{color:var(--voorbij)}
.dg.v{opacity:.5}
.dg.nu{transform:scale(1.14);z-index:1;box-shadow:var(--schaduw)}
.dg.vast.nu,.dg.zelf.nu{box-shadow:var(--schaduw)}
.kal.focus .dg:not(.vrij){opacity:.25}
.kal.focus .dg.vrij{box-shadow:0 0 0 1.5px var(--g)}
.leg{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:18px;font-size:12px;color:var(--stil)}
.leg span{display:flex;align-items:center;gap:6px}
.leg b{width:10px;height:10px;border-radius:3px;display:inline-block}

/* detail (boeken, reservering, vaste dag) */
.dkop{display:flex;gap:14px;align-items:center;margin:6px 0 18px}
.c.groot{width:64px;flex:none;font-size:22px}
.c.wit{background:var(--kaart);color:var(--tekst);box-shadow:0 0 0 1px var(--lijn)}
.dt{font-weight:700;font-size:19px}.tijd{color:var(--stil);font-size:14px}
.regels{background:var(--kaart);border-radius:14px;box-shadow:0 0 0 1px var(--lijn)}
.regels>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-top:1px solid var(--lijn);font-size:15px;min-height:48px}
.regels>div:first-child{border-top:0}
.regels>div>span:first-child{color:var(--stil)}
.regels b{text-align:right;overflow:hidden;text-overflow:ellipsis}
.regels a{color:var(--tekst);text-decoration:underline;text-underline-offset:2px}
.regels .tot{font-weight:700}.regels .tot span{color:var(--tekst)!important}
.regels button.rij{width:100%;text-align:left}
.ok{color:var(--g)}.st{color:var(--stil);font-weight:400}.vastk{color:var(--vast)}.roodt{color:var(--rood)}
.betaal{margin-top:16px;width:100%;font-weight:600;padding:14px;border-radius:12px;background:var(--g);color:#fff;transition:opacity .2s}
.betaal.zwart{background:var(--knop);color:var(--knoptekst)}
.betaal:disabled{opacity:.45;cursor:default}
.ann{margin-top:18px;width:100%;font-weight:600;padding:13px;border-radius:12px;background:var(--roodzacht);color:var(--rood)}
.ann.vrijg{background:var(--vastzacht);color:var(--vast)}
.ann.zeker{background:var(--rood);color:#fff}
.ann.vrijg.zeker{background:var(--vast);color:#fff}
.nb{font-size:13px;color:var(--stil);text-align:center;margin:8px 0 0}
.nb.links{text-align:left;margin-top:10px}
.melding{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--roodzacht);color:var(--rood);font-size:14px}
.melding.zacht{background:var(--kaart);color:var(--stil);box-shadow:0 0 0 1px var(--lijn)}

/* overzicht */
.abbo,.open{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border-radius:14px;margin-bottom:10px}
.abbo{background:var(--vast);color:#fff}
.abbo small,.open small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.abbo b,.open b{display:block;font-size:17px}.abbo span,.open span{font-size:13px;opacity:.8}
.badge{font-size:12px;background:rgba(255,255,255,.18);padding:3px 9px;border-radius:10px;flex:none}
.open{background:var(--kaart);box-shadow:0 0 0 1px var(--lijn)}
.open .bedr{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.open .bedr a{font-weight:600;font-size:14px;border-radius:10px;padding:8px 14px;background:var(--g);color:#fff;text-decoration:none}
.l{font-size:12px;color:var(--stil);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 6px}

/* onderbalk */
.onder{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--bg);border-top:1px solid var(--lijn);padding:10px 0 calc(14px + env(safe-area-inset-bottom))}
.onder>div{max-width:480px;margin:0 auto;display:flex;justify-content:space-around}
.onder button{color:var(--stil);width:56px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px}
.onder button.on{color:var(--tekst)}.onder svg{width:22px;height:22px}

/* leden en rechten */
.kopr{display:grid;grid-template-columns:1fr 64px 64px;font-size:11px;color:var(--stil);text-transform:uppercase;letter-spacing:.05em;padding:0 14px 6px;text-align:center}
.regels2{background:var(--kaart);border-radius:14px;box-shadow:0 0 0 1px var(--lijn)}
.lidr{display:grid;grid-template-columns:1fr 64px 64px;align-items:center;padding:12px 14px;border-top:1px solid var(--lijn)}
.lidr:first-child{border-top:0}
.nm{display:flex;flex-direction:column;text-align:left;min-width:0}
.nm b,.nm small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm small{color:var(--stil);font-size:12px}.nm em{font-style:normal;font-size:11px;color:var(--vast);font-weight:600}
.nm em.grijs{color:var(--stil);font-weight:500}
.t{justify-self:center;width:40px;height:24px;border-radius:12px;background:var(--lijn);position:relative;transition:background .2s}
.t b{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .2s}
.t.aan{background:var(--g)}.t.aan b{left:19px}.t.dis{opacity:.45;cursor:default}
.rond{margin-top:10px;width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 1px var(--lijn);display:flex;align-items:center;justify-content:center;color:var(--stil);background:var(--kaart)}
.rond svg{width:14px;height:14px}

/* formulieren */
.logo{font-weight:700;font-size:26px;text-align:center;margin:90px 0 30px}
.form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--stil)}
input,select,textarea{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--tekst);padding:12px;border:0;border-radius:12px;background:var(--kaart);box-shadow:0 0 0 1px var(--lijn);outline:none}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 1.5px var(--tekst)}
textarea{min-height:80px;resize:vertical}
.links{display:flex;justify-content:space-between;margin-top:16px;font-size:14px}
.links button{color:var(--stil);text-decoration:underline;text-underline-offset:2px}
.eisen{display:flex;gap:12px;font-size:13px;color:var(--stil);margin-top:-4px}
.eisen span{display:flex;align-items:center;gap:4px;transition:color .2s}.eisen .ok{color:var(--g)}
.eisen svg{width:11px;height:11px}
.seg2{display:flex;background:var(--lijn);border-radius:10px;padding:3px}
.seg2 button{flex:1;text-align:center;padding:8px 4px;font-size:14px;border-radius:8px;color:var(--stil);font-weight:500}
.seg2 button.on{background:var(--kaart);color:var(--tekst);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.twee{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.taal{display:inline-flex;align-items:stretch;line-height:1.4;font-size:12px;border-radius:8px;box-shadow:0 0 0 1px var(--lijn);overflow:hidden;color:var(--stil);align-self:center}
.taal button{padding:4px 9px;display:flex;align-items:center;color:var(--stil)}
.taal button.on{background:var(--knop);color:var(--knoptekst);font-weight:600}
.sw{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding:4px 2px;color:var(--tekst)}
.sw i{width:44px;height:26px;border-radius:13px;background:var(--lijn);position:relative;transition:background .2s}
.sw i b{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .2s}
.sw.aan i{background:var(--g)}.sw.aan i b{left:21px}
.zak{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:14px;background:var(--zak)}
.leden{display:flex;flex-direction:column;gap:6px}
.lid{display:grid;grid-template-columns:1fr 1.6fr 24px;gap:6px;align-items:center}
.lid input{padding:10px;font-size:15px}
.x{color:var(--stil);display:flex;justify-content:center}.x svg{width:12px;height:12px}
.stappen{display:flex;gap:5px;margin:2px 0 8px}.stappen i{flex:1;height:4px;border-radius:2px;background:var(--lijn);transition:background .3s}.stappen i.on{background:var(--tekst)}
.stap{font-size:13px;color:var(--stil);margin-bottom:14px}
.wiz{padding-bottom:96px}
.vastonder{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%)}
.vastonder>button{display:block;max-width:448px;margin:0 auto}
.fout{color:var(--rood);font-size:14px;min-height:0}
.fout:empty{display:none}
.dagen{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.dagen button{padding:9px 0;border-radius:10px;background:var(--kaart);box-shadow:0 0 0 1px var(--lijn);font-size:13px;color:var(--stil)}
.dagen button.on{background:var(--vast);color:#fff;box-shadow:none}
.klaar{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:120px;text-align:center}
.klaar .vink{width:64px;height:64px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;animation:pop .35s cubic-bezier(.3,1.5,.6,1)}
.klaar .vink svg{width:28px;height:28px}.klaar b{font-size:19px}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}

/* beheer */
.tabs{display:flex;gap:16px;font-size:14px;color:var(--stil);margin:-4px 0 14px;border-bottom:1px solid var(--lijn);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding-bottom:8px;color:var(--stil);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button.on{color:var(--tekst);font-weight:700;border-bottom-color:var(--tekst)}
.tabs i{font-style:normal;background:var(--rood);color:#fff;border-radius:9px;font-size:11px;padding:1px 6px;margin-left:4px}
.lijst{background:var(--kaart);border-radius:14px;box-shadow:0 0 0 1px var(--lijn)}
.r{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--lijn);width:100%;text-align:left}
.r:first-child{border-top:0}
.r>div{flex:1;display:flex;flex-direction:column;min-width:0}
.r b,.r small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r small{color:var(--stil);font-size:13px}.r em{font-style:normal;color:var(--stil);font-size:13px;flex:none}
.r.rood small{color:var(--rood)}
.kl{width:10px;height:10px;border-radius:3px;flex:none}
.fab{position:fixed;right:max(20px,calc(50vw - 220px));bottom:calc(24px + env(safe-area-inset-bottom));width:52px;height:52px;border-radius:50%;background:var(--knop);color:var(--knoptekst);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:4}
.fab svg{width:18px;height:18px}
.leeg{color:var(--stil);font-size:14px;text-align:center;padding:40px 0}

/* zwevend menu (bandkiezer / account) */
.menu{position:fixed;z-index:30;min-width:220px;max-width:calc(100vw - 32px);background:var(--kaart);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.18),0 0 0 1px var(--lijn);padding:6px;transform-origin:top left;animation:menu .16s ease-out}
@keyframes menu{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.menu button.mi{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:9px;font-size:15px;text-align:left}
.menu button.mi:hover{background:var(--bg)}
.menu button.mi svg{width:16px;height:16px;color:var(--stil);flex:none}
.menu button.mi .vk{margin-left:auto;color:var(--g)}
.menu hr{border:0;border-top:1px solid var(--lijn);margin:6px 4px}
.menu .mrij{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:14px;color:var(--stil)}
.menu i.tel{font-style:normal;background:var(--rood);color:#fff;border-radius:9px;font-size:11px;padding:1px 6px;margin-left:auto}
.dicht{position:fixed;inset:0;z-index:29}

/* overlay: groeit uit het aangetikte punt, krimpt terug bij sluiten */
.ov{position:fixed;inset:0;z-index:20;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;clip-path:circle(0 at var(--x) var(--y));transition:clip-path .38s cubic-bezier(.4,0,.2,1)}
.ov.ov-open{clip-path:circle(150% at var(--x) var(--y))}
.ov.dicht-gaan{transition-duration:.28s}
@media (prefers-reduced-motion:reduce){.ov{transition:none}.dg,.c{transition:none}}
.laden{display:flex;justify-content:center;padding:60px 0;color:var(--stil)}
.laden i{width:6px;height:6px;border-radius:50%;background:currentColor;margin:0 3px;animation:knip 1s infinite}
.laden i:nth-child(2){animation-delay:.15s}.laden i:nth-child(3){animation-delay:.3s}
@keyframes knip{0%,80%,100%{opacity:.2}40%{opacity:1}}
.regels b.ok,.regels b.st{flex:none;white-space:nowrap}

/* wachtlijst (wacht1): okerrand + klokje */
.dg.wl{background:var(--kaart);color:var(--tekst);box-shadow:inset 0 0 0 2px var(--oker)}
.c.wlc{background:var(--kaart);color:var(--tekst);box-shadow:inset 0 0 0 2px var(--oker)}
.klk{display:flex;color:var(--oker)}.klk svg{width:12px;height:12px}
.c .klk svg{width:13px;height:13px}
.wacht{margin-top:16px;width:100%;font-weight:600;padding:14px;border-radius:12px;background:var(--okerzacht);color:var(--okertekst)}
.wacht:disabled,.laat:disabled{opacity:.5;cursor:default}
.hold{display:flex;align-items:center;gap:8px;background:var(--okerzacht);color:var(--okertekst);border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:10px}
.hold svg{width:14px;height:14px;flex:none}
.laat{margin-top:8px;width:100%;padding:10px;color:var(--stil)}
.leg b.wlb{background:var(--kaart);box-shadow:inset 0 0 0 1.5px var(--oker)}

/* belletje en meldingen (notif1) */
.rechts{display:flex;align-items:center;gap:12px}
.belk{position:relative;color:var(--tekst);display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-8px -5px -8px 0;border-radius:50%}
.belk svg{width:20px;height:20px}
.belk i{position:absolute;top:4px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--rood);box-shadow:0 0 0 2px var(--bg)}
.dim{position:fixed;inset:0;z-index:28;background:var(--dim);animation:vaag .18s ease-out}
@keyframes vaag{from{opacity:0}to{opacity:1}}
.pop{position:fixed;z-index:29;background:var(--kaart);border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.18);overflow:hidden;display:flex;flex-direction:column;max-height:72vh;transform-origin:top right;animation:groei .2s cubic-bezier(.3,1.2,.5,1)}
@keyframes groei{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.pop.weg{transition:transform .14s ease-in,opacity .14s ease-in;transform:scale(.6);opacity:0}
.pk{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--lijn);flex:none}
.pk button{color:var(--stil);display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-6px -6px -6px 0;border-radius:50%}
.pk svg{width:18px;height:18px}
.plijst{overflow-y:auto;overscroll-behavior:contain}
.mm{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-top:1px solid var(--lijn);font-size:14px;width:100%;text-align:left}
.mm:first-child{border-top:0}
.mm>div{display:flex;flex-direction:column;min-width:0}
.mm b{font-weight:500}.mm small{color:var(--stil);font-size:12px}
.mm em{font-style:normal;color:var(--stil);font-size:12px;white-space:nowrap}
.mm.nw{background:var(--nieuw)}.mm.nw b{font-weight:700}
.sk,.sr{display:grid;grid-template-columns:1fr 56px 56px;align-items:center}
.sk{padding:0 14px 6px;color:var(--stil)}.sk span{display:flex;justify-content:center}.sk svg{width:18px;height:18px}
.sr{padding:12px 14px;border-top:1px solid var(--lijn);font-size:15px;gap:6px}.sr:first-child{border-top:0}
.t.vast{opacity:.4;cursor:default}

/* beheer: meldingen-tabel (meldingen4), scrolt opzij met vaste eerste kolom */
.tscroll{overflow-x:auto;margin:0 -16px;padding:1px 16px 4px;scrollbar-width:none}
.tscroll::-webkit-scrollbar{display:none}
table.mt{border-collapse:separate;border-spacing:0;background:var(--kaart);border-radius:14px;box-shadow:0 0 0 1px var(--lijn);font-size:14px;min-width:640px}
.mt th,.mt td{padding:10px 8px;border-top:1px solid var(--lijn)}
.mt thead th{border-top:0;font-size:11px;color:var(--stil);text-transform:uppercase;letter-spacing:.04em;font-weight:600;text-align:center;line-height:1.2;width:92px}
.mt th:first-child{position:sticky;left:0;z-index:1;background:var(--kaart);text-align:left;font-weight:500;padding-left:14px;min-width:150px;max-width:170px;box-shadow:1px 0 0 var(--lijn)}
.mt thead th:first-child{border-top-left-radius:14px}
.mt tbody tr:last-child th{border-bottom-left-radius:14px}
.mt td{text-align:center}
.pr{display:inline-flex;gap:4px}
.ic{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--voorbij);box-shadow:inset 0 0 0 1px var(--lijn);transition:background .15s,color .15s}
.ic svg{width:15px;height:15px}
.ic.aan{background:var(--g);color:#fff;box-shadow:none}
.ic.half{color:var(--g);box-shadow:inset 0 0 0 1.5px var(--g)}
.ic.niets{visibility:hidden}
.ic.vast{opacity:.55;cursor:default}
.mleg{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:13px;color:var(--stil)}
.mleg span{display:flex;align-items:center;gap:6px}.mleg .ic{width:22px;height:22px}

/* beheer: avonden */
.dg.ronde,.dg.gehouden,.dg.wacht2{background:var(--kaart);color:var(--tekst);box-shadow:inset 0 0 0 2px var(--oker)}
.dg.wlr{box-shadow:inset 0 0 0 2px var(--oker)}
.dg.extra{background:var(--g);color:var(--wit);font-weight:600}
.dg .klk{color:var(--oker)}.dg.zelf .klk,.dg.vast .klk,.dg.extra .klk{color:var(--wit)}
.wlnr{color:var(--stil);font-variant-numeric:tabular-nums;margin-right:8px}
.st.ja{color:var(--g);font-weight:600}.st.ok2{color:var(--okertekst);font-weight:600}
