:root{--bg:#111a31;--panel:#17213b;--panel2:#202a49;--text:#f8f5ed;--muted:rgba(248,245,237,.66);--gold:#d0ad66;--line:rgba(255,255,255,.1);--ok:#82c58f;--bad:#d96b4f}
html[data-theme=light]{--bg:#f4f6fb;--panel:#ffffff;--panel2:#eef2f8;--text:#162033;--muted:rgba(22,32,51,.62);--gold:#a77d2f;--line:rgba(22,32,51,.14);--ok:#237b42;--bad:#b84532}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 10%,#25345c,transparent 38%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.pill{display:inline-flex;background:rgba(255,255,255,.1);color:var(--gold);font-weight:900;border-radius:999px;padding:10px 18px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(460px,100%);background:rgba(23,33,59,.92);border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.3)}h1,h2,h3,p{margin-top:0}.stack{display:grid;gap:14px}label{display:grid;gap:8px;font-weight:800}input,select,textarea{width:100%;min-height:48px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);padding:12px 14px}textarea{min-height:92px}button,.button{min-height:48px;border:0;border-radius:16px;background:var(--text);color:#111a31;font-weight:900;padding:12px 16px}.ghost{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text)}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;min-height:auto}.message{padding:12px 14px;border-radius:16px;margin-bottom:14px}.success{background:rgba(130,197,143,.14);color:#bff0c8}.error{background:rgba(217,107,79,.16);color:#ffd0c3}
html[data-theme=light] body{background:linear-gradient(135deg,#f7f8fc,#e8edf6);color:var(--text)}html[data-theme=light] .sidebar,html[data-theme=light] .panel,html[data-theme=light] .card,html[data-theme=light] .day-group,html[data-theme=light] .reservation,html[data-theme=light] .metrics article{background:rgba(255,255,255,.82)}html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] textarea{background:#fff;color:var(--text)}html[data-theme=light] button,html[data-theme=light] .button{background:#162033;color:#fff}html[data-theme=light] .ghost{background:#fff;color:var(--text);border-color:var(--line)}html[data-theme=light] .view-switch .active,html[data-theme=light] .date-nav .active{background:#162033;color:#fff}html[data-theme=light] .success{color:#176a35}html[data-theme=light] .error{color:#9c2f22}
.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{background:rgba(12,18,34,.76);border-right:1px solid var(--line);padding:22px;position:sticky;top:0;height:100vh;overflow:auto;display:grid;align-content:start;gap:18px}.brand h1{font-size:52px;margin:22px 0 4px}.brand p,.panel-head p,.page-header p{color:var(--muted)}.location-form{margin:0}.sidebar nav{display:grid;gap:10px;margin:0}.sidebar nav a{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.05);font-weight:850;transition:background .16s ease,border-color .16s ease,transform .16s ease}.sidebar nav a.active{background:rgba(208,173,102,.16);border-color:rgba(208,173,102,.45);color:var(--gold)}.sidebar nav a:hover{transform:translateX(2px)}.sidebar-meta{display:flex;gap:10px;flex-wrap:wrap}.role-badge,.active-location{display:inline-flex;align-items:center;justify-content:center;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:rgba(208,173,102,.18);color:var(--gold);font-weight:900;padding:8px 11px}.role-badge{background:rgba(255,255,255,.08);color:var(--text)}.app-main{padding:20px}.mobile-top{display:none}.panel{background:rgba(12,18,34,.22);border:1px solid var(--line);border-radius:28px;padding:20px;margin-bottom:18px}.page-header,.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.date-card{display:grid;gap:12px;max-width:520px}.date-nav,.view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.date-nav a,.view-switch a{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.06);padding:12px;text-align:center;font-weight:850}.view-switch{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.view-switch.wide{grid-template-columns:repeat(5,minmax(0,1fr))}.view-switch .active{background:var(--text);color:#111a31}.metrics,.cards,.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.metrics article,.card,.day-group{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045);padding:16px}.metrics strong{display:block;font-size:42px}.metrics span,.card span,small{color:var(--muted)}.reservation-list{display:grid;gap:14px;max-height:66vh;overflow:auto;padding-right:4px}.reservation-list.compact{max-height:none}.day-group h3{display:flex;justify-content:space-between;color:var(--gold)}.reservation{display:grid;gap:8px;margin-top:10px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:18px;padding:13px;background:rgba(255,255,255,.045)}.reservation>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.reservation.geannuleerd,.reservation.no-show{border-left-color:var(--bad)}.reservation.aanwezig{border-left-color:var(--ok)}.floor{position:relative;min-height:430px;overflow:auto;border-radius:24px;border:1px solid var(--line);background:linear-gradient(135deg,#25304f,#151d34);padding:20px}.floor-table{position:absolute;border:1px solid rgba(255,255,255,.18);background:#edf0f4;color:#17213b;display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.16)}.floor-table.round{border-radius:999px}.floor-table.rect,.floor-table.square{border-radius:18px}.empty{padding:20px;border-radius:18px;background:rgba(255,255,255,.05);color:var(--muted)}dialog{border:0;border-radius:28px;background:var(--panel);color:var(--text);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0}dialog::backdrop{background:rgba(0,0,0,.64)}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px;max-height:calc(100vh - 24px);overflow:auto}.modal-form h2,.modal-form textarea,.modal-form button{grid-column:1/-1}.close{position:absolute;right:16px;top:16px;width:44px;min-height:44px;border-radius:14px}.settings-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-tabs{margin-top:14px}.mini-list{display:grid;gap:8px;max-height:260px;overflow:auto}.mini-list div{display:grid;gap:3px;border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.04)}.mini-list span{color:var(--muted);font-size:13px}.guests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;transform:translateX(-105%);transition:.18s;max-width:320px;width:84vw}.sidebar.open{transform:translateX(0)}.app-main{padding:14px}.mobile-top{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:-14px -14px 14px;padding:12px;background:rgba(17,26,49,.98);border-bottom:1px solid var(--line)}.mobile-top button{width:52px}.metrics,.cards,.settings-grid,.view-switch,.view-switch.wide,.guests-grid{grid-template-columns:1fr}.date-nav{grid-template-columns:repeat(3,1fr)}.panel{border-radius:18px;padding:14px}.panel-head,.page-header{display:grid}.modal-form{grid-template-columns:1fr}.brand h1{font-size:44px}.settings-grid-wide{grid-template-columns:1fr}}
.sidebar-collapse{margin:0 0 14px auto;display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text)}.theme-toggle{justify-self:end;min-height:42px;border-radius:999px;padding:9px 14px}body.sidebar-collapsed .app-shell,.sidebar-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)}body.sidebar-collapsed .sidebar,.sidebar-collapsed .sidebar{padding:0;border:0;overflow:hidden;opacity:0;pointer-events:none}body.sidebar-collapsed .sidebar-collapse,.sidebar-collapsed .sidebar-collapse{background:var(--text);color:#111a31}.guest-search{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;width:min(540px,100%)}.guest-search input{min-height:46px}.guest-search button{min-height:46px}.guest-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.guest-card{display:grid;gap:14px;min-height:260px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:16px;color:var(--text);cursor:pointer}.guest-card:hover,.guest-card:focus{outline:0;border-color:rgba(208,173,102,.45);background:rgba(208,173,102,.08)}.guest-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.guest-card__top strong{display:block;font-size:20px;line-height:1.15}.guest-card__top small{display:block;margin-top:5px;color:var(--muted)}.guest-card__top>span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;border-radius:999px;background:rgba(208,173,102,.16);color:var(--gold);font-weight:900;padding:8px 10px}.guest-card__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guest-card__body div{min-width:0;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:10px}.guest-card__body span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.guest-card__body strong{display:block;min-height:22px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-card__note{min-height:44px;margin:0;color:var(--muted)}.guest-card__actions{display:flex;gap:8px;align-items:center;margin-top:auto}.guest-card__actions form{margin:0}.guest-card__actions button{min-height:38px;border-radius:12px;padding:8px 12px}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.pager a,.pager span,.pager strong{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.05);color:var(--text)}.pager span{color:var(--muted)}.modal-delete-form{padding:0 24px 24px}.danger{color:#ffd0c3;border-color:rgba(217,107,79,.42)}button.danger:not(.ghost){background:var(--bad);color:#fff;border:1px solid var(--bad)}html[data-theme=light] .danger{color:#8f2f23}html[data-theme=light] button.danger:not(.ghost){color:#fff}@media(max-width:1180px){.guest-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.sidebar{background:#111a31;box-shadow:24px 0 60px rgba(0,0,0,.36)}html[data-theme=light] .sidebar{background:#fff}.sidebar-collapse{display:none}.guest-search,.guest-card-grid{grid-template-columns:1fr}.guest-card__body{grid-template-columns:1fr}.guest-card__actions{justify-content:flex-start}.pager{justify-content:center}}
.mini-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-form button,.mini-form .check{grid-column:1/-1}.inline-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) auto;gap:10px}.hours-grid{display:grid;gap:10px}.hours-grid>div{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;align-items:end;border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}.table-list{display:grid;gap:12px;max-height:70vh;overflow:auto;padding-right:4px}.table-settings{grid-template-columns:minmax(320px,.9fr) minmax(520px,1.4fr)}.table-settings>section:last-child{grid-column:1/-1}.floor-editor{min-height:620px;background:#f4f0e7;color:#17213b;border-color:rgba(17,26,49,.24);background-image:linear-gradient(rgba(17,26,49,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,26,49,.08) 1px,transparent 1px);background-size:24px 24px}.floor-editor .floor-table{background:#fff;color:#17213b;border:2px solid #17213b;box-shadow:0 8px 20px rgba(17,26,49,.16);gap:2px;line-height:1.1}.floor-editor .floor-table strong,.floor-fixture strong{font-size:17px;color:#17213b}.floor-editor .floor-table span,.floor-editor .floor-table small,.floor-fixture span{font-size:12px;color:#405070}.floor-table.is-dragging,.floor-fixture.is-dragging{z-index:5;box-shadow:0 16px 42px rgba(17,26,49,.32)}.floor-fixture{position:absolute;border:2px dashed #6d7c91;background:rgba(255,255,255,.74);color:#17213b;display:grid;place-items:center;text-align:center;border-radius:12px;padding:8px;touch-action:none;cursor:grab}.fixture-bar{border-style:solid;background:#d7dce5}.fixture-plant{border-radius:999px;background:#d8ead8;border-color:#5e8b64}.fixture-wall{background:#c9ced8;border-color:#48566f}.floor-editor-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.floor-editor-tabs button{min-height:38px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--text)}.floor-editor-tabs button.active{background:var(--text);color:#111a31}.floor-editor [data-zone][hidden]{display:none}.table-settings select[multiple]{min-height:120px}.floor-table{touch-action:none}.floor-table strong,.floor-table span,.floor-table small{pointer-events:none}@media(max-width:1100px){.table-settings{grid-template-columns:1fr}.inline-form,.mini-form,.hours-grid>div{grid-template-columns:1fr}}@media(max-width:820px){.inline-form,.mini-form,.hours-grid>div{grid-template-columns:1fr}.floor-editor{min-width:680px}.table-settings{display:block}.table-settings>.card{margin-bottom:14px}}
.field-settings{display:grid;gap:8px}.field-settings__head,.field-settings__row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr) minmax(120px,.7fr) minmax(120px,.7fr);gap:10px;align-items:center}.field-settings__head{color:var(--muted);font-size:13px;font-weight:900;text-transform:uppercase;padding:0 4px}.field-settings__row{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.04)}@media(max-width:820px){.field-settings__head{display:none}.field-settings__row{grid-template-columns:1fr}}
.mail-template-settings{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.email-template-list{display:grid;gap:12px;max-height:none;overflow:visible;padding-right:0}.email-template-form{display:block;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);overflow:visible}.email-template-form[open]{padding-bottom:18px;background:rgba(255,255,255,.06);box-shadow:0 18px 46px rgba(0,0,0,.16)}.email-template-form>form,.email-template-form>.template-actions{margin:14px 14px 0}.email-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.email-template-head::-webkit-details-marker{display:none}.email-template-head strong,.email-template-head span{display:block}.template-state{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:var(--muted)}.template-state.is-active{border-color:rgba(130,197,143,.5);background:rgba(130,197,143,.12);color:#bff0c8}.email-template-form textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.email-template-form span{color:var(--muted)}.template-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.template-actions form{margin:0}.template-actions button{min-height:40px;border-radius:12px;padding:9px 12px}.tox-tinymce{border-radius:14px!important;border-color:var(--line)!important;min-height:360px!important}.email-template-form[open] .tox-tinymce{min-height:460px!important}.tag-list{display:grid;gap:9px}.tag-list button{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr);gap:10px;align-items:center;text-align:left;min-height:44px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:var(--text)}.tag-list code{color:var(--gold);font-weight:900}.tag-list span{color:var(--muted)}.tag-list button.copied{border-color:rgba(130,197,143,.6);background:rgba(130,197,143,.12)}@media(max-width:820px){.mail-template-settings{grid-template-columns:1fr}.tag-list button{grid-template-columns:1fr}.email-template-head{display:grid}.tox-tinymce,.email-template-form[open] .tox-tinymce{min-height:360px!important}}
.mail-test-form{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.mail-test-form small{color:var(--muted)}
.table-config{grid-template-columns:1fr}.table-config-list{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.035)}.table-config-head,.table-config-summary{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,1fr) minmax(90px,.7fr) minmax(120px,.8fr) minmax(80px,.6fr) minmax(90px,.6fr);gap:10px;align-items:center}.table-config-head{padding:10px 12px;background:rgba(255,255,255,.055);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.table-config-item{border-top:1px solid var(--line)}.table-config-item:first-of-type{border-top:0}.table-config-summary{padding:12px;cursor:pointer;list-style:none}.table-config-summary::-webkit-details-marker{display:none}.table-config-summary:hover{background:rgba(208,173,102,.08)}.table-config-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-config-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;padding:12px;border-top:1px solid var(--line);background:rgba(255,255,255,.025)}.table-config-row input,.table-config-row select{min-height:38px;border-radius:10px;padding:8px 9px}.table-config-row input[type=number]{min-width:0}.table-active{justify-content:flex-start;font-size:13px}.table-row-actions{display:flex;gap:8px;justify-content:flex-end;grid-column:1/-1}.table-row-actions button{min-height:36px;border-radius:10px;padding:8px 10px}.floor-plan-settings{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr)}.floor-editor{height:680px;min-height:680px;overflow:hidden;user-select:none}.floor-editor .floor-table,.floor-fixture{cursor:grab}.floor-editor .floor-table:active,.floor-fixture:active{cursor:grabbing}@media(max-width:1180px){.table-config-head{display:none}.table-config-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.table-config-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-row-actions{grid-column:1/-1;justify-content:flex-start}.floor-plan-settings{grid-template-columns:1fr}}@media(max-width:820px){.table-config-summary,.table-config-row{grid-template-columns:1fr}.floor-editor{height:620px;min-width:720px}}
.users-settings{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.user-list,.profile-list{display:grid;gap:10px}.user-card,.profile-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}.user-card>summary,.profile-card>summary{display:grid;gap:10px;align-items:center;cursor:pointer;list-style:none;padding:12px}.user-card>summary{grid-template-columns:minmax(150px,1fr) minmax(190px,1fr) minmax(120px,.75fr) minmax(140px,.85fr) 70px}.profile-card>summary{grid-template-columns:minmax(160px,1fr) minmax(120px,.7fr)}.user-card>summary::-webkit-details-marker,.profile-card>summary::-webkit-details-marker{display:none}.user-card>summary:hover,.profile-card>summary:hover{background:rgba(208,173,102,.08)}.user-card summary span,.profile-card summary span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border-top:1px solid var(--line)}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-card form{padding:12px;border-top:1px solid var(--line)}@media(max-width:1180px){.users-settings{grid-template-columns:1fr}.user-card>summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.user-card>summary,.profile-card>summary,.user-edit-form,.permissions-grid{grid-template-columns:1fr}}
.reservation{cursor:pointer}.reservation:hover,.reservation:focus{outline:0;background:rgba(208,173,102,.08);border-color:rgba(208,173,102,.42)}.reservation-detail{position:relative;display:grid;gap:16px;padding:24px;max-height:calc(100vh - 24px);overflow:auto}.reservation-detail h2{margin:0 58px 4px 0}.reservation-status-pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:rgba(208,173,102,.14);color:var(--gold);font-weight:900;padding:8px 12px}.reservation-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reservation-detail-grid div,.reservation-notes div{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);padding:11px;min-width:0}.reservation-detail-grid span,.reservation-notes span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.reservation-detail-grid strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-notes{display:grid;gap:10px}.reservation-notes p{margin:5px 0 0;color:var(--text);white-space:pre-wrap}.reservation-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.reservation-detail-actions form{margin:0}.reservation-detail-actions button{min-height:40px;border-radius:12px;padding:9px 12px}@media(max-width:820px){.reservation-detail-grid{grid-template-columns:1fr}}
.table-picker{display:grid;grid-column:1/-1;gap:9px;font-weight:800}.table-picker>span{color:var(--text)}.table-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);padding:10px}.table-choice-zone{grid-column:1/-1;margin-top:4px;color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase}.table-choice-zone:first-of-type{margin-top:0}.table-choice{display:grid;gap:3px;align-content:center;min-height:64px;text-align:left;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.045);color:var(--text);padding:10px 11px}.table-choice strong{font-size:15px;line-height:1.1}.table-choice span{color:var(--muted);font-size:12px;line-height:1.2}.table-choice:hover,.table-choice:focus{outline:0;border-color:rgba(208,173,102,.55);background:rgba(208,173,102,.1)}.table-choice.is-selected{border-color:rgba(208,173,102,.8);background:rgba(208,173,102,.2);box-shadow:inset 0 0 0 1px rgba(208,173,102,.28)}.table-choice.is-selected strong{color:var(--gold)}@media(max-width:1180px){.table-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.table-picker-grid{grid-template-columns:1fr;max-height:320px}.table-choice{min-height:58px}}
.floor:not(.floor-editor){min-height:520px;background:#19223d;padding:18px}.floor:not(.floor-editor) .floor-table{align-content:start;justify-items:center;gap:1px;padding:6px 7px;overflow:hidden;text-align:center;line-height:1.05;background:#eef2f6;color:#10182d}.floor:not(.floor-editor) .floor-table strong{font-size:14px;line-height:1;color:#10182d}.floor:not(.floor-editor) .floor-table>span{font-size:12px;line-height:1.05;color:#26334e}.floor:not(.floor-editor) .floor-table>small{font-size:9px;line-height:1;color:rgba(16,24,45,.58);font-weight:800}.floor:not(.floor-editor) .floor-table.has-reservations{background:#f7dfaa;border-color:#d0ad66;cursor:pointer;box-shadow:0 12px 28px rgba(208,173,102,.18)}.floor-table-reservations{display:grid;gap:2px;width:100%;min-width:0;margin-top:2px}.floor-table-reservations button{display:block;width:100%;min-height:18px;border:0;border-radius:7px;background:rgba(17,26,49,.86);color:#fff;font-size:9px;line-height:1;padding:3px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-table-reservations button:hover{background:#111a31}.floor-table.has-reservations strong,.floor-table.has-reservations>span,.floor-table.has-reservations>small{pointer-events:none}
.unassigned-reservations{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:14px}.unassigned-reservations h3{margin-bottom:10px;color:var(--gold)}.unassigned-reservations>div{display:grid;gap:8px}.unassigned-reservations article{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);padding:10px}.unassigned-reservations span{color:var(--muted)}
.widget-settings{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr)}.embed-code{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.widget-preview{min-height:680px;border-radius:18px;background:linear-gradient(135deg,#f3efe8,#d9d0c0);padding:20px;display:grid;place-items:start center;overflow:auto}.services-settings{grid-template-columns:1fr}.services-main{grid-column:1/-1}.service-add-card{grid-column:1/-1}.service-add-card>details>summary{list-style:none;cursor:pointer;font-weight:900;color:var(--gold)}.service-add-card>details>summary::-webkit-details-marker{display:none}.service-add-card>details[open]>summary{margin-bottom:14px}.service-list{display:grid;gap:10px;max-height:74vh;overflow:auto;padding-right:4px}.service-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}.service-card>summary{display:grid;grid-template-columns:18px minmax(120px,1fr) minmax(105px,.75fr) minmax(70px,.55fr) minmax(90px,.65fr) minmax(90px,.65fr);gap:10px;align-items:center;list-style:none;cursor:pointer;padding:12px}.service-card>summary::-webkit-details-marker{display:none}.service-card>summary:hover{background:rgba(208,173,102,.08)}.service-card summary span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-color{width:14px;height:14px;border-radius:999px;background:var(--service-color);box-shadow:0 0 0 3px rgba(255,255,255,.08)}.service-state{justify-self:start;border:1px solid rgba(130,197,143,.5);border-radius:999px;background:rgba(130,197,143,.12);color:#bff0c8!important;font-size:12px;font-weight:900;padding:6px 9px}.service-state.is-off{border-color:rgba(217,107,79,.45);background:rgba(217,107,79,.14);color:#ffd0c3!important}.service-edit-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.service-card .service-edit-form{padding:12px;border-top:1px solid var(--line)}.service-add-card .service-edit-form{grid-template-columns:repeat(5,minmax(120px,1fr))}.service-edit-form input,.service-edit-form select{min-height:40px;border-radius:11px;padding:8px 10px}.service-edit-form button{grid-column:1/-1;min-height:40px;border-radius:12px}.service-delete-form{padding:0 12px 12px}.service-delete-form button{min-height:40px;border-radius:12px}@media(max-width:1180px){.widget-settings{grid-template-columns:1fr}.service-card>summary{grid-template-columns:18px repeat(2,minmax(0,1fr))}.service-edit-form,.service-add-card .service-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.service-card>summary,.service-edit-form,.service-add-card .service-edit-form{grid-template-columns:1fr}.service-color{display:none}.widget-preview{min-height:620px;padding:12px}}

.floor:not(.floor-editor) .floor-table[data-new-reservation-table]{cursor:pointer}.floor:not(.floor-editor) .floor-table[data-new-reservation-table]:hover{background:#fff;border-color:#d0ad66;box-shadow:0 12px 28px rgba(208,173,102,.16)}

.environment-banner{position:sticky;top:0;z-index:60;display:grid;place-items:center;min-height:36px;background:#d0ad66;color:#111a31;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.impersonation-banner{position:sticky;top:0;z-index:61;display:flex;justify-content:center;align-items:center;gap:12px;padding:8px 14px;background:#7c2d12;color:#fff;font-weight:900}.impersonation-banner form{margin:0}.impersonation-banner button{min-height:34px;border-radius:999px;padding:6px 12px;background:#fff;color:#7c2d12}.bug-report-button{position:fixed;right:18px;bottom:18px;z-index:50;min-height:46px;border-radius:999px;background:#d0ad66;color:#111a31;box-shadow:0 14px 42px rgba(0,0,0,.28)}.bug-report-dialog p{grid-column:1/-1;color:var(--muted);margin:0}.test-badge{display:inline-flex;align-items:center;border-radius:999px;background:#d0ad66;color:#111a31;font-weight:950;padding:10px 14px}.testlab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.testlab-wide{grid-column:1/-1}.test-list div{gap:7px}.test-list p{margin:0;color:var(--text);white-space:pre-wrap}.test-list code,.error-log-list code{display:block;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.2);color:var(--muted);padding:8px;font-size:12px}.inline-status-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px}.inline-status-form select,.inline-status-form button{min-height:38px;border-radius:11px}.error-log-list{display:grid;gap:8px;max-height:460px;overflow:auto}
@media(max-width:820px){.bug-report-button{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:42px;padding:9px 12px}.testlab-grid{grid-template-columns:1fr}.impersonation-banner{display:grid;text-align:center}.inline-status-form{grid-template-columns:1fr}}

.service-card>summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(208,173,102,.18)}.service-card[open]>summary{background:rgba(208,173,102,.08);border-bottom:1px solid var(--line)}
.locations-settings{grid-template-columns:1fr}.locations-main,.location-add-card{grid-column:1/-1}.location-list{display:grid;gap:10px;max-height:74vh;overflow:auto;padding-right:4px}.location-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}.location-card>summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) minmax(170px,.9fr) minmax(90px,.5fr);gap:10px;align-items:center;list-style:none;cursor:pointer;padding:12px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(208,173,102,.18)}.location-card>summary::-webkit-details-marker{display:none}.location-card>summary:hover,.location-card[open]>summary{background:rgba(208,173,102,.08)}.location-card[open]>summary{border-bottom:1px solid var(--line)}.location-card summary span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-state{justify-self:start;border:1px solid rgba(130,197,143,.5);border-radius:999px;background:rgba(130,197,143,.12);color:#bff0c8!important;font-size:12px;font-weight:900;padding:6px 9px}.location-state.is-off{border-color:rgba(217,107,79,.45);background:rgba(217,107,79,.14);color:#ffd0c3!important}.location-edit-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;padding:12px;border-top:1px solid var(--line)}.location-edit-form input{min-height:40px;border-radius:11px;padding:8px 10px}.location-edit-form button{grid-column:1/-1;min-height:40px;border-radius:12px}.location-delete-form{padding:0 12px 12px}.location-delete-form button{min-height:40px;border-radius:12px}.location-add-card>details>summary{list-style:none;cursor:pointer;font-weight:900;color:var(--gold)}.location-add-card>details>summary::-webkit-details-marker{display:none}.location-add-card>details[open]>summary{margin-bottom:14px}.location-add-card .location-edit-form{padding:0;border-top:0}.settings-subform{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:12px}.settings-subform>strong{grid-column:1/-1;color:var(--gold)}.settings-subform textarea{grid-column:1/-1}@media(max-width:1180px){.location-card>summary{grid-template-columns:repeat(2,minmax(0,1fr))}.location-edit-form,.location-add-card .location-edit-form,.settings-subform{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.location-list{max-height:none;overflow:visible;padding-right:0}.location-card{overflow:visible}.location-card>summary,.location-edit-form,.location-add-card .location-edit-form,.settings-subform{grid-template-columns:1fr}.location-card[open]{padding-bottom:12px}.location-card[open] .location-edit-form{display:grid;position:relative;z-index:1;background:rgba(255,255,255,.025)}.location-delete-form{position:relative;z-index:1;background:rgba(255,255,255,.025)}}
.zones-settings{grid-template-columns:1fr}.zones-main,.zone-add-card{grid-column:1/-1}.zone-list{display:grid;gap:10px;max-height:74vh;overflow:auto;padding-right:4px}.zone-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}.zone-card>summary{display:grid;grid-template-columns:minmax(140px,1fr) minmax(110px,.65fr) minmax(100px,.55fr) minmax(80px,.45fr);gap:10px;align-items:center;list-style:none;cursor:pointer;padding:12px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(208,173,102,.18)}.zone-card>summary::-webkit-details-marker{display:none}.zone-card>summary:hover,.zone-card[open]>summary{background:rgba(208,173,102,.08)}.zone-card[open]>summary{border-bottom:1px solid var(--line)}.zone-card summary span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-state{justify-self:start;border:1px solid rgba(130,197,143,.5);border-radius:999px;background:rgba(130,197,143,.12);color:#bff0c8!important;font-size:12px;font-weight:900;padding:6px 9px}.zone-state.is-off{border-color:rgba(217,107,79,.45);background:rgba(217,107,79,.14);color:#ffd0c3!important}.zone-edit-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;padding:12px;border-top:1px solid var(--line)}.zone-add-card>details>summary{list-style:none;cursor:pointer;font-weight:900;color:var(--gold)}.zone-add-card>details>summary::-webkit-details-marker{display:none}.zone-add-card>details[open]>summary{margin-bottom:14px}.zone-add-card .zone-edit-form{grid-template-columns:repeat(4,minmax(120px,1fr));padding:0;border-top:0}.zone-edit-form input{min-height:40px;border-radius:11px;padding:8px 10px}.zone-edit-form button{grid-column:1/-1;min-height:40px;border-radius:12px}.zone-delete-form{padding:0 12px 12px}.zone-delete-form button{min-height:40px;border-radius:12px}@media(max-width:1180px){.zone-card>summary{grid-template-columns:repeat(2,minmax(0,1fr))}.zone-edit-form,.zone-add-card .zone-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.zone-card>summary,.zone-edit-form,.zone-add-card .zone-edit-form{grid-template-columns:1fr}}

.reservations-page .reservation-list{max-height:none;overflow:visible;padding-right:0}
.weekday-checks{display:grid;grid-column:1/-1;grid-template-columns:repeat(8,minmax(0,auto));gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:10px}.weekday-checks>span{font-weight:900;color:var(--muted);font-size:12px;text-transform:uppercase}.weekday-checks .check{gap:6px;font-size:13px}.weekday-checks .check input{width:16px;height:16px}@media(max-width:820px){.weekday-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday-checks>span{grid-column:1/-1}}
.field-settings__new{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);padding:14px}.field-settings__new h3{margin-bottom:10px;color:var(--gold)}
@media(max-width:820px){.service-list,.zone-list{max-height:none;overflow:visible;padding-right:0}.service-card,.zone-card{overflow:visible}.service-card[open],.zone-card[open]{padding-bottom:12px}.service-card[open] .service-edit-form,.zone-card[open] .zone-edit-form{display:grid;position:relative;z-index:1;background:rgba(255,255,255,.025)}.service-card[open]+.service-card,.zone-card[open]+.zone-card{margin-top:18px}.services-main,.zones-main{padding-bottom:90px}.service-delete-form,.zone-delete-form{position:relative;z-index:1;background:rgba(255,255,255,.025)}}
@supports(padding:max(0px)){@media(max-width:820px){.app-main{padding-bottom:max(120px,env(safe-area-inset-bottom))}}}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.filter-row .button{min-height:40px;border-radius:999px;padding:9px 13px}.filter-row .active{background:rgba(208,173,102,.18);border-color:rgba(208,173,102,.48);color:var(--gold)}.reservation-warning,.reservation-risk-warning{border:1px solid rgba(217,107,79,.42);border-radius:13px;background:rgba(217,107,79,.16);color:#ffd0c3;padding:9px 10px;font-weight:850}.reservation-risk-warning{display:grid;gap:4px;margin-top:10px}.reservation-risk-warning[hidden]{display:none}.reservation.wacht-op-controle,.reservation.afgewezen,.reservation.aanbetaling-gevraagd{border-left-color:var(--bad)}.date-card input[type=date]{position:relative;z-index:2;min-height:54px}.date-card .date-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.date-card .date-nav a:last-child{display:none}@media(max-width:820px){.date-card input[type=date]{font-size:16px;touch-action:manipulation}.date-card label{position:relative;z-index:12}.date-card .date-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.date-card .date-nav a{min-height:48px;display:grid;place-items:center}.date-card .date-nav a:last-child{display:grid}.reservation-detail-actions{position:relative;z-index:1}}
.restaurant-demo{min-height:100vh;padding:18px;background:#f7f4ed;color:#111827}.demo-badge{position:fixed;z-index:30;right:16px;top:16px;border-radius:999px;background:#111827;color:#d0ad66;padding:10px 14px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.18)}.restaurant-hero{min-height:62vh;border-radius:24px;background:linear-gradient(rgba(17,24,39,.28),rgba(17,24,39,.72)),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1600&q=80') center/cover;display:grid;align-items:end;padding:clamp(24px,6vw,70px);color:#fff}.restaurant-hero h1{font-size:clamp(40px,8vw,92px);line-height:.95;margin-bottom:16px;letter-spacing:0}.restaurant-hero p{font-size:clamp(18px,2.2vw,24px);max-width:720px}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.demo-grid article{display:grid;gap:8px;border:1px solid rgba(17,24,39,.12);border-radius:18px;background:#fff;padding:18px}.demo-grid strong{font-size:22px}.demo-grid span{color:#4b5563}@media(max-width:820px){.restaurant-demo{padding:10px}.demo-badge{position:sticky;display:inline-flex;top:8px;margin-bottom:8px}.restaurant-hero{min-height:58vh;border-radius:18px;padding:22px}.demo-grid{grid-template-columns:1fr}}
.floor-editor-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:10px}.floor-editor-toolbar .floor-editor-tabs{margin-bottom:0}.floor-editor-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.floor-editor-controls button{min-height:38px;border-radius:12px;padding:8px 10px}.floor-editor-controls [data-floor-zoom-label]{min-width:54px;text-align:center;font-weight:900;color:var(--muted)}.floor-save-state{display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:999px;background:rgba(130,197,143,.12);color:#bff0c8;font-size:12px;font-weight:900;padding:7px 10px}.floor-save-state.is-saving{background:rgba(208,173,102,.14);color:var(--gold)}.floor-save-state.is-error{background:rgba(217,107,79,.16);color:#ffd0c3}.floor-editor{height:var(--floor-height,680px);min-height:520px;overflow:auto;user-select:none;resize:vertical}.floor-editor .floor-table,.floor-editor .floor-fixture{transform:rotate(var(--rotation,0deg));transform-origin:center center;touch-action:none}.floor-node-handle{position:absolute;z-index:9;display:grid;place-items:center;width:24px;min-height:24px;border:1px solid rgba(17,26,49,.2);border-radius:999px;background:#17213b;color:#fff;font-size:12px;font-weight:900;line-height:1;padding:0;box-shadow:0 6px 16px rgba(17,26,49,.25)}.floor-node-handle:hover,.floor-node-handle:focus{outline:0;background:#d0ad66;color:#111a31}.floor-node-resize{right:-10px;bottom:-10px;cursor:nwse-resize}.floor-node-rotate{right:-10px;top:-10px;cursor:grab}.floor-node-rotate:active{cursor:grabbing}.floor-editor .floor-table.is-dragging,.floor-editor .floor-fixture.is-dragging{z-index:12}.floor-editor .floor-table{overflow:visible}.floor-editor .floor-table strong,.floor-editor .floor-table span,.floor-editor .floor-table small{pointer-events:none}@media(max-width:1180px){.floor-editor-toolbar{grid-template-columns:1fr}.floor-editor-controls{justify-content:flex-start}}@media(max-width:820px){.floor-editor-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.floor-editor-controls [data-floor-zoom-label],.floor-save-state{justify-content:center}.floor-save-state{grid-column:1/-1}.floor-editor{min-width:720px;height:var(--floor-height,620px)}}
