.dinner-builder{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:22px;padding:20px 0;border-top:1px solid var(--line,#d9e2d8);margin-top:16px}
.dinner-controls h3{font-size:17px;margin:0 0 8px}.dinner-controls p{font-size:13px;line-height:1.5}.dinner-controls label{display:flex;justify-content:space-between;align-items:center}.dinner-controls output{font-size:24px;font-weight:700}
.dinner-controls input[type=range]{width:100%;padding:0;min-height:32px;accent-color:#c94e59;cursor:pointer}.dinner-preview{min-width:0;max-height:460px;overflow:auto;padding:2px}
.dinner-table{margin-bottom:20px}.dinner-table h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.dinner-seat-row{display:flex;justify-content:center;gap:5px;min-height:24px}
.dinner-seat{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#20543e;color:#fff;font-size:10px;flex:none}.dinner-surface{display:flex;justify-content:center;align-items:center;min-height:32px;margin:6px 0;border:1px solid #b57f0e;border-radius:8px;background:#b57f0e18;color:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
@media(max-width:600px){.dinner-builder{grid-template-columns:1fr}.dinner-preview{max-height:380px}}
.dinner-table-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.dinner-table-heading h4{margin:0}.dinner-table-heading h4 span{font-weight:400;letter-spacing:0;text-transform:none}
.dinner-seat-count{display:flex;align-items:center;flex:none;border:1px solid var(--ui-border,var(--line,#d9e2d8));border-radius:8px;overflow:hidden;background:var(--ui-surface,var(--surface))}
.dinner-seat-count button{display:grid;place-items:center;width:30px;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.dinner-seat-count button:disabled{opacity:.35;cursor:default}
html[data-events-ui] .dinner-seat-count input,.dinner-seat-count input{width:40px;min-width:0;min-height:32px;padding:4px 0;margin:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:center;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;appearance:textfield;-moz-appearance:textfield}.dinner-seat-count input::-webkit-inner-spin-button,.dinner-seat-count input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dinner-table-diagram{overflow-x:auto;padding-bottom:3px}.dinner-seat-count:focus-within{outline:2px solid var(--ui-primary,#c94e59);outline-offset:2px}

.dinner-table-name{display:block;width:100%;margin:0;text-align:center;border:1px solid transparent;cursor:text;font:inherit;box-sizing:border-box}.dinner-table-name:hover{border-color:var(--ui-border,#aab79f)}.dinner-table-name:focus{outline:2px solid var(--ui-primary,#9e293b);outline-offset:2px}

.dinner-shape-toggle{display:inline-flex;gap:2px;padding:2px;margin:10px 0 16px;border:1px solid var(--line);border-radius:9px}
.dinner-shape-toggle button{display:grid;place-items:center;width:42px;min-width:0;height:40px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:12px}
.dinner-shape-toggle button[aria-pressed=true]{background:var(--ui-primary,#20543e);color:var(--ui-on-primary,#fff)}
.dinner-round-table{position:relative;width:min(100%,var(--table-size));aspect-ratio:1;margin:auto}
.dinner-round-table .dinner-seat{position:absolute;transform:translate(-50%,-50%);width:11%;height:11%}
.dinner-round-table .dinner-table-name{position:absolute;top:21%;left:21%;width:58%;height:58%;border-radius:50%;margin:0;padding:4px}

#use-dinner-tables{display:inline-grid;place-items:center;width:44px;height:44px;padding:0}

.round-dinner-layout .dinner-builder{grid-template-columns:minmax(0,1fr);gap:12px}
.round-dinner-layout .dinner-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
.round-dinner-layout .dinner-controls h3,.round-dinner-layout .dinner-controls p{margin:0}
.round-dinner-layout .dinner-shape-toggle{margin:0}
.round-dinner-layout .dinner-controls label,.round-dinner-layout #dinner-guests,.round-dinner-layout #dinner-status{grid-column:1/-1}
.round-dinner-layout #use-dinner-tables{justify-self:end}
.round-dinner-layout .dinner-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(146px,100%),1fr));align-items:start;gap:16px 12px;max-height:none;overflow:visible}
.round-dinner-layout .dinner-table{min-width:0;margin:0}
.round-dinner-layout .dinner-table-diagram{overflow:visible}
.round-dinner-layout .dinner-table-heading{row-gap:4px;margin-bottom:6px}
.round-dinner-layout .dinner-seat{width:clamp(12px,12%,18px);height:auto;aspect-ratio:1;font-size:9px}
