:root{font-family:Space Grotesk,Avenir Next,sans-serif;--placement-export-width: 1063px;--placement-export-height: 733px;color:#f7f1dd;background:#10181d;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#10181d}button,input,textarea,select{font:inherit}input::placeholder,textarea::placeholder{color:#f7f1dd6b;opacity:1}button{border:0;border-radius:4px;padding:.8rem 1.1rem;cursor:pointer;background:#e07a5f;color:#fff8ed;transition:transform .16s ease,opacity .16s ease,background .16s ease}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}input,textarea,select{width:100%;border:1px solid rgba(247,241,221,.12);border-radius:4px;background:#10181d;color:#fff8ed;padding:.85rem .95rem}input[type=checkbox],input[type=radio]{width:auto;accent-color:#e07a5f}textarea{min-height:14rem;resize:vertical}.secondary-button{background:#3d5a80}.ghost-button{background:transparent;color:#f2cc8f;border:1px solid rgba(242,204,143,.35)}.page-shell{min-height:100vh;padding:2rem}.panel,.table-card,.unseated-panel,.modal-panel{background:#18242b;border:1px solid rgba(247,241,221,.1);border-radius:6px;box-shadow:0 8px 24px #0000002e}.table-summary span,.table-card p,.section-heading p{color:#f7f1ddb8}.layout{display:grid;gap:1.5rem}.tables-section{display:grid;gap:1rem;align-content:start}.control-panel{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:.75rem 1rem;width:calc(100% + 4rem);margin:-2rem -2rem 0;padding:.85rem 2rem;border-top:0;border-right:0;border-left:0;border-radius:0;box-shadow:0 8px 20px #00000047}.primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.primary-actions>button,.overflow-menu-trigger{padding:.65rem .85rem;white-space:nowrap}.responsive-action{display:none}.overflow-menu{position:relative}.overflow-menu-trigger{width:2.55rem;min-width:0;font-size:1.25rem;line-height:1}.overflow-menu-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;display:grid;width:12rem;padding:.35rem;border:1px solid rgba(247,241,221,.16);border-radius:4px;background:#18242b;box-shadow:0 12px 28px #00000061}.overflow-menu-popover button{width:100%;padding:.6rem .7rem;border-radius:3px;background:transparent;color:#f7f1dd;text-align:left}.overflow-menu-popover button:hover{background:#26343b;transform:none}.table-settings-modal{width:min(36rem,100%)}.table-settings-modal .table-summary strong{font-size:1.45rem}.tables-section{width:100%}.panel,.unseated-panel{padding:1.2rem}.panel-heading,.section-heading,.table-card-header,.modal-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.panel-heading h2,.section-heading h2,.modal-heading h2,.table-card h3{margin:0}.table-form-list,.group-list,.action-grid,.unseated-grid{display:grid;gap:.85rem}.table-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.table-info-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:.85rem;align-items:end}.field{display:grid;gap:.45rem}.field span{color:#f7f1ddc2;font-size:.92rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:.65rem .75rem;border-radius:4px;background:#202c32;min-width:0}.table-summary strong{display:block;margin-top:.25rem;font-size:1.9rem}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#070c0fb8}.modal-panel{width:min(680px,100%);display:grid;gap:1rem;padding:1.2rem}.modal-heading p{margin:.25rem 0 0;color:#f7f1ddb8}.modal-title-row{display:flex;align-items:center;gap:.55rem}.info-toggle{width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(242,204,143,.58);border-radius:999px;background:transparent;color:#f2cc8f;font-size:.95rem;font-weight:700;line-height:1}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.placement-page{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;height:100%}.placement-route{min-width:0;min-height:0;height:100vh;margin:-2rem}.placement-header{z-index:15;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.75rem 1rem;padding:.85rem 2rem;border-bottom:1px solid rgba(247,241,221,.1);background:#18242b;box-shadow:0 8px 20px #00000047}.placement-header h1{margin:0;font-size:1.1rem;letter-spacing:0}.placement-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.placement-toolbar button{padding:.55rem .8rem}.placement-canvas{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#10181d;cursor:grab;touch-action:none}.placement-canvas:active{cursor:grabbing}.placement-export-area{position:absolute;left:50%;top:50%;width:var(--placement-export-width);height:var(--placement-export-height);border:2px dashed rgba(242,204,143,.72);border-radius:4px;background:#162229;box-shadow:0 0 0 9999px #10181d38,inset 0 0 0 1px #10181d3d;transform-origin:0 0;will-change:transform}.placement-table{position:absolute;width:8.5rem;min-height:5.4rem;display:grid;place-items:center;padding:.75rem;border:2px solid rgba(242,204,143,.6);background:#18242b;color:#fff8ed;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 14px 32px #00000042}.placement-table:active{cursor:grabbing}.placement-table-flagged{border-color:#60a5fab8;background:#1d3650}.placement-table-conflict{border-color:#f87171b8;background:#4a2029}.placement-table-error{border-color:#e07a5fc7;background:#442324}.placement-table-round{width:7rem;min-height:7rem;border-radius:999px}.placement-table-rectangular{width:5.4rem;min-height:var(--placement-rect-height, 10rem);border-radius:4px}.placement-table-label{display:grid;gap:.2rem;justify-items:center;text-align:center;pointer-events:none;transform:rotate(var(--placement-label-rotation, 0deg))}.placement-table-label strong{font-size:.9rem}.placement-table-label span{color:#f7f1ddb8;font-size:.78rem}.placement-seat-label{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(var(--placement-label-rotation, 0deg));pointer-events:none}.placement-seat-initials{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid rgba(242,204,143,.7);border-radius:999px;background:#fff8ed;color:#22333b;font-size:.62rem;font-weight:800;line-height:1}.placement-seat-initials{isolation:isolate}.placement-seat-initials{color:#111}.placement-seat-initials:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none}.placement-seat-error .placement-seat-initials{border-color:#f87171eb;box-shadow:0 0 0 2px #f87171c2}.placement-seat-error .placement-seat-initials:after{background:#5a2f33}.placement-seat-full-name,.placement-export-measure .placement-seat-initials{display:none}.placement-export-measure .placement-seat-full-name{display:block;width:max-content;max-width:none;padding:.1rem .18rem;border:1px solid #444444;border-radius:3px;background:#fff;color:#111;font-size:.48rem;font-weight:600;line-height:1.1;text-align:center;white-space:nowrap;transform:translateY(var(--placement-export-name-offset-y, 0px))}.placement-rotate-handle{position:absolute;right:-1.05rem;top:-1.05rem;z-index:4;width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(242,204,143,.5);background:#22333b;color:#f2cc8f;cursor:grab;font-size:1rem;line-height:1;transform:rotate(var(--placement-label-rotation, 0deg))}.placement-rotate-handle:active{cursor:grabbing}.info-box{margin:0;padding:.75rem .9rem;border:1px solid rgba(242,204,143,.24);border-radius:4px;background:#282b29;color:#f7f1ddd1}.table-edit-modal{width:min(820px,100%);max-height:min(92vh,900px);overflow-y:auto;align-content:start}.table-edit-heading-fields{display:grid;gap:.3rem;min-width:0}.editable-table-name input{width:min(24rem,100%);padding:0;border:0;border-radius:0;background:transparent;color:#f7f1dd;font-size:1.5rem;font-weight:700;line-height:1.2}.editable-table-name input:focus{outline:2px solid rgba(242,204,143,.72);outline-offset:.2rem}.editable-seat-count{display:inline-flex;align-items:center;gap:.35rem;color:#f7f1ddb8}.editable-seat-count input{width:4.25rem;padding:.2rem .35rem;border-radius:4px;font-size:.95rem;text-align:center}.shape-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.35rem;border:1px solid rgba(247,241,221,.1);border-radius:4px;background:#202c32}.shape-toggle button{border-radius:3px;background:transparent;color:#f7f1ddb8}.shape-toggle button.active{background:#e07a5f;color:#fff8ed}.compact-shape-toggle button{padding:.55rem .75rem}.table-info-row .field,.compact-shape-toggle{min-width:0}.seat-map{position:relative;width:min(620px,100%);aspect-ratio:1;justify-self:center;margin:.25rem auto 0}.table-surface{position:absolute;top:25%;right:25%;bottom:25%;left:25%;border:2px solid rgba(242,204,143,.38);background:#202c32;box-shadow:inset 0 0 40px #10181d7a}.seat-map-round .table-surface{border-radius:999px}.seat-map-rectangular .table-surface{top:14%;right:36%;bottom:14%;left:36%;border-radius:4px}.seat-placement{position:absolute;width:clamp(3.7rem,16%,6.5rem);min-height:2.35rem;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:.35rem .45rem;border:1px solid rgba(247,241,221,.16);border-radius:4px;background:#18242b;color:#f7f1dd80;font-size:.76rem;line-height:1.15;text-align:center;overflow:hidden;overflow-wrap:anywhere}.seat-placement.occupied{border-color:#f2cc8f75;background:#4a4132;color:#fff8ed;cursor:grab}.seat-placement.occupied:active{cursor:grabbing}.seat-placement.dragging-group{opacity:.55;border-color:#e07a5fb8}.seat-placement.preview-placement{z-index:2;border-color:#f2cc8f;background:#5b4c32;color:#fff8ed;box-shadow:0 0 0 3px #f2cc8f38,0 0 18px #f2cc8f80;pointer-events:none}.participant-modal{max-height:min(86vh,820px)}.group-edit-modal{width:min(720px,100%);max-height:min(88vh,820px);overflow-y:auto;align-content:start}.group-member-editor-list,.group-tag-editor{display:grid;gap:.75rem}.group-member-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center}.group-member-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.group-member-row-actions .compact-button:disabled{cursor:not-allowed;opacity:.45}.participant-list{display:grid;gap:.85rem;max-height:58vh;overflow:auto;padding-right:.25rem}.participant-editor{display:grid;gap:.8rem;padding:.95rem;border:1px solid rgba(247,241,221,.08);border-radius:6px;background:#202c32}.participant-editor textarea{min-height:5rem}.participant-editor-heading,.checkbox-field{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.checkbox-field{justify-content:flex-start;color:#f7f1ddc7}.compact-button{padding:.45rem .7rem}.table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.table-card{padding:1.1rem;transition:border-color .16s ease,background .16s ease,transform .16s ease}.table-card-heading{flex-direction:column}.table-card-top-row{width:100%;display:flex;justify-content:space-between;gap:.75rem}.table-card-heading p{margin-top:-.8em}.table-locked{background:#252a25;border-color:#f2cc8f3d}.table-card.table-flagged{background:#1d3650;border-color:#60a5fa85}.table-card.table-overflow{background:#3b2927;border-color:#e07a5f57}.table-card.table-constraint-conflict{background:#8b2d356b;border-color:#ff7e7ed1}.group-card,.empty-state{border-radius:6px;padding:.95rem;background:#202c32;border:1px solid rgba(247,241,221,.08)}.group-card{cursor:grab;display:grid;gap:.75rem}.group-card.group-locked{outline:2px solid rgba(242,204,143,.88);outline-offset:2px}.drop-preview-line{height:0;position:relative;margin:-.15rem 0;border-top:3px solid #f2cc8f;border-radius:999px;box-shadow:0 0 14px #f2cc8f8c}.drop-preview-line:before,.drop-preview-line:after{content:"";position:absolute;top:-.4rem;width:.7rem;height:.7rem;border-radius:999px;background:#f2cc8f;box-shadow:0 0 10px #f2cc8f80}.drop-preview-line:before{left:0}.drop-preview-line:after{right:0}.group-card:active{cursor:grabbing}.empty-state{color:#f7f1dd8f}.group-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.group-members{margin:0;padding-left:1rem;flex:1}.group-actions{display:flex;align-items:center;gap:.4rem;position:relative}.table-actions{display:flex;align-items:center;gap:.28rem}.table-actions .compact-button{padding:.32rem .52rem;font-size:.78rem;line-height:1.1}.flag-toggle{width:1.75rem;height:1.75rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(147,197,253,.48);border-radius:999px;background:transparent;color:#f7f1ddc7;line-height:1}.flag-toggle span{width:.72rem;height:.72rem;border:2px solid #93c5fd;border-radius:999px;display:block}.flag-toggle:hover{transform:translateY(-1px);background:#22384a}.flag-toggle.flagged{border-color:#93c5fdc7;color:#93c5fd}.flag-toggle.flagged span{background:#93c5fd}.tag-constraint-conflict{border-color:#ff7e7ed1;box-shadow:inset 0 0 0 1px #ff7e7e47}.tag-badge-list{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0}.group-card-row .tag-badge-list{min-height:1.75rem}.tag-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;font-size:1rem;line-height:1}.tag-color-swatch{flex:0 0 auto;width:.8rem;height:.8rem;border:1px solid rgba(255,255,255,.5);border-radius:2px}.tag-color-swatch-empty{background:linear-gradient(to bottom right,transparent 43%,rgba(255,255,255,.65) 45%,rgba(255,255,255,.65) 55%,transparent 57%)}.participant-tag-list{min-width:0}.group-tag-selector{display:grid;gap:1rem}.tag-option-group{min-width:0;margin:0;padding:0;border:0}.tag-option-group legend{margin-bottom:.5rem;color:#f7f1ddb3;font-size:.78rem;font-weight:700}.tag-option-list{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1rem}.tag-option-list .checkbox-field{justify-content:flex-start}.tag-manager-modal{width:min(64rem,calc(100vw - 2rem));max-height:min(52rem,calc(100vh - 2rem));overflow:auto}.tag-manager-section+.tag-manager-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.section-heading-row h3{margin:0;font-size:1rem}.tag-definition-list,.relationship-list{display:grid;gap:.55rem}.tag-definition-row{display:grid;grid-template-columns:minmax(10rem,1fr) 7rem 2.5rem 10.5rem 5rem;align-items:center;gap:.55rem}.relationship-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(13rem,1.4fr) minmax(8rem,1fr) auto;align-items:center;gap:.55rem}.tag-definition-row input,.tag-definition-row select,.relationship-row select{width:100%;min-width:0}.tag-visibility-setting{display:flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:.45rem .6rem;border:1px solid rgba(247,241,221,.1);border-radius:4px;background:#202a30;color:#f7f1ddc7;font-size:.78rem;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none}.tag-visibility-checkbox{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.tag-visibility-indicator{display:grid;flex:0 0 1rem;width:1rem;height:1rem;place-items:center;border:1px solid rgba(247,241,221,.3);border-radius:3px;background:#151d21;color:#172126}.tag-visibility-checkbox:checked+.tag-visibility-indicator{border-color:#e8b46d;background:#e8b46d}.tag-visibility-checkbox:checked+.tag-visibility-indicator:after{width:.45rem;height:.25rem;border-bottom:2px solid currentColor;border-left:2px solid currentColor;content:"";transform:translateY(-1px) rotate(-45deg)}.tag-visibility-checkbox:focus-visible+.tag-visibility-indicator{outline:2px solid #f2cc8f;outline-offset:2px}.tag-visibility-setting:has(input:disabled){background:#1c252a;color:#f7f1dd61;cursor:not-allowed}.tag-visibility-checkbox:disabled+.tag-visibility-indicator{border-color:#f7f1dd1f;background:#182126}.tag-color-options{position:absolute;top:calc(100% + .4rem);left:0;z-index:30;display:grid;grid-template-columns:repeat(4,1.5rem);gap:.35rem;width:max-content;padding:.55rem;border:1px solid rgba(247,241,221,.18);border-radius:4px;background:#18242b;box-shadow:0 10px 28px #00000061}.tag-color-picker{position:relative;min-width:0}.tag-color-trigger{width:2.5rem;height:2.5rem;min-width:0;padding:0;border:2px solid rgba(255,255,255,.55);border-radius:3px}.tag-color-option{width:1.5rem;height:1.5rem;min-width:0;padding:0;border:2px solid transparent;border-radius:3px}.tag-color-option:hover{transform:none;border-color:#ffffffa6}.tag-color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #111827}.tag-emoji-options{position:absolute;top:calc(100% + .4rem);left:0;z-index:30;display:grid;grid-template-columns:repeat(6,1.55rem);gap:.3rem;width:max-content;padding:.55rem;border:1px solid rgba(247,241,221,.18);border-radius:4px;background:#18242b;box-shadow:0 10px 28px #00000061}.tag-emoji-picker{position:relative;min-width:0}.tag-emoji-trigger{width:2.5rem;height:2.5rem;min-width:0;padding:0;border:1px solid rgba(247,241,221,.2);background:#10181d;font-size:1.25rem;line-height:1}.tag-emoji-option{width:1.55rem;height:1.55rem;min-width:0;padding:0;border:1px solid rgba(247,241,221,.14);border-radius:3px;background:#10181d;font-size:1rem;line-height:1}.tag-emoji-option:hover{transform:none;border-color:#ffffffa6}.tag-emoji-option.selected{border-color:#fff;box-shadow:0 0 0 2px #111827}@media (max-width: 720px){.tag-definition-row,.relationship-row{grid-template-columns:1fr}}.unseated{border-color:#e07a5f47}.drop-active{border-color:#f2cc8f80;background:#29333a;transform:translateY(-2px)}.lock-toggle{width:1.75rem;height:1.75rem;flex:0 0 auto;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(242,204,143,.4)}.lock-toggle span{width:.72rem;height:.72rem;border-radius:999px;border:2px solid #f2cc8f;display:block}.lock-toggle.locked span{background:#f2cc8f}.lock-toggle.unlocked span{background:transparent}@media (min-width: 800px){.responsive-action-medium{display:inline-flex}.overflow-menu-popover .responsive-menu-medium{display:none}}@media (min-width: 1100px){.responsive-action-large{display:inline-flex}.overflow-menu-popover .responsive-menu-large{display:none}}@media (min-width: 1450px){.responsive-action-wide{display:inline-flex}.overflow-menu{display:none}}@media (max-width: 640px){.page-shell{padding:1rem}.control-panel{width:calc(100% + 2rem);margin:-1rem -1rem 0;padding:.75rem 1rem}.placement-route{margin:-1rem}.placement-header{padding:.75rem 1rem}.table-settings-grid,.table-info-row,.table-summary,.action-grid{grid-template-columns:1fr}.primary-actions>button:not(.overflow-menu-trigger){flex:1 1 calc(50% - .5rem)}.group-member-editor-row{grid-template-columns:1fr}.group-member-row-actions{justify-content:flex-start}.group-card-row{align-items:center}}@page{size:A4 landscape;margin:8mm}@media print{:root,html,body{background:#fff;color:#111;width:100%;height:100%;overflow:hidden}#root,.page-shell{width:100%;height:100%;overflow:hidden}body{margin:0}.page-shell{min-height:0;padding:0}.modal-backdrop{display:none!important}.placement-print-area{width:100%;height:100%;max-height:none;display:grid;grid-template-rows:minmax(0,1fr);padding:0;border:0;border-radius:0;box-shadow:none;background:#fff;color:#111;overflow:hidden}.placement-route{margin:0}.control-panel,.placement-header,.placement-toolbar,.placement-rotate-handle,.placement-table-count{display:none}.placement-canvas{min-height:0;height:100%;border:0;background:#fff;cursor:default;overflow:hidden}.placement-export-area{left:0;top:0;width:var(--placement-export-width);height:var(--placement-export-height);max-width:none;aspect-ratio:auto;border:0;border-radius:0;background:linear-gradient(#eeeeee 1px,transparent 1px),linear-gradient(90deg,#eeeeee 1px,transparent 1px),#fff;background-size:40px 40px;box-shadow:none;transform:none!important}.placement-table{border-color:#222;background:#fff;color:#111;box-shadow:none}.placement-table-flagged,.placement-table-conflict,.placement-table-error{border-color:#222;background:#fff}.placement-table-label span{color:#444}.placement-seat-initials{display:none}.placement-seat-error .placement-seat-initials{box-shadow:none}.placement-seat-initials:after{display:none}.placement-seat-full-name{display:block;width:max-content;max-width:none;padding:.1rem .18rem;border:1px solid #444444;border-radius:3px;background:#fff;color:#111;font-size:.48rem;font-weight:600;line-height:1.1;text-align:center;white-space:nowrap;transform:translateY(var(--placement-export-name-offset-y, 0px))}}
