html,body,#root{margin:0;padding:0;width:100%;min-height:100%}#root{display:contents}.star-rating{text-align:left}.star-rating.compact .stars-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stars-container{display:flex;gap:4px}.star{background:none;border:none;padding:2px;cursor:pointer;transition:transform .15s}.star:active{transform:scale(.9)}.star-icon{width:32px;height:32px;fill:var(--gray-200);stroke:none;transition:fill .15s}.star.filled .star-icon{fill:var(--star)}.star.selected{animation:pop .2s ease-out}@media (hover: hover){.star:hover{transform:scale(1.1)}.star:hover .star-icon{fill:var(--star)}}.rating-feedback{font-size:.8rem;color:var(--brand);white-space:nowrap}.note-inline{margin-top:10px}.note-input{width:100%;padding:10px 12px;font-family:inherit;font-size:.85rem;color:var(--gray-700);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;outline:none;transition:border-color .15s}.note-input:focus{border-color:var(--brand)}.note-input::placeholder{color:var(--gray-400)}.star-rating:not(.compact){text-align:center}.star-rating:not(.compact) .stars-container{justify-content:center;margin-bottom:8px}.star-rating:not(.compact) .star-icon{width:40px;height:40px}.source-selection{display:flex;flex-direction:column;gap:10px}.source-options{display:flex;flex-wrap:wrap;gap:8px}.source-selection.compact .source-options{gap:8px}.source-option{cursor:pointer;flex:0 0 auto}.source-option input{display:none}.option-content{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;transition:all .15s}.source-selection.compact .option-content{padding:8px 12px}.source-option:active .option-content{transform:scale(.98)}.source-option.selected .option-content{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:var(--brand);border-width:2px;box-shadow:0 0 0 3px #1a5d1a26}.source-option.selected .option-content:after{content:"✓";font-size:.75rem;font-weight:700;color:var(--brand);margin-left:4px}.option-icon{font-size:1.1rem}.option-icon-svg{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.option-icon-svg svg{width:100%;height:100%}.source-selection.compact .option-icon,.source-selection.compact .option-icon-svg{font-size:1rem;width:16px;height:16px}.option-label{font-size:.9rem;font-weight:500;color:var(--gray-700)}.source-selection.compact .option-label{font-size:.8rem}.other-input{margin-top:4px}.other-text-input{width:100%;padding:10px 12px;font-family:inherit;font-size:.85rem;color:var(--gray-700);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;outline:none;transition:border-color .15s}.other-text-input:focus{border-color:var(--brand)}.other-text-input::placeholder{color:var(--gray-400)}@media (hover: hover){.source-option:hover .option-content{border-color:var(--brand)}}.toast{position:fixed;bottom:20px;left:16px;right:16px;max-width:380px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);z-index:101;animation:fadeUp .2s ease-out}.toast-error{border-left:3px solid var(--error)}.toast-success{border-left:3px solid var(--success)}.toast-icon svg{width:20px;height:20px}.toast-error .toast-icon{color:var(--error)}.toast-success .toast-icon{color:var(--success)}.toast-message{flex:1;font-size:.9rem;color:var(--gray-700)}.company-info{padding:16px;background:var(--gray-50);display:flex;flex-direction:column;gap:12px}.info-section{background:#fff;border-radius:12px;border:1px solid var(--gray-200);overflow:hidden}.accordion-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:none;font-family:inherit;font-size:.85rem;color:var(--gray-700);cursor:pointer;text-align:left}.accordion-toggle:active{background:var(--gray-50)}.toggle-icon{font-size:1rem}.toggle-text{flex:1;font-weight:500}.toggle-arrow{color:var(--gray-400);transition:transform .2s}.toggle-arrow.open{transform:rotate(180deg)}.branches-list{padding:0 16px 16px}.branch-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--gray-50);border-radius:8px;margin-bottom:6px}.branch-item:last-child{margin-bottom:0}.branch-name{font-size:.8rem;font-weight:600;color:var(--brand)}.branch-address{font-size:.75rem;color:var(--gray-600)}.contact-section{padding:16px;display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:12px;border:1px solid var(--gray-200)}.contact-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;text-decoration:none;transition:all .15s}.contact-item:active{border-color:var(--brand)}.contact-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;font-size:1rem;border:1px solid var(--gray-200)}.contact-detail{display:flex;flex-direction:column}.contact-label{font-size:.7rem;color:var(--gray-500);margin-bottom:1px}.contact-value{font-size:.9rem;font-weight:600;color:var(--brand);text-decoration:none}.contact-value:active{opacity:.7}.website-section{padding:16px;text-align:center;background:#fff;border-radius:12px;border:1px solid var(--gray-200)}.website-label{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:6px}.website-link{display:inline-block;font-size:.85rem;font-weight:600;color:var(--brand);text-decoration:none}.website-link:active{opacity:.7}.survey-container{max-width:480px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;overflow:hidden;animation:fadeUp .4s ease-out}.logo-topbar{background:var(--brand-gradient);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;position:relative}.brand-logo{height:36px;width:auto;filter:brightness(0) invert(1)}.menu-wrapper{position:relative}.menu-button{background:none;border:none;padding:8px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s}.menu-button:active{background:#ffffff26}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;overflow:hidden;z-index:100;animation:fadeUp .2s ease-out}.menu-item{display:block;padding:14px 16px;font-size:.9rem;color:var(--gray-700);text-decoration:none;border-bottom:1px solid var(--gray-100);transition:background .15s}.menu-item:last-child{border-bottom:none}.menu-item:active{background:var(--gray-50)}.survey-title{background:#fff;padding:16px 20px;text-align:center;border-bottom:1px solid var(--gray-200)}.survey-title h1{font-size:1.15rem;font-weight:700;color:var(--brand);margin:0;display:flex;align-items:center;justify-content:center;gap:8px}.survey-title h1:before{content:"📋";font-size:1.1rem}.mission-quote{padding:16px 20px;background:linear-gradient(135deg,#fef9e7,#fef3c7);border-left:4px solid #f59e0b;border-bottom:1px solid var(--gray-200)}.mission-quote p{margin:0;line-height:1.6}.quote-main{font-size:.9rem;color:var(--gray-700);margin-bottom:6px!important}.quote-main strong{color:var(--brand)}.quote-sub{font-size:.85rem;color:var(--gray-600);font-style:italic;margin-bottom:10px!important}.quote-privacy{font-size:.75rem;color:var(--gray-500);padding-top:8px;border-top:1px dashed var(--gray-300)}.questions-list{padding:16px;display:flex;flex-direction:column;gap:12px}.question-item{padding:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 3px #0000000a}.question-label{display:flex;align-items:center;gap:10px;margin-bottom:12px}.q-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:.75rem;font-weight:600;border-radius:50%;flex-shrink:0}.q-text{font-size:.9rem;color:var(--gray-700)}.q-text strong{color:var(--gray-900)}.submit-section{padding:20px;background:var(--gray-50);text-align:center}.btn-submit{width:100%;padding:14px 24px;font-size:1rem;font-weight:600;color:#fff;background:var(--brand-gradient);border:none;border-radius:12px;cursor:pointer;transition:all .2s}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-submit:not(:disabled):active{transform:scale(.98)}.submit-hint{margin:10px 0 0;font-size:.75rem;color:var(--gray-400)}.privacy-notice{margin:12px 0 0;padding:12px;font-size:.7rem;line-height:1.5;color:var(--gray-500);background:var(--gray-100);border-radius:8px;text-align:center}.survey-footer{text-align:center;padding:12px;font-size:.7rem;color:var(--gray-400)}.thank-you-container{max-width:440px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;overflow:hidden;animation:fadeUp .4s ease-out}.thank-you-content{padding:32px 24px;text-align:center}.thank-you-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.thank-you-icon.excellent{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.thank-you-icon.good{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.thank-you-icon.average{background:linear-gradient(135deg,#fef3c7,#fde68a)}.thank-you-icon.poor{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.thank-you-content h1{font-size:1.4rem;font-weight:700;color:var(--gray-800);margin:0 0 12px}.thank-you-message{font-size:.95rem;color:var(--gray-700);margin:0 0 8px;line-height:1.6}.thank-you-subtext{font-size:.85rem;color:var(--gray-500);margin:0 0 24px;line-height:1.6}.google-cta-section{background:var(--gray-50);padding:20px;border-radius:12px;margin-bottom:24px}.google-text{font-size:.85rem;color:var(--gray-600);margin:0 0 14px}.google-cta-button{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:#fff;border:2px solid var(--gray-200);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--gray-700);text-decoration:none;transition:all .2s}.google-cta-button:active{transform:scale(.98);border-color:var(--brand)}.google-icon{width:20px;height:20px}.contact-section{background:#fff;padding:20px;border-radius:12px;border:1px solid var(--gray-200);margin-bottom:24px}.contact-title{font-size:.85rem;font-weight:600;color:var(--gray-700);margin:0 0 14px;text-align:center}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;text-decoration:none;transition:all .15s}.contact-item:active{transform:scale(.98);border-color:var(--brand)}.contact-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;font-size:1.2rem;border:1px solid var(--gray-200)}.contact-info{display:flex;flex-direction:column;text-align:left}.contact-label{font-size:.7rem;color:var(--gray-500);margin-bottom:2px}.contact-value{font-size:.95rem;font-weight:600;color:var(--brand)}.thank-you-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:20px;border-top:1px solid var(--gray-200);font-size:.9rem;font-weight:600;color:var(--brand)}.invalid-link-container{max-width:440px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;overflow:hidden;animation:fadeUp .4s ease-out}.invalid-link-content{padding:32px 24px;text-align:center}.invalid-logo-section{background:var(--brand-gradient);margin:-32px -24px 24px;padding:20px}.invalid-logo{height:40px;width:auto;filter:brightness(0) invert(1)}.invalid-icon{font-size:3rem;margin-bottom:16px}.invalid-link-content h1{font-size:1.3rem;font-weight:700;color:var(--gray-800);margin:0 0 12px}.invalid-message{font-size:.95rem;color:var(--gray-600);margin:0 0 8px;line-height:1.6}.invalid-subtext{font-size:.85rem;color:var(--gray-500);margin:0 0 24px;line-height:1.6}.invalid-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.btn-primary{display:block;padding:14px 24px;background:var(--brand-gradient);color:#fff;font-size:.95rem;font-weight:600;text-decoration:none;border-radius:12px;transition:transform .15s}.btn-primary:active{transform:scale(.98)}.btn-secondary{display:block;padding:14px 24px;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-700);font-size:.9rem;font-weight:500;text-decoration:none;border-radius:12px;transition:all .15s}.btn-secondary:active{border-color:var(--brand)}.invalid-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:20px;border-top:1px solid var(--gray-200);font-size:.9rem;font-weight:600;color:var(--brand)}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--brand);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto 12px}.loading-content p{font-size:.9rem;color:var(--gray-500);margin:0}:root{--brand: #1a5d1a;--brand-dark: #145214;--brand-light: #2e8b2e;--brand-gradient: linear-gradient(135deg, #1a5d1a 0%, #2e7d32 100%);--accent: #4caf50;--accent-light: #81c784;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #22c55e;--error: #ef4444;--star: #fbbf24;--radius: 16px;--radius-sm: 10px;--radius-full: 9999px;--shadow-card: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .07);--shadow-elevated: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;background:var(--gray-100);min-height:100dvh;color:var(--gray-800);line-height:1.5}.app{min-height:100dvh;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}
