
:root{font-family:system-ui,-apple-system,sans-serif;color:#252422;background:#f8f5f1;color-scheme:light}
*{box-sizing:border-box}body{margin:0}main{max-width:840px;margin:auto;padding:24px 16px 100px}
h1{font-size:clamp(28px,7vw,44px);line-height:1.1;margin:0 0 16px;color:#352b27}h2{margin:0 0 12px}
p{line-height:1.55}header{background:#ece3db;padding:15px 20px;color:#513936}header a{color:#513936}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:#876552}
.hero{padding:6px 0 4px}.hero h1{margin-bottom:12px}.lead{font-size:clamp(17px,4vw,20px);color:#4c423d;max-width:56ch}
.card{background:white;border:1px solid #e6ded7;border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 5px 22px #39260f0c}
.warning{background:#fff2df;border:1px solid #c48e4f;padding:16px;border-radius:12px;font-weight:600}
.error{background:#fde8e4;border:1px solid #b45443;padding:14px;border-radius:12px;font-weight:600}
.success{background:#edf7ed;border:1px solid #6d9b6d}
.muted{color:#695c56}.prices{width:100%;border-collapse:collapse;table-layout:fixed}.prices th,.prices td{text-align:left;padding:10px 6px;border-bottom:1px solid #eee2d8;overflow-wrap:anywhere}.prices td:last-child{text-align:right}
.prices th{overflow-wrap:normal;word-break:normal;hyphens:none}
.prices th:first-child,.prices td:first-child{width:42%}
.prices th:not(:first-child),.prices td:not(:first-child){text-align:right}
button{font:inherit;cursor:pointer;background:#563f38;color:white;border:0;padding:11px 16px;border-radius:10px;margin:6px 5px 6px 0}
button:disabled{cursor:not-allowed;opacity:.55}.secondary{background:#efe4da;color:#3b2e28}
input,select,textarea{font:inherit;padding:8px;border:1px solid #b2a299;border-radius:7px;background:white;color:#252422}
textarea{min-height:84px;resize:vertical}
.days{display:grid;gap:6px}.day{border-bottom:1px solid #eee;padding:9px 0}.day-head{display:flex;gap:9px;align-items:center;font-weight:600}
.monthgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}
.monthgrid .wd{text-align:center;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#876552;padding:4px 0}
.mday{position:relative;display:grid;gap:3px;justify-items:center;align-content:start;min-height:64px;padding:7px 3px 6px;border:1px solid #e6ded7;border-radius:12px;background:#fff;font:inherit;color:#252422;cursor:pointer}
.mday .n{font-weight:700;font-size:15px}.mday .u{font-size:11px;color:#695c56;line-height:1.25;text-align:center;overflow-wrap:anywhere}
.mday.closed{background:#efece8;border-color:#e2dcd4;color:#8a7f79}.mday.closed .n{color:#a49a92}
.mday:hover{border-color:#bfae9f}.mday.active{border-color:#563f38;box-shadow:0 0 0 2px #563f3826}
.mday.today .n{background:#563f38;color:#fff;border-radius:99px;padding:0 7px}
.mday.open::after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:99px;background:#6d9b6d}
.mday.edited{border-style:dashed;border-color:#c48e4f}.mday.edited::before{content:"wijziging";position:absolute;top:-8px;right:6px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#fff2df;color:#7c4c00;border:1px solid #c48e4f;border-radius:99px;padding:0 5px}
.mday .ic{font-size:9px;font-weight:700;line-height:1.2;padding:1px 5px;border-radius:99px;background:#e3edfb;color:#174a8a;white-space:nowrap}
.day-editor{margin-top:12px;border:1px solid #e6ded7;border-radius:14px;background:#fffdfb;padding:16px}
.day-editor h3{margin:0 0 10px;font-size:17px}
.day-editor .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.day-editor .win{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.day-editor .win span{font-size:13px;color:#695c56;min-width:88px}
.day-editor .win input[type=time]{width:105px}
.day-editor .win .rm{padding:7px 10px;margin:0}
.day-editor .hint{font-size:13px;color:#695c56;margin:8px 0 0}
.day-editor h4{margin:16px 0 5px;font-size:15px}.occupancy{border-top:1px solid #e6ded7;margin-top:14px;padding-top:4px}
.day-editor button[type=button]{margin:0}
.day .part{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:3px 0 3px 27px}
.day .part>span{font-size:13px;color:#695c56;min-width:104px}
.day .times{display:flex;gap:6px;align-items:center}
.day input[type=time]{width:105px}.day select{width:auto}
.day .closed{margin:0;padding-left:27px;font-size:13px}
.svc{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}
.svc input,.svc select{min-width:0;width:100%}.svc .price{text-align:right}
.services{margin-bottom:10px}.status{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f0ec;padding:12px;border-radius:8px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formgrid label{display:grid;gap:6px}
.formgrid label.checkbox{display:flex;gap:10px;align-items:flex-start;margin:4px 0}
.formgrid input,.formgrid select,.formgrid textarea{width:100%}
.formgrid label.checkbox input[type=checkbox]{width:auto;flex:none;align-self:flex-start;margin-top:3px}
.formgrid label.checkbox span{flex:1;min-width:0}
fieldset{border:0;padding:0;margin:0}fieldset[disabled]{opacity:.65}.full{grid-column:1/-1}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card ul,.card ol{margin:0;padding-left:22px}.card li{margin:0 0 10px;line-height:1.55}
.me{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.me img{width:min(260px,60vw);height:auto;border-radius:16px;justify-self:center;box-shadow:0 6px 22px #39260f14}
@media(min-width:640px){.me{grid-template-columns:220px minmax(0,1fr)}.me img{justify-self:start}}
.requests{display:grid;gap:14px}.request{border:1px solid #e6ded7;border-radius:14px;padding:16px;background:#fffdfb}
.request h3{margin:0 0 6px;font-size:18px}.request .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:10px 0}
.request .meta div{overflow-wrap:anywhere}.request .meta strong{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#876552}
.request .question{background:#f7f1eb;border-radius:9px;padding:10px;margin:10px 0;white-space:pre-wrap}
.badge{display:inline-block;padding:3px 9px;border-radius:99px;font-size:12px;font-weight:700;background:#eee;color:#463a34;vertical-align:middle}
.badge.requested{background:#fff0d4;color:#7c4c00}.badge.approved{background:#e3edfb;color:#174a8a}
.badge.confirmed{background:#e1f3df;color:#245c1d}.badge.rejected{background:#f6e1dd;color:#8a2f20}
.counts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.filters{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 18px}
.filters button{margin:0;background:#efe4da;color:#3b2e28;padding:8px 12px}.filters button.active{background:#563f38;color:white}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.actions input{flex:1;min-width:190px}
.actions button{margin:0}.request .small{font-size:13px;color:#695c56}
.dl{display:grid;grid-template-columns:minmax(130px,auto) 1fr;gap:8px 18px}.dl dt{font-weight:600}.dl dd{margin:0;overflow-wrap:anywhere}
.linkrow{margin-top:16px}
@media(max-width:560px){.day .part{grid-template-columns:1fr;padding-left:27px}.day .times input[type=time]{width:calc(50% - 3px)}
.monthgrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mday{min-height:56px;padding:5px 2px 4px}.mday .u{font-size:9.5px}
.day-editor .win span{min-width:70px}
.svc{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.svc select,.svc .price{width:100%}
.prices th:nth-child(2),.prices td:nth-child(2){display:none}
.prices th:first-child,.prices td:first-child{width:40%}
.prices th,.prices td{padding:10px 4px}
.formgrid,.request .meta,.dl{grid-template-columns:1fr}.full{grid-column:1}}
