@keyframes pill-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ws-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}:root{--bg: #EDF5ED;--primary: #1A7A6A;--deep: #0A4A3A;--amber: #C8940A;--white: #FFFFFF;--error: #DC2626;--success: #15803d;--text: #0A3A2A;--muted: #5a6a65;--border: rgba(26, 122, 106, .22);--glass-bg: rgba(255, 255, 255, .72);--glass-border: 1px solid rgba(255, 255, 255, .5);--glass-blur: blur(14px);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .07);--pill-border: 1.5px solid rgba(26, 122, 106, .22);--pill-blur: blur(8px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background-color:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-120px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(42,168,152,.12) 0%,transparent 70%);pointer-events:none;z-index:0}h1,h2,h3,h4{font-family:Libre Baskerville,serif;line-height:1.3}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;z-index:1}.card{background:#ffffffc7;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:24px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 8px 40px #0a4a3a1a,0 1px 4px #0a4a3a0a;position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.875rem 2rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;width:100%;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.btn:active{transform:scale(.97)!important}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white);border:none;box-shadow:0 2px 12px #1a7a6a47}.btn-primary:hover:not(:disabled){background:var(--deep);transform:translateY(-2px);box-shadow:0 6px 20px #1a7a6a5c}.btn-secondary{background:#ffffffb8;backdrop-filter:var(--pill-blur);-webkit-backdrop-filter:var(--pill-blur);color:var(--primary);border:var(--pill-border);box-shadow:0 2px 8px #0000000d}.btn-secondary:hover:not(:disabled){background:#ffffffeb;color:var(--deep);border-color:#1a7a6a6b;transform:translateY(-2px);box-shadow:0 6px 20px #00000017}.form-group{margin-bottom:1.125rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--deep);margin-bottom:.4rem;font-family:DM Sans,sans-serif}.form-group input{width:100%;padding:.75rem 1.125rem;border:1.5px solid rgba(26,122,106,.22);border-radius:16px;font-family:DM Sans,sans-serif;font-size:1rem;color:var(--text);background:#fffc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .18s,box-shadow .18s;outline:none}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a7a6a21}.form-group input::placeholder{color:#a3b8b3}.error-msg{background:#fef2f2e6;border:1px solid rgba(252,165,165,.5);color:var(--error);border-radius:14px;padding:.75rem 1rem;font-size:.875rem;margin-bottom:1rem;line-height:1.5;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.success-msg{background:#f0fdf4e6;border:1px solid rgba(187,247,208,.5);color:var(--success);border-radius:14px;padding:.875rem 1rem;font-size:.875rem;margin-bottom:1rem;line-height:1.6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.text-center{text-align:center}.text-muted{color:var(--muted);font-size:.9rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}a.link{color:var(--primary);text-decoration:none;font-weight:600}a.link:hover{color:var(--deep);text-decoration:underline}.logo{font-family:Libre Baskerville,serif;font-size:1.75rem;color:var(--deep);text-decoration:none;letter-spacing:-.02em}.logo span{color:var(--primary)}.divider{display:flex;align-items:center;gap:.875rem;color:var(--muted);font-size:.85rem;margin:1.25rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#1a7a6a2e}.topnav{position:fixed;top:0;left:0;right:0;padding:.875rem 2rem;background:#edf5edd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:space-between;z-index:100;box-shadow:0 1px 12px #0a4a3a0f}.page-content{width:100%;max-width:720px;padding:2rem;margin-top:5rem}.placeholder-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);padding:2.5rem 2rem;text-align:center;margin-top:2rem}.simcha-badge{display:inline-block;padding:.3rem .9rem;border-radius:9999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;position:relative;overflow:hidden;background-size:200% auto;animation:pill-shimmer 3s linear infinite}.badge-bar-mitzvah{background-image:linear-gradient(105deg,#dbeafe,#eef4ff 45%,#dbeafe);color:#1e40af}.badge-bat-mitzvah{background-image:linear-gradient(105deg,#fae8ff,#fdf3ff 45%,#fae8ff);color:#86198f}.badge-bas-mitzvah{background-image:linear-gradient(105deg,#fce7f3,#fef3f9 45%,#fce7f3);color:#9d174d}.badge-wedding{background-image:linear-gradient(105deg,#fef9c3,#fffde8 45%,#fef9c3);color:#854d0e}.badge-bris{background-image:linear-gradient(105deg,#ccfbf1,#e6fdf9 45%,#ccfbf1);color:#0f766e}.badge-kiddush{background-image:linear-gradient(105deg,#fef3c7,#fffaeb 45%,#fef3c7);color:#92400e}.badge-baby-naming{background-image:linear-gradient(105deg,#ffedd5,#fff6ee 45%,#ffedd5);color:#c2410c}.badge-sheva-brachot{background-image:linear-gradient(105deg,#ede9fe,#f6f4ff 45%,#ede9fe);color:#6d28d9}.badge-vort{background-image:linear-gradient(105deg,#fce7f3,#fef3f9 45%,#fce7f3);color:#9d174d}.badge-aufruf{background-image:linear-gradient(105deg,#d1fae5,#ebfdf4 45%,#d1fae5);color:#065f46}.badge-other{background-image:linear-gradient(105deg,#f1f5f9,#f8fafc 45%,#f1f5f9);color:#475569}.dashboard-spinner{display:inline-block;width:36px;height:36px;border:3px solid rgba(26,122,106,.16);border-top-color:var(--primary);border-radius:50%;animation:spin .72s linear infinite}.workspace-wrap{display:flex;min-height:100vh;background:var(--bg);position:relative}.workspace-sidebar{width:220px;min-height:100vh;background:linear-gradient(180deg,#0a4a3a,#0d5a47);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:4px 0 32px #00000024}.workspace-sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#0a3a2a61;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sidebar-overlay.visible{display:block}.workspace-content{flex:1;padding-top:60px;min-width:0;transition:margin-left .26s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}@media (min-width: 769px){.workspace-sidebar{transform:translate(0)}.workspace-content{margin-left:220px}.ws-hamburger{display:none}.sidebar-overlay{display:none!important}}.workspace-topbar{position:fixed;top:0;left:0;right:0;z-index:150;height:60px;background:#edf5edd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.55);display:flex;align-items:center;padding:0 1.25rem;gap:.5rem;box-shadow:0 1px 12px #0a4a3a0f}@media (min-width: 769px){.workspace-topbar{left:220px;width:calc(100% - 220px);padding-left:1.5rem;z-index:100}}@media (min-width: 680px){.ws-email-label{display:block!important}}.ws-hamburger{border:none;background:none;cursor:pointer;padding:.375rem;border-radius:10px;color:var(--deep);display:flex;align-items:center;flex-shrink:0;transition:background .15s}.ws-hamburger:hover{background:#0a4a3a14}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin:.1rem .75rem;border-radius:9999px;cursor:pointer;color:#ffffffbf;font-size:.875rem;font-weight:500;font-family:DM Sans,sans-serif;background:none;border:none;width:calc(100% - 1.5rem);text-align:left;transition:background .16s ease,color .16s ease,transform .14s ease}.sidebar-nav-item:hover{background:#ffffff1c;color:#fff;transform:translate(2px)}.sidebar-nav-item.active{background:#ffffff2e;color:#fff;box-shadow:inset 0 0 0 1px #ffffff24}.sidebar-coming-soon{font-size:.62rem;background:#c8940ad9;color:#fff;padding:2px 7px;border-radius:9999px;margin-left:auto;font-weight:700;letter-spacing:.02em}.chat-dot{width:8px;height:8px;background:#f97316;border-radius:50%;margin-left:auto;flex-shrink:0;animation:ws-pulse 1.6s infinite}.section-wrap{padding:2rem 1.5rem;max-width:1100px;margin:0 auto}@media (min-width: 640px){.section-wrap{padding:2rem}}.section-title{font-family:Libre Baskerville,serif;color:var(--deep);font-size:1.65rem;margin-bottom:1.375rem;line-height:1.25}.ws-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);padding:1.375rem;margin-bottom:1.125rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.875rem;margin-top:1rem}.stat-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:18px;box-shadow:var(--glass-shadow);padding:1.125rem;text-align:center}.ws-table{width:100%;border-collapse:collapse;font-size:.875rem;font-family:DM Sans,sans-serif}.ws-table th{text-align:left;padding:.75rem 1rem;background:#0a4a3a0d;color:var(--deep);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.ws-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(26,122,106,.09);vertical-align:middle}.ws-table tr:last-child td{border-bottom:none}.ws-table tr:hover td{background:#1a7a6a07}.ws-form{display:flex;flex-direction:column;gap:.75rem}.ws-form-row{display:flex;gap:.75rem;flex-wrap:wrap}.ws-input{width:100%;padding:.6rem .875rem;border-radius:16px;border:1.5px solid rgba(26,122,106,.22);font-size:.875rem;font-family:DM Sans,sans-serif;background:#fffc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text);outline:none;transition:border-color .16s,box-shadow .16s}.ws-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a7a6a1f}.ws-input::placeholder{color:#a3b8b3}.ws-select{width:100%;padding:.6rem .875rem;border-radius:16px;border:1.5px solid rgba(26,122,106,.22);font-size:.875rem;font-family:DM Sans,sans-serif;background:#fffc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text);outline:none;cursor:pointer}.status-badge{display:inline-block;padding:.22rem .65rem;border-radius:9999px;font-size:.73rem;font-weight:700;white-space:nowrap}.status-todo{background:#f1f5f9e6;color:#475569}.status-in_progress{background:#fef9c3e6;color:#854d0e}.status-done,.status-attending{background:#dcfce7e6;color:#15803d}.status-declined{background:#fee2e2e6;color:#b91c1c}.status-pending{background:#f1f5f9e6;color:#475569}.status-confirmed{background:#dcfce7e6;color:#15803d}.status-delivered{background:#dbeafee6;color:#1e40af}.chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.625rem}.chat-bubble{max-width:68%;padding:.625rem 1rem;border-radius:18px;font-size:.9rem;font-family:DM Sans,sans-serif;line-height:1.5;word-break:break-word}.chat-bubble.planner{background:var(--primary);color:#fff;align-self:flex-end;border-bottom-right-radius:5px;box-shadow:0 2px 10px #1a7a6a47}.chat-bubble.family{background:#ffffffe0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);align-self:flex-start;border-bottom-left-radius:5px;box-shadow:0 2px 10px #00000012}.chat-input-wrap{display:flex;gap:.5rem;padding:.875rem 1rem;border-top:1px solid rgba(26,122,106,.12);background:#ffffffd1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 20px 20px}.note-ticket{background:#ffffffd1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.55);border-radius:16px;padding:1.125rem;box-shadow:0 2px 14px #0000000f;margin-bottom:.875rem}.note-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 680px){.note-columns{grid-template-columns:1fr}}.host-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);padding:1.375rem;margin-bottom:1.125rem}.host-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.host-grid{grid-template-columns:1fr}}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0;border-bottom:1px solid rgba(26,122,106,.1)}.toggle-row:last-child{border-bottom:none}.toggle-switch{position:relative;width:46px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9999px;background:#cbd5e1e6;cursor:pointer;transition:background .22s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:3px;top:3px;transition:transform .22s;box-shadow:0 2px 5px #0000002e}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.ws-tabs{display:flex;border-bottom:1.5px solid rgba(26,122,106,.14);margin-bottom:1.375rem}.ws-tab{padding:.6rem 1.25rem;border:none;background:none;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .15s,border-color .15s}.ws-tab:hover{color:var(--primary)}.ws-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.assignee-toggle{display:inline-flex;border-radius:9999px;overflow:hidden;border:1.5px solid rgba(26,122,106,.22);background:#ffffffb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.assignee-toggle button{padding:.375rem .875rem;border:none;background:transparent;font-size:.82rem;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;transition:background .15s,color .15s;color:var(--muted)}.assignee-toggle button.active{background:var(--primary);color:#fff}.dist-toggle{display:inline-flex;border-radius:9999px;overflow:hidden;border:1.5px solid rgba(26,122,106,.22);background:#ffffffb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);flex-shrink:0}.dist-toggle button{padding:.275rem .6rem;border:none;background:transparent;font-size:.82rem;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;transition:background .15s;color:var(--muted)}.dist-toggle button.active{background:var(--primary);color:#fff}.btn-whatsapp{background:#25d366;color:#fff;border:none;padding:.3rem .8rem;border-radius:9999px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;text-decoration:none;display:inline-block;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px #25d3664d}.btn-whatsapp:hover{background:#1aaf54;transform:translateY(-1px);box-shadow:0 4px 12px #25d36666}.icon-btn{border:none;background:none;cursor:pointer;padding:.3rem;color:var(--muted);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .12s}.icon-btn:hover{background:#0000000e;color:var(--text);transform:scale(1.1)}.icon-btn.danger:hover{background:#fee2e2e6;color:#b91c1c;transform:scale(1.1)}.coming-soon-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow);padding:3.5rem 2rem;text-align:center;margin:1.5rem auto;max-width:480px}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;vertical-align:middle;line-height:1}.nav-desktop-items{display:flex;align-items:center;gap:.625rem}.nav-mobile-only{display:none}@media (max-width: 768px){.nav-desktop-items{display:none}.nav-mobile-only{display:flex}}.nav-hamburger{border:none;background:none;cursor:pointer;padding:.375rem;border-radius:10px;color:var(--deep);align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.nav-hamburger:hover{background:#0a4a3a14}.nav-dropdown{position:fixed;top:57px;left:0;right:0;background:#edf5edf7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.55);box-shadow:0 8px 28px #0a4a3a1a;flex-direction:column;gap:.625rem;padding:1rem 1.5rem 1.25rem;z-index:99}.family-wrap{display:flex;min-height:100vh;background:var(--bg);position:relative}.family-sidebar{width:220px;min-height:100vh;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:var(--glass-border);box-shadow:2px 0 16px #0a4a3a0f;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:200;overflow-y:auto;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1)}.family-sidebar.open{transform:translate(0)}.family-content{flex:1;min-width:0}.family-topnav-wrap{display:block}.family-main{padding-top:4.5rem;min-height:100vh;background:var(--bg)}.family-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin:.1rem .625rem;border-radius:9999px;cursor:pointer;color:var(--muted);font-size:.875rem;font-weight:500;font-family:DM Sans,sans-serif;background:none;border:none;width:calc(100% - 1.25rem);text-align:left;transition:background .16s ease,color .16s ease}.family-nav-item:hover:not(:disabled){background:#1a7a6a14;color:var(--primary)}.family-nav-item.active{background:#1a7a6a1f;color:var(--primary);font-weight:600}.family-nav-item:disabled{opacity:.5;cursor:not-allowed}@media (min-width: 769px){.family-sidebar{transform:translate(0)}.family-content{margin-left:220px}.family-topnav-wrap{display:none}.family-main{padding-top:0}}
