@import"https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Roboto:wght@300;400;500&display=swap";body{font-family:Roboto,sans-serif;margin:0;color:var(--dark-text);background-color:var(--white);line-height:1.5}p{margin:0}h1,h2,h3,h4,h5,h6{font-family:Google Sans,Roboto,sans-serif;font-weight:500;color:var(--dark-text);margin-top:0}.navigation-bar{background-color:var(--white);padding:8px 16px;box-shadow:0 1px 2px #3c40434d;position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center}.navigation-logo{display:flex;align-items:center}.navigation-logo img{height:24px;margin-right:8px}.navigation-logo h1{font-family:Google Sans,Roboto,sans-serif;font-size:var(--font-size-lg);font-weight:500;margin:0;color:var(--dark-text)}.navigation-list{list-style-type:none;display:flex;align-items:center;margin:0;padding:0}.navigation-list li{margin:0 4px}.navigation-list a{text-decoration:none;color:var(--secondary-text);font-size:var(--font-size-md);padding:8px 16px;border-radius:var(--border-radius);transition:all .2s ease}.navigation-list a:hover{background-color:var(--grey-100);color:var(--dark-text)}.navigation-list a.active{color:var(--primary);font-weight:500}.navigation-list a.cta{background-color:var(--primary);color:var(--white);margin-left:8px}.navigation-list a.cta:hover{background-color:var(--primary-hover);color:var(--white)}.landing-page{font-family:Roboto,sans-serif;color:var(--dark-text)}.hero-section{display:flex;align-items:center;justify-content:space-between;background-color:var(--white);padding:40px 24px 80px;max-width:1200px;margin:0 auto;flex-wrap:wrap}.hero-content{flex:1;min-width:300px;text-align:left;padding-right:24px}.hero-image{flex:1;min-width:300px;display:flex;justify-content:center;align-items:center}.hero-image img{max-width:100%;height:auto;border-radius:var(--border-radius)}.hero-section h1{font-family:Google Sans,Roboto,sans-serif;font-size:var(--font-size-2xl);margin-bottom:16px;font-weight:500}.hero-section p{font-size:var(--font-size-lg);margin-bottom:32px;color:var(--secondary-text)}@media (max-width: 768px){.hero-section{flex-direction:column;text-align:center;padding:40px 24px}.hero-content{order:2;padding-right:0;text-align:center}.hero-image{order:1;margin-bottom:32px}}.cta-button{background-color:var(--primary);color:var(--white);font-family:Google Sans,Roboto,sans-serif;font-size:var(--font-size-md);padding:12px 24px;border-radius:var(--border-radius);border:none;box-shadow:var(--shadow-sm)}.cta-button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow)}.banner-section{background-color:var(--grey-100);padding:48px 24px;text-align:center}.banner-section h2{font-size:var(--font-size-xl);margin-bottom:16px;color:var(--dark-text)}.banner-section p{color:var(--secondary-text);max-width:700px;margin:0 auto}.features-section{padding:64px 24px;background-color:var(--white)}.features-section h2{text-align:center;font-size:var(--font-size-xl);margin-bottom:48px}.features-section ul{list-style-type:none;padding:0;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.features-section li{background-color:var(--white);padding:24px;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--grey-300);display:flex;flex-direction:column;align-items:center;text-align:center}.features-section li:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:all .2s ease}.pricing-section{padding:64px 24px;background-color:var(--grey-100)}.pricing-section h2{text-align:center;font-size:var(--font-size-xl);margin-bottom:48px}.pricing-cards{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.pricing-card{background-color:var(--white);padding:32px;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);width:300px;border:1px solid var(--grey-300)}.pricing-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:all .2s ease}.pricing-card h3{font-size:var(--font-size-lg);margin-bottom:16px;color:var(--primary)}.pricing-card p{font-size:var(--font-size-xl);margin:24px 0;color:var(--dark-text);font-weight:500}.pricing-card button{width:100%;background-color:var(--white);color:var(--primary);border:1px solid var(--primary)}.pricing-card button:hover{background-color:var(--primary);color:var(--white)}.testimonials-section{padding:64px 24px;background-color:var(--white)}.testimonials-section h2{text-align:center;font-size:var(--font-size-xl);margin-bottom:48px}.testimonials-section blockquote{font-style:italic;font-size:var(--font-size-md);max-width:700px;margin:0 auto 16px;background-color:var(--grey-100);padding:24px;border-radius:var(--border-radius);border-left:4px solid var(--primary);color:var(--secondary-text)}.testimonials-section cite{display:block;text-align:right;font-weight:500;color:var(--dark-text);margin-right:24px}.cta-section{text-align:center;padding:64px 24px;background-color:var(--primary);color:var(--white)}.cta-section h2{font-size:var(--font-size-xl);margin-bottom:24px;color:var(--white)}.cta-section .cta-button{background-color:var(--white);color:var(--primary)}.cta-section .cta-button:hover{background-color:var(--grey-100);color:var(--primary-hover)}.dashboard-container{display:flex;font-family:Roboto,sans-serif;background-color:var(--grey-100);color:var(--dark-text);min-height:100vh}.dashboard-nav{width:256px;background-color:var(--white);box-shadow:0 1px 2px #3c40434d;position:sticky;top:64px}.dashboard-nav ul{list-style-type:none;padding:8px 0;margin:0}.dashboard-nav li{margin:0}.dashboard-nav a{text-decoration:none;color:var(--secondary-text);font-size:var(--font-size-md);display:flex;align-items:center;padding:12px 24px;border-radius:0 24px 24px 0;margin-right:8px}.dashboard-nav a:hover{background-color:var(--grey-100);color:var(--dark-text)}.dashboard-nav a.active{background-color:var(--grey-100);color:var(--primary);font-weight:500}.dashboard-main{flex:1;padding:24px;max-width:1200px;margin:0 auto}.overview-section,.api-section{margin-bottom:24px;padding:24px;border-radius:var(--border-radius);background-color:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--grey-300)}.overview-section h1{font-size:var(--font-size-xl);margin-bottom:16px;color:var(--dark-text)}.api-section h2{font-size:var(--font-size-lg);margin-bottom:16px;color:var(--dark-text)}.api-section p,.overview-section p{color:var(--secondary-text)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px}.dashboard-card{background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;border:1px solid var(--grey-300);transition:all .2s ease}.dashboard-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-icon{width:48px;height:48px;border-radius:50%;margin-right:16px;background-position:center;background-repeat:no-repeat;background-size:24px}.reservations-icon{background-color:#4285f41a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%234285F4'%3E%3Cpath d='M19,4h-1V2h-2v2H8V2H6v2H5C3.89,4,3.01,4.9,3.01,6L3,20c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V6C21,4.9,20.1,4,19,4z M19,20 H5V10h14V20z M19,8H5V6h14V8z M9,14H7v-2h2V14z M13,14h-2v-2h2V14z M17,14h-2v-2h2V14z M9,18H7v-2h2V18z M13,18h-2v-2h2V18z M17,18 h-2v-2h2V18z'%3E%3C/path%3E%3C/svg%3E")}.tables-icon{background-color:#34a8531a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%2334A853'%3E%3Cpath d='M18,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2z M9,4h2v5l-1-0.75L9,9V4z M18,20H6 V4h1v9l3-2.25L13,13V4h5V20z'%3E%3C/path%3E%3C/svg%3E")}.revenue-icon{background-color:#fbbc051a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%23FBBC05'%3E%3Cpath d='M11.8,10.9c-2.27-0.59-3-1.2-3-2.15c0-1.09,1.01-1.85,2.7-1.85c1.78,0,2.44,0.85,2.5,2.1h2.21 c-0.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94,0.42-3.5,1.68-3.5,3.61c0,2.31,1.91,3.46,4.7,4.13c2.5,0.6,3,1.48,3,2.41 c0,0.69-0.49,1.79-2.7,1.79c-2.06,0-2.87-0.92-2.98-2.1h-2.2c0.12,2.19,1.76,3.42,3.68,3.83V21h3v-2.15 c1.95-0.37,3.5-1.5,3.5-3.55C16.5,12.46,14.07,11.49,11.8,10.9z'%3E%3C/path%3E%3C/svg%3E")}.staff-icon{background-color:#ea43351a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%23EA4335'%3E%3Cpath d='M12,12.75c1.63,0,3.07,0.39,4.24,0.9c1.08,0.48,1.76,1.56,1.76,2.73L18,18H6l0-1.61c0-1.18,0.68-2.26,1.76-2.73 C8.93,13.14,10.37,12.75,12,12.75z M4,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2C2,12.1,2.9,13,4,13z M5.13,14.1 C4.76,14.04,4.39,14,4,14c-0.99,0-1.93,0.21-2.78,0.58C0.48,14.9,0,15.62,0,16.43V18l4.5,0v-1.61C4.5,15.56,4.73,14.78,5.13,14.1z M20,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2C18,12.1,18.9,13,20,13z M24,16.43c0-0.81-0.48-1.53-1.22-1.85 C21.93,14.21,20.99,14,20,14c-0.39,0-0.76,0.04-1.13,0.1c0.4,0.68,0.63,1.46,0.63,2.29V18l4.5,0V16.43z M12,6c1.66,0,3,1.34,3,3 c0,1.66-1.34,3-3,3s-3-1.34-3-3C9,7.34,10.34,6,12,6z'%3E%3C/path%3E%3C/svg%3E")}.customers-icon{background-color:#34a8531a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%2334A853'%3E%3Cpath d='M16,11c1.66,0,2.99-1.34,2.99-3S17.66,5,16,5c-1.66,0-3,1.34-3,3s1.34,3,3,3z M8,11c1.66,0,2.99-1.34,2.99-3 S9.66,5,8,5C6.34,5,5,6.34,5,8s1.34,3,3,3z M8,13c-2.33,0-7,1.17-7,3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5z M16,13 c-0.29,0-0.62,0.02-0.97,0.05c1.16,0.84,1.97,1.97,1.97,3.45V19h6v-2.5C23,14.17,18.33,13,16,13z'%3E%3C/path%3E%3C/svg%3E")}.weekly-icon{background-color:#fbbc051a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%23FBBC05'%3E%3Cpath d='M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M8,11H4V6h4V11z M14,11h-4V6h4V11z M20,11h-4V6h4V11z M8,18H4v-5h4V18z M14,18h-4v-5h4V18z M20,18h-4v-5h4V18z'%3E%3C/path%3E%3C/svg%3E")}.no-show-icon{background-color:#ea43351a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%23EA4335'%3E%3Cpath d='M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8 c0-4.42,3.58-8,8-8s8,3.58,8,8C20,16.42,16.42,20,12,20z M15.5,11c0.83,0,1.5-0.67,1.5-1.5S16.33,8,15.5,8S14,8.67,14,9.5 S14.67,11,15.5,11z M8.5,11c0.83,0,1.5-0.67,1.5-1.5S9.33,8,8.5,8S7,8.67,7,9.5S7.67,11,8.5,11z M12,14c-2.33,0-4.31,1.46-5.11,3.5 h10.22C16.31,15.46,14.33,14,12,14z'%3E%3C/path%3E%3C/svg%3E")}.time-slots-icon{background-color:#1a73e81a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' fill='%231A73E8'%3E%3Cpath d='M11.99,2C6.47,2,2,6.48,2,12c0,5.52,4.47,10,9.99,10C17.52,22,22,17.52,22,12C22,6.48,17.52,2,11.99,2z M12,20 c-4.42,0-8-3.58-8-8c0-4.42,3.58-8,8-8s8,3.58,8,8C20,16.42,16.42,20,12,20z M12.5,7H11v6l5.25,3.15l0.75-1.23l-4.5-2.67V7z'%3E%3C/path%3E%3C/svg%3E")}.card-content{flex:1}.card-content h3{font-size:var(--font-size-md);margin:0 0 8px;color:var(--secondary-text)}.card-metric{font-size:var(--font-size-xl);font-weight:500;margin:0 0 4px;color:var(--dark-text)}.card-trend{font-size:var(--font-size-sm);color:var(--secondary-text);margin:0}.card-trend.positive{color:var(--green)}.card-trend.negative{color:var(--red)}.floor-plan-container{margin-top:24px}.floor-plan-placeholder{height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--grey-100);border:1px dashed var(--grey-400);border-radius:var(--border-radius);padding:20px;margin-bottom:20px}.floor-plan-legend{background-color:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);padding:16px}.floor-plan-legend h3{margin-top:0;margin-bottom:12px;font-size:var(--font-size-md)}.floor-plan-legend ul{list-style-type:none;padding:0;margin:0;display:flex;gap:20px}.legend-item{display:inline-block;width:16px;height:16px;border-radius:50%;margin-right:8px;vertical-align:middle}.legend-item.available{background-color:var(--green)}.legend-item.occupied{background-color:var(--red)}.legend-item.reserved{background-color:var(--yellow)}.settings-container{margin-top:24px}.settings-group{background-color:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);padding:24px;margin-bottom:24px}.settings-group h2{margin-top:0;margin-bottom:24px;font-size:var(--font-size-lg);color:var(--dark-text)}.settings-item{margin-bottom:16px}.settings-item label{display:block;margin-bottom:8px;font-weight:500;color:var(--secondary-text)}.settings-item input[type=text],.settings-item input[type=email],.settings-item input[type=tel],.settings-item input[type=time],.settings-item select{width:100%;padding:8px 12px;border:1px solid var(--grey-400);border-radius:var(--border-radius);font-size:var(--font-size-md)}.settings-item input:focus,.settings-item select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.checkbox-item{display:flex;align-items:center}.checkbox-item input{margin-right:8px}.checkbox-item label{margin-bottom:0}.hours-inputs{display:flex;align-items:center;gap:12px}.hours-inputs input{width:120px}.settings-actions{display:flex;gap:12px;margin-top:24px}.layouts-selector{display:flex;align-items:center;gap:12px;margin-bottom:16px}.layouts-selector select{padding:8px;border-radius:var(--border-radius);border:1px solid var(--grey-300);min-width:200px}.new-layout-form{display:flex;gap:8px;margin-bottom:16px;padding:12px;background-color:var(--grey-100);border-radius:var(--border-radius)}.new-layout-form input{flex:1;padding:8px;border-radius:var(--border-radius);border:1px solid var(--grey-300)}button.danger{background-color:var(--red);color:#fff}button.secondary{background-color:var(--grey-300);color:var(--dark-text)}.floor-plan-container{position:relative;height:500px;background-color:#f5f5f5;border:1px solid #ddd;margin:20px 0;overflow:hidden}.floor-plan-canvas{position:relative;width:100%;height:100%;background-color:#f9f9f9;transition:background-color .3s ease}.floor-plan-canvas.editing{background-color:#e8e8e8}.floor-plan-table{position:absolute;background-color:#e1e1e1;border:2px solid #333;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;z-index:1}.floor-plan-table.rectangle{border-radius:4px}.floor-plan-table.round{border-radius:50%}.table-number{font-weight:700;color:#333}.table-chair{position:absolute;background-color:#726a6a;border-radius:50%;z-index:0}.table-controls{display:flex;gap:15px;margin-bottom:15px}.table-controls{display:flex;gap:15px;margin:15px 0;padding:10px;background-color:#f5f5f5;border-radius:4px}.control-group{display:flex;align-items:center;gap:5px}.control-group label{font-weight:500}.table-chair{position:absolute;background-color:#726a6a;border-radius:50%;z-index:0;border:1px solid #333;box-shadow:0 1px 2px #0003}.restaurant-dropdown{position:absolute;background-color:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);box-shadow:var(--shadow);min-width:200px;z-index:10;margin-top:4px;max-height:300px;overflow-y:auto}.restaurant-option{padding:10px 16px;cursor:pointer;transition:background-color .2s ease;background-color:var(--white, #ffffff);display:block;width:100%;text-align:left}.restaurant-option:hover{background-color:var(--grey-100)}.add-restaurant-option{border-top:1px solid var(--grey-200);color:var(--primary);font-weight:500}.add-restaurant-container{display:flex;padding:8px;border-top:1px solid var(--grey-200)}.add-restaurant-input{flex:1;padding:8px 12px;border:1px solid var(--grey-400);border-radius:var(--border-radius) 0 0 var(--border-radius);font-size:var(--font-size-md);transition:border-color .2s ease,box-shadow .2s ease}.add-restaurant-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.add-restaurant-button{background-color:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:0 var(--border-radius) var(--border-radius) 0;cursor:pointer;font-weight:500;transition:background-color .2s ease}.add-restaurant-button:hover{background-color:var(--primary-dark, #3367d6)}.add-restaurant-button:active{transform:translateY(1px)}.section-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.section-actions button.secondary{background-color:var(--secondary);color:var(--white);border:none;padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s}.section-actions button.secondary:hover{background-color:var(--secondary-hover)}.search-container{margin-left:auto}.upload-status.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.upload-status.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.fixed-components-palette{background-color:var(--grey-100);border:1px solid var(--grey-300);border-radius:var(--border-radius);padding:16px;margin-bottom:16px}.fixed-components-palette h3{margin:0 0 12px;font-size:var(--font-size-md);color:var(--dark-text)}.palette-items{display:flex;gap:16px;align-items:center}.palette-item-wrapper{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:8px;border-radius:var(--border-radius);transition:background-color .2s ease}.palette-item-wrapper:hover{background-color:var(--grey-200)}.palette-label{margin-top:8px;font-size:var(--font-size-sm);color:var(--secondary-text);font-weight:500}.reservation-sources-section{margin-top:40px;background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.reservation-sources-section h2{margin-bottom:8px;color:#333}.section-subtitle{color:#666;font-size:14px;margin-bottom:20px}.loading-sources{text-align:center;padding:40px;color:#666}.sources-list{display:flex;flex-direction:column;gap:12px}.source-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border-radius:6px;transition:background-color .2s}.source-item:hover{background:#e9ecef}.source-info{display:flex;flex-direction:column;gap:4px}.source-name{font-weight:500;color:#333}.source-url{font-size:12px;color:#666;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-count{display:flex;align-items:baseline;gap:6px}.count-number{font-size:24px;font-weight:600;color:#007bff}.count-label{font-size:14px;color:#666}.no-sources{text-align:center;padding:40px}.no-sources p{margin-bottom:8px;color:#666}.no-sources .hint{font-size:14px;color:#999}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading p{color:#666;font-size:16px}.reservations-section{margin-bottom:24px;padding:24px;border-radius:var(--border-radius);background-color:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--grey-300)}.reservations-section h1{font-size:var(--font-size-xl);margin-bottom:16px;color:var(--dark-text)}.reservations-section p{color:var(--secondary-text);margin-bottom:24px}.section-actions{display:flex;justify-content:space-between;align-items:center;margin:24px 0}.search-container{position:relative;width:300px}.search-container input{width:100%;padding:8px 12px;border:1px solid var(--grey-400);border-radius:var(--border-radius);font-size:var(--font-size-md);color:var(--dark-text)}.search-container input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.data-table{width:100%;border-collapse:collapse;margin-top:16px}.data-table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--grey-300);color:var(--secondary-text);font-weight:500;font-size:var(--font-size-sm)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--grey-300);color:var(--dark-text)}.data-table tr:hover{background-color:var(--grey-100)}.actions{min-width:120px}.action-buttons{display:flex;gap:8px;align-items:center}.edit-button{background-color:var(--primary)!important;color:#fff!important;border:none;padding:6px 12px;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;min-width:60px;justify-content:center;text-decoration:none}.edit-button svg{stroke:#fff!important;fill:none!important;color:#fff!important}.edit-button:hover{background-color:var(--primary-dark, #3367d6)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 4px #4285f44d;text-decoration:none}.edit-button:hover svg{stroke:#fff!important;color:#fff!important}.edit-button:active{transform:translateY(0);box-shadow:0 1px 2px #4285f44d;color:#fff!important;background-color:var(--primary-dark, #3367d6)!important}.edit-button:focus{outline:none;box-shadow:0 0 0 2px #4285f466;color:#fff!important;background-color:var(--primary)!important}.icon-button{width:32px;height:32px;border-radius:50%;background-color:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-button:hover{background-color:var(--grey-200);transform:scale(1.1)}.delete-button{color:var(--red, #dc3545)}.delete-button:hover{background-color:#dc35451a;color:var(--red, #dc3545)}.delete-button svg{stroke:currentColor}button.primary{background-color:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease}button.primary:hover:not(:disabled){background-color:var(--primary-dark, #3367d6);transform:translateY(-1px);box-shadow:0 2px 6px #4285f44d}button.primary:disabled{background-color:var(--grey-400);cursor:not-allowed;opacity:.6}button.primary:focus{outline:none;box-shadow:0 0 0 2px #4285f466}@media (max-width: 768px){.section-actions{flex-direction:column;gap:16px;align-items:stretch}.search-container{width:100%}.action-buttons{flex-direction:column;gap:4px}.edit-button{width:100%;min-width:auto}}.one-top-circle{position:relative;width:35px;height:35px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.one-top-circle.editable{cursor:move}.one-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.one-top-circle.palette-item{opacity:.8;transform:scale(.8)}.one-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.one-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.one-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-one-circle-left{top:50%;left:1px;transform:translateY(-50%)}.one-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.one-top-circle-delete-btn:hover{background-color:#c00}.one-top-circle:hover .one-top-circle-delete-btn{opacity:1}.one-top-circle-number{font-weight:700;font-size:.7rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.one-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:9px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.two-top{position:relative;width:30px;height:50px;cursor:default}.two-top.palette-item{opacity:.8;transform:scale(.8)}.two-top.palette-item:hover{opacity:1;transform:scale(.85)}.two-top-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:25px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.two-top-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;left:50%;transform:translate(-50%);z-index:1}.chair-top{top:5px}.chair-bottom{bottom:5px}.two-top-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.two-top-delete-btn:hover{background-color:#c00}.two-top:hover .two-top-delete-btn{opacity:1}.two-top-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.two-top-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.rotation-button{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#007bff;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease}.rotation-button:hover{background:#0056b3;transform:translate(-50%) scale(1.1)}.palette-item .rotation-button{display:none}.two-top.selected-component{outline:2px solid #007bff;outline-offset:2px}.two-top{position:relative}.two-top.editable:hover{cursor:move}.two-top.selected-component{cursor:default}.two-top{position:relative;transform-origin:center center}.two-top.selected-component{outline:2px solid #007bff;outline-offset:2px;transform-origin:center center}.two-top{position:relative;transform-origin:center center;-webkit-user-select:none;user-select:none}.two-top.editable{cursor:move}.two-top.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.two-top-circle{position:relative;width:40px;height:40px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.two-top-circle.editable{cursor:move}.two-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.two-top-circle.palette-item{opacity:.8;transform:scale(.8)}.two-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.two-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:25px;height:25px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.two-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-two-circle-left{top:50%;left:1px;transform:translateY(-50%)}.chair-two-circle-right{top:50%;right:1px;transform:translateY(-50%)}.two-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.two-top-circle-delete-btn:hover{background-color:#c00}.two-top-circle:hover .two-top-circle-delete-btn{opacity:1}.two-top-circle-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.two-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.four-top{position:relative;width:50px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.four-top.editable{cursor:move}.four-top.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.four-top.palette-item{opacity:.8;transform:scale(.8)}.four-top.palette-item:hover{opacity:1;transform:scale(.85)}.four-top-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.four-top-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-four-left-1{left:10px;top:5px}.chair-four-left-2{left:10px;bottom:5px}.chair-four-right-1{right:10px;top:5px}.chair-four-right-2{right:10px;bottom:5px}.four-top-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.four-top-delete-btn:hover{background-color:#c00}.four-top:hover .four-top-delete-btn{opacity:1}.four-top-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.four-top-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.four-top-compact{position:relative;width:30px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.four-top-compact.editable{cursor:move}.four-top-compact.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.four-top-compact.palette-item{opacity:.8;transform:scale(.8)}.four-top-compact.palette-item:hover{opacity:1;transform:scale(.85)}.four-top-compact-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:25px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.four-top-compact-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-top-left{top:19px;left:22px}.chair-top-right{top:5px;right:9px}.chair-bottom-left{bottom:19px;left:-4px}.chair-bottom-right{bottom:5px;right:9px}.four-top-compact-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.four-top-compact-delete-btn:hover{background-color:#c00}.four-top-compact:hover .four-top-compact-delete-btn{opacity:1}.four-top-compact-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.four-top-compact-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.four-top-circle{position:relative;width:50px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.four-top-circle.editable{cursor:move}.four-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.four-top-circle.palette-item{opacity:.8;transform:scale(.8)}.four-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.four-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.four-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-circle-top{top:3px;left:50%;transform:translate(-50%)}.chair-circle-right{top:50%;right:3px;transform:translateY(-50%)}.chair-circle-bottom{bottom:3px;left:50%;transform:translate(-50%)}.chair-circle-left{top:50%;left:3px;transform:translateY(-50%)}.four-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.four-top-circle-delete-btn:hover{background-color:#c00}.four-top-circle:hover .four-top-circle-delete-btn{opacity:1}.four-top-circle-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.four-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.six-top{position:relative;width:70px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.six-top.editable{cursor:move}.six-top.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.six-top.palette-item{opacity:.8;transform:scale(.8)}.six-top.palette-item:hover{opacity:1;transform:scale(.85)}.six-top-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:55px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.six-top-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-six-left-1{left:10px;top:4px}.chair-six-left-2{left:29px;top:81%;transform:translateY(-50%)}.chair-six-left-3{left:10px;bottom:4px}.chair-six-right-1{right:10px;top:4px}.chair-six-right-2{right:29px;top:20%;transform:translateY(-50%)}.chair-six-right-3{right:10px;bottom:4px}.six-top-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.six-top-delete-btn:hover{background-color:#c00}.six-top:hover .six-top-delete-btn{opacity:1}.six-top-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.six-top-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.six-top-circle{position:relative;width:80px;height:80px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.six-top-circle.editable{cursor:move}.six-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.six-top-circle.palette-item{opacity:.8;transform:scale(.8)}.six-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.six-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.six-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-six-circle-1{top:7px;left:50%;transform:translate(-50%)}.chair-six-circle-2{top:20px;right:10px}.chair-six-circle-3{bottom:20px;right:10px}.chair-six-circle-4{bottom:7px;left:50%;transform:translate(-50%)}.chair-six-circle-5{bottom:20px;left:10px}.chair-six-circle-6{top:20px;left:10px}.six-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.six-top-circle-delete-btn:hover{background-color:#c00}.six-top-circle:hover .six-top-circle-delete-btn{opacity:1}.six-top-circle-number{font-weight:700;font-size:.8rem;color:#000;-webkit-user-select:none;user-select:none;cursor:pointer}.six-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px;color:#000}.eight-top{position:relative;width:85px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.eight-top.editable{cursor:move}.eight-top.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.eight-top.palette-item{opacity:.8;transform:scale(.8)}.eight-top.palette-item:hover{opacity:1;transform:scale(.85)}.eight-top-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.eight-top-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-eight-left-1{left:13px;top:5px}.chair-eight-left-2{left:30px;top:5px}.chair-eight-left-3{left:47px;top:5px}.chair-eight-left-4{left:63px;top:5px}.chair-eight-right-1{right:10px;bottom:5px}.chair-eight-right-2{right:26px;bottom:5px}.chair-eight-right-3{right:43px;bottom:5px}.chair-eight-right-4{right:60px;bottom:5px}.eight-top-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.eight-top-delete-btn:hover{background-color:#c00}.eight-top:hover .eight-top-delete-btn{opacity:1}.eight-top-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.eight-top-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.eight-top-circle{position:relative;width:80px;height:80px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.eight-top-circle.editable{cursor:move}.eight-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.eight-top-circle.palette-item{opacity:.8;transform:scale(.8)}.eight-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.eight-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.eight-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-eight-circle-1{top:7px;left:50%;transform:translate(-50%)}.chair-eight-circle-2{top:15px;right:15px}.chair-eight-circle-3{top:50%;right:7px;transform:translateY(-50%)}.chair-eight-circle-4{bottom:15px;right:15px}.chair-eight-circle-5{bottom:7px;left:50%;transform:translate(-50%)}.chair-eight-circle-6{bottom:15px;left:15px}.chair-eight-circle-7{top:50%;left:7px;transform:translateY(-50%)}.chair-eight-circle-8{top:15px;left:15px}.eight-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.eight-top-circle-delete-btn:hover{background-color:#c00}.eight-top-circle:hover .eight-top-circle-delete-btn{opacity:1}.eight-top-circle-number{font-weight:700;font-size:.8rem;color:#000;-webkit-user-select:none;user-select:none;cursor:pointer}.eight-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px;color:#000}.ten-top{position:relative;width:100px;height:50px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.ten-top.editable{cursor:move}.ten-top.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.ten-top.palette-item{opacity:.8;transform:scale(.8)}.ten-top.palette-item:hover{opacity:1;transform:scale(.85)}.ten-top-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85px;height:25px;background-color:#fff;border:2px solid #333;border-radius:2px;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.ten-top-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-ten-left-1{left:15px;top:5px}.chair-ten-left-2{left:29px;top:5px}.chair-ten-left-3{left:43px;top:5px}.chair-ten-left-4{left:57px;top:5px}.chair-ten-left-5{left:71px;top:5px}.chair-ten-right-1{right:15px;bottom:5px}.chair-ten-right-2{right:29px;bottom:5px}.chair-ten-right-3{right:43px;bottom:5px}.chair-ten-right-4{right:57px;bottom:5px}.chair-ten-right-5{right:71px;bottom:5px}.ten-top-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.ten-top-delete-btn:hover{background-color:#c00}.ten-top:hover .ten-top-delete-btn{opacity:1}.ten-top-number{font-weight:700;font-size:.8rem;color:#333;-webkit-user-select:none;user-select:none;cursor:pointer}.ten-top-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px}.ten-top-circle{position:relative;width:95px;height:95px;cursor:default;transform-origin:center center;-webkit-user-select:none;user-select:none}.ten-top-circle.editable{cursor:move}.ten-top-circle.selected-component{outline:2px solid #007bff;outline-offset:2px;cursor:default}.ten-top-circle.palette-item{opacity:.8;transform:scale(.8)}.ten-top-circle.palette-item:hover{opacity:1;transform:scale(.85)}.ten-top-circle-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#fff;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;display:flex;align-items:center;justify-content:center}.ten-top-circle-chair{position:absolute;width:12px;height:12px;background-color:#8233a1;border:1px solid #333;border-radius:50%;z-index:1}.chair-ten-circle-1{top:8px;left:50%;transform:translate(-50%)}.chair-ten-circle-2{top:16px;right:20px}.chair-ten-circle-3{top:33px;right:10px}.chair-ten-circle-4{bottom:33px;right:10px}.chair-ten-circle-5{bottom:16px;right:20px}.chair-ten-circle-6{bottom:8px;left:50%;transform:translate(-50%)}.chair-ten-circle-7{bottom:16px;left:20px}.chair-ten-circle-8{bottom:33px;left:10px}.chair-ten-circle-9{top:33px;left:10px}.chair-ten-circle-10{top:16px;left:20px}.ten-top-circle-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transition:opacity .2s;padding:0}.ten-top-circle-delete-btn:hover{background-color:#c00}.ten-top-circle:hover .ten-top-circle-delete-btn{opacity:1}.ten-top-circle-number{font-weight:700;font-size:.8rem;color:#000;-webkit-user-select:none;user-select:none;cursor:pointer}.ten-top-circle-number-input{width:80%;text-align:center;font-weight:700;font-size:10px;border:1px solid #007bff;border-radius:2px;background:#fff;padding:1px;color:#000}.floor-plan-canvas.grid-background{background-image:linear-gradient(to right,#e0e0e0 1px,transparent 1px),linear-gradient(to bottom,#e0e0e0 1px,transparent 1px);background-size:20px 20px;background-position:0 0,0 0}.floor-plan-canvas.grid-background:hover{background-image:linear-gradient(to right,#d0d0d0 1px,transparent 1px),linear-gradient(to bottom,#d0d0d0 1px,transparent 1px)}.floor-plan-canvas.grid-background>*{position:relative;z-index:10}.moveable-control-box{position:absolute!important;z-index:1000}.moveable-line{background:#007bff!important}.moveable-control{background:#007bff!important;border:2px solid #fff!important;border-radius:50%!important}.moveable-rotation{background:#28a745!important;border:2px solid #fff!important;border-radius:50%!important}.moveable-direction{background:#007bff!important;border:1px solid #fff!important}.fixed-components-palette{margin:20px 0;padding:15px;border-radius:var(--border-radius);background-color:var(--white);border:1px solid var(--grey-300);box-shadow:var(--shadow-sm)}.fixed-components-palette h3{margin:0 0 10px;font-size:var(--font-size-md);color:var(--dark-text)}.palette-items{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.palette-item-wrapper{display:flex;flex-direction:column;align-items:center;padding:4px;border:1px solid var(--grey-300);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:50px;text-align:center}.palette-item-wrapper:hover{border-color:var(--primary);background-color:#4285f40d;transform:scale(1.02)}.palette-label{font-size:.65rem;color:var(--secondary-text);margin-top:2px;line-height:1.1;white-space:nowrap}.tooltip-container{position:relative;display:inline-block;margin-left:8px}.help-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:20%;background-color:var(--grey-300);border:none;cursor:pointer;color:var(--dark-text);transition:background-color .2s}.help-button:hover{background-color:var(--grey-400)}.tooltip{visibility:hidden;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:320px;background-color:#fff;border-radius:var(--border-radius);padding:12px;box-shadow:0 2px 8px #00000026;z-index:100;opacity:0;transition:opacity .3s,visibility .3s;text-align:left}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-8px;border-width:8px;border-style:solid;border-color:white transparent transparent transparent}.tooltip-container:hover .tooltip{visibility:visible;opacity:1}.tooltip h4{margin-top:0;margin-bottom:8px;color:var(--dark-text);font-size:var(--font-size-md)}.tooltip ul{margin:0 0 12px;padding-left:20px}.tooltip li{margin-bottom:4px;font-size:var(--font-size-sm)}.tooltip pre{background-color:var(--grey-100);padding:8px;font-size:11px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;margin:0}.upload-status{padding:10px 15px;margin-bottom:15px;border-radius:var(--border-radius);font-size:var(--font-size-sm)}.upload-status.success{background-color:#34a8531a;color:var(--green);border:1px solid rgba(52,168,83,.3)}.upload-status.error{background-color:#ea43351a;color:var(--red);border:1px solid rgba(234,67,53,.3)}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.popup{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000001a;padding:20px;width:400px;max-width:90%}.popup h3{margin-top:0;margin-bottom:20px;color:var(--dark-text)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input{width:100%;padding:8px 12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md)}.popup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.action-buttons{display:flex;justify-content:center;gap:8px}.icon-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:4px;transition:background-color .2s}.icon-button:hover{background-color:var(--grey-200)}.delete-button{color:#e53935}.delete-button:hover{background-color:#e539351a}.edit-button{color:var(--primary)}.edit-button:hover{background-color:rgba(var(--primary-rgb),.1)}.pagination-info{text-align:center;margin:15px 0;color:var(--grey-600);font-size:var(--font-size-sm)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:20px 0;padding:20px 0;border-top:1px solid var(--grey-200)}.pagination-btn{padding:8px 16px;border:1px solid var(--grey-300);background-color:#fff;color:var(--dark-text);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s ease;min-width:80px}.pagination-btn:hover:not(:disabled){background-color:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{background-color:var(--grey-100);color:var(--grey-400);cursor:not-allowed;border-color:var(--grey-200)}.pagination-info span{font-weight:500;color:var(--dark-text);margin:0 8px;padding:8px 12px;background-color:var(--grey-100);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.upload-progress{display:flex;align-items:center;margin-top:8px}.progress-spinner{width:16px;height:16px;border:2px solid var(--grey-300);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}.cancel-button{color:#fff!important;border:none;font-weight:500;transition:all .2s ease}.cancel-button:hover{background-color:#c82333!important;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}button:disabled{opacity:.6;cursor:not-allowed}.data-table{margin-bottom:0}.guests-list{background-color:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 1px 3px #0000001a}@media (max-width: 768px){.pagination-controls{flex-wrap:wrap;gap:8px}.pagination-btn{min-width:60px;padding:6px 12px;font-size:12px}.pagination-info span{padding:6px 8px;font-size:12px}}.upload-status{display:flex;align-items:center;justify-content:space-between;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pagination-info p{margin:0;font-weight:500;background-color:var(--grey-50);padding:8px 16px;border-radius:var(--border-radius);display:inline-block}.data-table tbody tr:only-child td{text-align:center;padding:40px;color:var(--grey-500);font-style:italic}.weekly-closed-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:8px}.day-checkbox{display:flex;align-items:center;gap:8px}.special-closed-dates{margin-top:8px}.add-special-date{display:flex;gap:10px;margin-bottom:12px}.add-special-date button{padding:8px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.add-special-date button:hover{background-color:var(--primary-dark, #3367d6)}.add-special-date input{flex:1}.special-dates-list{display:flex;flex-wrap:wrap;gap:8px}.special-date-item{display:flex;align-items:center;gap:8px;background-color:var(--grey-200);padding:6px 12px;border-radius:var(--border-radius)}.special-date-item button{background:none;border:none;cursor:pointer;color:var(--red);font-weight:700}.operating-hours-container{margin-top:8px}.operating-period{background-color:var(--grey-50, #f8f9fa);border:1px solid var(--grey-200, #e9ecef);border-radius:var(--border-radius, 8px);padding:16px;margin-bottom:12px;transition:all .2s ease}.operating-period:hover{border-color:var(--primary, #4285f4);box-shadow:0 2px 4px #4285f41a}.period-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.period-name-input{font-weight:600;font-size:14px;color:var(--dark, #2c3e50);background:transparent;border:1px solid transparent;padding:6px 8px;border-radius:4px;transition:all .2s ease;flex:1;max-width:200px}.period-name-input:hover{background-color:#fff;border-color:var(--grey-300, #dee2e6)}.period-name-input:focus{background-color:#fff;border-color:var(--primary, #4285f4);outline:none;box-shadow:0 0 0 2px #4285f433}.remove-period-btn{background-color:var(--red, #dc3545);color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s ease;margin-left:12px}.remove-period-btn:hover{background-color:var(--red-dark, #c82333);transform:scale(1.05)}.hours-inputs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hours-inputs input[type=time]{padding:10px 12px;border:1px solid var(--grey-300, #dee2e6);border-radius:var(--border-radius, 8px);font-size:14px;background-color:#fff;transition:all .2s ease;min-width:120px}.hours-inputs input[type=time]:focus{border-color:var(--primary, #4285f4);outline:none;box-shadow:0 0 0 2px #4285f433}.hours-inputs span{color:var(--grey-600, #6c757d);font-weight:500;font-size:14px;margin:0 4px}.add-period-btn{background-color:var(--primary, #4285f4);color:#fff;border:2px dashed transparent;border-radius:var(--border-radius, 8px);padding:14px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.add-period-btn:hover{background-color:var(--primary-dark, #3367d6);transform:translateY(-1px);box-shadow:0 4px 8px #4285f433}.add-period-btn:active{transform:translateY(0)}.period-settings{margin-top:12px;padding-top:12px;border-top:1px solid var(--grey-200, #e9ecef)}.period-settings label{display:block;font-size:13px;font-weight:500;color:var(--grey-700, #495057);margin-bottom:6px}.period-settings select{padding:8px 10px;border:1px solid var(--grey-300, #dee2e6);border-radius:var(--border-radius, 8px);font-size:13px;background-color:#fff;transition:all .2s ease;width:140px}.period-settings select:focus{border-color:var(--primary, #4285f4);outline:none;box-shadow:0 0 0 2px #4285f433}.period-days{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.day-toggle{background-color:var(--grey-200, #e9ecef);color:var(--grey-700, #495057);border:1px solid var(--grey-300, #dee2e6);border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:36px;text-align:center}.day-toggle:hover{background-color:var(--grey-300, #dee2e6)}.day-toggle.active{background-color:var(--primary, #4285f4);color:#fff;border-color:var(--primary, #4285f4)}.day-toggle.active:hover{background-color:var(--primary-dark, #3367d6);border-color:var(--primary-dark, #3367d6)}@media (max-width: 768px){.period-header{flex-direction:column;align-items:flex-start;gap:8px}.period-name-input{max-width:100%;width:100%}.remove-period-btn{align-self:flex-end;margin-left:0}.hours-inputs{justify-content:center}.hours-inputs input[type=time]{min-width:100px;flex:1}}.share-link-section{margin-bottom:24px;padding:24px;border-radius:var(--border-radius);background-color:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--grey-300)}.share-link-section h1{font-size:var(--font-size-xl);margin-bottom:16px;color:var(--dark-text)}.share-link-section p{color:var(--secondary-text);margin-bottom:24px}.link-card{background-color:var(--white);border-radius:var(--border-radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--grey-300)}.link-card h2{font-size:var(--font-size-lg);margin-top:0;margin-bottom:16px;color:var(--dark-text)}.link-card p{color:var(--secondary-text);margin-bottom:16px}.copy-field{display:flex;margin:15px 0}.copy-field input,.copy-field textarea{flex:1;padding:8px 12px;border:1px solid var(--grey-400);border-radius:var(--border-radius) 0 0 var(--border-radius);font-family:monospace;font-size:var(--font-size-md);color:var(--dark-text)}.copy-field input:focus,.copy-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.copy-field textarea{height:80px;resize:none}.copy-field button{padding:8px 12px;background-color:var(--primary);color:#fff;border:none;border-radius:0 var(--border-radius) var(--border-radius) 0;cursor:pointer;font-weight:500;font-size:var(--font-size-md);transition:all .2s ease}.copy-field button:hover{background-color:var(--primary-dark, #3367d6)}.implementation-tips{margin-top:24px;padding:24px;background-color:var(--white);border-radius:var(--border-radius);border:1px solid var(--grey-300);box-shadow:var(--shadow-sm)}.implementation-tips h2{font-size:var(--font-size-lg);margin-top:0;margin-bottom:16px;color:var(--dark-text)}.implementation-tips ul{padding-left:20px;color:var(--secondary-text)}.implementation-tips li{margin-bottom:10px}.trial-banner{padding:15px 20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.trial-banner.warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.trial-banner.urgent{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.trial-banner.expired{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.trial-banner-content{display:flex;justify-content:space-between;align-items:center;gap:15px}.trial-message{flex:1;font-weight:500}.trial-actions{display:flex;align-items:center;gap:10px}.subscribe-now-btn{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:5px;font-weight:600;cursor:pointer;transition:background-color .3s ease}.subscribe-now-btn:hover{background:#0056b3}.dismiss-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7}.dismiss-btn:hover{opacity:1}@media (max-width: 768px){.trial-banner-content{flex-direction:column;align-items:stretch;gap:10px}.trial-actions{justify-content:space-between}}.billing-container{max-width:800px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.billing-header{text-align:center;margin-bottom:2rem}.billing-header h1{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:600}.billing-header p{color:#666;font-size:1.1rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid #ffffff40;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}.billing-content{display:flex;flex-direction:column;gap:1.5rem}.billing-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.billing-card h2{margin:0 0 1rem;color:#1a1a1a;font-size:1.25rem;font-weight:600}.subscription-details{display:flex;flex-direction:column;gap:1rem}.plan-info{display:flex;justify-content:between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px}.plan-name-price{flex:1}.plan-name-price h3{margin:0 0 .25rem;color:#1a1a1a;font-size:1.1rem}.price{display:flex;align-items:baseline;gap:.25rem}.amount{font-size:1.5rem;font-weight:700;color:#007bff}.period{color:#666;font-size:.9rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.active{background:#d4edda;color:#155724}.subscription-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-item .label{font-size:.85rem;color:#666;font-weight:500}.meta-item .value{color:#1a1a1a;font-weight:500}.trial-info,.no-subscription{text-align:center;padding:2rem 1rem}.trial-info h3,.no-subscription h3{margin:0 0 .5rem;color:#1a1a1a}.trial-info p,.no-subscription p{margin:0 0 1.5rem;color:#666}.upgrade-btn,.subscribe-btn{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s}.upgrade-btn:hover,.subscribe-btn:hover{background:#0056b3}.card-info{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px}.card-details{flex:1}.card-brand{font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.card-number{margin-left:.5rem;color:#666}.card-expiry{font-size:.9rem;color:#666}.card-icon{font-size:1.5rem}.no-payment-method{text-align:center;padding:1rem;color:#666}.management-actions p{margin:0 0 1.5rem;color:#666}.manage-billing-btn{width:100%;background:#007bff;color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.manage-billing-btn:hover:not(:disabled){background:#0056b3}.manage-billing-btn:disabled{opacity:.7;cursor:not-allowed}.management-note{margin-top:1rem;padding-top:1rem;border-top:1px solid #e1e5e9}.management-note small{color:#666;line-height:1.4}.billing-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #e1e5e9}.billing-footer a{color:#007bff;text-decoration:none}.billing-footer a:hover{text-decoration:underline}@media (max-width: 768px){.billing-container{padding:1rem}.billing-header h1{font-size:1.5rem}.subscription-meta{grid-template-columns:1fr}.plan-info{flex-direction:column;align-items:flex-start;gap:1rem}.card-info{flex-direction:column;gap:1rem;text-align:center}}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:24px;background-color:var(--grey-100)}.login-card{width:100%;max-width:450px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:48px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:var(--font-size-xl);color:var(--dark-text);margin-bottom:8px}.login-header p{color:var(--secondary-text);font-size:var(--font-size-md)}.login-options{margin-bottom:32px}.google-sign-in{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;background-color:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);font-family:Google Sans,Roboto,sans-serif;font-size:var(--font-size-md);color:var(--dark-text);cursor:pointer;transition:background-color .2s ease}.google-sign-in:hover{background-color:var(--grey-100)}.google-icon{width:18px;height:18px;margin-right:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}.login-form{display:flex;flex-direction:column;gap:16px}.form-group input{padding:12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md);transition:border-color .2s ease}.form-actions{margin-top:8px}.login-footer{margin-top:32px;text-align:center;color:var(--secondary-text);font-size:var(--font-size-sm)}.login-footer p{margin-bottom:8px}.login-footer a{color:var(--primary);text-decoration:none}.login-footer a:hover{text-decoration:underline}@media (max-width: 480px){.login-card{padding:24px}}.signup-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:24px;background-color:var(--grey-100)}.signup-card{width:100%;max-width:600px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:48px;margin:24px 0}.signup-header{text-align:center;margin-bottom:32px}.signup-header h1{font-size:var(--font-size-xl);color:var(--dark-text);margin-bottom:8px}.signup-header p{color:var(--secondary-text);font-size:var(--font-size-md)}.signup-options{margin-bottom:32px}.google-sign-up{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;background-color:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);font-family:Google Sans,Roboto,sans-serif;font-size:var(--font-size-md);color:var(--dark-text);cursor:pointer;transition:background-color .2s ease}.google-sign-up:hover{background-color:var(--grey-100)}.google-icon{width:18px;height:18px;margin-right:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}.divider{display:flex;align-items:center;text-align:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--grey-300)}.divider span{padding:0 16px;color:var(--grey-500);font-size:var(--font-size-sm)}.signup-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px;width:100%}.form-group label{color:var(--secondary-text);margin-bottom:8px;font-size:var(--font-size-sm)}.form-group input:not([type=checkbox]){padding:12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md);transition:border-color .2s ease}.checkbox-group{flex-direction:row;align-items:center;margin-top:8px}.checkbox-group input{margin-right:8px}.checkbox-group label{margin-bottom:0}.checkbox-group a{color:var(--primary);text-decoration:none}.checkbox-group a:hover{text-decoration:underline}.form-actions{margin-top:16px}.form-actions button{width:100%;padding:12px;font-size:var(--font-size-md)}.signup-footer{margin-top:32px;text-align:center;color:var(--secondary-text);font-size:var(--font-size-sm)}.signup-footer a{color:var(--primary);text-decoration:none}.signup-footer a:hover{text-decoration:underline}@media (max-width: 600px){.signup-card{padding:24px}.form-row{flex-direction:column;gap:16px}}.reservation-container{max-width:600px;margin:0 auto;padding:24px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow)}.reservation-header{text-align:center;font-size:var(--font-size-xl);color:var(--dark-text);margin-bottom:24px}.reservation-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-size:var(--font-size-sm);color:var(--secondary-text)}.form-group input{padding:12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.form-group input[type=tel]{padding:12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md)}.form-group input[type=tel]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.form-group textarea{padding:12px;border:1px solid var(--grey-300);border-radius:var(--border-radius);font-size:var(--font-size-md);resize:vertical}.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4285f433}.error-message{color:var(--red);font-size:var(--font-size-sm);text-align:center}.date-warning{color:var(--red);font-size:var(--font-size-sm);margin-top:4px}.submit-button{padding:12px;background-color:var(--primary);color:var(--white);border:none;border-radius:var(--border-radius);font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s ease}.submit-button:hover{background-color:var(--primary-hover)}.notification{position:fixed;top:20px;right:20px;padding:16px 20px;border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;z-index:1000;animation:slide-in .3s ease-out forwards;max-width:500px;white-space:pre-line;word-wrap:break-word}.notification-success{background-color:var(--primary);color:var(--white)}.notification-error{background-color:var(--red);color:var(--white)}.notification-close{background:none;border:none;color:var(--white);font-size:20px;cursor:pointer;padding:0;margin:0;line-height:1;opacity:.8;transition:opacity .2s ease}.notification-close:hover{opacity:1}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.notification.hide{animation:slide-out .3s ease-in forwards}.edit-reservation-container{max-width:800px;margin:0 auto;padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.edit-reservation-header{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.edit-reservation-header h1{margin:0 0 15px;color:#2c3e50;font-size:2rem;font-weight:600}.restaurant-info{border-top:2px solid #e9ecef;padding-top:15px}.restaurant-info h2{margin:0 0 10px;color:#34495e;font-size:1.4rem;font-weight:500}.restaurant-info p{margin:5px 0;color:#6c757d;font-size:.95rem}.edit-reservation-form{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-row .form-group{flex:1}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;background-color:#fff;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:2px solid #e9ecef}.submit-button,.cancel-button{padding:12px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:120px}.submit-button{background-color:#007bff;color:#fff}.submit-button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover{background-color:#545b62;transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d}.loading{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:#6c757d}.error{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin:20px 0;border:1px solid #f5c6cb}.error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin:15px 0;border:1px solid #f5c6cb;font-size:.95rem}.notification{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:8px;color:#fff;font-weight:500;z-index:1000;display:flex;align-items:center;justify-content:space-between;min-width:300px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.notification-success{background-color:#28a745}.notification-error{background-color:#dc3545}.notification-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;margin-left:15px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.notification-close:hover{opacity:.8}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.edit-reservation-container{padding:15px}.form-row{flex-direction:column;gap:0}.edit-reservation-form{padding:20px}.form-actions{flex-direction:column;gap:10px}.submit-button,.cancel-button{width:100%}.notification{left:15px;right:15px;min-width:auto}}.reservation-success-container{max-width:600px;margin:0 auto;padding:24px;min-height:100vh;display:flex;align-items:center;justify-content:center}.success-card{background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:40px;width:100%;text-align:center}.success-icon{margin-bottom:24px}.success-card h1{color:var(--dark-text);font-size:var(--font-size-xl);margin-bottom:8px}.success-subtitle{color:var(--secondary-text);font-size:var(--font-size-md);margin-bottom:32px}.reservation-details{background-color:var(--grey-100);border-radius:var(--border-radius);padding:24px;margin-bottom:24px;text-align:left}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:600;color:var(--secondary-text);font-size:var(--font-size-sm);white-space:nowrap}.detail-value{font-weight:500;color:var(--dark-text);font-size:var(--font-size-sm);text-align:right;word-break:break-word}.reservation-id{font-family:Courier New,monospace;background-color:var(--grey-200);padding:4px 8px;border-radius:4px;font-size:12px}.edit-link-section{background-color:var(--grey-100);border-radius:var(--border-radius);padding:20px;margin-bottom:24px;text-align:left}.edit-link-section p{margin:0 0 12px;color:var(--dark-text);font-weight:600}.edit-link-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.edit-link-label{font-weight:600;color:var(--secondary-text);font-size:var(--font-size-sm)}.edit-link{color:var(--primary);text-decoration:none;font-weight:500;word-break:break-all;padding:8px;background-color:var(--white);border-radius:4px;border:1px solid var(--grey-300);font-size:var(--font-size-sm)}.edit-link:hover{color:var(--primary-dark);background-color:var(--grey-50)}.edit-note{color:var(--secondary-text);font-size:var(--font-size-sm);margin:0;font-style:italic}.restaurant-contact{background-color:var(--grey-100);border-radius:var(--border-radius);padding:20px;margin-bottom:24px}.restaurant-contact h3{color:var(--dark-text);font-size:var(--font-size-md);margin-bottom:12px}.phone-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);text-decoration:none;font-weight:600;font-size:var(--font-size-md);transition:color .2s ease}.phone-link:hover{color:var(--primary-dark)}.action-buttons{display:flex;gap:12px;margin-bottom:24px}.edit-button,.home-button{flex:1;padding:12px;border-radius:var(--border-radius);font-weight:600;font-size:var(--font-size-md);text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;text-align:center}.edit-button{background-color:var(--primary);color:var(--white)}.edit-button:hover{background-color:var(--primary-hover);color:var(--white);text-decoration:none}.home-button{background-color:var(--grey-200);color:var(--dark-text);border:1px solid var(--grey-300)}.home-button:hover{background-color:var(--grey-300)}.important-note{background-color:var(--grey-100);border-radius:var(--border-radius);padding:16px;text-align:left}.important-note p{margin:0;color:var(--secondary-text);font-size:var(--font-size-sm);line-height:1.4}.error-state{text-align:center;padding:40px}.error-state h1{color:var(--red);font-size:var(--font-size-xl);margin-bottom:16px}.error-state p{color:var(--secondary-text);margin-bottom:24px}.primary-button{background-color:var(--primary);color:var(--white);border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s ease}.primary-button:hover{background-color:var(--primary-hover)}@media (max-width: 768px){.reservation-success-container{padding:16px}.success-card{padding:24px}.action-buttons{flex-direction:column}.detail-row{flex-direction:column;gap:4px}.detail-value{text-align:left}.edit-link-container{flex-direction:column}}.subscription-container{padding:24px;border-radius:var(--border-radius);background-color:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--grey-300);max-width:1200px;margin:0 auto;min-height:auto}.subscription-header{margin-bottom:40px}.subscription-header h1{font-size:var(--font-size-xl);margin-bottom:16px;color:var(--dark-text)}.subscription-header p{color:var(--secondary-text);font-size:var(--font-size-md)}.plans-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.plan-card{background:var(--white);border:1px solid var(--grey-300);border-radius:var(--border-radius);padding:20px;text-align:center;position:relative;transition:all .3s ease;box-shadow:var(--shadow-sm)}.plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.plan-card.popular{border-color:var(--primary);background:#4285f405}.popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.plan-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--grey-200)}.plan-header h3{color:var(--dark-text);font-size:var(--font-size-lg);margin-bottom:10px}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:5px}.price{font-size:var(--font-size-xl);font-weight:700;color:var(--primary)}.period{color:var(--secondary-text);font-size:var(--font-size-md)}.plan-features{list-style:none;padding:0;margin:20px 0}.plan-features li{padding:8px 0;color:var(--dark-text);border-bottom:1px solid var(--grey-200)}.plan-features li:last-child{border-bottom:none}.subscribe-button{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:20px}.subscribe-button:hover:not(:disabled){background:var(--primary-dark, #3367d6);transform:translateY(-1px)}.subscribe-button:disabled{background:var(--grey-400);cursor:not-allowed}.subscription-footer{text-align:center;padding:20px;border-top:1px solid var(--grey-300)}.back-button{background:var(--grey-400);color:#fff;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;margin-bottom:15px;font-size:var(--font-size-md);font-weight:500;transition:all .2s ease}.back-button:hover{background:var(--grey-500, #6c757d);transform:translateY(-1px)}.trial-info{color:var(--secondary-text);margin-top:15px;font-size:var(--font-size-md)}.trial-info a{color:var(--primary);text-decoration:none;font-weight:500}.trial-info a:hover{text-decoration:underline}.plan-description{color:#666;font-size:.9rem;margin:.5rem 0 1rem;line-height:1.4}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:2rem}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-plans{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.subscription-container{padding:15px}.plans-container{grid-template-columns:1fr}.plan-card.popular{transform:none}.plan-card:hover{transform:translateY(-1px)}}:root{--primary: #4285F4;--primary-hover: #3367D6;--green: #34A853;--yellow: #FBBC05;--red: #EA4335;--grey-100: #F8F9FA;--grey-200: #F1F3F4;--grey-300: #E8EAED;--grey-400: #DADCE0;--grey-500: #9AA0A6;--dark-text: #202124;--secondary-text: #5F6368;--white: #FFFFFF;--border-radius: 8px;--shadow-sm: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem}*{box-sizing:border-box}body{margin:0;padding:0}button{font-family:Google Sans,Roboto,sans-serif;font-weight:500;border-radius:var(--border-radius);border:1px solid var(--grey-400);padding:8px 24px;cursor:pointer;transition:all .2s ease;background-color:var(--white);color:var(--primary)}button.primary{background-color:var(--primary);color:var(--white);border:none}button:hover{background-color:var(--grey-100);box-shadow:var(--shadow-sm)}button.primary:hover{background-color:var(--primary-hover)}button:active{transform:translateY(2px);box-shadow:0 2px #0003}.container{max-width:1200px;margin:0 auto;padding:0 24px}
