.room{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.room__cell{display:grid;gap:.25rem}.room__label{font-size:var(--text-sm);color:var(--color-muted)}.room .field__input--number{width:100%}.field__meta.is-bad{color:var(--color-danger, #b42318);font-weight:600}.chart{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.chart__board{justify-self:center;width:min(60%,24rem);padding:.35rem 1rem;border-radius:.4rem;background:#1f3d2b;color:#e8f3e8;text-align:center;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-sm);box-shadow:inset 0 0 0 3px #8a5a2b}.chart__rows{display:grid;gap:var(--space-2);min-width:0}.chart__row{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:var(--space-2);align-items:center}.chart__rowno{font-size:var(--text-sm);color:var(--color-muted);text-align:center;font-variant-numeric:tabular-nums}.chart__desks{display:grid;grid-template-columns:repeat(var(--desks, 4),minmax(0,1fr));gap:var(--space-2)}.desk{display:grid;grid-template-columns:repeat(var(--n, 2),minmax(0,1fr));gap:2px;padding:3px;border-radius:.5rem;background:#d9b68a;box-shadow:inset 0 -3px #5a320a40}.seat{position:relative;min-width:0;min-height:3.2rem;border-radius:.35rem;background:#fff}.seat--empty{background:repeating-linear-gradient(45deg,#f5f0e8 0 6px,#efe7db 6px 12px)}.seat--locked{background:#fff6d6;box-shadow:inset 0 0 0 2px #e0b23b}.seat.is-selected{box-shadow:0 0 0 3px var(--color-accent)}.seat__name{display:block;width:100%;min-height:3.2rem;padding:.3rem 1.6rem .3rem .35rem;border:0;border-radius:inherit;background:none;font:inherit;font-size:.8rem;line-height:1.2;font-weight:600;text-align:left;color:var(--color-text);cursor:pointer;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.seat--empty .seat__name{cursor:pointer}.seat__name:hover{background:#1e4fd80f}.seat__name:focus-visible,.seat__lock:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.seat__lock{position:absolute;top:.1rem;right:.1rem;width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:999px;background:#ffffffd9;font-size:.85rem;line-height:1;cursor:pointer;opacity:.45}.seat--locked .seat__lock{background:#ffe7a3;box-shadow:0 0 0 1px #d9a92c}.seat:hover .seat__lock,.seat--locked .seat__lock,.seat__lock:focus-visible{opacity:1}.chart__legend{font-size:var(--text-sm);color:var(--color-muted)}.chart__key--empty{display:inline-block;width:.9rem;height:.9rem;vertical-align:-.1rem;border-radius:2px;background:repeating-linear-gradient(45deg,#f5f0e8 0 3px,#e3d8c8 3px 6px)}.btn__hint{font-weight:400;opacity:.8}@media(max-width:40em){.room{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.chart{padding:var(--space-2)}.chart__desks{grid-template-columns:repeat(var(--desks, 4),minmax(calc(var(--seats, 2) * 3.6rem + .4rem),1fr))}.seat{min-width:3.4rem}.seat__name{font-size:.72rem;padding-right:1.1rem}}@media print{@page{size:A4 landscape;margin:12mm}.tool__form,.results__toolbar,.results__status,.notice,.site-header,.site-footer,.steps,.features,.faq,.related,.tool-page__lead{display:none!important}.tool{display:block}.chart{border:0;padding:0;overflow:visible}.seat{border:1px solid #999;background:#fff!important}.seat__lock{display:none}.seat--locked:after{content:"\1f512";position:absolute;top:2px;right:3px;font-size:8px}}
