@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#283f36;--muted:#7c8177;--paper:#f9f7f1;--line:#e2e4d9;--white:#fffefa;--accent:#a85942;--green:#e5ecdf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--white);border:1px solid var(--line);border-radius:7px;padding:9px 13px;color:var(--ink)}button:hover{background:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #bf9665;outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.primary,.primary{background:var(--ink);color:white;border-color:var(--ink)}button.danger{color:#a33c29}h1,h2,h3,p{margin:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}input,select,textarea{border:1px solid var(--line);background:var(--white);border-radius:6px;padding:10px;color:var(--ink);max-width:100%}label{display:flex;flex-direction:column;gap:7px}small,.muted{color:var(--muted);font-size:12px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:600}.monogram{font:44px Georgia;margin-bottom:35px}.monogram i{font-size:25px;color:#ac9675}#lock{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#e7ebdf,transparent 60%),var(--paper);padding:24px}.lock-card{max-width:430px;text-align:center}.lock-card h1{font-size:54px;margin:15px 0}.lock-card p{line-height:1.6}.lock-card form{margin:28px 0;text-align:left}.lock-card form input{width:100%}.lock-card form button{width:100%;margin:12px 0;padding:13px;display:flex;justify-content:space-between}#loginError{color:#a33c29}header{height:92px;margin:0 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:16px}.mark{border:1px solid #a2aa98;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font:15px Georgia}.brand h1{font-size:31px}.brand p{font-size:9px;letter-spacing:1.5px;margin-top:4px}.head-actions{display:flex;align-items:center;gap:8px}#saveStatus{font-size:11px;color:var(--muted);margin-right:12px}#saveStatus.error{color:#a33c29;font-weight:600}.intro{display:flex;justify-content:space-between;align-items:end;padding:28px 36px 24px}.intro h2{font-size:42px;margin-top:8px}#stats{display:flex;gap:30px}.stat{border-left:1px solid var(--line);padding-left:24px;min-width:92px}.stat b{font:32px 'Libre Caslon Display',Georgia;display:block}.stat small{display:block;margin-top:3px;font-size:10px;letter-spacing:1px;text-transform:uppercase}#alertBar{margin:0 36px 20px}#alertBar button{background:#f5e9dc;border-color:#e7d6c0;display:block;width:100%;text-align:left;font-size:12px;color:#805738}main{display:grid;grid-template-columns:325px minmax(0,1fr);margin:0 36px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white);min-height:750px}.groups-panel{padding:20px 16px;border-right:1px solid var(--line)}.panel-heading{display:flex;align-items:start;justify-content:space-between}.panel-heading h3{font-size:17px}.panel-heading p{font-size:11px;color:var(--muted);margin-top:6px}.panel-heading button{font-size:20px;padding:1px 9px}.search{margin:20px 0 12px;position:relative}.search span{position:absolute;left:11px;top:6px;font-size:25px;color:var(--muted)}.search input{padding-left:37px;width:100%;background:var(--paper)}.filter-tabs{display:flex;gap:4px;margin-bottom:16px}.filter-tabs button{font-size:10px;border:0;padding:7px 9px;background:transparent}.filter-tabs button.active{background:var(--green)}#groups{max-height:660px;overflow:auto;padding-right:3px}.group-card{border:1px solid var(--line);border-left:3px solid var(--color);padding:12px;margin-bottom:10px;border-radius:6px;cursor:grab;background:var(--white)}.group-card:hover{box-shadow:0 3px 12px #283f3610}.group-top{display:flex;align-items:start;gap:8px;justify-content:space-between}.group-title{font-size:12px;font-weight:600;line-height:1.5}.count{border-radius:20px;background:var(--paper);padding:3px 7px;font-size:10px;white-space:nowrap}.members-preview{font-size:10px;color:var(--muted);line-height:1.6;margin:6px 0}.placement{font-size:9px;text-transform:uppercase;letter-spacing:.7px;display:flex;justify-content:space-between}.placement span{color:var(--accent)}#unassigned{border:1px dashed #b1b9a7;border-radius:6px;padding:16px;margin-top:15px;text-align:center;background:#f1f4eb;cursor:pointer}#unassigned strong{font-size:11px}#unassigned small{display:block;font-size:9px;margin-top:5px}.workspace{min-width:0;background:#f4f4ec}.workspace-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 20px;background:var(--white);border-bottom:1px solid var(--line);flex-wrap:wrap}.view-tabs{display:flex;background:var(--paper);border-radius:6px;padding:3px}.view-tabs button{border:0;background:transparent;padding:7px 10px;font-size:11px}.view-tabs button.active{background:var(--white);box-shadow:0 1px 4px #0001}.workspace-tools>div:last-child button{font-size:10px;padding:7px}.workspace-caption{display:flex;justify-content:space-between;gap:10px;padding:14px 20px;font-size:10px;color:var(--muted)}#view{padding:0 20px 20px}.room-scroll{overflow:auto}.room{width:100%;min-width:620px;aspect-ratio:1/1;position:relative;background-image:radial-gradient(#cdd2c5 .6px,transparent .6px);background-size:16px 16px;max-width:1050px;margin:auto}.room svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.room-note{position:absolute;font-size:9px;text-transform:uppercase;letter-spacing:1.8px;color:#939b8d;text-align:center;line-height:1.8}.table-dot{position:absolute;width:8.2%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid #9ba992;background:#fffef8;box-shadow:0 2px 5px #223c2f0c;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:3px;gap:2px;outline:6px dotted #d6ddcf;outline-offset:3px;font-size:9px;z-index:1}.table-dot b{font:24px 'Libre Caslon Display',Georgia}.table-dot small{font-size:8px}.table-dot.over{border-color:#b16b52;background:#f8e9dd;outline-color:#dfc3b1}.table-dot.full{background:#e8eee2;border-color:#6d8265}.table-dot.sweetheart{border-radius:8px;outline:0;background:#f2e6d4;border-color:#b39d79;width:10.5%;aspect-ratio:1.6}.table-dot.sweetheart b{font-size:11px}.table-dot:hover,.drop-target{box-shadow:0 0 0 5px #b7c8b3aa!important}.table-dot .color-row{display:flex;height:4px;gap:2px;margin-top:1px}.color-row i{display:block;width:6px;height:4px;border-radius:2px}.table-dot .table-label{position:absolute;top:calc(100% + 14px);width:145%;font-size:8px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.layout-mode .table-dot{cursor:move;outline-color:#a4b894}.room-legend{display:flex;justify-content:center;gap:20px;padding:16px;color:var(--muted);font-size:10px}.room-legend i{display:inline-block;width:8px;height:8px;background:#e8eee2;border:1px solid #6d8265;border-radius:50%;margin-right:5px}.room-legend .warn{background:#f8e9dd;border-color:#b16b52}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:13px;padding-top:6px}.table-card{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:155px}.table-card.over{border-color:#d6ab92}.table-card>button{border:0;border-radius:0;background:transparent;width:100%;text-align:left;padding:15px;display:flex;justify-content:space-between;align-items:center}.table-card>button b{font:24px 'Libre Caslon Display',Georgia}.table-card small{font-size:10px}.table-card.over>button{background:#f8e9dd}.table-content{padding:0 12px 12px}.group-chip{display:block;width:100%;text-align:left;border-left:3px solid var(--color);padding:7px;margin-top:5px;font-size:10px;background:var(--paper);cursor:grab}.group-chip span{float:right}.empty{font-size:11px;color:var(--muted);padding:12px;line-height:1.7}.guest-table{width:100%;border-collapse:collapse;background:var(--white);font-size:12px}.guest-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.guest-table td,.guest-table th{padding:12px;border-bottom:1px solid var(--line)}.guest-table td button{font-size:11px;padding:5px 8px}footer{display:flex;justify-content:space-between;gap:16px;padding:20px 36px;font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 90px #172e3540;max-width:min(650px,calc(100vw - 28px));max-height:90dvh;padding:26px;background:var(--white);color:var(--ink);width:650px}dialog::backdrop{background:#1d31285c;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:15px}.dialog-heading h2{font-size:30px}.dialog-heading button{padding:3px 9px;font-size:24px;border:0}dialog p{line-height:1.6;margin:12px 0;font-size:12px}dialog img{width:100%;margin:12px 0;border:1px solid var(--line)}.dialog-meta{display:flex;justify-content:space-between;gap:10px;padding:10px 0;font-size:12px}.guest-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);gap:12px}.guest-row input{width:16px;height:16px;accent-color:var(--ink)}.guest-row label{flex:1;display:block;font-size:12px;cursor:pointer}.guest-row small{display:block;font-size:10px;margin-top:4px}.guest-row .tag{font-size:10px;background:var(--paper);padding:4px 7px;border-radius:4px}.dialog-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:20px}.dialog-actions label{flex:1;font-size:11px;min-width:140px}.dialog-actions button{font-size:12px}.stack{display:grid;gap:10px}.notes{background:var(--paper);padding:10px;border-radius:5px;font-size:11px;line-height:1.6}.field-row{display:flex;gap:10px;margin:15px 0}.field-row label{flex:1;font-size:11px}.field-row input{width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:13px 20px;max-width:90vw;z-index:100;box-shadow:0 3px 25px #0002;display:none;font-size:12px}#printArea{display:none}.issue{display:block;text-align:left;width:100%;margin:8px 0;padding:13px}.issue strong{display:block;margin-bottom:4px}.issue span{font-size:11px;color:var(--muted)}.over-text{color:var(--accent)}[hidden]{display:none!important}@media(min-width:1500px){main{grid-template-columns:355px minmax(0,1fr)}#groups{max-height:820px}}@media(max-width:1000px){header{margin:0 18px}.intro{padding:24px 18px}.intro h2{font-size:34px}#alertBar{margin:0 18px 16px}main{margin:0 18px;grid-template-columns:270px minmax(0,1fr)}.head-actions{flex-wrap:wrap;justify-content:end}.head-actions button{font-size:11px}#saveStatus{width:100%;text-align:right}.stat{min-width:70px;padding-left:12px}#stats{gap:12px}.workspace-tools{padding:12px}.workspace-caption{flex-direction:column}#view{padding:0 10px 10px}.group-title{font-size:11px}}@media(max-width:700px){header{height:auto;min-height:100px;gap:10px}.brand{gap:8px}.mark{display:none}.brand h1{font-size:27px}.brand p{font-size:7px}.head-actions{max-width:225px;gap:4px}.head-actions button{padding:6px 9px}.intro{display:block}.intro h2{font-size:36px}#stats{margin-top:20px;gap:28px}.stat:first-child{border:0;padding:0}.stat b{font-size:28px}main{display:flex;flex-direction:column;margin:0 12px}.groups-panel{border-right:0;border-bottom:1px solid var(--line);padding:16px}#groups{display:flex;overflow:auto;gap:10px;max-height:240px}.group-card{flex:0 0 220px;margin-bottom:5px}.filter-tabs{margin-bottom:10px}#unassigned{padding:10px}#unassigned small{display:none}.workspace-tools{gap:10px}.workspace-caption{padding:12px}.workspace-caption span:last-child{display:none}.board{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.group-chip{font-size:9px}.guest-table td,.guest-table th{padding:8px;font-size:10px}.guest-table th:nth-child(3),.guest-table td:nth-child(3){display:none}footer{padding:15px;display:block;line-height:1.8}dialog{padding:18px}.dialog-actions{align-items:stretch}.dialog-actions label{min-width:100%;}.dialog-actions button{flex:1}.workspace{min-height:500px}#viewHint{line-height:1.6}}@media print{body>*{display:none!important}#printArea{display:block!important;color:#000}.print-table{break-inside:avoid;page-break-inside:avoid;margin:0 0 24px}.print-table h2{font-size:24px;border-bottom:1px solid #aaa;padding-bottom:8px}.print-table p{font-size:11px;margin:5px 0}.print-table li{font-size:12px;margin:5px 0}#printArea>h1{font-size:36px;margin-bottom:10px}#printArea>p{margin-bottom:25px}}
@media(min-width:701px){#view{max-height:calc(100dvh - 415px);min-height:500px;overflow:auto}#groups{max-height:calc(100dvh - 650px);min-height:250px}.room .table-label{top:calc(100% + 10px)}.groups-panel{min-width:0}}
@media(max-width:700px){.brand{flex-shrink:0}.brand h1{font-size:25px;white-space:nowrap}.brand p{max-width:160px;line-height:1.5}.head-actions{max-width:180px}.head-actions button{font-size:10px;padding:6px}footer span{display:block}.room-legend{gap:10px}.room .table-label{top:calc(100% + 10px)}}
@media(min-width:701px){.room{width:min(100%,calc(100dvh - 470px));min-width:480px}.table-dot .table-label{font-size:8px}.room-legend{padding:12px 4px;gap:14px;font-size:9px}}
/* Scaled floor editor and visible guest manipulation. SVG keeps physical circles round. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.selection-tools{padding:8px 0}.move-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px}.move-toolbar>span{flex:1;min-width:160px;color:var(--muted)}.move-toolbar button,.move-toolbar select{font-size:10px;padding:7px}.move-toolbar select{max-width:170px}.group-focus-label{display:flex;align-items:center;gap:8px;padding:10px;background:#e6eddf;border-radius:6px;margin-bottom:8px;font-size:11px;flex-wrap:wrap}.group-focus-label i{width:11px;height:11px;border-radius:50%}.group-focus-label span{flex:1;color:var(--muted);font-size:10px}.group-focus-label button{font-size:10px;padding:5px 8px}.room-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}.room-controls button{font-size:10px;padding:7px 9px}.zoom-controls{display:flex;align-items:center;gap:4px}.zoom-controls output{min-width:42px;text-align:center;font-size:11px}.inline-check{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:10px}.inline-check input{accent-color:var(--ink)}.room-layout{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:500px}.room-layout.with-inspector{grid-template-columns:minmax(0,1fr) 250px}.room-canvas{position:relative;min-width:0;background:#eeefe6;background-image:radial-gradient(#cdd2c5 .6px,transparent .6px);background-size:16px 16px}.scaled-room{display:block;width:100%;height:560px;min-width:0;touch-action:none;cursor:grab;user-select:none}.scaled-room:active{cursor:grabbing}.scaled-room .dimension-text{font: .72px 'DM Sans',sans-serif;letter-spacing:.025px;fill:#7b8673}.floor-table{cursor:pointer;outline:none;transition:opacity .15s}.floor-table .table-surface{fill:#fffef8;stroke:#889d7a;stroke-width:.12}.floor-table.over .table-surface{fill:#f7e4d5;stroke:#b16b52}.floor-table.sweetheart .table-surface{fill:#f2e6d4;stroke:#b39d79}.floor-table .table-number{font:1.5px 'Libre Caslon Display',Georgia,serif;fill:#283f36;pointer-events:none}.floor-table.sweetheart .table-number{font:.6px 'DM Sans',sans-serif}.floor-table .table-occupancy{font:.55px 'DM Sans',sans-serif;fill:#66705d;pointer-events:none}.floor-label{font:.56px 'DM Sans',sans-serif;fill:#697561;pointer-events:none}.floor-table.table-focused .table-surface,.floor-table:focus-visible .table-surface{stroke:#284e3c;stroke-width:.25}.floor-table.group-highlight .table-surface{fill:#dfebd5;stroke:#3c6542;stroke-width:.22}.floor-table.group-dim{opacity:.33}.floor-table .clearance-guide{fill:#a5b9950d;stroke:#b0bd9f;stroke-width:.06;stroke-dasharray:.35 .25;pointer-events:none}.floor-table.geometry-error .table-surface,.floor-table.invalid-position .table-surface{stroke:#b13127;stroke-width:.25}.floor-table.drop-target{box-shadow:none!important}.floor-table.drop-target .table-surface{stroke:#274f3b;stroke-width:.35;fill:#d8e8ce}.layout-mode .floor-table{cursor:move}.group-arc{pointer-events:none}.room-footnote{position:absolute;bottom:0;left:0;right:0;background:#f4f4eceb;padding:9px 10px;font-size:9px;color:var(--muted);pointer-events:none}.drop-preview{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:11px;border-radius:6px;padding:9px 12px;pointer-events:none;white-space:nowrap;z-index:2}.drop-preview:empty{display:none}.table-inspector{background:var(--white);border-left:1px solid var(--line);padding:15px;max-height:560px;overflow:auto;font-size:11px}.inspector-title{display:flex;align-items:start;justify-content:space-between;gap:8px}.inspector-title h3{font:25px 'Libre Caslon Display',Georgia;margin-top:6px}.inspector-title small{font-size:8px;letter-spacing:1px}.inspector-title button{padding:2px 6px;font-size:18px}.table-inspector>p{line-height:1.7;margin:8px 0;font-size:10px}.inspector-actions{display:flex;gap:5px;margin:12px 0;flex-wrap:wrap}.table-inspector button{font-size:10px}.inspector-actions button{padding:7px}.table-inspector>label{font-size:10px;margin:12px 0 7px}.table-inspector>label select{font-size:10px}.inspector-people{margin:13px 0}.person-chip{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-left:3px solid var(--color);background:var(--white);border-radius:5px;padding:4px;margin:5px 0}.person-chip>input{width:13px;height:13px;margin:0 2px;flex:none;accent-color:var(--ink)}.person-chip>button{display:block;flex:1;min-width:0;border:0;padding:5px 2px;background:transparent;font-size:10px;text-align:left;cursor:grab;line-height:1.5;overflow-wrap:anywhere}.drag-grip{color:#a3ad99;margin-right:4px}.person-chip.person-selected{background:#e1ebd9;border-color:#7c9670}.person-chip.person-highlight{box-shadow:0 0 0 1px #799269;background:#edf3e7}.group-card.group-selected{background:#e5eedc;box-shadow:0 0 0 1px #7d9473}.table-people{margin-top:10px}.table-settings{font-size:9px;padding:6px!important;background:transparent!important;border:0!important;color:var(--muted);margin-top:8px}.table-card.board-highlight{box-shadow:0 0 0 2px #7d9473}.table-card.board-dim{opacity:.5}.board .table-content{padding-top:0}.board .group-chip{font-size:9px}.swap-controls{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.swap-controls h3{font-size:14px}.draft-list{margin-top:20px}.draft-row{padding:14px 0;border-top:1px solid var(--line)}.draft-row strong,.draft-row small{display:block}.draft-row small{margin:5px 0 9px}.draft-row button{font-size:11px;margin-right:6px}.room-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0 20px}.room-fields label{font-size:11px}.room-dimension-key{display:block;width:280px;max-width:100%;height:180px;margin:15px auto}
@media(min-width:701px){#view{max-height:calc(100dvh - 365px);min-height:650px}#groups{max-height:calc(100dvh - 570px);min-height:350px}.board{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}}
@media(max-width:1100px) and (min-width:701px){.room-layout.with-inspector{grid-template-columns:minmax(0,1fr) 210px}.table-inspector{padding:10px}.scaled-room{height:560px}.room-controls{gap:5px}}
@media(max-width:700px){.head-actions{max-width:190px}.head-actions button{font-size:9px}.room-layout.with-inspector{grid-template-columns:minmax(0,1fr)}.scaled-room{height:490px}.table-inspector{border-left:0;border-top:1px solid var(--line);max-height:420px}.room-controls{align-items:center}.room-controls button{font-size:10px}.room-controls .inline-check{font-size:9px}.room-layout{min-height:490px}.board{grid-template-columns:minmax(0,1fr)}.person-chip>button{font-size:12px}.board .table-card>button{padding:12px}.room-fields{grid-template-columns:1fr 1fr}.move-toolbar>span{min-width:100%;line-height:1.6}.group-focus-label strong{flex:1}.group-focus-label span{min-width:100%}.drop-preview{white-space:normal;max-width:90%;width:max-content;text-align:center}.table-inspector>label,.table-inspector button{font-size:12px}#groups{max-height:220px}.group-card{flex-basis:230px}.room-footnote{font-size:8px}}
.room-footnote{position:static;margin:0;border-top:1px solid var(--line);pointer-events:auto}.scaled-room{height:535px}.table-inspector{max-height:565px}@media(max-width:700px){.scaled-room{height:490px}}
.scaled-room .table-number{font-size:2px}.scaled-room .table-occupancy{font-size:.7px}.scaled-room .sweetheart .table-number{font-size:.6px}.room-footnote{line-height:1.6}
/* Visible move scope, persistent selections, and groups as a first-class workspace. */
main{overflow:clip}.drag-scope{font-size:9px;color:var(--muted);margin:7px 0}.find-group{font-size:9px;padding:5px 8px;margin-top:8px;background:transparent}.chip-scope{display:block!important;float:none!important;font-size:9px!important;margin-top:4px;line-height:1.5;color:#64725b}.available-seats{display:block;font-size:10px;margin-top:4px;color:#64765c}.locate-guest{font-size:9px!important;margin-left:5px}.search-result{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.search-result>span{flex:1}.search-result small{display:block;font-size:9px;margin-top:3px}.search-result button{font-size:9px;padding:5px}.search-result:last-child{margin-bottom:10px}#searchResults{max-height:230px;overflow:auto}#selectionTray:empty{display:none}#selectionTray{position:sticky;top:0;z-index:5;padding:12px 18px;background:#e5eddd;border-bottom:1px solid #b9c7ad;box-shadow:0 3px 8px #283f360a}.tray-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12px}.tray-heading button{font-size:10px;padding:5px 8px}.selected-names{display:flex;flex-wrap:wrap;gap:5px;max-height:140px;overflow:auto;margin:9px 0}.selected-names button{display:flex;gap:6px;align-items:center;background:var(--white);font-size:10px;padding:5px 8px}.selected-names small{font-size:9px}.selected-names span{font-size:15px;color:var(--accent)}.tray-help{font-size:10px;margin:8px 0;color:#5f6d55}.tray-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.tray-actions button,.tray-actions select{font-size:11px;padding:8px}.tray-actions select{max-width:290px}.model-scope{padding:12px;border:1px solid #d7dfce;background:#f1f4ec;border-radius:5px;font-size:11px;line-height:1.6}.found-banner{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;background:#e2eddd;font-size:11px}.found-banner button{font-size:10px;padding:5px}.floor-table.guest-located .table-surface{stroke:#9d5d2d;stroke-width:.4;fill:#fff0cc}.map-label-content{font-family:'DM Sans',sans-serif;text-align:center;line-height:1.15;color:#40533c;overflow:hidden;padding:.1px;background:#fffef8e8;border-radius:.3px}.map-label-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-weight:500}.map-label-space{display:block;font-size:.82em;color:#69765d;margin-top:.1em}.table-group-names{display:grid;gap:5px;margin:12px 0}.table-group-names button{text-align:left;font-size:10px;padding:7px}.fit-summary{margin:12px 0;padding:10px;background:#edf2e6;border:1px solid var(--line);border-radius:6px;font-size:10px;line-height:1.6}.fit-summary strong{display:block;margin-bottom:5px}.fit-summary button{font-size:9px;padding:5px;margin:3px 3px 0 0}.fit-summary p{font-size:10px;line-height:1.6;margin:5px 0}.move-review{list-style:none;padding:0;max-height:330px;overflow:auto}.move-review li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.move-review small{margin-left:6px;font-size:10px}#dragSummary{position:fixed;bottom:16px;left:16px;width:min(420px,calc(100vw - 32px));background:#fffef8f5;border:1px solid #a2b197;border-radius:9px;box-shadow:0 4px 25px #0002;padding:14px;z-index:50;pointer-events:none;font-size:11px}#dragSummary>strong,#dragSummary>small{display:block;margin-bottom:5px}#dragSummary>div{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow:hidden}#dragSummary>div>span{display:block;background:#edf2e7;padding:5px;border-radius:4px;font-size:10px}.group-manager-heading{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:16px 0}.group-manager-heading h3{font:28px 'Libre Caslon Display',Georgia}.group-manager-heading p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.group-manager-heading button{font-size:11px;white-space:nowrap}.group-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.managed-group{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--color);border-radius:7px;padding:15px;min-width:0}.managed-heading{height:auto;margin:0;padding:0 0 9px;display:flex;gap:9px;align-items:start;border:0}.managed-heading h3{font-size:14px;line-height:1.5;flex:1}.managed-heading>span{font-size:10px;white-space:nowrap;color:var(--muted)}.managed-placement{font-size:10px;color:var(--muted);line-height:1.6;margin-bottom:10px}.managed-actions{display:flex;gap:5px;flex-wrap:wrap}.managed-actions button{font-size:9px;padding:6px}.managed-people{margin:12px 0}.managed-group>.managed-people .person-chip>button{font-size:11px}.managed-group>button{font-size:10px;padding:7px}.managed-fit{font-size:10px;margin-top:12px;color:var(--muted)}.managed-fit>summary{cursor:pointer;line-height:1.6}.managed-active,.group-drop-target{box-shadow:0 0 0 2px #729565}.member-search{font-size:11px;margin:15px 0 8px}.member-summary{padding:10px;background:#e9f0e1;border-radius:5px;font-size:10px;line-height:1.7;max-height:110px;overflow:auto}.member-picker{max-height:330px;overflow:auto;margin-top:10px}.member-option{display:flex;flex-direction:row;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.member-option>input{width:15px;height:15px;accent-color:var(--ink)}.member-option small{display:block;font-size:10px;line-height:1.6;margin-top:3px}
@media(max-width:700px){#selectionTray{padding:11px}.selected-names{max-height:125px}.selected-names button{font-size:10px}.tray-heading{font-size:11px}.tray-actions select{max-width:100%;width:100%}.tray-actions button{flex:1}.group-manager{grid-template-columns:minmax(0,1fr)}.group-manager-heading{align-items:start}.group-manager-heading h3{font-size:25px}.group-manager-heading button{font-size:10px;padding:8px}.view-tabs{flex-wrap:wrap}.view-tabs button{font-size:10px;padding:6px 8px}.managed-heading{min-height:0}.managed-heading h3{font-size:15px}.managed-group>.managed-people .person-chip>button{font-size:12px}.managed-actions button{font-size:10px}#dragSummary{bottom:10px;left:10px;width:calc(100vw - 20px)}}
.label-dim{opacity:.4}.map-label-content text{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:0}.map-label-content rect{pointer-events:none}

.attendance-tools{padding:18px 22px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.attendance-tools label{font-weight:600}.attendance-tools select{margin-left:8px}.attendance-tools p,.attendance-detail p{color:var(--muted);font-size:14px}.attendance-row-action{display:block;margin-top:6px;font-size:12px}.inactive-guest{background:#f1eee7}.attendance-detail{border-top:1px solid #d8d5c9;margin-top:20px;padding-top:12px}.attendance-note{padding:14px;background:#f1eee7;border-radius:8px}

.family-block{margin:7px 0;padding:3px 0}.family-together{border:1px solid var(--line);border-left:3px solid #a2aa98;border-radius:7px;padding:5px;background:var(--paper)}.family-block .person-chip{margin:2px 0}.guest-location{min-width:135px;max-width:220px}.guest-location-detail{margin:8px 0 18px;color:var(--muted)}.attendance-tools{align-items:flex-end}.attendance-tools p{flex-basis:100%}
