:root{--ink: #241f1a;--ink-soft: #4b4239;--muted: #7b7165;--paper: #fbf9f5;--cream: #f4efe6;--cream-2: #ece4d6;--line: #ded5c6;--accent: #8b3b2f;--accent-dark: #6f2d24;--accent-soft: #f3e3dd;--green: #4d6b4a;--green-soft: #e5ede2;--blue: #3f5f86;--blue-soft: #e2eaf5;--gold: #b37b28;--gold-soft: #f6e8cf;--danger: #a33a32;--radius: 14px;--shadow: 0 12px 34px rgba(50, 38, 25, .09);--shadow-sm: 0 2px 8px rgba(50, 38, 25, .07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,Times New Roman,serif;line-height:1.15;margin:0 0 .5em;letter-spacing:-.015em}h1{font-size:clamp(2rem,4vw,3.2rem)}h2{font-size:clamp(1.4rem,2.3vw,2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.page{padding:48px 0 72px}.narrow{max-width:720px}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--accent);margin-bottom:.7em}.lead{font-size:1.12rem;color:var(--ink-soft);max-width:70ch}.text-link{color:var(--accent);font-weight:700;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.text-link:hover{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;border:1px solid transparent;border-radius:999px;padding:.68em 1.25em;font-weight:700;font-size:.94rem;cursor:pointer;background:var(--cream);color:var(--ink);transition:transform .12s ease,background .12s ease,border-color .12s ease;font-family:inherit}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-light{background:#ffffffeb;color:var(--ink)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:var(--cream)}.btn-danger{background:var(--danger);color:#fff}.btn-lg{padding:.85em 1.5em;font-size:1rem}.badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--cream-2);color:var(--ink-soft);padding:.18em .7em;font-size:.78rem;font-weight:700;white-space:nowrap}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);margin-bottom:24px}.panel-note{background:var(--cream);border-color:var(--cream-2)}.callout{background:var(--gold-soft);border-color:#e7d2ab}.notice{background:var(--green-soft);color:var(--green);border-radius:10px;padding:10px 14px;font-weight:600}.success-panel{border-top:5px solid var(--green)}.stack{display:flex;flex-direction:column;gap:16px}.topbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;font-size:1.1rem;letter-spacing:-.03em}.brand strong{display:block;font-family:Georgia,serif;font-size:1.02rem;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.04em}.mainnav{display:flex;align-items:center;gap:4px}.mainnav>a{padding:.5em .8em;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--ink-soft)}.mainnav>a:hover,.mainnav>a.active{background:var(--cream);color:var(--accent)}.nav-actions{display:flex;gap:8px;margin-left:10px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;padding:.1em .45em;cursor:pointer}.hero{background-size:cover;background-position:center;color:#fff;min-height:560px;display:flex;align-items:center}.hero-inner{padding:76px 0 68px;max-width:760px}.hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);text-wrap:balance}.hero .eyebrow{color:color-mix(in srgb,var(--accent) 30%,#fff)}.hero-lead{font-size:1.12rem;color:#ffffffe6;max-width:62ch}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 14px}.hero-note{font-size:.86rem;color:#ffffffb8}.section{padding:64px 0}.section-warm{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.intro-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:48px;align-items:center}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}.checklist li{position:relative;padding-left:30px;font-weight:600}.checklist li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:.8rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.room-card img{height:210px;width:100%;object-fit:cover}.room-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.room-card-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.room-card-top h3{margin:0}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}.tags li{background:var(--cream);border-radius:999px;padding:.2em .65em;font-size:.76rem;color:var(--ink-soft)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.step-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;margin-bottom:10px}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;border-radius:20px;padding:36px 40px}.cta-band h2{color:#fff}.cta-band .eyebrow{color:color-mix(in srgb,var(--accent) 30%,#fff)}.cta-band .btn-ghost{color:#fff;border-color:#ffffff73}.cta-band .btn-ghost:hover{background:#ffffff1f}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.news-card small{color:var(--muted);font-weight:700}.page-head{max-width:820px;margin-bottom:36px}.rooms-list{display:flex;flex-direction:column;gap:28px}.rooms-list+.panel{margin-top:28px}.room-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}.room-detail-media img{width:100%;height:100%;min-height:340px;object-fit:cover}.thumb-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.thumb-row img{height:78px;object-fit:cover}.room-detail-body{padding:32px;display:flex;flex-direction:column;gap:12px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.info-icon{font-size:1.6rem;display:block;margin-bottom:8px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-list{display:grid;grid-template-columns:140px 1fr;gap:10px 18px;margin:0}.contact-list dt{font-weight:800;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.contact-list dd{margin:0}.contact-list a{color:var(--accent)}label{display:flex;flex-direction:column;gap:5px;font-size:.86rem;font-weight:700;color:var(--ink-soft)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.65em .8em;font:inherit;background:#fff;color:var(--ink);font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-form label{min-width:130px}.inline-form input,.inline-form select{min-width:120px}.check-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0}.check-group>span{font-size:.86rem;font-weight:800;color:var(--ink-soft)}.check{display:inline-flex;flex-direction:row;align-items:center;gap:7px;font-weight:600}.check input{width:auto}.link-button{background:none;border:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:0}.json-editor{font-family:ui-monospace,monospace;font-size:.8rem}.reserve-form{display:flex;flex-direction:column;gap:0}.date-card{border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0;background:var(--paper)}.date-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.estimate{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#fff;border:1px dashed var(--line);border-radius:10px;padding:12px 14px;margin-top:14px;font-size:.88rem}.estimate strong{color:var(--accent)}.availability{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{font-size:.78rem;padding:.25em .7em;border-radius:999px;font-weight:700}.chip.vrij{background:var(--green-soft);color:var(--green)}.chip.aanvraag{background:var(--accent-soft);color:var(--accent)}.chip.voorstel{background:var(--gold-soft);color:var(--gold)}.chip.optie{background:var(--blue-soft);color:var(--blue)}.chip.bezet{background:#f2d4d1;color:var(--danger)}.error-list{color:var(--danger);font-weight:600}.summary-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.summary-row{display:grid;grid-template-columns:150px 1fr 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.auth-panel{max-width:460px;margin:40px auto}.calendar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.calendar+.panel{margin-top:28px}.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.calendar-month{font-family:Georgia,serif;font-size:1.3rem;font-weight:700;min-width:190px;text-transform:capitalize}.calendar-toolbar select{width:auto;margin-left:auto}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;margin-bottom:12px;color:var(--ink-soft)}.dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}.dot.vrij{background:#dcebd5}.dot.aanvraag{background:#efc9b8}.dot.voorstel{background:#edc26f}.dot.optie{background:#c2d5ee}.dot.bezet{background:#b14a43}.calendar-scroll{overflow-x:auto}.calendar-table{border-collapse:collapse;width:100%;min-width:620px}.calendar-table th,.calendar-table td{border:1px solid #eee7db;padding:0;text-align:center}.calendar-table thead th{background:var(--cream);padding:6px 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.calendar-table thead th.dp{font-size:.65rem;font-weight:600}.calendar-table th.datecell{background:#fff;padding:4px 8px;text-align:left;min-width:80px;font-weight:600}.calendar-table th.datecell span{display:block;font-size:.62rem;text-transform:uppercase;color:var(--muted)}.calendar-table th.datecell strong{font-size:1rem}.calendar-table th.datecell small{color:var(--muted);font-size:.65rem}.calendar-table tr.weekend th.datecell{background:#fbf7f1}.calendar-table td.slot{height:26px;min-width:36px}.calendar-table td.slot.vrij{background:#f2f8ef}.calendar-table td.slot.aanvraag{background:#efc9b8}.calendar-table td.slot.voorstel{background:#edc26f}.calendar-table td.slot.optie{background:#c2d5ee}.calendar-table td.slot.bezet{background:#b14a43}.slot-button{width:100%;height:100%;min-height:26px;background:transparent;border:0;cursor:pointer}.slot-button:hover{background:#4d6b4a2e}.booking-list{display:flex;flex-direction:column;gap:16px}.booking-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.booking-main{display:flex;align-items:start;justify-content:space-between;gap:18px}.booking-date{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.booking-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22em .75em;font-size:.74rem;font-weight:800;white-space:nowrap}.status-aanvraag{background:var(--accent-soft);color:var(--accent)}.status-voorstel{background:var(--gold-soft);color:var(--gold)}.status-optie{background:var(--blue-soft);color:var(--blue)}.status-bevestigd,.status-volledig_betaald{background:var(--green-soft);color:var(--green)}.status-bezet,.status-afgesloten,.status-afgerekend,.status-uitgevoerd{background:#e8e4de;color:var(--ink-soft)}.status-geannuleerd,.status-vervallen{background:#f2d4d1;color:var(--danger)}.eindverslag{margin-top:16px;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:12px}.admin-page{max-width:1320px}.admin-layout{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:start}.admin-sidebar{display:flex;flex-direction:column;gap:4px;position:sticky;top:96px}.admin-sidebar button{text-align:left;border:0;background:transparent;padding:.7em 1em;border-radius:9px;font:inherit;font-weight:700;color:var(--ink-soft);cursor:pointer}.admin-sidebar button:hover{background:var(--cream)}.admin-sidebar button.active{background:var(--accent);color:#fff}.admin-content{min-width:0}.admin-section{display:flex;flex-direction:column;gap:0}.palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px}.palette-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff;cursor:pointer;font-weight:600;transition:border-color .15s ease,box-shadow .15s ease}.palette-card:hover{border-color:var(--accent)}.palette-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.palette-card input{position:absolute;top:14px;right:14px;width:auto;margin:0;accent-color:var(--accent)}.palette-preview{display:flex;width:100%;height:42px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.palette-preview span{flex:1}.palette-text{display:flex;flex-direction:column;gap:2px;padding-right:28px}.palette-text .muted{font-size:.82rem;font-weight:400}.palette-favicon{width:38px;height:38px;border-radius:8px;margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat-card span{display:block;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-card strong{font-family:Georgia,serif;font-size:1.8rem}.stat-card.accent{background:var(--accent-soft);border-color:#e7c8bd}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.filter-bar input,.filter-bar select{width:auto;min-width:150px;flex:1}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.86rem}.data-table th,.data-table td{text-align:left;padding:9px 10px;border-bottom:1px solid #eee7db;vertical-align:top}.data-table th{background:var(--cream);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.data-table.clickable tbody tr{cursor:pointer}.data-table.clickable tbody tr:hover{background:#fbf7f1}.users-table{table-layout:fixed;min-width:820px}.users-table th:nth-child(1){width:16%}.users-table th:nth-child(2){width:24%}.users-table th:nth-child(3){width:16%}.users-table th:nth-child(4){width:11%}.users-table th:nth-child(5){width:7%}.users-table th:nth-child(6){width:11%}.users-table th:nth-child(7){width:15%}.users-table td{vertical-align:middle}.users-table td:nth-child(2){overflow-wrap:anywhere}.users-table select{width:100%;min-width:0;padding:.45em .5em;font-size:.82rem}.users-table .btn{width:100%;padding:.45em .6em;font-size:.78rem;white-space:nowrap}.booking-detail{border-top:5px solid var(--accent)}.detail-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px}.detail-head h2{margin-bottom:.2em}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{border:0;background:none;padding:.6em 1em;font:inherit;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tabs button.active{color:var(--accent);border-color:var(--accent)}.proforma-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.edit-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.edit-list li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee7db;padding-bottom:6px;font-size:.88rem}.room-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.footer{background:var(--ink);color:#ffffffd1;padding:48px 0 22px;margin-top:40px}.footer h3,.footer h4{color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footer a{color:color-mix(in srgb,var(--accent) 30%,#fff)}.footer .muted{color:#ffffff8c}.footer-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:16px;font-size:.78rem;color:#ffffff8c}@media(max-width:980px){.card-grid,.info-grid,.steps,.stat-grid{grid-template-columns:1fr 1fr}.intro-grid,.room-detail,.contact-grid,.split-grid,.room-admin-grid,.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.container{width:calc(100% - 24px)}.menu-toggle{display:block}.mainnav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px;box-shadow:var(--shadow)}.mainnav.open{display:flex}.mainnav>a{padding:.8em 1em}.nav-actions{margin-left:0;flex-direction:column;align-items:stretch}.hero{min-height:480px}.hero-inner{padding:56px 0}.section{padding:44px 0}.section-head{flex-direction:column;align-items:start}.card-grid,.info-grid,.steps,.stat-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.cta-band{flex-direction:column;align-items:start;padding:28px}.summary-row{grid-template-columns:1fr;gap:4px}.calendar-table{min-width:560px}.booking-main,.detail-head{flex-direction:column}.filter-bar input,.filter-bar select{min-width:100%}}.slot-label{display:block;font-size:.58rem;font-weight:700;line-height:1.1;padding:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2f2f2f}.calendar-table td.slot.bezet .slot-label{color:#fff}.page-banner{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius);margin-top:18px}.input-tiny{width:76px;padding:.35em .45em;font-size:.82rem}.template-list,.page-editor-list{display:grid;gap:16px;margin:16px 0}.template-card,.page-editor-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}.template-card h3,.page-editor-card h3{margin-top:0}.template-card label,.page-editor-card label{display:block;margin-top:10px}.photo-editor{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line)}.photo-preview{display:block;max-width:260px;width:100%;height:150px;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin:8px 0}.photo-preview-wide{max-width:100%;height:190px}.photo-gallery-edit{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.photo-thumb{width:150px;display:flex;flex-direction:column;gap:4px}.photo-thumb img{width:100%;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.file-label{display:inline-flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem;margin-top:8px}.news-card img{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:8px}.panel-emergency{border-left:4px solid #a33a32}.handbook-columns,.handbook-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}.handbook-details>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper)}.handbook-columns h3,.handbook-details h3{margin-top:0}.handbook-list{margin:0 0 1em;padding-left:1.2em}.handbook-list li{margin-bottom:.35em}.handbook-links{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px){.handbook-columns,.handbook-details{grid-template-columns:1fr}}
