*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.form-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:600px;width:100%;overflow:hidden}.form-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px;text-align:center}.form-header h1{font-size:24px;font-weight:600;margin-bottom:8px}.form-header p{font-size:14px;opacity:.9}.interest-badge{display:inline-flex;align-items:center;gap:8px;background:#fff3;border-radius:20px;padding:8px 16px;margin-top:16px;font-size:13px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.interest-badge svg{flex-shrink:0}.form-body{padding:32px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group label .required{color:#e53e3e;margin-left:4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;font-size:14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px}.form-group .hint{font-size:12px;color:#666;margin-top:6px}.response-options{display:flex;flex-direction:column;gap:12px}.response-option{display:flex;align-items:center;padding:16px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.response-option:hover,.response-option.selected{border-color:#667eea;background:#f8f9ff}.response-option input[type=radio]{width:20px;height:20px;margin-right:12px;accent-color:#667eea}.response-option-label{flex:1}.response-option-label strong{display:block;font-size:14px;color:#333}.response-option-label span{display:block;font-size:12px;color:#666;margin-top:2px}.availability-section{margin-top:24px}.availability-section h3{font-size:14px;font-weight:600;color:#333;margin-bottom:16px}.availability-grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:8px;font-size:13px}.availability-grid .header{font-weight:600;color:#666;text-align:center;padding:8px}.availability-grid .day-label{font-weight:500;color:#333;padding:8px;display:flex;align-items:center}.availability-grid .checkbox-cell{display:flex;align-items:center;justify-content:center;padding:8px}.availability-grid input[type=checkbox]{width:20px;height:20px;accent-color:#667eea;cursor:pointer}.submit-btn{width:100%;padding:16px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:24px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#991b1b;font-size:14px;margin-bottom:24px}.thank-you-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:500px;width:100%;padding:48px;text-align:center}.thank-you-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:40px;color:#fff}.thank-you-container h1{font-size:28px;color:#333;margin-bottom:16px}.thank-you-container p{font-size:16px;color:#666;margin-bottom:24px}.thank-you-note{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;font-size:14px;color:#166534}.not-found-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:500px;width:100%;padding:48px;text-align:center}.not-found-icon{width:80px;height:80px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:40px;color:#991b1b}.not-found-container h1{font-size:28px;color:#333;margin-bottom:16px}.not-found-container p{font-size:16px;color:#666}.closed-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:500px;width:100%;padding:48px;text-align:center}.closed-icon{width:80px;height:80px;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#d97706}.closed-container h1{font-size:24px;color:#333;margin-bottom:16px}.closed-message{font-size:18px;color:#444;margin-bottom:16px;font-weight:500}.campaign-name-closed{font-size:14px;color:#666;font-style:italic;margin-bottom:24px}.closed-thanks{font-size:14px;color:#666;padding-top:16px;border-top:1px solid #e2e8f0}.form-group input.prefilled{background:#f0fdf4;border-color:#86efac}.prefill-hint{font-size:11px;color:#16a34a;margin-top:4px;display:flex;align-items:center;gap:4px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.form-header,.form-body{padding:24px}.form-header h1{font-size:20px}.availability-grid{font-size:12px}}.honeypot-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}.campaign-header-image{width:100%;max-height:200px;overflow:hidden}.campaign-header-image img{width:100%;height:auto;object-fit:cover;display:block}.campaign-video{width:100%;padding:16px;background:#f9fafb}.campaign-video iframe,.campaign-video video{width:100%;aspect-ratio:16 / 9;border-radius:8px;border:none}.campaign-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:16px;background:#f9fafb}.gallery-item{position:relative;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0000001a}.gallery-item img{width:100%;height:auto;max-height:300px;object-fit:contain;display:block}.gallery-caption{padding:8px 12px;font-size:12px;color:#666;text-align:center}@media (max-width: 640px){.campaign-gallery{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.gallery-item img{max-height:200px}}
