*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #90b401;--color-primary-hover: #769401;--color-secondary: #8d2b80;--color-bg-gradient-1: #0f172a;--color-bg-gradient-2: #1b0a1d;--color-card-bg: rgba(30, 41, 59, .7);--color-card-border: rgba(255, 255, 255, .08);--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-text-inverted: #0f172a;--color-border: rgba(148, 163, 184, .15);--color-border-focus: rgba(144, 180, 1, .4);--color-info-bg: rgba(14, 165, 233, .15);--color-info-text: #38bdf8;--color-info-border: rgba(14, 165, 233, .3);--color-warning-bg: rgba(245, 158, 11, .15);--color-warning-text: #fbbf24;--color-warning-border: rgba(245, 158, 11, .3);--color-danger-bg: rgba(239, 68, 68, .15);--color-danger-text: #f87171;--color-danger-border: rgba(239, 68, 68, .3);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", sans-serif;--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px;--shadow-lg: 0 20px 40px -15px rgba(0, 0, 0, .5);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-sans);color:var(--color-text-main);background:linear-gradient(135deg,var(--color-bg-gradient-1),var(--color-bg-gradient-2));background-attachment:fixed;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden;padding:20px 20px 60px}.app-container{width:100%;max-width:800px;position:relative}.wizard-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px;width:100%;transition:var(--transition-smooth)}.wizard-header{margin-bottom:30px;border-bottom:1px solid var(--color-border);padding-bottom:20px}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.brand{display:flex;align-items:center;gap:8px}.brand-logo-img{height:64px;width:auto;object-fit:contain;cursor:pointer}.step-indicator-text{font-family:var(--font-display);color:var(--color-text-muted);font-size:.9rem;font-weight:500}.progress-bar-container{width:100%;height:6px;background:#94a3b81a;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #90b40180}.step-pane{display:none;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.step-pane.active{display:block;opacity:1;transform:translateY(0)}.step-title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}.step-description{color:var(--color-text-muted);font-size:.95rem;margin-bottom:30px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;margin-bottom:30px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:span 2}.form-group.half{grid-column:span 1}@media (max-width: 640px){body{padding-inline:16px;padding-bottom:40px}.form-grid{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.form-group.half,.form-group.full{grid-column:span 1}.wizard-card{padding:16px}.wizard-header{margin-bottom:20px;padding-bottom:16px}.step-description{margin-bottom:20px}.form-group{gap:6px}.step-card,.platter-card,.details-card{padding-inline:16px}}label{font-size:.9rem;font-weight:500;color:var(--color-text-main)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.required-star{color:var(--color-danger-text);margin-left:2px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],select,textarea{font-family:var(--font-sans);font-size:.95rem;color:var(--color-text-main);background:#0f172a66;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;outline:none;transition:var(--transition-smooth);width:100%}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,select:focus,textarea:focus,input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=tel]:focus-visible,input[type=number]:focus-visible,input[type=date]:focus-visible,input[type=time]:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-border-focus);background:#0f172a99}input:disabled,select:disabled,textarea:disabled{opacity:.4;cursor:not-allowed}textarea{resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:40px}select option{background-color:#1e293b;color:var(--color-text-main)}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.5;cursor:pointer;transition:var(--transition-smooth)}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:.8}.date-picker-control{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:stretch}.date-picker-toggle{display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0f172a66;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;line-height:1;transition:var(--transition-smooth)}.date-picker-toggle:hover,.date-picker-toggle:focus-visible{border-color:var(--color-primary);color:var(--color-text-main);box-shadow:0 0 0 3px var(--color-border-focus);outline:none}.calendar-picker[hidden]{display:none}.calendar-shell{margin-top:10px;padding:14px;background:#0f172a8c;border:1px solid var(--color-border);border-radius:var(--radius-md)}.calendar-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;align-items:center;margin-bottom:12px}.calendar-month{color:var(--color-text-main);font-family:var(--font-display);font-size:1rem;text-align:center;text-transform:capitalize}.calendar-nav{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);cursor:pointer;font-size:1.7rem;line-height:1}.calendar-nav:hover:not(:disabled),.calendar-nav:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-border-focus);outline:none}.calendar-nav:disabled{cursor:not-allowed;opacity:.35}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid{display:flex;flex-direction:column}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-cell{min-width:0}.calendar-weekdays{margin-bottom:4px;color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-align:center}.calendar-day{display:inline-flex;width:100%;min-width:0;min-height:40px;padding:4px;border:1px solid transparent;border-radius:var(--radius-sm);background:#94a3b80f;color:var(--color-text-main);cursor:pointer;font:inherit;font-size:.85rem;transition:var(--transition-smooth);align-items:center;justify-content:center}.calendar-day:hover:not(.calendar-day--empty),.calendar-day:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-border-focus);outline:none}.calendar-day--empty{display:block;background:transparent;cursor:default}.calendar-day--available{border-color:#90b40173}.calendar-day--limited{border-color:var(--color-warning-border);color:var(--color-warning-text)}.calendar-day--blocked{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text);cursor:not-allowed}.calendar-day--unverified,.calendar-day--invalid{border-color:var(--color-border);color:var(--color-text-muted)}.calendar-day--too-soon,.calendar-day--before-start{border-color:#475569cc;background:#0f172a9e;color:#64748bf2}.calendar-day--too-soon[aria-disabled=true],.calendar-day--before-start[aria-disabled=true]{opacity:.86}.calendar-day[aria-disabled=true]{cursor:not-allowed;opacity:.72}.calendar-day--past[aria-disabled=true]{background:#0f172a6b;color:#94a3b885;opacity:.48}.calendar-day.is-minimum-date{border-style:dashed}.calendar-day.is-selected{font-weight:700;outline:2px solid var(--color-primary);outline-offset:-2px}.calendar-day.is-today,.calendar-day.is-today.is-selected{outline:2px solid #fff;outline-offset:-2px}.calendar-status-hint{margin:12px 0 0;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.72rem;line-height:1.3}.calendar-status-hint[hidden]{display:none}.calendar-status-hint[data-kind=blocked]{border-color:var(--color-danger-border);color:var(--color-danger-text)}.calendar-status-hint[data-kind=before-start],.calendar-status-hint[data-kind=too-soon],.calendar-status-hint[data-kind=limited]{border-color:var(--color-warning-border);color:var(--color-warning-text)}@media (max-width: 640px){.calendar-shell{padding:12px 10px}.calendar-day{min-height:42px}}.time-picker-control{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:stretch}.time-picker-toggle{display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0f172a66;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;line-height:1;transition:var(--transition-smooth)}.time-picker-toggle:hover,.time-picker-toggle:focus-visible{border-color:var(--color-primary);color:var(--color-text-main);box-shadow:0 0 0 3px var(--color-border-focus);outline:none}.time-picker[hidden]{display:none}.time-shell{margin-top:10px;padding:14px;background:#0f172a8c;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px}.time-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.15)}.time-display{color:var(--color-text-main);font-family:var(--font-display);font-size:1rem;font-weight:600}.time-header-actions{display:flex;align-items:center;gap:10px}.time-action-link{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:var(--transition-smooth)}.time-action-link:hover,.time-action-link:focus-visible{color:var(--color-danger);outline:none}.time-close-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;line-height:1;transition:var(--transition-smooth)}.time-close-btn:hover,.time-close-btn:focus-visible{border-color:var(--color-primary);color:var(--color-text-main);outline:none}.time-presets{display:flex;flex-direction:column;gap:6px}.time-presets-title{color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.time-preset-chips{display:flex;flex-wrap:wrap;gap:6px}.time-preset-chip{padding:4px 10px;border:1px solid var(--color-border);border-radius:9999px;background:#94a3b80f;color:var(--color-text-main);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.time-preset-chip:hover,.time-preset-chip:focus-visible{border-color:var(--color-primary);background:#0ea5e926;outline:none}.time-preset-chip.is-selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.time-grid-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.time-section{display:flex;flex-direction:column;gap:6px}.time-section-title{color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.time-btn-grid{display:grid;gap:4px}.time-btn-grid--hours{grid-template-columns:repeat(6,1fr)}.time-btn-grid--minutes{grid-template-columns:repeat(3,1fr)}.time-btn{padding:6px 2px;border:1px solid transparent;border-radius:var(--radius-sm);background:#94a3b80f;color:var(--color-text-main);font-size:.82rem;font-weight:500;text-align:center;cursor:pointer;transition:var(--transition-smooth)}.time-btn:hover,.time-btn:focus-visible{border-color:var(--color-primary);background:#0ea5e926;outline:none}.time-btn.is-selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:600}.time-footer{display:flex;justify-content:flex-end;padding-top:6px}.time-confirm-btn{padding:6px 16px;font-size:.85rem}@media (max-width: 640px){.time-shell{padding:12px 10px}.time-grid-layout{grid-template-columns:1fr;gap:12px}.time-btn{padding:8px 4px;font-size:.9rem}}.checkbox-group,.radio-group{display:flex;gap:12px}.checkbox-group.vertical,.radio-group.vertical{flex-direction:column}.checkbox-group.horizontal,.radio-group.horizontal{flex-direction:row;flex-wrap:wrap}.checkbox-container,.radio-container{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;font-size:.95rem}.checkbox-container input,.radio-container input{position:absolute;opacity:0;height:0;width:0}.checkbox-label,.radio-label{display:block;position:relative;padding-left:30px;color:var(--color-text-main);line-height:1.35;transition:var(--transition-smooth)}.checkbox-label:before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border:1px solid rgba(148,163,184,.62);border-radius:var(--radius-sm);background:#0f172ab8;flex-shrink:0;transition:var(--transition-smooth)}.checkbox-container input:checked~.checkbox-label:before{background:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%230f172a'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");background-size:16px;background-position:center;background-repeat:no-repeat;box-shadow:0 0 8px #90b40173}.checkbox-container input:disabled~.checkbox-label{opacity:.55;cursor:not-allowed}.radio-label:before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border:1px solid rgba(148,163,184,.62);border-radius:50%;background:#0f172ab8;flex-shrink:0;transition:var(--transition-smooth)}.radio-container input:checked~.radio-label:before{background:var(--color-secondary);border-color:var(--color-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23f8fafc'%3E%3Ccircle cx='10' cy='10' r='5'/%3E%3C/svg%3E");background-size:10px;background-position:center;background-repeat:no-repeat;box-shadow:0 0 8px #8d2b8073}.checkbox-container.inline,.radio-container.inline{align-items:center}.checkbox-container:hover input:not(:disabled)~.checkbox-label:before,.checkbox-container input:focus-visible~.checkbox-label:before{border-color:var(--color-primary)}.checkbox-container input:focus-visible~.checkbox-label:before{box-shadow:0 0 0 3px var(--color-border-focus)}.radio-container:hover input:not(:disabled)~.radio-label:before,.radio-container input:focus-visible~.radio-label:before{border-color:var(--color-secondary)}.radio-container input:focus-visible~.radio-label:before{box-shadow:0 0 0 3px #8d2b8073}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}@media (max-width: 640px){.checkbox-grid{grid-template-columns:1fr}}.checkbox-sections{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:35px}@media (max-width: 768px){.checkbox-sections{grid-template-columns:1fr}}.checkbox-card{background:#0f172a33;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px}.checkbox-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin-bottom:16px;color:var(--color-primary)}.catering-type-group{padding-top:16px;border-top:1px solid var(--color-border)}.catering-type-group+.catering-type-group{margin-top:20px}.catering-type-group h4{margin:0;color:var(--color-text-main);font-size:.95rem;font-weight:600;letter-spacing:.01em}.catering-type-group .helper-note{margin-top:4px;margin-bottom:12px}.helper-note{font-size:.8rem;color:var(--color-text-muted);line-height:1.4;margin-top:6px;margin-bottom:2px}.alert{padding:16px;border-radius:var(--radius-md);margin-bottom:24px;font-size:.9rem;line-height:1.5;border:1px solid transparent}.alert-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.error-text{color:var(--color-danger-text);font-size:.8rem;display:none}.form-error-msg{margin-top:10px;margin-bottom:10px}.form-group.invalid input,.form-group.invalid select,.form-group.invalid textarea{border-color:var(--color-danger-text);box-shadow:0 0 0 3px #ef444426}.form-group.invalid .error-text{display:block}.button-group{display:flex;justify-content:flex-end;gap:12px;margin-top:40px;border-top:1px solid var(--color-border);padding-top:24px}legend{padding:0;font-size:.9rem;font-weight:500;color:var(--color-text-main)}.radio-col{min-width:0;border:0}.btn{font-family:var(--font-display);font-weight:500;font-size:1rem;padding:12px 24px;border-radius:var(--radius-md);border:none;cursor:pointer;outline:none;transition:var(--transition-smooth);display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--color-primary);color:var(--color-text-inverted)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 0 15px #90b40173}.btn-secondary{background:#94a3b81a;color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:#94a3b833}.btn-secondary-outline{background:transparent;color:var(--color-primary);border:1px dashed var(--color-primary)}.btn-secondary-outline:hover:not(:disabled){background:#90b4010d}.btn-small{padding:8px 16px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.platter-card,.details-card{background:#0f172a33;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}.step-card{background:#0f172a33;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin-bottom:20px;display:flex;flex-direction:column;gap:24px}.step1-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}#step_1 .step-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:0;padding:20px}#step_1 .step-card h3{grid-column:1 / -1;margin-bottom:0}#step_1 .form-group.full{grid-column:1 / -1}#step_1 .button-group{grid-column:1 / -1;margin-top:0}@media (max-width: 767px){#step_1 .step1-layout{gap:12px}#step_1 .step-card{grid-template-columns:minmax(0,1fr);gap:12px 16px;padding-inline:16px;margin-bottom:16px}#step_1 .form-group.half,#step_1 .form-group.full,#step_1 .step-card h3{grid-column:1}}.border-accent{border-color:var(--color-primary)}.platter-card h3,.details-card h3,.step-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:16px;color:var(--color-text-main);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}.section-notice{font-size:.85rem;color:var(--color-warning-text);margin-bottom:20px;background:#f59e0b0d;border-left:3px solid var(--color-warning-text);padding:8px 12px}.platter-rows{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.platter-row{display:grid;grid-template-columns:2fr 2fr 1fr 32px;gap:16px;align-items:flex-start;position:relative}.platter-row.collapsible-row{grid-template-columns:2fr 2fr 1fr 32px;padding-right:0}.flex-center-y{display:flex;align-items:center;height:100%;padding-top:24px}@media (max-width: 640px){.flex-center-y{padding-top:0;height:auto;margin-top:8px}}.btn-remove-row{align-self:flex-start;margin-top:28px;background:transparent;border:none;color:var(--color-danger-text);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-smooth)}.btn-remove-row:hover{background:#ef44441a}@media (max-width: 640px){.platter-row,.platter-row.collapsible-row{grid-template-columns:1fr;gap:12px;padding-right:0}.btn-remove-row{top:0;bottom:auto}}.platter-info-helper{background:#1e293b66;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 16px;margin-top:10px;font-size:.85rem;color:var(--color-text-muted)}.headcount-grid-art{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:#0f172a26;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:20px;position:relative}.headcount-grid-header{grid-column:span 3;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(148,163,184,.1);padding-bottom:8px;margin-bottom:8px}.headcount-grid-header h4{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--color-primary)}.headcount-info-group{grid-column:span 3}.headcount-grid-art>.form-group.flex-center-y{grid-column:span 3;padding-top:0;height:auto}.form-group-exact-headcount,.form-group-range-headcount{grid-column:span 3;display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.form-group-exact-headcount,.form-group-range-headcount{grid-template-columns:1fr}}@media (max-width: 640px){.headcount-grid-art{grid-template-columns:1fr}.headcount-grid-header,.headcount-info-group{grid-column:span 1}}.hidden{display:none!important}.success-pane{text-align:center;padding:20px 0}.success-icon{width:64px;height:64px;background:var(--color-primary);color:var(--color-text-inverted);border-radius:50%;font-size:2rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 0 20px #90b40173}.success-actions{margin:32px 0 20px;display:flex;justify-content:center;gap:16px}.btn-download-json{gap:10px;box-shadow:0 4px 12px #90b40140;background:linear-gradient(135deg,var(--color-primary),#a6cf02);color:var(--color-text-inverted)}.btn-download-json:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));box-shadow:0 6px 16px #90b40166;transform:translateY(-2px)}.btn-download-json svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.btn-download-json:hover:not(:disabled) svg{transform:translateY(2px)}.local-payload-summary{margin-top:40px;text-align:left;background:#090d16;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;max-height:400px;overflow-y:auto}.local-payload-summary h3{font-family:var(--font-display);font-size:1rem;margin-bottom:12px;color:var(--color-primary);border-bottom:1px solid rgba(148,163,184,.1);padding-bottom:6px}.local-payload-summary pre{font-family:monospace;font-size:.85rem;color:#38bdf8;white-space:pre-wrap}.step-roadmap{display:flex;justify-content:space-between;align-items:center;margin-top:20px;position:relative;width:100%}.step-roadmap-list{display:flex;align-items:center;width:100%;padding:0;margin:0;list-style:none}.demo-toast{display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-toast-close,.json-fallback-close{background:none;border:0;color:inherit;cursor:pointer}.demo-toast-close{padding:0 4px;font-size:1.2rem;line-height:1}.recovery-title{color:#f59e0b;font-size:15px}.recovery-description{margin:4px 0 0;font-size:13px;color:#d1d5db}.recovery-actions,.button-group-wrap{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.recovery-actions{margin-top:12px}.offline-recovery-banner{margin-bottom:16px;border:1px solid rgba(245,158,11,.4);background:#f59e0b1a;padding:16px;border-radius:8px}.alert-spacing{margin-top:8px;margin-bottom:0}.helper-note-spaced{margin-top:4px;display:block}.section-spacing{margin-bottom:20px}.section-spacing-top{margin-top:10px}.small-label{font-size:.85rem;opacity:.9}.no-margin{margin:0}.muted{opacity:.7}.helper-wrapper{grid-column:span 2;margin-top:10px}.torte-helper{padding:12px;background:#ffffff0f;border-left:3px solid rgba(255,94,58,.7);border-radius:4px;font-size:14px;line-height:1.5;color:#eee;text-align:left}.button-submit{margin-left:auto}.submit-spinner{display:inline-block;vertical-align:middle;animation:spin 1s linear infinite}.json-fallback-dialog{padding:20px;border-radius:12px;background:#1e293b;color:#f8fafc;border:1px solid #90b401;max-width:550px;width:90vw;margin:auto}.json-fallback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.json-fallback-header h3{margin:0;font-size:1.1rem;color:#fff}.json-fallback-close{color:#94a3b8;font-size:1.4rem;padding:0 4px}.json-fallback-description{font-size:.85rem;color:#cbd5e1;margin-bottom:12px}.json-fallback-textarea{width:100%;box-sizing:border-box;background:#0f172a;color:#38bdf8;font-family:monospace;font-size:.8rem;padding:10px;border:1px solid #334155;border-radius:6px;resize:vertical;margin-bottom:14px}.json-fallback-actions{display:flex;gap:8px;justify-content:flex-end}.download-link-hidden{visibility:hidden}.ohni-global-toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-20px);z-index:99999;background:#1e293b;color:#f8fafc;border:1px solid #90b401;padding:12px 18px;border-radius:8px;box-shadow:0 10px 25px #00000080;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:10px;transition:opacity .3s ease,transform .3s ease;opacity:0;pointer-events:none}.ohni-global-toast.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.step-node{display:flex;flex-direction:column;align-items:center;position:relative;cursor:default;transition:var(--transition-smooth);flex:1;padding:0;border:0;background:transparent;color:inherit;font:inherit}.step-node.completed{cursor:pointer}.step-node:focus-visible{outline:none}.step-node:focus-visible .step-icon{box-shadow:0 0 0 3px var(--color-border-focus);border-color:var(--color-primary)}.step-icon{width:32px;height:32px;border-radius:50%;background:#0f172a66;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--color-text-muted);transition:var(--transition-smooth);z-index:2}.step-node-title{font-family:var(--font-display);font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-top:8px;text-align:center;transition:var(--transition-smooth)}.step-line{flex:1;height:2px;background:#94a3b81a;margin-top:-24px;z-index:1;transition:var(--transition-smooth)}.step-node.active .step-icon{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-main);box-shadow:0 0 10px var(--color-secondary)}.step-node.active .step-node-title{color:var(--color-secondary);font-weight:600}.step-node.completed .step-icon{background:#90b40126;border-color:var(--color-primary);color:var(--color-primary)}.step-node.completed .step-node-title{color:var(--color-text-main)}.step-line.active{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));box-shadow:0 0 5px var(--color-secondary)}.step-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-8px) scale(.95);background:#0f172af2;border:1px solid var(--color-card-border);color:var(--color-text-main);padding:8px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000040;z-index:10}.step-node:hover .step-tooltip{opacity:1;transform:translate(-50%,-8px) scale(1)}@media (max-width: 640px){.step-node-title{display:none}.step-line{margin-top:-16px}}.option-wrapper{display:flex;flex-direction:column}.comment-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-left:0;cursor:pointer;color:var(--color-primary);opacity:.85;transition:var(--transition-smooth);vertical-align:middle;border:0;padding:0;background:transparent;font:inherit}.comment-trigger svg{pointer-events:none}.form-group:hover .comment-trigger,.checkbox-container:hover .comment-trigger,.radio-container:hover .comment-trigger,.headcount-grid-header:hover .comment-trigger{opacity:.8}.comment-trigger:hover{opacity:1!important;color:var(--color-primary)!important;transform:scale(1.1)}.comment-trigger:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:0 0 0 3px var(--color-border-focus)}.comment-trigger.active{opacity:1!important;color:var(--color-primary)!important}.field-label-row{display:flex;align-items:center;gap:8px;min-width:0}.field-label-row>label{min-width:0;flex:1 1 auto}details.form-group>summary{cursor:pointer;list-style-position:inside;font-size:.9rem;font-weight:500;color:var(--color-text-main)}details.form-group>summary:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:0 0 0 3px var(--color-border-focus)}.comment-input-wrapper{max-height:0;opacity:0;overflow:hidden;transition:max-height .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),margin .25s cubic-bezier(.4,0,.2,1);width:100%;box-sizing:border-box}.comment-input-wrapper.open{max-height:80px;opacity:1;margin-top:8px;margin-bottom:12px}.form-group .comment-input-wrapper{margin-top:-8px}.form-group .comment-input-wrapper.open{margin-top:4px}.checkbox-container+.comment-input-wrapper,.radio-container+.comment-input-wrapper{padding-left:28px;width:calc(100% - 28px)}.headcount-grid-art>.comment-input-wrapper{grid-column:span 3}.comment-input-field{width:100%;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-main);padding:8px 12px;font-size:.85rem;font-family:var(--font-sans);outline:none;transition:var(--transition-smooth)}.comment-input-field:focus{border-color:var(--color-border-focus);background:#ffffff0d;box-shadow:0 0 0 2px #90b40126}.comment-input-field::placeholder{color:#94a3b880}.btn:focus-visible,.btn-remove-row:focus-visible,.btn-toggle-dev:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-border-focus)}.btn:disabled,.btn-remove-row:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.svg-spinner-icon{height:1.25rem;width:1.25rem;color:#fff;margin-left:-.25rem;margin-right:.75rem}.success-summary-card{background:#0f172a4d;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;text-align:left;margin-top:24px;margin-bottom:24px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px}@media (max-width: 640px){.summary-grid{grid-template-columns:1fr}}.summary-section h4{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-primary);margin-bottom:10px;border-bottom:1px solid rgba(148,163,184,.1);padding-bottom:6px}.summary-section p{font-size:.9rem;color:var(--color-text-main);line-height:1.5;margin-bottom:4px}.summary-section.full-width{grid-column:span 2}@media (max-width: 640px){.summary-section.full-width{grid-column:span 1}}.summary-details{font-size:.85rem;color:var(--color-text-muted);line-height:1.4;background:#0f172a33;padding:8px 12px;border-radius:var(--radius-sm);border-left:2px solid var(--color-secondary);margin-top:10px}.brunch-addons-row{margin-top:10px;margin-bottom:10px;border-left:3px solid rgba(255,255,255,.15);padding-left:15px}.read-only-badge{padding:6px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;display:inline-block;font-size:14px;font-weight:500;color:var(--color-text-muted);margin-top:4px}.header-helper-note{display:block;font-size:13px;color:var(--color-text-muted);font-weight:400;margin-top:4px}.form-group-range-headcount{display:grid;grid-template-columns:1fr 1fr;gap:15px}.demo-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:99999;margin:0;max-width:90vw;box-shadow:var(--shadow-lg);border:1px solid var(--color-primary);background:#1e293b;color:#f8fafc}.summary-remarks-section{margin-top:16px}.summary-remarks-text{white-space:pre-wrap;font-size:.9rem;color:var(--color-text-main)}.holiday-mode-banner{margin-bottom:16px;background:linear-gradient(135deg,#0ea5e926,#8d2b801a);border:1px solid rgba(56,189,248,.35);border-left:4px solid #38bdf8;border-radius:var(--radius-md);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #00000040;animation:slideInDown .3s cubic-bezier(.16,1,.3,1)}.holiday-banner-body{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.holiday-banner-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.holiday-banner-text{font-size:.92rem;line-height:1.45;color:var(--color-text-main)}.holiday-banner-text strong{color:#7dd3fc;font-weight:600}.holiday-banner-actions{flex-shrink:0}.holiday-banner-btn{padding:6px 14px;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--color-text-main);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap}.holiday-banner-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.holiday-banner-btn:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.success-holiday-reminder{margin-top:16px;margin-bottom:24px;background:#0ea5e91f;border:1px solid rgba(56,189,248,.3);border-left:4px solid #38bdf8;border-radius:var(--radius-md);padding:14px 18px;font-size:.92rem;line-height:1.5;color:var(--color-text-main);text-align:left}.success-holiday-reminder-body{display:flex;align-items:flex-start;gap:12px}.holiday-reminder-icon{font-size:1.3rem;line-height:1;flex-shrink:0;margin-top:2px}@media (max-width: 640px){.holiday-mode-banner{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.holiday-banner-actions{display:flex;justify-content:flex-end}.holiday-banner-btn{width:100%;text-align:center}}
