@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-normal-BM0NlUE_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#242520;font-synthesis:none;text-rendering:optimizelegibility;--page:#f4f3ef;--surface:#fff;--surface-2:#f7f6f2;--canvas:#faf9f6;--ink:#242520;--muted:#6e7068;--faint:#a3a59d;--border:#deddd6;--grid:#4b4f4513;--green:#315f4c;--green-strong:#254a3b;--green-soft:#e5eee8;--blue:#4d6296;--blue-soft:#e9edf6;--plum:#7a536d;--plum-soft:#f2e9ef;--orange:#9a6735;--danger:#9a3f3f;--danger-soft:#f7e9e7;--shadow:0 18px 48px #2726201f;--shadow-xs:0 1px 4px #1e1f1b14;--shadow-sm:0 4px 14px #1e1f1b14;--shadow-md:0 8px 20px #1e1f1b24;--overlay:#18191661;--green-border:#bfd0c7;--danger-border:#dfb9b3;--font-xs:11px;--font-sm:12px;--font-md:13px;--font-lg:15px;--font-xl:18px;--weight-medium:540;--weight-semibold:620;--weight-bold:680;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--control-xs:24px;--control-sm:28px;--control-md:34px;--control-lg:40px;--control-touch:44px;--row-height:32px;--sheet-max-width:340px;--toolbar-clearance:calc(max(10px, env(safe-area-inset-bottom)) + 58px);--keyboard-inset:0px;--sheet-bottom:max(var(--toolbar-clearance), calc(var(--keyboard-inset) + 8px));--focus-ring:0 0 0 2px var(--green-soft);--on-accent:#fff;--seat-empty-bg:#ffffff73;--table-body-bg:#f0f1ed;--table-body-border:#c5cac2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f3ef;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color:#f1f0ea;--page:#171817;--surface:#222321;--surface-2:#292a27;--canvas:#1b1c1a;--ink:#f1f0ea;--muted:#a8aaa1;--faint:#74766f;--border:#3a3c38;--grid:#e2e4da0f;--green:#8abca3;--green-strong:#a3ccb7;--green-soft:#263c32;--blue:#91a7dc;--blue-soft:#2a3142;--plum:#c59ab9;--plum-soft:#3b2c36;--orange:#d4a46f;--danger:#e29c97;--danger-soft:#422b2a;--shadow:0 18px 48px #0000004d;--shadow-xs:0 1px 4px #0000004d;--shadow-md:0 8px 20px #00000059;--overlay:#00000080;--green-border:#3d5c4e;--danger-border:#6b3b38;--shadow-sm:0 4px 14px #00000038;--on-accent:#10231a;--seat-empty-bg:#22232180;--table-body-bg:#292c29;--table-body-border:#59605a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#171817}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color:#f1f0ea;--page:#171817;--surface:#222321;--surface-2:#292a27;--canvas:#1b1c1a;--ink:#f1f0ea;--muted:#a8aaa1;--faint:#74766f;--border:#3a3c38;--grid:#e2e4da0f;--green:#8abca3;--green-strong:#a3ccb7;--green-soft:#263c32;--blue:#91a7dc;--blue-soft:#2a3142;--plum:#c59ab9;--plum-soft:#3b2c36;--orange:#d4a46f;--danger:#e29c97;--danger-soft:#422b2a;--shadow:0 18px 48px #0000004d;--shadow-xs:0 1px 4px #0000004d;--shadow-md:0 8px 20px #00000059;--overlay:#00000080;--green-border:#3d5c4e;--danger-border:#6b3b38;--shadow-sm:0 4px 14px #00000038;--on-accent:#10231a;--seat-empty-bg:#22232180;--table-body-bg:#292c29;--table-body-border:#59605a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#171817}}@media (pointer:coarse){:root{--row-height:44px;--control-xs:28px;--control-sm:36px;--control-md:44px}}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}input,textarea,select{outline:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button:disabled{cursor:not-allowed;opacity:.42}:where(button,a,[role=button],[role=menuitem],[tabindex]):focus-visible{outline:2px solid color-mix(in srgb, var(--green) 70%, transparent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-md);min-width:0;font-size:var(--font-sm);font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 12px;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn>svg{flex:none}.btn-sm{min-height:var(--control-sm);font-size:var(--font-sm);gap:5px;padding-inline:9px}.btn-md{min-height:var(--control-md)}.btn-block{width:100%}.btn-primary{border-color:var(--green);background:var(--green);color:var(--on-accent)}@media (hover:hover){.btn-primary:hover:not(:disabled){border-color:var(--green-strong);background:var(--green-strong)}}.btn-primary:active:not(:disabled){background:color-mix(in srgb, var(--green-strong) 88%, var(--ink))}.btn-secondary{border-color:var(--border);background:var(--surface);color:var(--ink)}@media (hover:hover){.btn-secondary:hover:not(:disabled){background:var(--surface-2)}}.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.icon-btn:active:not(:disabled){background:color-mix(in srgb, var(--ink) 9%, var(--surface))}.btn-secondary[aria-expanded=true],.btn-ghost[data-state=open]{background:var(--surface-2);color:var(--ink)}.btn-ghost{color:var(--muted);background:0 0}@media (hover:hover){.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}}.btn-danger{color:var(--danger);background:0 0}@media (hover:hover){.btn-danger:hover:not(:disabled){background:var(--danger-soft)}}.btn-danger.btn-solid{border-color:var(--danger);background:var(--danger);color:var(--on-accent)}.icon-btn{border-radius:var(--radius-md);color:var(--muted);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-grid}.icon-btn-sm{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm)}.icon-btn-md{width:var(--control-md);height:var(--control-md)}.icon-btn[aria-expanded=true]{background:var(--surface-2);color:var(--ink)}@media (hover:hover){.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}}.icon-btn-outline{border-color:var(--border);background:var(--surface)}@media (hover:hover){.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}}@media (pointer:coarse){.search-field,.inline-form>input,.input{min-height:var(--control-touch)}}.input,.search-field,.inline-form>input,.field-label>input,.field-label>textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;color:var(--ink);font-size:var(--font-sm);transition:border-color .12s,box-shadow .12s}.input:focus,.search-field:focus-within,.inline-form>input:focus,.field-label>input:focus,.field-label>textarea:focus{border-color:var(--green);box-shadow:var(--focus-ring)}.search-field{height:var(--control-md);color:var(--muted);align-items:center;gap:8px;padding:0 10px;display:flex}.search-field input{min-width:0;color:var(--ink);font-size:var(--font-sm);background:0 0;border:0;flex:1}.search-field input::placeholder,.input::placeholder{color:var(--faint)}.inline-form{gap:6px;display:flex}.inline-form>input{height:var(--control-md);flex:1;padding:0 10px}.field-label{color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-medium);gap:6px;margin-top:12px;display:grid}.field-label>input,.field-label>textarea{width:100%;padding:8px 10px}.field-label>textarea{resize:vertical;min-height:68px;line-height:1.45}.section-heading{color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-semibold);justify-content:space-between;align-items:center;margin-bottom:6px;padding-inline:2px;display:flex}.section-heading small{border-radius:var(--radius-full);background:var(--surface-2);min-width:20px;height:18px;font-size:var(--font-xs);font-weight:var(--weight-medium);place-items:center;padding:0 5px;display:grid}.empty-copy{color:var(--muted);font-size:var(--font-sm);margin:6px 2px;line-height:1.45}.color-dot{border-radius:50%;flex:none;width:8px;height:8px}.interest-tags{flex:0 100 auto;align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.interest-tag{border:1px solid color-mix(in srgb, var(--interest-color) 38%, var(--border));border-radius:var(--radius-xs);background:color-mix(in srgb, var(--interest-color) 14%, var(--surface));min-width:26px;max-width:78px;height:18px;color:var(--muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;padding:0 6px;line-height:16px;display:inline-block;overflow:hidden}.interest-tag.is-shared{border-color:color-mix(in srgb, var(--interest-color) 70%, var(--border));background:color-mix(in srgb, var(--interest-color) 30%, var(--surface));color:var(--ink);font-weight:var(--weight-semibold)}.interest-tag.is-more{border-color:var(--border);background:var(--surface-2);flex:none;min-width:0}.combobox{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.combobox-input{height:var(--control-md);flex:none;padding:0 10px}.combobox-list{overscroll-behavior:contain;flex:auto;align-content:start;gap:1px;min-height:0;margin-inline:-4px;display:grid;overflow-y:auto}.combobox-empty{color:var(--muted);font-size:var(--font-xs);margin:0;padding:6px 8px;line-height:1.4}.list-option{min-width:0;min-height:var(--row-height);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--font-sm);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex;position:relative}.list-option[data-active=true]{background:var(--surface-2)}@media (hover:hover){.list-option:hover{background:var(--surface-2)}}.list-option-main{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.list-option-name{min-width:0;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.list-option-hint{min-width:0;color:var(--muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;flex:0 10 auto;overflow:hidden}.list-option-trailing{flex:0 100 auto;justify-content:flex-end;min-width:0;display:flex;overflow:hidden}.list-option.is-create{color:var(--green)}.list-option.is-create .list-option-main{align-items:center}.list-option.is-create .list-option-name{font-weight:var(--weight-semibold)}.list-option kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);min-width:20px;height:18px;box-shadow:-10px 0 8px 2px var(--surface-2);color:var(--muted);font:inherit;font-size:var(--font-xs);place-items:center;display:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.list-option[data-active=true] kbd{display:grid}@media (pointer:coarse){.list-option[data-active=true] kbd{display:none}.combobox-input{height:var(--control-touch)}}.member-chip{border:1px solid color-mix(in srgb, var(--interest-color) 40%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--interest-color) 14%, var(--surface));height:24px;color:var(--ink);font-size:var(--font-xs);align-items:center;gap:2px;padding:0 2px 0 8px;display:inline-flex}.member-chip button{width:20px;height:20px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}@media (hover:hover){.member-chip button:hover{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}}.inline-add{min-height:var(--row-height);border-radius:var(--radius-md);color:var(--muted);cursor:text;align-items:center;gap:9px;padding:0 6px 0 8px;display:flex}.inline-add:focus-within{background:var(--surface-2)}@media (hover:hover){.inline-add:hover{background:var(--surface-2)}}.inline-add-icon{width:13px;color:var(--faint);flex:none}.inline-add:focus-within .inline-add-icon{color:var(--green)}.inline-add input{min-width:0;height:26px;color:var(--ink);font-size:var(--font-sm);background:0 0;border:0;flex:1;padding:0}.inline-add input::placeholder{color:var(--muted)}.color-trigger{background:var(--swatch);width:20px;height:20px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 16%, transparent);cursor:pointer;border:0;border-radius:50%;flex:none;padding:0}.color-trigger[data-state=open]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--swatch) 60%, transparent)}@media (hover:hover){.color-trigger:hover{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--swatch) 60%, transparent)}}.color-menu{min-width:0;padding:8px}.color-grid{grid-template-columns:repeat(5,28px);gap:6px;display:grid}.color-swatch{background:var(--swatch);color:#fff;cursor:pointer;border-radius:50%;outline:none;place-items:center;width:28px;height:28px;display:grid}.color-swatch[data-highlighted]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--swatch)}@media (pointer:coarse){.color-grid{grid-template-columns:repeat(5,36px)}.color-swatch{width:36px;height:36px}}.menu,.popover{z-index:70;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:180px;box-shadow:var(--shadow);padding:4px;animation:.12s ease-out surface-in}.popover{padding:12px}.picker-popover{width:min(300px,100vw - 24px);max-height:min(380px, var(--radix-popover-content-available-height,380px));flex-direction:column;padding:6px;display:flex}.picker-popover .combobox-list{max-height:260px}.menu-item{min-height:var(--row-height);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:9px;padding:0 9px;display:flex}.menu-item>svg{color:var(--muted)}.menu-item[data-highlighted]{background:var(--surface-2)}.menu-item[data-disabled]{color:var(--faint);cursor:not-allowed}.menu-item[data-disabled]>svg{color:var(--faint)}.menu-item.is-danger,.menu-item.is-danger>svg{color:var(--danger)}.menu-item.is-danger[data-highlighted]{background:var(--danger-soft)}.menu-item.is-danger[data-disabled],.menu-item.is-danger[data-disabled]>svg{color:var(--faint)}.menu-item-indicator{color:var(--green);margin-left:auto;display:inline-grid}.menu-item-rich{gap:12px;min-height:48px}.menu-item-rich>span:last-child{gap:1px;display:grid}.menu-item-rich strong{font-size:var(--font-sm);font-weight:var(--weight-semibold)}.menu-item-rich small{color:var(--muted);font-size:var(--font-xs)}.menu-item-rich>svg{align-self:center}.menu-label{color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-semibold);padding:6px 9px 4px}.menu-separator{background:var(--border);height:1px;margin:4px 2px}.dialog-overlay{z-index:90;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.12s ease-out fade-in;position:fixed;inset:0}.dialog{z-index:91;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(420px,100vw - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);padding:18px;animation:.14s ease-out dialog-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-title{color:var(--ink);font-size:var(--font-lg);font-weight:var(--weight-bold);margin:0}.dialog-description{color:var(--muted);font-size:var(--font-md);margin:6px 0 0;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (width<=700px){.dialog{top:auto;bottom:max(8px, env(safe-area-inset-bottom), calc(var(--keyboard-inset) + 8px));max-height:calc(100dvh - var(--keyboard-inset) - 24px);transform:translate(-50%)}.dialog-actions>.btn{flex:1}}[data-sonner-toaster][data-sonner-theme]{--normal-bg:var(--surface);--normal-border:var(--border);--normal-text:var(--ink);--border-radius:var(--radius-lg);font-family:inherit}[data-sonner-toaster] .app-toast{min-height:44px;box-shadow:var(--shadow);gap:12px;padding:8px 8px 8px 14px;font-family:inherit}[data-sonner-toaster] .app-toast-title{font-size:var(--font-sm);font-weight:var(--weight-medium);line-height:1.35}[data-sonner-toaster] .app-toast .app-toast-description{color:var(--muted);font-size:var(--font-sm);margin-top:2px;line-height:1.4}[data-sonner-toaster] .app-toast .app-toast-icon{color:var(--green)}[data-sonner-toaster] .app-toast .app-toast-action{height:var(--control-sm);border-radius:var(--radius-xs);background:var(--green-soft);color:var(--green);font-size:var(--font-sm);font-weight:var(--weight-semibold);margin-left:auto;padding:0 10px;transition:background-color .12s,color .12s}@media (hover:hover){[data-sonner-toaster] .app-toast .app-toast-action:hover{background:var(--green);color:var(--on-accent)}}[data-sonner-toaster] .app-toast .app-toast-action:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 70%, transparent);outline-offset:2px;box-shadow:none}@keyframes surface-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.menu,.popover,.dialog,.dialog-overlay{animation:none}}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px}}.app-shell{background:var(--page);grid-template-rows:52px 40px minmax(0,1fr);height:100dvh;display:grid}.app-shell.has-example-banner{grid-template-rows:40px 52px 40px minmax(0,1fr)}.app-shell.has-recovery-banner{grid-template-rows:auto 52px 40px minmax(0,1fr)}.planner-workbench{display:contents}.planner-workbench[inert] .workspace{opacity:.72}.conflict-recovery-panel{border-bottom:1px solid var(--danger-border);background:var(--danger-soft);min-width:0;color:var(--ink);z-index:35;justify-content:space-between;align-items:center;gap:18px;padding:10px 14px;display:flex;position:relative}.conflict-recovery-copy{align-items:flex-start;gap:10px;min-width:0;display:flex}.conflict-recovery-copy>div{gap:2px;min-width:0;display:grid}.conflict-recovery-copy strong{color:var(--danger);font-size:var(--font-sm)}.conflict-recovery-copy p{max-width:760px;color:var(--muted);font-size:var(--font-xs);margin:0;line-height:1.45}.conflict-recovery-copy small{color:var(--muted);font-size:var(--font-xs)}.conflict-recovery-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger) 12%, transparent);width:32px;height:32px;color:var(--danger);flex:none;place-items:center;display:grid}.conflict-recovery-error{font-weight:var(--weight-bold);color:var(--danger)!important}.conflict-recovery-actions{flex:none;align-items:center;gap:7px;display:flex}.conflict-recovery-actions button{min-height:var(--control-md);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding-inline:11px;display:inline-flex}.recovery-discard-button{color:var(--danger);font-size:var(--font-xs);background:0 0;border:0}@media (hover:hover){.recovery-discard-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}}.example-banner{z-index:31;border-bottom:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--muted);font-size:var(--font-sm);justify-content:center;align-items:center;gap:14px;padding:0 14px;display:flex;position:relative}.example-banner>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.example-banner strong{color:var(--ink);font-weight:var(--weight-semibold)}.topbar{z-index:30;min-width:0;padding:env(safe-area-inset-top) 10px 0 16px;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;display:flex;position:relative}.project-title{flex:0 auto;align-items:center;gap:2px;min-width:0;display:flex}.project-title strong{font-size:var(--font-md);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-name-input{min-width:0;max-width:40vw;height:var(--control-sm);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--font-md);font-weight:var(--weight-bold);text-overflow:ellipsis;background:0 0;border:1px solid #0000;margin-left:-7px;padding:0 6px}@media (hover:hover){.project-name-input:hover{border-color:var(--border)}}.project-name-input:focus{border-color:var(--green);background:var(--surface);box-shadow:var(--focus-ring)}.topbar-spacer,.versionbar-spacer{flex:1}.save-badge{border-radius:var(--radius-full);background:var(--surface-2);min-height:26px;color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-medium);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.save-local{width:28px;color:var(--faint);background:0 0;justify-content:center;padding:0}.save-error{background:var(--danger-soft);color:var(--danger)}.save-conflict{background:color-mix(in srgb, var(--orange) 14%, var(--surface));color:var(--orange)}.save-badge{animation:.16s ease-out fade-in}.save-saving svg{animation:1s ease-in-out infinite soft-pulse}@keyframes soft-pulse{50%{opacity:.35}}.topbar-export{color:var(--ink)}.account-trigger{min-width:0;height:var(--control-md);border-radius:var(--radius-full);color:var(--muted);font-size:var(--font-sm);background:0 0;border:0;align-items:center;gap:7px;padding:0 8px 0 3px;display:inline-flex}.account-trigger[data-state=open]{background:var(--surface-2);color:var(--ink)}@media (hover:hover){.account-trigger:hover{background:var(--surface-2);color:var(--ink)}}.account-trigger:focus-visible{outline:2px solid var(--green);outline-offset:1px}.account-avatar{background:var(--green-soft);width:28px;height:28px;color:var(--green);font-size:var(--font-xs);font-weight:var(--weight-bold);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:grid}.account-trigger-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.account-menu{min-width:220px}.account-menu-identity{gap:2px;padding:8px 9px 6px;display:grid}.account-menu-identity strong{font-size:var(--font-md)}.account-menu-identity small{color:var(--muted);font-size:var(--font-xs)}.mobile-drawer-button{z-index:1;display:none;position:relative}.versionbar{z-index:24;border-bottom:1px solid var(--border);background:var(--surface);align-items:stretch;gap:4px;min-width:0;padding:0 10px 0 8px;display:flex;position:relative}.version-navigation{scrollbar-width:none;flex:0 auto;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.version-navigation::-webkit-scrollbar{display:none}.version-tabs{flex:none;align-items:stretch;gap:0;min-width:0;display:flex}.version-tab-group{align-items:stretch;display:inline-flex;position:relative}@media (hover:hover){.version-tab-group:hover{background:var(--surface-2)}}.version-tab-group.is-active:after{content:"";background:var(--green);height:2px;position:absolute;bottom:-1px;left:0;right:0}.version-tab,.version-action{height:auto;color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-medium);white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:7px;padding:0 12px;display:inline-flex}@media (hover:hover){.version-tab:hover,.version-action:hover{color:var(--ink)}.version-action:hover{background:var(--surface-2)}}.version-tab.is-active{color:var(--ink);font-weight:var(--weight-semibold)}.version-tab-group.is-active .version-tab{padding-right:2px}.version-menu-button{width:var(--control-xs);height:var(--control-xs);border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:0;align-self:center;place-items:center;margin-right:6px;padding:0;display:grid}.version-menu-button[data-state=open]{background:var(--surface-2);color:var(--ink)}@media (hover:hover){.version-menu-button:hover{background:var(--surface-2);color:var(--ink)}}.version-action svg{flex:none}.version-name-input{height:var(--control-sm);border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--font-sm);font-weight:var(--weight-semibold);box-shadow:var(--focus-ring);align-self:center;margin:0 4px;padding:0 8px}.dirty-dot{background:var(--orange);border-radius:50%;width:6px;height:6px}.history-controls{flex:none;align-self:center;align-items:center;gap:1px;display:inline-flex}.history-divider{background:var(--border);width:1px;height:16px;margin:0 4px}.history-controls .btn,.history-controls .icon-btn{color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-medium)}@media (hover:hover){.history-controls .btn:hover:not(:disabled),.history-controls .icon-btn:hover:not(:disabled){color:var(--ink)}}.history-controls .btn:disabled,.history-controls .icon-btn:disabled{opacity:.4}.feedback-dialog{width:min(440px,100vw - 24px);padding:0}.feedback-dialog-header{align-items:flex-start;gap:12px;padding:18px 18px 0;display:flex}.feedback-dialog-header>div{flex:1;min-width:0}.feedback-dialog-header .dialog-description{font-size:var(--font-sm);margin-top:3px}.feedback-dialog-header .icon-btn{margin:-4px -6px 0 0}.feedback-form{gap:12px;padding:16px 18px 18px;display:grid}.feedback-categories{flex-wrap:wrap;gap:6px;display:flex}.feedback-category{min-height:var(--control-sm);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-medium);background:0 0;padding:0 12px}@media (hover:hover){.feedback-category:hover:not(:disabled){border-color:var(--green-border);color:var(--ink)}}.feedback-category[aria-checked=true]{border-color:var(--green);background:var(--green-soft);color:var(--green)}.feedback-message{position:relative}.feedback-message textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 55%, var(--page));width:100%;min-height:128px;color:var(--ink);font:inherit;font-size:var(--font-md);padding:11px 12px;line-height:1.5}.feedback-message textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.feedback-count{color:var(--faint);font-size:var(--font-xs);font-variant-numeric:tabular-nums;pointer-events:none;position:absolute;bottom:8px;right:10px}.feedback-form .form-error{border-radius:var(--radius-md);color:var(--danger);background:var(--danger-soft);font-size:var(--font-sm);margin:0;padding:8px 10px}.feedback-footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.feedback-footer small{color:var(--faint);font-size:var(--font-xs);line-height:1.4}.feedback-footer .btn{flex:none;min-width:96px}.feedback-success{text-align:center;justify-items:center;gap:6px;padding:28px 20px 22px;display:grid}.feedback-success-mark{background:var(--green-soft);width:40px;height:40px;color:var(--green);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.feedback-success strong{font-size:var(--font-lg)}.feedback-success span{color:var(--muted);font-size:var(--font-sm)}.feedback-success .btn{min-width:110px;margin-top:10px}@media (width<=979px){.mobile-drawer-button{display:inline-grid}.version-navigation{flex:1}.history-label{display:none}.history-controls .btn{width:var(--control-md);padding:0}.desktop-only,.account-trigger-name,.account-trigger>svg{display:none}.account-trigger{padding:0 3px}.versionbar-spacer{display:none}}@media (width<=700px){.app-shell{grid-template-rows:52px 44px minmax(0,1fr)}.app-shell.has-example-banner{grid-template-rows:48px 52px 44px minmax(0,1fr)}.app-shell.has-recovery-banner{grid-template-rows:auto 52px 44px minmax(0,1fr)}.conflict-recovery-panel{align-items:stretch;gap:8px;padding:9px 10px 10px}.conflict-recovery-icon{display:none}.conflict-recovery-actions{grid-template-columns:1fr;width:min(148px,39vw);display:grid}.conflict-recovery-actions button{width:100%;font-size:var(--font-xs);padding-inline:7px}.example-banner{justify-content:space-between;gap:8px;padding:0 10px}.topbar{gap:6px;padding-inline:12px 6px}.project-title span,.topbar-label{display:none}.topbar-export{width:var(--control-touch);padding:0}.save-badge{justify-content:center;gap:0;width:28px;min-width:28px;padding:0;font-size:0;overflow:hidden}.versionbar{padding:0 4px}.version-action>span{display:none}.version-action{width:var(--control-lg);justify-content:center;padding:0}.history-controls{gap:0}.history-controls .btn,.history-controls .icon-btn{width:var(--control-sm);height:var(--control-sm);min-height:var(--control-sm)}.history-divider{margin:0 2px}.feedback-footer{flex-direction:column;align-items:stretch}.feedback-footer .btn{width:100%}}.project-switcher{min-width:0;max-width:min(46vw,420px);height:var(--control-md);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-md);font-weight:var(--weight-bold);background:0 0;border:0;align-items:center;gap:6px;margin-left:-8px;padding:0 8px;display:inline-flex}.project-switcher[data-state=open]{background:var(--surface-2)}@media (hover:hover){.project-switcher:hover{background:var(--surface-2)}}.project-switcher:focus-visible{outline:2px solid var(--green);outline-offset:1px}.project-switcher>svg{color:var(--muted);flex:none}.project-switcher-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-popover{width:min(260px,100vw - 16px);padding:4px}.project-list{gap:2px;max-height:min(50vh,360px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.project-row{border-radius:var(--radius-md);align-items:center;gap:4px;display:flex;position:relative}.project-row:has(:focus-visible){background:var(--surface-2)}@media (hover:hover){.project-row:hover{background:var(--surface-2)}}.project-row-open{min-width:0;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:1px;padding:6px 9px;display:grid}.project-row-open strong{font-size:var(--font-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row-open small{color:var(--muted);font-size:var(--font-xs)}.project-row.is-current .project-row-open strong{color:var(--green)}.project-row-check{color:var(--green);flex:none;margin-right:10px}.project-row-actions{background:var(--surface-2);box-shadow:-14px 0 10px 2px var(--surface-2);opacity:0;pointer-events:none;gap:2px;transition:opacity .12s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.project-row:has(:focus-visible) .project-row-actions{opacity:1;pointer-events:auto}@media (hover:hover){.project-row:hover .project-row-actions{opacity:1;pointer-events:auto}}.project-row:has(:focus-visible) .project-row-check{opacity:0}@media (hover:hover){.project-row:hover .project-row-check{opacity:0}}@media (hover:none),(pointer:coarse){.project-row-actions{box-shadow:none;opacity:1;pointer-events:auto;background:0 0;padding-right:4px;position:static;transform:none}.project-row-check{display:none}}.project-row.is-renaming{padding:4px}.project-rename-input{width:100%;height:var(--control-md);border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--font-sm);box-shadow:var(--focus-ring);outline:none;padding:0 9px}.project-new{background:0 0;border:0;width:100%}@media (hover:hover){.project-new:hover{background:var(--surface-2)}}.workspace{min-height:0;display:flex;position:relative;overflow:hidden}.canvas-stack{flex:1;min-width:0;min-height:0;position:relative}.canvas-area{width:100%;min-width:0;height:100%;position:relative}.canvas-viewport{touch-action:none;cursor:grab;background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--grid-size,22px) var(--grid-size,22px);background-position:var(--grid-x,0) var(--grid-y,0);width:100%;height:100%;position:relative;overflow:hidden}.canvas-viewport.is-panning{cursor:grabbing}.canvas-viewport.has-seat-picker{touch-action:pan-y}.canvas-world{z-index:1;transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;top:0;left:0}.canvas-viewport button,.canvas-viewport.is-panning,.canvas-viewport.is-panning .canvas-world{-webkit-user-select:none;user-select:none}.relationship-layer{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relationship-halo{fill:none;stroke:var(--canvas);stroke-width:8px;opacity:.92;vector-effect:non-scaling-stroke}.relationship-line{fill:none;stroke-width:2.2px;opacity:.58;vector-effect:non-scaling-stroke}.relationship-partner{stroke:var(--green)}.relationship-close{stroke:var(--blue);stroke-dasharray:6 5}.relationship-avoid{stroke:var(--danger);stroke-dasharray:3 5}.relationship-line.is-selected{stroke-width:3.5px;opacity:1}.planner-table{z-index:4;-webkit-user-select:none;user-select:none;transition:filter .12s;position:absolute}.planner-table-layout{transform-origin:0 0;position:absolute;inset:0 auto auto 0}.planner-table.is-selected{z-index:4;filter:drop-shadow(0 0 .45rem color-mix(in srgb, var(--green) 24%, transparent))}.planner-table.is-selected .table-body{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft), var(--shadow-md)}.table-body{border:1px solid var(--table-body-border);border-radius:var(--radius-lg);background:var(--table-body-bg);color:var(--ink);box-shadow:var(--shadow-sm);touch-action:none;cursor:grab;justify-content:space-between;align-items:center;gap:8px;padding:0 88px 0 14px;display:flex;position:absolute}.table-body:active{cursor:grabbing}.table-copy{text-align:left;min-width:0;transform:rotate(var(--counter-rotation));gap:2px;display:grid}.table-copy strong{-webkit-line-clamp:2;font-size:11px;line-height:1.12;font-weight:var(--weight-semibold);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.table-copy small{color:var(--muted);font-size:9px}.table-edit-button{z-index:3;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:24px;color:var(--ink);box-shadow:var(--shadow-xs);white-space:nowrap;transform:translateY(-50%) rotate(var(--counter-rotation));cursor:pointer;align-items:center;gap:5px;padding:0 9px 0 8px;font-size:9.5px;font-weight:650;line-height:1;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:absolute}.table-edit-button.is-icon{justify-content:center;width:26px;padding:0}.table-edit-button.is-icon>span{display:none}.table-edit-button.is-centered{transform:translate(-50%, -50%) rotate(var(--counter-rotation))}.planner-table[data-rotation="90"] .table-body{padding-right:44px}.planner-table[data-rotation="90"] .table-copy{text-align:center;width:52px}.planner-table[data-rotation="90"] .table-copy strong{overflow-wrap:anywhere}.table-round .table-copy{margin-top:-20px}@media (hover:hover){.table-edit-button:hover{border-color:var(--green);background:var(--surface-2);color:var(--green)}}.table-edit-button:active{background:var(--green-soft)}.planner-table.is-selected .table-edit-button{border-color:var(--green);background:var(--green-soft);color:var(--green)}.table-round .table-body{text-align:center;justify-content:center;padding:0 14px}.table-round .table-copy{text-align:center}.table-seat-position{z-index:2;position:absolute}.table-seat-position .seat{width:100%}.seat{cursor:pointer}.seat.is-occupied:active{cursor:grabbing}.seat{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;height:44px;color:var(--muted);transform:rotate(var(--counter-rotation));box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:2px;padding:3px 4px;font-size:9px;line-height:1.1;transition:transform .16s ease-in-out,box-shadow .16s ease-in-out,background-color .16s ease-in-out,border-color .16s ease-in-out;display:flex;position:relative;overflow:hidden}@media (hover:hover){.seat:hover{z-index:4;border-color:var(--green);color:var(--ink)}}.seat.is-empty{border-style:dashed;border-color:color-mix(in srgb, var(--orange) 42%, var(--border));background:color-mix(in srgb, var(--orange) 7%, var(--seat-empty-bg));color:color-mix(in srgb, var(--orange) 72%, var(--faint))}@media (hover:hover){.seat.is-empty:hover{border-color:var(--green);color:var(--green)}}.seat.is-placement-target{border-color:var(--green);background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 14%, transparent)}.seat.is-occupied{background:color-mix(in srgb, var(--seat-group,var(--surface)) 14%, var(--surface))}.seat.is-selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.seat.is-drop-candidate{border-color:color-mix(in srgb, var(--green) 55%, var(--border));background:color-mix(in srgb, var(--green-soft) 55%, var(--surface));color:var(--green)}.seat.is-drop-target{z-index:5;border-style:solid;border-color:var(--green);background:var(--green-soft);color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 35%, transparent), var(--shadow-md);transform:rotate(var(--counter-rotation)) scale(1.04)}.seat.is-picking{border-style:solid;border-color:var(--green);background:var(--green-soft);color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 24%, transparent)}.seat.is-touch-drag-source{border-style:dashed;border-color:color-mix(in srgb, var(--green) 50%, var(--border));background:var(--seat-empty-bg);box-shadow:none}.seat.is-touch-drag-source .seat-name,.seat.is-touch-drag-source .seat-interest-markers{opacity:.25}.seat.is-guest-moving .seat-name,.seat.is-guest-moving .seat-interest-markers{opacity:0}.guest-move-animation{z-index:18;border:1px solid var(--green);border-radius:var(--radius-md);background:color-mix(in srgb, var(--seat-group,var(--surface)) 14%, var(--surface));width:52px;height:44px;color:var(--ink);box-shadow:var(--shadow-md);font-size:9px;font-weight:var(--weight-bold);text-align:center;pointer-events:none;place-items:center;padding:3px 4px;line-height:1.1;animation:.42s cubic-bezier(.45,0,.25,1) both guest-move-between-seats;display:grid;position:absolute;overflow:hidden}@keyframes guest-move-between-seats{0%{transform:translate(-50%,-50%)}to{transform:translate(calc(-50% + var(--guest-move-x)), calc(-50% + var(--guest-move-y)))}}.seat-name{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.seat-interest-overlay{z-index:7;pointer-events:none;justify-items:center;gap:3px;width:max-content;max-width:148px;display:grid;position:absolute;transform:translate(-50%)}.seat-interest-overlay>span{border:1px solid color-mix(in srgb, var(--interest-color) 45%, var(--border));border-radius:var(--radius-xs);background:color-mix(in srgb, var(--interest-color) 16%, var(--surface));max-width:148px;color:var(--muted);box-shadow:var(--shadow-xs);text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;font-size:8.5px;font-weight:450;line-height:1.2;overflow:hidden}.seat-interest-overlay.side-top{transform:translate(-50%,-100%)}.seat-interest-overlay.side-bottom{transform:translate(-50%)}.seat-interest-overlay.side-left{transform:translate(-100%,-50%)}.seat-interest-overlay.side-right{transform:translateY(-50%)}.seat-interest-markers{pointer-events:none;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;bottom:2px;left:2px;right:2px}.seat-interest-markers i{border:1px solid color-mix(in srgb, var(--interest-color) 55%, var(--border));background:color-mix(in srgb, var(--interest-color) 22%, var(--surface));min-width:0;max-width:34px;height:11px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:0 3px;font-size:6.5px;font-style:normal;font-weight:500;line-height:9px;overflow:hidden}.seat-interest-markers b{color:var(--faint);font-size:6.5px;font-weight:500;line-height:11px}.seat:has(.seat-interest-markers) .seat-name{padding-bottom:11px}.seat-picker{z-index:30;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(288px,100% - 20px);box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:10px;animation:.12s ease-out picker-in;display:flex;position:absolute;overflow:hidden}@keyframes picker-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.seat-picker .combobox{min-height:0}.seat-picker-header{justify-content:space-between;align-items:center;gap:8px;padding-left:2px;display:flex}.seat-picker-header strong{min-width:0;font-size:var(--font-sm);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-picker-header button{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}@media (hover:hover){.seat-picker-header button:hover{background:var(--surface-2);color:var(--ink)}}.touch-guest-preview{z-index:40;border:2px solid var(--green);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 96%, transparent);min-width:126px;max-width:190px;color:var(--ink);box-shadow:var(--shadow-md);font-size:var(--font-sm);font-weight:var(--weight-bold);pointer-events:none;-webkit-user-select:none;user-select:none;gap:1px;padding:8px 12px;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 44px))}.touch-guest-preview.is-below{transform:translate(-50%,44px)}.touch-guest-preview>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.touch-guest-preview>small{color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-medium)}.canvas-toolbar{z-index:20;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:14px}.canvas-toolbar-start{left:14px}.canvas-toolbar-end{right:14px}.canvas-toolbar .btn,.canvas-toolbar .icon-btn{border-radius:var(--radius-md)}.canvas-toolbar .btn-ghost{color:var(--ink)}.toolbar-divider{background:var(--border);width:1px;height:18px;margin:0 3px}.toolbar-toggle{min-height:var(--control-sm);border-radius:var(--radius-md);color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-semibold);background:0 0;border:0;align-items:center;gap:6px;padding:0 9px;display:inline-flex}@media (hover:hover){.toolbar-toggle:hover{background:var(--surface-2);color:var(--ink)}}.toolbar-toggle[aria-pressed=true]{background:var(--green-soft);color:var(--green)}.zoom-level{min-width:40px;color:var(--muted);font-size:var(--font-xs);font-variant-numeric:tabular-nums;text-align:center}.mini-table{border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--green-soft);flex:none;width:40px;height:18px}.mini-table-round{border-radius:50%;width:26px;height:26px;margin-inline:7px}.placement-hint{z-index:17;border:1px solid color-mix(in srgb, var(--green) 35%, var(--border));border-radius:var(--radius-lg);background:var(--surface);width:min(440px,100% - 140px);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}@media (width>=980px){.placement-hint{display:none}}.placement-hint>div{gap:1px;min-width:0;display:grid}.placement-hint strong{color:var(--green);font-size:var(--font-sm);font-weight:var(--weight-semibold)}.placement-hint span{color:var(--muted);font-size:var(--font-xs)}.canvas-tips{z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:260px;box-shadow:var(--shadow-md);color:var(--ink);font-size:var(--font-sm);outline:none;padding:12px 14px}.canvas-tips strong{font-size:var(--font-sm);margin-bottom:8px;display:block}.canvas-tips dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.canvas-tips dt{color:var(--muted)}.canvas-tips dd{margin:0}@media (width<=700px){.canvas-help-button{display:none}.canvas-toolbar{bottom:max(10px, env(safe-area-inset-bottom))}.canvas-toolbar-start{left:10px}.canvas-toolbar-end{right:10px}.toolbar-label,.zoom-level{display:none}.canvas-toolbar .btn-sm,.toolbar-toggle{width:var(--control-lg);min-height:var(--control-lg);justify-content:center;padding:0}.canvas-toolbar .icon-btn-sm{width:var(--control-lg);height:var(--control-lg)}.seat-picker-header button{width:var(--control-md);height:var(--control-md)}.placement-hint{width:calc(100% - 20px);top:10px}.placement-hint span{display:none}}@media (prefers-reduced-motion:reduce){.guest-move-animation{animation-duration:1ms}}.canvas-empty{z-index:15;border:1px dashed var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--surface) 88%, transparent);text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-items:center;gap:6px;width:min(340px,100% - 32px);padding:24px 22px 20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-empty strong{color:var(--ink);font-size:var(--font-lg);font-weight:var(--weight-bold)}.canvas-empty span{color:var(--muted);font-size:var(--font-sm);line-height:1.5}.canvas-empty-actions{gap:8px;margin-top:10px;display:flex}.drag-hint{z-index:30;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--muted);font-size:var(--font-sm);white-space:nowrap;opacity:0;pointer-events:none;padding:7px 12px;transition:opacity .14s cubic-bezier(.2,.8,.2,1),transform .14s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:64px;left:50%;transform:translate(-50%,4px)}.drag-hint.is-visible{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.drag-hint{transition:none}}.drag-hint kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink);font:inherit;font-size:var(--font-xs);padding:1px 5px}.planner-drawer{z-index:22;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:300px;max-height:calc(100% - 80px);box-shadow:var(--shadow);flex-direction:column;animation:.14s ease-out surface-in;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.drawer-body{flex:auto;grid-template-rows:1fr;min-height:0;transition:grid-template-rows .22s cubic-bezier(.2,.8,.2,1);display:grid}.drawer-body-inner{flex-direction:column;min-height:0;display:flex;overflow:hidden}.drawer-body-inner>.drawer-scroll,.drawer-body-inner>.guest-panel{flex:auto;min-height:0}.planner-drawer.is-collapsed{box-shadow:var(--shadow-sm)}.planner-drawer.is-collapsed .drawer-body{grid-template-rows:0fr}.planner-drawer.is-collapsed .drawer-header{border-bottom-color:#0000;padding-right:14px}@media (hover:hover){.planner-drawer.is-collapsed:hover{border-color:color-mix(in srgb, var(--green) 40%, var(--border))}}.drawer-title.drawer-open-button{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-self:stretch;align-items:center;padding:0}.drawer-open-button small{text-overflow:ellipsis;overflow:hidden}.drawer-open-button:focus-visible{outline:none}.planner-drawer.is-collapsed:has(.drawer-open-button:focus-visible){box-shadow:0 0 0 2px var(--green-soft), var(--shadow-sm);border-color:var(--green)}.drawer-expand-hint{color:var(--muted);flex:none;align-self:center;margin-left:auto;display:none}.planner-drawer.is-peek{box-shadow:var(--shadow), 0 0 0 1px color-mix(in srgb, var(--green) 30%, transparent)}.drawer-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:0 6px 0 16px;display:flex;position:relative}.drawer-header:after{content:"";width:var(--progress,0%);background:color-mix(in srgb, var(--green) 70%, transparent);height:2px;transition:width .22s;position:absolute;bottom:-1px;left:0}.drawer-title{align-items:baseline;gap:8px;min-width:0;display:flex}.drawer-header strong{font-size:var(--font-md);font-weight:var(--weight-semibold)}.drawer-title small{color:var(--muted);font-size:var(--font-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.drawer-header .drawer-close{display:none}.drawer-pin[aria-pressed=true]{color:var(--green)}.drawer-back-button{min-height:var(--control-sm);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-semibold);background:0 0;border:0;align-items:center;gap:2px;margin-left:-8px;padding:0 8px 0 4px;display:inline-flex}@media (hover:hover){.drawer-back-button:hover{background:var(--surface-2);color:var(--ink)}}.drawer-scroll{overscroll-behavior:contain;min-height:0;padding:14px 12px 16px;overflow-y:auto}.mobile-inspector-sheet{display:none}.placement-prompt{border-radius:var(--radius-md);background:var(--green-soft);gap:2px;margin-bottom:12px;padding:10px 12px;display:grid}.placement-prompt strong{color:var(--green);font-size:var(--font-sm)}.placement-prompt span{color:var(--muted);font-size:var(--font-xs)}.drawer-section{margin-top:16px}.guest-block{gap:6px;display:grid}.placed-block,.group-manager{border-top:1px solid var(--border);padding-top:10px}.placed-block{gap:6px;margin-top:6px;display:grid}.section-toggle.placed-toggle{min-height:var(--row-height);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-sm);font-weight:var(--weight-medium);gap:9px;margin:0;padding:0 6px 0 8px}@media (hover:hover){.section-toggle.placed-toggle:hover{background:var(--surface-2)}}.section-toggle.placed-toggle>span:first-child{text-align:left;flex:1}.section-toggle-count{color:var(--faint);font-size:var(--font-xs);font-variant-numeric:tabular-nums}.all-seated{min-height:var(--row-height);border-radius:var(--radius-md);background:var(--green-soft);color:var(--green);font-size:var(--font-sm);font-weight:var(--weight-semibold);align-items:center;gap:8px;margin:0;padding:0 10px;display:flex}.section-toggle{width:100%;min-height:var(--control-sm);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-semibold);background:0 0;border:0;align-items:center;gap:4px;margin:-4px 0 2px;padding:0 2px;display:flex}@media (hover:hover){.section-toggle:hover{color:var(--ink)}}.section-toggle small{border-radius:var(--radius-full);background:var(--surface-2);min-width:20px;height:18px;font-size:var(--font-xs);font-weight:var(--weight-medium);place-items:center;margin-left:auto;padding:0 5px;display:grid}.section-toggle-icon{transition:transform .14s}.section-toggle[aria-expanded=true] .section-toggle-icon{transform:rotate(90deg)}.add-guest-row{border-radius:var(--radius-md);background:var(--green-soft);width:100%;min-height:32px;color:var(--green);font-size:var(--font-sm);font-weight:var(--weight-semibold);text-align:left;border:0;align-items:center;gap:6px;margin-top:4px;padding:0 8px;display:flex}.guest-list{gap:1px;display:grid}.guest-row{width:100%;min-height:var(--row-height);border-radius:var(--radius-md);color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 6px 0 8px;display:flex;position:relative}@media (hover:hover){.guest-row:hover{background:var(--surface-2)}}.guest-row.is-selected{background:var(--green-soft)}.guest-row-main{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.guest-row-name{min-width:0;font-size:var(--font-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.guest-row-status{min-width:0;max-width:110px;color:var(--muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;flex:0 10 auto;overflow:hidden}.guest-row-status.is-unplaced{color:var(--orange)}.drag-grip{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--faint);opacity:0;cursor:grab;box-sizing:content-box;padding:2px;transition:opacity .12s;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.guest-row:focus-visible .drag-grip{opacity:1}@media (hover:hover){.guest-row:hover .drag-grip{opacity:1}}.guest-row .interest-tags{justify-content:flex-end}.group-manager{margin-top:12px}.interest-list{gap:1px;display:grid}.interest-row{width:100%;min-height:var(--row-height);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-sm);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0 6px 0 8px;display:flex}.interest-item.is-open .interest-summary{background:var(--surface-2)}@media (hover:hover){.interest-summary:hover{background:var(--surface-2)}}.interest-swatch-dot{background:var(--interest-color);border-radius:50%;flex:none;width:10px;height:10px}.interest-summary-name{min-width:0;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.interest-summary-count{color:var(--faint);font-size:var(--font-xs);font-variant-numeric:tabular-nums}.interest-item.is-open .section-toggle-icon{transform:rotate(90deg)}.interest-panel{border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-2) 55%, transparent);gap:8px;margin:4px 0 8px;padding:10px;display:grid}.interest-edit-row{align-items:center;gap:8px;display:flex}.interest-add-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:6px;padding:8px;display:grid}.interest-add-picker .combobox-list{max-height:180px}.interest-add-picker>.btn{justify-self:end}.interest-add-button{justify-self:start;margin-left:-6px}.interest-name-input{min-width:0;height:var(--control-sm);flex:1;padding:0 8px}.interest-members{flex-wrap:wrap;gap:4px;display:flex}.interest-members .empty-copy{font-size:var(--font-xs);margin:2px 0}.table-inspector{align-content:start;gap:14px;display:grid}.table-inspector-header{align-items:center;gap:10px;display:flex}.table-glyph{border:1.5px solid var(--green);border-radius:var(--radius-sm);background:var(--green-soft);flex:none;width:34px;height:22px;margin-inline:0}.table-glyph.is-vertical{width:22px;height:34px;margin-inline:6px}.table-glyph.is-round{border-radius:50%;width:30px;height:30px;margin-inline:2px}.seat-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-2) 45%, transparent);gap:10px;padding:10px;display:grid}.seat-card .table-preview{border-radius:var(--radius-md);justify-content:center;align-items:center;height:112px;display:flex}.seat-card .table-preview svg{width:auto;max-width:100%;height:100px}.seat-card-rows{justify-self:center;gap:6px}.table-inspector .seat-card .prop-row{grid-template-columns:132px auto}.table-inspector .prop-row{grid-template-columns:116px minmax(0,1fr)}.table-inspector .inspector-actions{justify-content:flex-start}.table-preview{border-radius:var(--radius-lg);background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:18px 18px;place-items:center;height:136px;display:grid;overflow:hidden}.table-preview svg{width:min(100%,200px);height:100%;overflow:visible}.table-preview-body{fill:var(--surface-2);stroke:color-mix(in srgb, var(--border) 58%, var(--green));stroke-width:2px}.table-preview-seat{fill:var(--surface);stroke:var(--green);stroke-width:2px}.table-preview-end{stroke:color-mix(in srgb, var(--green) 68%, var(--muted))}.table-preview text{fill:var(--muted);font-size:10px;font-weight:var(--weight-bold)}.inspector-actions{justify-content:flex-end;display:flex}@media (hover:none),(pointer:coarse){.drag-grip{display:none}.member-chip{height:32px}.member-chip button{width:28px;height:28px}}@media (width<=979px){.planner-drawer{top:auto;right:8px;bottom:var(--sheet-bottom);width:auto;max-width:var(--sheet-max-width);max-height:min(calc(100% - var(--sheet-bottom) - 12px), 760px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);margin-inline:auto;animation:.18s cubic-bezier(.2,.8,.2,1) sheet-in;left:8px}.planner-drawer .drawer-header{min-height:max(44px, calc(var(--control-md) + 1px));padding:0 4px 0 14px}.drawer-header .drawer-pin{display:none}.drawer-header .drawer-close{display:inline-grid}.drawer-scroll{touch-action:pan-y}.drawer-expand-hint{display:block}}@media (width>=701px) and (width<=979px){.drawer-expand-hint{transform:rotate(180deg)}.planner-drawer{width:300px;max-width:none;max-height:calc(100% - 24px - var(--toolbar-clearance));margin:0;animation:.14s ease-out surface-in;inset:12px 12px auto auto}}@keyframes sheet-in{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.planner-drawer{animation:none}.drawer-body{transition:none}}.free-seat-count{color:color-mix(in srgb, var(--orange) 80%, var(--muted))}.prop-list{gap:10px;display:grid}.prop-row,.guest-field{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.prop-label,.guest-field-label{color:var(--muted);font-size:var(--font-xs);font-weight:var(--weight-medium)}.guest-field-label small{color:var(--faint);font-size:var(--font-xs)}.prop-value{color:var(--ink);font-size:var(--font-sm)}.prop-input,.guest-field select,.note-field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-width:0;color:var(--ink);font-size:var(--font-sm)}.prop-input,.guest-field select{height:var(--control-md);padding:0 9px}.note-field{align-items:start}.note-field .guest-field-label,.interest-field .guest-field-label{padding-top:8px}.note-field textarea{resize:vertical;min-height:52px;padding:7px 9px;line-height:1.45}.guest-field select:focus,.note-field textarea:focus,.prop-input:focus{border-color:var(--green);box-shadow:var(--focus-ring)}.interest-field{align-items:start}.segmented{border-radius:var(--radius-md);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented button{min-height:var(--control-sm);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-semibold);background:0 0;border:0}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.orientation-toggle{border:1px solid var(--border);background:var(--page);padding:2px}.orientation-toggle button{min-height:var(--control-sm)}@media (hover:hover){.orientation-toggle button:hover:not([aria-pressed=true]){color:var(--ink)}}.orientation-toggle button[aria-pressed=true]{background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 45%, transparent)}.stepper{width:116px;height:var(--control-md);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:34px 1fr 34px;justify-self:start;align-items:center;display:grid;overflow:hidden}.stepper button{height:100%;color:var(--muted);background:0 0;border:0;font-size:16px}@media (hover:hover){.stepper button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}}.stepper button:disabled{color:var(--faint);opacity:.5}.stepper strong{color:var(--ink);font-size:var(--font-sm);font-variant-numeric:tabular-nums;text-align:center}.guest-panel{background:var(--surface);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.guest-panel.is-card{z-index:21;border:1px solid var(--border);border-radius:var(--radius-lg);width:min(360px,100% - 28px);max-height:calc(100% - 28px);box-shadow:var(--shadow);position:absolute;top:14px;right:14px;overflow:hidden}.guest-inspector-header{align-items:center;gap:10px;min-width:0;padding:12px 8px 12px 12px;display:flex}.guest-avatar{background:var(--green-soft);width:34px;height:34px;color:var(--green);font-size:var(--font-xs);font-weight:var(--weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.guest-panel-title{flex:1;gap:1px;min-width:0;display:grid}.guest-name-input{width:100%;min-width:0;height:var(--control-sm);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--font-lg);font-weight:var(--weight-bold);text-overflow:ellipsis;background:0 0;border:1px solid #0000;margin-left:-7px;padding:0 6px}@media (hover:hover){.guest-name-input:hover{border-color:var(--border)}}.guest-name-input:focus{border-color:var(--green);background:var(--surface);box-shadow:var(--focus-ring)}.guest-seat-status{color:var(--muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guest-seat-status.is-unplaced{color:var(--orange);font-weight:var(--weight-semibold)}.guest-inspector-status{flex:none;align-items:center;gap:2px;display:flex}.guest-inspector-scroll{overscroll-behavior:contain;min-height:0;padding:0 12px 14px;overflow-y:auto}.guest-panel-actions{gap:6px;margin-bottom:14px;display:flex}.guest-panel-actions>.btn[draggable=true]{cursor:grab}.guest-panel-status{color:var(--green);font-size:var(--font-xs);font-weight:var(--weight-medium);margin:-6px 0 14px}.guest-panel-actions>.btn{flex:1 1 0}.guest-panel-fields{gap:10px;display:grid}.guest-panel .inspector-actions{margin-top:10px}.partner-control{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.partner-chip{--interest-color:var(--green)}.partner-trigger{margin-left:-4px}.partner-chip+.partner-trigger{margin-left:0}.interest-chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.interest-chip,.interest-chip-add{border-radius:var(--radius-sm);min-height:26px;font-size:var(--font-sm);align-items:center;display:inline-flex}.interest-chip{border:1px solid var(--border);color:var(--muted);background:0 0;gap:6px;padding:0 9px}.interest-chip .color-dot{background:var(--interest-color);opacity:.5}@media (hover:hover){.interest-chip:hover{border-color:color-mix(in srgb, var(--interest-color) 55%, var(--border));color:var(--ink)}}.interest-chip.is-active{border-color:color-mix(in srgb, var(--interest-color) 62%, var(--border));background:color-mix(in srgb, var(--interest-color) 18%, var(--surface));color:var(--ink);font-weight:var(--weight-semibold)}.interest-chip.is-active .color-dot{opacity:1}.interest-chip-remove{color:var(--muted);margin-right:-3px}@media (hover:hover){.interest-chip.is-active:hover .interest-chip-remove{color:var(--ink)}}.interest-chip-add{border:1px dashed var(--border);color:var(--muted);padding-left:9px}.interest-chip-add:focus-within{border-style:solid;border-color:var(--green)}.interest-chip-add input{width:auto;min-width:0;color:var(--ink);font-size:var(--font-sm);background:0 0;border:0;padding:0}.interest-chip-add input::placeholder{color:var(--faint)}.interest-chip-add button{width:var(--control-xs);height:var(--control-xs);border-radius:var(--radius-xs);color:var(--green);background:0 0;border:0;place-items:center;padding:0;display:grid}.interest-chip-add button:disabled{color:var(--faint)}.partner-conflict{border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);gap:7px;padding:10px;display:grid}.partner-conflict>div{align-items:center;gap:7px;display:flex}.partner-conflict p{font-size:var(--font-xs);margin:0;line-height:1.45}.partner-conflict button{min-height:var(--control-md);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--font-sm);justify-content:center;align-items:center;gap:6px;display:flex}.guest-field .partner-conflict{grid-column:2}@media (pointer:coarse){.interest-chip-add button{width:var(--control-sm);height:var(--control-sm)}.prop-input,.guest-field select{height:var(--control-touch);font-size:var(--font-md)}.note-field textarea{font-size:var(--font-md)}.stepper{width:140px;height:var(--control-touch);grid-template-columns:44px 1fr 44px}.interest-chip,.interest-chip-add{min-height:36px}.guest-name-input{font-size:16px}.note-field .guest-field-label,.interest-field .guest-field-label{padding-top:12px}}@media (width<=979px){.mobile-inspector-sheet{z-index:26;right:8px;bottom:var(--sheet-bottom);max-width:var(--sheet-max-width);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);margin-inline:auto;display:grid;position:absolute;left:8px;overflow:hidden}.mobile-inspector-sheet.compact{grid-template-rows:auto auto;padding:10px}.mobile-inspector-sheet .guest-inspector-header{padding:0 0 10px 2px}.mobile-inspector-sheet .guest-panel-actions{margin-bottom:0}.mobile-inspector-sheet .guest-panel-actions>.btn{padding-inline:8px}.mobile-sheet-summary{align-items:center;gap:10px;min-width:0;min-height:40px;padding-left:4px;display:flex}.mobile-sheet-summary>span:first-child{flex:1;gap:1px;min-width:0;display:grid}.mobile-sheet-summary small{color:var(--muted);font-size:var(--font-xs)}.mobile-sheet-summary strong{font-size:var(--font-lg);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-sheet-status{max-width:46%;color:var(--muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.mobile-sheet-status.is-unplaced{color:var(--orange);font-weight:var(--weight-semibold)}.mobile-sheet-actions{align-items:center;gap:6px;padding-top:8px;display:flex}.mobile-sheet-actions>.btn{flex:1 1 0;min-width:0;padding-inline:8px}.mobile-table-move-hint+.btn{flex:none;padding-inline:14px}.mobile-table-move-hint{min-width:0;min-height:var(--control-touch);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);font-size:var(--font-sm);white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:7px;margin:0;padding:0 10px;display:inline-flex;overflow:hidden}}.loading-screen,.signin-screen,.first-run-screen{background:var(--page);min-height:100dvh}.loading-screen,.signin-screen{place-items:center;display:grid}.signin-screen{align-content:center}.loading-screen{color:var(--faint);font-size:var(--font-sm);align-content:center;gap:10px}.loading-screen p{margin:0}.loading-wordmark{font-size:30px;animation:1.6s ease-in-out infinite loading-pulse}@keyframes loading-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-wordmark{animation:none}}.signin-screen{isolation:isolate;padding:max(32px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));position:relative;overflow-y:auto}.signin-backdrop{z-index:-1;pointer-events:none;background:radial-gradient(520px 360px at 50% 42%, color-mix(in srgb, var(--green) 10%, transparent), transparent 70%), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 30%,#0000 80%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 30%,#0000 80%)}.signin-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(400px,100%);box-shadow:0 1px 2px #0000000a, var(--shadow-sm);padding:32px 32px 24px;display:grid}.signin-brand{margin-bottom:28px}.signin-wordmark{color:var(--green);font-optical-sizing:auto;font-variation-settings:"opsz" 32;letter-spacing:-.018em;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:34px;font-weight:480;line-height:1}.signin-card .signin-tagline{color:var(--muted);font-size:var(--font-lg);margin-top:8px}.signin-footer{color:var(--faint);font-size:var(--font-xs);text-align:center;margin-top:18px}.signin-footer a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-underline-offset:2px}@media (hover:hover){.signin-footer a:hover{color:var(--ink);text-decoration-color:currentColor}}.signin-header{margin-bottom:22px}.signin-card h1{font-size:var(--font-xl);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0 0 4px}.signin-card p{color:var(--muted);font-size:var(--font-md);margin:0;line-height:1.5}.auth-form{gap:14px;width:100%;display:grid}.auth-form label{color:var(--ink);font-size:var(--font-sm);font-weight:var(--weight-medium);gap:6px;display:grid}.auth-form label small{color:var(--faint);font-size:var(--font-xs);font-weight:400}.auth-form input{width:100%;min-height:var(--control-touch);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 55%, var(--page));color:var(--ink);font-size:var(--font-lg);padding:0 12px;transition:border-color .12s,box-shadow .12s}@media (hover:hover){.auth-form input:hover{border-color:color-mix(in srgb, var(--border) 60%, var(--muted))}}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.primary-auth-button{width:100%;min-height:var(--control-touch);border-radius:var(--radius-md);background:var(--green);color:var(--on-accent);font-size:var(--font-lg);font-weight:var(--weight-semibold);border:0;margin-top:4px}@media (hover:hover){.primary-auth-button:hover:not(:disabled){background:var(--green-strong)}}.primary-auth-button:disabled{opacity:.6}.text-button{min-height:40px;color:var(--green);font-size:var(--font-sm);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0}@media (hover:hover){.text-button:hover{text-decoration:underline}}.forgot-button{min-height:24px;font-weight:var(--weight-medium);justify-self:end;margin-top:-8px}.auth-divider{width:100%;color:var(--faint);font-size:var(--font-xs);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);height:1px}.google-button{width:100%;min-height:var(--control-touch);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--font-lg);font-weight:var(--weight-medium);justify-content:center;align-items:center;gap:10px;display:flex}@media (hover:hover){.google-button:hover:not(:disabled){background:var(--surface-2)}}.google-button:disabled{opacity:.55}.google-logo{flex:none;width:18px;height:18px}.signin-card .signin-note{font-size:var(--font-sm);margin:8px 0 0}.signin-card .signin-switch{border-top:1px solid var(--border);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--surface-2);text-align:center;font-size:var(--font-sm);margin:20px -32px -24px;padding:14px 32px}.signin-switch .text-button{min-height:0;font-size:inherit}.signin-card .form-error,.signin-card .form-success{border-radius:var(--radius-md);width:100%;font-size:var(--font-sm);margin:14px 0 0;padding:10px 11px}.signin-card .form-error{color:var(--danger);background:var(--danger-soft)}.signin-card .form-success{color:var(--green);background:var(--green-soft)}.first-run-screen{padding:max(20px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));overflow-y:auto}.first-run-top{justify-content:space-between;align-items:center;gap:16px;max-width:880px;min-height:44px;margin:0 auto 20px;display:flex}.first-run-wordmark{font-size:24px}.first-run-account{color:var(--muted);font-size:var(--font-sm);align-items:center;gap:14px;display:flex}.first-run-account .text-button{min-height:32px}.first-run-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);max-width:880px;box-shadow:0 1px 2px #0000000a, var(--shadow-sm);margin:0 auto;padding:36px}.first-run-card>h1{font-size:24px;font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0 0 6px}.first-run-card>p{color:var(--muted);font-size:var(--font-md);margin:0 0 26px;line-height:1.5}.first-run-card form{display:grid}.first-run-fields{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.first-run-field{color:var(--ink);font-size:var(--font-sm);font-weight:var(--weight-medium);gap:6px;display:grid}.first-run-field>label{color:inherit}.first-run-card input[type=text]{width:100%;min-height:var(--control-touch);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 55%, var(--page));color:var(--ink);font-size:var(--font-lg);padding:0 12px}.first-run-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.first-run-card input[aria-invalid=true]{border-color:var(--danger)}.guest-count{width:max-content;height:var(--control-touch);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 55%, var(--page));grid-template-columns:40px 64px 40px;display:grid;overflow:hidden}.guest-count:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.guest-count button{color:var(--muted);background:0 0;border:0;font-size:18px}@media (hover:hover){.guest-count button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}}.guest-count button:disabled{opacity:.4}.guest-count input{width:100%;min-width:0;color:var(--ink);font-size:var(--font-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;background:0 0;border:0}.guest-count input:focus{box-shadow:none}.guest-count input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.guest-count input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.layout-options{border:0;min-width:0;margin:26px 0 24px;padding:0}.layout-options legend{color:var(--ink);font-size:var(--font-sm);font-weight:var(--weight-medium);margin-bottom:8px;padding:0}.layout-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.layout-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;grid-template-rows:auto auto 1fr;gap:3px;min-width:0;padding:8px 8px 10px;transition:border-color .12s,box-shadow .12s;display:grid;position:relative}@media (hover:hover){.layout-card:hover{border-color:var(--green-border)}}.layout-card.is-selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.layout-card input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.layout-card:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--green) 45%, transparent);outline-offset:2px}.layout-card strong{font-size:var(--font-sm);font-weight:var(--weight-semibold);margin-top:6px;padding-inline:2px;line-height:1.3}.layout-card small{color:var(--muted);font-size:var(--font-xs);font-variant-numeric:tabular-nums;padding-inline:2px}.layout-preview-frame{aspect-ratio:4/3;border-radius:var(--radius-md);background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:10px 10px;place-items:center;padding:6px;display:grid}.layout-preview{width:100%;height:100%}.layout-preview-table{fill:var(--table-body-bg);stroke:var(--table-body-border);stroke-width:3px;vector-effect:non-scaling-stroke}.layout-preview-seat{fill:var(--faint);opacity:.55}.layout-card.is-selected .layout-preview-table{fill:var(--green-soft);stroke:var(--green)}.layout-card.is-selected .layout-preview-seat{fill:var(--green);opacity:.7}.layout-preview-plus{fill:none;stroke:var(--faint);stroke-width:2px;stroke-linecap:round}.first-run-card .form-error{border-radius:var(--radius-md);width:fit-content;color:var(--danger);background:var(--danger-soft);font-size:var(--font-sm);margin:0 0 12px;padding:9px 11px}.first-run-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.first-run-actions .primary-auth-button{width:min(240px,100%);margin:0}.first-run-card .first-run-example{color:var(--muted);font-size:var(--font-sm);margin:0}.first-run-example .text-button{min-height:0;font-size:inherit}@media (width<=700px){.signin-screen{padding:max(20px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom));align-content:start;place-items:start center}.signin-card{padding:24px 20px 20px}.signin-card .signin-switch{margin:20px -20px -20px;padding-inline:20px}.first-run-screen{padding:max(8px, env(safe-area-inset-top)) 10px max(18px, env(safe-area-inset-bottom))}.first-run-top{margin-bottom:8px;padding-inline:6px}.first-run-card{padding:22px 16px}.first-run-fields{grid-template-columns:1fr}.first-run-card>h1{font-size:22px}.first-run-card>p{font-size:var(--font-md);margin-bottom:22px}.layout-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.first-run-actions{text-align:center;flex-direction:column;align-items:stretch}.first-run-actions .primary-auth-button{width:100%}.layout-options{margin-block:22px 18px}}.first-run-card>p:has(+.first-run-guest-note){margin-bottom:8px}.first-run-card>.first-run-guest-note{font-size:var(--font-sm)}.signin-switch p{margin:0}.signin-switch p+p{margin-top:4px}
