:root{color:#263238;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f1ea;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:18px}.app-toolbar{background:#fffaf3;border:1px solid #ddd3c7;border-radius:8px;grid-template-columns:1fr;align-items:stretch;gap:12px;padding:16px;display:grid;box-shadow:0 16px 40px #352c231a}.toolbar-info-row,.toolbar-control-row,.toolbar-stats-row,.toolbar-action-row{min-width:0}.toolbar-info-row{grid-template-columns:minmax(220px,.75fr) minmax(0,2.25fr);align-items:end;gap:16px;display:grid}.toolbar-control-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.project-title{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;background:#8d4b32;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.project-name-field{gap:4px;min-width:0;display:grid}.project-name-field span,.detail-field span,.stat-card dt{color:#7c6d5f;font-size:12px;font-weight:700}.project-name-field strong{color:#263238;min-width:180px;font-size:20px;font-weight:800}.wedding-details-grid{grid-template-columns:repeat(5,minmax(96px,1fr));gap:8px;min-width:0;display:grid}.detail-field{gap:4px;min-width:0;display:grid}.detail-field strong{color:#263238;background:#fff;border:1px solid #d8c8b8;border-radius:8px;outline:0;align-items:center;min-width:0;height:36px;padding:0 9px;font-size:14px;font-weight:700;display:flex}.detail-field.compact{max-width:104px}.mode-badge{color:#24715a;background:#e3f2ed;border-radius:999px;flex:none;padding:6px 9px;font-size:12px;font-weight:800}.stats-grid{flex-wrap:wrap;flex:none;align-items:center;gap:5px;margin:0;display:flex}.stat-card{background:#fff;border:1px solid #e4d9cd;border-radius:8px;align-items:center;gap:5px;min-width:0;min-height:36px;padding:0 8px;display:inline-flex}.stat-card dt,.stat-card dd{line-height:1}.stat-card dd{color:#2f3f46;margin:0;font-size:18px;font-weight:850}.toolbar-actions{flex-wrap:wrap;flex:540px;justify-content:flex-start;align-items:center;gap:7px 8px;display:flex}.toolbar-action-group{border-right:1px solid #e5d9ca;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding-right:10px;display:flex}.toolbar-action-group:last-child{border-right:0;padding-right:0}.toggle-control{color:#4a3b30;background:#fffaf3;border:1px solid #d8c8b8;border-radius:8px;align-items:center;gap:5px;min-height:38px;padding:0 8px;font-size:13px;font-weight:750;display:inline-flex}.toggle-control input{accent-color:#8d4b32;width:16px;height:16px}.toolbar-actions button{color:#4a3b30;background:#fff;border:1px solid #cbb8a4;border-radius:8px;min-height:36px;padding:0 10px;font-weight:750}.toolbar-actions .primary-action{color:#fff;background:#8d4b32;border-color:#8d4b32}.planner-stage{background:#fffdf8;border:1px solid #e2d8cc;border-radius:8px;min-height:calc(100vh - 140px);margin-top:16px}.canvas-shell{background:#fffdf8;border:1px solid #e2d8cc;border-radius:8px;margin-top:12px;overflow:auto;box-shadow:inset 0 0 0 1px #ffffffb3}.status-message{color:#27624f;background:#f0faf6;border:1px solid #cdded7;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-weight:750}.status-message--error{color:#9b3528;background:#fff2f0;border-color:#e8beb8}.planner-canvas{background-color:#fffdf8;background-image:linear-gradient(#efe8dd 1px,#0000 1px),linear-gradient(90deg,#efe8dd 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;min-width:1280px;min-height:760px;position:relative;overflow:hidden}.empty-canvas-state{text-align:center;justify-items:center;gap:10px;width:min(360px,100vw - 64px);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-canvas-state h2{letter-spacing:0;margin:0;font-size:26px}.empty-canvas-state p{color:#6f6257;margin:0}.empty-canvas-state button{color:#fff;background:#8d4b32;border:0;border-radius:8px;min-height:40px;padding:0 16px;font-weight:800}.round-table{width:var(--round-table-size,308px);height:var(--round-table-size,308px);-webkit-user-select:none;user-select:none;touch-action:none;position:absolute}.floor-area{color:#4a3023;text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff7edd1;border:2px solid #8d4b32;border-radius:8px;place-items:center;font-size:18px;font-weight:850;display:grid;position:absolute}.floor-area span{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 28px);overflow:hidden}.floor-area.area-stage{background:#ffedd5db;border-color:#8d4b32}.floor-area.area-checkin{background:#e3f2ede0;border-color:#24715a}.floor-area.area-aisle{background:repeating-linear-gradient(45deg,#f4f1ffdb 0 12px,#ffffffb8 12px 24px);border-color:#7c6d5f}.floor-area.area-custom{background:#f5f1eae0;border-color:#6f6257}.area-resize-handle{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 0 45%,#4a302394 45% 55%,#0000 55%),#fffdf8;border:1px solid #4a30236b;border-radius:3px;width:14px;height:14px;padding:0;position:absolute;bottom:5px;right:5px}.round-table:focus-visible{outline-offset:18px;outline:3px solid #24715a}.table-center{color:#4a3023;text-align:center;background:#fff7ed;border:8px solid #d9c0aa;border-radius:50%;place-content:center;width:128px;height:128px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 28px #4c3a2a2e}.table-center span{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:18px;font-weight:850;overflow:hidden}.table-center small{color:#8a5d3b;font-weight:800}.seat-chip{top:var(--seat-y);left:var(--seat-x);color:#36454d;background:#fff;border:1px solid #d8baa2;border-radius:8px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:3px;width:72px;height:32px;padding:4px 6px;display:grid;position:absolute;box-shadow:0 8px 18px #3f2f2124}.round-table.show-notes .seat-chip{grid-template-rows:auto auto;align-content:center;width:80px;height:44px}.seat-chip b{color:#fff;background:#8d4b32;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.seat-chip.with-note b{grid-row:1/span 2;align-self:start;margin-top:2px}.seat-name,.seat-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.seat-name{font-size:12px;font-weight:750}.seat-note{color:#8a5d3b;grid-column:2;font-size:10px;font-weight:700}.seat-chip.empty{color:#9a8b7a;border-color:#e5d9ca}.seat-chip.empty b{background:#b7a795}.modal-backdrop{z-index:20;background:#201c1875;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.table-editor-modal{background:#fffdf8;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(940px,100%);max-height:min(760px,100vh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 80px #15121059}.area-editor-modal{background:#fffdf8;border-radius:8px;width:min(460px,100%);display:grid;overflow:hidden;box-shadow:0 24px 80px #15121059}.modal-header{border-bottom:1px solid #eadfd3;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px 14px;display:flex}.modal-label-field{gap:6px;display:grid}.area-type-field{gap:8px;padding:18px 20px;display:grid}.modal-label-field span{color:#7c6d5f;font-size:12px;font-weight:800}.modal-label-field input{color:#263238;background:0 0;border:0;border-bottom:1px solid #d6c5b2;outline:0;width:min(360px,72vw);font-size:24px;font-weight:850}.area-type-field span{color:#7c6d5f;font-size:12px;font-weight:800}.area-type-field select{color:#263238;background:#fff;border:1px solid #d8c8b8;border-radius:8px;min-height:38px}.icon-button{color:#503f32;background:#fff;border:1px solid #d8c8b8;border-radius:8px;place-items:center;width:36px;height:36px;font-size:24px;line-height:1;display:grid}.seat-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid;overflow:auto}.seat-editor-row{background:#fff;border:1px solid #eadfd3;border-radius:8px;grid-template-columns:72px minmax(110px,.8fr) minmax(160px,1fr);align-items:center;gap:8px;padding:10px;display:grid}.seat-index{color:#6c5d51;font-size:13px;font-weight:800}.seat-editor-row input,.seat-editor-row textarea{color:#263238;background:#fffdf9;border:1px solid #d8c8b8;border-radius:8px;outline:0;width:100%;min-width:0}.seat-editor-row input{height:38px;padding:0 10px}.seat-editor-row textarea{resize:vertical;min-height:38px;padding:8px 10px}.modal-actions{border-top:1px solid #eadfd3;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.modal-actions button{color:#49392d;background:#fff;border:1px solid #cbb8a4;border-radius:8px;min-height:40px;padding:0 14px;font-weight:800}.modal-actions .primary-action{color:#fff;background:#8d4b32;border-color:#8d4b32}.modal-actions .danger-action{color:#b84437;border-color:#b84437}.workspace-placeholder{text-align:center;place-content:center;min-height:calc(100vh - 180px);display:grid}.eyebrow{color:#8a5d3b;margin:0 0 8px;font-size:14px;font-weight:700}h1{letter-spacing:0;margin:0 0 12px;font-size:32px}@media (width<=1180px){.toolbar-info-row{grid-template-columns:1fr}.wedding-details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.app-shell{padding:12px}.stats-grid{flex:100%}.wedding-details-grid{grid-template-columns:1fr}.toolbar-action-group{border-right:0;width:100%;padding-right:0}.detail-field.compact{max-width:none}.seat-editor-grid,.seat-editor-row{grid-template-columns:1fr}}
