:root{--text:#4b4553;--text-h:#08060d;--bg:#faf9fb;--panel-bg:#fff;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--danger:#d1435b;--success:#1a8f4c;--success-bg:#1a8f4c1f;--success-border:#1a8f4c66;--shadow:#0000000f 0 4px 12px -2px, #0000000a 0 2px 4px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b7b3bd;--text-h:#f3f4f6;--bg:#16171d;--panel-bg:#1c1d24;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--success:#4ade80;--success-bg:#4ade8026;--success-border:#4ade8066;--shadow:#0006 0 4px 12px -2px, #0000004d 0 2px 4px -2px}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);margin:0 0 8px;font-weight:600}h1{letter-spacing:-.4px;font-size:28px}h2{font-size:17px}h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin-top:16px;font-size:14px}p{margin:0}button{font:inherit}input,textarea,select{font:inherit;color:inherit}.app-root{max-width:1400px;margin:0 auto;padding:20px 24px 60px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.app-header-stats{color:var(--text);font-size:14px}.app-header-actions{gap:8px;display:flex}.primary-btn,.secondary-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:500}.primary-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.primary-btn:hover{filter:brightness(1.06)}.secondary-btn{color:var(--text-h);border-color:var(--border);background:0 0}.secondary-btn:hover{background:var(--accent-bg)}.icon-btn{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:14px}.icon-btn:hover{background:var(--accent-bg)}.icon-btn.danger:hover{color:var(--danger);background:#d1435b1f}.app-main{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}@media (width<=860px){.app-main{grid-template-columns:1fr}}.app-sidebar{flex-direction:column;gap:20px;display:flex;position:sticky;top:20px}@media (width<=860px){.app-sidebar{position:static}}.panel{background:var(--panel-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:18px}.field{color:var(--text);flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;display:flex}.field input,.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);resize:vertical;border-radius:8px;padding:8px 10px;font-size:14px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-border);outline-offset:-1px}.section-header{justify-content:space-between;align-items:center;display:flex}.section-header h2{margin:0 0 8px}.section-toggle{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;flex:none;width:20px;height:20px;margin-bottom:8px;font-size:12px}.section-toggle:hover{background:var(--accent-bg)}.tables-summary{color:var(--text);margin:0 0 12px;font-size:13px}.table-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.table-list-row{align-items:center;gap:6px;display:flex}.table-name-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text-h);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.table-seats-input{border:1px solid var(--border);background:var(--bg);width:52px;color:var(--text-h);text-align:center;border-radius:6px;padding:6px 4px;font-size:13px}.add-table-row{gap:8px;display:flex}.add-table-row input{border:1px solid var(--border);background:var(--bg);width:64px;color:var(--text-h);text-align:center;border-radius:8px;padding:8px}.guest-summary{color:var(--text);margin-top:12px;font-size:12.5px}.unassigned-pool{border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;gap:6px;min-height:60px;margin-top:8px;padding:8px;display:flex}.unassigned-pool.drop-hover{border-color:var(--accent);background:var(--accent-bg)}.empty-hint{color:var(--text);opacity:.75;padding:4px;font-size:13px}.unseated-header{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.unseated-header h3{margin:0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.link-btn.danger{color:var(--danger)}.grouping-bar{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px;display:flex}.grouping-bar input[type=text]{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:7px 10px;font-size:13px}.grouping-bar-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.grouping-count{color:var(--text);white-space:nowrap;font-size:12px}.group-list{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.group-card{border:1px solid var(--accent-border);background:var(--accent-bg);cursor:grab;touch-action:none;border-radius:10px;flex:none;max-width:100%;padding:5px 8px;transition:background .15s,border-color .15s}.group-card:active{cursor:grabbing}.group-card.fully-seated{background:var(--bg);border-color:var(--border)}.group-card.expanded{flex:100%}.group-card.drop-hover{box-shadow:0 0 0 2px var(--accent)}.group-card-header{align-items:center;gap:4px;display:flex}.group-expand-toggle{cursor:pointer;color:var(--text);background:0 0;border:none;flex:none;width:14px;padding:0;font-size:10px}.group-status-text{color:var(--text);white-space:nowrap;flex:none;font-size:11px}.group-seated-badge{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.group-name-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);flex:1;font-size:13px;font-weight:600;overflow:hidden}.group-name-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:6px;margin-bottom:6px;padding:4px 6px;font-size:13px;font-weight:600;display:block}.group-name-input:focus{outline:1px solid var(--accent-border)}.group-card-details{border-top:1px solid var(--accent-border);margin-top:6px;padding-top:6px}.group-card.fully-seated .group-card-details{border-top-color:var(--border)}.group-card-details .link-btn{margin-top:4px;display:inline-block}.group-member-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.group-member-list li{align-items:center;gap:4px;padding:2px 4px;font-size:12.5px;display:flex}.group-member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.group-member-seated{color:var(--text);opacity:.8;white-space:nowrap;font-size:11px}.group-member-remove{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:999px;flex:none;width:16px;height:16px;font-size:10px}.group-member-remove:hover{color:var(--danger);background:#d1435b26}.notice-banner{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:13.5px;display:flex}.notice-dismiss{cursor:pointer;color:var(--text);background:0 0;border:none;flex:none;font-size:13px}.guest-chip{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:5px 6px 5px 12px;font-size:13px;display:inline-flex}.guest-chip:active{cursor:grabbing}.guest-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guest-chip-remove{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;width:18px;height:18px;font-size:11px;line-height:1}.guest-chip-remove:hover{color:var(--danger);background:#d1435b26}.guest-chip-selectable{border-color:var(--border);background:var(--bg);cursor:pointer;font:inherit}.guest-chip-selectable input[type=checkbox]{pointer-events:none}.guest-chip-selectable.selected{border-color:var(--accent);background:var(--accent-bg)}.seating-chart-panel{min-height:400px}.seating-chart-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:12px;display:grid}.table-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:12px;transition:box-shadow .15s,opacity .15s,filter .15s;position:relative}.table-card.minimized{padding:8px 10px}.table-card.can-fit-group{box-shadow:0 0 0 2px var(--accent), 0 6px 16px -4px var(--accent-border)}.table-minimize-toggle{color:var(--text);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:6px;width:20px;height:20px;font-size:11px;position:absolute;top:8px;right:8px}.table-minimize-toggle:hover{background:var(--accent-bg)}.table-card-collapsed{align-items:center;gap:8px;min-height:20px;padding-right:24px;display:flex}.table-collapsed-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);flex:1;font-size:14px;font-weight:600;overflow:hidden}.table-card.cannot-fit-group{opacity:.45;filter:grayscale(.4)}.table-diagram{aspect-ratio:1;width:100%;max-width:320px;margin:0 auto;position:relative}.table-shape{background:var(--panel-bg);border:2px solid var(--accent-border);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:46%;height:46%;padding:8px;transition:box-shadow .15s,background .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-shape.drop-hover{background:var(--accent-bg);box-shadow:0 0 0 3px var(--accent-border)}.table-shape-name{text-align:center;width:90%;color:var(--text-h);background:0 0;border:none;border-radius:4px;padding:2px;font-size:13px;font-weight:600}.table-shape-name:focus{outline:1px solid var(--accent-border);background:var(--bg)}.table-shape-count{color:var(--text);font-size:11px}.seat{aspect-ratio:1;border:1.5px dashed var(--border);background:var(--panel-bg);border-radius:50%;justify-content:center;align-items:center;width:25%;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.seat.drop-hover{border-color:var(--accent);background:var(--accent-bg)}.seat.seat-filled{border-style:solid;border-color:var(--accent-border);padding:2px}.seat-placeholder{color:var(--text);opacity:.6;font-size:12px}.seat .guest-chip{max-width:100%;padding:3px 5px 3px 7px;font-size:10.5px}.seat .guest-chip-name{max-width:76px}.seat .guest-chip-remove{width:15px;height:15px}.print-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.print-toolbar-right{align-items:center;gap:12px;display:flex}.sort-toggle{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.sort-toggle select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:7px 8px}.print-view{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;max-width:800px;margin:0 auto;padding:32px}.print-subtitle{color:var(--text);margin-bottom:24px}.print-table-block{break-inside:avoid;margin-bottom:20px}.print-table-block h2{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px}.print-count{color:var(--text);font-size:13px;font-weight:400}.print-table-block ul{margin:0;padding-left:20px}.print-table-block li{padding:2px 0}.print-alpha-table{border-collapse:collapse;width:100%;font-size:14px}.print-alpha-table th,.print-alpha-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.print-unseated{color:var(--text);font-style:italic}@media print{.no-print{display:none!important}body,.app-root{color:#000;background:#fff}.print-view{box-shadow:none;border:none;max-width:none;padding:0}}
