:root{--green:#0f5f3d;--green-2:#2f8b57;--green-3:#e9f5ee;--orange:#f28c28;--orange-2:#ffb05f;--white:#fff;--bg:#f5f8f4;--text:#18342a;--muted:#64746d;--line:#dce8dd;--danger:#b42318;--shadow:0 18px 45px rgba(20,70,45,.12);--radius:22px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);font-weight:750;text-decoration:none}a:hover{text-decoration:underline}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:linear-gradient(180deg,var(--green),#0a3f2a);color:#fff;padding:24px 20px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar-brand{display:flex;align-items:center;gap:13px;margin-bottom:24px}.brand-mark{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,var(--orange),var(--orange-2));display:grid;place-items:center;color:#fff;font-weight:950;font-size:24px;box-shadow:0 10px 25px rgba(0,0,0,.16)}.sidebar h2{margin:0;font-size:24px}.sidebar span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#fff;padding:12px 14px;border-radius:14px;font-weight:760;opacity:.86}.sidebar nav a:hover{background:rgba(255,255,255,.13);opacity:1;text-decoration:none}.content{padding:28px 34px 60px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{margin:0;font-size:34px;line-height:1.1}.eyebrow{margin:0 0 4px;color:var(--orange);font-weight:850;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--green);border-radius:14px;padding:10px 14px;font-weight:850;cursor:pointer;text-decoration:none;box-shadow:0 3px 10px rgba(20,70,45,.06)}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green-2));border-color:transparent;color:#fff}.btn.orange{background:linear-gradient(135deg,var(--orange),var(--orange-2));border-color:transparent;color:#fff}.btn.danger{background:#fff2f0;color:var(--danger);border-color:#ffd0c7}.btn.small{padding:7px 10px;border-radius:11px;font-size:13px}.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}.flash{padding:13px 16px;border-radius:16px;margin:14px 0;border:1px solid var(--line);background:#fff}.flash-success{border-color:#bfe3cc;background:#f0fbf3}.flash-error{border-color:#ffc9c2;background:#fff4f2;color:#7a1d14}.flash-warning{border-color:#ffdca8;background:#fff8ed}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric,.panel,.public-card,.day-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:19px}.metric span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.metric strong{display:block;font-size:34px;line-height:1;margin:9px 0;color:var(--green)}.metric small,.muted{color:var(--muted)}.dashboard-hero{background:radial-gradient(circle at top right,rgba(242,140,40,.23),transparent 42%),linear-gradient(135deg,#fff,#edf8f0);border:1px solid var(--line);border-radius:30px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.dashboard-hero h2{font-size:30px;margin:0 0 8px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:18px;margin-top:20px}.panel{padding:20px;min-width:0}.panel h2{margin:0 0 14px;font-size:22px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:12px;margin:18px 0}.day-card{padding:14px;position:relative;overflow:hidden}.day-card.today{border-color:var(--orange);box-shadow:0 14px 36px rgba(242,140,40,.18)}.day-card h3{margin:0;text-transform:capitalize;font-size:16px}.day-card .date{color:var(--muted);font-size:12px;margin:2px 0 12px}.day-card .nums{display:grid;grid-template-columns:1fr 1fr;gap:8px}.day-card .num{background:var(--green-3);border-radius:14px;padding:9px}.day-card .num strong{display:block;font-size:24px;color:var(--green)}.day-card .num span{font-size:11px;color:var(--muted);font-weight:800}table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fbf7}tr:hover td{background:#fcfffc}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--green-3);color:var(--green);font-size:12px;font-weight:850}.progress{height:10px;background:#e8eee9;border-radius:999px;overflow:hidden;margin-top:8px}.progress.small{height:8px;margin:0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--orange));border-radius:999px}.quick-actions,.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:6px;font-weight:800;color:#23483a}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical}.check{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.check input{width:auto}.inline{display:inline}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--green-3);border-radius:999px;padding:4px 8px;margin:2px}.chip button{border:0;background:transparent;color:var(--danger);font-weight:900;cursor:pointer}.split{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(460px,1.2fr);gap:18px}.floorplan-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.floorplan-canvas{position:relative;min-height:620px;background:linear-gradient(90deg,rgba(15,95,61,.05) 1px,transparent 1px),linear-gradient(rgba(15,95,61,.05) 1px,transparent 1px),#fff;background-size:24px 24px;border:2px dashed #c8ddcc;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 6px rgba(255,255,255,.65)}.floor-object{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px;border:2px solid var(--green);background:#fff;border-radius:18px;box-shadow:0 10px 25px rgba(20,70,45,.12);cursor:grab;user-select:none;touch-action:none}.floor-object.dragging{opacity:.82;cursor:grabbing}.floor-object strong{font-size:14px}.floor-object small{font-size:12px;color:var(--muted)}.floor-object.rond{border-radius:999px}.floor-object.vierkant{border-radius:16px}.floor-object.lijn{height:12px!important;padding:0;border-radius:999px;background:#ddede1}.floor-object.bar{border-color:#0b5c83;background:#eef8ff}.floor-object.buffet{border-color:var(--orange);background:#fff6ec}.floor-object.plant{border-color:#529b62;background:#effaf0}.floor-object.afscheiding{border-color:#85948d;background:#f5f7f6}.floor-object.tekst{border-style:dashed;background:#fff;color:var(--green)}.floor-object.occupied{background:#fff7ed;border-color:var(--orange)}.floor-object.free-drop{outline:4px solid rgba(242,140,40,.25)}.floor-object.selected-table{box-shadow:0 0 0 5px rgba(242,140,40,.25),0 12px 28px rgba(20,70,45,.15);border-color:var(--orange)}.reservation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:16px}.reservation-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;box-shadow:0 8px 22px rgba(20,70,45,.08);cursor:grab}.reservation-card:active{cursor:grabbing}.reservation-card.selected{outline:4px solid rgba(242,140,40,.25);border-color:var(--orange)}.reservation-card h3{margin:0 0 5px;font-size:16px}.reservation-card .meta{color:var(--muted);font-size:13px}.assignment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.public-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(242,140,40,.18),transparent 36%),linear-gradient(135deg,#eff7ef,#fff)}.public-card{width:min(860px,100%);padding:28px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:16px;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.brand:before{content:'M';display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--green),var(--orange));color:white;letter-spacing:0}.summary{display:grid;grid-template-columns:160px 1fr;gap:8px;background:#f8fbf7;border:1px solid var(--line);border-radius:18px;padding:16px}.summary dt{font-weight:850;color:var(--muted)}.summary dd{margin:0;font-weight:800}.date-check{margin:14px 0}.install-card{max-width:900px}@media(max-width:1100px){.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dashboard-grid,.split{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:720px){.content{padding:18px}.topbar{display:block}.form-grid,.form-grid.compact{grid-template-columns:1fr}.floorplan-canvas{min-height:520px}.summary{grid-template-columns:1fr}.public-card{padding:20px}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(242,140,40,.20),transparent 36%),linear-gradient(135deg,#f0f8f1,#fff)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:28px;display:grid;gap:14px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:850;background:#eef5ef;color:var(--green)}.status.ok{background:#edf8ef;color:var(--green)}.status.let-op{background:#fff6e8;color:#9a5a11}.status.fout{background:#fff0ed;color:var(--danger)}
/* V16.02 dashboard in moderne hotelstijl met Marqua-kleuren */
.login-link{display:block;text-align:center;color:var(--green);font-weight:850;margin-top:2px}.password-reset-panel{border-color:#f6c383;background:linear-gradient(135deg,#fff,#fff8ef)}.dashboard-modern{display:grid;grid-template-columns:1.05fr 1.05fr 1.05fr .95fr;gap:16px;align-items:stretch}.mews-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none;padding:16px;min-width:0}.mews-card h2{margin:0 0 14px;font-size:18px;color:#08182f}.mews-card p{margin:0}.mews-card.tall{grid-row:span 2}.mews-card.wide2{grid-column:span 2}.service-card{display:grid;gap:14px}.service-head{display:flex;gap:14px;align-items:center}.service-head h2{margin:0;font-size:22px}.service-head p{font-size:13px;color:var(--muted)}.mini-logo{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--orange));display:grid;place-items:center;color:#fff;font-weight:950}.mews-actions{margin:4px 0 0}.donut-line{display:flex;align-items:center;gap:16px;margin:13px 0}.donut{--p:0;width:124px;height:124px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--green) calc(var(--p)*1%),#ebedf3 0)}.donut:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.donut span{position:relative;z-index:1;font-size:25px;font-weight:850;color:#334}.donut small{font-size:12px}.donut.pale{background:conic-gradient(#eef0f6 calc(var(--p)*1%),#eef0f6 0)}.donut.dark{background:conic-gradient(#4d506c calc(var(--p)*1%),#eef0f6 0)}.donut.green-donut{background:conic-gradient(var(--green) calc(var(--p)*1%),#eef0f6 0)}.donut.orange-donut{background:conic-gradient(var(--orange) calc(var(--p)*1%),#eef0f6 0)}.donut.blue-donut{background:conic-gradient(#2d86b8 calc(var(--p)*1%),#4d506c 0)}.donut.multi{background:conic-gradient(var(--green) 0 48%,var(--orange) 48% 84%,#f4b000 84% 100%)}.donut.multi span{display:grid;text-align:center;line-height:1.05}.donut.multi b{font-size:24px;color:var(--green)}.donut.multi em{font-style:normal;font-size:22px;color:var(--orange)}.donut.multi i{font-style:normal;font-size:18px;color:#b37700}.legend{display:inline-block;width:8px;height:8px;border-radius:2px;margin:0 7px 0 0;vertical-align:middle}.legend.green{background:var(--green)}.legend.orange{background:var(--orange)}.legend.yellow{background:#f4b000}.legend.dark{background:#4d506c}.mews-links{display:grid;gap:6px;margin-top:12px}.mews-links.horizontal{display:flex;flex-wrap:wrap;gap:18px;margin:4px 0 14px}.mews-links a,.mews-list a{font-weight:800;color:#111b34;font-size:14px}.mews-list{display:grid;gap:10px}.occupancy-card{min-height:330px}.occupancy-chart{height:230px;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5;padding:20px 10px 10px;margin-top:8px}.chart-day{display:grid;grid-template-rows:1fr auto auto;text-align:center;gap:4px;height:100%;min-width:0}.barwrap{height:150px;display:flex;align-items:end;justify-content:center;gap:5px}.bar{display:block;width:8px;min-height:4px;border-radius:8px 8px 0 0}.bar.reservations{background:#4d506c}.bar.guests{background:linear-gradient(180deg,var(--green),var(--green-2))}.chart-day strong{font-size:12px;color:#4d506c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-day span{font-size:11px;color:#778}.chart-day.today strong,.chart-day.today span{color:var(--orange)}.chart-legend{font-size:13px;color:var(--muted);margin-top:12px}.today-overview-panel{margin-top:16px}@media(max-width:1400px){.dashboard-modern{grid-template-columns:1fr 1fr}.mews-card.wide2{grid-column:span 2}}@media(max-width:760px){.dashboard-modern{grid-template-columns:1fr}.mews-card.wide2{grid-column:span 1}.donut{width:100px;height:100px}.occupancy-chart{gap:7px;overflow:auto}.chart-day strong{font-size:11px}}
/* V16.03 lobby-tablet reserveringsflow */
.tablet-thankyou{text-align:center}.tablet-thankyou .summary{text-align:left;margin:18px auto;max-width:560px}.tablet-return-box{font-size:17px}.tablet-return-box strong{color:var(--orange);font-size:24px}
/* V16.11 publieke taalkeuze met duidelijke vlagafbeeldingen */
.public-card{position:relative}.language-switcher{position:absolute;top:18px;right:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.language-option{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 3px 10px rgba(20,70,45,.06)}.language-option:hover{text-decoration:none}.language-option.active{background:var(--green-3);border-color:var(--green);color:var(--green)}.language-flag{width:30px;height:20px;display:block;object-fit:cover;border:1px solid rgba(0,0,0,.14);border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.12)}.language-emoji{font-size:17px;line-height:1}@media(max-width:720px){.language-switcher{position:static;justify-content:flex-end;margin-bottom:12px}.language-option span:not(.language-emoji){font-size:11px}}

/* V16.15: alleen extra kopje voor overzichtelijkere admin-bladwijzerbalk */
.sidebar nav .nav-heading{display:block;margin:14px 10px 6px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f28c28;opacity:.9}
