@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--brand-700:#74204f;--brand-600:#8b2f63;--brand-500:#a04473;--brand-100:#f7e7f0;--brand-50:#fcf4f8;--canvas:#f7f8fa;--surface:#fff;--surface-subtle:#fafbfc;--surface-hover:#f8f5f7;--text-primary:#18191d;--text-secondary:#626874;--text-tertiary:#9297a1;--text-disabled:#b8bcc4;--border:#e5e7eb;--border-default:#e5e7eb;--border-strong:#d5d8de;--border-subtle:#eceef1;--success:#24836b;--success-strong:#176b57;--success-bg:#edf8f4;--success-border:#bfe4d7;--warning:#b96e12;--warning-bg:#fff6e5;--warning-border:#f0d29c;--danger:#c24962;--danger-bg:#fdf0f3;--danger-border:#f0c1cc;--info:#4e72b8;--info-bg:#eff4fc;--info-border:#c8d6ee;--arrival:#307f8d;--arrival-bg:#edf7f8;--departure:#755aa3;--departure-bg:#f3eff9;--shadow-float:0 6px 18px #17181c17, 0 1px 3px #17181c0d;--shadow-dialog:0 18px 48px #17181c29, 0 3px 10px #17181c0f;--radius:8px;--radius-lg:10px;--control-h:40px;--transition:.15s ease;--bg:var(--canvas);--text:var(--text-primary);--muted:var(--text-secondary);--plum:var(--brand-600);--plum-dark:var(--brand-700);--plum-soft:var(--brand-100);--sage:var(--success);--sage-soft:var(--success-bg);--amber:var(--warning);--amber-soft:var(--warning-bg);--red:var(--danger);--red-soft:var(--danger-bg);--surface-soft:var(--surface-subtle);--shadow:none}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--text-primary);background:var(--canvas);font-family:var(--font-inter), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--brand-600)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);z-index:20;border-right:1px solid #ebecf0;flex-direction:column;height:100vh;padding:16px 12px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-row{align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.logo-mark{border-radius:var(--radius);background:var(--brand-600);color:#fff;letter-spacing:-.02em;place-items:center;width:28px;height:28px;font-size:14px;font-weight:650;display:grid}.brand-name{letter-spacing:-.03em;color:var(--text-primary);font-size:15px;font-weight:600}.wedding-switcher{margin:0 2px 16px;position:relative}.wedding-trigger{border-radius:var(--radius);text-align:left;width:100%;transition:background var(--transition);background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.wedding-trigger:hover{background:var(--surface-subtle)}.wedding-trigger[aria-expanded=true]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);padding:7px}.wedding-trigger .name{letter-spacing:-.01em;color:var(--text-primary);font-size:13px;font-weight:600}.wedding-trigger .meta{color:var(--text-tertiary);margin:2px 0 0;font-size:12px}.wedding-trigger svg{color:var(--text-tertiary);transition:transform var(--transition);flex:none}.wedding-trigger svg.rotated{transform:rotate(180deg)}.wedding-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0}.wedding-option{text-align:left;width:100%;transition:background var(--transition);background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.wedding-option:hover{background:var(--surface-subtle)}.wedding-option.active{background:var(--brand-50);color:var(--brand-700)}.wedding-option strong{font-size:13px;font-weight:600;display:block}.wedding-option span{color:var(--text-tertiary);margin-top:2px;font-size:12px;font-weight:400;display:block}.wedding-option.active span{color:var(--brand-500)}.nav-label{color:var(--text-tertiary);padding:4px 10px 8px;font-size:12px;font-weight:500}.nav-list{flex-direction:column;gap:1px;display:flex}.sidebar-search{margin:0 2px 16px}.sidebar-search .search-trigger{width:100%;min-width:0}.nav-link{border-radius:var(--radius);height:38px;color:var(--text-secondary);transition:background var(--transition), color var(--transition);align-items:center;gap:10px;padding:0 10px 0 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav-link:hover{background:var(--surface-subtle);color:var(--text-primary)}.nav-link.active{color:var(--brand-700);background:#fcf7f9;font-weight:550}.nav-link.active:before{content:"";background:var(--brand-600);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.nav-link svg{stroke-width:1.75px;width:17px;height:17px;color:inherit;opacity:.85;flex-shrink:0}.nav-link.active svg{opacity:1;color:var(--brand-600)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:auto;padding:12px 4px 0;display:flex}.footer-nav{flex-direction:column;gap:1px;margin-bottom:4px;display:flex}.user-card{border-radius:var(--radius);width:100%;transition:background var(--transition);background:0 0;border:0;align-items:center;gap:9px;padding:6px 8px;display:flex}.user-card:hover{background:var(--surface-subtle)}.avatar{background:var(--surface-subtle);width:28px;height:28px;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.avatar.tone-0{color:#4a4e57;background:#f0f1f3}.avatar.tone-1{color:#3d5268;background:#eef2f7}.avatar.tone-2{color:#5a4a52;background:#f3f0f2}.avatar.tone-3{color:#3e5548;background:#f0f3f1}.avatar.tone-4{color:#8a4b3e;background:#f8e8e2}.avatar.tone-5{color:#5d4b87;background:#eee8f8}.avatar.tone-6{color:#2b6a52;background:#e4f1ec}.avatar.tone-7{color:#88602a;background:#f8efdc}.user-card strong{font-size:13px;font-weight:600;display:block}.user-card span{color:var(--text-tertiary);margin-top:1px;font-size:12px;display:block}.main{min-width:0}.topbar{display:none}.search-trigger{border:1px solid var(--border);background:var(--surface);min-width:200px;height:var(--control-h);border-radius:var(--radius);color:var(--text-tertiary);white-space:nowrap;transition:border-color var(--transition), background var(--transition);align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.search-trigger:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.search-trigger kbd{border:1px solid var(--border);color:var(--text-tertiary);background:var(--surface-subtle);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:inherit;font-size:11px}.icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);color:var(--text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-subtle);color:var(--text-primary)}.icon-btn svg{stroke-width:1.75px;width:18px;height:18px}.mobile-menu{display:none}.content{max-width:1440px;margin:0 auto;padding:20px 28px 36px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:26px;font-weight:600;line-height:1.2}.page-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.header-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);height:var(--control-h);min-height:var(--control-h);cursor:pointer;white-space:nowrap;color:var(--text-primary);transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--border-strong)}.btn.primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.btn.danger{color:var(--danger);border-color:var(--border)}.btn.danger:hover:not(:disabled){background:var(--danger-bg);border-color:#e8c5cb}.btn.ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.btn.small{height:30px;min-height:30px;padding:0 10px;font-size:12px}.btn.text{color:var(--brand-600);background:0 0;border:0;height:auto;min-height:0;padding:4px 6px;font-weight:500}.btn.text:hover:not(:disabled){background:var(--brand-50);color:var(--brand-700)}.btn svg{stroke-width:1.75px;width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.card-header h2,.card-header h3{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600}.card-body{padding:16px}.section-title{letter-spacing:-.02em;margin:0 0 12px;font-size:16px;font-weight:600}.muted{color:var(--text-secondary)}.small-text{color:var(--text-tertiary);font-size:12px}.empty-state{color:var(--text-secondary);text-align:center;padding:42px 24px;font-size:13px}.error-state{border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);border:1px solid #ebc9cf;padding:12px 14px;font-size:13px}.metric-grid{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:20px;display:grid;overflow:hidden}.metric{border-right:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:14px 16px}.metric:last-child{border-right:0}.metric .label{color:var(--text-tertiary);margin-bottom:6px;font-size:12px;font-weight:500}.metric .value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:22px;font-weight:600}.metric .hint{color:var(--text-tertiary);margin-top:4px;font-size:12px}.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:16px 18px}.progress-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:13px;display:flex}.progress-head strong{letter-spacing:-.02em;font-size:16px;font-weight:600}.progress-track{background:var(--surface-subtle);border-radius:3px;height:6px;display:flex;overflow:hidden}.progress-attending{background:var(--success);width:66.8%}.progress-declined{background:#c4c7ce;width:9.6%}.progress-awaiting{background:var(--warning);width:15.6%}.progress-review{background:var(--danger);width:8%}.progress-legend{color:var(--text-secondary);flex-wrap:wrap;gap:20px;margin-top:12px;font-size:12px;display:flex}.legend-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:20px;display:grid}.stack{flex-direction:column;gap:20px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel>.card-header{border-bottom:0;padding:14px 16px 0}.panel>.card-body{padding:4px 16px 12px}.issue-row{transition:background var(--transition);border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:1px -10px;padding:12px 10px;display:grid}.issue-icon{width:18px;height:18px;color:var(--text-tertiary);background:0 0;border-radius:0;place-items:center;display:grid}.issue-icon.amber{color:var(--warning);background:0 0}.issue-icon.red{color:var(--danger);background:0 0}.issue-icon.sage{color:var(--success);background:0 0}.issue-row strong{color:var(--text-primary);font-size:13.5px;font-weight:550;display:block}.issue-row span{color:var(--text-tertiary);margin-top:2px;font-size:12px;display:block}.issue-count{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:14px;font-weight:600}.timeline-item{grid-template-columns:48px 18px minmax(0,1fr);gap:12px;min-height:68px;display:grid}.timeline-date{color:var(--text-tertiary);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;padding-top:1px;font-size:12px;display:flex}.timeline-date strong{color:var(--text-primary);letter-spacing:-.02em;font-size:15px;font-weight:600}.timeline-line{flex-direction:column;align-items:center;display:flex}.timeline-dot{border:2px solid var(--brand-600);background:var(--surface);border-radius:50%;width:10px;height:10px;margin-top:4px}.timeline-item:first-child .timeline-dot{background:var(--brand-600)}.timeline-stem{background:var(--border);flex:1;width:1px;margin-top:4px}.timeline-item:last-child .timeline-stem{display:none}.timeline-content{padding:0 0 14px}.timeline-content strong{color:var(--text-primary);font-size:13.5px;font-weight:550}.timeline-content p{color:var(--text-tertiary);margin:3px 0 0;font-size:12px}.timeline-content p+p{color:var(--text-secondary)}.check-row{align-items:center;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.check-row.done{opacity:.62}.check-row.done .check-label{color:var(--text-secondary)}.check-row:not(.done) .check-label{color:var(--text-primary);font-weight:500}.check{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.check.done{background:var(--success-bg);color:var(--success);border-color:#a2d5c0}.activity-item{align-items:flex-start;gap:10px;padding:8px 0;display:flex}.activity-item .activity-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.activity-item p{margin:0;font-size:13px;line-height:1.4}.activity-item time{color:var(--text-tertiary);margin-top:3px;font-size:12px;display:block}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;display:flex}.toolbar-left,.toolbar-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input-wrap{position:relative}.input-wrap svg{width:15px;height:15px;color:var(--text-tertiary);stroke-width:1.75px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:260px;color:var(--text-primary);transition:border-color var(--transition);padding:0 10px 0 32px;font-size:13px}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);outline:none}.input::placeholder{color:var(--text-tertiary)}.views-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.saved-views{flex:1;gap:0;margin-bottom:0;padding-bottom:0;display:flex;overflow-x:auto}.view-tab{color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500}.view-tab:hover{color:var(--text-primary)}.view-tab.active{color:var(--brand-700);border-bottom-color:var(--brand-600);background:0 0;font-weight:550}.filter-chip{border:1px solid var(--brand-100);background:var(--brand-50);color:var(--brand-700);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.view-options{position:relative}.view-options-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);min-width:180px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.view-options-menu button{text-align:left;width:100%;color:var(--text-primary);transition:background var(--transition);background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}.view-options-menu button:hover{background:var(--surface-subtle)}.view-options-menu button.active{color:var(--brand-700);font-weight:550}.table-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.table-meta{border-bottom:1px solid var(--border);min-height:40px;color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.table-scroll{max-height:calc(100vh - 290px);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1380px}th{z-index:3;background:var(--surface);color:var(--text-secondary);text-align:left;letter-spacing:0;border-bottom:1px solid var(--border);white-space:nowrap;border-right:0;height:40px;padding:0 14px;font-size:12px;font-weight:550;position:sticky;top:0}th .th-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;height:100%;padding:0;display:inline-flex}th .th-btn .sort-icon{opacity:0;transition:opacity var(--transition);color:var(--text-tertiary)}th:hover .th-btn .sort-icon,th .th-btn.sorted .sort-icon{opacity:1}td{border-bottom:1px solid var(--border);height:50px;color:var(--text-secondary);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;background:var(--surface);max-width:220px;transition:background var(--transition);border-right:0;padding:0 14px;font-size:13px;overflow:hidden}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#faf7f9}tbody tr.selected td{background:#fcf3f7}tbody tr:hover td.sticky-col{background:#faf7f9}tbody tr.selected td.sticky-col,tbody tr.selected:hover td,tbody tr.selected:hover td.sticky-col{background:#fcf3f7}th:first-child,td:first-child{z-index:3;background:var(--surface);width:42px;min-width:42px;padding-left:14px;padding-right:6px;position:sticky;left:0}th.sticky-col,td.sticky-col{z-index:2;background:var(--surface);position:sticky;left:42px}th:first-child,th.sticky-col{z-index:5;background:var(--surface)}table.density-compact td{height:42px;font-size:12.5px}table.density-compact .guest-cell strong{font-size:12.5px}table.density-compact .avatar{width:24px;height:24px;font-size:10px}.guest-cell{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:180px;max-width:100%;padding:0;display:flex}.primary-guest-cell{align-items:center;min-width:230px;display:flex}.disclosure-btn{width:24px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;display:grid}.disclosure-btn:hover{background:var(--surface-subtle);color:var(--text-primary)}.disclosure-spacer{flex:none;width:24px}.party-cell,.travel-cell{gap:2px;min-width:150px;display:grid}.party-cell strong,.travel-cell strong{color:var(--text-primary);font-size:12.5px;font-weight:550}.party-cell span,.travel-cell span{color:var(--text-tertiary);text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.travel-cell{min-width:168px;max-width:205px}.hotel-room-cell{min-width:165px;color:var(--text-secondary);display:block}.side-label{text-transform:capitalize;color:var(--text-secondary)}.guest-cell .avatar{width:28px;height:28px;font-size:10px}.guest-cell strong{color:var(--text-primary);text-overflow:ellipsis;font-size:13.5px;font-weight:550;display:block;overflow:hidden}.guest-cell span{color:var(--text-tertiary);margin-top:1px;font-size:12px;display:block}.status{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.status:before{content:"";background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.status.not-responded:before{background:#9ca1aa}.status.badge{background:var(--danger-bg);color:var(--danger);border-radius:999px;padding:2px 8px;font-size:12px}.status.badge:before{display:none}.tag{border:1px solid var(--border);color:var(--text-secondary);background:#fbfbfc;border-radius:4px;margin-right:4px;padding:2px 6px;font-size:11.5px;font-weight:500;display:inline-block}.tag-more{color:var(--text-tertiary);font-size:12px;font-weight:500}.completeness{font-size:13px}.completeness.conflict{color:var(--danger);font-weight:550}.completeness.missing-details{color:var(--warning)}.bulk-bar{z-index:25;background:var(--text-primary);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);align-items:center;gap:6px;padding:8px 10px;display:flex;position:fixed;bottom:20px;left:calc(240px + 50%);transform:translate(-50%)}.bulk-bar .btn{color:#fff;background:0 0;border-color:#fff3;height:32px;min-height:32px}.bulk-bar .btn:hover:not(:disabled){background:#ffffff1a}.bulk-count{padding:0 8px;font-size:13px;font-weight:550}.filter-popover{position:relative}.tag-filter-menu{z-index:15;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:190px;max-height:320px;box-shadow:var(--shadow-float);padding:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.tag-filter-menu strong{color:var(--text-tertiary);padding:3px 4px 7px;font-size:12px;display:block}.tag-filter-menu label,.column-option{color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:6px 4px;font-size:12px;display:flex}.settings-label{color:var(--text-tertiary);padding:8px 10px 3px;font-size:11px;font-weight:550}.column-settings{min-width:210px}.household-children td{white-space:normal;background:#fcfbfc;height:auto;padding:0}.household-children td:first-child{z-index:auto;width:auto;min-width:0;padding:0;position:static;left:auto}.household-children:hover td,.household-child-row td,.household-child-row td.sticky-col{background:#fcfbfc}.household-child-row:hover td,.household-child-row:hover td.sticky-col{background:#f7f5f7}.household-child-row.placeholder td,.household-child-row.placeholder td.sticky-col{background:#fffcf5}.household-child-row.placeholder:hover td,.household-child-row.placeholder:hover td.sticky-col{background:#fff9ee}.member-tree-cell{padding:0!important}.member-tree-cell .member-indent{height:50px;display:block}.household-child-head{border-bottom:1px solid var(--border);min-height:42px;color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px 8px 72px;font-size:12px;display:flex}.household-child-head .btn+.btn{margin-left:6px}.household-child-actions{border-bottom:1px solid var(--border);justify-content:flex-end;gap:6px;padding:8px 14px;display:flex}.household-member{border-bottom:1px solid var(--border);grid-template-columns:42px 220px 178px 72px 220px 82px 196px 196px 220px 66px;align-items:center;gap:0;min-height:50px;padding:0;font-size:12.5px;display:grid}.household-member:last-child{border-bottom:0}.household-member>*{min-width:0;padding:0 14px}.household-member>.member-indent{padding:0}.household-member>:nth-child(2){z-index:2;background:#fcfbfc;position:sticky;left:42px}.household-member.placeholder>:nth-child(2){background:#fffcf5}.household-member>:last-child{padding:0}.household-member strong{color:var(--text-primary);font-weight:550;display:block}.household-member span{color:var(--text-tertiary)}.household-member-name{text-align:left;cursor:pointer;background:0 0;border:0;padding:0 14px;display:block}.household-member-name:hover strong{color:var(--brand-700)}.member-indent{height:100%;position:relative}.member-indent:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:15px}.member-indent:after{content:"";background:var(--border);width:14px;height:1px;position:absolute;top:50%;left:15px}.household-member.placeholder{background:#fffcf5}.household-member.placeholder .button-row{white-space:nowrap;display:block}.household-member.placeholder .button-row .btn{min-height:28px;padding:0 7px;font-size:11px}.overlay{z-index:40;background:#17181c47;animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--surface);z-index:41;width:min(720px,88vw);box-shadow:var(--shadow-dialog);flex-direction:column;animation:.16s slide;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.drawer-head h2{letter-spacing:-.02em;margin:0 0 4px;font-size:20px;font-weight:600}.drawer-head p{color:var(--text-secondary);margin:0;font-size:13px}.primary-contact-label{color:var(--brand-700);align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:550;display:inline-flex}.drawer-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 14px;display:flex;overflow-x:auto}.drawer-tab{color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 10px 10px;font-size:13px}.drawer-tab.active{color:var(--brand-700);border-color:var(--brand-600);font-weight:550}.drawer-body{padding:20px;overflow-y:auto}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px}.detail-section.full{grid-column:1/-1}.detail-section h3{color:var(--text-tertiary);text-transform:none;letter-spacing:0;margin:0 0 12px;font-size:12px;font-weight:550}.detail-row{border-bottom:1px solid var(--border);grid-template-columns:112px minmax(0,1fr);gap:10px;padding:8px 0;font-size:13px;display:grid}.detail-row:last-child{border-bottom:0}.detail-row .label{color:var(--text-tertiary)}.note-editor{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;min-height:90px;padding:10px;font-size:13px;line-height:1.45}.event-rsvp{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 95px 90px;align-items:center;gap:10px;padding:10px 0;display:grid}.event-rsvp:last-child{border-bottom:0}.event-rsvp strong{font-size:13px}.select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;height:32px;padding:0 8px;font-size:13px}.audit{border-radius:var(--radius);background:var(--success-bg);color:var(--success);margin-top:12px;padding:10px 12px;font-size:12px}.tag-group{border-bottom:1px solid var(--border);grid-template-columns:100px minmax(0,1fr);gap:8px;padding:7px 0;font-size:12px;display:grid}.tag-group:last-child{border-bottom:0}.tag-group>span{color:var(--text-tertiary)}.extraction-card{border-radius:var(--radius);background:#fffcf4;border:1px solid #e7d7ac;gap:7px;margin-top:12px;padding:10px;font-size:12px;display:grid}.extraction-card strong{color:var(--text-primary)}.activity-history>div{border-bottom:1px solid var(--border);gap:2px;padding:8px 0;font-size:12px;display:grid}.activity-history>div:last-child{border-bottom:0}.activity-history time{color:var(--text-tertiary)}.vendor-modal{z-index:42;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(720px,100vw - 32px);box-shadow:var(--shadow-dialog);position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.vendor-form{grid-template-columns:1fr 1fr;gap:14px;padding:18px;display:grid}.vendor-form>label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:550;display:grid}.vendor-form .full-field{grid-column:1/-1}.event-checks{flex-wrap:wrap;gap:8px 12px;padding:2px 0;display:flex}.event-checks label{color:var(--text-secondary);font-size:12px;font-weight:400}.modal-shell{z-index:42;background:var(--surface);box-shadow:var(--shadow-dialog);border-radius:12px;grid-template-columns:220px minmax(0,1fr);display:grid;position:fixed;inset:18px;overflow:hidden}.modal-side{background:var(--surface-subtle);border-right:1px solid var(--border);padding:20px}.modal-side h2{letter-spacing:-.02em;margin:0 0 5px;font-size:18px;font-weight:600}.modal-side p{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.5}.step{color:var(--text-tertiary);align-items:center;gap:9px;padding:8px 0;font-size:13px;display:flex}.step-index{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.step.active{color:var(--brand-700);font-weight:550}.step.active .step-index{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.step.done .step-index{background:var(--success);border-color:var(--success);color:#fff}.modal-main{flex-direction:column;min-width:0;display:flex}.modal-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;padding:12px 18px;display:flex}.modal-top h3{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600}.modal-content{flex:1;padding:28px;overflow-y:auto}.modal-content-inner{max-width:900px;margin:0 auto}.modal-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.dropzone{border:1px dashed var(--border-strong);background:var(--surface-subtle);border-radius:var(--radius-lg);text-align:center;place-items:center;min-height:200px;padding:28px;display:grid}.drop-icon{border-radius:var(--radius);background:var(--brand-50);width:40px;height:40px;color:var(--brand-600);place-items:center;margin:0 auto 12px;display:grid}.dropzone h3{margin:0 0 5px;font-size:16px;font-weight:600}.dropzone p{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.mapping-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.mapping-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 50px 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.mapping-row:last-child{border-bottom:0}.mapping-row.header{background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;font-weight:550}.issue-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.issue-summary{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.issue-summary strong{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:18px;display:block}.issue-summary span{color:var(--text-secondary);font-size:12px}.duplicate-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.duplicate-head{background:var(--warning-bg);justify-content:space-between;padding:10px 12px;font-size:13px;display:flex}.compare-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.compare-side{padding:14px}.compare-side+.compare-side{border-left:1px solid var(--border)}.compare-side h4{margin:0 0 10px}.result-summary{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.result-box{text-align:center;border:1px solid var(--border);border-radius:var(--radius);padding:18px 10px}.result-box strong{font-variant-numeric:tabular-nums;font-size:24px;display:block}.result-box span{color:var(--text-secondary);font-size:12px}.success-state{text-align:center;max-width:540px;margin:30px auto}.success-icon{background:var(--success-bg);width:52px;height:52px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.builder-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.builder-section{margin-bottom:12px;padding:16px}.builder-section h2{margin:0 0 4px;font-size:16px;font-weight:600}.builder-section>p{color:var(--text-secondary);margin:0 0 14px;font-size:13px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:8px;padding:10px;font-size:12px;display:flex}.choice strong{margin-bottom:2px;font-size:13px;display:block}.message-editor{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;min-height:130px;padding:11px;font-size:14px;line-height:1.5}.phone-preview{background:var(--surface-subtle);border:1px solid var(--border);box-shadow:none;border-radius:16px;padding:12px;position:sticky;top:68px}.phone-head{background:#e8e9ec;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:9px 10px;display:flex}.phone-body{background:#ececef;border-radius:0 0 10px 10px;min-height:320px;padding:18px 12px}.whatsapp-bubble{background:#fff;border-radius:8px 8px 8px 2px;max-width:90%;padding:10px;font-size:13px;line-height:1.5;box-shadow:0 1px 2px #0000000a}.quick-reply{border-top:1px solid var(--border);color:var(--info);text-align:center;margin-top:5px;padding:7px 0 0;font-weight:550}.preview-switcher{gap:4px;margin-bottom:9px;display:flex}.comms-shell{grid-template-columns:280px minmax(380px,1fr) 300px;height:calc(100vh - 100px);min-height:600px;display:grid;overflow:hidden}.comms-left,.comms-center,.comms-right{min-width:0}.comms-left{border-right:1px solid var(--border);flex-direction:column;display:flex}.comms-right{border-left:1px solid var(--border);overflow-y:auto}.comms-nav{border-bottom:1px solid var(--border);gap:2px;padding:10px;display:flex;overflow-x:auto}.comms-nav button{color:var(--text-secondary);white-space:nowrap;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500}.comms-nav button:hover{background:var(--surface-subtle);color:var(--text-primary)}.comms-nav button.active{background:var(--brand-50);color:var(--brand-700)}.conversation-list{overflow-y:auto}.conversation-item{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;width:100%;transition:background var(--transition);background:0 0;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;padding:12px;display:grid}.conversation-item:hover{background:var(--surface-subtle)}.conversation-item.active{background:var(--brand-50)}.conversation-item strong{font-size:13px;font-weight:550}.conversation-item p{text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);margin:3px 0 0;font-size:12px;overflow:hidden}.conversation-item time{color:var(--text-tertiary);font-size:11px}.unread-dot{background:var(--brand-600);border-radius:50%;width:7px;height:7px;margin-top:5px;margin-left:auto}.comms-center{flex-direction:column;display:flex}.conversation-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;padding:10px 14px;display:flex}.conversation-head strong{font-size:14px;font-weight:600}.conversation-head span{color:var(--text-tertiary);margin-top:2px;font-size:12px;display:block}.messages{background:var(--canvas);flex:1;padding:18px;overflow-y:auto}.message-row{margin-bottom:10px;display:flex}.message-row.out{justify-content:flex-end}.message-row.note{justify-content:center}.message{border-radius:var(--radius);border:1px solid var(--border);background:#fff;max-width:72%;padding:9px 10px 6px;font-size:13px;line-height:1.5}.message-row.note .message{background:var(--surface-subtle);color:var(--text-secondary);border:0;max-width:90%;font-style:italic}.message-meta{color:var(--text-tertiary);text-align:right;margin-top:3px;font-size:11px}.suggestion-card{background:var(--warning-bg);border-radius:var(--radius);border:1px solid #e8d4a8;max-width:92%;margin:4px auto 12px;padding:12px}.suggestion-card h4{margin:0 0 4px;font-size:13px;font-weight:600}.suggestion-card p{color:#7a6230;margin:0 0 9px;font-size:12px}.composer{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.composer input{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);padding:0 10px;font-size:13px}.context-section{border-bottom:1px solid var(--border);padding:14px}.context-section h3{color:var(--text-tertiary);margin:0 0 10px;font-size:12px;font-weight:550}.context-row{justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.context-row span:first-child{color:var(--text-tertiary)}.summary-strip{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:16px;display:grid;overflow:hidden}.summary-item{background:var(--surface);border-right:1px solid var(--border);padding:14px 16px}.summary-item:last-child{border-right:0}.summary-item strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;display:block}.summary-item span{color:var(--text-tertiary);font-size:12px}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--text-secondary);white-space:nowrap;transition:color var(--transition), border-color var(--transition);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--brand-700);border-color:var(--brand-600);font-weight:550}.ops-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.issue-panel{position:sticky;top:68px}.ops-issue{border-bottom:1px solid var(--border);padding:14px 16px}.ops-issue:last-child{border-bottom:0}.ops-issue h4{margin:0 0 4px;font-size:13.5px;font-weight:550}.ops-issue p{color:var(--text-secondary);margin:0 0 9px;font-size:12px;line-height:1.45}.hotel-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px;overflow:hidden}.hotel-head{background:var(--surface-subtle);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.hotel-room{border-top:1px solid var(--border);grid-template-columns:100px 1fr 90px 90px;gap:10px;padding:10px 14px;font-size:13px;display:grid}.travel-schedule{min-width:0}.travel-head{justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 20px;display:flex}.travel-head h1{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:26px;font-weight:600;line-height:1.2}.travel-head p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.travel-section-nav{border-bottom:1px solid var(--border);gap:0;margin-bottom:16px;display:flex;overflow-x:auto}.travel-section-nav button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500}.travel-section-nav button.active{color:var(--brand-700);border-color:var(--brand-600);font-weight:550}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:28px;color:var(--text-secondary);background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:550;display:inline-flex}.segmented button svg{width:14px;height:14px}.segmented button.selected{background:var(--surface-subtle);color:var(--text-primary);box-shadow:0 1px 2px #0000000f}.travel-toolbar{justify-content:space-between;align-items:center;gap:10px;width:calc(100% - 374px);margin-bottom:10px;display:flex}.date-controls,.toolbar-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-controls strong{text-align:center;min-width:130px;font-size:13px}.travel-search{width:240px;min-width:210px}.travel-filter-menu button{text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;width:100%;padding:7px 5px;font-size:12px;display:flex}.travel-filter-menu button:hover{background:var(--surface-subtle)}.travel-filter-menu button svg{width:13px;color:var(--success)}.active-filter{border:1px solid var(--brand-100);background:var(--brand-50);color:var(--brand-700);border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 6px 4px 9px;font-size:12px;display:inline-flex}.active-filter button{color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.active-filter svg{width:14px}.travel-summary{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(6,minmax(100px,1fr));margin-bottom:12px;display:grid;overflow:hidden}.travel-summary>div,.travel-summary>button{border:0;border-right:1px solid var(--border);background:var(--surface);text-align:left;min-height:62px;padding:10px 12px}.travel-summary>:last-child{border-right:0}.travel-summary>button:hover{background:var(--surface-subtle)}.travel-summary strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:18px;display:block}.travel-summary span{color:var(--text-tertiary);font-size:11.5px;display:block}.travel-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start;gap:14px;display:grid}.travel-calendar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;height:calc(100vh - 178px);overflow:auto}.calendar-head{z-index:5;border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:48px repeat(3,minmax(220px,1fr));min-width:708px;display:grid;position:sticky;top:0}.calendar-head>div{border-right:1px solid var(--border);color:var(--text-tertiary);padding:8px 10px;font-size:10px}.calendar-head strong,.calendar-head span{display:block}.calendar-head strong{color:var(--text-primary);font-size:12px}.calendar-head span{margin-top:1px}.calendar-scroll{background:repeating-linear-gradient(to bottom, transparent 0, transparent 33px, var(--border) 34px);grid-template-columns:48px repeat(3,minmax(220px,1fr));min-width:708px;height:782px;display:grid;position:relative}.time-axis{z-index:3;background:var(--surface);border-right:1px solid var(--border);grid-template-rows:repeat(8,102px);align-self:start;height:782px;display:grid;position:sticky;top:0;left:0}.time-axis span{color:var(--text-tertiary);padding:2px 6px;font-size:9px}.day-column{border-right:1px solid var(--border);min-width:220px;position:relative}.calendar-head>:last-child,.day-column:last-child{border-right:0}.movement-block{z-index:1;border:1px solid var(--border);text-align:left;width:47%;min-height:74px;color:var(--text-primary);background:#f2f8fa;border-left:3px solid #39788b;border-radius:6px;padding:6px 7px;position:absolute;overflow:hidden}.movement-block.departure{background:#f7f3f8;border-left-color:#775a83}.movement-block.missing_info{min-height:82px}.movement-block.conflict{border-bottom-color:#e4b5bd}.movement-block:hover{z-index:2;border-color:var(--border-strong);box-shadow:var(--shadow-float)}.movement-block>*{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.movement-kind{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;justify-content:flex-start;align-items:center;gap:3px;font-size:8.5px;font-weight:650;display:flex}.movement-kind svg{width:10px;height:10px}.movement-warning{width:12px;color:var(--warning);position:absolute;top:7px;right:7px}.movement-block strong{margin-top:2px;font-size:10.5px}.movement-block>span:not(.movement-kind),.movement-block small{color:var(--text-secondary);margin-top:1px;font-size:9px}.movement-block small{color:var(--text-tertiary)}.grouped-list section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:18px;overflow:hidden}.grouped-list h2{border-bottom:1px solid var(--border);margin:0;padding:10px 13px;font-size:13px}.movement-row{border:0;border-bottom:1px solid var(--border);background:var(--surface);text-align:left;grid-template-columns:22px 48px minmax(180px,1.6fr) minmax(90px,.6fr) minmax(140px,.8fr) 100px 16px;align-items:center;gap:10px;width:100%;padding:10px 13px;font-size:12px;display:grid}.movement-row:last-child{border-bottom:0}.movement-row:hover{background:var(--surface-subtle)}.movement-row div b,.movement-row div span{display:block}.movement-row div span,.movement-row>span{color:var(--text-secondary);font-size:11px}.direction-mark{color:#39788b}.direction-mark.departure{color:#775a83}.direction-mark svg{width:16px}.movement-status{text-transform:capitalize}.movement-status.missing_info{color:var(--warning)}.movement-status.conflict{color:var(--danger)}.movement-status.confirmed{color:var(--success)}.drawer-direction{color:#39788b;text-transform:uppercase;align-items:center;gap:4px;margin-bottom:5px;font-size:11px;font-weight:600;display:inline-flex}.drawer-direction.departure{color:#775a83}.drawer-direction svg{width:14px}.journey-household{border-top:1px solid var(--border)}.journey-household>button{text-align:left;background:0 0;border:0;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;width:100%;padding:9px 0;display:grid}.journey-household button svg{width:15px}.journey-household button svg.rotated{transform:rotate(90deg)}.journey-household b,.journey-household small{display:block}.journey-household small{color:var(--text-tertiary);font-size:11px}.household-members{border-left:1px solid var(--border);margin:0 0 8px 26px}.household-members>span{color:var(--text-secondary);justify-content:space-between;padding:5px 8px;font-size:12px;display:flex}.transport-plan{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.transport-plan div{border:1px solid var(--border);border-radius:6px;padding:8px}.transport-plan span,.transport-plan b{display:block}.transport-plan span{color:var(--text-tertiary);font-size:11px}.transport-plan b{margin-top:2px;font-size:12px}.travel-issue{background:#fffdf8;border-color:#ead2a4;align-items:center;gap:9px;display:flex}.travel-issue>svg{color:var(--warning);flex:none}.travel-issue p{color:var(--text-secondary);margin:2px 0 0;font-size:12px}.travel-issue .btn{margin-left:auto}.edit-movement .select{width:100%}.movement-drawer .drawer-head{padding:18px 18px 14px}.movement-drawer .drawer-head h2{font-size:18px}.movement-drawer .drawer-body{padding:0 18px 18px}.movement-drawer .detail-grid{display:block}.movement-drawer .detail-section{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px 0}.movement-drawer .detail-section h3{color:var(--text-primary);margin-bottom:10px;font-size:12px}.movement-drawer .detail-row{grid-template-columns:108px minmax(0,1fr);padding:7px 0;font-size:12px}.movement-drawer .journey-household{border:1px solid var(--border);border-radius:7px;margin-bottom:5px;padding:0 9px}.movement-drawer .journey-household>button{padding:8px 0}.movement-drawer .transport-plan{display:block}.movement-drawer .transport-plan>div{border-color:var(--border);background:var(--surface-subtle);padding:11px 12px}.movement-drawer .transport-plan>div:not(:first-child){display:none}.movement-drawer .transport-plan span{color:var(--success);font-weight:600}.movement-drawer .transport-plan b{font-size:13px}.movement-drawer .detail-section:has(.transport-plan) h3:after{content:"Recommended";float:right;background:var(--success-bg);color:var(--success);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600}.movement-drawer{width:min(360px,92vw)}.movement-drawer-head{padding:20px 20px 14px}.movement-drawer-head h2{margin:4px 0 5px;font-size:20px}.movement-drawer-head .icon-btn{margin-top:2px}.movement-drawer-body{padding:0 20px 22px}.movement-route{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:10px;padding:16px 0;display:grid}.movement-route>div{align-items:flex-start;gap:6px;min-width:0;display:flex}.movement-route>svg{width:16px;color:var(--text-tertiary)}.movement-route>div>svg{width:15px;color:var(--text-tertiary);flex:none;margin-top:2px}.movement-route b,.movement-route small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.movement-route b{font-size:12px;font-weight:600}.movement-route small{color:var(--text-tertiary);margin-top:2px;font-size:10px}.movement-section{border-bottom:1px solid var(--border);padding:16px 0}.movement-section h3{margin:0;font-size:12px;font-weight:600}.movement-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.movement-section-head h3 span{background:var(--surface-subtle);min-width:17px;color:var(--text-tertiary);border-radius:9px;place-items:center;margin-left:4px;font-size:10px;display:inline-grid}.movement-section-head button{color:var(--brand-700);background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.movement-section-head button svg{width:14px;height:14px}.movement-household{border:1px solid var(--border);border-radius:7px;margin-bottom:5px;overflow:hidden}.movement-household:last-child{margin-bottom:0}.movement-household>button{background:var(--surface);text-align:left;border:0;justify-content:space-between;align-items:center;width:100%;padding:10px 11px;display:flex}.movement-household b,.movement-household small{display:block}.movement-household b{font-size:12px;font-weight:600}.movement-household small{color:var(--text-tertiary);margin-top:2px;font-size:11px}.movement-household>button>svg{width:15px;color:var(--text-tertiary);transition:transform var(--transition)}.movement-household>button>svg.rotated{transform:rotate(90deg)}.movement-household .household-members{border-left:1px solid var(--border);margin:0 11px 8px;padding:5px 8px}.movement-household .household-members>span{color:var(--text-secondary);padding:3px 0;font-size:11px;display:block}.movement-empty,.movement-notes p{color:var(--text-tertiary);margin:0;font-size:11px}.vehicle-suggestion{border:1px solid var(--border);background:var(--surface-subtle);border-radius:7px;padding:12px}.vehicle-suggestion span,.vehicle-suggestion small{display:block}.vehicle-suggestion span{color:var(--text-primary);font-size:13px;font-weight:600}.vehicle-suggestion small{color:var(--text-secondary);margin-top:3px;font-size:11px}.recommendation-badge{background:var(--success-bg);color:var(--success);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:600}.pickup-detail{grid-template-columns:16px minmax(0,1fr) 14px;align-items:center;gap:8px;margin-top:10px;display:grid}.pickup-detail>svg{width:15px;color:var(--text-tertiary)}.pickup-detail b,.pickup-detail small{display:block}.pickup-detail b{font-size:12px;font-weight:550}.pickup-detail small{color:var(--text-tertiary);margin-top:2px;font-size:10px}.movement-actions{grid-template-columns:1fr 1fr;gap:8px;padding:16px 0 0;display:grid}.movement-actions .btn{min-width:0;padding:0 8px}.movement-actions .btn:last-child{color:var(--success);border-color:#a9c8bb}.movement-issue{background:var(--warning-bg);color:#7a6230;border:1px solid #e8d4a8;border-radius:7px;gap:7px;margin-top:14px;padding:9px;font-size:11px;display:flex}.movement-issue svg{flex:none;width:14px}.movement-panel{z-index:1;border:1px solid var(--border);border-radius:var(--radius-lg);width:auto;max-height:calc(100vh - 40px);margin-top:-46px;animation:none;position:sticky;top:20px;bottom:auto;right:auto;overflow:hidden;box-shadow:none!important}.movement-panel .movement-drawer-body{flex:1;min-height:0;overflow-y:auto}.wedding-setup{max-width:980px}.setup-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:16px;display:flex;overflow-x:auto}.setup-tabs button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500}.setup-tabs button.active{color:var(--brand-700);border-color:var(--brand-600);font-weight:550}.setup-tabs span{background:var(--surface-subtle);min-width:18px;color:var(--text-tertiary);border-radius:10px;place-items:center;margin-left:4px;font-size:10px;display:inline-grid}.setup-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.setup-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 16px;display:flex}.setup-section-head h2{letter-spacing:-.02em;margin:0;font-size:16px}.setup-section-head p{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.setup-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:2px 16px 12px;display:grid}.setup-form label{border-bottom:1px solid var(--border);color:var(--text-tertiary);gap:4px;padding:11px 0;font-size:11px;font-weight:550;display:grid}.setup-form label:nth-last-child(2),.setup-form label:nth-last-child(3){border-bottom:0}.setup-form strong{color:var(--text-primary);font-size:13px;font-weight:500}.setup-form .full-field{border-bottom:0;grid-column:1/-1}.setup-hint{border-top:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);margin:0;padding:10px 16px;font-size:12px}.host-head,.host-row{grid-template-columns:minmax(160px,1.1fr) minmax(170px,1.1fr) 90px minmax(140px,.9fr) 72px;align-items:center;gap:12px;padding:10px 16px;display:grid}.host-head{background:var(--surface-subtle);color:var(--text-tertiary);font-size:11px;font-weight:550}.host-row{border-top:1px solid var(--border);font-size:12px}.host-row>div:first-child strong{color:var(--text-primary);font-size:13px;font-weight:550;display:block}.host-row input{width:100%;color:var(--text-secondary);background:0 0;border:0;padding:2px 0;font-size:12px}.host-row input:focus{border-bottom:1px solid var(--brand-500);outline:0}.host-status{color:var(--success);font-size:12px}.host-status.invited{color:var(--warning)}.event-timeline{padding:4px 16px 12px}.setup-event{border-bottom:1px solid var(--border);grid-template-columns:50px 18px minmax(0,1fr) 88px;gap:10px;padding:14px 0;display:grid}.setup-event:last-child{border-bottom:0}.setup-event time{color:var(--text-tertiary);text-align:right;font-size:11px}.setup-event time strong,.setup-event time span{display:block}.setup-event time strong{color:var(--text-primary);font-size:16px}.event-line{justify-content:center;display:flex;position:relative}.event-line:before{content:"";background:var(--border);width:1px;position:absolute;top:14px;bottom:-15px}.setup-event:last-child .event-line:before{display:none}.event-line i{border:2px solid var(--brand-600);background:var(--surface);z-index:1;border-radius:50%;width:9px;height:9px;margin-top:5px}.event-main input[aria-label=Event\ name]{width:100%;color:var(--text-primary);background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.event-main input[aria-label=Event\ name]:focus{border-bottom:1px solid var(--brand-500);outline:0}.event-main p{color:var(--text-secondary);margin:3px 0 7px;font-size:12px}.event-options{flex-wrap:wrap;gap:10px;display:flex}.event-options label{color:var(--text-tertiary);align-items:center;gap:4px;font-size:11px;display:flex}.event-actions{justify-content:flex-end;display:flex}.event-actions .icon-btn{width:26px;height:26px}.event-actions svg{width:14px}.deadline-list{padding:8px 16px 14px}.deadline-list label{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:12px;padding:9px 0;display:grid}.deadline-list label:last-child{border-bottom:0}.deadline-list input{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-primary);border-radius:6px;padding:0 8px;font-size:12px}.deadline-list input:first-child{border-color:#0000;padding-left:0;font-weight:550}.deadline-list input:first-child:focus{border-color:var(--brand-500);padding-left:8px}@media (max-width:700px){.setup-form{grid-template-columns:1fr}.host-head{display:none}.host-row{grid-template-columns:1fr;gap:5px}.host-row>.button-row{position:absolute;right:20px}.setup-event{grid-template-columns:40px 14px minmax(0,1fr)}.event-actions{grid-column:3;justify-content:flex-start}.deadline-list label{grid-template-columns:1fr;gap:5px}}.event-summary{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.event-summary span{gap:3px;display:grid}.event-summary b{color:var(--text-primary);font-size:14px}.event-summary small{color:var(--text-secondary);font-size:12px}.event-summary>svg{width:16px;color:var(--text-tertiary);transition:transform var(--transition)}.setup-event.expanded .event-summary>svg{transform:rotate(180deg)}.event-details{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:12px;padding:11px;display:grid}.event-details label{color:var(--text-tertiary);gap:4px;font-size:11px;font-weight:550;display:grid}.event-details input,.event-details textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:5px;padding:6px 7px;font-size:12px}.event-details textarea{resize:vertical;min-height:58px}.event-details .full-field{grid-column:1/-1}.event-detail-meta{color:var(--text-secondary);grid-column:1/-1;font-size:11px}.event-detail-head{grid-column:1/-1;justify-content:space-between;align-items:center;padding-bottom:3px;display:flex}.event-detail-head strong{font-size:12px}.event-detail-head .btn{height:28px;min-height:28px}.event-details>div:not(.event-detail-head):not(.event-detail-meta){gap:3px;display:grid}.event-details>div:not(.event-detail-head):not(.event-detail-meta) span{color:var(--text-tertiary);font-size:11px}.event-details>div:not(.event-detail-head):not(.event-detail-meta) b{color:var(--text-primary);font-size:12px;font-weight:500}@media (max-width:900px){.travel-head,.travel-toolbar{flex-direction:column;align-items:flex-start}.travel-toolbar{width:100%}.travel-summary{grid-template-columns:repeat(3,1fr)}.travel-summary>:nth-child(3){border-right:0}.direction-control{width:100%}.direction-control button{flex:1;justify-content:center}.travel-workspace{grid-template-columns:1fr}.movement-panel{max-height:none;margin-top:0;position:static}.movement-row{grid-template-columns:22px 45px minmax(150px,1fr) 85px}.movement-row>span:nth-of-type(2),.movement-row>span:nth-of-type(3),.movement-row>svg{display:none}}.hotel-workspace{min-width:0}.hotel-summary{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(5,minmax(110px,1fr));margin-bottom:12px;display:grid;overflow:hidden}.hotel-summary>div,.hotel-summary>button{border:0;border-right:1px solid var(--border);background:var(--surface);text-align:left;min-width:0;min-height:66px;padding:11px 13px}.hotel-summary>:last-child{border-right:0}.hotel-summary>button:hover{background:var(--surface-subtle)}.hotel-summary>button.exception{background:#fffafb}.hotel-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:19px;font-weight:620;line-height:1.25;display:block}.hotel-summary span{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11.5px;display:block;overflow:hidden}.hotel-summary .exception strong{color:var(--danger)}.hotel-workspace-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.hotel-tabs{min-width:0;display:flex;overflow-x:auto}.hotel-tabs button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.hotel-tabs button:hover{color:var(--text-primary)}.hotel-tabs button.active{border-bottom-color:var(--brand-600);color:var(--brand-700);font-weight:600}.hotel-tabs button span{background:var(--surface-subtle);min-width:20px;color:var(--text-tertiary);text-align:center;border-radius:10px;padding:1px 5px;font-size:10.5px}.hotel-workspace-toolbar>.button-row{flex-wrap:nowrap;padding-bottom:7px}.selection-banner{border-radius:var(--radius);background:var(--brand-50);color:var(--brand-700);border:1px solid #d9bfd0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 10px;font-size:12px;display:flex}.selection-banner>span{align-items:center;gap:6px;display:flex}.selection-banner button{color:inherit;background:0 0;border:0;place-items:center;padding:3px;display:grid}.room-assignment-layout{grid-template-columns:minmax(620px,1fr) 354px;align-items:start;gap:14px;display:grid}.active-hotel-head{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:flex-end;gap:20px;min-height:76px;margin-bottom:10px;padding:12px 14px;display:flex}.eyebrow{color:var(--text-tertiary);letter-spacing:.07em;text-transform:uppercase;margin:0 0 3px;font-size:10.5px;font-weight:650}.active-hotel-head h2,.unassigned-head h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:620}.active-hotel-head>div>p:last-child{color:var(--text-secondary);margin:3px 0 0;font-size:11.5px}.hotel-contact{text-align:right;flex:none}.hotel-contact strong,.hotel-contact span{font-size:11.5px;display:block}.hotel-contact strong{font-weight:550}.hotel-contact span{color:var(--text-tertiary);margin-top:2px}.room-category{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px;overflow:hidden}.room-category-head{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 10px;display:flex}.category-toggle{text-align:left;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:2px;display:flex}.category-toggle>svg{width:16px;color:var(--text-tertiary)}.category-toggle strong,.category-toggle small{display:block}.category-toggle strong{font-size:13px;font-weight:610}.category-toggle small{max-width:520px;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;font-weight:400;overflow:hidden}.category-capacity{flex:none;align-items:center;gap:8px;display:flex}.category-capacity>span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10.5px}.category-capacity>div{background:#e7e8eb;border-radius:2px;width:62px;height:4px;overflow:hidden}.category-capacity>div i{background:var(--success);height:100%;display:block}.room-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:7px;padding:8px;display:grid}.room-block{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:154px;transition:border-color var(--transition), background var(--transition);border-radius:6px;padding:9px;position:relative}.room-block.partial{border-color:#cdd8d3}.room-block.full{background:#fcfefd;border-color:#a9c8bb}.room-block.over,.room-block.conflict{background:#fffafb;border-color:#e2b9c0}.room-block.locked{border-color:var(--border-strong);background:#fafafa}.room-block.unavailable{opacity:.68;background:#f4f4f5}.room-block.drop-ready{border-style:dashed;border-color:var(--brand-500)}.room-block.drop-ready:hover{background:var(--brand-50);border-style:solid}.room-block-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.room-label-wrap{align-items:center;gap:4px;min-width:0;display:flex}.room-label-wrap strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:620;overflow:hidden}.room-label-wrap button,.room-actions button{width:20px;height:20px;color:var(--text-tertiary);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.room-label-wrap button{opacity:0}.room-block:hover .room-label-wrap button,.room-label-wrap button:focus-visible{opacity:1}.room-label-wrap svg,.room-actions svg{width:12px;height:12px}.room-actions{color:var(--text-tertiary);align-items:center;gap:1px;display:flex}.room-actions>svg{color:var(--success);margin:0 2px}.room-block.over .room-actions>svg,.room-block.conflict .room-actions>svg{color:var(--danger)}.room-actions button:hover,.room-label-wrap button:hover{color:var(--text-primary);background:#ededf0}.room-label-input{border:1px solid var(--brand-500);border-radius:4px;outline:0;width:110px;height:24px;padding:0 5px;font-size:12px}.room-meta{color:var(--text-tertiary);justify-content:space-between;gap:8px;margin-top:5px;font-size:10.5px;display:flex}.capacity-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.room-block.over .capacity-count,.room-block.conflict .capacity-count{color:var(--danger)}.capacity-bar{background:#ececef;border-radius:2px;height:3px;margin-top:5px;overflow:hidden}.capacity-bar i{border-radius:inherit;background:var(--success);height:100%;display:block}.room-block.over .capacity-bar i,.room-block.conflict .capacity-bar i{background:var(--danger)}.room-dates{color:var(--text-tertiary);margin-top:5px;font-size:9.5px}.room-occupants{gap:3px;margin-top:7px;display:grid}.empty-room-copy{border:1px dashed var(--border);min-height:29px;color:var(--text-tertiary);border-radius:4px;justify-content:center;align-items:center;font-size:10.5px;display:flex}.room-occupant{background:#f5f5f6;border-radius:4px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;display:grid}.room-occupant>button{min-width:0;height:26px;color:var(--text-secondary);background:0 0;border:0;padding:0 5px;font-size:10.5px}.room-occupant>button:first-child{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.room-occupant>button:last-child{color:var(--text-tertiary);place-items:center;padding:0;display:grid}.room-occupant button:hover{color:var(--brand-700)}.room-occupant svg{flex:none;width:11px}.room-occupant span{color:var(--text-tertiary);margin-left:auto}.room-target-actions{gap:3px;margin-top:6px;display:flex}.room-target-actions button{border:1px solid var(--brand-500);background:var(--brand-50);min-height:27px;color:var(--brand-700);border-radius:4px;flex:1;font-size:10.5px;font-weight:600}.room-target-actions button:hover{background:var(--brand-100)}.room-target-actions button span{color:var(--brand-500);margin-left:3px;font-weight:400}.room-filter-empty{color:var(--text-tertiary);text-align:center;grid-column:1/-1;padding:28px;font-size:12px}.room-canvas-shell{border-radius:var(--radius);position:relative}.room-canvas-viewport{background:var(--canvas);min-width:0}.room-canvas{width:100%;min-width:0;padding:0}.canvas-category-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;margin-bottom:18px;overflow:hidden}.canvas-frame-label{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:24px;min-height:46px;padding:7px 10px 7px 8px;display:flex}.canvas-frame-label>button{text-align:left;background:0 0;border:0;align-items:center;gap:5px;min-width:0;padding:0;display:flex}.canvas-frame-label>button>svg{width:14px;color:var(--text-tertiary)}.canvas-frame-label strong,.canvas-frame-label small{display:block}.canvas-frame-label strong{font-size:12px;font-weight:620}.canvas-frame-label small{color:var(--text-tertiary);margin-top:1px;font-size:9.5px;font-weight:400}.bed-plan-grid{grid-template-columns:repeat(auto-fill,148px);gap:14px 10px;padding:8px 12px 22px;display:grid}.room-bed-node{width:148px;min-width:0;height:150px;color:var(--text-primary);align-self:start;padding:0;display:block;overflow:visible}.room-bed-node.empty{text-align:initial;padding:0}.bed-node-label{justify-content:space-between;align-items:center;gap:5px;height:24px;display:flex;position:static}.bed-node-label>strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:620;overflow:hidden}.bed-node-label>input{border:1px solid var(--brand-500);border-radius:3px;outline:0;width:95px;height:22px;padding:0 4px;font-size:10px}.bed-node-label>span{color:var(--text-tertiary);align-items:center;gap:2px;display:flex}.room-bed-node.over .bed-node-label>span>svg{color:var(--danger)}.bed-node-label button{width:18px;height:18px;color:var(--text-tertiary);opacity:0;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.room-bed-node:hover .bed-node-label button,.bed-node-label button:focus-visible{opacity:1}.bed-node-label button:hover{color:var(--text-primary);background:#e7e7ea}.bed-node-label button svg{width:10px}.bed-headboard{z-index:2;background:#f1f1f3;border:1px solid #aaadb5;border-bottom:0;border-radius:8px 8px 0 0;gap:7px;width:148px;height:26px;padding:6px 14px 0;display:flex;position:relative}.bed-headboard i{background:#fff;border:1px solid #c9cbd0;border-radius:5px 5px 2px 2px;flex:1;height:17px}.bed-mattress{z-index:2;background:#fff;border:1px solid #aaadb5;border-radius:2px 2px 5px 5px;width:148px;height:87px;padding:7px 8px 8px;position:relative;overflow:hidden}.room-bed-node.partial .bed-mattress,.room-bed-node.full .bed-mattress{background:#fcf7fa;border-color:#bea7b6}.room-bed-node.over .bed-mattress{background:#fff9fa;border-color:#cc7f8c}.room-bed-node.drop-ready .bed-headboard,.room-bed-node.drop-ready .bed-mattress{border-color:var(--brand-500);border-style:dashed}.room-bed-node.drop-ready:hover .bed-mattress{background:var(--brand-50);border-style:solid}.bed-capacity{align-items:center;gap:6px;display:flex}.bed-capacity>span{width:21px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:9px;font-weight:650}.bed-capacity>i{background:#e6e7ea;border-radius:2px;flex:1;height:3px;overflow:hidden}.bed-capacity b{background:var(--success);height:100%;display:block}.room-bed-node.partial .bed-capacity b,.room-bed-node.full .bed-capacity b{background:var(--brand-500)}.room-bed-node.over .bed-capacity b{background:var(--danger)}.bed-guests{inline-size:100%;min-width:0;max-inline-size:100%;gap:3px;max-height:47px;margin-top:6px;display:grid;overflow:hidden}.bed-guests>span{min-height:34px;color:var(--text-tertiary);place-items:center;font-size:9.5px;display:grid}.bed-guests>div{inline-size:100%;min-width:0;background:#f0f1f2;border-radius:3px;grid-template-columns:minmax(0,1fr) 17px;max-inline-size:100%;display:grid;overflow:hidden}.bed-guests button{min-width:0;height:22px;color:var(--text-secondary);background:0 0;border:0;padding:0 4px;font-size:9px}.bed-guests button:first-child{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}.bed-guests .bed-assignment{inline-size:100%;min-width:0;max-inline-size:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;height:22px;padding:0 4px;display:grid;overflow:hidden}.bed-assignment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:0;overflow:hidden}.bed-assignment-count{margin-left:0}.bed-assignment-monogram{border:1px solid var(--border);width:18px;height:18px;color:var(--text-secondary);border-radius:50%;place-items:center;font-size:7px;font-weight:650;line-height:1;display:grid}.bed-assignment-monogram.tone-0{color:#4a4e57;background:#f0f1f3}.bed-assignment-monogram.tone-1{color:#3d5268;background:#eef2f7}.bed-assignment-monogram.tone-2{color:#5a4a52;background:#f3f0f2}.bed-assignment-monogram.tone-3{color:#3e5548;background:#f0f3f1}.bed-guests button:last-child{color:var(--text-tertiary);place-items:center;padding:0;display:grid}.bed-guests button:hover{color:var(--brand-700)}.bed-guests svg{flex:none;width:9px}.bed-guests button span{margin-left:auto}.bed-target-actions{gap:3px;margin-top:5px;display:flex}.bed-target-actions button{border:1px solid var(--brand-500);background:var(--brand-50);min-height:23px;color:var(--brand-700);border-radius:3px;flex:1;font-size:8.5px;font-weight:600}.bed-target-actions button:hover{background:var(--brand-100)}.unassigned-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;height:calc(100vh - 82px);min-height:590px;max-height:850px;display:flex;position:sticky;top:66px;overflow:hidden}.unassigned-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:62px;padding:11px 13px;display:flex}.unassigned-head>svg{color:var(--brand-600)}.unassigned-head h2 span{color:var(--text-tertiary);margin-left:4px;font-size:12px;font-weight:550}.unassigned-controls{border-bottom:1px solid var(--border);background:var(--surface-subtle);gap:8px;padding:10px;display:grid}.panel-search{display:block;position:relative}.panel-search svg{width:14px;color:var(--text-tertiary);position:absolute;top:9px;left:9px}.panel-search input{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;height:32px;padding:0 8px 0 29px;font-size:11.5px}.panel-selects{grid-template-columns:1fr 1fr;gap:6px;display:grid}.panel-selects label{min-width:0}.panel-selects label>span{color:var(--text-tertiary);margin-bottom:3px;font-size:9.5px;font-weight:550;display:block}.panel-selects select{border:1px solid var(--border);background:var(--surface);width:100%;height:29px;color:var(--text-secondary);border-radius:5px;font-size:10.5px}.assignment-list{flex:1;min-height:0;padding:7px;overflow-y:auto}.assignment-item{border:1px solid var(--border);background:var(--surface);transition:border-color var(--transition), background var(--transition);border-radius:6px;margin-bottom:6px}.assignment-item:hover{border-color:var(--border-strong)}.assignment-item.selected{border-color:var(--brand-500);background:var(--brand-50)}.assignment-item.nested{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;margin:0}.assignment-item-main{text-align:left;background:0 0;border:0;grid-template-columns:14px 27px minmax(0,1fr);gap:7px;width:100%;padding:8px;display:grid}.assignment-item-main .drag-grip{color:var(--text-tertiary);cursor:grab;margin-top:5px}.assignment-copy{min-width:0;display:block}.assignment-name{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-name strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:610;overflow:hidden}.assignment-name>span{min-width:18px;height:18px;color:var(--text-secondary);text-align:center;background:#ececef;border-radius:9px;padding:1px 5px;font-size:9.5px;font-weight:600}.assignment-contact,.assignment-dates,.assignment-suggestion{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9.5px;display:block;overflow:hidden}.assignment-dates{color:var(--text-secondary)}.assignment-placed{color:var(--success);margin-top:4px;font-size:9.5px;font-weight:550;display:block}.assignment-hints{flex-wrap:wrap;gap:4px 8px;margin-top:5px;display:flex}.assignment-hints span{color:var(--warning);align-items:center;gap:2px;font-size:9.5px;font-weight:550;display:inline-flex}.assignment-hints span:not(:first-child){color:var(--text-secondary)}.assignment-suggestion{color:var(--brand-500);margin-top:5px}.expand-assignment{border:0;border-top:1px solid var(--border);width:100%;color:var(--text-tertiary);text-align:left;background:0 0;align-items:center;gap:4px;padding:5px 8px 6px 43px;font-size:9.5px;display:flex}.expand-assignment:hover{color:var(--brand-700)}.assignment-members{border-top:1px solid var(--border);background:#fbfbfc;padding-left:12px}.household-split-planner{border-top:1px solid var(--border);background:#fbfbfc}.split-planner-head{color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:7px 9px;font-size:9.5px;display:flex}.split-planner-head strong{color:var(--text-secondary);font-weight:550}.split-member-list{border-top:1px solid var(--border)}.split-member{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:5px 8px;display:flex}.split-member label{cursor:pointer;align-items:center;gap:7px;min-width:0;display:flex}.split-member label>span,.split-member strong,.split-member small{display:block}.split-member strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550;overflow:hidden}.split-member small{color:var(--text-tertiary);margin-top:1px;font-size:8.5px}.split-member.placed small{color:var(--success)}.split-member>button{color:var(--brand-600);background:0 0;border:0;font-size:9px;font-weight:550}.split-assign-button{border:1px solid var(--brand-500);background:var(--brand-50);width:calc(100% - 16px);height:28px;color:var(--brand-700);border-radius:5px;margin:8px;font-size:10px;font-weight:600}.split-assign-button:disabled{border-color:var(--border);background:var(--surface-subtle);color:var(--text-tertiary)}.split-assign-button span{background:var(--brand-100);border-radius:8px;place-items:center;min-width:16px;height:16px;margin-left:4px;display:inline-grid}.panel-empty{min-height:210px;color:var(--text-tertiary);text-align:center;align-content:center;place-items:center;padding:24px;display:grid}.panel-empty>svg{background:var(--success-bg);width:28px;height:28px;color:var(--success);border-radius:50%;margin-bottom:8px;padding:6px}.panel-empty strong{color:var(--text-primary);font-size:12px}.panel-empty span{margin-top:4px;font-size:10.5px}.unassigned-foot{border-top:1px solid var(--border);background:var(--surface-subtle);color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:9.5px;display:flex}.unassigned-foot span:first-child{align-items:center;gap:3px;display:flex}.unassigned-foot svg{width:11px}.hotel-empty{text-align:center;align-content:center;place-items:center;min-height:520px;padding:48px;display:grid}.hotel-empty-icon{background:var(--brand-50);width:48px;height:48px;color:var(--brand-600);border-radius:10px;place-items:center;margin-bottom:13px;display:grid}.hotel-empty h2{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:620}.hotel-empty>p:not(.eyebrow){max-width:520px;color:var(--text-secondary);margin:8px auto 20px}.setup-preview{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(3,150px);margin-bottom:22px;display:grid}.setup-preview span{border-right:1px solid var(--border);color:var(--text-secondary);padding:12px;font-size:11px}.setup-preview span:last-child{border-right:0}.setup-preview strong{background:var(--surface-subtle);width:20px;height:20px;color:var(--brand-600);border-radius:50%;place-items:center;margin:0 auto 5px;display:grid}.assignment-warning,.hotel-setup-dialog,.suggestion-dialog{z-index:45;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-dialog);border-radius:10px;position:fixed}.assignment-warning{width:min(500px,100vw - 32px);padding:22px;top:50%;left:50%;transform:translate(-50%,-50%)}.warning-symbol{background:var(--warning-bg);width:36px;height:36px;color:var(--warning);border-radius:50%;place-items:center;margin-bottom:11px;display:grid}.warning-symbol svg{width:18px}.assignment-warning h2{margin:0;font-size:18px;font-weight:620}.assignment-warning>p{color:var(--text-secondary);margin:4px 0 16px;font-size:12px}.warning-list{gap:7px;display:grid}.warning-list>div{color:#765a24;background:#fffcf5;border:1px solid #edddbd;border-radius:6px;grid-template-columns:16px minmax(0,1fr);gap:8px;padding:9px 10px;font-size:11.5px;display:grid}.warning-list svg{width:14px}.warning-actions{justify-content:flex-end;gap:7px;margin-top:18px;display:flex}.hotel-setup-dialog{flex-direction:column;width:min(760px,100vw - 36px);max-height:calc(100vh - 36px);display:flex;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.hotel-setup-dialog>header,.suggestion-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 13px;display:flex}.hotel-setup-dialog header h2,.suggestion-dialog header h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:620}.hotel-setup-dialog header>button,.suggestion-dialog header>button{width:28px;height:28px;color:var(--text-tertiary);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.hotel-setup-dialog header>button:hover,.suggestion-dialog header>button:hover{background:var(--surface-subtle);color:var(--text-primary)}.hotel-setup-dialog header svg,.suggestion-dialog header svg{width:16px}.setup-steps{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:center;align-items:center;padding:11px 18px;display:flex}.setup-steps span{color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.setup-steps span.active{color:var(--brand-700);font-weight:600}.setup-steps i{border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;place-items:center;width:21px;height:21px;font-size:9.5px;font-style:normal;display:grid}.setup-steps .active i{border-color:var(--brand-600);background:var(--brand-600);color:#fff}.setup-steps i svg{width:11px}.setup-steps b{background:var(--border);width:70px;height:1px;margin:0 9px}.setup-body{flex:1;min-height:0;padding:18px;overflow-y:auto}.setup-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.setup-form-grid label{color:var(--text-secondary);gap:5px;font-size:11px;font-weight:550;display:grid}.setup-form-grid label.full{grid-column:1/-1}.setup-form-grid input,.setup-form-grid select,.setup-form-grid textarea{border:1px solid var(--border);background:var(--surface);width:100%;height:34px;color:var(--text-primary);border-radius:6px;padding:0 9px;font-size:12px}.setup-form-grid textarea{resize:vertical;min-height:68px;padding:8px 9px}.setup-form-grid input:focus,.setup-form-grid select:focus,.setup-form-grid textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);outline:0}.hotel-setup-dialog>footer,.suggestion-dialog>footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:11px 18px;display:flex}.inventory-step{padding-top:13px}.inventory-intro{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.inventory-intro p{color:var(--text-secondary);margin:0;font-size:11.5px}.inventory-category{border:1px solid var(--border);border-radius:7px;margin-bottom:10px;overflow:hidden}.inventory-category-head{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;padding:8px 11px;font-size:11.5px;display:flex}.inventory-category-head button{color:var(--danger);background:0 0;border:0;align-items:center;gap:4px;font-size:10.5px;display:flex}.inventory-category-head svg{width:12px}.inventory-category .setup-form-grid{padding:12px}.generate-total{align-items:center;gap:12px;display:flex}.generate-total>span{color:var(--text-secondary);font-size:11px}.suggestion-dialog{flex-direction:column;width:min(780px,100vw - 36px);max-height:calc(100vh - 36px);display:flex;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.suggestion-dialog header p:last-child{color:var(--text-secondary);margin:3px 0 0;font-size:11.5px}.suggestion-assumptions{background:var(--brand-50);border:1px solid #d8c4d0;border-radius:7px;grid-template-columns:30px minmax(0,1fr);gap:10px;margin:14px 16px 8px;padding:11px;display:grid}.suggestion-assumptions>svg{background:var(--surface);color:var(--brand-600);border-radius:6px;padding:6px}.suggestion-assumptions strong{font-size:11.5px}.suggestion-assumptions p{color:var(--text-secondary);margin:2px 0 0;font-size:10.5px}.suggestion-list{flex:1;min-height:120px;padding:8px 16px 16px;overflow-y:auto}.suggestion-list>label{border-bottom:1px solid var(--border);grid-template-columns:18px minmax(160px,1fr) 18px minmax(140px,.8fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.suggestion-list>label.rejected{opacity:.5}.suggestion-route strong,.suggestion-route span,.suggestion-room strong,.suggestion-room span{display:block}.suggestion-route strong,.suggestion-room strong{font-size:11.5px}.suggestion-route span,.suggestion-room span{color:var(--text-tertiary);margin-top:2px;font-size:10px}.suggestion-list label>svg{width:13px;color:var(--text-tertiary)}.suggestion-list label>button{color:var(--brand-600);background:0 0;border:0;font-size:10.5px;font-weight:550}.suggestion-dialog footer>span{color:var(--text-secondary);font-size:11px}.hotel-tabs{gap:4px}.hotel-tabs button{text-align:left;gap:1px;padding:8px 10px;display:grid}.hotel-tabs button>span:last-child{min-width:0;color:var(--text-tertiary);background:0 0;border-radius:0;padding:0;font-size:10.5px;font-weight:450}.hotel-tabs .hotel-tab-name{color:inherit;font-size:13px;font-weight:600}.hotel-tabs button.active>span:last-child{color:var(--brand-500)}.active-hotel-head{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;min-height:84px;margin-bottom:0;padding:10px 0 13px}.hotel-context-metrics{color:var(--text-secondary);flex-wrap:wrap;gap:5px 14px;margin-top:8px;font-size:12px;display:flex}.hotel-context-metrics span+span{position:relative}.hotel-context-metrics span+span:before{content:"·";color:var(--text-tertiary);position:absolute;left:-9px}.hotel-context-metrics button{color:var(--danger);background:0 0;border:0;padding:0;font-size:12px;font-weight:550}.hotel-contact{text-align:right;align-items:center;gap:10px;display:flex}.hotel-contact>button{color:var(--brand-600);white-space:nowrap;background:0 0;border:0;font-size:12px;font-weight:550}.hotel-contact>.edit-hotel{color:var(--text-secondary)}.canvas-category-frame{border:0;border-radius:0;margin-bottom:16px;overflow:visible}.canvas-frame-label{border-bottom:0;min-height:58px;padding:12px 0 8px}.canvas-frame-label small{display:none}.category-actions{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:10px;font-size:11.5px;display:flex}.room-category-controls{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:0 0 9px;display:flex}.room-view-tabs{gap:2px;display:flex}.room-view-tabs button{color:var(--text-secondary);background:0 0;border:0;border-radius:5px;padding:4px 7px;font-size:11.5px}.room-view-tabs button:hover{background:var(--surface-subtle)}.room-view-tabs button.active{background:var(--brand-50);color:var(--brand-700);font-weight:600}.room-search{position:relative}.room-search svg{color:var(--text-tertiary);position:absolute;top:7px;left:7px}.room-search input{border:1px solid var(--border);background:var(--surface);border-radius:5px;width:140px;height:28px;padding:0 7px 0 27px;font-size:11.5px}.bed-plan-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px 0 4px}.room-bed-node{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:auto;height:118px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);overflow:hidden}.room-bed-node:hover{border-color:var(--border-strong);box-shadow:0 1px 2px #17181c0a}.room-bed-node.partial{border-left:3px solid var(--brand-500);background:#fdf9fb}.room-bed-node.full{background:#f4fbf8;border-left:3px solid #268476}.room-bed-node.over{border-left:3px solid var(--danger);background:#fff8f9}.room-bed-node.unavailable{opacity:1;color:var(--text-tertiary);background:#f0f1f3}.room-bed-node.drop-ready{border:1px dashed var(--brand-500)}.room-bed-node.drop-ready:hover{background:var(--brand-50)}.bed-node-label{height:31px;padding:7px 8px 0}.bed-node-label>strong{font-size:13px}.bed-node-label button{width:20px;height:20px}.bed-mattress{background:0 0;border:0;border-radius:0;width:auto;height:87px;padding:2px 8px 7px}.room-bed-node.partial .bed-mattress,.room-bed-node.full .bed-mattress,.room-bed-node.over .bed-mattress{background:0 0;border:0}.room-tile-meta{color:var(--text-tertiary);justify-content:space-between;gap:8px;font-size:10.5px;display:flex}.room-tile-meta strong{color:var(--text-secondary);font-size:10.5px;font-weight:600}.bed-capacity{margin-top:6px}.bed-capacity>span{display:none}.bed-capacity b,.room-bed-node.partial .bed-capacity b{background:var(--brand-500)}.bed-guests{max-height:41px;margin-top:7px}.bed-guests>span{justify-content:flex-start;min-height:26px;font-size:11px}.bed-guests>div{background:#fff9}.bed-guests button,.bed-guests .bed-assignment{height:20px;font-size:10.5px}.bed-target-actions{margin-top:4px}.bed-target-actions button{min-height:22px;font-size:9px}.unassigned-panel{border:0;border-left:1px solid var(--border);border-radius:0;height:calc(100vh - 78px);top:66px}.unassigned-head{min-height:52px;padding:7px 0 8px 14px}.unassigned-head>svg{display:none}.unassigned-controls{background:0 0;padding:8px 0 9px 14px}.panel-selects select{height:27px}.assignment-item{border:0;border-bottom:1px solid var(--border);border-radius:0;margin:0;position:relative}.assignment-item.selected{background:var(--brand-50)}.assignment-item-main{grid-template-columns:0 27px minmax(0,1fr);gap:7px;padding:10px 0 10px 36px}.assignment-queue-select{z-index:1;place-items:center;width:14px;height:14px;display:grid;position:absolute;top:12px;left:14px}.assignment-queue-select input{cursor:pointer;width:14px;height:14px;margin:0}.assignment-queue-select input:disabled{cursor:not-allowed}.assignment-item-main .drag-grip{visibility:hidden;width:0}.assignment-item:hover .drag-grip{visibility:visible;width:14px;margin-left:-14px}.assignment-name strong{font-size:12.5px}.assignment-name>span{color:var(--text-secondary);background:0 0;font-size:12px}.assignment-contact,.assignment-dates,.assignment-suggestion{font-size:10.5px}.assignment-hints{margin-top:4px}.assignment-hints span{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:1px 4px;font-size:9.5px;font-weight:500}.expand-assignment{padding-left:48px}.unassigned-foot{background:0 0;padding-left:14px}.room-assignment-layout{grid-template-columns:minmax(0,1fr) minmax(280px,24%);gap:16px}.canvas-frame-label{min-height:51px;padding:11px 0 6px}.canvas-frame-label strong{font-size:15px}.room-category-controls{padding:0 0 8px}.room-view-tabs button{border-radius:0;padding:5px 7px 6px;font-size:11px;position:relative}.room-view-tabs button.active{color:var(--brand-700);background:0 0}.room-view-tabs button.active:after{content:"";background:var(--brand-600);height:2px;position:absolute;bottom:0;left:7px;right:7px}.room-view-tabs button span{color:var(--text-tertiary);font-size:10px}.category-tools{align-items:center;gap:7px;display:flex}.density-control{border:1px solid var(--border);border-radius:5px;padding:1px;display:inline-flex}.density-control button{color:var(--text-secondary);background:0 0;border:0;border-radius:3px;padding:3px 5px;font-size:10px}.density-control button.active{background:var(--surface-subtle);color:var(--text-primary);font-weight:600}.room-bed-node{border:1px solid var(--border);background:var(--surface);width:100%;height:87px;box-shadow:none;cursor:pointer;border-radius:8px;overflow:visible}.room-bed-node:hover{box-shadow:none;background:#fdfbfd;border-color:#b8bac2}.room-bed-node.partial,.room-bed-node.full{border-left:1px solid var(--border);background:var(--surface)}.room-bed-node.full{background:#fbfdfc}.room-bed-node.over{background:#fffafb;border:1px solid #dfb8c0}.room-bed-node.locked{background:var(--surface-subtle)}.room-bed-node.unavailable{background:#f1f2f4}.room-bed-node.drop-valid{border:2px solid var(--brand-500);background:var(--brand-50)}.room-bed-node.drop-capacity{border:2px solid var(--danger);background:#fffafb}.room-bed-node.drop-access{border:2px solid var(--warning);background:#fffdf8}.room-bed-node.drop-invalid{border:2px solid var(--border-strong)}.bed-node-label{height:29px;padding:7px 8px 0;position:relative}.bed-node-label>strong{font-size:14px;font-weight:600}.bed-node-label>span{gap:4px}.bed-node-label>span>b{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:550}.bed-node-label>span>svg{width:12px;color:var(--text-tertiary)}.bed-node-label button.room-overflow{opacity:0;width:20px;height:20px}.room-overflow svg{width:15px}.room-action-menu{z-index:8;border:1px solid var(--border);background:var(--surface);min-width:132px;box-shadow:var(--shadow-float);border-radius:6px;padding:4px;display:grid;position:absolute;top:23px;right:5px}.room-action-menu button{width:100%;height:auto;min-height:26px;color:var(--text-primary);text-align:left;opacity:1;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:11px}.room-action-menu button:hover{background:var(--surface-subtle)}.bed-mattress{background:0 0;height:55px;padding:1px 8px 6px}.room-bed-node.partial .bed-mattress,.room-bed-node.full .bed-mattress,.room-bed-node.over .bed-mattress{background:0 0}.bed-guests{gap:1px;max-height:none;margin-top:0;display:grid;overflow:hidden}.bed-guests>span{text-overflow:ellipsis;white-space:nowrap;min-height:0;display:block;overflow:hidden}.room-issue,.room-drop-copy{align-items:center;gap:3px;margin-top:2px;color:var(--danger)!important;font-size:11px!important;display:inline-flex!important}.room-issue svg{width:12px}.room-drop-copy{font-weight:550;color:var(--brand-700)!important}.drop-capacity .room-drop-copy{color:var(--danger)!important}.drop-access .room-drop-copy{color:var(--warning)!important}.bed-target-actions{display:none}.show-more-rooms{color:var(--brand-600);background:0 0;border:0;margin:11px 0 3px;font-size:12px;font-weight:550;display:block}.room-detail-drawer{z-index:45;background:var(--surface);width:min(390px,92vw);box-shadow:var(--shadow-dialog);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.room-detail-drawer header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:18px;display:flex}.room-detail-drawer h2{margin:0;font-size:20px}.room-detail-drawer header p:last-child{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.room-detail-drawer header>button{width:28px;height:28px;color:var(--text-tertiary);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.room-detail-body{flex:1;padding:18px;overflow:auto}.room-detail-body section+section{margin-top:22px}.room-detail-body h3{color:var(--text-tertiary);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.room-detail-assignment{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.room-detail-assignment strong,.room-detail-assignment span{display:block}.room-detail-assignment strong{font-size:13px}.room-detail-assignment span{color:var(--text-secondary);margin-top:2px;font-size:11.5px}.room-detail-assignment button{color:var(--danger);background:0 0;border:0;font-size:11px}.room-detail-row{border-bottom:1px solid var(--border);grid-template-columns:100px minmax(0,1fr);gap:8px;padding:8px 0;font-size:12px;display:grid}.room-detail-row span{color:var(--text-tertiary)}.room-detail-row strong{font-weight:500}.room-detail-drawer footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:12px 18px;display:flex}.room-detail-drawer footer .btn{font-size:11px}.multi-assign-dialog{z-index:45;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(510px,100vw - 32px);max-height:min(620px,100vh - 32px);box-shadow:var(--shadow-dialog);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.multi-assign-dialog header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 13px;display:flex}.multi-assign-dialog h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:620}.multi-assign-dialog header p:last-child{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.multi-assign-dialog header>button{width:28px;height:28px;color:var(--text-tertiary);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.multi-assign-dialog header>button:hover{background:var(--surface-subtle);color:var(--text-primary)}.multi-assign-dialog header svg{width:16px}.multi-assign-list{flex:1;padding:8px 12px 12px;overflow-y:auto}.multi-assign-room{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 8px;display:grid}.multi-assign-room:not(:disabled):hover{background:var(--brand-50)}.multi-assign-room>svg{width:18px;color:var(--brand-600)}.multi-assign-room span{min-width:0}.multi-assign-room strong,.multi-assign-room small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.multi-assign-room strong{font-size:13px;font-weight:600}.multi-assign-room small{color:var(--text-secondary);margin-top:2px;font-size:11px}.multi-assign-room b{color:var(--success);white-space:nowrap;font-size:11px;font-weight:600}.multi-assign-room.disabled b{color:var(--text-tertiary)}.multi-assign-room:disabled{opacity:1;cursor:not-allowed}.multi-assign-dialog footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;display:flex}.multi-assign-dialog footer>span{color:var(--text-secondary);font-size:11px;line-height:1.4}@media (max-width:1200px){.room-assignment-layout{grid-template-columns:minmax(520px,1fr) 320px}.room-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.hotel-workspace-toolbar{flex-direction:column;align-items:flex-start;gap:7px}.hotel-workspace-toolbar>.button-row{width:100%;overflow-x:auto}}@media (max-width:900px){.hotel-summary{grid-template-columns:repeat(2,1fr)}.hotel-summary>div,.hotel-summary>button{border-top:1px solid var(--border)}.hotel-summary>:nth-child(-n+2){border-top:0}.hotel-summary>:nth-child(2n){border-right:0}.room-assignment-layout{flex-direction:column;display:flex}.unassigned-panel{order:-1;width:100%;height:640px;position:relative;top:auto}.room-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:620px){.hotel-summary{grid-template-columns:1fr 1fr}.hotel-workspace-toolbar>.button-row{flex-wrap:wrap}.active-hotel-head,.room-category-head{flex-direction:column;align-items:flex-start}.hotel-contact{text-align:left}.room-grid{grid-template-columns:1fr}.category-capacity{width:100%}.setup-form-grid{grid-template-columns:1fr}.setup-form-grid label.full{grid-column:auto}.setup-preview{grid-template-columns:1fr}.setup-preview span{border-right:0;border-bottom:1px solid var(--border)}.setup-preview span:last-child{border-bottom:0}.warning-actions{flex-direction:column-reverse;align-items:stretch}.suggestion-list>label{grid-template-columns:18px minmax(0,1fr) auto}.suggestion-list label>svg,.suggestion-room{display:none}.multi-assign-dialog footer{align-items:flex-end}}.toast{z-index:60;background:var(--text-primary);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-dialog);align-items:center;gap:9px;padding:12px 14px;font-size:13px;animation:.16s toast;display:flex;position:fixed;bottom:20px;right:20px}.toast svg{color:#8fd4b8;width:16px;height:16px}.empty{text-align:center;padding:48px 24px}.empty h3{margin:10px 0 5px;font-size:16px;font-weight:600}.empty p{max-width:360px;color:var(--text-secondary);margin:0 auto 12px;font-size:13px}.skeleton{background:linear-gradient(90deg,#e8e9ec,#f4f4f6,#e8e9ec) 0 0/200% 100%;border-radius:6px;animation:1.4s infinite pulse}.announce-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin:-8px 0 26px;padding-bottom:18px;display:flex}.announce-actions .btn{gap:7px}.announce-section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.announce-section-head h2{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600}.announce-section .table-card{border-radius:var(--radius-lg)}.announcement-table{min-width:720px}.announcement-table.sent{min-width:860px}.announcement-name{color:var(--text-primary);font-weight:550}.announce-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.announce-toolbar .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.announce-section{margin-bottom:20px}.announce-section .card-header{border-bottom:1px solid var(--border)}.metrics-cell{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.metric-inline{color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:inline-flex}.metric-inline:before{content:"";background:var(--text-tertiary);border-radius:50%;width:5px;height:5px}.metric-inline.ok:before,.metric-inline.read:before{background:var(--success)}.metric-inline.warn:before,.metric-inline.sent:before{background:var(--info)}.metric-inline.bad:before,.metric-inline.failed:before{background:var(--danger)}.metric-inline.bad,.metric-inline.failed{color:var(--danger)}.campaign-modal{grid-template-columns:minmax(0,1fr) 320px}.campaign-modal .modal-content-inner{max-width:640px}.campaign-form-grid{margin-bottom:14px}.campaign-field{min-width:0}.campaign-field .input,.campaign-field .select{width:100%;min-width:0}.campaign-field .input{padding-left:10px}.campaign-message{margin-bottom:14px}.campaign-preview{border:0;border-left:1px solid var(--border);height:100%;box-shadow:none;border-radius:0;position:static}.announcement-dialog{z-index:42;background:var(--surface);box-shadow:var(--shadow-dialog);border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:18px;overflow:hidden}.workflow-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:68px;padding:14px 22px;display:flex}.workflow-head h2{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:600}.workflow-head p{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.workflow-progress{border-bottom:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 22px;display:grid}.workflow-step{color:var(--text-tertiary);align-items:center;gap:8px;font-size:13px;display:flex}.workflow-step span{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.workflow-step.active{color:var(--brand-700)}.workflow-step.active span{color:#fff;background:var(--brand-600);border-color:var(--brand-600)}.workflow-step.done{color:var(--success)}.workflow-step.done span{color:#fff;background:var(--success);border-color:var(--success)}.workflow-body{flex:1;min-height:0;padding:24px;overflow:auto}.workflow-body h3{letter-spacing:-.02em;margin:0 0 5px;font-size:16px}.workflow-body h4{color:var(--text-tertiary);margin:18px 0 7px;font-size:12px;font-weight:550}.workflow-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.audience-layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px;max-width:1120px;margin:0 auto;display:grid}.audience-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.audience-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;padding:11px 12px}.audience-option:hover{background:var(--surface-subtle)}.audience-option.selected{border-color:var(--brand-500);background:var(--brand-50)}.audience-option strong,.audience-option span{display:block}.audience-option strong{font-size:13px}.audience-option span{color:var(--text-tertiary);margin-top:2px;font-size:12px}.field-label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:550;display:grid}.field-label .select{width:100%;height:var(--control-h)}.plain-input{min-width:0;padding-left:10px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.audience-rule{border-top:1px solid var(--border);color:var(--text-secondary);margin:18px 0 0;padding-top:14px;font-size:12px}.audience-rule strong{color:var(--text-primary);font-weight:550}.manual-guests{border:1px solid var(--border);border-radius:var(--radius);max-height:270px;margin-top:18px;overflow:auto}.manual-guests label{border-bottom:1px solid var(--border);align-items:flex-start;gap:9px;padding:9px 12px;display:flex}.manual-guests label:last-child{border-bottom:0}.manual-guests strong,.manual-guests small{display:block}.manual-guests small{color:var(--text-tertiary);font-size:12px}.audience-summary,.delivery-summary,.preview-details,.context-pane{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-subtle);align-self:start;padding:16px}.audience-summary>strong{letter-spacing:-.03em;margin-top:16px;font-size:24px;display:block}.audience-summary>span{color:var(--text-secondary);font-size:13px}.summary-line{border-top:1px solid var(--border);color:var(--danger);justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;font-size:12px;display:flex}.recipient-sample{border-bottom:1px solid var(--border);padding:7px 0}.recipient-sample span,.recipient-sample small{display:block}.recipient-sample small{color:var(--text-tertiary);font-size:11px}.composer-grid{grid-template-columns:180px minmax(360px,1fr) 290px;gap:20px;max-width:1220px;margin:0 auto;display:grid}.template-pane{border-right:1px solid var(--border);padding-right:16px}.editor-toolbar,.preview-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.template-group{margin-top:16px}.template-group>span{color:var(--text-tertiary);margin-bottom:4px;font-size:11px;font-weight:550;display:block}.template-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:7px 8px;display:block}.template-item:hover{background:var(--surface-subtle)}.template-item.selected{border-color:var(--brand-100);background:var(--brand-50);color:var(--brand-700)}.template-item strong{font-size:12px;display:block}.editor-pane{min-width:0}.editor-toolbar{margin:14px 0 8px}.editor-toolbar>span{color:var(--text-tertiary);margin-left:auto;font-size:12px}.editor-actions{gap:6px;display:flex;position:relative}.attachment-menu{z-index:6;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:130px;box-shadow:var(--shadow-float);padding:4px;position:absolute;top:calc(100% + 4px);left:90px}.attachment-menu button{text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;width:100%;padding:7px 8px;font-size:12px;display:flex}.attachment-menu button:hover{background:var(--surface-subtle)}.attachment-menu svg{width:14px;height:14px}.editor-wrap{position:relative}.message-editor{min-height:240px}.tag-dropdown{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(320px,100% - 16px);max-height:230px;box-shadow:var(--shadow-float);padding:4px;position:absolute;left:0;overflow:auto}.tag-dropdown button{text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:7px 8px;font-size:12px}.tag-dropdown button:hover,.tag-dropdown button.focused{background:var(--brand-50);color:var(--brand-700)}.tag-dropdown small{color:var(--text-tertiary);font-size:11px;display:block}.editor-tag-dropdown{top:10px;left:8px}.merge-help{color:var(--text-tertiary);margin:6px 0 0;font-size:11px}.attachment-list{margin-top:10px}.attachment-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.attachment-row>svg{color:var(--text-tertiary)}.attachment-row span{flex:1}.attachment-row strong,.attachment-row small{display:block}.attachment-row small{color:var(--text-tertiary);font-size:11px}.attachment-row .icon-btn{width:28px;height:28px;margin-left:auto}.attachment-thumb{width:34px;height:26px;color:var(--brand-700);background:var(--brand-100);border-radius:4px;place-items:center;font-size:10px;font-weight:600;display:grid}.message-preview-pane{border-left:1px solid var(--border);align-self:start;padding-left:18px;position:sticky;top:0}.message-preview-pane .preview-switcher{margin:10px 0}.preview-recipient{gap:2px;margin-top:10px;font-size:12px;display:grid}.preview-recipient span{color:var(--text-tertiary)}.preview-layout,.delivery-layout{grid-template-columns:minmax(0,1fr) 290px;gap:24px;max-width:960px;margin:0 auto;display:grid}.preview-tabs{border-bottom:1px solid var(--border);gap:14px;margin:16px 0 10px;display:flex}.preview-tabs button{color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 2px;font-size:12px}.preview-tabs button.active{color:var(--brand-700);border-bottom-color:var(--brand-600)}.whatsapp-preview{border:1px solid var(--border);border-radius:14px;max-width:400px;overflow:hidden}.whatsapp-preview .phone-body{min-height:340px}.message-attachment{max-width:88%;color:var(--text-secondary);background:#fff;border-radius:7px;margin-bottom:6px;padding:10px;font-size:12px}.plain-preview{white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);min-height:260px;font:inherit;margin:0;padding:16px;line-height:1.55;overflow:auto}.merge-warning,.send-confirmation{border-radius:var(--radius);background:var(--warning-bg);color:var(--warning);margin-top:14px;padding:10px;font-size:12px}.delivery-choice{border:1px solid var(--border);border-radius:var(--radius);gap:10px;margin-top:9px;padding:12px;display:flex}.delivery-choice.selected{border-color:var(--brand-500);background:var(--brand-50)}.delivery-choice strong,.delivery-choice small{display:block}.delivery-choice strong{font-size:13px}.delivery-choice small{color:var(--text-secondary);margin-top:2px;font-size:12px}.delivery-field{margin-top:16px}.delivery-field small{color:var(--text-tertiary);font-weight:400}.schedule-fields{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.delivery-summary .context-value{grid-template-columns:105px minmax(0,1fr);align-items:start;gap:10px}.delivery-summary .context-value strong{text-align:right;overflow-wrap:anywhere}.workflow-table{min-width:760px}.workflow-table.sent{min-width:980px}.workflow-table td{height:54px}.announcement-table th:first-child,.announcement-table td:first-child{width:auto;min-width:180px;padding-left:14px;padding-right:14px;position:static;left:auto}.announcement-status{background:var(--surface-subtle);color:var(--text-secondary);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:550;display:inline-flex}.announcement-status.scheduled{color:var(--info);background:var(--info-bg)}.table-actions{align-items:center;gap:2px;display:flex}.clickable-row{cursor:pointer}.clickable-row:focus-visible td{background:var(--brand-50)}.failed-count{color:var(--danger);font-weight:550}.empty-table{text-align:center;height:76px;color:var(--text-tertiary)}.retry-dialog{z-index:42;border-radius:var(--radius-lg);background:var(--surface);width:min(480px,100vw - 32px);box-shadow:var(--shadow-dialog);position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.retry-list{padding:6px 18px 16px}.retry-list>div{border-bottom:1px solid var(--border);padding:11px 0}.retry-list strong,.retry-list span{display:block}.retry-list strong{font-size:13px}.retry-list span{color:var(--text-secondary);margin-top:2px;font-size:12px}.announcement-detail-drawer{width:min(560px,92vw)}.announcement-detail-body{flex:1;min-height:0;padding:20px;overflow-y:auto}.announcement-detail-body>section{margin-bottom:22px}.detail-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.detail-section-head h3{margin:0;font-size:14px;font-weight:600}.detail-section-head span{color:var(--text-tertiary);font-size:11px}.detail-message-preview{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.detail-message-preview .phone-body{min-height:200px}.drawer-audience-list{border:1px solid var(--border);border-radius:var(--radius);max-height:280px;overflow-y:auto}.drawer-recipient{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.drawer-recipient:last-child{border-bottom:0}.drawer-recipient strong,.drawer-recipient span{display:block}.drawer-recipient strong{font-size:13px;font-weight:550}.drawer-recipient span,.drawer-recipient small{color:var(--text-tertiary);font-size:11px}.drawer-metrics{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 14px;display:grid}.drawer-metrics .context-value{border-bottom:0}.drawer-metrics .context-value strong{font-size:16px}.doc-grid{flex-wrap:wrap;gap:8px;display:flex}.doc-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:88px;transition:border-color var(--transition);padding:0;overflow:hidden}.doc-tile:hover{border-color:var(--border-strong)}.doc-preview{background:var(--surface-subtle);height:52px;color:var(--text-tertiary);place-items:center;display:grid}.doc-tile span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:6px 7px;font-size:11px;display:block;overflow:hidden}.guest-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.drawer-section-stack{flex-direction:column;gap:12px;display:flex}.drawer-section-stack .detail-section h3{letter-spacing:0;text-transform:none;color:var(--text-tertiary);margin:0 0 11px;font-size:12px;font-weight:550}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:.85;transform:translate(16px)}}@keyframes toast{0%{opacity:0;transform:translateY(8px)}}@keyframes pulse{50%{opacity:.5}}@media (max-width:1120px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.metric-grid,.summary-strip{grid-template-columns:repeat(3,1fr)}.metric:nth-child(3),.summary-item:nth-child(3){border-right:0}.builder-grid{grid-template-columns:minmax(0,1fr) 320px}.comms-shell{grid-template-columns:250px minmax(360px,1fr)}.comms-right{display:none}.bulk-bar{left:calc(220px + 50%)}}@media (max-width:820px){.app-shell{display:block}.sidebar{display:none}.mobile-menu{display:grid}.topbar{background:var(--canvas);z-index:12;align-items:center;height:48px;padding:0 14px;display:flex;position:sticky;top:0}.content{padding:14px 14px 24px}.page-header{flex-direction:column}.page-header h1{font-size:24px}.metric-grid,.summary-strip{grid-template-columns:repeat(2,1fr)}.metric,.summary-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.overview-grid,.builder-grid,.ops-grid{grid-template-columns:1fr}.phone-preview,.issue-panel{position:static}.toolbar{flex-direction:column;align-items:stretch}.input{width:100%;min-width:0}.bulk-bar{width:calc(100% - 24px);left:50%;overflow-x:auto}.modal-shell{border-radius:0;grid-template-columns:1fr;inset:0}.modal-side{display:none}.detail-grid,.choice-grid{grid-template-columns:1fr}.comms-shell{grid-template-columns:100px minmax(0,1fr);height:calc(100vh - 90px)}.conversation-item{grid-template-columns:30px;justify-items:center}.conversation-item>div:nth-child(2),.conversation-item time,.unread-dot{display:none}.result-summary,.issue-summary-grid{grid-template-columns:repeat(2,1fr)}.announce-actions,.announce-toolbar{flex-direction:column;align-items:stretch}.announce-toolbar .actions{justify-content:stretch}.announce-toolbar .actions .btn{flex:1}.campaign-modal{grid-template-columns:1fr}.campaign-preview{display:none}.workflow-progress{padding:12px 14px}.workflow-step{justify-content:center}.workflow-step strong{display:none}.workflow-body{padding:18px 14px}.audience-layout,.composer-grid,.delivery-layout,.audience-options,.filter-grid,.schedule-fields{grid-template-columns:1fr}.template-pane{border-right:0;border-bottom:1px solid var(--border);padding:0 0 14px}.template-group{vertical-align:top;width:calc(50% - 4px);margin-top:10px;display:inline-block}.message-preview-pane{border-left:0;border-top:1px solid var(--border);padding:16px 0 0;position:static}.whatsapp-preview{max-width:none}.drawer-metrics{grid-template-columns:repeat(2,1fr)}.vendor-form{grid-template-columns:1fr}.vendor-form .full-field{grid-column:auto}.household-child-actions{flex-wrap:wrap;justify-content:flex-start}.attention-panel .card-header .small-text{display:none}.issue-row{grid-template-columns:18px minmax(0,1fr) auto;align-items:start}.issue-row .issue-count{grid-area:1/3;padding-top:1px}.issue-row .btn{grid-area:2/2/auto/-1;justify-self:start;margin-top:2px}}.hotel-workspace{padding-top:6px}.hotel-workspace-toolbar{align-items:center;margin-bottom:18px}.room-assignment-layout{grid-template-columns:minmax(0,1fr) 382px;align-items:stretch;gap:28px}.room-inventory{min-width:0}.active-hotel-head{border:1px solid var(--border);background:var(--surface);border-radius:14px;min-height:96px;margin-bottom:18px;padding:17px 20px;box-shadow:0 1px 2px #17181c08}.active-hotel-head h2{font-size:20px}.active-hotel-head>div>p:last-child{font-size:12px}.hotel-context-metrics{gap:7px 18px;margin-top:10px;font-size:12px}.hotel-contact{align-items:flex-end}.room-canvas-shell{background:#f8f5f6;border:1px solid #e8e4e7;border-radius:16px;overflow:hidden}.room-canvas-viewport{background:radial-gradient(circle at 18% 4%,#fff 0,#fbf8fa 36%,#f4f1f3 100%);padding:16px}.canvas-category-frame{background:#ffffffd6;border:1px solid #e5dee2;border-radius:12px;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 5px 16px #2e1f2809}.canvas-category-frame:last-child{margin-bottom:0}.canvas-frame-label{background:#ffffffbd;border-bottom:1px solid #eee9eb;min-height:66px;padding:12px 16px}.canvas-frame-label strong{letter-spacing:-.02em;font-size:15px;font-weight:650}.canvas-frame-label small{margin-top:3px;font-size:11px;display:block}.category-actions{gap:12px;font-size:11px}.room-category-controls{background:#fdfbfccc;border-bottom:1px solid #eee9eb;padding:8px 16px 10px}.room-view-tabs button{padding:6px 8px;font-size:11px}.room-view-tabs button.active{background:var(--brand-50);border-radius:6px}.room-view-tabs button.active:after{display:none}.room-search input{border-radius:6px;width:154px;height:30px}.room-search svg{top:8px}.bed-plan-grid,.bed-plan-grid.compact{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:22px 18px;padding:24px 22px 28px}.bed-plan-grid.comfortable{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:26px 22px}.room-bed-node{width:100%;height:180px;box-shadow:none;cursor:pointer;transition:transform var(--transition);background:0 0;border:0;border-radius:0;padding:0 7px 8px;display:block;position:relative;overflow:visible}.room-bed-node:hover{box-shadow:none;background:0 0;border:0;transform:translateY(-2px)}.room-bed-node:focus-visible{outline-offset:4px;border-radius:10px}.bed-node-label{z-index:3;height:30px;padding:0 5px 4px;position:relative}.bed-node-label>strong{letter-spacing:-.01em;font-size:13px;font-weight:650}.bed-node-label>span>b{color:var(--text-secondary);font-size:11px;font-weight:600}.bed-node-label>span>svg{width:13px}.bed-node-label button.room-overflow{opacity:0}.room-bed-node:hover .room-overflow,.room-bed-node:focus-within .room-overflow{opacity:1}.bed-headboard{z-index:2;background:linear-gradient(#e9e4e6,#ded6da);border:1px solid #b7adb2;border-bottom:0;border-radius:11px 11px 0 0;gap:9px;width:100%;height:35px;padding:7px 14px 0;display:flex;position:relative;box-shadow:inset 0 1px #fffc}.bed-headboard:before,.bed-headboard:after{content:"";background:#b7adb2;border-radius:0 0 3px 3px;width:5px;height:7px;position:absolute;bottom:-6px}.bed-headboard:before{left:7px}.bed-headboard:after{right:7px}.bed-headboard i{background:linear-gradient(135deg,#fff,#f4eff1);border:1px solid #d9d2d5;border-radius:7px 7px 3px 3px;flex:1;height:21px;box-shadow:inset 0 1px #fffffff2}.bed-mattress{z-index:2;background:linear-gradient(135deg,#fff 0,#fdfafb 100%);border:1px solid #b7adb2;border-radius:2px 2px 9px 9px;width:100%;height:119px;padding:10px 11px 12px;position:relative;overflow:hidden;box-shadow:0 7px 10px #402e371f,inset 0 1px #ffffffe6}.bed-mattress:after{content:"";z-index:-1;background:#9c9096;border-radius:0 0 5px 5px;height:6px;position:absolute;bottom:-5px;left:8px;right:8px}.room-bed-node.partial .bed-headboard,.room-bed-node.partial .bed-mattress{border-color:#b78ca3}.room-bed-node.partial .bed-mattress{background:linear-gradient(135deg,#fff 0,#fcf3f7 100%)}.room-bed-node.full .bed-headboard,.room-bed-node.full .bed-mattress{border-color:#83afa3}.room-bed-node.full .bed-mattress{background:linear-gradient(135deg,#fff 0,#f2faf7 100%)}.room-bed-node.over .bed-headboard,.room-bed-node.over .bed-mattress{border-color:#d28a96}.room-bed-node.over .bed-mattress{background:#fff7f8}.room-bed-node.unavailable{opacity:.55}.room-bed-node.unavailable .bed-headboard{background:#e4e4e5}.room-bed-node.unavailable .bed-mattress{background:#f5f5f5}.room-bed-node.drop-valid .bed-headboard,.room-bed-node.drop-valid .bed-mattress{border:2px solid var(--brand-500)}.room-bed-node.drop-valid .bed-mattress{background:var(--brand-50)}.room-bed-node.drop-capacity .bed-headboard,.room-bed-node.drop-capacity .bed-mattress{border:2px solid var(--danger)}.room-bed-node.drop-access .bed-headboard,.room-bed-node.drop-access .bed-mattress{border:2px solid var(--warning)}.bed-guests{gap:4px;max-height:79px;margin-top:7px}.bed-guests>span{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-height:0;display:block;overflow:hidden}.bed-guests .room-household{color:var(--text-primary);font-size:12px;font-weight:650}.bed-guests .room-member-summary,.bed-guests>span:not(.room-household):not(.room-member-summary):not(.room-issue):not(.room-drop-copy){color:var(--text-secondary);font-size:11px}.room-issue,.room-drop-copy{margin-top:5px;font-size:10px!important}.bed-capacity{gap:7px;position:absolute;bottom:9px;left:11px;right:11px}.bed-capacity>span{width:auto;color:var(--text-tertiary);font-size:9.5px}.bed-capacity>i{height:4px}.bed-capacity b{background:var(--success)}.room-bed-node.partial .bed-capacity b{background:var(--brand-500)}.room-bed-node.full .bed-capacity b{background:var(--success)}.unassigned-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;height:calc(100vh - 96px);min-height:620px;max-height:none;position:sticky;top:72px;overflow:hidden;box-shadow:0 8px 24px #261d220f}.unassigned-head{background:linear-gradient(135deg,#fff 0,#fcf6f9 100%);min-height:76px;padding:15px 16px 13px}.unassigned-head h2{font-size:18px}.unassigned-head>svg{color:var(--brand-600);display:block}.unassigned-controls{background:#fcfafb;gap:10px;padding:12px 14px}.panel-search input{border-radius:8px;height:36px;font-size:12px}.panel-search svg{top:11px}.panel-selects{gap:8px}.panel-selects label>span{margin-bottom:4px;font-size:10px}.panel-selects select{border-radius:6px;height:31px;font-size:11px}.assignment-list{padding:6px 8px 10px}.assignment-item{background:0 0;border:0;border-bottom:1px solid #eee9eb;border-radius:0;margin:0;position:relative}.assignment-item:last-child{border-bottom:0}.assignment-item:hover{background:#fdf9fb;border-color:#eee9eb}.assignment-item.selected{background:var(--brand-50);border-color:#e3c7d7}.assignment-item-main{grid-template-columns:16px 32px minmax(0,1fr);gap:9px;min-height:98px;padding:13px 10px 13px 35px}.assignment-item-main .drag-grip{color:#a5a7ae;margin-top:8px}.assignment-item-main .avatar{width:32px;height:32px;font-size:10px}.assignment-queue-select input{width:15px;height:15px}.assignment-name{align-items:flex-start;gap:6px}.assignment-name strong{white-space:normal;font-size:13px;line-height:1.3}.assignment-name>span{height:auto;color:var(--brand-700);letter-spacing:.03em;background:#fbf5f8;border:1px solid #eadbe3;border-radius:999px;flex:none;padding:3px 6px;font-size:9px}.assignment-contact,.assignment-dates,.assignment-suggestion{margin-top:3px;font-size:11px}.assignment-placed{font-size:10px}.assignment-hints{gap:4px;margin-top:7px}.assignment-hints span{color:var(--text-secondary);background:#f5f3f4;border-radius:999px;padding:2px 5px;font-size:9.5px}.assignment-hints span:first-child{background:var(--warning-bg);color:var(--warning)}.assignment-suggestion{color:var(--brand-600)}.expand-assignment{color:var(--brand-600);padding:7px 12px 9px 76px;font-size:10.5px}.unassigned-foot{background:#fcfafb;min-height:56px;padding:10px 14px;font-size:10.5px}.unassigned-foot .btn{flex:none}@media (max-width:1200px){.room-assignment-layout{grid-template-columns:minmax(0,1fr) 342px;gap:20px}.bed-plan-grid,.bed-plan-grid.compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px 14px;padding:20px 16px 24px}.category-actions>span{display:none}}@media (max-width:900px){.room-assignment-layout{flex-direction:column;display:flex}.unassigned-panel{order:initial;width:100%;height:min(600px,72vh);min-height:440px;position:relative;top:auto}.bed-plan-grid,.bed-plan-grid.compact{grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}}@media (max-width:620px){.active-hotel-head{flex-direction:column;align-items:flex-start;padding:15px}.hotel-contact{text-align:left;align-items:flex-start}.room-canvas-viewport{padding:10px}.canvas-frame-label{flex-direction:column;align-items:flex-start;gap:6px}.room-category-controls{flex-direction:column;align-items:flex-start;padding:8px 12px 10px}.category-tools{justify-content:space-between;width:100%}.room-search{flex:1}.room-search input{width:100%}.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:20px 12px 24px}.room-bed-node{height:170px}.bed-headboard{height:32px;padding:6px 10px 0}.bed-mattress{height:111px;padding:8px}.bed-guests .room-household{font-size:11px}.bed-guests .room-member-summary{font-size:10px}.unassigned-panel{min-height:500px}.unassigned-head{min-height:68px}.assignment-item-main{min-height:94px}}.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(auto-fill,minmax(88px,108px));justify-content:start;align-items:start;gap:18px 14px;padding:22px 20px 28px}.room-bed-node{perspective:900px;height:132px;padding:0;transition:height .36s,grid-column .36s;transform:none}.room-bed-node.expanded{grid-column:span 2;height:210px}.room-door{z-index:5;transform-origin:0;color:#fff;background:linear-gradient(100deg,#5f3d52 0%,#7a2e5d 58%,#8e416c 100%);border:1px solid #6b4e60;border-radius:5px 8px 8px 5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 7px;transition:transform .46s cubic-bezier(.2,.8,.18,1),opacity .24s .14s,visibility 0s linear .48s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 4px 0 #ffffff1f,inset -4px 0 #2d13232e,0 4px 7px #331a292e}.room-door:before{content:"";border:1px solid #ffffff38;border-radius:2px 5px 5px 2px;position:absolute;inset:8px}.room-door:after{content:"";background:#ffffff26;width:1px;position:absolute;top:10px;bottom:10px;left:50%}.room-door strong,.room-door span,.room-door small{z-index:1;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;position:relative;overflow:hidden}.room-door strong{letter-spacing:-.02em;font-size:16px;font-weight:650}.room-door span{font-variant-numeric:tabular-nums;background:#ffffff29;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:650;display:inline-flex}.room-door small{opacity:.78;font-size:9px}.room-door>i{z-index:2;background:#f4c87b;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;right:10px;box-shadow:0 0 0 1px #3d220e61}.room-bed-node.unavailable .room-door{background:linear-gradient(100deg,#74777e,#979aa1);border-color:#90939a}.room-bed-node.drop-valid .room-door{outline:3px solid var(--brand-100);box-shadow:0 0 0 3px var(--brand-500), 0 6px 12px #331a292e}.room-bed-node.drop-capacity .room-door{outline:3px solid var(--danger-bg);box-shadow:0 0 0 3px var(--danger)}.room-bed-node.drop-access .room-door{outline:3px solid var(--warning-bg);box-shadow:0 0 0 3px var(--warning)}.room-bed-node:not(.expanded) .bed-node-label,.room-bed-node:not(.expanded) .bed-headboard,.room-bed-node:not(.expanded) .bed-mattress{visibility:hidden;opacity:0;pointer-events:none;transform:rotateY(9deg)scale(.96)}.room-bed-node.expanded .room-door{opacity:0;visibility:hidden;transform:rotateY(-106deg)}.room-bed-node.expanded .bed-node-label,.room-bed-node.expanded .bed-headboard,.room-bed-node.expanded .bed-mattress{visibility:visible;opacity:1;transition:opacity .24s .12s,transform .44s cubic-bezier(.2,.8,.18,1) 80ms;transform:rotateY(0)scale(1)}.room-bed-node.expanded .bed-node-label{height:31px;padding:0 6px 4px}.room-bed-node.expanded .bed-headboard{height:37px;padding:8px 17px 0}.room-bed-node.expanded .bed-mattress{height:132px;padding:10px 12px 12px}.room-bed-node.expanded .bed-guests{max-height:86px}.room-bed-node.expanded .bed-guests .room-household{font-size:13px}.room-bed-node.expanded .bed-guests .room-member-summary{font-size:11px}.room-bed-node.expanded .bed-target-actions{z-index:4;display:flex;position:absolute;bottom:11px;left:12px;right:12px}.room-bed-node.expanded .bed-target-actions button{border-radius:5px;min-height:25px;font-size:10px}@media (max-width:620px){.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:16px 12px 22px}.room-bed-node{height:118px}.room-bed-node.expanded{grid-column:span 3;height:204px}.room-door strong{font-size:13px}.room-door small{font-size:8px}.room-door{padding-inline:4px}.room-door>i{right:7px}.room-bed-node.expanded .bed-mattress{height:127px}}.active-hotel-head,.canvas-category-frame,.unassigned-panel{box-shadow:none}.room-canvas-shell{border-color:var(--border);background:var(--surface)}.room-canvas-viewport{background:var(--canvas)}.canvas-category-frame,.canvas-frame-label,.room-category-controls{background:var(--surface)}.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(auto-fill,104px);justify-content:start;gap:14px;padding:18px}.room-bed-node,.room-bed-node.expanded{width:104px;height:132px;transform-style:preserve-3d;padding:0;transition:transform .48s cubic-bezier(.2,.76,.18,1);position:relative;overflow:visible}.room-bed-node:hover{transform:none}.room-bed-node.expanded{grid-column:auto;transform:rotateY(180deg)}.room-door,.room-bed-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.room-door{border:1px solid var(--border-strong);background:var(--surface);box-shadow:none;color:var(--text-primary);border-radius:5px 7px 7px 5px;gap:4px;padding:12px 7px;transition:none;display:flex;transform:none}.room-door:before{border-color:var(--border);border-radius:2px 4px 4px 2px;inset:7px}.room-door:after{background:var(--border)}.room-door strong{color:var(--text-primary);font-size:15px}.room-door span{background:var(--surface-subtle);color:var(--text-secondary);border:0;font-size:9px}.room-door small{color:var(--text-tertiary);font-size:9px}.room-door>i{background:var(--brand-600);box-shadow:none}.room-bed-node.partial .room-door{background:#fdf9fb;border-color:#d7b8c8}.room-bed-node.full .room-door{background:#f8fcfa;border-color:#b4d4c7}.room-bed-node.over .room-door{background:#fffafb;border-color:#e6bdc5}.room-bed-node.unavailable .room-door{border-color:var(--border);background:var(--surface-subtle)}.room-bed-node.drop-valid .room-door{outline:2px solid var(--brand-500);outline-offset:2px;box-shadow:none}.room-bed-node.drop-capacity .room-door{outline:2px solid var(--danger);outline-offset:2px;box-shadow:none}.room-bed-node.drop-access .room-door{outline:2px solid var(--warning);outline-offset:2px;box-shadow:none}.room-bed-node.expanded .room-door{visibility:visible;opacity:1;transform:none}.room-bed-face{background:0 0;border-radius:7px;display:block;transform:rotateY(180deg)}.room-bed-face .bed-node-label>span{gap:2px}.room-bed-face .bed-node-label>span>svg{width:10px}.room-bed-face .bed-headboard{width:100%;height:25px;box-shadow:none;background:#eef0f2;border-color:#b9bbc1;border-radius:7px 7px 0 0;gap:5px;padding:5px 9px 0}.room-bed-face .bed-headboard i{border-radius:4px 4px 2px 2px;height:15px}.room-bed-face .bed-mattress{background:var(--surface);width:100%;height:84px;box-shadow:none;border-color:#b9bbc1;border-radius:1px 1px 6px 6px;padding:6px 7px 8px}.room-bed-face .bed-guests{gap:2px;max-height:56px;margin-top:0}.room-bed-face .bed-guests .room-household{font-size:10px;font-weight:600}.room-bed-face .room-issue,.room-bed-face .room-drop-copy{margin-top:2px;font-size:8px!important}.room-bed-face .bed-target-actions{display:flex;position:absolute;bottom:6px;left:6px;right:6px}.room-bed-face .bed-target-actions button{border-radius:3px;min-height:20px;padding:0 3px;font-size:8px}.assignment-item-main{grid-template-columns:16px minmax(0,1fr);padding:12px 12px 12px 35px}.assignment-item-main .drag-grip{margin-top:7px}.assignment-item-main .avatar{display:none}.assignment-queue-select{top:17px;left:12px}@media (max-width:620px){.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(3,minmax(0,104px));justify-content:center;gap:12px;padding:14px 8px 18px}.room-bed-node,.room-bed-node.expanded{width:104px;height:132px}.room-door strong{font-size:15px}}.room-bed-node,.room-bed-node.expanded{perspective:none;width:auto;height:116px;padding:0;transition:none;display:block;overflow:visible;transform:none}.room-bed-node:hover,.room-bed-node.expanded{transform:none}.room-door{display:none}.room-bed-face{backface-visibility:visible;background:0 0;border-radius:0;grid-template-rows:23px 93px;grid-template-columns:32px minmax(0,1fr);height:100%;display:grid;position:static;overflow:visible;transform:none}.room-bed-node:not(.expanded) .bed-node-label,.room-bed-node:not(.expanded) .bed-headboard,.room-bed-node:not(.expanded) .bed-mattress,.room-bed-node.expanded .bed-node-label,.room-bed-node.expanded .bed-headboard,.room-bed-node.expanded .bed-mattress{visibility:visible;opacity:1;transition:none;transform:none}.room-bed-face .bed-node-label{grid-area:1/1/auto/-1;height:23px;padding:0 4px 3px}.room-bed-face .room-overflow{display:grid}.room-bed-face .bed-headboard{width:32px;height:93px;box-shadow:none;background:#eef0f2;border:1px solid #b9bbc1;border-right:0;border-radius:7px 0 0 7px;flex-direction:column;grid-area:2/1;gap:5px;padding:8px 5px}.room-bed-face .bed-headboard i{border-radius:3px 1px 1px 3px;flex:1;width:100%;height:auto}.room-bed-face .bed-headboard:before,.room-bed-face .bed-headboard:after{display:none}.room-bed-face .bed-mattress{background:var(--surface);width:100%;height:93px;box-shadow:none;border:1px solid #b9bbc1;border-radius:0 7px 7px 0;grid-area:2/2;padding:9px 10px}.room-bed-face .bed-mattress:after{display:none}.room-bed-face .bed-guests{gap:3px;max-height:61px}.room-bed-face .bed-guests .room-household{font-size:12px}.room-bed-face .bed-guests .room-member-summary,.room-bed-face .bed-guests>span:not(.room-household):not(.room-member-summary):not(.room-issue):not(.room-drop-copy){font-size:10.5px}.room-bed-face .room-issue,.room-bed-face .room-drop-copy{font-size:9px!important}.room-bed-face .bed-target-actions{display:flex;bottom:7px;left:8px;right:8px}.room-bed-face .bed-target-actions button{min-height:22px;font-size:9px}.room-bed-node.partial .room-bed-face .bed-headboard,.room-bed-node.partial .room-bed-face .bed-mattress{border-color:#b78ca3}.room-bed-node.partial .room-bed-face .bed-mattress{background:#fdf7fa}.room-bed-node.full .room-bed-face .bed-headboard,.room-bed-node.full .room-bed-face .bed-mattress{border-color:#83afa3}.room-bed-node.full .room-bed-face .bed-mattress{background:#f5fbf8}.room-bed-node.over .room-bed-face .bed-headboard,.room-bed-node.over .room-bed-face .bed-mattress{border-color:#d28a96}.room-bed-node.over .room-bed-face .bed-mattress{background:#fff7f8}@media (max-width:620px){.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:1fr;gap:12px;padding:14px}.room-bed-node,.room-bed-node.expanded{width:100%;height:116px}}.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:16px}.room-bed-node,.room-bed-node.expanded{height:102px}.room-bed-face{grid-template-rows:20px 82px;grid-template-columns:27px minmax(0,1fr)}.room-bed-face .bed-node-label{height:20px;padding:0 3px 2px}.room-bed-face .bed-node-label>strong{font-size:10px}.room-bed-face .bed-node-label>span>b{font-size:9px}.room-bed-face .bed-headboard{border-radius:7px 0 0 7px;gap:4px;width:27px;height:82px;padding:7px 4px}.room-bed-face .bed-headboard i{border-radius:3px 1px 1px 3px}.room-bed-face .bed-mattress{border-radius:0 7px 7px 0;height:82px;padding:9px}.room-bed-face .bed-mattress:after{content:"";background:#d9dce0;border:1px solid #9ca0a8;border-left:0;border-radius:0 4px 4px 0;width:5px;height:auto;display:block;position:absolute;inset:9px -5px 9px auto}.room-bed-face .bed-guests{max-height:48px;padding-right:3px}.room-bed-face .bed-guests .room-member-summary,.room-bed-face .bed-guests>span:not(.room-household):not(.room-member-summary):not(.room-issue):not(.room-drop-copy){color:var(--text-primary);font-size:11px;font-weight:600}.room-bed-face .bed-target-actions{bottom:6px;left:7px;right:7px}@media (max-width:620px){.bed-plan-grid,.bed-plan-grid.compact,.bed-plan-grid.comfortable{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.room-bed-node,.room-bed-node.expanded{width:100%;height:102px}}.stay-slot-workspace{padding-top:0}.stay-slot-workspace .stay-control-actions{flex:350px;justify-content:flex-end;align-items:center;gap:8px;display:flex}.stay-slot-workspace .stay-control-actions .stay-room-search{flex:190px}.stay-slot-workspace .stay-control-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:34px;color:var(--text-secondary);align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:550;display:inline-flex}.stay-slot-workspace .stay-control-button svg{width:14px}.stay-slot-workspace .stay-view-toggle{border:1px solid var(--border);border-radius:var(--radius);height:34px;color:var(--text-tertiary);align-items:center;gap:9px;padding:0 10px;display:inline-flex}.stay-slot-workspace .stay-view-toggle svg{width:15px}.stay-slot-workspace .stay-view-toggle svg:first-child{color:var(--brand-600)}.stay-slot-workspace .stay-room-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.stay-slot-workspace .stay-room-slot.drop-valid{border:2px solid var(--brand-500);background:var(--brand-50)}.stay-slot-workspace .stay-room-slot.drop-capacity{border:2px solid var(--danger);background:var(--danger-bg)}.stay-slot-workspace .stay-room-slot.drop-access{border:2px solid var(--warning);background:var(--warning-bg)}.stay-slot-workspace .stay-room-slot.drop-invalid{border:2px solid var(--border-strong);background:var(--surface-subtle)}.stay-slot-drop-preview{gap:3px;margin-top:11px;display:grid;overflow:hidden}.stay-slot-drop-preview strong{font-size:10.5px;font-weight:650}.stay-slot-drop-preview span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.drop-valid .stay-slot-drop-preview strong{color:var(--brand-700)}.drop-capacity .stay-slot-drop-preview strong,.drop-invalid .stay-slot-drop-preview strong{color:var(--danger)}.drop-access .stay-slot-drop-preview strong{color:var(--warning)}.stay-slot-workspace .queue-card-split{display:none}.stay-slot-workspace .stay-queue footer{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;justify-content:center;min-height:76px;margin:10px}.stay-slot-workspace .stay-queue footer>span:last-child{display:none}.stay-topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:stretch;min-height:48px;margin:-20px -28px 18px;display:flex}.stay-hotel-tabs{min-width:0;display:flex;overflow-x:auto}.stay-hotel-tabs button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 18px;font-size:13px;font-weight:550;display:inline-flex}.stay-hotel-tabs button:hover{background:var(--surface-subtle);color:var(--text-primary)}.stay-hotel-tabs button.active{border-bottom-color:var(--brand-600);color:var(--brand-700)}.stay-hotel-tabs svg{width:16px;color:var(--text-tertiary)}.stay-hotel-tabs .stay-add-hotel{color:var(--text-secondary);font-weight:500}.stay-add-hotel svg{color:inherit}.stay-top-actions{display:none}.stay-selection{border:1px solid var(--brand-100);border-radius:var(--radius);background:var(--brand-50);color:var(--brand-700);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:8px 10px;font-size:12px;display:flex}.stay-selection>span{align-items:center;gap:6px;display:flex}.stay-selection button{color:inherit;background:0 0;border:0}.stay-slot-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.stay-slot-main{min-width:0}.stay-slot-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:12px 0 18px;display:flex}.stay-filter-tabs{gap:4px;display:flex;overflow-x:auto}.stay-filter-tabs button{min-height:32px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px;font-weight:550}.stay-filter-tabs button:hover{background:var(--surface-subtle)}.stay-filter-tabs button.active{background:var(--brand-600);color:#fff}.stay-room-search{flex:230px;position:relative}.stay-room-search svg{width:15px;color:var(--text-tertiary);position:absolute;top:9px;left:10px}.stay-room-search input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:34px;color:var(--text-primary);padding:0 10px 0 32px;font-size:12px}.stay-room-search input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);outline:0}.stay-room-group{border-bottom:1px solid var(--border);padding:20px 0 22px}.stay-room-group:last-child{border-bottom:0}.stay-room-group header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.stay-room-group h2{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:620}.stay-room-group p{color:var(--text-tertiary);margin:3px 0 0;font-size:11px}.stay-room-group p b{color:var(--border-strong);padding:0 4px}.stay-room-group p em{color:var(--danger);font-style:normal;font-weight:550}.stay-room-group header>div:last-child{align-items:center;gap:6px;display:flex}.stay-group-detail{color:var(--brand-600);background:0 0;border:0;align-items:center;gap:3px;font-size:11px;font-weight:550;display:inline-flex}.stay-group-detail svg{width:13px}.stay-group-toggle{text-align:left;background:0 0;border:0;align-items:center;gap:7px;min-width:0;padding:0;display:flex}.stay-group-toggle>svg{width:16px;color:var(--text-tertiary);transition:transform var(--transition);flex:none}.stay-group-toggle>svg.collapsed{transform:rotate(-90deg)}.stay-group-toggle>span{min-width:0}.stay-room-group header:has(.stay-group-toggle[aria-expanded=false]){margin-bottom:0}.stay-room-grid{grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:12px;display:grid}.stay-room-slot{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-height:88px;transition:border-color var(--transition), background var(--transition);padding:11px;position:relative;overflow:hidden}.stay-room-slot:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.stay-room-slot>div:first-child{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.stay-room-slot strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:620;overflow:hidden}.stay-room-slot>div:first-child>span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.stay-room-slot.full{background:#fbfefc;border-color:#bcd9cd}.stay-room-slot.over{background:#fffafb;border-color:#edbdc5}.stay-room-slot.unavailable{color:var(--text-tertiary);background:var(--surface-subtle)}.stay-room-slot.drop-valid{border:2px solid var(--brand-500);background:var(--brand-50)}.stay-room-slot.drop-capacity{border:2px solid var(--danger);background:var(--danger-bg)}.stay-room-slot.drop-access{border:2px solid var(--warning);background:var(--warning-bg)}.stay-room-slot>svg{width:14px;color:var(--danger);position:absolute;bottom:9px;right:9px}.stay-slot-people{justify-content:flex-end;align-items:center;min-height:29px;margin-top:13px;display:flex}.stay-slot-people>span{color:var(--text-tertiary);font-size:16px}.stay-slot-people i{border:1px solid var(--surface);color:#3d5268;background:#eef2f7;border-radius:50%;place-items:center;width:27px;height:27px;margin-left:-5px;font-size:8px;font-style:normal;font-weight:650;display:grid}.stay-slot-people i:first-child{margin-left:0}.stay-slot-people i.tone-0{color:#4a4e57;background:#f0f1f3}.stay-slot-people i.tone-1{color:#3d5268;background:#eef2f7}.stay-slot-people i.tone-2{color:#5a4a52;background:#f3f0f2}.stay-slot-people i.tone-3{color:#3e5548;background:#f0f3f1}.stay-slot-assign{border:1px solid var(--brand-500);background:var(--brand-50);height:24px;color:var(--brand-700);border-radius:5px;font-size:10px;font-weight:600;position:absolute;bottom:6px;left:6px;right:6px}.stay-show-more{color:var(--brand-600);background:0 0;border:0;margin-top:13px;padding:0;font-size:12px;font-weight:550}.stay-room-empty{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-tertiary);text-align:center;grid-column:1/-1;padding:22px;font-size:12px}.stay-queue{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;height:calc(100vh - 86px);min-height:590px;display:flex;position:sticky;top:66px;overflow:hidden}.stay-queue>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:60px;padding:0 14px;display:flex}.stay-queue h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:620}.stay-queue h2 span{background:var(--surface-subtle);min-width:22px;height:20px;color:var(--text-tertiary);border-radius:10px;place-items:center;margin-left:5px;font-size:11px;display:inline-grid}.stay-queue>header>svg{width:16px;color:var(--text-tertiary)}.stay-queue-controls{border-bottom:1px solid var(--border);background:var(--surface-subtle);gap:9px;padding:12px;display:grid}.stay-queue-controls>label{position:relative}.stay-queue-controls label>svg{width:14px;color:var(--text-tertiary);position:absolute;top:10px;left:10px}.stay-queue-controls input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:34px;padding:0 10px 0 32px;font-size:12px}.stay-queue-controls>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.stay-queue-controls select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:32px;color:var(--text-secondary);font-size:11px}.stay-queue-list{flex:1;min-height:0;padding:7px;overflow-y:auto}.stay-queue footer{border-top:1px solid var(--border);background:var(--surface-subtle);min-height:52px;color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:10.5px;display:flex}.stay-queue footer span:first-child{align-items:center;gap:4px;display:flex}.stay-queue footer svg{width:13px}.queue-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:7px;position:relative}.queue-card:hover{border-color:var(--border-strong)}.queue-card-select{z-index:1;position:absolute;top:14px;left:9px}.queue-card-select input{width:14px;height:14px;margin:0}.queue-card-main{text-align:left;background:0 0;border:0;grid-template-columns:14px minmax(0,1fr);gap:6px;width:100%;padding:11px 10px 10px 29px;display:grid}.queue-card-main .drag-grip{color:var(--text-tertiary);margin-top:3px}.queue-card-copy{min-width:0;padding-right:78px;display:block;position:relative}.queue-card-title{align-items:center;gap:6px;display:flex}.queue-card-title strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:620;overflow:hidden}.queue-card-title>span{color:var(--text-secondary);font-size:11px;font-weight:600}.queue-card-meta{color:var(--text-tertiary);margin-top:3px;font-size:10px;display:block}.queue-card-meta time{color:var(--text-secondary);white-space:nowrap;position:absolute;top:0;right:0}.queue-card-progress{color:var(--success);margin-top:4px;font-size:10px;font-weight:550;display:block}.queue-card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.queue-card-tags span{background:var(--surface-subtle);color:var(--text-secondary);border-radius:4px;align-items:center;gap:2px;padding:2px 5px;font-size:9px;font-weight:550;display:inline-flex}.queue-card-tags svg{width:10px}.queue-card-room-type{color:var(--brand-600);font-size:10px;font-weight:600;position:absolute;bottom:0;right:0}.queue-card-split{border:0;border-top:1px solid var(--border);width:100%;color:var(--text-secondary);text-align:left;background:0 0;align-items:center;gap:3px;padding:6px 10px 7px 29px;font-size:10px;display:flex}.queue-card-split:hover{color:var(--brand-700)}.queue-card-split svg{width:13px}@media (max-width:900px){.stay-topbar{margin-left:-14px;margin-right:-14px}.stay-slot-layout{flex-direction:column;display:flex}.stay-queue{width:100%;height:560px;min-height:0;position:relative;top:auto}.stay-top-actions{padding-right:14px}}@media (max-width:620px){.stay-topbar{flex-direction:column;align-items:flex-start}.stay-hotel-tabs{width:100%}.stay-hotel-tabs button{padding:0 12px}.stay-top-actions{width:100%;padding:0 14px 10px}.stay-slot-controls{flex-direction:column;align-items:stretch}.stay-room-search{flex-basis:auto}.stay-room-group header{flex-direction:column;align-items:flex-start}.stay-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stay-room-slot{min-height:82px;padding:9px}.stay-queue footer{font-size:10px}}.content{max-width:1600px;padding:24px 30px 36px}.page-header,.travel-head{margin-bottom:24px}.page-header h1,.travel-head h1{letter-spacing:-.035em;font-size:24px;font-weight:600}.page-header p,.travel-head p{margin-top:5px}.btn{border-color:var(--border-default);border-radius:8px;height:40px;min-height:40px;padding:0 13px;font-size:13px;font-weight:550}.btn.small{height:34px;min-height:34px;padding:0 10px}.btn.primary{background:var(--brand-600);border-color:var(--brand-600)}.btn.primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}.btn.danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn.ghost:hover:not(:disabled),.icon-btn:hover{background:var(--surface-hover)}.btn.text{color:var(--brand-600)}.input,.select,.composer input{border-color:var(--border-default);background:var(--surface);border-radius:8px;height:40px}.input:focus,.select:focus,.composer input:focus,.note-editor:focus,.message-editor:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);outline:0}.card,.panel,.progress-card,.table-card,.setup-section,.travel-calendar,.grouped-list section{border-color:var(--border-default);box-shadow:none;border-radius:10px}.card-header{border-color:var(--border-subtle);min-height:54px;padding:14px 18px}.card-header h2,.card-header h3{font-size:16px}.metric-grid,.summary-strip,.travel-summary{border-color:var(--border-default);border-radius:10px}.metric,.summary-item{border-color:var(--border-subtle);padding:16px 18px}.metric .value{font-size:28px;line-height:1.1}.metric .label,.metric .hint{font-size:12px}.progress-card{padding:17px 18px}.progress-track{background:var(--border-subtle);height:7px}.progress-attending{background:var(--success)}.progress-awaiting{background:var(--warning)}.progress-review{background:var(--danger)}.issue-list{padding:3px 18px 8px}.issue-row{border-bottom:1px solid var(--border-subtle);border-radius:0;margin:0;padding:13px 0}.issue-row:last-child{border-bottom:0}.issue-row:hover{background:0 0}.timeline{padding:10px 18px 8px}.timeline-item{min-height:58px}.checklist{padding:7px 18px 14px}.activity-item{padding:10px 0}.activity-item+.activity-item{border-top:1px solid var(--border-subtle)}.tabs,.views-toolbar,.travel-section-nav,.setup-tabs{border-color:var(--border-subtle)}.view-tab,.tab,.setup-tabs button,.travel-section-nav button{padding:10px 12px}.view-tab.active,.tab.active,.setup-tabs button.active,.travel-section-nav button.active{color:var(--brand-600);border-color:var(--brand-600)}.segmented{background:var(--surface-subtle);border-color:var(--border-default);padding:3px}.segmented button{min-height:30px}.segmented button.selected{background:var(--surface);box-shadow:0 1px 2px #18191d0f}.filter-chip,.active-filter{border-color:var(--brand-100);background:var(--brand-50);color:var(--brand-700)}.table-card{border-color:var(--border-default)}.table-meta{border-color:var(--border-subtle);min-height:44px}th{background:var(--canvas);border-color:var(--border-subtle);height:42px;color:var(--text-secondary);font-weight:600}td{border-color:var(--border-subtle);height:52px}tbody tr:hover td,tbody tr:hover td.sticky-col{background:var(--surface-hover)}tbody tr.selected td,tbody tr.selected td.sticky-col,tbody tr.selected:hover td,tbody tr.selected:hover td.sticky-col{background:var(--brand-50)}.tag{border-color:var(--border-subtle);background:var(--surface-subtle);border-radius:5px;padding:2px 6px;font-size:11px}.status.yes:before{background:var(--success)}.status.maybe:before{background:var(--warning)}.status.no:before{background:var(--danger)}.status.badge{background:var(--danger-bg);color:var(--danger);border-radius:5px}.drawer{border-left:1px solid var(--border-default);box-shadow:var(--shadow-dialog)}.drawer-head{padding:20px 22px 16px}.detail-section{border-color:var(--border-subtle);border-radius:8px}.comms-shell{border-color:var(--border-default);background:var(--surface);border-radius:10px}.messages{background:var(--canvas)}.message-row.out .message{background:var(--brand-50);border-color:var(--brand-100)}.message{border-color:var(--border-default)}.travel-summary>div,.travel-summary>button{border-color:var(--border-subtle);min-height:68px}.travel-summary strong{font-size:21px}.movement-block{border-color:#bedbe0;border-left-color:var(--arrival);background:var(--arrival-bg);box-shadow:none;border-radius:6px}.movement-block.departure{border-color:#d8cdeb;border-left-color:var(--departure);background:var(--departure-bg)}.movement-block:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #18191d14}.direction-mark,.drawer-direction{color:var(--arrival)}.direction-mark.departure,.drawer-direction.departure{color:var(--departure)}.stay-topbar{min-height:58px;margin-top:-24px;margin-left:-30px;margin-right:-30px}.stay-slot-workspace>.stay-topbar{width:calc(100% - 352px);margin-right:0}.stay-page-header{margin-bottom:12px}.stay-page-header+.stay-topbar{margin-top:0}.stay-page-header .header-actions{flex-wrap:nowrap}.stay-slot-layout .stay-queue{height:calc(100vh - 28px);margin-top:-58px}@media (max-width:900px){.stay-slot-layout .stay-queue{height:560px;margin-top:0}.stay-slot-workspace>.stay-topbar{width:auto;margin-right:-14px}}@media (max-width:620px){.stay-page-header .header-actions{width:100%}.stay-page-header .header-actions .btn{flex:1}}@media (min-width:821px){.comms-shell{height:calc(100dvh - 136px);min-height:0}}.stay-slot-layout{gap:22px}.stay-filter-tabs button.active{background:var(--brand-600)}.stay-room-slot{min-height:86px;box-shadow:none;border-color:var(--border-subtle);background:var(--surface);border-radius:8px;min-height:72px;padding:8px 10px;overflow:visible}.stay-room-slot:hover,.stay-room-slot:focus-visible{z-index:4;border-color:var(--border-strong);background:var(--surface);outline:0}.stay-room-slot.full{background:#e7f7eb;border:2px solid #63ae82}.stay-room-slot.partial{background:#eaf0ff;border:2px solid #83a8e2}.stay-room-slot.over{background:#ffe9ee;border:2px solid #dc7f91}.stay-room-slot.full>div:first-child strong{color:#287247}.stay-room-slot.partial>div:first-child strong{color:#456ea9}.stay-room-slot.over>div:first-child strong{color:#b64357}.stay-room-slot>div:first-child{align-items:flex-start}.stay-room-slot>div:first-child strong{font-size:13px}.stay-room-slot>div:first-child>span{font-size:12px}.stay-slot-people{min-height:26px;margin-top:4px}.stay-slot-people i{border-color:var(--surface);width:26px;height:26px;margin-left:-4px;font-size:8px}.stay-room-preview{z-index:10;border:1px solid var(--border-default);background:var(--surface);text-align:left;border-radius:10px;width:220px;padding:13px;display:none;position:absolute;top:calc(100% + 8px);left:-1px;box-shadow:0 8px 22px #18191d24}.stay-room-slot:hover .stay-room-preview,.stay-room-slot:focus-visible .stay-room-preview{display:block}.stay-room-preview-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:10px;display:flex}.stay-room-preview-head strong{font-size:14px}.stay-room-preview-head span{color:var(--success);font-size:13px;font-weight:600}.stay-room-preview-party{gap:7px;padding:11px 0;display:grid}.stay-room-preview-party b{font-size:12px}.stay-room-preview-party span{color:var(--text-secondary);align-items:center;gap:7px;font-size:11px;display:flex}.stay-room-preview-party i{background:var(--success);color:#0000;border-radius:50%;place-items:center;width:8px;height:8px;font-size:0;display:inline-grid}.stay-room-preview>small{color:var(--text-secondary);font-size:11px;display:block}.stay-room-preview-tags{gap:5px;margin-top:11px;display:flex}.stay-room-preview-tags span{border-radius:5px;padding:3px 7px;font-size:10px;font-weight:550}.stay-room-preview-tags .vip{color:#956817;background:#fff4d8}.stay-room-preview-tags .children{color:#6b4b89;background:#f1eafa}.stay-room-slot.partial{background:#fbfcff;border-color:#c8d6ee}.stay-room-slot.full{border-color:var(--success-border);background:#fbfefc}.stay-room-slot.over{border-color:var(--danger-border);background:var(--danger-bg)}.stay-queue{border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:none}.stay-slot-workspace .stay-queue footer{border:0;border-top:1px solid var(--border-default);background:var(--surface-subtle);border-radius:0;margin:0}.queue-card{border-color:var(--border-subtle);border-radius:8px}.queue-card.selected{border-color:var(--brand-500);background:var(--brand-50)}.queue-card.dragging{opacity:.45;border-style:dashed}.room-drag-preview{border:1px solid var(--brand-500);background:var(--surface);width:132px;height:40px;color:var(--text-primary);border-radius:7px;padding:5px 8px;display:grid;position:fixed;top:-1000px;left:-1000px;overflow:hidden}.room-drag-preview strong,.room-drag-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-drag-preview strong{font-size:11px;font-weight:600}.room-drag-preview span{color:var(--text-secondary);font-size:9px}.stay-room-slot.drop-valid{border-color:var(--brand-600);background:var(--brand-50)}.stay-room-slot.drop-valid .stay-slot-drop-preview{margin-top:6px}.stay-room-slot.drop-valid .stay-slot-people{display:none}.announcement-dialog,.vendor-modal,.retry-dialog{border:1px solid var(--border-default);border-radius:12px}.workflow-progress,.audience-summary,.delivery-summary{background:var(--surface-subtle)}.audience-option.selected,.delivery-choice.selected{border-color:var(--brand-500);background:var(--brand-50)}@media (max-width:1120px){.content{padding-left:26px;padding-right:26px}.stay-topbar{margin-left:-26px;margin-right:-26px}}@media (max-width:820px){.content{padding:18px 16px 28px}.page-header h1,.travel-head h1{font-size:24px}}.guest-filter-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.guest-filter-menu{position:relative}.guest-filter-button{height:40px;min-height:40px;padding:0 11px 0 12px;font-size:14px}.guest-filter-button.open{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.guest-filter-options{z-index:20;border:1px solid var(--border-default);background:var(--surface);min-width:164px;box-shadow:var(--shadow-float);border-radius:8px;padding:4px;display:grid;position:absolute;top:calc(100% + 5px);left:0}.guest-filter-options button{min-height:32px;color:var(--text-primary);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;padding:0 8px;font-size:13px;display:flex}.guest-filter-options button:hover{background:var(--surface-hover)}.guest-filter-options button.active{color:var(--brand-700);font-weight:600}.guest-search .input{min-width:300px}.guest-filter-bar+.table-card{flex-direction:column;height:calc(100vh - 190px);min-height:420px;display:flex}.guest-filter-bar+.table-card .table-scroll{flex:1;min-height:0;max-height:none}.guest-filter-bar+.table-card th,.guest-filter-bar+.table-card th:first-child,.guest-filter-bar+.table-card th.sticky-col,th:first-child,th.sticky-col{background:var(--canvas)}.guest-cell .avatar.tone-0{color:#34506d;background:#e8eef9}.guest-cell .avatar.tone-1{color:#315975;background:#e1edf8}.guest-cell .avatar.tone-2{color:#7b355b;background:#f6e3ed}.guest-cell .avatar.tone-3{color:#2d6b54;background:#dfefe7}.guest-cell .avatar.tone-4{color:#934b40;background:#f8e6de}.guest-cell .avatar.tone-5{color:#5b478c;background:#eae4f7}.guest-cell .avatar.tone-6{color:#2a6d52;background:#ddefe6}.guest-cell .avatar.tone-7{color:#8a5b22;background:#f8ecd8}.table-pagination{border-top:1px solid var(--border-subtle);min-height:52px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.table-pagination label,.table-pagination-actions{align-items:center;gap:8px;display:flex}.table-pagination select{border:1px solid var(--border-default);background:var(--surface);min-width:58px;height:32px;color:var(--text-primary);border-radius:6px;padding:0 7px;font-size:12px}.table-pagination .icon-btn{border-radius:6px;width:30px;height:30px}.table-pagination .icon-btn:disabled{opacity:.35}.table-pagination .current-page{background:var(--brand-50);width:30px;height:30px;color:var(--brand-700);border-radius:6px;place-items:center;font-weight:600;display:grid}@media (max-width:980px){.guest-filter-bar{flex-direction:column;align-items:flex-start}.guest-search,.guest-search .input{width:100%}.guest-filter-bar+.table-card{height:calc(100vh - 260px)}}.sidebar{background:var(--canvas)}.main,.content{background:var(--surface)}@media (max-width:820px){.topbar{background:var(--surface)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
