:root{--primary: #5f84ff;--primary-gradient: linear-gradient(135deg, #5f84ff, #7f61ff);--text-primary: #18324b;--text-secondary: #607385;--text-muted: #8896a6;--bg-page: #f4f7fb;--bg-card: rgba(255, 255, 255, .82);--bg-secondary: #edf3fb;--bg-hover: #f0f5ff;--border: #dfe8f4;--border-light: #eef2f8;--danger: #a83030;--danger-bg: #ffe9e9;--warning: #8f5a00;--warning-bg: #fff5e0;--success: #256343;--success-bg: #e8f8ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--text-heading: #18324b;--text-body: #30465e;--text-subtle: #496076;--text-faint: #738497;--bg-input: #ffffff;--bg-pill: rgba(235, 241, 249, .95);--bg-hint: #eef5ff;--bg-editor: #fbfdff;--bg-collapse: #f4f8fe;--bg-overlay: #ffffff;--bg-inline-editor: #f7fbff;--shadow-color: rgba(18, 43, 70, .08);--shadow-heavy: rgba(18, 43, 70, .14);--tooltip-bg: #18324b;--tooltip-text: #ffffff;color:var(--text-primary);background:var(--bg-page);line-height:1.45;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root:not(.light-mode){--primary: #7fa4ff;--primary-gradient: linear-gradient(135deg, #7fa4ff, #a07fff);--text-primary: #e4edf7;--text-secondary: #9db3c8;--text-muted: #6e859c;--bg-page: #0e1c2b;--bg-card: rgba(18, 32, 48, .88);--bg-secondary: #152132;--bg-hover: #1a2d42;--border: #1e3248;--border-light: #172840;--danger: #e06060;--danger-bg: #2d1010;--warning: #e0a84a;--warning-bg: #2a1c00;--success: #4dbd82;--success-bg: #0a2118;--text-heading: #e4edf7;--text-body: #b8cce0;--text-subtle: #8fa8c0;--text-faint: #6e859c;--bg-input: #152132;--bg-pill: rgba(30, 50, 72, .9);--bg-hint: #152538;--bg-editor: #121e2e;--bg-collapse: #152132;--bg-overlay: #152132;--bg-inline-editor: #121e2e;--shadow-color: rgba(0, 0, 0, .2);--shadow-heavy: rgba(0, 0, 0, .3);--tooltip-bg: #e4edf7;--tooltip-text: #0e1c2b;color:#e4edf7;background:var(--bg-page)}}:root.dark-mode{--primary: #7fa4ff;--primary-gradient: linear-gradient(135deg, #7fa4ff, #a07fff);--text-primary: #e4edf7;--text-secondary: #9db3c8;--text-muted: #6e859c;--bg-page: #0e1c2b;--bg-card: rgba(18, 32, 48, .88);--bg-secondary: #152132;--bg-hover: #1a2d42;--border: #1e3248;--border-light: #172840;--danger: #e06060;--danger-bg: #2d1010;--warning: #e0a84a;--warning-bg: #2a1c00;--success: #4dbd82;--success-bg: #0a2118;--text-heading: #e4edf7;--text-body: #b8cce0;--text-subtle: #8fa8c0;--text-faint: #6e859c;--bg-input: #152132;--bg-pill: rgba(30, 50, 72, .9);--bg-hint: #152538;--bg-editor: #121e2e;--bg-collapse: #152132;--bg-overlay: #152132;--bg-inline-editor: #121e2e;--shadow-color: rgba(0, 0, 0, .2);--shadow-heavy: rgba(0, 0, 0, .3);--tooltip-bg: #e4edf7;--tooltip-text: #0e1c2b;color:#e4edf7;background:var(--bg-page)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(146,180,255,.3),transparent 22%),radial-gradient(circle at bottom right,rgba(255,205,226,.35),transparent 22%),linear-gradient(180deg,#f6f9fd,#eef3fb)}@media(prefers-color-scheme:dark){:root:not(.light-mode) body{background:radial-gradient(circle at top left,rgba(40,70,140,.25),transparent 22%),radial-gradient(circle at bottom right,rgba(120,40,80,.2),transparent 22%),linear-gradient(180deg,#0e1c2b,#0b1622)}}:root.dark-mode body{background:radial-gradient(circle at top left,rgba(40,70,140,.25),transparent 22%),radial-gradient(circle at bottom right,rgba(120,40,80,.2),transparent 22%),linear-gradient(180deg,#0e1c2b,#0b1622)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.clickable{cursor:pointer}.app-shell{min-height:100vh;position:relative;padding-bottom:36px}.background-glow{position:fixed;width:30rem;height:30rem;border-radius:999px;filter:blur(70px);opacity:.45;pointer-events:none}.background-glow-1{top:-8rem;left:-6rem;background:#9fb9ff80}.background-glow-2{right:-8rem;bottom:-10rem;background:#ffadcc73}.container{width:min(1440px,calc(100% - 2rem));margin:0 auto;padding:.75rem 0 2rem;position:relative}.card{background:var(--bg-card, rgba(255, 255, 255, .82));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border-light, rgba(255, 255, 255, .65));border-radius:24px;box-shadow:0 12px 45px var(--shadow-color)}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.75rem;height:56px;padding:0 1.2rem;border-radius:0;border-bottom:1px solid var(--border, rgba(200, 215, 235, .5));background:var(--bg-card, rgba(255, 255, 255, .88));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 12px var(--shadow-color)}.app-header-title{font-weight:700;font-size:1rem;color:var(--text-heading);white-space:nowrap;letter-spacing:-.02em}.app-header-search{position:relative;flex:1;max-width:480px}.app-header-search .search-input-wrap{position:relative}.search-icon{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.header-search-input{padding-left:2.2rem!important;height:36px;border-radius:999px!important;font-size:.88rem}.header-save-pill{font-size:.78rem;padding:.3rem .65rem;white-space:nowrap;max-width:280px;overflow:hidden}.save-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-body);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s ease,color .12s ease}.lang-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.header-new-table-btn{padding:.5rem .85rem;border-radius:999px;font-size:.88rem;white-space:nowrap}.header-menu-wrap{position:relative}.header-menu-btn{color:var(--text-body);border:1px solid var(--border);background:var(--bg-input)}.header-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:110;background:var(--bg-overlay);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px var(--shadow-heavy);padding:.35rem;min-width:180px;animation:overlay-in .15s ease-out}.header-menu-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:none;border-radius:10px;background:transparent;color:var(--text-heading);font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:background 80ms ease}.header-menu-item:hover,.header-menu-item:focus-visible{background:var(--bg-hover)}.header-menu-divider{height:1px;background:var(--border-light);margin:.25rem .5rem}.sidebar-plan-switcher{margin-bottom:.5rem}.header-plan-switcher-slot{flex:0 1 auto;min-width:0;max-width:min(200px,45vw)}.plan-switcher{position:relative}.plan-switcher-trigger{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-card);color:var(--text-heading);font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s;min-height:36px}.plan-switcher-trigger:hover{border-color:var(--accent);background:var(--bg-hover)}.plan-switcher-trigger:disabled{opacity:.6;pointer-events:none}.plan-switcher-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.plan-switcher-chevron{flex-shrink:0;transition:transform .2s}.plan-switcher-chevron.open{transform:rotate(180deg)}.plan-switcher-backdrop{position:fixed;inset:0;z-index:101}.plan-switcher-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:102;background:var(--bg-overlay);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px var(--shadow-heavy);overflow:hidden}.plan-switcher-list{max-height:min(400px,60vh);overflow-y:auto;padding:.25rem}.plan-switcher-footer{border-top:1px solid var(--border-light);padding:.25rem}.plan-switcher-new-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem .625rem;border:none;border-radius:8px;background:transparent;color:var(--accent);font-size:.825rem;font-weight:500;cursor:pointer;transition:background .1s}.plan-switcher-new-btn:hover{background:var(--bg-hover)}.plan-switcher-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.825rem}.plan-switcher-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;border-radius:8px;cursor:pointer;font-size:.825rem;color:var(--text-body);transition:background .1s}.plan-switcher-item:hover{background:var(--bg-hover)}.plan-switcher-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.plan-switcher-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.plan-shared-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;color:var(--text-muted);white-space:nowrap}.plan-ctx-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;opacity:.4;transition:opacity .15s,color .15s,background .1s}.plan-ctx-btn:hover,.plan-ctx-btn:focus-visible{opacity:1;color:var(--text-body);background:var(--bg-hover)}.plan-detail-header{display:flex;align-items:center;gap:.375rem;padding:.5rem .5rem .375rem;border-bottom:1px solid var(--border-light)}.plan-detail-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.plan-detail-back:hover,.plan-detail-back:focus-visible{background:var(--bg-hover);color:var(--text-heading)}.plan-detail-name{flex:1;font-size:.825rem;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-detail-actions{padding:.25rem}.plan-detail-action{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border:none;border-radius:8px;background:transparent;color:var(--text-heading);font-size:.825rem;font-weight:500;text-align:left;cursor:pointer;transition:background 80ms ease}.plan-detail-action:hover,.plan-detail-action:focus-visible{background:var(--bg-hover)}.plan-detail-action.danger{color:var(--danger)}.plan-detail-action.danger:hover,.plan-detail-action.danger:focus-visible{background:var(--danger-bg)}.plan-detail-action:disabled{opacity:.4;cursor:default;pointer-events:none}.plan-detail-divider{height:1px;background:var(--border-light);margin:.25rem .5rem}.plan-rename-input{flex:1;font-size:.825rem;padding:.25rem .375rem;border:1px solid var(--accent);border-radius:6px;background:var(--bg-card);color:var(--text-heading);outline:none;box-shadow:none;min-width:0}.plan-rename-input:focus{box-shadow:0 0 0 2px var(--accent)}.plan-rename-input.submitting{opacity:.6;pointer-events:none}.plan-rename-input.error{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-bg)}.plan-switch-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:color-mix(in srgb,var(--bg-body) 85%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:16px;font-size:.85rem;color:var(--text-muted);pointer-events:all;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.plan-switch-spinner{width:24px;height:24px;border:2.5px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.plan-switch-cancel{border:none;background:none;color:var(--accent);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:.25rem .5rem;opacity:0;animation:fade-in .3s ease-out forwards}.search-overlay{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:101;background:var(--bg-overlay);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 40px var(--shadow-heavy);max-height:340px;overflow-y:auto;animation:overlay-in .15s ease-out}@keyframes overlay-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-overlay-list{list-style:none;margin:0;padding:.4rem}.search-overlay-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;border:none;border-radius:12px;background:transparent;color:var(--text-heading);font-size:.88rem;text-align:left;cursor:pointer;transition:background 80ms ease}.search-overlay-item:hover,.search-overlay-item:focus-visible{background:var(--bg-hover)}.search-overlay-name{display:flex;align-items:center;gap:.45rem;font-weight:600}.search-overlay-party{font-weight:400;color:var(--text-secondary);font-size:.82rem}.search-overlay-location{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.search-overlay-empty{padding:1.2rem;text-align:center;color:var(--text-faint);font-size:.88rem}.search-overlay-item.expanded{background:var(--bg-hint);border-radius:12px;padding:.5rem}.search-overlay-expand-header{display:flex;align-items:center;gap:.4rem;padding:.35rem .25rem;margin-bottom:.3rem}.search-overlay-collapse-btn{width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--text-body);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.search-overlay-collapse-btn:hover{background:var(--bg-secondary)}.search-overlay-expand-name{font-weight:700;font-size:.88rem;color:var(--text-heading)}.search-overlay-expand-location{font-size:.78rem;color:var(--text-secondary);margin-left:auto}.search-overlay-table-list{display:grid;gap:.25rem;max-height:240px;overflow-y:auto;padding:.15rem}.search-overlay-table-option{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-heading);font-size:.82rem;font-weight:500;text-align:left;cursor:pointer;transition:background 80ms ease,border-color 80ms ease;min-height:44px;display:flex;align-items:center}.search-overlay-table-option:hover{background:var(--bg-hover);border-color:var(--primary)}.search-overlay-table-option:active{background:var(--bg-secondary)}.search-overlay-table-option.unassign-option{color:var(--text-secondary);border-style:dashed}.search-overlay-item.flash{animation:search-assign-flash .6s ease-out}@keyframes search-assign-flash{0%{background:#d4e4ff}to{background:transparent}}.toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%);z-index:60;background:#102132eb;color:#fff;padding:.6rem 1.2rem;border-radius:999px;font-size:.85rem;font-weight:600;box-shadow:0 8px 24px #0f182833;animation:toast-in .2s ease-out;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(8px)}}.toast.toast-error{background:var(--danger);color:#fff}.toast.toast-fading{animation:toast-out .2s ease-in forwards}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;height:36px;background:var(--bg-card, rgba(255, 255, 255, .88));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border, rgba(200, 215, 235, .5));display:flex;align-items:center;justify-content:center}.app-footer-inner{display:flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--text-secondary)}.footer-stat strong{color:var(--text-heading);margin-right:.25rem}.footer-stat-separator{color:var(--text-muted)}.footer-stat--has-tooltip{position:relative;cursor:default}.footer-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--tooltip-bg);color:var(--tooltip-text);font-size:.75rem;font-weight:500;line-height:1.5;padding:.4rem .65rem;border-radius:6px;white-space:pre;pointer-events:none;z-index:100;box-shadow:0 2px 8px #0000002e}.footer-stat--has-tooltip:hover .footer-tooltip{display:block}.layout{display:grid;grid-template-columns:360px 1fr;gap:1.2rem;transition:grid-template-columns .25s ease;align-items:start}.sidebar{min-width:0;position:sticky;top:56px;max-height:calc(100vh - 92px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(180,195,215,.4) transparent}.tables-area{min-width:0}.sidebar::-webkit-scrollbar,.tables-area::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb,.tables-area::-webkit-scrollbar-thumb{background:#b4c3d766;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover,.tables-area::-webkit-scrollbar-thumb:hover{background:#96aac399}.sidebar::-webkit-scrollbar-track,.tables-area::-webkit-scrollbar-track{background:transparent}.sidebar{transition:transform .25s ease,opacity .25s ease}.sidebar-inner{transition:opacity .25s ease}.sidebar-collapsed .sidebar-inner{opacity:0;pointer-events:none}.sidebar-toggle-btn{position:absolute;top:1rem;right:-14px;z-index:10;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-body);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--shadow-color);cursor:pointer;transition:background .12s ease}.sidebar-toggle-btn:hover{background:var(--bg-hover)}.sidebar-collapsed .sidebar-toggle-btn{right:-42px;width:36px;height:36px;background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 12px #5f84ff4d}.panel{padding:1rem;margin-bottom:.75rem}.panel+.panel{margin-top:.25rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.panel-header h2{margin:0;font-size:1.15rem;letter-spacing:-.02em;position:relative;padding-bottom:.45rem}.panel-header h2:after{content:"";position:absolute;bottom:0;left:0;width:1.8rem;height:2.5px;border-radius:2px;background:var(--primary);opacity:.6}.table-header h3,.modal-header h3{margin:0;font-size:1rem;letter-spacing:-.02em}.toolbar-grid,.editor-grid{display:grid;gap:.8rem}.stat-pill,.meta-pill,.mini-pill{display:inline-flex;align-items:center;gap:.42rem;border-radius:999px;padding:.5rem .8rem;background:var(--bg-pill);color:var(--text-body);font-size:.92rem;font-weight:600;transition:background .2s ease,color .2s ease}.count-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;background:var(--bg-secondary);padding:.15rem .45rem;border-radius:999px}.mini-pill{padding:.24rem .55rem;font-size:.78rem;background:var(--bg-secondary)}.warning-pill{background:var(--warning-bg);color:var(--warning)}.meta-pill.danger{background:var(--danger-bg);color:var(--danger)}.meta-pill.warning{background:var(--warning-bg);color:var(--warning)}.save-pill{max-width:100%;white-space:normal;transition:background .2s ease,color .2s ease}.save-pill.saving{background:var(--bg-hint);color:var(--primary)}.save-pill.saved{background:var(--success-bg);color:var(--success)}.save-pill.error{background:var(--danger-bg);color:var(--danger)}.retry-btn{margin-left:8px;padding:.25rem .6rem;border:1px solid var(--danger);border-radius:999px;background:transparent;color:var(--danger);font-size:.78rem;font-weight:600;cursor:pointer}.retry-btn:hover{background:var(--danger);color:#fff}.filter-pills{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;padding:.4rem 0;margin-top:.1rem;margin-bottom:.35rem}.filter-pill{padding:.32rem .7rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.filter-pill:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.filter-pill.active,.filter-pill[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #5f84ff40}.filter-count{font-size:.72rem;color:var(--text-muted);margin-left:2px;font-variant-numeric:tabular-nums}.button-row{display:flex;gap:.5rem;align-items:center}.button-row.wrap{flex-wrap:wrap;gap:.4rem}.button-row.end{justify-content:flex-end}.bulk-toolbar{display:flex;gap:.65rem;align-items:center}.grow{flex:1}.btn,.icon-btn{border:0;transition:transform .12s ease,opacity .12s ease,background .12s ease,box-shadow .12s ease}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;padding:.82rem 1rem;border-radius:14px;font-weight:600}.btn.primary{background:var(--primary-gradient);color:#fff;box-shadow:0 12px 24px #6871ff3d}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(1.1)}.btn.secondary{background:var(--bg-secondary);color:var(--text-body)}.btn.secondary:hover{background:var(--bg-hover);box-shadow:0 2px 8px var(--shadow-color)}.btn.sm{padding:.55rem .85rem;font-size:.82rem;border-radius:12px}.btn.compact-btn{padding:.55rem .8rem;border-radius:999px}.compact-select{width:auto;min-width:13rem;padding-top:.72rem;padding-bottom:.72rem}.icon-btn{width:36px;height:36px;border-radius:12px;background:var(--bg-secondary);color:var(--text-body);display:inline-flex;align-items:center;justify-content:center}.icon-btn.danger{color:var(--danger);background:var(--danger-bg)}.text-input,.csv-textarea{width:100%;border:1px solid var(--border);background:var(--bg-input);border-radius:14px;padding:.86rem .95rem;color:var(--text-primary);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.text-input:focus,.csv-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #7e92ff29}.search-input-wrap{position:relative}.search-input{padding-right:3rem}.search-clear-btn{position:absolute;top:50%;right:.7rem;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:999px;background:var(--bg-secondary);color:var(--text-body);display:inline-flex;align-items:center;justify-content:center}.field{display:grid;gap:.38rem}.field span{font-size:.9rem;color:var(--text-subtle);font-weight:600}.dislikes-picker{display:grid;gap:.55rem}.dislike-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.suggestion-list{display:grid;gap:.45rem}.suggestion-item{border:1px solid var(--border);background:var(--bg-editor);color:var(--text-body);border-radius:12px;padding:.65rem .8rem;text-align:left;font-weight:600}.hint-box,.editor-box,.warning-box{border-radius:18px}.hint-box{background:var(--bg-hint);color:var(--text-body);padding:.75rem .9rem;margin:.95rem 0;font-size:.85rem;line-height:1.5;border-left:3px solid var(--primary);border-radius:4px 18px 18px 4px}.hint-box.compact{margin-top:.65rem;margin-bottom:.65rem}.editor-box{background:var(--bg-editor);border:1px solid var(--border);padding:1rem;margin-bottom:.95rem}.editor-box.subtle{background:var(--bg-secondary)}.editor-title{font-weight:700;margin-bottom:.85rem;color:var(--text-heading)}.collapse-section+.collapse-section{margin-top:.8rem}.collapse-toggle{width:100%;border:0;background:var(--bg-collapse);border-radius:14px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;color:var(--text-heading);font-weight:700;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.collapse-toggle:hover{background:var(--bg-hover);box-shadow:0 2px 8px var(--shadow-color)}.collapse-title-wrap{display:flex;align-items:center;gap:.55rem}.collapse-meta{font-size:.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary);padding:.15rem .5rem;border-radius:999px}.collapse-content{margin-top:.65rem;animation:collapse-in .2s ease-out}@keyframes collapse-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.collapse-box{margin-bottom:0}.selection-bar{position:fixed;left:50%;bottom:36px;transform:translate(-50%);width:min(920px,calc(100% - 1rem));display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:20px;background:#102132f0;color:#fff;box-shadow:0 22px 45px #0f182840;z-index:30}.selection-bar-copy{white-space:nowrap}.selection-input{flex:1;min-width:0}.search-results-panel{margin-top:1rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-light);font-weight:600;font-size:.82rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.dropzone{border:none;background:transparent;border-radius:0}.unassigned-dropzone{min-height:18rem;max-height:37rem;overflow:auto;padding:0;scrollbar-width:thin;scrollbar-color:rgba(180,195,215,.4) transparent}.unassigned-dropzone::-webkit-scrollbar{width:4px}.unassigned-dropzone::-webkit-scrollbar-thumb{background:#b4c3d766;border-radius:2px}.unassigned-dropzone::-webkit-scrollbar-track{background:transparent}.search-results-dropzone{min-height:8rem;max-height:18rem;overflow:auto;padding:.7rem}.guest-group+.guest-group{margin-top:.65rem}.guest-group-heading{position:sticky;top:-.7rem;z-index:1;display:flex;justify-content:space-between;align-items:center;margin:0 -.1rem .3rem;padding:.38rem .5rem;color:var(--primary);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:var(--bg-card);border-bottom:1px solid var(--border-light)}.guest-group-heading span:last-child{font-size:.68rem;color:var(--text-muted);font-weight:600;background:var(--bg-secondary);padding:.1rem .4rem;border-radius:999px;letter-spacing:0}.table-dropzone{min-height:2rem;padding:0}.guest-card{background:transparent;border:none;border-bottom:1px solid var(--border-light);border-radius:0;padding:.42rem .5rem;transition:background .12s ease,border-radius .12s ease,border-color .12s ease;position:relative}.guest-card:last-child{border-bottom:none}.guest-card:hover{background:var(--bg-hover);border-radius:10px;border-bottom-color:transparent}.guest-card+.guest-card{margin-top:0}.guest-card.compact{padding:.25rem .35rem}.guest-card.highlight{background:var(--warning-bg);border-left:3px solid var(--warning)}.guest-card.scroll-highlight{background:var(--bg-hint);border-left:3px solid var(--primary);animation:scroll-pulse 1.5s ease-in-out}.guest-card:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.guest-card.assign-mode-source{background:var(--bg-hint);border-left:3px solid var(--primary)}@keyframes scroll-pulse{0%{box-shadow:0 0 #5f84ff73}50%{box-shadow:0 0 0 6px #5f84ff1f}to{box-shadow:0 0 #5f84ff00}}.guest-top-row{display:flex;justify-content:space-between;align-items:center;gap:.3rem}.guest-name-wrap{display:flex;gap:.3rem;align-items:center;min-width:0;overflow:hidden}.guest-select{width:.85rem;height:.85rem;margin:0;accent-color:var(--primary);flex:0 0 auto;display:none}.guest-card:hover .guest-select,.guest-card:focus-within .guest-select,.guest-select:checked{display:inline-block}.grip-icon{flex:0 0 auto;color:var(--text-muted);display:none}.guest-card:hover .grip-icon{display:inline-block}.guest-info{min-width:0;display:flex;align-items:baseline;gap:.35rem;flex:1 1 auto}.guest-name{color:var(--text-heading);font-weight:600;font-size:.88rem}.guest-note-inline{color:var(--text-muted);font-size:.75rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-count{flex:0 0 auto;text-align:right;color:var(--text-muted);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;background:var(--bg-secondary);padding:.08rem .35rem;border-radius:999px;min-width:1.4rem}.conflict-dot{flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:var(--warning-bg);color:var(--warning);font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.guest-notes{color:var(--text-secondary);font-size:.8rem;margin-top:.15rem}.guest-dislikes{margin-top:.2rem;color:var(--warning);font-size:.78rem;background:var(--warning-bg);padding:.2rem .4rem;border-radius:8px}.guest-location{margin-top:.15rem;color:var(--text-subtle);font-size:.78rem;font-weight:600}.guest-move-row{display:flex;gap:.4rem;align-items:center;margin-top:.25rem}.guest-move-select{min-width:0;flex:1}.guest-actions{display:flex;position:absolute;right:.25rem;top:50%;transform:translateY(-50%);gap:.15rem;background:linear-gradient(90deg,transparent,var(--bg-card) 25%);padding:.15rem .2rem .15rem 1rem;z-index:2;opacity:0;pointer-events:none;transition:opacity .12s ease}.guest-card:hover .guest-actions,.guest-card:focus-within .guest-actions{opacity:1;pointer-events:auto}@media(hover:none){.guest-actions{display:flex;position:static;transform:none;background:none;padding:0;gap:.15rem;flex-shrink:0;opacity:1;pointer-events:auto}.guest-actions .icon-btn{width:32px;height:32px;min-width:44px;min-height:44px;padding:6px;border-radius:8px;background:transparent}.grip-icon{display:none!important}.guest-select{display:inline-block!important;opacity:.4}.guest-select:checked{opacity:1}}.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}.table-card{padding:1rem;background:var(--bg-card, rgba(255, 255, 255, .92));border:1px solid var(--border, rgba(200, 215, 235, .5));box-shadow:0 4px 16px var(--shadow-color),0 12px 45px var(--shadow-color);transition:border-color .2s ease,box-shadow .2s ease}.table-over-capacity{border-color:#a830304d;box-shadow:0 12px 45px #a8303014}.table-header{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;margin-bottom:.85rem}.table-capacity-bar-wrap{height:4px;border-radius:0 0 6px 6px;background:var(--border-light);overflow:hidden;margin:0 -1rem}.table-capacity-bar{height:100%;border-radius:0 0 6px 6px;transition:width .3s ease,background-color .3s ease}.table-capacity-bar.green{background:#3db87a}.table-capacity-bar.amber{background:#e0a030}.table-capacity-bar.red{background:#d94040}.inline-editor{background:var(--bg-inline-editor);border:1px solid var(--border);border-radius:18px;padding:.9rem;margin-bottom:.85rem}.inline-editor-grid{display:grid;gap:.8rem;margin-bottom:.8rem}.table-meta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.assign-mode-banner{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;margin-bottom:.8rem;background:var(--bg-hint);border:1px solid var(--primary);border-radius:14px;color:var(--text-body);font-size:.9rem}.assign-target{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.assign-target:hover{border-color:var(--primary);box-shadow:0 0 0 3px #5f84ff26}.assign-here-pill{background:var(--primary);color:#fff;font-size:.72rem;padding:.2rem .5rem;animation:pulse-assign 1.5s ease-in-out infinite}@keyframes pulse-assign{0%,to{opacity:1}50%{opacity:.65}}.warning-box{background:var(--warning-bg);border:1px solid var(--warning);padding:.85rem .95rem;margin-top:.85rem}.warning-title{display:flex;align-items:center;gap:.45rem;color:var(--warning);font-weight:700;margin-bottom:.4rem}.warning-box ul{margin:0;padding-left:1.1rem;color:var(--warning)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:8.5rem;color:var(--text-faint);text-align:center;padding:1.5rem 1rem;font-size:.88rem;line-height:1.5}.empty-state-icon{color:var(--text-muted);opacity:.4;margin-bottom:.2rem}.empty-state-rich{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1rem;text-align:center;color:var(--text-muted)}.empty-state-text{margin:0;color:var(--text-secondary);font-size:.88rem;max-width:22ch;line-height:1.5}.empty-state-cta{font-size:.85rem;padding:.45rem 1rem}.modal-backdrop{position:fixed;inset:0;background:#0e182775;display:grid;place-items:center;padding:1rem;z-index:200;animation:backdrop-in .15s ease-out}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-card{width:min(900px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--bg-overlay);border-radius:24px;box-shadow:0 28px 80px var(--shadow-heavy);padding:1.1rem;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .15s ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.guest-edit-modal-card{width:min(520px,100%)}.confirm-modal-card{width:min(420px,100%)}.confirm-modal-icon{vertical-align:-3px;color:var(--warning)}.confirm-modal-message{color:var(--text-secondary);margin:0 0 1rem;font-size:.95rem;line-height:1.5}.modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.8rem}.modal-header p{margin:.45rem 0 0;color:var(--text-secondary)}.csv-textarea{min-height:18rem;flex:1 1 auto;resize:vertical;margin-bottom:.9rem}.modal-card .button-row.end{position:sticky;bottom:0;margin-top:auto;padding-top:.75rem;background:linear-gradient(180deg,transparent,var(--bg-overlay) 28%);border-top:1px solid var(--border)}.csv-summary{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:.9rem}.csv-preview-list{display:grid;gap:.6rem;margin-bottom:.9rem}.csv-preview-item{display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-editor);color:var(--text-body)}.csv-preview-item span:first-child{font-weight:700;color:var(--text-heading)}@media(max-width:1100px){.layout{grid-template-columns:1fr!important}.sidebar,.tables-area{overflow-y:visible}.sidebar{position:static;max-height:none;order:2}.tables-area{order:1}.sidebar-toggle-btn{display:none}.plan-switcher-dropdown{min-width:min(280px,85vw)}}@media(max-width:720px){.container{width:min(100% - 1rem,1440px);padding-top:.4rem}.app-header{gap:.4rem;padding:.4rem .6rem;height:auto;min-height:48px;flex-wrap:wrap}.app-header-search{order:10;max-width:100%;flex-basis:100%}.header-search-input{font-size:16px}.app-header>.grow{display:none}.header-save-pill{padding:.3rem;min-width:0;max-width:32px;overflow:hidden}.header-save-pill .save-pill-text{display:none}.header-save-pill.error{max-width:none;padding:.3rem .65rem}.header-new-table-btn{padding:.4rem .7rem;font-size:.82rem}.app-footer{height:auto;min-height:36px;padding:.35rem .5rem}.app-footer-inner{flex-wrap:wrap;justify-content:center;gap:.3rem .55rem;font-size:.75rem}.guest-move-row{flex-direction:column;align-items:stretch}.panel,.table-card,.modal-card{padding:.9rem}.card{border-radius:18px}.bulk-toolbar{flex-direction:column;align-items:stretch}.selection-bar{flex-direction:column;align-items:stretch;left:.5rem;right:.5rem;width:auto;transform:none;bottom:36px}.tables-grid{grid-template-columns:1fr}}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{text-align:center;max-width:360px;width:100%;padding:2.5rem 2rem}.login-title{font-size:1.4rem;margin:0 0 .5rem}.login-subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.login-error{color:var(--danger);font-size:.85rem;margin:0 0 1rem}.login-btn{width:100%;justify-content:center;font-size:1rem;padding:.75rem 1rem}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.2rem 0;color:var(--text-muted);font-size:.82rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-magic-form{display:grid;gap:.65rem}.login-email-input{text-align:center;font-size:16px}.login-magic-sent p{color:var(--success);background:var(--success-bg);border-radius:12px;padding:.75rem 1rem;font-size:.9rem;margin:0 0 .75rem}.login-lang-toggle{margin-top:1rem}
