:root{--color-primary:#b5485f;--color-primary-hover:#9c3a4f;--color-primary-light:#f9e8ec;--color-primary-lighter:#fdf2f4;--color-primary-ring:#b5485f33;--color-secondary:#c9a84c;--color-secondary-hover:#b8953e;--color-secondary-light:#fdf8eb;--color-accent:#d4616e;--color-accent-hover:#c04e5a;--color-text:#2d2a33;--color-text-secondary:#6b6573;--color-text-muted:#9c96a3;--color-border:#e8e4df;--color-border-light:#f0ece7;--color-bg:#faf9f7;--color-bg-card:#fff;--color-bg-warm:#fdfcfa;--color-bg-subtle:#f5f2ee;--color-success:#3d9970;--color-error:#d44040;--color-warning:#e0973e;--color-info:#5a7fb5;--color-dark:#2d2a33;--color-dark-soft:#3d3944}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-bg);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}button,a,input,select,textarea{transition:all .15s}button:active:not(:disabled){transform:scale(.97)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-ghost{border:1.5px solid var(--color-border);color:var(--color-text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg-warm);border-color:var(--color-border)}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transition:opacity .2s,transform .2s;transform:translateY(0)}::selection{background:var(--color-primary-light);color:var(--color-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.lang-switcher{border:1.5px solid var(--color-border);cursor:pointer;color:inherit;background:0 0;border-radius:6px;padding:.25rem .4rem;font-size:.8rem}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--color-text);color:#fff;pointer-events:auto;cursor:pointer;border-radius:10px;max-width:360px;padding:.875rem 1.25rem;font-size:.875rem;animation:.3s toast-slide-in;box-shadow:0 4px 12px #00000026}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-info{background:var(--color-text)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}:root{--font:"Segoe UI", system-ui, -apple-system, sans-serif}body{font-family:var(--font);margin:0}.auth-screen{background:linear-gradient(135deg, var(--color-bg) 0%, #f5f0eb 50%, #f0ece6 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:400px;padding:3rem 2.5rem;animation:.3s auth-fade-in;box-shadow:0 4px 24px #0000000f,0 1px 2px #0000000a}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-logo{margin-bottom:.5rem;font-size:3.5rem;line-height:1}.auth-title{color:var(--color-text);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--color-text-secondary);margin:0 0 2rem;font-size:.95rem;line-height:1.5}.input-group{margin-bottom:.875rem}.input-group input{border:1.5px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-bg-warm);box-sizing:border-box;border-radius:10px;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s;display:block}.input-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);background:#fff}.input-group input::placeholder{color:var(--color-text-muted)}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s,transform .1s}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-full{width:100%;margin-top:.5rem}.auth-divider{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;margin:1.5rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-divider span{padding:0 .75rem}.auth-error{color:var(--color-error);text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-toggle{color:var(--color-text-secondary);margin-top:1.5rem;font-size:.875rem}.auth-toggle a{color:var(--color-primary);font-weight:500;text-decoration:none}.auth-toggle a:hover{text-decoration:underline}.landing{color:var(--color-text);background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1rem 2rem;display:flex;position:sticky;top:0}.landing-nav-wrapper{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #0000000f;position:sticky;top:0}.landing-nav .logo{align-items:center;gap:.5rem;text-decoration:none;display:flex}.landing-nav .nav-logo{width:30px;height:30px}.landing-nav .logo-text{font-size:1.25rem;font-weight:700;line-height:1}.landing-nav .logo-table{color:var(--color-text)}.landing-nav .logo-planner{color:var(--color-primary)}.landing-nav .nav-links{align-items:center;gap:1.5rem;display:flex}.landing-nav .nav-links a{color:var(--color-text-secondary);outline-offset:2px;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.landing-nav .nav-links a:focus-visible{outline:2px solid var(--color-primary);border-radius:4px}.landing-nav .nav-links a:hover{color:var(--color-text)}.landing-nav .nav-links a.btn-primary{text-decoration:none;color:#fff!important}.landing-nav .nav-links a.btn-primary:hover{background:var(--color-primary-hover);color:#fff!important}.landing .btn{cursor:pointer;border:none;border-radius:9999px;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.landing .btn:hover{box-shadow:0 4px 12px var(--color-primary-ring);text-decoration:none;transform:translateY(-1px)}.landing .btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.landing .btn-primary{background:var(--color-primary);color:#fff}.landing .btn-primary:hover{background:var(--color-primary-hover)}.landing .btn-ghost{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.landing .btn-ghost:hover{background:var(--color-primary);color:#fff}.landing .btn-sm{padding:.5rem 1.25rem;font-size:.9rem}.landing-section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.section-title{text-align:center;margin-bottom:.75rem;font-size:2rem;font-weight:800}.section-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:3.5rem;font-size:1.1rem}.hero{text-align:center;background:linear-gradient(135deg, var(--color-primary-lighter) 0%, var(--color-bg) 50%, var(--color-secondary-light) 100%);padding:7rem 2rem 5rem}.hero-inner{max-width:720px;margin:0 auto}.hero-icon{margin-bottom:1rem}.hero-icon svg{opacity:.8}.hero h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:3.25rem;font-weight:800}.hero .tagline{color:var(--color-primary);margin-bottom:1.25rem;font-size:1.35rem;font-weight:600}.hero .subtitle{color:var(--color-text-secondary);max-width:540px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero-badges{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem;display:flex}.hero-badge{color:var(--color-primary);font-size:.9rem;font-weight:600}.features-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:16px;padding:2.25rem 1.75rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000f}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.feature-card .icon{color:var(--color-primary);justify-content:center;margin-bottom:1rem;display:flex}.feature-card .icon svg{width:32px;height:32px}.feature-card h3{margin:0 0 .35rem;font-size:1rem;font-weight:600}.feature-card p{color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.5}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.step{text-align:center;padding:2rem 1.5rem}.step-number{background:var(--color-primary-light);width:48px;height:48px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.25rem;font-weight:800;display:inline-flex}.step h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.step p{color:var(--color-text-secondary);margin:0;font-size:.95rem}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.5rem;display:grid}.pricing-card{background:var(--color-bg-card);text-align:center;border-radius:16px;padding:2.5rem 2rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 1px 3px #0000000f}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.pricing-card.popular{border:2px solid var(--color-primary);box-shadow:0 4px 16px var(--color-primary-ring)}.popular-badge{background:var(--color-primary);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:.3rem 1rem;font-size:.8rem;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pricing-card h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.pricing-card .price{color:var(--color-text);margin-bottom:.25rem;font-size:2.5rem;font-weight:800}.pricing-card .price-note{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.85rem}.pricing-card ul{text-align:left;margin:0 0 2rem;padding:0;list-style:none}.pricing-card ul li{color:var(--color-text-secondary);padding:.4rem 0;font-size:.95rem}.pricing-card ul li:before{content:"✓ ";color:var(--color-primary);font-weight:700}.use-cases-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.use-case-card{text-align:center;background:linear-gradient(135deg, var(--color-primary-lighter) 0%, var(--color-secondary-light) 100%);border-radius:16px;padding:2.25rem 1.75rem;transition:transform .2s}.use-case-card:hover{transform:translateY(-4px)}.use-case-icon{color:var(--color-primary);justify-content:center;margin-bottom:1rem;display:flex}.use-case-card h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.use-case-card p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.6}.stats-bar{background:var(--color-dark);padding:3rem 2rem}.stats-inner{flex-wrap:wrap;justify-content:center;gap:3rem;max-width:700px;margin:0 auto;display:flex}.stats-bar .stat-badge{color:#fff;letter-spacing:-.01em;border-radius:0;padding:0;font-size:1.5rem;font-weight:700;line-height:normal;display:block}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.testimonial-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:16px;padding:2.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000f}.testimonial-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.testimonial-card p{color:var(--color-text);margin:0 0 1rem;font-size:1.05rem;font-style:italic;line-height:1.7}.testimonial-card .author{color:var(--color-text-secondary);font-size:.9rem;font-style:normal;font-weight:600}.footer-cta{text-align:center;background:linear-gradient(135deg, var(--color-primary-lighter) 0%, var(--color-secondary-light) 100%);padding:5rem 2rem}.footer-cta h2{margin:0 0 1.5rem;font-size:2rem;font-weight:800}.footer-cta .btn{text-decoration:none}.landing-footer{text-align:center;color:var(--color-text-muted);border-top:1px solid var(--color-border-light);padding:2.5rem 2rem;font-size:.9rem}@media (width<=768px){.hero h1{font-size:2.25rem}.hero .tagline{font-size:1.1rem}.features-grid,.use-cases-grid{grid-template-columns:repeat(2,1fr)}.steps,.pricing-grid,.testimonials-grid{grid-template-columns:1fr}.landing-nav .nav-links a.nav-hide-mobile{display:none}.landing-section{padding:3.5rem 1.25rem}}.contact-card{text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;max-width:500px;margin:0 auto;padding:2rem}.contact-item{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.contact-item a{color:var(--color-primary);font-size:1.1rem;font-weight:600;text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-item svg{color:var(--color-primary);flex-shrink:0}.contact-response{color:var(--color-text-secondary);margin:0;font-size:.85rem}.landing-footer a{color:var(--color-text-secondary);text-decoration:none}.landing-footer a:hover{color:var(--color-primary)}.modal-content.modal-upgrade{width:95%;max-width:900px;max-height:90vh;padding:2rem 1.5rem;overflow-y:auto}.upgrade-plans{flex-wrap:nowrap;gap:1rem;margin:1.5rem 0;display:flex}.upgrade-plan{border:1.5px solid var(--color-border);text-align:center;border-radius:12px;flex-direction:column;flex:1 1 0;min-width:0;padding:1.5rem 1rem;display:flex;position:relative}.upgrade-plan.popular{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.upgrade-plan.current{opacity:.6}.popular-badge{background:var(--color-primary);color:#fff;border-radius:99px;margin-bottom:.5rem;padding:.2rem .6rem;font-size:.7rem;display:inline-block}.upgrade-price{margin:.5rem 0;font-size:1.8rem;font-weight:700}.upgrade-price span{color:var(--color-text-secondary);font-size:.8rem;font-weight:400}.upgrade-plan ul{text-align:left;flex:1;margin:1rem 0;padding:0;font-size:.8rem;list-style:none}.upgrade-plan li{padding:.2rem 0}@media (width<=600px){.modal-content.modal-upgrade{width:98%;padding:1rem .75rem}.upgrade-plans{gap:.5rem}.upgrade-plan{padding:1rem .5rem}.upgrade-price{font-size:1.4rem}.upgrade-plan ul{font-size:.75rem}.popular-badge{font-size:.6rem}}.event-screen{background:linear-gradient(135deg, var(--color-bg) 0%, #f5f0eb 50%, #f0ece6 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.event-card{text-align:left;background:#fff;border-radius:16px;width:100%;max-width:520px;padding:3rem 2.5rem;animation:.3s event-fade-in;box-shadow:0 4px 24px #0000000f,0 1px 2px #0000000a}@keyframes event-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.event-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.event-card h1{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:700}.event-user-info{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.event-user-name{color:var(--color-text-secondary);font-weight:500;transition:color .15s}.event-user-name:hover{color:var(--color-primary)}.event-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.event-item{border:1.5px solid var(--color-border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:flex}.event-item:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);background:var(--color-bg-warm);transform:translateY(-1px)}.event-item-name{color:var(--color-text);font-weight:500}.event-item-delete{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1rem;transition:color .15s}.event-item-delete:hover{color:var(--color-error)}.events-empty{text-align:center;color:var(--color-text-secondary);padding:3.5rem 1.5rem}.events-empty-icon{margin-bottom:1.25rem;font-size:3.5rem;display:block}.events-empty h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.15rem}.events-empty p{font-size:.95rem;line-height:1.6}.event-create{gap:.5rem;display:flex}.event-create input{border:1.5px solid var(--color-border);background:var(--color-bg-warm);border-radius:10px;outline:none;flex:1;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.event-create input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.event-edit-input{border:1px solid var(--color-primary);border-radius:6px;outline:none;flex:1;padding:.25rem .5rem;font-size:1rem;font-weight:500}.guest-panel{background:var(--color-bg-card);border-right:1px solid var(--color-border);flex-direction:column;width:300px;min-width:300px;display:flex;overflow:hidden}.guest-panel-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-card);z-index:2;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex;position:sticky;top:0}.guest-panel-header h2{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.guest-add-form{border:1px solid var(--color-border);background:var(--color-bg-warm);border-radius:12px;flex-direction:column;gap:.5rem;margin:.75rem;padding:.875rem 1rem;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000a}.guest-add-form:before{content:"Add Guest";text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.125rem;font-size:.75rem;font-weight:600}.guest-add-form input{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:8px;padding:.55rem .75rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.guest-add-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);outline:none}.guest-search{border:1px solid var(--color-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:.625rem;background-repeat:no-repeat;border-radius:10px;margin:.75rem 1rem .5rem;padding:.6rem .75rem .6rem 2.125rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.guest-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);outline:none}.guest-group-filter{border:1px solid var(--color-border);background:#fff;border-radius:.5rem;width:calc(100% - 2rem);margin:0 1rem .5rem;padding:.5rem .625rem;font-size:.8125rem}.group-stats{flex-direction:column;gap:.25rem;padding:0 .75rem .5rem;display:flex}.group-stat-item{border-left:3px solid var(--color-border);cursor:pointer;border-radius:.25rem;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.75rem;transition:background .15s;display:flex}.group-stat-item:hover,.group-stat-item.active{background:var(--color-primary-lighter)}.group-stat-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.group-stat-count{color:var(--color-text-muted);white-space:nowrap}.group-stat-status.done{color:var(--color-success)}.group-stat-status.pending{color:var(--color-warning)}.guest-group-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.guest-list{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;padding:.5rem;overflow-y:auto}.guest-list::-webkit-scrollbar{width:5px}.guest-list::-webkit-scrollbar-track{background:0 0}.guest-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.guest-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.guest-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;font-size:.875rem;display:flex}.guest-empty:before{content:"";opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%239c96a3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;width:48px;height:48px;display:block}.guest-card{background:var(--color-bg-warm);border:1px solid var(--color-border);border-left:3px solid var(--color-border);cursor:grab;border-radius:.75rem;justify-content:space-between;align-items:center;margin-bottom:.375rem;padding:.625rem .75rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.guest-card:hover{border-color:var(--color-primary-light);background:var(--color-bg);box-shadow:0 2px 8px var(--color-primary-ring);transform:translateY(-1px)}.guest-card:active{cursor:grabbing;opacity:.7;box-shadow:none;transform:translateY(0)}.guest-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.guest-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.guest-meta{color:var(--color-text-muted);font-size:.75rem}.guest-note{color:var(--color-secondary);background:#fdf6e3;border-radius:4px;margin-top:.125rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.guest-delete{color:var(--color-border);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 .25rem;font-size:1.125rem;line-height:1;transition:opacity .15s,color .15s}.guest-card:hover .guest-delete{opacity:1}.guest-delete:hover{color:var(--color-error)}.table-card{background:#fff;border:1px solid #e8e5e0;border-radius:.75rem;width:280px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 1px 4px #0000000a}.table-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.table-card-header{border-bottom:1px solid var(--color-bg-subtle);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.table-card-header h3{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.table-delete{color:var(--color-border);cursor:pointer;opacity:0;background:0 0;border:none;font-size:1.25rem;line-height:1;transition:opacity .15s,color .15s}.table-card:hover .table-delete{opacity:1}.table-delete:hover{color:var(--color-error)}.table-visual{margin:1rem auto;position:relative}.table-circle{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary-light));border:2px solid var(--color-primary);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-label{color:var(--color-primary-hover);text-align:center;text-overflow:ellipsis;max-width:70px;font-size:.7rem;font-weight:600;overflow:hidden}.seat{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.65rem;font-weight:500;transition:all .15s;display:flex}.seat-empty{background:var(--color-bg);border:2px dashed var(--color-border);color:var(--color-text-muted);cursor:default}.seat-empty:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.seat-occupied{background:var(--color-primary);border:2px solid var(--color-primary-hover);color:#fff;cursor:grab;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:.6rem;overflow:hidden}.seat-occupied:hover{background:var(--color-primary-hover);box-shadow:0 2px 8px var(--color-primary-ring);border-color:#3730a3}.seat-occupied:active{cursor:grabbing}.seat-drag-over{transform:scale(1.08);border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-ring)!important;background:var(--color-primary-light)!important}.seat-guest-name{white-space:nowrap;text-overflow:ellipsis;max-width:34px;font-size:.6rem;line-height:1.2;overflow:hidden}.seat-number{color:var(--color-border);font-weight:600}.table-rectangle{flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.rect-seats-row{justify-content:center;gap:.5rem;display:flex}.table-rect-body{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary-light));border:2px solid var(--color-primary);text-align:center;border-radius:8px;min-width:150px;padding:1rem 2rem}.table-rectangle .seat{border-radius:.5rem}.table-square{flex-direction:column;align-items:center;gap:.25rem;padding:1rem;display:flex}.square-top,.square-bottom{justify-content:center;gap:.4rem;display:flex}.square-middle{align-items:center;gap:.25rem;display:flex}.square-left,.square-right{flex-direction:column;gap:.4rem;display:flex}.table-square-body{background:linear-gradient(135deg, var(--color-primary-light), var(--color-primary-light));border:2px solid var(--color-primary);border-radius:8px;justify-content:center;align-items:center;min-width:80px;min-height:60px;padding:1.5rem 2rem;display:flex}.table-square .seat{border-radius:.5rem}.table-area{background:var(--color-bg);flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow-y:auto}.table-area-toolbar{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.table-area-toolbar .btn-primary{box-shadow:0 2px 8px var(--color-primary-ring);border-radius:12px;gap:.5rem;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s}.table-area-toolbar .btn-primary:hover{box-shadow:0 4px 12px var(--color-primary-ring);transform:translateY(-1px)}.table-add-form{border:1px solid var(--color-border);background:#fff;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:1rem;display:flex}.table-add-form input,.table-add-form select{border:1px solid var(--color-border);border-radius:.375rem;padding:.5rem .625rem;font-size:.875rem}.table-add-form input:focus,.table-add-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);outline:none}.tables-grid{flex-wrap:wrap;gap:1.5rem;display:flex}.table-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:1rem;width:100%;padding:5rem 2rem;animation:.4s fadeInUp;display:flex}.table-empty-icon{opacity:.35;width:80px;height:80px}.table-empty p{color:var(--color-text-secondary);max-width:280px;font-size:1rem;line-height:1.5}.table-empty .btn-primary{border-radius:12px;margin-top:.5rem;padding:.625rem 1.5rem;font-size:.9375rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes tableEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tables-grid>*{animation:.3s backwards tableEnter}.tables-grid>:first-child{animation-delay:0s}.tables-grid>:nth-child(2){animation-delay:50ms}.tables-grid>:nth-child(3){animation-delay:.1s}.tables-grid>:nth-child(4){animation-delay:.15s}.tables-grid>:nth-child(5){animation-delay:.2s}.tables-grid>:nth-child(6){animation-delay:.25s}.modal-card{background:var(--bg,#fff);border-radius:12px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 8px 32px #0003}.modal-card h2{margin:0 0 1rem}.modal-card form{flex-direction:column;gap:.5rem;display:flex}.modal-card input,.modal-card select,.modal-card textarea{border:1px solid #ccc;border-radius:6px;padding:.5rem;font-size:.9rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:85vh;padding:2rem;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-content.modal-wide{max-width:650px}.modal-content h3{color:var(--color-text);margin:0 0 1rem;font-size:1.25rem}.import-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.import-tab{border:1.5px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.import-tab.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.import-hint{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.85rem}.import-hint code{background:var(--color-bg-subtle);border-radius:4px;padding:.1rem .4rem;font-size:.8rem}.modal-content textarea{border:1.5px solid var(--color-border);resize:vertical;box-sizing:border-box;border-radius:10px;width:100%;padding:.75rem;font-family:monospace;font-size:.85rem}.modal-content textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.import-preview{border:1px solid var(--color-border);border-radius:8px;max-height:200px;margin:1rem 0;overflow-y:auto}.import-preview table{border-collapse:collapse;width:100%;font-size:.8rem}.import-preview th,.import-preview td{text-align:left;border-bottom:1px solid var(--color-bg-subtle);padding:.4rem .6rem}.import-preview th{background:var(--color-bg-warm);font-weight:600;position:sticky;top:0}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.planner{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}@keyframes planner-spin{to{transform:rotate(360deg)}}@keyframes planner-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.planner-loading,.planner-error{min-height:60vh;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.planner-loading:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.5rem;height:1.5rem;margin-right:.75rem;animation:.6s linear infinite planner-spin}.planner-main{animation:.3s planner-fade-in}.planner-error{color:var(--color-error)}.planner-header{background:var(--color-bg-card);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.5rem;display:flex;box-shadow:0 1px 4px #0000000f}.planner-header .btn-ghost{color:var(--color-primary);border:1.5px solid var(--color-border)}.planner-header .btn-ghost:hover{background:var(--color-primary-lighter);color:var(--color-primary-hover);border-color:var(--color-primary-light)}.planner-header-left{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.planner-header-left h1{color:var(--color-text);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.planner-header-center{align-items:center;gap:.375rem;display:flex}.btn-header-action{border:1.5px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.35rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-header-action:hover{background:var(--color-bg-subtle);border-color:var(--color-text-muted);color:var(--color-text)}.btn-header-action:active{transform:scale(.97)}.planner-header-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.planner-stats{align-items:center;gap:.375rem;font-size:.8rem;display:flex}.stat-badge{border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .625rem;font-size:.775rem;font-weight:600;line-height:1;display:inline-flex}.stat-badge svg{flex-shrink:0}.stat-badge--neutral{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.stat-badge--success{color:var(--color-success);background:#3d99701a}.stat-badge--error{color:var(--color-error);background:#d440401a}.planner-main{flex:1;display:flex;overflow:hidden}@media (width<=768px){.planner-header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.planner-header-center{order:3;justify-content:center;width:100%}.planner-stats{flex-wrap:wrap;gap:.25rem;font-size:.75rem}.planner-main{flex-direction:column}.guest-panel{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--color-border);max-height:40vh}.tables-grid{grid-template-columns:1fr}.table-card{width:100%}}.btn{cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover{background:var(--color-primary-lighter)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-full{width:100%}.profile-screen{background:linear-gradient(135deg, var(--color-bg) 0%, #eef1f8 50%, #e8ecf4 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.profile-card{text-align:left;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:3rem 2.5rem;animation:.3s profile-fade-in;box-shadow:0 4px 24px #0000000f,0 1px 2px #0000000a}@keyframes profile-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-card h1{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.profile-info label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-top:1rem;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.profile-info p{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;margin:0;padding:.5rem .75rem;font-size:1rem}.profile-actions{border-top:1px solid var(--color-border);justify-content:space-between;margin-top:2rem;padding-top:1.5rem;display:flex}.profile-actions .btn{transition:all .15s}.profile-actions .btn:hover{transform:translateY(-1px)}.shared-page{background:var(--bg-primary,#faf9f7);min-height:100vh;color:var(--text-primary,#1a1a2e);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.shared-loading,.shared-error{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.shared-error h1{opacity:.3;font-size:3rem}.shared-home-link{color:var(--accent,#6c63ff);font-weight:500;text-decoration:none}.shared-header{text-align:center;padding:3rem 1rem 2rem}.shared-header h1{margin:0 0 .25rem;font-size:2rem;font-weight:700}.shared-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:.95rem}.shared-tables{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1.5rem 3rem;display:grid}.shared-table-card{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.shared-table-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.shared-table-shape{color:var(--text-secondary,#6b7280);text-transform:capitalize;margin-bottom:1rem;font-size:.8rem}.shared-seat-list{margin:0;padding:0;list-style:none}.shared-seat-list li{border-bottom:1px solid var(--border-light,#f3f4f6);padding:.35rem 0;font-size:.9rem}.shared-seat-list li:last-child{border-bottom:none}.shared-seat-num{width:24px;color:var(--text-secondary,#6b7280);font-size:.8rem;display:inline-block}.shared-seat-empty{color:var(--text-secondary,#9ca3af);font-style:italic}.shared-footer{text-align:center;color:var(--text-secondary,#6b7280);padding:2rem 1rem 3rem;font-size:.85rem}.shared-footer a{color:var(--accent,#6c63ff);font-weight:600;text-decoration:none}@media (width<=600px){.shared-tables{grid-template-columns:1fr;padding:0 1rem 2rem}.shared-header h1{font-size:1.5rem}}
