@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap";:root{color:#302d2a;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:always;font-optical-sizing:auto;background:#f8f7f4;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:360px;min-height:100vh;margin:0}.app-shell{flex-direction:column;max-width:1600px;min-height:100vh;margin:auto;padding:0 4.2%;display:flex}.topbar{border-bottom:1px solid #eae6df;flex-shrink:0;align-items:center;height:83px;display:flex;position:relative}.brand{color:#3d3031;letter-spacing:-1px;align-items:center;gap:10px;font-family:Playfair Display,serif;font-size:24px;font-weight:600;text-decoration:none;display:flex}.brand-icon{color:#8e5360;border:1px solid #ead4d7;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.brand-dot{color:#a55669}.top-center{align-items:center;gap:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.eyebrow{letter-spacing:1.25px;color:#aaa19a;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.top-center .eyebrow{margin-right:2px}.layout-select{color:#38312e;background:#fff;border:1px solid #e5e0da;border-radius:9px;align-items:center;min-width:175px;height:38px;padding:0 10px 0 12px;display:flex}.layout-select select{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;outline:0;flex:1;font:500 12px DM Sans}.layout-select svg{pointer-events:none}.new-layout,.icon-button{color:#514944;cursor:pointer;background:#fff;border:1px solid #e8e3dd;border-radius:9px;align-items:center;gap:7px;height:37px;padding:0 12px;font:500 12px DM Sans;transition:all .15s;display:flex}.new-layout:hover,.icon-button:hover,.inspector-actions button:hover{background:#fffbfb;border-color:#cf9eaa}.header-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.save-status{color:#817c75;align-items:center;gap:7px;margin-right:5px;font-size:11px;display:flex}.save-dot,.live-dot{background:#74a681;border-radius:50%;width:7px;height:7px;display:inline-block}.unsaved .save-dot{background:#d5a355}.import-button{position:relative}.import-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 284px;align-items:stretch;gap:25px;min-height:0;padding-top:29px;display:grid}.canvas-column{flex-direction:column;min-width:0;display:flex}.canvas-heading{justify-content:space-between;align-items:end;margin:0 2px 15px;display:flex}.canvas-heading h1{letter-spacing:-.35px;color:#3b3330;margin:5px 0 0;font:600 21px Playfair Display,serif}.canvas-hint{color:#9a938d;align-items:center;gap:7px;margin-bottom:3px;font-size:11px;display:flex}.hint-divider{color:#d1c8c0}.map-frame{isolation:isolate;background:#e5e8d8;border:1px solid #e5e1d7;border-radius:12px;flex:1;min-height:420px;position:relative;overflow:hidden}.map-zoom{transform-origin:50%;width:100%;height:100%;transition:transform .2s}.map{touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.backdrop{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.venue-object{z-index:2;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:#604a40;justify-content:center;align-items:center;display:flex;position:absolute}.venue-object:active{cursor:grabbing}.venue-object.selected{z-index:5}.object-content{background:#fffcf4f0;border:1px solid #8b7461;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 2px 7px #53463420}.round-table .object-content{outline-offset:-1px;border-radius:50%;outline:3px solid #f7f2e8;box-shadow:0 0 0 1px #8b7461,0 2px 7px #53463422}.rect-table .object-content{border-radius:4px}.sweetheart .object-content{color:#9b5865;background:#fae5e7;border:1px solid #c9808e;border-radius:8px}.dance-floor .object-content{color:#72624f;background:#faf5dec7;border:1.5px dashed #927a62;border-radius:4px}.dj-area .object-content,.custom .object-content{background:#fbf7ebe3;border:1px dashed #917d68;border-radius:5px}.object-content b{text-align:center;font-size:clamp(8px,1vw,11px);font-weight:600}.table-name{color:#473c35;font:600 clamp(12px,1.6vw,17px) Playfair Display,serif}.object-content small{color:#a39a8e;font-size:8px}.selected .object-content{box-shadow:0 0 0 2px #b66d7b,0 3px 12px #53363432}.resize-handle,.rotate-handle{z-index:3;color:#9c5768;background:#fff;border:1px solid #b86c7d;place-items:center;display:grid;position:absolute;box-shadow:0 1px 5px #44322f30}.resize-handle{cursor:nwse-resize;border-radius:3px;width:11px;height:11px;bottom:-5px;right:-5px}.rotate-handle{cursor:grab;border-radius:50%;width:16px;height:16px;top:-19px;left:calc(50% - 8px)}.map-label{z-index:1;color:#748467;letter-spacing:1px;pointer-events:none;font-size:9px;font-weight:700;position:absolute}.label-access{text-align:right;align-items:center;gap:3px;display:flex;top:8%;right:2%}.label-trees{color:#61964f;opacity:.7;font-size:18px;bottom:8%;left:5%}.zoom-controls{background:#fff;border:1px solid #ebe5dd;border-radius:9px;align-items:center;padding:3px;display:flex;position:absolute;bottom:15px;left:14px;box-shadow:0 2px 8px #453e3022}.zoom-controls button{color:#746960;cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:27px;display:grid}.zoom-controls span{color:#898078;text-align:center;min-width:31px;font-size:9px}.map-legend{color:#817b72;background:#ffffffce;border-radius:7px;gap:13px;padding:7px 9px;font-size:9px;display:flex;position:absolute;bottom:14px;right:13px}.map-legend span{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px}.legend-dot.green{background:#78a66a}.legend-dot.path{background:#d6c9a9}.canvas-footer{align-items:center;gap:14px;min-height:60px;display:flex}.element-menu-wrap{position:relative}.add-element,.export-image{color:#fff;cursor:pointer;background:#8e4055;border:0;border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 13px;font:600 12px DM Sans;display:flex;box-shadow:0 2px 5px #79435420}.add-element:hover{background:#793449}.add-element.open{border-radius:8px 8px 0 0}.element-menu{z-index:10;background:#fff;border:1px solid #eee7e0;border-radius:10px;width:220px;padding:5px;position:absolute;bottom:35px;left:0;box-shadow:0 10px 35px #35272220}.element-menu button{text-align:left;color:#534c45;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;height:36px;padding:0 8px;font:500 11px DM Sans;display:flex}.element-menu button:hover{color:#8e4055;background:#fbf4f5}.menu-icon{color:#a46b76;display:flex}.menu-plus{color:#a79d94;margin-left:auto}.footer-tip{color:#aaa198;align-items:center;gap:6px;font-size:10px;display:flex}.export-image{color:#6c625b;box-shadow:none;background:#fff;border:1px solid #e7e1d9;margin-left:auto}.export-image:hover{color:#8e4055;border-color:#bf929b}.inspector{background:#fffefa;border:1px solid #e8e3dc;border-radius:11px;min-height:520px;padding:20px;box-shadow:0 3px 12px #51463808}.empty-inspector{flex-direction:column;align-items:flex-start;padding-top:17px;display:flex}.empty-illustration{color:#9e6872;background:#fbf0f1;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:26px;display:grid;position:relative}.empty-illustration span{color:#c89174;font-size:15px;position:absolute;top:-5px;right:-5px}.empty-inspector h2{color:#443936;margin:9px 0;font:600 20px Playfair Display,serif}.empty-inspector p{color:#918981;margin:0 0 19px;font-size:12px;line-height:1.7}.empty-inspector>button{color:#874555;cursor:pointer;background:#fbf2f3;border:1px solid #ead9dc;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;height:38px;font:600 11px DM Sans;display:flex}.empty-divider{background:#f0ece6;width:100%;height:1px;margin:23px 0 18px}.help-tip{color:#a28e7b;gap:9px;font-size:10px;line-height:1.6;display:flex}.help-tip svg{flex-shrink:0;margin-top:2px}.help-tip b{color:#71665b;font-size:10px}.inspector.has-selection{flex-direction:column;padding:21px;display:flex}.inspector-top{justify-content:space-between;align-items:flex-start;margin-bottom:21px;display:flex}.inspector-top h2{color:#433936;margin:6px 0 0;font:600 20px Playfair Display,serif}.close-panel{color:#aaa19a;cursor:pointer;background:0 0;border:0;font-size:23px;line-height:1}.field-label{color:#635b54;flex-direction:column;gap:7px;margin-bottom:15px;font-size:11px;font-weight:600;display:flex}.field-label>input,.input-unit{color:#443c37;background:#fff;border:1px solid #e9e3dd;border-radius:7px;outline:none;width:100%;height:36px;padding:0 10px;font:500 12px DM Sans}.field-label>input:focus,.input-unit:focus-within{border-color:#be8a95;box-shadow:0 0 0 2px #c2899620}.capacity-block{border-top:1px solid #f1ede7;padding-top:15px}.guest-heading{color:#554c46;align-items:center;gap:7px;margin:1px 0 10px;font-size:11px;font-weight:600;display:flex}.guest-heading span{color:#a39b93;margin-left:auto;font-size:10px;font-weight:400}.empty-guests{color:#a39c94;background:#faf8f4;border-radius:7px;margin-bottom:15px;padding:12px 10px;font-size:10px;line-height:1.5}.guest-list{flex-direction:column;gap:5px;margin-bottom:15px;display:flex}.guest-list>div{color:#716961;background:#faf8f4;border-radius:6px;align-items:center;gap:7px;height:30px;padding:0 7px;font-size:10px;display:flex}.guest-avatar{color:#966875;background:#f1e1e3;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.section-label{color:#a69c93;letter-spacing:1px;border-top:1px solid #f0ece7;margin-bottom:12px;padding-top:14px;font-size:9px;font-weight:700}.dimension-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.input-unit{align-items:center;padding-right:10px;display:flex}.input-unit input{color:#473f39;background:0 0;border:0;outline:0;width:100%;font:500 12px DM Sans}.input-unit span{color:#a39a91;font-size:11px}.rotation-field{width:calc(50% - 5px)}.handle-note{color:#999087;background:#faf8f4;border-radius:7px;align-items:flex-start;gap:7px;margin:3px 0 18px;padding:10px;font-size:9px;line-height:1.5;display:flex}.handle-note svg{color:#af7b85;flex-shrink:0}.inspector-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:10px;display:grid}.inspector-actions button{color:#625a53;cursor:pointer;background:#fff;border:1px solid #e9e3dd;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;font:500 11px DM Sans;display:flex}.inspector-actions .delete-button{color:#a85c5b}.inspector-actions .delete-button:hover{background:#fff7f6;border-color:#dbb2af}.app-footer{color:#aaa29a;border-top:1px solid #ebe7e1;justify-content:space-between;align-items:center;height:42px;margin-top:11px;font-size:10px;display:flex}.footer-brand{color:#8e5964;font-family:Playfair Display;font-weight:600}.footer-right{align-items:center;gap:6px;display:flex}.footer-right svg{color:#78a681}@media (width>=1350px){.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:30px}.map-frame{min-height:530px}.inspector,.inspector.has-selection{padding:24px}}@media (width<=900px){.app-shell{padding:0 3%}.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.top-center{margin-left:auto;margin-right:15px;position:static;transform:none}.top-center>.eyebrow,.header-actions .save-status{display:none}.inspector,.inspector.has-selection{padding:16px}.canvas-hint{font-size:0}.canvas-hint svg{font-size:initial}}@media (width<=650px){.topbar{height:65px}.brand{font-size:20px}.top-center{gap:0;margin-right:8px}.layout-select{min-width:120px}.new-layout{padding:0 8px;font-size:0}.header-actions{gap:5px}.header-actions .icon-button{padding:0 9px;font-size:0}.workspace{flex-direction:column;padding-top:19px;display:flex}.canvas-heading{margin-bottom:11px}.canvas-heading h1{font-size:18px}.map-frame{flex:none;height:68vw;min-height:64vw}.canvas-footer{min-height:52px}.footer-tip{display:none}.inspector{min-height:0;padding:14px!important}.inspector:not(.has-selection){display:none}.empty-inspector{padding:0}.empty-illustration{margin-bottom:14px}.empty-inspector p{margin-bottom:12px}.empty-divider,.help-tip{display:none}.inspector.has-selection{max-height:54vh;overflow:auto}.inspector-top{margin-bottom:12px}.field-label{margin-bottom:10px}.app-footer{font-size:9px}.app-footer>span:first-child{max-width:52%}.map-legend{display:none}}.map-frame{flex:none;width:100%;height:auto;min-height:0;max-height:none}.venue-background{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.map-placeholder{color:#a1988e;pointer-events:none;background:linear-gradient(135deg,#f5f2e9,#eeeee3);flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex;position:absolute;inset:0}.map-placeholder svg{color:#b9a59a}.map-placeholder b{color:#777068;font:600 14px DM Sans}.map-placeholder span{font-size:11px}.background-field{width:100%;margin-top:3px}.background-field input{font-size:10px!important}.url-help{color:#a69b90!important;margin:-6px 0 13px!important;font-size:10px!important;line-height:1.55!important}.empty-inspector>button{cursor:pointer}.multi-inspector{flex-direction:column;align-items:flex-start;padding-top:17px;display:flex}.multi-icon{color:#9e6872;background:#fbf0f1;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:21px;display:grid}.multi-inspector h2{color:#443936;margin:9px 0;font:600 20px Playfair Display,serif}.multi-inspector p{color:#918981;margin:0 0 19px;font-size:12px;line-height:1.7}.multi-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.multi-actions button{color:#625a53;cursor:pointer;background:#fff;border:1px solid #e9e3dd;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:36px;font:500 10px DM Sans;display:flex}.multi-actions button:hover{background:#fffbfb;border-color:#cf9eaa}.multi-actions .delete-button{color:#a85c5b}.multi-help{color:#999087;background:#faf8f4;border-radius:7px;gap:8px;margin-top:17px;padding:11px;font-size:10px;line-height:1.6;display:flex}.multi-help svg{color:#af7b85;flex-shrink:0;margin-top:1px}.auth-shell{color:#302d2a;background:radial-gradient(at 50% 38%,#fffdfa 0%,#f8f5ef 72%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffefa;border:1px solid #e9e3dc;border-radius:15px;width:min(100%,430px);padding:39px 40px 32px;box-shadow:0 12px 50px #5748350c}.auth-brand{width:max-content;margin-bottom:36px}.auth-eyebrow{color:#a19890;margin-bottom:13px}.auth-card h1{letter-spacing:-.6px;color:#413735;margin:0 0 10px;font:600 34px/1.2 Playfair Display,serif}.auth-description{color:#90877f;margin:0 0 26px;font-size:13px;line-height:1.6}.auth-card form .field-label{gap:8px}.auth-card form .field-label input{height:43px;font-size:13px}.auth-card form>button{color:#fff;cursor:pointer;background:#8e4055;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;height:42px;margin-top:5px;font:600 12px DM Sans;display:flex}.auth-card form>button:hover{background:#793449}.auth-card form>button:disabled{opacity:.65;cursor:wait}.auth-error{color:#ad5550;margin:-4px 0 12px;font-size:11px}.auth-privacy{color:#9d948c;border-top:1px solid #f0ece6;align-items:flex-start;gap:8px;margin-top:22px;padding-top:17px;font-size:10px;line-height:1.6;display:flex}.auth-privacy svg{color:#a6777e;flex-shrink:0;margin-top:1px}.auth-loading{color:#91877e;flex-direction:column;align-items:center;gap:13px;padding:30px;font-size:12px;display:flex}.auth-loading p{margin:0}@media (width<=520px){.auth-card{padding:30px 24px 25px}.auth-card h1{font-size:30px}}@media (width<=650px){.inspector:not(.has-selection){display:block}}
