
:root{--green:#063f2f;--green2:#0e684b;--cream:#f7f4ec;--paper:#fffdfa;--orange:#f47a00;--orange2:#fff2e5;--ink:#16251e;--muted:#67736d;--line:#d6ddd8;--blue:#eaf3f8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}a{text-decoration:none;color:inherit}.container{width:min(1420px,calc(100% - 36px));margin:auto}.hidden{display:none!important}
.testbar{height:28px;display:grid;place-items:center;background:#fff3c9;color:#6e580b;font-size:11px;font-weight:700}.siteheader{background:var(--green);color:#fff;position:sticky;top:0;z-index:30}.nav{min-height:72px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:800}.shield{width:34px;height:38px;border:2px solid currentColor;border-radius:9px 9px 13px 13px;display:grid;place-items:center;font-size:12px}.nav nav{margin-left:auto;display:flex;gap:28px;font-size:14px}.loginBtn{border:1.5px solid #fff8;border-radius:9px;padding:10px 18px;font-weight:700}.trialBtn,.primary{background:var(--orange);color:#fff;border-radius:9px;padding:12px 18px;font-weight:800}.hero{background:#fbf9f4;padding:38px 0 28px}.heroGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--green2)}h1{font-size:50px;line-height:1.03;margin:10px 0 14px;color:var(--green)}h2{font-size:32px;line-height:1.12;margin:8px 0 14px;color:var(--green)}p{color:var(--muted);line-height:1.55}.ctaRow{display:flex;gap:12px;margin-top:22px}.secondary{border:1.5px solid var(--green);color:var(--green);border-radius:9px;padding:11px 18px;font-weight:800;background:#fff}.secondary.inline{display:inline-flex}.proofRow{display:flex;gap:34px;margin-top:22px}.proofRow>div{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center}.proofRow small{grid-column:2}.proofIcon{grid-row:1/3;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center}.heroMedia{position:relative}.heroMedia>img{width:100%;height:330px;object-fit:cover;object-position:center;border-radius:20px;display:block;box-shadow:0 14px 34px #0002}.uspPanel{position:absolute;right:18px;top:18px;width:310px;background:#084b38f2;color:#fff;border:1px solid #fff5;border-radius:15px;padding:16px;box-shadow:0 12px 26px #0003}.uspPanel div{padding:9px 0;border-bottom:1px solid #ffffff22;font-size:12px}.uspPanel span{background:#2b875f;border-radius:999px;padding:3px 5px;font-size:8px}.uspPanel strong{display:block;margin-top:12px;font-size:18px}
.how{padding:42px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.steps article span{display:grid;place-items:center;width:30px;height:30px;background:var(--green2);color:#fff;border-radius:9px;font-weight:800}.steps article b{display:block;margin-top:9px}.steps article p{font-size:13px}
.clubHero{padding:34px 0;background:#fbf9f4}.clubHeroGrid{display:grid;grid-template-columns:1fr .65fr;gap:24px;align-items:center}.clubMeta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.clubMeta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:11px}.clubActionCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.clubActionCard a{display:inline-block;margin-top:8px;color:var(--green);font-weight:800}
.planningSection{padding:28px 0 34px;background:#fff}.planningHeader{display:flex;justify-content:space-between;align-items:end;gap:18px}.toolbar{display:flex;gap:7px;flex-wrap:wrap}.toolbar>*{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px}.datePick{display:block;margin:10px 0 0 auto;padding:9px}.carouselWrap{display:grid;grid-template-columns:40px 1fr 40px;gap:8px;align-items:center;margin-top:13px}.roundArrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;color:var(--green)}#carousel{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 0 10px}#carousel::-webkit-scrollbar{display:none}.day{flex:0 0 245px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;max-height:590px;overflow:hidden;scroll-snap-align:start}.day.weekend{flex-basis:260px;border-color:#87b79e;background:#fffefa}.day.min{flex-basis:52px;min-height:500px;padding:6px;background:#f1efea}.day.min .full{display:none}.day:not(.min) .mini{display:none}.mini{height:100%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;color:#657169}.head{border-bottom:1px solid var(--line);padding-bottom:8px}.head h3{font-size:18px;margin:4px 0}.head small{font-size:9px;color:var(--green2);font-weight:800}.pill{display:inline-block;background:#e9f5ed;color:var(--green2);padding:4px 6px;border-radius:999px;font-size:9px}.kitchen{background:var(--blue);color:#315e82}.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:9px 0}.hour{border:1px solid var(--line);border-radius:7px;padding:5px 2px;text-align:center;font-size:9px}.shift{border-top:1px solid var(--line);padding-top:9px;margin-top:9px}.shift>b{font-size:12px}.meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:4px}.people{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.person{font-size:10px}.person:before{content:"✓ ";color:var(--green2);font-weight:900}.open{width:100%;margin-top:7px;padding:6px;border:1px solid var(--orange);background:#fff;color:#d96b00;border-radius:7px;font-size:10px;font-weight:800}.fullbtn{width:100%;margin-top:7px;padding:6px;text-align:center;background:#e8f4ec;color:var(--green2);border-radius:7px;font-size:10px;font-weight:800;pointer-events:none}
.widgetSection{padding:44px 0;background:#f4f1ea}.widgetGrid{display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:center}.widgetGrid ul{padding-left:18px}.widgetGrid li{margin:8px 0}.widgetExample{background:#f7f8f5;border:1px solid var(--line);border-radius:16px;padding:12px;max-width:460px;width:100%;justify-self:center}.widgetTop{display:flex;justify-content:space-between;align-items:center}.widgetTop small{font-size:9px;color:var(--muted)}.widgetTop span{background:var(--green2);color:#fff;border-radius:999px;padding:4px 6px;font-size:8px;font-weight:800}.widgetInner{margin-top:8px;background:#fff;border:1px solid #b8c4bd;border-radius:13px;padding:12px}.widgetInner>b{font-size:15px}.widgetInner h3{margin:7px 0 8px;color:var(--green);font-size:15px}.widgetRow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf0ee}.widgetRow div{display:grid;gap:2px}.widgetRow b{font-size:10px}.widgetRow small{font-size:8px}.widgetRow em{font-style:normal;background:var(--orange2);color:#cf6800;border:1px solid #efbd83;border-radius:999px;padding:4px 6px;font-size:8px;font-weight:800;height:max-content;white-space:nowrap}.widgetInner>a{display:block;margin-top:10px;background:var(--green);color:#fff;text-align:center;border-radius:8px;padding:8px;font-size:10px;font-weight:800}.powered{display:block;text-align:center;margin-top:6px;font-size:8px}
.pricing{padding:46px 0;background:var(--green);color:#fff}.priceGrid{display:grid;grid-template-columns:1fr .8fr;gap:30px;align-items:center}.pricing h2{color:#fff}.pricing p{color:#d4e0da}.eyebrow.light{color:#cce3d7}.priceCard{background:#fff;color:var(--ink);border-radius:16px;padding:20px}.priceCard strong{font-size:42px;color:var(--green)}.priceCard small{margin-left:6px}.priceCard li{margin:7px 0}.priceCard a{display:block;text-align:center;background:var(--orange);color:#fff;border-radius:8px;padding:10px;font-weight:800}
.claimSection{padding:46px 0}.claimGrid{display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:center}.claimGrid form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.claimGrid label{display:block;font-size:11px;font-weight:800;margin-bottom:4px}.claimGrid input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:9px}.slug{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding-left:10px;background:#fff}.slug input{border:0;margin:0}.claimGrid button{width:100%;background:var(--orange);color:#fff;border:0;border-radius:8px;padding:10px;font-weight:800}
.modal{position:fixed;inset:0;background:#001a12aa;display:flex;align-items:center;justify-content:center;z-index:50}.signup{width:min(420px,92vw);background:#fff;border-radius:16px;padding:20px;position:relative}.signup>#close{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:50%;font-size:20px}.signup input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:9px}.signup>#confirm{width:100%;background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px;font-weight:800}
footer{background:var(--green);color:#fff;padding:26px 0}.footerGrid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:center}.brandFoot{display:flex;gap:10px;align-items:center}.brandFoot div{display:grid}.brandFoot small{color:#d1ded8}.footerGrid p{color:#d1ded8}.footerLinks{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;font-size:12px}
@media(max-width:900px){.nav nav{display:none}.heroGrid,.clubHeroGrid,.widgetGrid,.priceGrid,.claimGrid{grid-template-columns:1fr}.heroMedia>img{height:290px}.uspPanel{position:relative;right:auto;top:auto;width:100%;margin-top:10px}.steps{grid-template-columns:1fr 1fr}.planningHeader{display:grid}.day{flex-basis:82vw;max-height:none}.day.weekend{flex-basis:86vw}.day.min{flex-basis:52px}.widgetExample{max-width:520px}.footerGrid{grid-template-columns:1fr}.footerLinks{justify-content:flex-start}}
@media(max-width:560px){.container{width:min(100% - 22px,1420px)}.nav{min-height:62px}.brand{font-size:18px}.loginBtn{margin-left:auto}.trialBtn{display:none}h1{font-size:34px}h2{font-size:26px}.ctaRow{flex-direction:column}.proofRow{gap:14px;flex-direction:column}.steps{grid-template-columns:1fr}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar label{grid-column:1/-1}.hours{grid-template-columns:repeat(2,1fr)}.heroMedia>img{height:220px}}

/* CLUBBEHEER V13 */
.adminPage{background:#f6f8f6;color:#183126}.adminTop{background:#075437;color:#fff}.adminTopInner{max-width:1320px;margin:auto;padding:0 24px;height:66px;display:flex;align-items:center;justify-content:space-between}.adminBrand{font-weight:900;font-size:20px}.adminTopLinks{display:flex;gap:24px;align-items:center}.adminShell{max-width:1320px;margin:24px auto 50px;padding:0 24px}.clubTitle{display:flex;gap:18px;align-items:center;margin-bottom:22px}.clubTitle h1{font-size:44px;margin:0;color:#0b553c}.clubLogoFake{width:82px;height:92px;border-radius:22px 22px 30px 30px;background:linear-gradient(#0c704d,#084d36);color:#fff;display:grid;place-items:center;text-align:center;font-weight:900;border:5px solid #eaf5ee;box-shadow:0 3px 12px #0002}.clubButtons{display:flex;gap:10px;margin-top:8px}.clubButtons a{padding:9px 13px;border:1px solid #b7c9bf;border-radius:8px;background:#fff;color:#0a5d41;font-size:12px;font-weight:800}.clubButtons .logout{color:#d85e1a;border-color:#efc1a8}.adminColumns{display:grid;grid-template-columns:1.45fr .95fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid #dce5df;border-radius:14px;padding:20px;box-shadow:0 4px 14px #0b553c0d;margin-bottom:18px}.panelTitle{font-size:20px;font-weight:900;color:#0c5d42;margin-bottom:15px}.panelIntro{font-size:13px;color:#677970;margin-top:-7px}.cleanForm label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#465b51}.cleanForm input,.cleanForm select{height:42px;border:1px solid #cbd7d0;border-radius:8px;padding:0 11px;background:#fff}.formGrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.formGrid3{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;margin-bottom:12px}.toggleBox{border:1px solid #cbd7d0;border-radius:8px;padding:0 12px;height:42px;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.toggleBox input{width:34px!important;height:19px!important;margin:0}.kitchenTimes{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:430px;margin-bottom:12px}.blockLabel{font-size:12px;font-weight:900;margin:4px 0 7px}.blockLabel small{display:block;font-weight:400;color:#75857d;margin-top:2px}.segmented{display:flex;max-width:320px;border:1px solid #cbd7d0;border-radius:8px;overflow:hidden}.segmented label{flex:1}.segmented input{display:none}.segmented span{display:block;text-align:center;padding:10px;background:#fff;border-right:1px solid #cbd7d0;cursor:pointer}.segmented label:last-child span{border-right:0}.segmented input:checked+span{background:#edf6f1;color:#075b3f;font-weight:900;box-shadow:inset 0 0 0 1px #0d6b4a}.formAction{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}.adminPrimary{background:#f47a00;color:#fff;border:0;border-radius:8px;padding:11px 18px;font-weight:900;cursor:pointer}.serviceList{display:grid;gap:8px}.serviceRow{display:grid;grid-template-columns:54px 1.2fr .75fr auto auto;gap:12px;align-items:center;border:1px solid #dce5df;border-radius:9px;padding:10px}.dateChip{display:grid;text-align:center;border-right:1px solid #e3eae6}.dateChip b{font-size:19px}.dateChip small{font-size:8px}.serviceMain{display:grid}.serviceMain small{color:#6d7b74}.present{font-size:12px;color:#697871}.editBtn,.deleteBtn{padding:8px 11px;border:1px solid #c2d2ca;border-radius:7px;font-size:11px;font-weight:800}.deleteBtn{color:#dd4f46;border-color:#efb7b2}.stickyPanel{position:sticky;top:82px}.widgetSizes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.widgetSizes button{border:0;border-radius:7px;padding:9px;background:#f1f2ef;font-weight:800;cursor:pointer}.widgetSizes button.active{background:#0a6647;color:#fff}.widgetCodeLabel{font-size:11px;font-weight:800}.widgetAdmin textarea,.stickyPanel textarea{width:100%;height:120px;border:1px solid #ccd8d1;border-radius:8px;padding:10px;font:11px monospace}.copyBtn{border:1px solid #f1a46c;color:#e26a00;background:#fff;border-radius:7px;padding:8px 12px;font-weight:800;cursor:pointer}.previewTitle{font-size:11px;font-weight:900;margin:14px 0 7px}.stickyPanel iframe{width:100%;border:0;background:#fff}.tips{background:#f1f8eb;border:1px solid #d6e8ca;border-radius:12px;padding:16px;color:#46623e}.tips p{font-size:12px}.matchForm{margin-bottom:18px}.matchTable{border:1px solid #dce5df;border-radius:9px;overflow:hidden}.matchHead,.matchRow{display:grid;grid-template-columns:.85fr 1.7fr .7fr 1fr .8fr;gap:10px;padding:10px 12px;align-items:center}.matchHead{background:#eef4f0;font-size:10px;font-weight:900;text-transform:uppercase;color:#607268}.matchRow{border-top:1px solid #e3eae6;font-size:11px}.matchRow>span{display:grid}.matchRow small{color:#77867e}.matchActions{display:flex!important;gap:7px}.matchActions a{font-weight:800;color:#0b6346}.matchActions .danger{color:#db4e45}.loginCard{max-width:430px;margin:80px auto;background:#fff;border:1px solid #d7e1db;border-radius:15px;padding:24px;box-shadow:0 10px 30px #0001}.loginCard h1{font-size:30px}.loginCard form{display:grid}.loginCard input{height:44px;margin-bottom:10px;border:1px solid #ccd8d1;border-radius:8px;padding:0 11px}.setupLink{display:block;margin-top:12px;color:#0b6346;font-size:12px}
@media(max-width:900px){.adminColumns{grid-template-columns:1fr}.stickyPanel{position:static}.formGrid4{grid-template-columns:1fr 1fr}.formGrid3{grid-template-columns:1fr 1fr}.serviceRow{grid-template-columns:50px 1fr auto}.present{grid-column:2}.editBtn,.deleteBtn{grid-row:1/3}.matchHead{display:none}.matchRow{grid-template-columns:1fr 1fr}.matchActions{grid-column:1/-1}.clubTitle h1{font-size:36px}}
@media(max-width:560px){.adminShell{padding:0 12px}.adminTopInner{padding:0 14px}.adminTopLinks span{display:none}.clubTitle{align-items:flex-start}.clubLogoFake{width:62px;height:70px}.clubTitle h1{font-size:30px}.formGrid4,.formGrid3,.kitchenTimes{grid-template-columns:1fr}.widgetSizes{grid-template-columns:1fr 1fr}.serviceRow{grid-template-columns:44px 1fr}.editBtn,.deleteBtn{grid-row:auto}.present{grid-column:2}.matchRow{grid-template-columns:1fr}.matchActions{grid-column:1}.panel{padding:14px}}
\n.publicMatches{padding:38px 0;background:#f7f4ec}.publicMatchList{display:grid;gap:8px}.publicMatchCard{display:grid;grid-template-columns:105px 1.6fr .7fr 1fr;gap:12px;align-items:center;background:#fff;border:1px solid #d6ddd8;border-radius:10px;padding:11px 13px}.publicMatchCard small{color:#738078}.publicMatchCard .teams{display:grid}.publicMatchCard .facility{font-size:12px}.publicMatchCard .lockers{font-size:12px}@media(max-width:700px){.publicMatchCard{grid-template-columns:1fr 1fr}.publicMatchCard .teams{grid-column:1/-1}}\n

/* V13.1 TESTKLAAR - PRINT */
@media print{
  .testbar,.siteheader,.how,.widgetSection,.pricing,.claimSection,footer,.toolbar,.roundArrow,.clubActionCard,.modal{display:none!important}
  body{background:#fff!important;color:#111!important}
  .planningSection,.publicMatches{display:block!important;background:#fff!important;padding:10px 0!important}
  .container{width:100%!important;max-width:none!important;margin:0!important;padding:0 8mm!important}
  .planningHeader{display:block!important;margin-bottom:5mm!important}
  .carouselWrap{display:block!important}
  #carousel{display:block!important;overflow:visible!important}
  .day{display:block!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0 0 5mm!important;page-break-inside:avoid!important;box-shadow:none!important;border:1px solid #aaa!important}
  .day.min{display:none!important}
  .day .mini{display:none!important}
  .day .full{display:block!important}
  .publicMatchCard{page-break-inside:avoid!important}
  a{color:#111!important;text-decoration:none!important}
}

/* V20.20 – Pools, teamdiensten, Excel-import en Sportlink */
.clubAdminNavInner{overflow-x:auto;scrollbar-width:thin}
.clubAdminNavInner a{white-space:nowrap}
.kbPoolForm .kbFull{grid-column:1/-1}
.kbPoolRow small,.teamRow small{display:block;color:#6c7e75;margin-top:4px}
.kbPoolRow form,.teamRow form{display:inline}
.linkDanger{border:0;background:none;color:#a43b32;font:inherit;font-weight:700;cursor:pointer;padding:0 6px}
.teamAssignForm{display:grid;grid-template-columns:1fr 2fr 150px auto;gap:12px;align-items:end;background:#f4f8f5;border:1px solid #dce7df;border-radius:16px;padding:18px;margin:24px 0}
.teamAssignForm label,.excelUpload label{display:grid;gap:6px;font-weight:800}
.teamAssignForm input,.teamAssignForm select,.excelUpload input{min-height:44px;padding:9px 11px;border:1px solid #bfd0c5;border-radius:10px;background:#fff;font:inherit}
.teamTable{border:1px solid #dce7df;border-radius:16px;overflow:hidden}
.teamRow{display:grid;grid-template-columns:1.2fr 1.45fr .55fr 1.2fr;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #e5ece7}
.teamRow:last-child{border-bottom:0}.teamHead{background:#edf5ef;color:#315545;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.teamRow>span:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kbMainButton.small{padding:8px 11px;font-size:13px}.kbMainButton.outline{background:#fff!important;color:#0b5a42!important;border:1px solid #0b5a42}
.excelUpload{display:flex;gap:14px;align-items:end;background:#f4f8f5;border-radius:16px;padding:20px;margin:18px 0}.excelUpload label{flex:1}.importColumns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.importColumns>div{border:1px solid #dce7df;border-radius:14px;padding:16px;display:grid;gap:8px}.importColumns span{color:#65786e;font-size:14px;line-height:1.5}
.sportlinkGrid .sportlinkMain{grid-column:span 2}.sportlinkFull{grid-column:1/-1}.inlineActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.dangerButton{background:#fff!important;color:#a43b32!important;border:1px solid #d8a19c!important}.statusList{display:grid;gap:0}.statusList div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e5ece7}.statusList dt{color:#66796f}.statusList dd{margin:0}.statusOk{color:#08704d}.errorStrip{margin-top:16px;background:#fff0ee;color:#8b3029;padding:12px;border-radius:10px}.featureChecks{display:flex;gap:10px;flex-wrap:wrap}.featureChecks span{background:#e6f4e8;color:#14583e;border-radius:999px;padding:8px 12px;font-weight:800}.kbHeadActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.teamAssignForm{grid-template-columns:1fr 1fr}.teamRow{grid-template-columns:1fr 1fr}.teamHead{display:none}.importColumns{grid-template-columns:1fr}.sportlinkGrid .sportlinkMain{grid-column:span 1}.kbHeadActions{width:100%;justify-content:flex-start}}
@media(max-width:620px){.teamAssignForm,.teamRow{grid-template-columns:1fr}.excelUpload{display:grid}.kbPoolForm .kbBoardChoice{grid-column:1/-1}}

/* V13.2 interaction fixes */
.signup>#close,#close{
  position:absolute!important;
  right:10px!important;
  top:10px!important;
  z-index:999!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
}
.signup>#confirm,#confirm{cursor:pointer!important;pointer-events:auto!important}
.open{cursor:pointer!important}
.fullbtn{cursor:default!important;pointer-events:none!important}

/* V14 LOGICA + TIJDLIJN */
.hours{display:none!important}
.shiftHeading{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.shiftHeading b{font-size:12px}.shiftHeading span{font-size:10px;color:var(--muted);font-weight:800}
.serviceTimeline{display:grid;grid-template-columns:34px 1fr 34px;gap:5px;align-items:center;margin:8px 0 7px}.serviceTimeline.withKitchen{margin-top:24px}.timelineStart,.timelineEnd{font-size:8px;font-weight:800;color:#586860}.timelineEnd{text-align:right}.timelineTrack{height:30px;position:relative;border:1px solid #a8c5b5;border-radius:7px;overflow:visible;background:#e1f2e8}.barSegment{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0f6341;font-size:8px;font-weight:900;background:#e1f2e8;border-radius:6px}.kitchenSegment{position:absolute;top:-8px;height:6px;background:#f47a00;border-radius:999px;z-index:3;box-shadow:0 1px 0 rgba(126,65,0,.12);min-width:8px}.kitchenSegment:before,.kitchenSegment:after{content:"";position:absolute;top:6px;height:31px;border-left:1px dashed #e79a43;opacity:.9}.kitchenSegment:before{left:0}.kitchenSegment:after{right:0}.kitchenSegment span{position:absolute;left:50%;top:-17px;transform:translateX(-50%);background:#fff7ec;border:1px solid #efb56e;border-radius:6px;padding:2px 6px;color:#d56b00;font-size:7px;font-weight:900;white-space:nowrap;line-height:1.2}.kitchenWindow{display:none!important}
.pastDay{opacity:.78;background:#f5f4f0!important;border-color:#cfd5d1!important}.pastShift{opacity:.8}.historyLabel{color:#6d7a73!important}.pastbtn{width:100%;margin-top:7px;padding:6px;text-align:center;background:#ecefed;color:#6f7b75;border-radius:7px;font-size:9px;font-weight:800;pointer-events:none}.thankYou{margin-top:10px;padding:9px;border-radius:9px;background:#eef3f0;color:#607069;font-size:9px;line-height:1.4;text-align:center}
.kitchenTimes.isHidden{display:none!important}.kitchenTimes{grid-template-columns:1fr 1fr;max-width:620px}.kitchenHelp{grid-column:1/-1;background:#fff7e9;border:1px solid #efd3a8;border-radius:8px;padding:8px 10px;color:#76521d;font-size:10px;line-height:1.4}.serviceBlockHelp{margin:8px 0 0;padding:10px 12px;border:1px solid #d7e2dc;border-radius:9px;background:#f5f8f6;display:grid;gap:3px}.serviceBlockHelp b{font-size:11px;color:#0b5b40}.serviceBlockHelp span{font-size:10px;color:#6a7a72;line-height:1.4}
.adminShell{max-width:1180px}.adminColumns{grid-template-columns:1.25fr .85fr}.serviceRow{grid-template-columns:54px 1.25fr .72fr auto auto}
@media(max-width:900px){.adminColumns{grid-template-columns:1fr}.serviceTimeline{grid-template-columns:32px 1fr 32px}}

/* V14.1 day-kitchen lock helper */
.kitchenTimes.dayLocked{background:#f5f8f6;border-color:#c7d5cd}.kitchenTimes.dayLocked input{background:#edf2ef;color:#5c6962}.dayKitchenNotice{display:none;margin-top:6px;color:#0f6f43;font-size:11px;font-weight:700}.dayKitchenNotice.show{display:block}


/* V14.3 admin + volunteer details */
.adminBrandLink{color:#fff;text-decoration:none;cursor:pointer}
.adminBrandLink:hover{text-decoration:underline}
.clubLogoLink{color:inherit;text-decoration:none;cursor:pointer}
.clubLogoLink:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,59,42,.12)}
.serviceCardAdmin{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:10px}
.serviceCardAdmin .serviceRow{border:0;border-radius:0;margin:0}
.volunteerAdminList{border-top:1px solid #e7ece9;background:#f9fbfa;padding:10px 12px}
.volunteerAdminTitle{font-size:11px;font-weight:900;color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.volunteerEmpty{font-size:12px;color:#7b8781;padding:3px 0}
.volunteerAdminRow{display:grid;grid-template-columns:34px minmax(150px,.8fr) 1.3fr;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #edf1ef}
.volunteerAdminRow:first-of-type{border-top:0}
.volunteerAvatar{width:30px;height:30px;border-radius:50%;background:#e6f3eb;color:#0e684b;display:grid;place-items:center;font-size:12px;font-weight:900}
.volunteerIdentity{display:grid;gap:2px}
.volunteerIdentity b{font-size:12px}
.volunteerIdentity small{font-size:11px;color:#5d6b64}
.volunteerNote{font-size:11px;color:#55635c;background:#fff;border:1px solid #e3e9e6;border-radius:8px;padding:7px 9px}
.signupNotes{resize:vertical;min-height:72px}
@media(max-width:700px){
  .volunteerAdminRow{grid-template-columns:34px 1fr}
  .volunteerNote{grid-column:1/-1;margin-left:44px}
}

.adminTopLinks a{color:inherit;text-decoration:none;font-weight:800}
.adminFlash{margin:0 0 14px;background:#edf8f1;border:1px solid #b9d9c5;color:#16543d;border-radius:10px;padding:11px 14px;font-weight:700}
.adminVolunteerAdd{border-top:1px solid #e4ebe7;background:#fcfdfc;padding:10px 12px}
.adminVolunteerAdd summary{cursor:pointer;color:#0b5a42;font-weight:900;font-size:12px}
.adminVolunteerForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end;margin-top:10px}
.adminVolunteerForm label{display:grid;gap:4px;font-size:10px;font-weight:800;color:#4c6056}
.adminVolunteerForm input{width:100%;border:1px solid #ccd7d1;border-radius:8px;padding:8px;font:inherit}
.adminVolunteerAdd>small{display:block;margin-top:7px;color:#6c7b73;font-size:10px}
.volunteerAdminRow{grid-template-columns:34px minmax(150px,.8fr) 1.3fr auto}
.volunteerDelete{font-size:10px;color:#a24132;text-decoration:none;font-weight:800}
@media(max-width:900px){.adminVolunteerForm{grid-template-columns:1fr 1fr}.adminVolunteerForm .adminPrimary{grid-column:1/-1}.volunteerAdminRow{grid-template-columns:34px 1fr auto}.volunteerNote{grid-column:2/-1;margin-left:0}}
@media(max-width:600px){.adminVolunteerForm{grid-template-columns:1fr}.adminVolunteerForm .adminPrimary{grid-column:auto}}


/* V17.3 – duidelijker adminformulier vrijwilliger */
.adminVolunteerAdd{
  padding:14px 16px 16px;
  background:#fbfdfb;
}
.adminVolunteerAdd summary{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px;
  border-radius:10px;
  background:#0b5a42;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
.adminVolunteerAdd summary::-webkit-details-marker{display:none}
.addVolunteerIcon{
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.16);
  font-size:20px;line-height:1;
}
.adminVolunteerForm{
  display:block;
  margin-top:16px;
  padding:16px;
  border:1px solid #dbe5df;
  border-radius:12px;
  background:#fff;
}
.adminVolunteerGrid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:12px;
}
.adminVolunteerForm label{
  display:grid;
  gap:6px;
  color:#31493e;
  font-size:12px;
  font-weight:800;
}
.adminVolunteerForm label span{color:#c86b00}
.adminVolunteerForm label small{
  font-weight:600;
  color:#718078;
}
.adminVolunteerForm input,
.adminVolunteerForm textarea{
  width:100%;
  border:1px solid #cbd8d1;
  border-radius:9px;
  padding:11px 12px;
  font:inherit;
  background:#fff;
}
.adminVolunteerForm textarea{resize:vertical}
.kitchenPreference{
  margin-top:14px;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:9px!important;
  width:max-content;
  max-width:100%;
  padding:10px 13px;
  border:1px solid #f0c18b;
  background:#fff7ee;
  border-radius:999px;
  cursor:pointer;
}
.kitchenPreference input{
  width:18px!important;
  height:18px;
  padding:0;
}
.kitchenPreference span{
  color:#8a4b05!important;
  font-weight:800;
}
.adminNotes{margin-top:14px}
.adminAddVolunteerBtn{
  width:100%;
  margin-top:14px;
  border:0;
  border-radius:10px;
  padding:13px 16px;
  background:#0b5a42;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.adminAddVolunteerBtn:hover{background:#084a37}
.adminAddHelp{
  display:block;
  margin-top:10px!important;
  color:#687870!important;
  line-height:1.4;
}
@media(max-width:760px){
  .adminVolunteerGrid{grid-template-columns:1fr}
  .kitchenPreference{width:100%;border-radius:10px}
}


/* V17.4 - admin vrijwilliger toevoegen definitief */
.adminVolunteerAdd{
  margin-top:0;
  padding:16px 18px 18px!important;
  border-top:1px solid #dce6e0!important;
  background:#f8fbf9!important;
}
.adminVolunteerAdd > summary{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  padding:13px 16px!important;
  margin:0!important;
  border:0!important;
  border-radius:11px!important;
  background:#0b5a42!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:900!important;
  cursor:pointer!important;
  list-style:none!important;
}
.adminVolunteerAdd > summary::-webkit-details-marker{display:none!important}
.adminVolunteerAdd > summary::marker{display:none!important}
.addVolunteerIcon{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
}
.adminVolunteerForm{
  display:block!important;
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid #d7e2dc!important;
  border-radius:12px!important;
  background:#fff!important;
}
.adminVolunteerGrid{
  display:grid!important;
  grid-template-columns:1.2fr 1fr 1fr!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.adminVolunteerForm label{
  display:grid!important;
  gap:6px!important;
  color:#2c4639!important;
  font-size:12px!important;
  font-weight:800!important;
}
.adminVolunteerForm label small{
  color:#74827b!important;
  font-weight:600!important;
}
.adminVolunteerForm input,
.adminVolunteerForm textarea{
  display:block!important;
  width:100%!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border:1px solid #cbd8d1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#173126!important;
  font:inherit!important;
}
.adminVolunteerForm textarea{
  min-height:82px!important;
  resize:vertical!important;
}
.kitchenPreference{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:4px 0 13px!important;
  padding:11px 14px!important;
  border:1px solid #f0bd80!important;
  border-radius:10px!important;
  background:#fff5e9!important;
  color:#8b4a05!important;
  cursor:pointer!important;
}
.kitchenPreference input{
  width:19px!important;
  height:19px!important;
  min-height:0!important;
  padding:0!important;
}
.kitchenPreference span{
  color:#8b4a05!important;
  font-size:13px!important;
  font-weight:900!important;
}
.adminNotes{
  margin-top:0!important;
}
.adminAddVolunteerBtn{
  display:block!important;
  width:100%!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  border:0!important;
  border-radius:10px!important;
  background:#0b5a42!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.adminAddVolunteerBtn:hover{background:#084936!important}
.adminAddHelp{
  display:block!important;
  margin-top:10px!important;
  color:#66776e!important;
  font-size:11px!important;
  line-height:1.45!important;
}
@media(max-width:800px){
  .adminVolunteerGrid{grid-template-columns:1fr!important}
  .kitchenPreference{width:100%!important}
}


/* V18 – printknoppen per daggroep */
.groupedServices{display:flex;flex-direction:column;gap:22px}
.serviceDayGroup{background:#fff;border:1px solid #dbe5ec;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(18,53,75,.06)}
.serviceDayHeader{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 4px 14px;border-bottom:1px solid #e8eff4;margin-bottom:16px}
.serviceDayDate{font-size:24px;font-weight:900;color:#16384f;letter-spacing:-.02em}
.serviceDayMeta{font-size:14px;color:#557083;margin-top:4px}
.serviceDayActions{display:flex;gap:10px;flex-wrap:wrap}
.serviceDayActions a{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:12px;font-weight:800;text-decoration:none;box-shadow:0 8px 18px rgba(20,55,76,.08)}
.serviceDayActions .pdfBtn{background:#fff4df;color:#9a5b00;border:1px solid #f2d29a}
.serviceDayActions .dayPrintBtn{background:#0e684b;color:#fff;border:1px solid #0e684b}
.serviceDayGroup .serviceCardAdmin{margin-top:14px}
@media(max-width:760px){
  .serviceDayHeader{align-items:flex-start}
  .serviceDayDate{font-size:21px}
  .serviceDayActions{width:100%}
  .serviceDayActions a{flex:1 1 180px}
}


/* V18.2 – beheerdergegevens */
.adminAccountPanel{margin-top:16px}
.adminAccountForm{display:grid;gap:10px}
.adminAccountForm label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#41584c}
.adminAccountForm input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd8d1;
  border-radius:9px;
  padding:11px 12px;
  font:inherit;
  background:#fff;
}
.adminAccountForm .adminPrimary{
  width:100%;
  padding:11px 14px;
}
.adminAccountHelp{
  display:block;
  margin-top:8px;
  color:#6b7b72;
  line-height:1.4;
}


/* V18.4 – zichtbaar meldingenblok */
.adminNotificationPanel{
  margin:0 0 18px;
  border:1px solid #cfe0d6;
  background:#f8fcf9;
  box-shadow:0 6px 20px rgba(11,90,66,.06);
}
.adminNotificationPanel .panelTitle{
  color:#0b5a42;
  font-size:16px;
  font-weight:900;
}
.adminNotificationForm{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin-top:12px;
}
.adminNotificationForm label{
  display:grid;
  gap:6px;
  font-size:12px;
  font-weight:800;
  color:#41584c;
}
.adminNotificationForm input{
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #cbd8d1;
  border-radius:9px;
  background:#fff;
  font:inherit;
}
.adminNotificationForm .adminPrimary{
  min-height:42px;
  white-space:nowrap;
}
@media(max-width:760px){
  .adminNotificationForm{
    grid-template-columns:1fr;
  }
  .adminNotificationForm .adminPrimary{
    width:100%;
  }
}


/* V18.5 – clubbeheer navigatie en tweede pagina's */
.clubAdminNav{background:#fff;border-bottom:1px solid #dfe8e3;position:sticky;top:0;z-index:20}
.clubAdminNavInner{max-width:1320px;margin:0 auto;padding:0 18px;display:flex;gap:6px;overflow-x:auto}
.clubAdminNav a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;color:#40574c;text-decoration:none;font-weight:800;font-size:13px;border-bottom:3px solid transparent;white-space:nowrap}
.clubAdminNav a:hover{color:#0b5a42}
.clubAdminNav a.active{color:#0b5a42;border-bottom-color:#0b5a42}
.settingsShell{max-width:1320px;margin:0 auto;padding:24px 18px 40px}
.settingsHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.settingsHeader h1{margin:0 0 5px;color:#123e2f}
.settingsHeader p{margin:0;color:#65776e}
.settingsGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.settingsCard{background:#fff;border:1px solid #dfe7e2;border-radius:15px;padding:18px;box-shadow:0 6px 18px rgba(10,65,47,.04)}
.settingsCard h2{margin:0 0 14px;color:#0b5a42;font-size:18px}
.settingsCard p{color:#65776e;line-height:1.5}
.settingsCard label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#40574c;margin:10px 0}
.settingsCard input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cbd8d1;border-radius:9px;font:inherit;background:#fff}
.settingsCard .readonly{background:#f3f6f4;color:#6b7b73}
.settingsCard button,.settingsCard .settingsBtn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #0b5a42;border-radius:9px;background:#0b5a42;color:#fff;text-decoration:none;font-weight:900;cursor:pointer}
.settingsCard .outline{background:#fff;color:#0b5a42}
.settingsWide{grid-column:span 2}
.widgetCode{background:#f6f8f7;border:1px solid #dce5e0;border-radius:10px;padding:13px;font:12px/1.55 monospace;overflow:auto;white-space:pre-wrap}
.widgetPreview{background:#f7faf8;border:1px solid #dce5e0;border-radius:12px;padding:14px}
.widgetMiniRow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #e7eeea;font-size:12px}
.widgetMiniRow:last-child{border-bottom:0}
.infoStrip{margin-top:14px;padding:11px 12px;border-radius:10px;background:#eef6ff;border:1px solid #c9def7;color:#315a7b;font-size:12px}
@media(max-width:1000px){.settingsGrid{grid-template-columns:1fr 1fr}.settingsWide{grid-column:span 2}}
@media(max-width:700px){.settingsGrid{grid-template-columns:1fr}.settingsWide{grid-column:auto}}


/* V19 – account & beveiliging */
.forgotLink{display:block;text-align:center;margin-top:14px;color:#0b5a42;font-weight:800;text-decoration:none}.forgotLink:hover{text-decoration:underline}
.resetInfo{background:#edf8f2;border:1px solid #c8e3d4;color:#245c45;border-radius:10px;padding:12px 14px;margin:12px 0;line-height:1.5}
.linkButton{display:flex;text-decoration:none;margin-top:14px;align-items:center;justify-content:center}
.settingsFootLink{margin-top:12px!important}.settingsFootLink a{color:#0b5a42;font-weight:800}
.loginCard .adminFlash{margin:12px 0}

/* V20 – rustig clubgedeelte, complete kantinedagen en vrijwilligerspool */
.kbV20{background:#f3f6f1}.kbManageShell{max-width:1180px;margin:0 auto;padding:30px 22px 60px}.kbManageHead{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px}.kbManageHead h1{margin:5px 0 7px;font-size:38px}.kbManageHead p,.kbPanelHead p{margin:0;color:#68766e}.kbEyebrow,.kbStep{font-size:11px;letter-spacing:.1em;font-weight:900;color:#176243}.kbMainButton{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:0 17px;border:0;border-radius:10px;background:#176243;color:#fff!important;font-weight:900;cursor:pointer}.kbSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.kbSummary>div{padding:17px;background:#fff;border:1px solid #dce5df;border-radius:14px}.kbSummary span{display:block;color:#6e7b74;font-size:12px}.kbSummary strong{display:block;margin-top:6px;font-size:26px;color:#174b35}.kbPanel{margin-bottom:20px;padding:22px;background:#fff;border:1px solid #dbe5df;border-radius:17px;box-shadow:0 8px 24px rgba(20,65,43,.04)}.kbPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px}.kbPanelHead h2{margin:5px 0 5px;font-size:24px}.kbPoolCount{padding:7px 10px;border-radius:999px;background:#e9f4ec;color:#176243;font-size:12px;font-weight:900}.kbEventBasics{display:grid;grid-template-columns:.65fr 1.35fr;gap:13px}.kbEventForm label,.kbPoolForm label,.kbCallForm label{display:grid;gap:6px;color:#40544a;font-size:12px;font-weight:800}.kbEventForm input,.kbEventForm textarea,.kbPoolForm input,.kbCallForm input,.kbCallForm select{width:100%;border:1px solid #cbd8d0;border-radius:9px;padding:11px 12px;background:#fff;color:#182b22;font:inherit}.kbEventForm textarea{resize:vertical}.kbFull{grid-column:1/-1}.kbFunctionTitle{margin:24px 0 12px}.kbFunctionTitle h3{margin:0 0 4px;font-size:18px}.kbFunctionTitle p{margin:0;color:#6f7c75;font-size:12px}.kbFunctionGrid{display:grid;gap:9px}.kbFunctionCard{display:grid;grid-template-columns:34px minmax(150px,1fr) 1.5fr;gap:12px;align-items:center;padding:12px;border:1px solid #dce5df;border-radius:12px;opacity:.7;background:#fbfcfb}.kbFunctionCard.isFixed{border-color:#c5d9cd}.kbFunctionCard.isChecked{opacity:1;background:#f6faf7;border-color:#8bb79c}.kbFunctionCheck{display:block!important}.kbFunctionCheck input{position:absolute;opacity:0}.kbFunctionCheck span{display:grid;width:24px;height:24px;border:2px solid #a9b9b0;border-radius:7px;background:#fff}.kbFunctionCheck input:checked+span{background:#176243;border-color:#176243}.kbFunctionCheck input:checked+span:after{content:'✓';color:#fff;text-align:center;line-height:20px;font-weight:900}.kbFunctionName{display:grid;gap:4px}.kbFunctionName strong{font-size:15px}.kbFunctionName small{color:#75837b;font-size:10px}.kbFunctionName input{padding:8px 9px;font-weight:900}.kbFunctionFields{display:grid;grid-template-columns:1fr 1fr .75fr;gap:9px}.kbFunctionFields label{font-size:10px}.kbFunctionFields input{padding:8px 9px}.kbCustomAdd{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;padding:13px;border:1px dashed #b9c8c0;border-radius:12px}.kbCustomAdd>div{display:grid;gap:3px}.kbCustomAdd span{font-size:11px;color:#6c7a72}.kbCustomAdd>div:last-child{display:flex;grid-template-columns:none}.kbCustomAdd input{min-width:230px;border-radius:9px 0 0 9px}.kbCustomAdd button{border:0;border-radius:0 9px 9px 0;background:#e9f2ec;color:#17553c;font-weight:900;padding:0 13px}.kbFormActions{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:19px}.kbFormActions>a{color:#64736b;font-weight:800;font-size:12px}.kbEventList{display:grid;gap:12px}.kbEventCard{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;border:1px solid #dce5df;border-radius:14px;padding:15px}.kbDateBlock{height:64px;border-radius:12px;background:#e8f3eb;color:#176243;display:grid;place-content:center;text-align:center}.kbDateBlock strong{font-size:23px;line-height:1}.kbDateBlock span{font-size:10px;font-weight:900;margin-top:4px}.kbEventTitle{display:flex;justify-content:space-between;gap:12px}.kbEventTitle h3{margin:0 0 4px;font-size:18px}.kbEventTitle>div>span{color:#75837b;font-size:11px}.kbOccupancy{height:max-content;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.kbOccupancy.needsPeople{background:#fff0dd;color:#9a5714}.kbOccupancy.isComplete{background:#e7f3ea;color:#176243}.kbPublicNote,.kbInternalNote{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f0f4f1;font-size:12px}.kbInternalNote{background:#f7f3ec;color:#685b47}.kbShiftRows{margin-top:12px;border-top:1px solid #e5ebe7}.kbShiftRow{display:grid;grid-template-columns:minmax(150px,1fr) 85px 130px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ee;font-size:12px}.kbShiftRow>div{display:grid;gap:3px}.kbShiftRow>div span{color:#75837b}.kbShiftRow>a{padding:7px 9px;border-radius:8px;background:#fff0dd;color:#925111;font-weight:900;text-align:center}.kbDone{color:#176243;font-weight:900}.kbEventActions{display:flex;gap:14px;justify-content:flex-end;margin-top:10px;font-size:11px;font-weight:900}.kbEventActions a{color:#176243}.kbEventActions .danger{color:#a2473e}.kbEmpty{padding:17px;border-radius:11px;background:#f4f7f5;color:#6b7971;text-align:center}.kbArchive{display:grid;gap:9px}.kbArchive details{border:1px solid #dce5df;border-radius:12px;overflow:hidden}.kbArchive summary{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;cursor:pointer}.kbArchive summary>span:first-child{display:flex;align-items:center;gap:12px}.kbArchive summary small{color:#74827a}.kbArchiveRow{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:12px;padding:11px 15px;border-top:1px solid #e8edea;font-size:12px}.kbArchiveRow>span:last-child{color:#718078;text-align:right}.kbLegacy{opacity:.88}.kbPoolForm{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px;border-radius:13px;background:#f6f9f7;margin-bottom:18px}.kbPoolForm fieldset{grid-column:1/-1;border:0;padding:0;margin:2px 0}.kbPoolForm legend{font-size:12px;font-weight:900;color:#40544a;margin-bottom:8px}.kbPoolForm legend small{font-weight:600;color:#748078}.kbPoolForm .kbFormActions{grid-column:1/-1}.kbPreferenceChips{display:flex;gap:7px;flex-wrap:wrap}.kbPreferenceChips label{display:block}.kbPreferenceChips input{position:absolute;opacity:0;width:auto}.kbPreferenceChips span{display:block;padding:8px 10px;border:1px solid #cdd9d2;border-radius:999px;background:#fff;color:#52645a}.kbPreferenceChips input:checked+span{background:#176243;color:#fff;border-color:#176243}.kbPoolTable{border:1px solid #dce5df;border-radius:12px;overflow:hidden}.kbPoolHead,.kbPoolRow{display:grid;grid-template-columns:1.1fr 1fr 1.4fr 150px;gap:10px;align-items:center;padding:11px 13px}.kbPoolHead{background:#eef4f0;color:#5e7066;font-size:10px;font-weight:900;text-transform:uppercase}.kbPoolRow{border-top:1px solid #e7ece9;font-size:12px}.kbPoolRow>span:last-child{display:flex;gap:9px;justify-content:flex-end}.kbPoolRow a{color:#176243;font-weight:900}.kbPoolRow a.danger{color:#a2473e}.kbInactive{margin-top:13px;border:1px solid #dce5df;border-radius:11px;padding:12px}.kbInactive summary{cursor:pointer;color:#69766f;font-weight:800;font-size:12px}.kbCallForm{display:grid;grid-template-columns:.65fr .65fr 1.4fr;gap:13px}.kbCallPreview{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:13px;border-radius:11px;background:#f1f5f2;font-size:12px}.kbCallPreview span{padding:7px 9px;border-radius:8px;background:#fff}.kbCallPreview .yes{background:#176243;color:#fff;font-weight:900}.kbCallPreview .later{background:#e8eeea;color:#294438;font-weight:900}.kbCalls{display:grid;gap:9px}.kbCallRow{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px;border:1px solid #dce5df;border-radius:11px}.kbCallRow>div:first-child{display:grid;gap:4px}.kbCallRow>div:first-child span{font-size:11px;color:#728078}.kbCallNumbers{display:flex;gap:13px;flex-wrap:wrap}.kbCallNumbers span{font-size:11px;color:#66766d}.kbCallNumbers b{color:#183d2c}.clubAdminNavInner{overflow-x:auto;white-space:nowrap;scrollbar-width:none}
@media(max-width:800px){.kbManageShell{padding:20px 13px 40px}.kbManageHead{align-items:flex-start}.kbManageHead h1{font-size:30px}.kbManageHead .kbMainButton{padding:0 12px}.kbSummary{grid-template-columns:1fr}.kbEventBasics,.kbPoolForm,.kbCallForm{grid-template-columns:1fr}.kbFull,.kbPoolForm fieldset,.kbPoolForm .kbFormActions{grid-column:auto}.kbFunctionCard{grid-template-columns:30px 1fr}.kbFunctionFields{grid-column:1/-1}.kbCustomAdd{align-items:stretch;flex-direction:column}.kbCustomAdd>div:last-child{display:flex}.kbCustomAdd input{min-width:0}.kbEventCard{grid-template-columns:52px minmax(0,1fr);padding:11px}.kbDateBlock{height:54px}.kbEventTitle{display:grid}.kbOccupancy{justify-self:start}.kbShiftRow{grid-template-columns:1fr auto}.kbShiftRow>a,.kbShiftRow>.kbDone{grid-column:1/-1}.kbArchiveRow{grid-template-columns:92px 1fr}.kbArchiveRow>span:last-child{grid-column:2;text-align:left}.kbPoolHead{display:none}.kbPoolRow{grid-template-columns:1fr 1fr}.kbPoolRow>span:nth-child(3),.kbPoolRow>span:last-child{grid-column:1/-1;justify-content:flex-start}.kbCallRow{display:grid}.kbCallNumbers{display:grid;grid-template-columns:repeat(3,1fr)}.kbPanel{padding:16px}.clubAdminNavInner{padding-bottom:2px}}
@media(max-width:480px){.kbManageHead{display:grid}.kbManageHead .kbMainButton{width:100%}.kbFunctionFields{grid-template-columns:1fr 1fr}.kbFunctionFields label:last-child{grid-column:1/-1}.kbCustomAdd>div:last-child{display:grid}.kbCustomAdd input,.kbCustomAdd button{border-radius:9px;min-height:42px}.kbEventCard{grid-template-columns:1fr}.kbDateBlock{width:54px}.kbCallNumbers{grid-template-columns:1fr}}

/* V20.3 – meerdere tijdvakken per functie */
.kbFunctionCard{--kbRole:#176243;--kbRoleSoft:#eaf4ed;grid-template-columns:34px minmax(150px,.75fr) 2fr;align-items:start;border-left:5px solid #bac7c0}
.kbFunctionCard.isBar{--kbRole:#176243;--kbRoleSoft:#eaf4ed}
.kbFunctionCard.isKitchen{--kbRole:#d46d27;--kbRoleSoft:#fff1e6}
.kbFunctionCard.isCash{--kbRole:#2f6fa6;--kbRoleSoft:#eaf3fb}
.kbFunctionCard.isChecked{background:#fdfefd;border-color:#a8bdb1;border-left-color:var(--kbRole)}
.kbFunctionCheck{margin-top:5px}
.kbFunctionCheck input:checked+span{background:var(--kbRole);border-color:var(--kbRole)}
.kbFunctionName{padding-top:4px}
.kbFunctionName strong{font-size:16px;color:var(--kbRole)}
.kbFunctionService{display:grid;gap:9px}
.kbMultipleChoice{display:flex;align-items:center;gap:9px;min-height:31px}
.kbMultipleChoice>label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:7px;color:#31483d;cursor:pointer}
.kbMultipleChoice input{position:absolute;opacity:0;width:auto}
.kbMultipleChoice label span{position:relative;width:38px;height:22px;border-radius:999px;background:#cbd4cf;transition:.2s}
.kbMultipleChoice label span:after{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:.2s}
.kbMultipleChoice input:checked+span{background:var(--kbRole)}
.kbMultipleChoice input:checked+span:after{transform:translateX(16px)}
.kbMultipleChoice small{color:#75837b;font-size:10px}
.kbServiceSummary{padding:7px 10px;border-radius:8px;background:var(--kbRoleSoft);color:var(--kbRole);font-size:11px;font-weight:900}
.kbServiceRows{display:grid;gap:7px}
.kbServiceRow{display:grid;grid-template-columns:minmax(86px,.8fr) 1fr 1fr .75fr 34px;gap:8px;align-items:end;padding:9px;border:1px solid #dce5df;border-radius:10px;background:#fff}
.kbServiceRowName{display:flex;align-items:center;gap:7px;min-height:36px}
.kbServiceRowName span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--kbRoleSoft);color:var(--kbRole);font-size:10px;font-weight:900}
.kbServiceRowName b{font-size:11px}
.kbServiceRow label{font-size:9px}
.kbServiceRow input{padding:7px 8px}
.kbRemoveService{width:34px;height:36px;border:0;border-radius:8px;background:#f4f6f4;color:#7a857f;font-size:20px;cursor:pointer}
.kbRemoveService:hover{background:#fbeaea;color:#a2473e}
.kbAddService{justify-self:start;border:1px solid var(--kbRole);border-radius:8px;background:#fff;color:var(--kbRole);padding:8px 11px;font-size:11px;font-weight:900;cursor:pointer}
@media(max-width:800px){
 .kbFunctionCard{grid-template-columns:30px 1fr}
 .kbFunctionService{grid-column:1/-1}
 .kbServiceRow{grid-template-columns:1fr 1fr 1fr 34px}
 .kbServiceRowName{grid-column:1/-1}
}
@media(max-width:480px){
 .kbServiceRow{position:relative;grid-template-columns:1fr 1fr}
 .kbServiceRowName{grid-column:1/-1}
 .kbRemoveService{position:absolute;right:9px;top:9px}
 .kbMultipleChoice{align-items:flex-start;flex-wrap:wrap}
 .kbMultipleChoice small{width:100%;padding-left:45px}
}

/* V20.6 – overzichtelijke onderverdeling binnen Planning */
.kbPlanningTabs{display:flex;gap:8px;margin:-4px 0 20px;padding:6px;background:#e8eeea;border:1px solid #d5dfd9;border-radius:14px;overflow-x:auto;scrollbar-width:none}
.kbPlanningTabs a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border-radius:10px;color:#53645b;font-size:12px;font-weight:900;white-space:nowrap}
.kbPlanningTabs a.active{background:#fff;color:#176243;box-shadow:0 3px 12px rgba(23,98,67,.09)}
.kbPlanningTabs a span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#dce9e0;color:#176243;font-size:10px}
.kbPlanningTabs a.active span{background:#176243;color:#fff}
@media(max-width:640px){
 .kbPlanningTabs{margin-top:-8px}
 .kbPlanningTabs a{min-width:max-content;padding:0 13px}
}

/* V20.7 – duidelijke WhatsApp-selectie vanuit de vrijwilligerspool */
.kbPoolTabs{display:flex;gap:8px;margin:-4px 0 20px;padding:6px;background:#e8eeea;border:1px solid #d5dfd9;border-radius:14px;overflow-x:auto;scrollbar-width:none}
.kbPoolTabs a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 17px;border-radius:10px;color:#53645b;font-size:12px;font-weight:900;white-space:nowrap;text-decoration:none}
.kbPoolTabs a.active{background:#fff;color:#176243;box-shadow:0 3px 12px rgba(23,98,67,.09)}
.kbPoolTabs a span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#dce9e0;color:#176243;font-size:10px}
.kbPoolTabs a.active span{background:#176243;color:#fff}
.kbShiftChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.kbShiftChoices>a{position:relative;display:grid;gap:5px;padding:14px 74px 14px 14px;border:1px solid #d8e2dc;border-radius:12px;color:#263e32;text-decoration:none;background:#fbfdfb}
.kbShiftChoices>a:hover,.kbShiftChoices>a.active{border-color:#176243;background:#f0f7f2}
.kbShiftChoices>a span{color:#6d7c74;font-size:11px}.kbShiftChoices>a em{position:absolute;right:12px;top:12px;padding:6px 8px;border-radius:999px;background:#fff0dd;color:#955413;font-size:10px;font-weight:900;font-style:normal}
.kbRecipientForm{grid-template-columns:1fr 1fr;padding-top:20px;border-top:1px solid #e1e8e4}.kbRecipientHeading h2{margin:5px 0}.kbRecipientHeading p{margin:0 0 6px;color:#697870;font-size:12px}
.kbRecipientStep{margin-top:4px}.kbRecipientStep h2{margin:5px 0}.kbRecipientStep p{margin:0;color:#697870;font-size:12px}
.kbCategorySelect{display:grid;gap:10px;padding:14px;border:1px solid #d8e2dc;border-radius:12px;background:#fbfdfb}.kbCategorySelect>div:first-child{display:grid;gap:3px}.kbCategorySelect small{color:#718078;font-size:11px}.kbCategoryChips{display:flex;gap:7px;flex-wrap:wrap}.kbCategoryChips label{display:block;cursor:pointer}.kbCategoryChips input{position:absolute;opacity:0;width:auto}.kbCategoryChips span{display:block;padding:8px 11px;border:1px solid #cbd8d0;border-radius:999px;background:#fff;color:#506259;font-size:11px;font-weight:900}.kbCategoryChips input:checked+span{border-color:#176243;background:#176243;color:#fff}
.kbRecipientTools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #d8e2dc;border-radius:11px;background:#f5f8f6}.kbRecipientTools>label{display:flex;grid-template-columns:none;align-items:center;gap:8px;font-size:13px}.kbRecipientTools input{width:18px;height:18px}.kbRecipientTools>div{display:flex;gap:6px;flex-wrap:wrap}.kbRecipientTools button{border:1px solid #c7d6cd;border-radius:8px;background:#fff;color:#365346;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.kbRecipientTools strong{color:#176243;font-size:12px;white-space:nowrap}
.kbRecipientList{border:1px solid #dce5df;border-radius:12px;overflow:hidden}.kbRecipientRow{display:grid!important;grid-template-columns:32px minmax(180px,1.1fr) minmax(130px,1fr) 120px;gap:10px;align-items:center;padding:11px 13px;border-top:1px solid #e7ece9;color:#2d4438!important;font-size:12px!important;cursor:pointer}.kbRecipientRow:first-child{border-top:0}.kbRecipientRow:hover{background:#f7faf8}.kbRecipientRow>span:nth-child(2){display:grid;gap:3px}.kbRecipientRow small{color:#78857e}.kbRecipientRow input{width:18px;height:18px}.kbRecipientHead{background:#eef4f0;color:#607168!important;font-size:10px!important;font-weight:900;text-transform:uppercase;cursor:default}.kbRecipientRow.disabled{background:#f5f5f4;color:#8a938e!important;cursor:not-allowed}.kbRecipientRow em{font-size:10px;font-style:normal}.kbStatusGood{display:inline-block;padding:5px 7px;border-radius:999px;background:#e5f3e9;color:#176243;font-weight:900}.kbStatusMuted{color:#8a938e;font-weight:800}.kbMainButton:disabled{opacity:.45;cursor:not-allowed}

/* V20.11 – zichtbare bezetting en eigen bevestigingsvensters */
.kbShiftPeople{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap;gap:7px!important;margin-top:2px}.kbShiftPeople>span{display:grid;gap:2px;padding:7px 10px;border:1px solid #d8e4dc;border-radius:9px;background:#f5f9f6;color:#294b3a!important}.kbShiftPeople>span b{font-size:12px}.kbShiftPeople>span small{color:#6f7d75;font-size:10px}.kbShiftPeople.isEmpty>span{border-style:dashed;background:#fafbfa;color:#7a8780!important;font-size:11px}
.kbSendDialog{width:min(500px,calc(100% - 28px));box-sizing:border-box;border:0;border-radius:18px;padding:24px;color:#20362b;box-shadow:0 24px 70px rgba(15,45,30,.25)}.kbSendDialog::backdrop{background:rgba(20,42,31,.48);backdrop-filter:blur(2px)}.kbSendDialogBrand{color:#176243;font-size:13px;font-weight:900;letter-spacing:.04em}.kbSendDialog h2{margin:9px 0;font-size:25px}.kbSendDialog p{margin:8px 0 15px;color:#63726a;line-height:1.45}.kbSendDialogShift{display:grid;gap:5px;padding:13px;border-radius:11px;background:#edf5ef}.kbSendDialogShift span{color:#607169;font-size:12px}.kbSendDialogActions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.kbSendDialogActions button{border:0;border-radius:10px;padding:12px;font-weight:900;cursor:pointer}.kbSendDialogActions button:first-child{background:#e9efeb;color:#3f5549}.kbSendDialogActions button:last-child{background:#176243;color:#fff}
@media(max-width:760px){.kbPoolTabs a{min-width:max-content;padding:0 13px}.kbShiftChoices{grid-template-columns:1fr}.kbRecipientForm{grid-template-columns:1fr}.kbRecipientTools{align-items:flex-start;flex-direction:column}.kbRecipientRow{grid-template-columns:28px 1fr}.kbRecipientRow>span:nth-child(3),.kbRecipientRow>span:nth-child(4){grid-column:2}.kbRecipientHead{display:none!important}.kbSendDialogActions{grid-template-columns:1fr}.kbSendDialogActions button:last-child{grid-row:1}.kbShiftPeople{grid-column:1/-1!important}}

/* V20.12 – één herkenbare Kantinebezetting-bevestiging voor alle beheeracties */
.kbConfirmOpen{overflow:hidden}.kbConfirmOverlay[hidden]{display:none}.kbConfirmOverlay{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:16px;background:rgba(20,42,31,.48);backdrop-filter:blur(2px)}.kbConfirmBox{width:min(470px,100%);box-sizing:border-box;padding:24px;border:0;border-radius:18px;background:#fff;color:#20362b;box-shadow:0 24px 70px rgba(15,45,30,.25)}.kbConfirmBrand{color:#176243;font-size:13px;font-weight:900;letter-spacing:.04em}.kbConfirmBox h2{margin:9px 0;font-size:25px}.kbConfirmMessage{margin:8px 0 20px;color:#63726a;line-height:1.5}.kbConfirmButtons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kbConfirmButtons button{border:0;border-radius:10px;padding:12px;font-weight:900;cursor:pointer}.kbConfirmBack{background:#e9efeb;color:#3f5549}.kbConfirmProceed{background:#176243;color:#fff}.kbConfirmProceed.isDanger{background:#9a4919}
@media(max-width:760px){.kbConfirmButtons{grid-template-columns:1fr}.kbConfirmProceed{grid-row:1}}
.kbMoveOverlay{position:fixed;z-index:10001;inset:0;display:grid;place-items:center;padding:16px;background:rgba(20,42,31,.48);backdrop-filter:blur(2px)}.kbMoveBox{width:min(520px,100%);box-sizing:border-box;padding:24px;border-radius:18px;background:#fff;color:#20362b;box-shadow:0 24px 70px rgba(15,45,30,.25)}.kbMoveBox h2{margin:9px 0;font-size:25px}.kbMoveBox p{margin:8px 0 20px;color:#63726a;line-height:1.5}.kbMoveButtons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kbMoveButtons button{border:0;border-radius:10px;padding:12px;font-weight:900;cursor:pointer}.kbMoveButtons [data-move-cancel]{grid-column:1/-1;background:#eef1ef;color:#526159}.kbMoveButtons [data-move-only]{background:#e2ebe5;color:#234535}.kbMoveButtons [data-move-whatsapp]{background:#176243;color:#fff}@media(max-width:760px){.kbMoveButtons{grid-template-columns:1fr}.kbMoveButtons [data-move-cancel]{grid-column:auto;grid-row:3}}

/* V20.13 – werkplanning met beheer, bijzonderheden en printweergave */
.kbEventInfo{display:grid;gap:8px;margin-top:10px}.kbEventInfo .kbPublicNote,.kbEventInfo .kbInternalNote{display:grid;gap:4px;margin:0}.kbEventInfo b{font-size:11px}.kbEventInfo span{line-height:1.45}.kbMissingNote{display:inline-flex;width:max-content;max-width:100%;padding:8px 10px;border:1px dashed #b9c9c0;border-radius:9px;color:#617269;font-size:11px;font-weight:800}.kbShiftManager{grid-column:1/-1;margin-top:3px;border:1px solid #dce5df;border-radius:10px;background:#fbfcfb}.kbShiftManager>summary{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;color:#315343;font-size:11px;font-weight:900;cursor:pointer}.kbShiftManager>summary span{color:#7a8780;font-weight:600}.kbShiftManagerBody{display:grid;gap:10px;padding:0 11px 11px}.kbManagePeople{display:grid;gap:7px}.kbManagePerson{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) auto auto;gap:7px;align-items:center;padding:9px;border-radius:9px;background:#f0f5f2}.kbManageIdentity{display:grid;gap:2px}.kbManageIdentity span{color:#718078;font-size:10px}.kbManagePerson select,.kbQuickAdd input{min-width:0;border:1px solid #cbd8d0;border-radius:8px;padding:9px;background:#fff;color:#253d31}.kbManagePerson button,.kbQuickAdd button{border:0;border-radius:8px;padding:9px 10px;background:#dfece4;color:#17553c;font-size:11px;font-weight:900;cursor:pointer}.kbManagePerson button.danger{background:#fff0e8;color:#984817}.kbQuickAdd{display:grid;grid-template-columns:minmax(150px,1fr) 1fr 1fr auto;gap:7px;align-items:center;padding-top:10px;border-top:1px solid #e4eae6}.kbQuickAdd b{font-size:11px}.kbQuickAdd button{background:#176243;color:#fff}.kbPrintAction{color:#176243!important}.kbPrintAction:before{content:'▣ ';font-weight:900}
@media(max-width:820px){.kbManagePerson{grid-template-columns:1fr 1fr}.kbManageIdentity{grid-column:1/-1}.kbQuickAdd{grid-template-columns:1fr 1fr}.kbQuickAdd b,.kbQuickAdd button{grid-column:1/-1}.kbEventActions{flex-wrap:wrap}.kbShiftManager>summary span{display:none}}
@media(max-width:520px){.kbManagePerson,.kbQuickAdd{grid-template-columns:1fr}.kbManageIdentity,.kbQuickAdd b,.kbQuickAdd button{grid-column:auto}.kbManagePerson button{width:100%}}

/* V20.21 – drie pools en Excel-wedstrijdprogramma */
.kbPoolCategories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 12px}.kbPoolCategories a{display:grid;gap:7px;min-height:120px;padding:20px;border:2px solid #dbe6df;border-radius:18px;background:#fff;color:#29483a;text-decoration:none;box-shadow:0 8px 26px rgba(26,70,48,.06)}.kbPoolCategories a:hover,.kbPoolCategories a.active{border-color:#1b7954;background:#f0f8f3;transform:translateY(-1px)}.kbPoolCategories small{color:#698077;font-size:10px;font-weight:900;letter-spacing:.08em}.kbPoolCategories b{font-size:22px;color:#165c40}.kbPoolCategories span{color:#718078;font-size:12px}.kbPoolImportLink{display:flex;justify-content:flex-end;margin:0 0 20px}.kbPoolImportLink a{padding:9px 12px;border-radius:9px;background:#e8eeea;color:#365346;font-size:11px;font-weight:900;text-decoration:none}.kbPoolImportLink a.active{background:#176243;color:#fff}.kbMatchImportGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.kbMatchPreview{width:100%;border-collapse:collapse;font-size:12px}.kbMatchPreview th,.kbMatchPreview td{padding:10px;border-bottom:1px solid #e2e9e5;text-align:left}.kbMatchPreview th{background:#edf4ef;color:#365346}.kbImportHelp{padding:16px;border-radius:13px;background:#edf6ef;color:#315343}.kbImportHelp ol{padding-left:20px;line-height:1.7}
@media(max-width:780px){.kbPoolCategories,.kbMatchImportGrid{grid-template-columns:1fr}.kbPoolCategories a{min-height:auto}.kbMatchPreviewWrap{overflow-x:auto}}
/* V20.22 – afzonderlijke dienst eenvoudig verwijderen */
.kbShiftActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.kbShiftActions .kbCallAction{padding:7px 9px;border-radius:8px;background:#fff0dd;color:#925111;font-weight:900;text-align:center;text-decoration:none}.kbShiftDeleteForm{margin:0}.kbShiftDeleteButton{border:1px solid #e4c7bd;border-radius:8px;padding:7px 9px;background:#fff7f3;color:#994b3e;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.kbShiftDeleteButton:hover{border-color:#b96a55;background:#fff0e9}
@media(max-width:650px){.kbShiftRow>.kbShiftActions{grid-column:1/-1;justify-content:flex-start}.kbShiftActions .kbCallAction,.kbShiftDeleteButton{min-height:38px}}
/* V20.14: bestuur en direct bewerkbare planning */
.kbBoardChoice{grid-column:1/-1;display:flex!important;align-items:flex-start;gap:10px;background:#eaf4eb;border:1px solid #bad9c4;border-radius:10px;padding:12px;color:#194b34!important}.kbBoardChoice input{width:auto!important;margin:3px 0 0}.kbBoardChoice span{display:grid;gap:3px}.kbBoardChoice small{font-weight:400}.kbBoardBadge{display:inline-block;padding:3px 7px;margin-right:5px;border-radius:12px;background:#e5f1e7;color:#17553c;font-size:11px}
.kbShiftPeople.kbDropTarget{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;border:1px dashed transparent;border-radius:10px;padding:5px;min-height:42px}.kbDropTarget.kbDropActive{border-color:#20704e;background:#e6f5eb}.kbPersonCard{display:block;min-width:185px;max-width:260px;border:1px solid #c9dbcf;border-radius:10px;background:#f5faf6;position:relative}.kbPersonCard[draggable="true"]{cursor:grab}.kbPersonCard.kbDragging{opacity:.45}.kbPersonCard>summary{display:flex!important;align-items:center;gap:8px;padding:8px 10px;list-style:none;cursor:pointer}.kbPersonCard>summary::-webkit-details-marker{display:none}.kbPersonIdentity{display:grid;gap:3px;min-width:0}.kbPersonIdentity small{color:#63766a;font-size:11px}.kbPersonAction{margin-left:auto;font-size:10px;color:#176243;white-space:nowrap}.kbDragHandle{font-size:17px;color:#537560}.kbPersonActions{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:10px;border-top:1px solid #d6e3d9;cursor:default}.kbPersonActions label{display:grid;gap:4px;flex:1 1 160px}.kbPersonActions select{max-width:100%;padding:7px;border:1px solid #b9cfc0;border-radius:7px}.kbPersonActions button,.kbQuickAdd button{border:0;border-radius:7px;background:#176243;color:white;padding:9px;cursor:pointer}.kbPersonActions button.danger{background:#fff0ec;color:#994b3e}.kbAddPerson{grid-column:1/-1}.kbAddPerson summary{width:max-content;cursor:pointer;color:#176243;font-weight:700;padding:7px}.kbAddPerson .kbQuickAdd{padding:10px;margin-top:4px}.kbAddPerson .kbQuickAdd input{border:1px solid #cadbd0;border-radius:7px;padding:8px}.kbEmptyVolunteer{color:#687c70;font-size:11px}
@media(max-width:650px){.kbPersonCard{max-width:100%;width:100%}.kbShiftPeople.kbDropTarget{display:grid}.kbShiftRow{grid-template-columns:minmax(0,1fr) auto}.kbShiftRow>a,.kbShiftRow>.kbDone{grid-column:1/-1}}

/* V20.23 – dashboard met interactieve maandplanning */
.kbDashboardV23{background:#f4f7f4;color:#172c23}.kbDashboardShell{max-width:1480px;margin:0 auto;padding:26px 24px 55px}.kbDashboardIntro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:19px}.kbDashboardIntro h1{margin:0 0 5px;color:#103e30;font-size:36px}.kbDashboardIntro p{margin:0;color:#63766d}.kbDashboardPrimary,.kbCalendarAdd{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:9px;background:#176243;color:#fff!important;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}.kbDashboardStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kbDashboardStats>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:16px 18px;border:1px solid #dce6df;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(22,76,49,.04)}.kbDashboardStats span{grid-row:1;color:#718178;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.kbDashboardStats strong{grid-row:1/3;font-size:34px;line-height:1;color:#176243}.kbDashboardStats small{grid-column:2;color:#66776e}.kbDashboardStats .isOrange strong{color:#dc7014}.kbDashboardPlanning{display:grid;grid-template-columns:minmax(275px,.78fr) minmax(620px,1.72fr);gap:16px;align-items:stretch;margin-bottom:16px}.kbDashboardCard{box-sizing:border-box;border:1px solid #dce6df;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(22,76,49,.04)}.kbDashboardCardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:13px;padding:18px 20px 13px}.kbDashboardCardHead>div>span,.kbCalendarHead>div>span,.kbDashboardCredit>div>span{display:block;margin-bottom:4px;color:#176243;font-size:10px;font-weight:900;letter-spacing:.09em}.kbDashboardCardHead h2,.kbCalendarHead h2{margin:0;color:#172e24;font-size:20px}.kbDashboardCardHead>a{color:#176243;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}.kbUpcomingList{padding:0 20px 15px}.kbUpcomingList>a{display:grid;grid-template-columns:54px 10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-top:1px solid #e7ede9;color:#213b2f;text-decoration:none}.kbUpcomingList time{display:grid;padding:6px;border-radius:8px;background:#f1f5f2;text-align:center}.kbUpcomingList time b{font-size:11px}.kbUpcomingList time span{color:#697a71;font-size:10px}.kbUpcomingList>a>i{width:9px;height:9px;border-radius:50%;background:#168a5b}.kbUpcomingList>a>span{display:grid;gap:2px}.kbUpcomingList>a>span b{font-size:12px}.kbUpcomingList>a>span small{color:#687a70;font-size:10px}.kbUpcomingList em{padding:6px 8px;border-radius:8px;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.kbUpcomingList .needsPeople{background:#fff0df;color:#a55512}.kbUpcomingList .isFull{background:#e7f4e9;color:#176243}.kbCalendarCard{padding-bottom:14px}.kbCalendarHead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding:14px 18px 11px}.kbCalendarHead>div:first-child{justify-self:start}.kbCalendarAdd{justify-self:end}.kbCalendarNav{display:flex;align-items:center;justify-content:center;gap:12px}.kbCalendarNav>a{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d8e3dc;border-radius:50%;color:#173b2c;text-decoration:none;font-size:22px;line-height:1}.kbCalendarNav strong{min-width:135px;text-align:center;font-size:18px}.kbCalendarWeek,.kbCalendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:0 16px}.kbCalendarWeek span{padding:7px 4px;color:#687a70;text-align:center;font-size:10px;font-weight:900}.kbCalendarGrid>a,.kbCalendarGrid>.isBlank{position:relative;display:flex;justify-content:space-between;align-items:flex-start;min-height:46px;box-sizing:border-box;padding:7px 8px;border:1px solid #e2e9e5;border-radius:7px;background:#fff;color:#223b2f;text-decoration:none}.kbCalendarGrid>.isBlank{border-color:transparent;background:transparent}.kbCalendarGrid>a:hover{border-color:#74a88c;background:#f5faf7}.kbCalendarGrid>a.hasPlanning{background:#eef7f0}.kbCalendarGrid>a.isSelected{border:2px solid #176243;padding:6px 7px;background:#e9f5ed}.kbCalendarGrid>a.isToday b{display:grid;place-items:center;min-width:23px;height:23px;margin:-3px;border-radius:50%;background:#176243;color:#fff}.kbCalendarGrid>a>span{display:flex;gap:3px;align-self:flex-end}.kbCalendarLegend{display:flex;gap:19px;flex-wrap:wrap;padding:11px 18px 8px;color:#66786e;font-size:10px}.kbCalendarLegend span{display:flex;align-items:center;gap:6px}.kbCalendarCard i.planned,.kbCalendarLegend i.planned{display:inline-block;width:8px;height:8px;border-radius:50%;background:#168a5b}.kbCalendarCard i.open,.kbCalendarLegend i.open{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef7b16}.kbSelectedDay{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:2px 16px 0;padding:12px 14px;border:1px solid #dfe8e2;border-radius:10px;background:#f8fbf9}.kbSelectedDay>div{display:grid;gap:3px}.kbSelectedDay b{font-size:13px}.kbSelectedDay span{color:#67786f;font-size:11px}.kbSelectedDay>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border-radius:8px;background:#176243;color:#fff;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}.kbOpenCard{margin-bottom:16px}.kbOpenTable{padding:0 20px 15px}.kbOpenTableHead,.kbOpenTable>a{display:grid;grid-template-columns:1.05fr .75fr 1.5fr .65fr .7fr;gap:12px;align-items:center;padding:9px 10px}.kbOpenTableHead{border-top:1px solid #e6ece8;border-bottom:1px solid #e6ece8;color:#718078;font-size:10px;font-weight:900;text-transform:uppercase}.kbOpenTable>a{border-bottom:1px solid #edf1ee;color:#294438;text-decoration:none;font-size:11px}.kbOpenTable>a:hover{background:#f7faf8}.kbOpenTable>a strong{color:#df7010}.kbOpenTable>a em{width:max-content;padding:5px 8px;border-radius:7px;background:#fff0df;color:#a55512;font-size:10px;font-style:normal;font-weight:900}.kbDashboardEmpty{margin:6px 0;padding:15px;border-radius:9px;background:#f4f7f5;color:#6b7a72;text-align:center;font-size:11px}.kbDashboardCredit{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 21px;border-radius:15px;background:linear-gradient(135deg,#0b5a42,#174d3d);color:#fff}.kbDashboardCredit h2{margin:0 0 4px;color:#fff;font-size:21px}.kbDashboardCredit p{margin:0;color:rgba(255,255,255,.78);font-size:11px}.kbDashboardCredit>div>span{color:#cfeade}.kbDashboardCredit>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:8px;background:#f28a13;color:#fff;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:1050px){.kbDashboardStats{grid-template-columns:1fr 1fr}.kbDashboardPlanning{grid-template-columns:1fr}.kbCalendarCard{order:-1}}
@media(max-width:720px){.kbDashboardShell{padding:20px 12px 40px}.kbDashboardIntro{align-items:flex-start}.kbDashboardIntro h1{font-size:28px}.kbDashboardPrimary{display:none}.kbDashboardStats{grid-template-columns:1fr 1fr;gap:8px}.kbDashboardStats>div{padding:13px}.kbDashboardStats strong{font-size:28px}.kbDashboardStats small{font-size:10px}.kbCalendarHead{grid-template-columns:1fr auto}.kbCalendarHead>div:first-child{grid-column:1}.kbCalendarNav{grid-column:2}.kbCalendarAdd{grid-column:1/-1;justify-self:stretch}.kbCalendarGrid>a{min-height:42px;padding:6px;font-size:11px}.kbCalendarGrid>a.isSelected{padding:5px}.kbSelectedDay{align-items:stretch;flex-direction:column}.kbSelectedDay>a{width:100%;box-sizing:border-box}.kbOpenTable{overflow-x:auto}.kbOpenTableHead,.kbOpenTable>a{min-width:680px}.kbDashboardCredit{align-items:flex-start;flex-direction:column}.kbDashboardCredit>a{width:100%;box-sizing:border-box}}
@media(max-width:430px){.kbDashboardStats{grid-template-columns:1fr}.kbCalendarWeek,.kbCalendarGrid{padding:0 9px;gap:2px}.kbCalendarGrid>a{min-height:39px;padding:5px}.kbCalendarHead{display:flex;align-items:stretch;flex-direction:column}.kbCalendarNav{order:2}.kbCalendarAdd{order:3}.kbCalendarLegend{padding-left:11px}.kbSelectedDay{margin-left:9px;margin-right:9px}}

/* V20.26 – teamdagdeel rechtstreeks vanuit de planning */
.kbTeamDaypart{display:grid;gap:12px;margin:14px 0;padding:15px;border:1px dashed #b9cfc2;border-radius:13px;background:#f8fbf9}.kbTeamDaypart.isAssigned{border-style:solid;border-color:#91bda4;background:#edf7f0}.kbTeamDaypartHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.kbTeamDaypartHead>div>span{display:block;margin-bottom:4px;color:#176243;font-size:9px;font-weight:900;letter-spacing:.09em}.kbTeamDaypart h4{margin:0 0 3px;color:#183d2d;font-size:16px}.kbTeamDaypart p{margin:0;color:#63766d;font-size:11px}.kbTeamSendStatus{padding:6px 9px;border-radius:999px;background:#fff0df;color:#a55512;font-size:10px;font-weight:900;white-space:nowrap}.kbTeamSendStatus.isSent{background:#dff0e5;color:#176243}.kbTeamDaypartForm{display:grid;grid-template-columns:minmax(230px,1fr) 120px 120px auto;gap:9px;align-items:end}.kbTeamDaypartForm label{display:grid;gap:5px;color:#486056;font-size:10px;font-weight:900}.kbTeamDaypartForm select,.kbTeamDaypartForm input{box-sizing:border-box;width:100%;min-height:39px;border:1px solid #c5d7cc;border-radius:8px;padding:8px;background:#fff;color:#203a2e}.kbTeamDaypartForm button,.kbTeamSendButton{min-height:39px;border:0;border-radius:8px;padding:8px 12px;background:#176243;color:#fff;font-weight:900;cursor:pointer}.kbTeamDaypartActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kbTeamDaypartActions form{margin:0}.kbTeamDaypartActions>a{color:#176243;font-size:11px;font-weight:900}.kbTeamRemoveButton{border:1px solid #dfc8bf;border-radius:8px;padding:8px 10px;background:#fff7f3;color:#984817;font-weight:900;cursor:pointer}.kbTeamDaypartEmpty{padding:10px;border-radius:8px;background:#fff;color:#607169;font-size:11px}.kbTeamDaypartEmpty a{color:#176243;font-weight:900}
.kbTeamStatusButton{border:1px solid #9fbdad;border-radius:8px;padding:8px 10px;background:#fff;color:#176243;font-weight:900;cursor:pointer}.kbTeamInlineMessage{margin:12px 0;padding:12px 14px;border-radius:10px}
@media(max-width:850px){.kbTeamDaypartForm{grid-template-columns:1fr 1fr}.kbTeamDaypartForm label:first-of-type,.kbTeamDaypartForm button{grid-column:1/-1}}@media(max-width:520px){.kbTeamDaypartHead{flex-direction:column}.kbTeamDaypartForm{grid-template-columns:1fr}.kbTeamDaypartForm label:first-of-type,.kbTeamDaypartForm button{grid-column:auto}.kbTeamDaypartActions{align-items:stretch;flex-direction:column}.kbTeamDaypartActions>*{width:100%;box-sizing:border-box}.kbTeamDaypartActions a,.kbTeamDaypartActions button{display:block;width:100%;box-sizing:border-box;text-align:center}}

/* V20.27 – verlopen kantinediensten herkenbaar in de kalender */
.kbCalendarGrid>a.isPast{color:#8f817d;background:#faf8f7}.kbCalendarGrid>a.hasExpired{border-color:#e4b7b0;background:#fff0ee;color:#8e3f36}.kbCalendarGrid>a.hasExpired:hover{border-color:#bd6b60;background:#ffe7e3}.kbCalendarGrid>a.hasExpired.isSelected{border-color:#b94d42;background:#ffe2de}.kbCalendarCard i.expired,.kbCalendarLegend i.expired{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c94f43}.kbCalendarPastLabel{justify-self:end;padding:8px 11px;border-radius:999px;background:#fff0ee;color:#a5473d;font-size:10px;font-weight:900}.kbSelectedDay.isExpired{border-color:#e3b9b2;background:#fff3f1}.kbSelectedDay.isExpired b,.kbSelectedDay.isExpired span{color:#99463d}.kbSelectedDay>a.isArchive{background:#a94d43}
.kbInlineForm{display:inline;margin:0;padding:0}.kbLinkButton{appearance:none;border:0;background:transparent;padding:0;color:#0b5a42;font:inherit;font-weight:700;cursor:pointer}.kbLinkButton.danger,.danger.kbLinkButton{color:#a13a32}

/* V20.32 – diensten per kantinedag naast elkaar op een breed scherm. */
@media(min-width:801px){.kbShiftRows{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:11px;margin-top:15px;border-top:0}.kbShiftRow{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:13px;border:1px solid #dce6df;border-radius:13px;background:#fbfdfb}.kbShiftRow>div:first-child{min-height:39px}.kbShiftRow>strong{font-size:12px;color:#53665c}.kbShiftActions{justify-content:flex-start}.kbShiftActions .kbCallAction,.kbShiftDeleteButton{min-height:36px;display:inline-flex;align-items:center;justify-content:center}.kbShiftPeople.kbDropTarget{display:grid;grid-template-columns:1fr;padding:7px;background:#fff;border-color:#d8e4dc}.kbPersonCard{width:100%;min-width:0;max-width:none}.kbAddPerson{margin-top:auto}.kbAddPerson summary{padding-left:0}.kbAddPerson .kbQuickAdd{grid-template-columns:1fr}.kbAddPerson .kbQuickAdd button{grid-column:auto}.kbEventContent{min-width:0}}
/* V20.33: houd bij een directe daglink ook het datumblok onder de vaste navigatie zichtbaar. */
.kbEventCard{scroll-margin-top:68px}

/* V20.39 – namen en diensten terugzien in het archief. */
.kbArchiveMonth{padding:0 10px 10px}.kbArchiveEvent{margin-top:9px;background:#fbfcfb}.kbArchiveEvent>.kbArchiveRow{grid-template-columns:110px minmax(0,1fr) 220px;padding:12px 14px;border-top:0;background:#fff;list-style:none}.kbArchiveEvent>.kbArchiveRow::-webkit-details-marker{display:none}.kbArchiveEvent>.kbArchiveRow>span:last-child{color:#176243;font-weight:800}.kbArchiveEvent[open]>.kbArchiveRow{background:#f0f6f2}.kbArchiveServices{display:grid;padding:0 14px 13px}.kbArchiveService{display:grid;grid-template-columns:minmax(150px,1fr) 90px 1.6fr;gap:15px;align-items:center;padding:11px 0;border-top:1px solid #e4ebe7;font-size:12px}.kbArchiveService>div:first-child{display:grid;gap:3px}.kbArchiveService>div:first-child span{color:#728078}.kbArchiveService>strong{color:#52655b}.kbArchiveNames{display:flex;flex-wrap:wrap;gap:6px}.kbArchiveNames span{padding:5px 8px;border-radius:999px;background:#e7f2ea;color:#17583d;font-weight:800}.kbArchiveNoPeople{padding:12px 0;color:#6d7a73;font-size:12px}
@media(max-width:800px){.kbArchiveEvent>.kbArchiveRow{grid-template-columns:90px 1fr}.kbArchiveEvent>.kbArchiveRow>span:last-child{grid-column:2;text-align:left}.kbArchiveService{grid-template-columns:1fr auto}.kbArchiveNames{grid-column:1/-1}}

/* V20.45 */
.kbPoolCategories{grid-template-columns:repeat(4,minmax(0,1fr))}.kbLeaderEdit{margin:14px 0}.kbLeaderEdit summary{cursor:pointer;font-weight:700;color:#176243}@media(max-width:900px){.kbPoolCategories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.kbPoolCategories{grid-template-columns:1fr}}
