@import"https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700;800&family=Rubik:wght@400;500;600;700&display=swap";:root{--color-bg: #fef7f0;--color-bg-gradient: linear-gradient(135deg, #fef7f0 0%, #fff5eb 50%, #ffeee0 100%);--color-surface: #ffffff;--color-surface-hover: #fffaf5;--color-primary: #ff6b4a;--color-primary-dark: #e55a3a;--color-primary-light: #ff8a70;--color-primary-bg: #fff0ed;--color-secondary: #2dd4bf;--color-secondary-dark: #14b8a6;--color-secondary-light: #5eead4;--color-accent: #a78bfa;--color-accent-light: #c4b5fd;--color-text: #1f2937;--color-text-muted: #6b7280;--color-text-light: #9ca3af;--color-success: #22c55e;--color-success-bg: #dcfce7;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-warning: #f59e0b;--color-available: #22c55e;--color-available-bg: #dcfce7;--color-excluded: #ef4444;--color-excluded-bg: #fee2e2;--color-disabled: #e5e7eb;--color-border: #e5e7eb;--color-border-focus: var(--color-primary);--font-main: "Heebo", "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(255, 107, 74, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;overflow-y:scroll}body{font-family:var(--font-main);font-size:1rem;font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-bg-gradient);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column;direction:rtl}.loading-screen,.error-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-lg)}.loading-spinner-small{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-left:var(--space-sm)}@keyframes spin{to{transform:rotate(360deg)}}.error-screen h2{font-size:1.5rem;margin-bottom:var(--space-md);color:var(--color-error)}.questionnaire{flex:1;display:flex;flex-direction:column;max-width:600px;margin:0 auto;padding:var(--space-sm) var(--space-md);width:100%;min-height:100vh;overflow-x:hidden}.questionnaire-header{text-align:center;padding:var(--space-sm) 0;animation:fadeInDown .6s ease-out}.event-title{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:0}.event-subtitle{display:none}.questionnaire-content{flex:1;display:flex;flex-direction:column}.progress-container{margin-bottom:var(--space-md);animation:fadeIn .4s ease-out}.progress-bar-wrapper{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-steps{display:none}.progress-text{text-align:center;font-size:.75rem;color:var(--color-text-light);margin-top:var(--space-xs)}.step-container{flex:1;display:flex;flex-direction:column;animation:slideInUp .4s ease-out}.step-header{text-align:center;margin-bottom:var(--space-lg)}.step-header h2{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-xs)}.step-description{font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.step-description small{font-size:.875rem;opacity:.8}.step-description strong{color:var(--color-primary);font-weight:600}.optional-badge{display:inline-block;font-size:.6875rem;color:var(--color-text-light);background:var(--color-surface);border:1px solid var(--color-border);padding:2px 10px;border-radius:var(--radius-full);margin-right:var(--space-xs);font-weight:500;vertical-align:middle}.step-icon{display:inline-flex;align-items:center;font-size:1.75rem;animation:bounce 2s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.step-actions{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:nowrap;gap:var(--space-sm);padding:var(--space-md);background:linear-gradient(to top,var(--color-bg) 80%,transparent);z-index:100}.step-actions .btn-secondary{flex:0 0 30%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-actions .btn-primary{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-full{width:100%;flex:1 1 100%!important;padding:var(--space-lg) var(--space-xl);font-size:1.125rem}.step-container{padding-bottom:90px}.questionnaire-content{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-main);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;line-height:1}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{flex:1;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:var(--shadow-md),0 4px 12px #ff6b4a4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 16px #ff6b4a66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-light)}.btn-large{padding:var(--space-lg) var(--space-2xl);font-size:1.125rem}.btn-submit{min-width:160px}.btn-arrow{transition:transform var(--transition-fast)}.btn:hover .btn-arrow{transform:translate(-3px)}.btn-secondary:hover .btn-arrow{transform:translate(3px)}.btn-icon{margin-right:var(--space-xs)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.form-group input,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-main);font-size:1rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);direction:rtl}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}.form-row{display:flex;gap:var(--space-sm)}.form-row .form-group{flex:1}.form-group input.error,.form-group textarea.error{border-color:var(--color-error)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.error-message{display:block;font-size:.875rem;color:var(--color-error);margin-top:var(--space-xs)}.char-count{display:block;text-align:left;font-size:.75rem;color:var(--color-text-light);margin-top:var(--space-xs)}.user-form{flex:1;display:flex;flex-direction:column}.user-form .btn{margin-top:auto}.calendar-container{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-md);margin-bottom:var(--space-md)}.calendar-header{text-align:center;margin-bottom:var(--space-sm)}.calendar-month{font-size:1rem;font-weight:600;color:var(--color-text)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs);margin-bottom:var(--space-sm)}.weekday{text-align:center;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);padding:var(--space-sm)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1rem;font-weight:500;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;background:var(--color-surface)}.calendar-day:focus{outline:none}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.available{background:var(--color-available-bg);color:var(--color-available);border-color:var(--color-available)}.calendar-day.available:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.calendar-day.excluded{background:var(--color-excluded-bg);color:var(--color-excluded);border-color:var(--color-excluded)}.calendar-day.excluded:hover{transform:scale(1.05)}.calendar-day.disabled{background:var(--color-disabled);color:var(--color-text-light);cursor:not-allowed;opacity:.5}.day-number{font-weight:600}.excluded-mark{position:absolute;font-size:.625rem;bottom:4px}.calendar-legend{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-muted)}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-dot.available{background:var(--color-available-bg);border:1px solid var(--color-available)}.legend-dot.excluded{background:var(--color-excluded-bg);border:1px solid var(--color-excluded)}.legend-dot.disabled{background:var(--color-disabled)}.calendar-stats{display:none}.food-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-bottom:var(--space-sm)}.food-options-with-none{grid-template-columns:repeat(2,1fr)}@media(min-width:480px){.food-options,.food-options-with-none{grid-template-columns:repeat(3,1fr)}.food-options-with-none .none-option{grid-column:1 / -1}}.food-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-main);box-shadow:var(--shadow-sm)}.food-option:hover{border-color:var(--color-primary-light);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.food-option.selected{border-color:var(--color-secondary);background:#2dd4bf26;transform:scale(1.02);box-shadow:0 0 0 3px #2dd4bf33}.food-emoji{font-size:2.5rem;transition:transform var(--transition-bounce)}.food-option:hover .food-emoji,.food-option.selected .food-emoji{transform:scale(1.15)}.food-label{font-size:1rem;font-weight:600;color:var(--color-text)}.dont-care-option{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);margin-top:var(--space-md);margin-bottom:var(--space-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-main);box-shadow:var(--shadow-sm)}.dont-care-option:hover{border-color:var(--color-secondary-light);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.dont-care-option.selected{border-color:var(--color-secondary);background:#2dd4bf26;box-shadow:0 0 0 3px #2dd4bf33}.dont-care-option .option-emoji{font-size:1.5rem}.dont-care-option .option-label{font-size:1rem;font-weight:600;color:var(--color-text)}@media(max-width:479px){.dont-care-option{flex-direction:column;padding:var(--space-md) var(--space-sm);margin-top:0;border-radius:var(--radius-xl)}.dont-care-option .option-emoji{font-size:2rem}.dont-care-option .option-label{font-size:.9375rem}}.other-input{animation:slideInUp .3s ease-out}.dietary-options{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.dietary-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-main);text-align:right}.dietary-option:hover{border-color:var(--color-secondary-light);background:var(--color-surface-hover)}.dietary-option.selected{border-color:var(--color-secondary);background:#2dd4bf1a}.option-checkbox{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;color:#fff;transition:all var(--transition-fast)}.dietary-option.selected .option-checkbox{background:var(--color-secondary)}.option-emoji{font-size:1.5rem}.option-label{flex:1;font-size:1rem;font-weight:500;color:var(--color-text)}.place-input-group textarea{resize:none;min-height:100px}.summary-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-md);margin-bottom:var(--space-md)}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);gap:var(--space-sm)}.summary-row:last-child{border-bottom:none}.summary-label{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.summary-value{font-size:.9375rem;font-weight:600;color:var(--color-text);text-align:left}.all-good{color:var(--color-success)}.error-banner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-weight:500}.error-icon{font-size:1.25rem}.success-badge{display:inline-block;background:var(--color-success-bg);color:var(--color-success);padding:4px 12px;border-radius:var(--radius-full);font-weight:600;font-size:.875rem;margin-bottom:var(--space-sm)}.saved-notice{text-align:center;padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);background:var(--color-success-bg);border-radius:var(--radius-md);color:var(--color-success);font-weight:500;font-size:.875rem}.summary-actions{flex-direction:row;justify-content:center;gap:var(--space-md)}.summary-actions .btn{flex:0 0 auto}.thank-you{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.thank-you-content{text-align:center;animation:scaleIn .5s ease-out}.success-icon{width:100px;height:100px;margin:0 auto var(--space-xl)}.checkmark{width:100%;height:100%}.checkmark-circle{stroke:var(--color-success);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{stroke:var(--color-success);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes stroke{to{stroke-dashoffset:0}}.thank-you h1{font-size:2.5rem;font-weight:800;color:var(--color-text);margin-bottom:var(--space-md)}.thank-you-message{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.thank-you-emoji{font-size:4rem;margin-bottom:var(--space-xl);animation:bounce 1s ease infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:640px){:root{--space-lg: 1.25rem;--space-xl: 1.5rem}.questionnaire{padding:var(--space-md)}.event-title{font-size:2rem}.step-header h2{font-size:1.5rem}.step-icon{font-size:2.5rem}.food-option{padding:var(--space-md) var(--space-sm)}.food-emoji{font-size:2rem}.calendar-container{padding:var(--space-md)}.calendar-day{font-size:.875rem}.calendar-legend{flex-wrap:wrap;gap:var(--space-md)}.summary-row{flex-direction:column;gap:var(--space-xs)}.summary-value{text-align:right}.thank-you h1{font-size:2rem}}*:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible){outline:none}::selection{background:var(--color-primary-light);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}
