.seating-page{max-width:1280px;margin:auto;padding:28px 24px 70px}.seating-page>h1{font-size:clamp(26px,4vw,42px);font-weight:700;margin:8px 0 22px;letter-spacing:-.035em}.seating-eyebrow{color:var(--accent,#647235);font-size:12px;letter-spacing:.12em;font-weight:600}.seating-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.seating-controls,.seating-output{border:1px solid #dcded7;border-radius:14px;padding:20px;background:var(--bg,#fff)}.seating-controls{display:grid;gap:14px}.seating-tool label{display:grid;gap:6px;font-size:13px;font-weight:600}.seating-tool input,.seating-tool select,.seating-tool textarea{width:100%;border:1px solid #c9cdc3;border-radius:6px;padding:8px;background:transparent;color:inherit;font:inherit}.seating-tool textarea{resize:vertical;font-weight:400}.seating-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seating-tool button{cursor:pointer;border:1px solid #bac2ae;border-radius:6px;padding:8px 12px;font:inherit}.seating-tool button:disabled{opacity:.5;cursor:wait}.seating-tool .seating-primary{background:#344d32;color:white;border-color:#344d32;font-weight:600;padding:12px}.seating-hint{font-size:12px;line-height:1.6;color:#687062;margin:0}.seating-error{color:#a32828;background:#fff0ef;padding:12px;border-radius:6px}.seating-actions{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.seating-empty{min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;color:#687062}.seating-copy h2,.seating-tool h2{font-size:23px;font-weight:600;margin:20px 0 14px}.seating-front{text-align:center;background:#e9ede3;border:1px solid #bbc5af;padding:10px;font-size:11px;letter-spacing:.07em;margin-bottom:20px;border-radius:4px;color:#253920}.seating-plan{display:grid;gap:12px}.seating-wedding{grid-template-columns:repeat(3,minmax(0,1fr))}.seating-place{min-width:0;border:1px solid #bcc8b1;padding:8px;background:#f7f9f4;color:#253920;overflow-wrap:anywhere}.seating-place.round{border-radius:35px;text-align:center;padding:14px 8px}.seating-place.long{border-radius:3px}.seating-place>input{font-weight:700;text-align:center}.seating-place>strong{font-size:11px;display:block}.seating-place small{font-size:10px;color:#687062}.seating-place ul{padding:0;margin:6px 0;list-style:none}.seating-place li button{border:0;padding:3px 1px;background:transparent;font-size:11px;width:100%;text-align:inherit;cursor:grab}.seating-place li button[aria-pressed=true]{background:#d7e6c7;outline:2px solid #344d32}.seating-place .seating-move{font-size:10px;padding:3px}.seating-classroom{gap:6px}.seating-classroom .seating-place{padding:5px}.seating-directory{column-count:3;column-gap:20px;list-style:none;padding:0;font-size:11px}.seating-directory li{display:flex;justify-content:space-between;gap:8px;break-inside:avoid;border-bottom:1px solid #ddd;padding:4px 0}.seating-directory strong{white-space:nowrap}.seating-print-name{display:none!important}.seating-examples{margin:40px 0}.seating-examples>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seating-examples button{text-align:left;background:transparent;line-height:1.5;padding:16px}.seating-examples span{display:block;font-size:12px;color:#687062;margin-top:8px}.seating-copy{max-width:850px;margin:40px auto;line-height:1.8}.seating-copy ol{padding-left:24px}.seating-copy li{margin:12px 0}.seating-copy details{padding:14px 0;border-bottom:1px solid #ddd}.seating-copy summary{cursor:pointer;font-weight:600}.seating-copy p{margin-top:8px}@media(max-width:850px){.seating-workspace{grid-template-columns:1fr}.seating-examples>div{grid-template-columns:repeat(2,1fr)}.seating-page{padding:20px 14px}.seating-output{padding:12px}.seating-directory{column-count:2}.seating-place li button{font-size:10px}}@media print{body:has(.seating-tool){background:white!important;color:black!important}body:has(.seating-tool) *{visibility:hidden}.seating-print,.seating-print *{visibility:visible}.seating-print{position:absolute;top:0;left:0;width:100%;font-family:Arial,sans-serif}.seating-print h2{font-size:16pt;margin:0 0 10px}.seating-print .seating-plan-page{height:250mm;break-after:page;overflow:hidden}.seating-print .seating-plan-page:last-child{break-after:auto}.seating-directory-page{height:250mm;overflow:hidden;break-before:page}.seating-print .seating-front{font-size:8pt;margin-bottom:4mm;padding:2mm}.seating-print .seating-plan{gap:2mm}.seating-print .seating-place{break-inside:avoid;padding:2mm}.seating-print .seating-place ul{margin:1mm 0}.seating-print .seating-place li button{font-size:7pt;line-height:1.2;padding:.3mm 0;color:black}.seating-print .seating-move,.seating-print .seating-place>input{display:none}.seating-print .seating-print-name{display:block!important;font-size:9pt}.seating-print .seating-directory{column-count:3;font-size:7pt;line-height:1.2}.seating-print .seating-directory li{padding:1mm 0}.seating-print .seating-directory-page>p{font-size:9pt;margin-bottom:3mm}}.seating-inputs{display:contents;border:0;padding:0;margin:0}@media print{.seating-print .seating-wedding .seating-place{height:calc(225mm / var(--print-rows) - 2mm);box-sizing:border-box}.seating-print .seating-wedding li button{font-size:min(7pt,calc((225mm / var(--print-rows) - 17mm) / var(--print-guests) * .65));line-height:1.15;padding:.15mm 0}.seating-print .seating-classroom{grid-template-rows:repeat(var(--print-rows),minmax(0,1fr))!important;height:225mm}.seating-print .seating-classroom li button{font-size:min(7pt,calc((225mm / var(--print-rows) - 7mm) / var(--print-guests) * .6));line-height:1.15;padding:0}.seating-print .seating-directory{font-size:min(7pt,calc(225mm / var(--directory-rows) * .5))}.seating-print .seating-directory li{padding:min(1mm,calc(225mm / var(--directory-rows) * .1)) 0}}@media print{body:has(.seating-tool)>:not(main){display:none!important}main.seating-page{padding:0;margin:0;max-width:none}.seating-controls,.seating-output>:not(.seating-print),.seating-page>:not(.seating-tool),.seating-tool>:not(.seating-workspace){display:none!important}.seating-workspace{display:block}.seating-output{border:0;padding:0}.seating-print{position:static}}