:root{--bg:#f2f4f7;--surface:#fff;--soft:#f8fafc;--text:#17202a;--muted:#667085;--line:#e4e7ec;--primary:#d96d2b;--primary-dark:#b95318;--primary-soft:#fff1e7;--dark:#151a21;--success:#16845b;--success-soft:#e9f8f2;--danger:#c23c3c;--shadow:0 12px 34px rgba(20,28,38,.08);--radius:20px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#402317 0,transparent 35%),var(--dark)}.login-card{width:min(100%,420px);background:#fff;border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--primary);color:white;font-weight:900;margin-bottom:24px}.brand-mark.small{width:42px;height:42px;border-radius:13px;margin:0}.login-card h1{margin:5px 0 8px;font-size:2rem}.login-intro{color:var(--muted);line-height:1.5;margin:0 0 24px}.field-label{display:block;font-weight:750;margin-bottom:8px}.pin-input{width:100%;border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;font-size:1.55rem;font-weight:800;letter-spacing:.45em;margin-bottom:12px}.pin-input:focus,input:focus,select:focus{outline:3px solid var(--primary-soft);border-color:var(--primary)}.primary-button,.secondary-button,.pay-button,.danger-ghost,.ghost-button{border:0;border-radius:12px;padding:13px 18px;font-weight:800}.primary-button,.pay-button{background:var(--primary);color:#fff}.primary-button:hover,.pay-button:hover{background:var(--primary-dark)}.full-width{width:100%}.compact{padding:10px 13px;font-size:.9rem}.secondary-button{background:#eef1f5;color:var(--text)}.danger-ghost{background:#fff0f0;color:var(--danger)}.ghost-button{background:rgba(255,255,255,.1);color:#fff}.form-error{min-height:20px;color:var(--danger);font-weight:700;text-align:center}.login-help{margin:16px 0 0;text-align:center;color:var(--muted);font-size:.8rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,4vw,48px);background:var(--dark);color:#fff}.brand-row,.topbar-actions,.employee-chip{display:flex;align-items:center;gap:12px}.topbar h1{font-size:1.2rem;margin:2px 0 0}.topbar .eyebrow{color:#98a2b3}.employee-chip{padding:7px 10px;border-radius:13px;background:rgba(255,255,255,.08)}.employee-chip span:last-child{display:grid}.employee-chip small{color:#98a2b3;font-size:.68rem}.employee-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--primary);font-size:.75rem;font-weight:900}.clock{color:#d0d5dd;font-weight:700}.main-nav{display:flex;gap:6px;padding:12px clamp(12px,4vw,48px);background:#fff;border-bottom:1px solid var(--line);overflow:auto}.nav-button{white-space:nowrap;border:0;background:transparent;border-radius:11px;padding:11px 15px;color:var(--muted);font-weight:800}.nav-button.active{background:var(--primary-soft);color:var(--primary)}.content-wrap{max-width:1600px;margin:auto;padding:24px clamp(12px,4vw,48px) 42px}.sales-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(480px,1.4fr);gap:24px}.accounts-panel,.order-panel,.products-view{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.accounts-panel,.order-panel{padding:22px;align-self:start}.order-panel{min-height:680px}.section-heading,.order-header,.editable-title-row,.receipt-heading,.dialog-heading,.products-header,.products-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading{margin-bottom:18px}.section-heading h2,.order-header h2,.products-header h2,.dialog-heading h2{margin:3px 0 0}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.table-card,.name-card{border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:18px;text-align:left;transition:.15s}.table-card:hover,.name-card:hover{transform:translateY(-2px);border-color:#f5b482}.table-card.active,.name-card.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.table-card{min-height:150px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.table-top{display:flex;justify-content:space-between;align-items:flex-start}.table-number{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;border:5px solid #edf0f4;font-size:1.45rem;font-weight:900}.table-card.occupied .table-number{border-color:#b9ead7}.status-pill,.product-status{font-size:.72rem;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef1f5;color:var(--muted)}.table-card.occupied .status-pill,.product-status.on{background:var(--success-soft);color:var(--success)}.table-label{font-weight:800}.table-card>strong{color:var(--primary)}.name-card{padding:17px;display:flex;justify-content:space-between;align-items:center}.name-card span{display:grid;gap:5px}.name-card small{color:var(--muted)}.empty-state{min-height:620px;display:grid;place-content:center;text-align:center;color:var(--muted);padding:30px}.empty-state h2{margin:12px 0 6px;color:var(--text)}.empty-state p{margin:0}.empty-icon{font-size:4rem}.order-content{display:flex;flex-direction:column;gap:20px}.editable-title-row{justify-content:flex-start}.text-button{border:0;background:transparent;color:var(--primary);font-weight:800}.category-tabs{display:flex;gap:8px;overflow-x:auto}.category-button{white-space:nowrap;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:9px 14px;color:var(--muted);font-weight:700}.category-button.active{background:var(--dark);border-color:var(--dark);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-button{min-height:92px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;color:var(--text)}.product-button:hover{border-color:var(--primary);background:#fffaf6}.product-button span{font-weight:800}.product-button strong{color:var(--primary)}.receipt-card{border:1px solid var(--line);border-radius:18px;overflow:hidden}.receipt-heading{padding:17px 18px;background:var(--soft);border-bottom:1px solid var(--line)}.receipt-heading h3{margin:0}.receipt-heading span{color:var(--muted)}.order-lines{min-height:100px;max-height:310px;overflow-y:auto}.empty-order{text-align:center;color:var(--muted);padding:34px}.order-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.order-line>div:first-child{display:grid;gap:3px}.order-line small{color:var(--muted)}.quantity-control{display:flex;align-items:center;gap:8px}.quantity-control button{width:30px;height:30px;border:0;border-radius:8px;background:#eef1f5;font-weight:900}.receipt-summary{display:grid;gap:9px;padding:15px 18px;background:var(--soft)}.receipt-summary>div{display:flex;justify-content:space-between;color:var(--muted)}.receipt-summary .grand-total{padding-top:10px;border-top:1px solid var(--line);font-size:1.2rem;color:var(--text)}.checkout-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:16px 18px 18px}.products-view{padding:24px}.products-header p:last-child{color:var(--muted);margin:8px 0 0}.products-toolbar{justify-content:flex-start;margin:24px 0 16px}.products-toolbar label{display:grid;gap:7px;min-width:220px;font-weight:700}.products-toolbar input,.products-toolbar select,.dialog-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}.products-table{width:100%;border-collapse:collapse;min-width:720px}.products-table th,.products-table td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line)}.products-table th{background:var(--soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.products-table tr:last-child td{border-bottom:0}.product-status.off{background:#f2f4f7;color:var(--muted)}.table-actions{text-align:right!important;white-space:nowrap}.table-actions button{border:0;background:transparent;color:var(--primary);font-weight:800;margin-left:12px}.empty-table{text-align:center!important;color:var(--muted)}dialog{border:0;border-radius:20px;padding:0}dialog::backdrop{background:rgba(10,15,22,.58);backdrop-filter:blur(3px)}.dialog-card{width:min(92vw,480px);padding:22px}.dialog-card label{display:grid;gap:8px;font-weight:700;margin-top:18px}.dialog-heading .icon-button{width:40px;height:40px;border:1px solid var(--line);background:var(--soft);border-radius:12px}.switch-row{display:flex!important;align-items:center;gap:10px}.switch-row input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:var(--dark);color:#fff;border-radius:999px;padding:12px 18px;font-weight:700;pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1000px){.sales-layout{grid-template-columns:1fr}.account-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.order-panel{min-height:0}.empty-state{min-height:300px}}@media(max-width:760px){.topbar{align-items:flex-start}.employee-chip,.clock{display:none}.content-wrap{padding-top:14px}.accounts-panel,.order-panel,.products-view{padding:15px;border-radius:16px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-header,.products-toolbar{align-items:stretch;flex-direction:column}.products-toolbar label{min-width:0}.order-header{align-items:flex-start}}@media(max-width:430px){.login-card{padding:26px 20px}.brand-row .brand-mark{display:none}.topbar{padding:14px}.topbar h1{font-size:1rem}.ghost-button{padding:10px 12px}.main-nav{padding:8px}.content-wrap{padding-left:8px;padding-right:8px}.table-card{min-height:135px;padding:12px}.table-number{width:50px;height:50px;font-size:1.2rem}.product-grid{gap:8px}.product-button{padding:12px;min-height:82px}.order-line{grid-template-columns:minmax(0,1fr) auto}.order-line>strong:last-child{grid-column:2}.quantity-control{grid-row:span 2}.checkout-actions{grid-template-columns:1fr}.section-heading{align-items:flex-start}}
.admin-notice{margin:18px 0;padding:13px 15px;border-radius:12px;background:#fff7e8;color:#8a5a00;font-weight:700}
button:disabled{opacity:.55;cursor:not-allowed}

/* Visuele caféplattegrond */
.floorplan-legend{display:flex;flex-wrap:wrap;gap:14px;margin:-4px 0 14px;color:var(--muted);font-size:.82rem;font-weight:750}.floorplan-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block;border:2px solid transparent}.legend-dot.free{background:#eef1f5;border-color:#aab2bd}.legend-dot.occupied{background:var(--success-soft);border-color:var(--success)}.legend-dot.selected{background:var(--primary-soft);border-color:var(--primary)}
.cafe-floorplan{position:relative;display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));grid-auto-rows:138px;gap:24px 18px;min-height:680px;padding:88px 24px 72px;border:2px solid #d8dde5;border-radius:22px;background-color:#f7f4ed;background-image:linear-gradient(90deg,rgba(71,84,103,.045) 1px,transparent 1px),linear-gradient(rgba(71,84,103,.045) 1px,transparent 1px);background-size:30px 30px;overflow:hidden}.cafe-floorplan:before,.cafe-floorplan:after{content:"";position:absolute;background:#aeb6c1;z-index:0}.cafe-floorplan:before{left:0;right:0;top:0;height:10px}.cafe-floorplan:after{left:0;top:0;bottom:0;width:10px}.floorplan-bar{position:absolute;top:20px;left:24px;right:24px;height:48px;border:2px solid #737d8c;border-radius:10px;background:#2b313b;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;z-index:1;letter-spacing:.12em;font-weight:900}.floorplan-bar small{color:#b9c0ca;font-weight:600;letter-spacing:0}.floorplan-entrance{position:absolute;right:18px;bottom:15px;border:2px dashed #8993a1;border-radius:10px;padding:8px 13px;background:#fff;color:#667085;font-size:.78rem;font-weight:800;z-index:1}.floor-table{position:relative;align-self:center;justify-self:center;width:94px;height:94px;border:0;background:transparent;padding:0;color:var(--text);overflow:visible;z-index:2}.floor-table .table-surface{position:absolute;inset:12px;display:grid;place-content:center;border:3px solid #8d97a5;background:#fff;border-radius:14px;box-shadow:0 5px 13px rgba(16,24,40,.13);transition:.15s}.floor-table.round .table-surface{border-radius:50%}.floor-table .table-surface strong{font-size:1.45rem;line-height:1}.floor-table .table-surface small{margin-top:5px;font-size:.68rem;color:var(--muted);font-weight:800}.floor-table .chair{position:absolute;width:27px;height:13px;border:2px solid #939ca8;background:#dfe3e8;border-radius:5px;transition:.15s}.floor-table .chair-top{left:50%;top:0;transform:translateX(-50%)}.floor-table .chair-bottom{left:50%;bottom:0;transform:translateX(-50%)}.floor-table .chair-left{left:-1px;top:50%;transform:translateY(-50%) rotate(90deg)}.floor-table .chair-right{right:-1px;top:50%;transform:translateY(-50%) rotate(90deg)}.floor-table:hover .table-surface{transform:translateY(-2px);border-color:var(--primary)}.floor-table.occupied .table-surface{border-color:var(--success);background:var(--success-soft)}.floor-table.occupied .chair{border-color:var(--success);background:#c8ecde}.floor-table.active .table-surface{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 4px rgba(239,108,31,.18),0 5px 13px rgba(16,24,40,.14)}.floor-table.active .chair{border-color:var(--primary);background:#ffd9bf}
@media(max-width:1200px){.cafe-floorplan{grid-template-columns:repeat(3,minmax(72px,1fr));grid-auto-rows:130px}}
@media(max-width:1000px){.cafe-floorplan{grid-template-columns:repeat(4,minmax(72px,1fr));min-height:590px}}
@media(max-width:700px){.cafe-floorplan{grid-template-columns:repeat(3,minmax(70px,1fr));grid-auto-rows:122px;gap:18px 8px;padding:82px 8px 62px}.floor-table{width:84px;height:84px}.floor-table .table-surface{inset:11px}.floorplan-bar{left:10px;right:10px}}
@media(max-width:430px){.cafe-floorplan{grid-template-columns:repeat(2,minmax(86px,1fr));grid-auto-rows:116px}.floorplan-legend{gap:9px;font-size:.75rem}}

/* Bewerkbare zones en terras */
.floorplan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.zone-tabs,.layout-actions{display:flex;flex-wrap:wrap;gap:8px}.zone-button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:10px 15px;font-weight:800}.zone-button.active{background:var(--dark);border-color:var(--dark);color:#fff}.layout-help{margin:0 0 12px;padding:11px 13px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);font-size:.88rem;font-weight:750}.cafe-floorplan{display:block;height:680px;min-height:0}.cafe-floorplan.zone-terras{background-color:#f1f6e9;background-image:linear-gradient(90deg,rgba(42,92,58,.05) 1px,transparent 1px),linear-gradient(rgba(42,92,58,.05) 1px,transparent 1px);background-size:30px 30px;border-color:#b9cba9}.floor-table{position:absolute;transform:translate(-50%,-50%);touch-action:none}.floor-table:hover .table-surface{transform:none}.cafe-floorplan.editing .floor-table{cursor:grab}.cafe-floorplan.editing .floor-table:active{cursor:grabbing}.cafe-floorplan.editing .floor-table .table-surface{border-style:dashed}.floorplan-terrace-label{position:absolute;top:18px;left:24px;right:24px;height:50px;border:2px solid #6f8e63;border-radius:12px;background:#e2eed8;color:#35582e;display:flex;align-items:center;justify-content:center;gap:12px;z-index:1;letter-spacing:.1em;font-weight:900}.floorplan-terrace-label small{font-weight:650;letter-spacing:0}.dialog-card select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}
@media(max-width:760px){.floorplan-toolbar{align-items:stretch;flex-direction:column}.layout-actions>*{flex:1}.cafe-floorplan{height:590px}.floor-table{width:78px;height:78px}.floor-table .table-surface strong{font-size:1.2rem}.floor-table .table-surface small{font-size:.6rem}}

/* Eén schermvullende kaart met café en terras */
.content-wrap{max-width:none;padding:14px clamp(8px,2vw,24px) 24px}.map-layout{display:block}.map-panel{padding:16px;min-height:calc(100vh - 154px)}.map-heading{margin-bottom:10px}.combined-floorplan{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;height:calc(100vh - 300px);min-height:560px;padding:0;border:0;background:transparent;overflow:visible}.combined-floorplan:before,.combined-floorplan:after{display:none}.floor-zone{position:relative;min-width:0;min-height:0;border:2px solid #d8dde5;border-radius:20px;overflow:hidden;background-color:#f7f4ed;background-image:linear-gradient(90deg,rgba(71,84,103,.045) 1px,transparent 1px),linear-gradient(rgba(71,84,103,.045) 1px,transparent 1px);background-size:30px 30px}.terrace-zone{border-color:#b9cba9;background-color:#eff6e8;background-image:linear-gradient(90deg,rgba(42,92,58,.05) 1px,transparent 1px),linear-gradient(rgba(42,92,58,.05) 1px,transparent 1px)}.zone-title{position:absolute;top:12px;left:14px;z-index:1;display:flex;align-items:baseline;gap:8px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.88);border:1px solid var(--line)}.zone-title strong{letter-spacing:.12em}.zone-title span{font-size:.72rem;color:var(--muted)}.floor-zone .floorplan-bar{top:12px;left:auto;right:14px;width:min(42%,230px);height:42px}.floor-zone .floorplan-entrance{right:14px;bottom:12px}.terrace-decoration{position:absolute;right:18px;top:14px;font-size:2rem;opacity:.7}.floor-zone .floor-table{position:absolute}.floorplan-legend{margin:0 0 10px}.floorplan-toolbar{margin-bottom:8px}

/* Bestelvenster als modal boven de kaart */
.order-dialog{width:min(96vw,1050px);max-width:1050px;background:transparent;border-radius:22px;overflow:visible}.order-dialog::backdrop{background:rgba(10,15,22,.68);backdrop-filter:blur(5px)}.order-modal-card{position:relative;max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.order-close{position:absolute;right:14px;top:14px;z-index:3;width:42px;height:42px;border:1px solid var(--line);background:var(--soft);border-radius:12px;font-size:1.35rem}.order-modal-card .order-header{padding-right:48px}.order-modal-card .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.order-modal-card .order-lines{max-height:260px}.order-modal-card .receipt-card{margin-top:2px}

@media(max-width:900px){.combined-floorplan{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:auto;min-height:0}.floor-zone{height:520px}.map-panel{min-height:0}.order-modal-card .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.content-wrap{padding:8px}.map-panel{padding:10px}.floor-zone{height:430px}.combined-floorplan{gap:8px}.order-dialog{width:98vw}.order-modal-card{padding:16px}.order-modal-card .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-modal-card .order-header{align-items:flex-start}.floor-zone .floorplan-bar{width:44%;font-size:.78rem}.floor-zone .floorplan-bar small{display:none}.floor-table{width:72px;height:72px}.floor-table .table-surface{inset:10px}.floor-table .chair{width:22px;height:11px}}

/* Professionele plattegrond-editor */
.map-panel{min-height:calc(100vh - 190px)}
.editor-canvas{position:relative;width:100%;height:clamp(620px,calc(100vh - 245px),1050px);min-height:620px;overflow:hidden;border-radius:22px;background-color:#172019;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;touch-action:none}
.floor-zone{position:absolute;transform-origin:center;border:2px solid rgba(255,255,255,.18);border-radius:24px;overflow:visible;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);touch-action:none}
.floor-zone::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 40%);pointer-events:none}
.zone-title{position:absolute;left:14px;top:12px;z-index:6;display:flex;gap:8px;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(10,15,12,.68);color:#fff;pointer-events:none}
.zone-title span{font-size:.72rem;opacity:.7}
.editing .floor-zone{border-style:dashed;cursor:move}
.floor-table{position:absolute;min-width:0;min-height:0;transform-origin:center;touch-action:none;z-index:8}
.floor-table.rectangle .table-surface{border-radius:14px}
.floor-table .table-surface{width:100%;height:100%}
.floor-table .chair{transform:scale(.78)}
.editing .floor-table{cursor:move;outline:1px dashed rgba(255,255,255,.65);outline-offset:5px}
.rotate-handle,.resize-handle{display:block;position:absolute;z-index:30;background:#fff;border:2px solid #23352b;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.rotate-handle{width:27px;height:27px;border-radius:50%;left:50%;top:-38px;transform:translateX(-50%);color:#18251e;font-size:18px;line-height:22px;text-align:center;cursor:grab}
.rotate-handle::after{content:"";position:absolute;width:2px;height:12px;background:#fff;left:50%;top:25px}
.resize-handle{width:19px;height:19px;border-radius:5px;right:-11px;bottom:-11px;cursor:nwse-resize}
.floor-object{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(5,8,7,.38);color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transform-origin:center;z-index:2}
.object-bar{background:rgba(76,51,30,.82)}.object-entrance{background:rgba(32,68,76,.72)}.object-plant{border-radius:50%;background:rgba(31,85,45,.72)}
.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dialog-card output{display:inline-block;margin-left:10px;font-weight:700}
.dialog-card input[type="color"]{height:48px;padding:4px}
@media(max-width:760px){.editor-canvas{height:760px;min-height:760px}.floor-zone{min-width:42%;min-height:30%}.map-panel{min-height:auto}.dialog-grid{grid-template-columns:1fr}}

/* Bewerkbare plattegrondobjecten */
.floor-object{appearance:none;font:inherit;padding:5px;gap:6px;overflow:visible;pointer-events:none;white-space:nowrap}
.editing .floor-object{pointer-events:auto;cursor:move;outline:1px dashed rgba(255,255,255,.72);outline-offset:4px}
.floor-object:disabled{opacity:1;color:#fff}
.floor-object .object-icon{font-size:1.15rem;line-height:1}
.floor-object .object-name{overflow:hidden;text-overflow:ellipsis}
.object-wall{min-height:8px!important;border-radius:3px;background:rgba(150,158,155,.82)}
.object-window{border-radius:3px;background:rgba(90,145,170,.58);border:3px double rgba(220,245,255,.8)}
.object-kitchen{background:rgba(97,70,49,.82)}
.object-toilet{background:rgba(74,76,112,.78)}
.object-register{background:rgba(67,85,62,.86)}
.object-label{background:rgba(20,23,22,.58);border-style:dashed}
.object-dialog-actions{display:flex;align-items:center}.dialog-spacer{flex:1}

/* Next-level editorbediening */
.editor-selected{outline:3px solid #ffd166!important;outline-offset:6px!important;z-index:40!important}
.floor-zone.editor-selected{box-shadow:0 0 0 5px rgba(255,209,102,.22),inset 0 0 0 1px rgba(255,255,255,.08)}
.editor-locked{cursor:not-allowed!important;filter:saturate(.7)}
.lock-badge{position:absolute;right:-10px;top:-10px;z-index:35;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#172019;border:2px solid #fff;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.editor-divider{width:1px;height:30px;background:var(--line);margin:0 2px}
.editor-toggle,.zoom-control{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.82rem;font-weight:700}
.editor-toggle input{accent-color:#315d45}
.zoom-control input{width:95px}.zoom-control output{min-width:42px;text-align:right}
.layout-actions{flex-wrap:wrap}.layout-actions button:disabled{opacity:.42;cursor:not-allowed}
.editor-canvas{transition:transform .15s ease}
@media(max-width:760px){.zoom-control{width:100%}.zoom-control input{flex:1}.editor-divider{display:none}}
