.l4f-editor-columns{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;margin-top:15px}.l4f-canvas-wrap,.l4f-public-wrap{overflow:auto;max-width:100%;border:1px solid #bbb;background:#eee;padding:12px}.l4f-canvas-wrap{max-height:75vh}#l4f-canvas,.l4f-public-canvas{position:relative;background-color:#dfc39c;background-image:linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px);background-size:20px 20px;transform-origin:top left}.l4f-edit-item{position:absolute;box-sizing:border-box;cursor:grab;touch-action:none;user-select:none}.l4f-edit-item.selected{outline:3px solid #2374d9;z-index:4}.l4f-edit-area,.l4f-public-area{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;letter-spacing:2px;text-align:center}.l4f-edit-group{border:1px dashed #8c795d;background:rgba(255,255,255,.13)}.l4f-edit-group small{position:absolute;top:-17px;left:0;background:#fff}.l4f-edit-seat{position:absolute;width:70px;height:52px;background:#26b90d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.l4f-panel{padding:12px;background:#fff;border:1px solid #ddd}.l4f-panel label{display:block;margin:7px 0;font-weight:600}.l4f-panel input{display:block;width:100%;max-width:210px}.l4f-tools{display:flex;flex-wrap:wrap;gap:6px}.l4f-public-area{position:absolute;box-sizing:border-box}.l4f-public-seat{position:absolute;width:70px;height:52px;display:flex;align-items:center;justify-content:center;text-align:center;color:white;font-weight:600;font-size:12px;overflow:hidden}.l4f-public-seat.free{background:#29bb0d}.l4f-public-seat.occupied{background:#e32626}.l4f-public-seat.blocked{background:#4d4d4d}.l4f-public-seat.mine{background:#2476d2}.l4f-public-seat form,.l4f-public-seat button{width:100%;height:100%;margin:0}.l4f-public-seat button{background:transparent;border:0;color:#fff;font:inherit;cursor:pointer}.l4f-public-seat button:hover{outline:3px solid #fff;outline-offset:-4px}.l4f-public-seat span{padding:3px;overflow-wrap:anywhere}.l4f-success{color:#198047}@media(max-width:850px){.l4f-editor-columns{grid-template-columns:1fr}}

/* v0.4: Sitzplan passt sich proportional der verfügbaren Inhaltsbreite an. */
.l4f-seat-public{max-width:100%;min-width:0}
.l4f-seat-public .l4f-public-wrap{position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden;padding:0;border:0;background:transparent}
.l4f-seat-public .l4f-public-canvas{position:absolute;top:0;left:0;transform-origin:0 0}
.l4f-seat-public .l4f-seat-legend{max-width:100%;overflow-wrap:break-word}

/* v0.4.2: Belegte Plätze sind rot, auch beim eigenen Sitzplatz. */
.l4f-seat-public .l4f-public-seat.occupied,.l4f-seat-public .l4f-public-seat.occupied.mine{background-color:#e32626 !important;color:#fff !important}
.l4f-seat-public .l4f-public-seat.free{background-color:#29bb0d !important}
.l4f-seat-public .l4f-public-seat.blocked{background-color:#4d4d4d !important}
.l4f-seat-public .l4f-public-seat button{background:transparent !important;color:inherit !important;white-space:normal;overflow-wrap:anywhere}

/* v0.4.3: Nickname erst bei Hover/Fokus zeigen, Nummer immer sichtbar. */
.l4f-seat-public .l4f-public-seat.occupied{overflow:visible;position:absolute}
.l4f-seat-public .l4f-public-seat.occupied:hover,.l4f-seat-public .l4f-public-seat.occupied:focus-within{z-index:30}
.l4f-seat-public .l4f-public-seat.occupied[data-nickname]:not([data-nickname=""]):hover::after,
.l4f-seat-public .l4f-public-seat.occupied[data-nickname]:not([data-nickname=""]):focus-within::after{
 content:attr(data-nickname);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);
 display:block;max-width:220px;min-width:max-content;box-sizing:border-box;padding:7px 11px;border-radius:6px;
 background:#20252d;color:#fff;font-size:14px;font-weight:600;line-height:1.3;
 white-space:normal;overflow-wrap:anywhere;box-shadow:0 3px 12px rgba(0,0,0,.28);pointer-events:none;z-index:31;
}

/* v0.4.4: Touch-Infokarte außerhalb der skalierten Zeichenfläche. */
.l4f-seat-public .l4f-seat-info[hidden],.l4f-seat-public .l4f-seat-info button[hidden]{display:none!important}
.l4f-seat-public .l4f-seat-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#f4f6f9;color:#1b2533;font-size:15px;line-height:1.4}
.l4f-seat-public .l4f-seat-info-text{flex:1 1 160px;overflow-wrap:anywhere}
.l4f-seat-public .l4f-seat-info button{cursor:pointer;border:1px solid #b6c1ce;border-radius:5px;padding:6px 10px;background:white;color:#1b2533}
.l4f-seat-public .l4f-seat-info-close{font-size:20px;line-height:1}
.l4f-seat-public .l4f-public-seat.occupied{cursor:pointer}
.l4f-seat-public .l4f-public-seat.occupied:focus-visible{outline:3px solid #1b2533;outline-offset:2px}
@media(hover:none){
 .l4f-seat-public .l4f-public-seat.occupied:hover::after,.l4f-seat-public .l4f-public-seat.occupied:focus-within::after{display:none!important}
}

/* v0.4.7: Namen der Orga-Mitglieder innerhalb des Orga-Bereichs. */
.l4f-public-area .l4f-orga-names{display:block;font-size:12px;line-height:1.4;margin:8px 4px;overflow-wrap:anywhere;color:inherit}
