:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--wedding-blush: #d4a5a5;--wedding-blush-light: #e8d4d4;--wedding-blush-dark: #b88a8a;--wedding-sage: #9caf88;--wedding-sage-light: #c5d4b8;--wedding-sage-dark: #7a8f68;--wedding-mauve: #c9b1bd;--wedding-cream: #faf8f5;--wedding-ivory: #f5f0eb;--wedding-champagne: #f7e7ce;--wedding-gold: #c9a959;--wedding-text: #4a4543;--wedding-text-light: #6d6866;--wedding-border: #e5ddd8;--wedding-danger: #c47a7a}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}.app{height:100%;display:flex;flex-direction:column;font-family:Georgia,Times New Roman,serif;background-color:var(--wedding-cream)}.header{background:#fff;color:var(--wedding-text);padding:0 24px;height:64px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #00000014;border-bottom:1px solid var(--wedding-border)}.header-left{display:flex;align-items:center;gap:16px}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:32px;height:32px}.header h1{font-size:20px;font-weight:600;letter-spacing:-.3px;font-family:Georgia,serif;color:var(--wedding-text)}.header-divider{width:1px;height:24px;background:var(--wedding-border)}.stats{display:flex;gap:16px;font-size:13px;color:var(--wedding-text-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.stats span:not(.stat-dot){display:flex;align-items:center;gap:4px}.stat-dot{color:var(--wedding-border)}.header-actions{display:flex;gap:6px;align-items:center}.header-btn{padding:8px 14px;background:transparent;color:var(--wedding-text);border:1px solid var(--wedding-border);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.header-btn:hover{background:var(--wedding-cream);border-color:var(--wedding-blush-light);transform:none}.header-btn.primary{background:var(--wedding-sage);color:#fff;border-color:var(--wedding-sage)}.header-btn.primary:hover{background:var(--wedding-sage-dark);border-color:var(--wedding-sage-dark)}.header-btn.danger{color:var(--wedding-danger);border-color:var(--wedding-danger);background:transparent}.header-btn.danger:hover{background:#fef2f2}.import-btn{display:inline-flex;align-items:center;justify-content:center}.main-content{flex:1;display:flex;overflow:hidden}.room-container{flex:1;background:var(--wedding-ivory)}.sidebar{width:320px;background:#fff;border-left:1px solid var(--wedding-border);overflow-y:auto;overflow-x:hidden}.table-component{-webkit-user-select:none;user-select:none;z-index:20;opacity:1!important}.table-component .table-shape{opacity:1!important}.table-component.selected{z-index:30}.table-component.dragging{z-index:100}.room-object{opacity:.7}.room-object.selected{opacity:.8}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--wedding-ivory)}::-webkit-scrollbar-thumb{background:var(--wedding-blush-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--wedding-blush)}button{transition:all .2s ease}button:hover{opacity:.9;transform:translateY(-1px)}button:active{transform:translateY(0)}input:focus{outline:none;border-color:var(--wedding-blush)!important;box-shadow:0 0 0 2px #d4a5a540}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.table-component{animation:fadeIn .2s ease-out}.mobile-menu-btn{display:none;background:transparent;border:1px solid var(--wedding-border);border-radius:6px;padding:8px 12px;color:var(--wedding-text);cursor:pointer;font-size:20px}.mobile-menu-btn:hover{background:var(--wedding-cream)}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--wedding-border);padding:8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100;gap:8px}.mobile-bottom-nav button,.mobile-bottom-nav label{flex:1;padding:10px 8px;border:1px solid var(--wedding-border);border-radius:8px;background:#fff;color:var(--wedding-text);font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-bottom-nav button.active,.mobile-bottom-nav label.active{background:var(--wedding-sage);color:#fff;border-color:var(--wedding-sage)}.mobile-bottom-nav .nav-icon{font-size:18px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:199}@media(max-width:768px){.header{padding:12px 16px}.header h1{font-size:18px}.stats{font-size:12px;gap:8px}.header-actions{display:none}.mobile-menu-btn{display:block}.main-content{flex-direction:column;padding-bottom:70px}.room-container{flex:1;min-height:0}.sidebar{display:none;position:fixed;top:0;right:0;bottom:0;width:85%;max-width:320px;z-index:200;box-shadow:-4px 0 20px #00000026}.sidebar.mobile-open{display:flex;flex-direction:column}.sidebar-overlay.visible{display:block}.mobile-bottom-nav{display:flex}.edit-panel-mobile{position:fixed;inset:auto 8px 70px!important;width:auto!important;max-height:50vh!important;border-radius:12px 12px 0 0!important}}@media(max-width:480px){.header h1{font-size:16px}.stats{display:none}.mobile-bottom-nav button,.mobile-bottom-nav label{padding:8px 4px;font-size:10px}.mobile-bottom-nav .nav-icon{font-size:16px}}.mobile-notice-spacer{height:44px}.app-footer{background:#fff;border-top:1px solid var(--wedding-border);padding:8px 24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--wedding-text-light);flex-shrink:0}.footer-links{display:flex;gap:16px;align-items:center}.footer-links a{color:var(--wedding-text-light);text-decoration:none;transition:color .15s ease}.footer-links a:hover{color:var(--wedding-text)}.footer-divider{color:var(--wedding-border)}.footer-copyright{color:#706b69}@media(max-width:768px){.app-footer{padding:8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.main-content{padding-bottom:100px}.app-footer{display:none}}
