/* Exact Seats shares the Menu appearance shell and the existing seat geometry. */
.modal.exact-appearance-dialog{--sheet-coat-override:color-mix(in srgb,var(--surface) 84%,transparent);--sheet-blur-override:blur(36px) saturate(1.2);--menu-pane-fill:color-mix(in srgb,var(--surface-alt) 24%,transparent);--menu-footer-fill:color-mix(in srgb,var(--surface) 28%,transparent);animation-fill-mode:backwards;background:var(--sheet-coat-override);backdrop-filter:var(--sheet-blur-override);-webkit-backdrop-filter:var(--sheet-blur-override)}
.modal-backdrop.exact-appearance-backdrop{animation-fill-mode:backwards;backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--ink) 18%,transparent)}
/* Defocus the single underlying app layer as well: WebKit can report backdrop
   filter support without painting the blur through composed planner chrome. */
body:has(> .exact-appearance-backdrop) > .app{filter:blur(8px)}
.exa-workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.exact-appearance-dialog [hidden]{display:none!important}
.exa-looks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.exa-look{display:flex;flex-direction:column;gap:8px;padding:8px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:var(--ink);font-family:var(--font-ui);cursor:var(--planner-cursor-pointer, pointer);transition:background .15s,border-color .15s}
.exa-look:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.exa-look[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.exa-look strong{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;font-size:.875rem;font-weight:600}.exa-look small{font-size:.75rem;line-height:1.5}
.exa-look[data-exa-look="cocoa"]{grid-column:1/-1;display:grid;grid-template-columns:100px minmax(0,1fr);gap:4px 14px;align-items:center}
.exa-look[data-exa-look="cocoa"] .exa-look-swatch{grid-row:span 2;height:80px}
.exa-look-swatch{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;width:100%;height:48px;border-radius:4px;background:var(--surface-alt);overflow:hidden}
.exa-look-swatch i{display:block;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#f6f4ef;border:2px solid #c2beb6;box-shadow:0 2px 5px #0001}
.exa-look-swatch[data-look="original"] i{background:transparent;border:1px solid var(--border);box-shadow:none}
.exa-look-swatch[data-look="porcelain"]{background:#eeeef0}.exa-look-swatch[data-look="porcelain"] i{background:#fff;border-color:#e0dfe2}
.exa-look-swatch[data-look="stone"]{background:#d9cfc0}.exa-look-swatch[data-look="stone"] i{background:#fff8eb;border-color:#cabbab}
.exa-look-swatch[data-look="graphite"]{background:#393a3c}.exa-look-swatch[data-look="graphite"] i{background:#f2f0e9;border-color:#a2a4a6}
.exa-look-swatch img{width:100%;height:100%;object-fit:contain}
.exa-mode{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.exa-mode [aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.exa-source{display:flex;gap:8px;align-items:center;min-height:44px;font-size:.875rem;cursor:var(--planner-cursor-pointer, pointer)}.exa-source input{accent-color:var(--accent);width:18px;height:18px}

.exa-preview{width:100%;padding:16px;overflow:hidden}.exa-preview-fit{position:relative;width:100%}.exa-preview .exact-stage{position:absolute;top:0;left:0;margin:0;transform-origin:top left;min-width:0;border-radius:var(--radius-surface);overflow:hidden}.exa-preview .exact-seat-slot{pointer-events:none}.exa-preview .exact-seat-chair i,.exa-preview .exact-seat-slot::before,.exa-preview .exact-seat-slot::after{display:none}.exa-preview .exa-centrepiece{pointer-events:auto;cursor:grab;touch-action:none}.exa-preview .exa-centrepiece:active{cursor:grabbing}.exa-preview-caption{font-size:.8125rem;text-align:center;color:var(--ink);margin:8px 16px 24px}
.exact-appearance-dialog .menu-appearance-preview-pane{justify-content:center;overflow:auto;background:color-mix(in srgb,var(--surface-alt) 24%,transparent)}.exact-appearance-dialog .menu-appearance-preview-title{flex:none}.exact-appearance-dialog .menu-appearance-controls{overscroll-behavior:contain}
.exact-stage[data-exact-look]{isolation:isolate}
.exa-local-floor{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}.exa-ground-base{position:absolute;inset:0}.exa-floor-cover{position:absolute;transform-origin:center}
.exact-stage[data-exact-look] .exact-table-body{z-index:1;isolation:isolate}
.exact-stage[data-exact-look]:not([data-exact-look="original"]) .exact-table-body:not(.exact-table-body--wavy){border:1px solid #0002;box-shadow:0 6px 14px #0002}
.exact-stage[data-exact-look="original"] .exact-table-body:not(.exact-table-body--wavy){background:var(--surface)}
.exact-stage[data-exact-look="porcelain"] .exact-table-body:not(.exact-table-body--wavy){background:#f5f4f2}
.exact-stage[data-exact-look="stone"] .exact-table-body:not(.exact-table-body--wavy){background:#d9cfc0}
.exact-stage[data-exact-look="graphite"] .exact-table-body:not(.exact-table-body--wavy){background:#393a3c;color:#faf8f3}
.exact-stage[data-exact-look="graphite"] .exact-table-body>span{color:#faf8f3}
.exact-stage[data-exact-look="cocoa"] .exact-table-body:not(.exact-table-body--wavy){background:#48301f;border-color:#432d20;overflow:hidden}
.exa-live-notice{padding:12px 16px;margin:0;border-top:1px solid var(--border);font:400 .8125rem/1.5 var(--font-ui);color:var(--ink)}
.exa-wood{transform:rotate(var(--fp-material-rotation,0deg));position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;border-radius:inherit}
.exa-centrepiece{position:absolute;height:auto;max-width:none;pointer-events:none;user-select:none}
.exa-table-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.exact-stage[data-exact-look="cocoa"] .exact-table-body>span{display:none}
.exact-stage[data-exact-photograph="true"] .exact-table-body:not(.exact-table-body--wavy){border:0;background:transparent;box-shadow:none;overflow:visible}
.exact-stage[data-exact-look]:not([data-exact-look="original"]) .exact-place-setting{opacity:1}
.exact-stage[data-exact-look]:not([data-exact-look="original"]) .exact-place-plate{background:#faf7ee;border:1px solid #c8c0b3;box-shadow:inset 0 0 0 3px #e9e5dc,0 1px 3px #0002}
.exact-stage[data-exact-look]:not([data-exact-look="original"]) :is(.exact-place-fork,.exact-place-knife){background:#9e9c96}
.exact-stage[data-exact-look="cocoa"] .exact-place-setting,.exact-stage[data-exact-menu="true"] .exact-place-setting{width:56px;height:56px;opacity:1;transform:translate(-50%,-50%) translate(var(--seat-setting-x),var(--seat-setting-y)) rotate(var(--exa-setting-angle))}
.exa-setting-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.exa-setting-menu{display:block;position:absolute;inset:-12%;max-width:none!important}.exa-setting-menu .menu-setting-layer{position:absolute;max-width:none;transform:translate(-50%,-50%)}
@media(max-width:700px){.exact-appearance-dialog .menu-appearance-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.exact-appearance-dialog .btn{min-height:44px}.exa-preview{padding:8px}.exa-look{gap:4px}.exa-looks{gap:12px 8px}.exa-look-swatch{height:48px}.exact-stage-actions{flex-wrap:wrap;max-width:60%}.exact-stage-heading{height:auto;min-height:var(--exact-stage-heading-height);gap:8px}}
/* Match the engine's fixed 600px coordinate system, also in the small-screen preview. */
.exact-stage[data-exact-look].exact-stage--round,.exact-stage[data-exact-look].exact-stage--square{width:600px;min-width:600px;height:600px}
.exact-stage[data-exact-look].exact-stage--rect{width:860px;min-width:860px;height:600px}
.exact-stage[data-exact-look].exact-stage--head{width:780px;min-width:780px;height:600px}
.exact-stage[data-exact-look] .exact-table-body--square{width:46%;height:46%}
@media(prefers-reduced-motion:reduce){.exa-look{transition:none}}
@media print{.exa-local-floor,.exact-table-body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

@media(prefers-reduced-transparency:reduce){body:has(> .exact-appearance-backdrop) > .app{filter:none}.modal.exact-appearance-dialog{--sheet-coat-override:var(--surface);--sheet-blur-override:none}}

/* A single frosted sheet, with quiet selection and progressive detail. */
.exact-appearance-dialog .menu-appearance-heading{padding-right:56px}
.exact-appearance-dialog .menu-appearance-heading h2{font:600 1.25rem/1.3 var(--font-ui);text-transform:none;letter-spacing:normal}
.exact-appearance-dialog .menu-appearance-tabs{flex-shrink:0}
.exact-appearance-dialog .menu-appearance-controls{padding-top:20px}
.exact-appearance-dialog .menu-appearance-footer{background:color-mix(in srgb,var(--surface) 28%,transparent)}
.exa-selected-mark{visibility:hidden;font-size:.875rem;flex:none}
[aria-pressed="true"]>.exa-selected-mark,[aria-pressed="true"] .exa-selected-mark{visibility:visible}
.exa-render-options{display:grid;gap:8px}
.exa-render-choice{display:flex;align-items:center;gap:12px;min-width:0;min-height:64px;padding:12px;text-align:left;font-family:var(--font-ui);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface) 30%,transparent);cursor:var(--planner-cursor-pointer, pointer)}
.exa-render-choice:first-child{display:block}
.exa-render-choice strong{display:block;font-size:.84rem;font-weight:600}
.exa-render-choice small{display:block;font-size:.76rem;line-height:1.5;margin-top:4px}
.exa-render-choice img{width:64px;height:64px;object-fit:contain;flex:none}
.exa-render-choice[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.exa-render-choice:hover{border-color:var(--accent)}
.exa-link-options{margin-top:24px;border-top:1px solid var(--border);padding-top:8px}
.exa-link-options summary,.exa-position-details summary{font:500 .8125rem/1.4 var(--font-ui);padding:12px 0;cursor:var(--planner-cursor-pointer, pointer);min-height:44px;box-sizing:border-box}
.exa-position-details .fp-fields{gap:12px 16px;padding:4px 0 12px}
.exa-position-details label{font:500 .76rem/1.4 var(--font-ui)}
.exa-position-details input{min-height:44px;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:8px 0;color:var(--ink);font:400 1rem/1.4 var(--font-ui)}
.exa-centre-intro{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.exa-centre-intro img{width:64px;height:64px;object-fit:contain}
.exa-centre-intro .fp-subheading{margin:0}.exa-centre-intro .menu-appearance-hint{margin:4px 0 0}
.exa-centre-item{padding:12px 0;border-bottom:1px solid var(--border)}
.exa-centre-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.exa-centre-row strong{flex:1;font:600 .84rem/1.4 var(--font-ui);min-width:100px}
.exa-centre-row .btn{font-size:.76rem;padding-inline:8px;min-height:44px}
.exa-chair-swatch{display:flex;align-items:center;justify-content:center;height:112px;width:100%}
.exa-chair-swatch img{width:100%;height:100%;object-fit:contain}
.exa-plain-chair{width:40px;height:42px;border:2px solid var(--ink-muted);border-radius:8px 8px 3px 3px;position:relative}
.exa-plain-chair:before{content:'';position:absolute;top:10px;left:0;right:0;border-top:2px solid var(--ink-muted)}
.exact-seat-chair.exa-chair-photo{width:40px;height:42px;border:0;background:transparent;border-radius:0;box-shadow:none}
.exact-seat-chair.exa-chair-photo:before,.exact-seat-chair.exa-chair-photo:after{display:none}
.exa-chair-photo img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}
.exa-preview-floor{inset:auto;left:0;top:0;transform-origin:top left;border-radius:0}
.seating-action-preview-exact:has(>.exa-preview-floor){isolation:isolate}
.seating-action-preview-exact:has(>.exa-preview-floor)>.exact-stage{z-index:1}
.exa-canvas-floor{inset:auto;left:0;top:0;border-radius:0}
.exact-stage-scroll:has(>.exa-canvas-floor)>.exact-stage{z-index:1}
.exa-rotation-popover{position:fixed;inset:auto;margin:0;width:268px;box-sizing:border-box;padding:12px 16px 16px;border:1px solid var(--border);border-radius:var(--radius-panel,16px);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:var(--ink);font:400 .875rem/1.5 var(--font-ui);overflow:auto}
.exa-rotation-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.exa-rotation-title .btn{min-width:44px;min-height:44px;padding:0;font-size:1.4rem}
.exa-rotation-popover label{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.exa-rotation-popover input[type="range"]{display:block;width:100%;height:44px;accent-color:var(--accent);padding:0;background:transparent}
.exa-rotation-actions{display:flex;gap:8px;margin-top:8px}.exa-rotation-actions .btn{flex:1;min-height:44px;padding-inline:8px}
.exa-rotation-popover :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.exa-rotation-popover:popover-open{animation:menu-appearance-in .16s ease-out}
@media(max-width:700px){
  .exact-appearance-dialog .menu-appearance-tabs button{font-size:.76rem;padding-inline:4px;min-height:44px}
  .exact-appearance-dialog .menu-appearance-controls{padding-top:12px}
  .exa-chair-swatch{height:100px}
  .exact-appearance-dialog.is-preview-active .menu-appearance-preview-pane{justify-content:flex-start}
  .exact-appearance-dialog.is-preview-active .exa-preview{margin-block:auto}
}
@media(prefers-reduced-motion:reduce){.exa-rotation-popover:popover-open{animation:none}}
@media(prefers-reduced-transparency:reduce){.exa-rotation-popover{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){.modal.exact-appearance-dialog,.exa-rotation-popover{background:var(--surface)}}
