@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#233e37;--green:#28584b;--muted:#7b8881;--line:#e1e5df;--paper:#f5f5ef}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px 'DM Sans',sans-serif;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:8px;font-weight:500}button:hover{background:#edf3ec}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9ebfae;outline-offset:3px}header{height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px;font:800 19px Manrope,sans-serif;color:var(--ink);text-decoration:none}.logo{font-size:28px;background:var(--green);color:white;width:38px;height:38px;display:grid;place-items:center;border-radius:10px}.version{font:10px 'DM Sans',sans-serif;color:var(--muted);margin-left:3px}.actions{display:flex;align-items:center;gap:8px}.actions>span{font-size:11px;color:var(--muted);margin-right:10px}main{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 82px)}aside{background:white;border-right:1px solid var(--line);padding:34px 25px;display:flex;flex-direction:column}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#6f8277}h1{font:800 25px Manrope,sans-serif;letter-spacing:-1px;margin:10px 0 12px}.intro{color:#79847e;font-size:13px;line-height:1.7;margin:0 0 23px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#1c4036}.stats{display:flex;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.stats div{display:flex;flex-direction:column;gap:5px}.stats strong{font:700 26px Manrope,sans-serif}.stats span{font-size:10px;color:var(--muted)}.search{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:0 11px;gap:8px}.search span{font-size:25px;color:#8e9992}.search input{width:100%;border:0;outline:0;padding:12px 0;background:transparent;font-size:12px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}h2{font:700 13px Manrope,sans-serif}.list-heading>span{background:#eef1ec;padding:3px 8px;border-radius:5px;font-size:11px}#pool{min-height:100px;border-radius:8px;padding:5px 0}#pool.drop{background:#ddebe1}.empty{color:#9aa49e;line-height:1.8;text-align:center;padding:23px 10px;font-size:12px;border:1px dashed #dce3da;border-radius:8px}.guest{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:7px;margin:6px 0;padding:10px 9px;cursor:grab;touch-action:none;user-select:none}.grip{color:#afbbb1}.avatar{width:26px;height:26px;background:#e9eee5;border-radius:50%;display:grid;place-items:center;font-size:10px;flex:none}.guest-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.guest.selected{border-color:var(--green);box-shadow:0 0 0 2px #adc7b5}.guest button{border:0;padding:2px 5px;font-size:15px;color:#8e9992}.guest small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.aside-foot{margin-top:auto;padding-top:35px;font-size:11px;line-height:1.7;color:#738379}.aside-foot span{display:block;color:#9ba69e;font-size:10px;margin-top:10px}.workspace{padding:35px 35px 20px;min-width:0}.plan-heading{display:flex;justify-content:space-between;align-items:center}.plan-heading input{font:700 27px Manrope,sans-serif;letter-spacing:-1px;border:0;background:transparent;width:min(520px,100%);padding:9px 0;color:var(--ink)}.plan-heading p{font-size:12px;color:var(--muted);margin:0}.plan-heading p span{margin:0 8px}.legend{display:flex;gap:20px;align-items:center;font-size:11px;color:#829087;margin:27px 0 16px}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;background:white;border:1px solid #c8d3c5}.legend i.filled{background:var(--green);border-color:var(--green)}.legend .hint{margin-left:auto;font-size:10px}.board-scroll{overflow:auto;border:1px solid #dfe4da;border-radius:13px;background-color:#fafbf7;background-image:radial-gradient(#dce2d5 .7px,transparent .7px);background-size:18px 18px}#board{position:relative;width:100%;min-width:760px;aspect-ratio:1120/850}.stage{position:absolute;top:4.5%;left:23%;width:54%;height:9%;border:1px solid #cdd6c7;background:#e8ede2;border-radius:5px 5px 22px 22px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:7px}.stage span{letter-spacing:5px;font-size:13px;font-weight:700}.stage div{font-size:9px;color:#889480}.table{position:absolute;width:12.5%;height:21.18%;border-radius:10px;background:#dedfc6;border:1px solid #c9cbb0;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 5px 0 #d1d3bb70}.table-label{font:700 15px Manrope,sans-serif}.table small{font-size:9px;color:#8a8f70;margin-top:6px}.seat{position:absolute;width:12.8%;height:5.9%;display:flex;align-items:center;justify-content:center;border:1px dashed #c3cdbd;border-radius:8px;background:#fffefb;color:#96a18f;padding:5px 8px;font-size:clamp(9px,.8vw,12px);box-shadow:0 2px 3px #233e3704;touch-action:none;user-select:none;z-index:2}.seat .seat-no{font-size:9px;opacity:.6;margin-right:5px}.seat.occupied{border-style:solid;border-color:#c8d8cb;background:#e5eee4;color:#2d5343;cursor:grab}.seat.selected{outline:2px solid #28584b;outline-offset:2px}.seat.drop{background:#bbd6c0;border:2px solid var(--green)}.seat.match{outline:3px solid #ba9d4e}.seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aisle{position:absolute;top:51%;width:100%;text-align:center;font-size:8px;letter-spacing:4px;color:#c2cabd}.bottom-note{font-size:10px;color:#92a08f;text-align:center;margin-top:14px}dialog{border:1px solid var(--line);border-radius:16px;width:440px;max-width:calc(100% - 32px);padding:30px;box-shadow:0 30px 100px #12352925;color:var(--ink)}dialog::backdrop{background:#163a3255;backdrop-filter:blur(3px)}dialog h2{font-size:23px;margin:12px 0}dialog p{font-size:12px;color:var(--muted);line-height:1.7}textarea{width:100%;border:1px solid var(--line);border-radius:8px;resize:vertical;padding:12px;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:12px 20px;font-size:12px;z-index:20;display:none}.drag-ghost{position:fixed;z-index:99;pointer-events:none;background:var(--green);color:white;padding:13px 20px;border-radius:8px;box-shadow:0 7px 20px #12352933;font-size:13px;transform:translate(-50%,-50%)}@media(min-width:1600px){.workspace{padding-left:60px;padding-right:60px}#board{max-height:calc(100vh - 290px);min-height:600px}}@media(max-width:1000px){header{padding:15px;height:auto;flex-wrap:wrap}.actions>span{display:none}main{grid-template-columns:250px minmax(0,1fr)}aside{padding:25px 18px}.workspace{padding:25px 18px}.hint{display:none!important}.plan-heading input{font-size:22px}.actions button{font-size:11px;padding:8px}}@media(max-width:650px){main{display:flex;flex-direction:column-reverse}.brand{font-size:17px}.actions{flex-wrap:wrap}header{gap:14px}.workspace{padding:22px 14px}.legend{gap:13px}aside{border-top:1px solid var(--line);border-right:0}.stats{justify-content:flex-start;gap:40px}#guestList,#assignedList{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.aside-foot{padding-top:18px}.plan-heading input{font-size:20px}.bottom-note{font-size:9px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:white}header,aside,.legend,.bottom-note,#clearSelection{display:none!important}main{display:block;min-height:0}.workspace{padding:0}.plan-heading input{font-size:22px}.plan-heading p{margin-bottom:12px}.board-scroll{overflow:visible;border:0;background:white}#board{width:100%;min-width:0;max-height:none!important;min-height:0!important}.seat{font-size:10px;print-color-adjust:exact}.table,.stage{print-color-adjust:exact}.seat.occupied{background:#edf2e8}.seat .seat-no{font-size:7px}}

#board{aspect-ratio:1500/1000;min-width:760px}.table{width:9.3333%;height:18%}.seat{width:8%;height:5%;font-size:11px}.plan-heading>div{flex:1;min-width:0}.plan-heading input{width:100%;max-width:620px}.aisle{top:54%}@media print{#board{min-width:0}.seat{font-size:9px}}

#furniture{position:absolute;inset:0 0 0 10%}.wall-art{position:absolute;left:1.5%;width:6%;margin:0;text-align:center;z-index:1}.wall-art.king{top:26%}.wall-art.queen{top:69%}.wall-art img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;border:4px solid #a68b4c;outline:1px solid #796534;box-shadow:inset 0 0 0 2px #e5d7ae,2px 3px 6px #37472d20;background:#e1dbc9}.wall-art figcaption{font-size:9px;color:#7a806f;margin-top:9px}.entrance{position:absolute;bottom:.6%;right:1.5%;display:flex;align-items:center;gap:9px;color:#506d5c}.entrance span{font-size:10px;letter-spacing:2px;font-weight:700}.entrance svg{width:45px;height:36px;fill:none;stroke:#688774;stroke-width:1.5}.entrance .entry-arrow{stroke:#2a584b;stroke-width:2}.image-credits{font-size:9px;color:#92a08f;margin-top:13px;text-align:right}.image-credits summary{cursor:pointer;display:inline-block}.image-credits p{line-height:1.8}.image-credits a{color:inherit}@media print{.wall-art img{print-color-adjust:exact}.image-credits{display:none}.wall-art figcaption{font-size:7px}.entrance span{font-size:8px}}

.shared-notice{border:1px solid #c6d8f7;background:#eaf1ff;padding:12px 15px;border-radius:8px;font-size:12px;line-height:1.6;color:#365989;margin:20px 0 0}.shared-notice[hidden]{display:none}#shareDialog label{display:block;font-size:11px;font-weight:700;margin:20px 0 8px}#shareLink{font:11px/1.6 monospace;background:#f7f9fd;word-break:break-all}#shareDialog .share-detail{font-size:11px}#shareMessage{min-height:1em;color:#245ce3!important}header .actions{flex-wrap:wrap;justify-content:flex-end}header{height:auto;min-height:82px;padding-top:16px;padding-bottom:16px}.actions>span{font-size:10px}@media print{.shared-notice{display:none}}

:root{--ink:#102d59;--green:#245ce3;--paper:#edf4ff}.brand{color:#061a36;gap:9px;flex-shrink:0}.app-mark{width:38px;height:38px;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:5px}.brand-name{font:800 20px Manrope,sans-serif;letter-spacing:-1.1px;line-height:1}.brand-name>span{color:#2864dc}.brand-by{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:500;color:#647997}.brand-by img{width:76px;height:auto}.primary:hover{background:#194dcc}.seat.occupied{border-color:#c5d7f6;background:#eaf1ff;color:#163966}.seat.selected{outline-color:#245ce3}.seat.drop{background:#c9ddff;border-color:#245ce3}.guest.selected{box-shadow:0 0 0 2px #bad0fa}.avatar{background:#eaf1ff;color:#245ce3}.drag-ghost{background:#245ce3}.guest:hover{border-color:#b9ccef}.brand .version{align-self:flex-start;margin-top:2px}.actions>span{display:none}@media(max-width:650px){.brand-name{font-size:19px}}

aside>.eyebrow{margin-bottom:18px}
