.upgrade-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background-light)}.upgrade-header{background-color:var(--primary-dark);padding:1rem 2rem}.upgrade-header .logo{color:var(--text-light);font-size:1.25rem;font-weight:600}.upgrade-main{flex:1;display:flex;justify-content:center;padding:2rem 1rem}.upgrade-footer{background-color:var(--primary-dark);color:var(--text-light);text-align:center;padding:1rem;font-size:.875rem}.upgrade-card{width:100%;max-width:700px;background-color:var(--background-white);border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px #0000000d;animation:fadeIn .3s ease}.error-card{text-align:center;padding:3rem}.error-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--accent-warm)}.error-icon svg{width:100%;height:100%}.error-card h2{color:var(--primary-dark);margin-bottom:1rem}.error-card p{color:var(--text-dark);line-height:1.6;margin-bottom:1rem}.contact-note{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:.875rem;color:#666}.contact-note a{color:var(--accent-teal)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-teal);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.upgrade-intro{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.upgrade-intro h1{color:var(--primary-dark);font-size:2rem;margin-bottom:1rem}.welcome-text{color:var(--text-dark);font-size:1.1rem;line-height:1.7;max-width:500px;margin:0 auto 1.5rem}.price-badge{display:inline-flex;flex-direction:column;align-items:center;background-color:var(--accent-teal);color:#fff;padding:.75rem 2rem;border-radius:8px}.price{font-size:1.75rem;font-weight:700}.price-note{font-size:.875rem;opacity:.9}.form-section{margin-bottom:2rem}.form-section h2{color:var(--primary-dark);font-size:1.25rem;margin-bottom:.5rem}.form-section .optional{font-weight:400;color:#888;font-size:.9rem}.section-description{color:#666;margin-bottom:1rem;font-size:.95rem}.type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:600px){.type-options{grid-template-columns:repeat(2,1fr)}}.type-option{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.type-option input{position:absolute;opacity:0}.type-option:hover{border-color:var(--accent-teal);background-color:#4fbaad0d}.type-option.selected{border-color:var(--accent-teal);background-color:#4fbaad1a}.type-option.suggested{border-color:var(--accent-teal)}.type-number{font-size:1.5rem;font-weight:700;color:var(--primary-dark)}.type-name{font-size:.75rem;color:var(--text-dark);margin-top:.25rem}.type-subtitle{font-size:.7rem;color:#888}.suggested-badge{position:absolute;top:-8px;right:-8px;background-color:var(--accent-teal);color:#fff;font-size:.6rem;padding:2px 6px;border-radius:4px;font-weight:600}.type-confirmed{text-align:center;padding:1.5rem;background-color:#4fbaad14;border-radius:12px;margin-bottom:1rem}.confirmed-label{color:#666;font-size:.9rem;margin-bottom:.75rem}.confirmed-type-display{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.confirmed-type-display .type-number{font-size:2rem;font-weight:700;color:var(--accent-teal)}.confirmed-type-display .type-name{font-size:1.1rem;font-weight:600;color:var(--primary-dark)}.confirmed-type-display .type-subtitle{font-size:.9rem;color:#666}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-dark)}.btn-secondary:hover{background-color:#0000000d;border-color:#999}.btn-small{padding:.5rem 1rem;font-size:.875rem}.type-list{margin-bottom:1.5rem}.type-list-heading{font-size:.875rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;padding-left:.5rem}.other-types{opacity:.8}.other-types .type-list-heading{color:#888}.type-list-item{border:2px solid var(--border-color);border-radius:10px;margin-bottom:.5rem;overflow:hidden;transition:border-color .2s,box-shadow .2s}.type-list-item:hover{border-color:var(--accent-teal)}.type-list-item.expanded{border-color:var(--accent-teal);box-shadow:0 2px 8px #4fbaad26}.suggested-types .type-list-item{border-color:var(--accent-teal);border-width:2px}.type-list-header{display:flex;align-items:center;width:100%;padding:1rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background-color .2s}.type-list-header:hover{background-color:#4fbaad0d}.type-list-header .type-number{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-dark);color:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;flex-shrink:0}.type-list-header .type-info{flex:1;margin-left:1rem}.type-list-header .type-name{display:block;font-size:1rem;font-weight:600;color:var(--primary-dark);margin:0}.type-list-header .type-subtitle{display:block;font-size:.875rem;color:#666;margin-top:.125rem}.expand-icon{font-size:.75rem;color:#888;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.type-expanded-content{padding:0 1rem 1.25rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.type-description{color:var(--text-dark);line-height:1.7;font-size:.95rem;margin-bottom:1.25rem;padding:1rem;background-color:#00000005;border-radius:8px;border-left:3px solid var(--accent-teal)}.type-expanded-content .btn-primary{width:100%}.challenge-options{display:flex;flex-wrap:wrap;gap:.5rem}.challenge-option{display:inline-flex;align-items:center;padding:.625rem 1rem;border:2px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s;font-size:.9rem}.challenge-option input{position:absolute;opacity:0}.challenge-option:hover{border-color:var(--accent-teal)}.challenge-option.selected{border-color:var(--accent-teal);background-color:var(--accent-teal);color:#fff}textarea{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;transition:border-color .2s}textarea:focus{outline:none;border-color:var(--accent-teal)}textarea.error{border-color:var(--error-color)}textarea::placeholder{color:#999}.error-message{display:block;color:var(--error-color);font-size:.875rem;margin-top:.5rem}.submit-error{background-color:#dc35451a;border:1px solid var(--error-color);border-radius:8px;padding:1rem;margin-bottom:1rem;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--accent-teal);color:#fff}.btn-primary:hover:not(:disabled){background-color:#3d9a8f}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-large{width:100%;padding:1rem;font-size:1.1rem}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.payment-note{text-align:center;font-size:.875rem;color:#666;margin-top:1rem}:root{--primary-dark: #15363f;--accent-teal: #4fbaad;--accent-warm: #ee6f5c;--text-dark: #333333;--text-light: #ffffff;--background-light: #f8f9fa;--background-white: #ffffff;--border-color: #e0e0e0;--error-color: #dc3545;--success-color: #28a745}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text-dark);background-color:var(--background-light)}.app{min-height:100vh}.questionnaire{display:flex;flex-direction:column;min-height:100vh}.questionnaire-header{background-color:var(--primary-dark);padding:1rem 2rem;position:sticky;top:0;z-index:100}.logo{color:var(--text-light);font-size:1.25rem;font-weight:600}.questionnaire-main{flex:1;display:flex;justify-content:center;padding:2rem 1rem}.questionnaire-footer{background-color:var(--primary-dark);color:var(--text-light);text-align:center;padding:1rem;font-size:.875rem}.screen{width:100%;max-width:700px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.screen-content{background-color:var(--background-white);border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px #0000000d}.intro-screen h1{color:var(--primary-dark);font-size:2.25rem;margin-bottom:.5rem}.intro-screen h2{color:var(--accent-teal);font-size:1.25rem;font-weight:400;margin-bottom:2rem}.intro-text p{margin-bottom:1.25rem}.time-estimate{background-color:var(--background-light);padding:1rem;border-radius:8px;border-left:4px solid var(--accent-teal)}.guidance-screen h2{color:var(--primary-dark);font-size:1.75rem;margin-bottom:1.5rem}.guidance-text h3{color:var(--primary-dark);font-size:1.125rem;margin-bottom:1rem}.guidance-text ul{list-style:none;padding:0}.guidance-text li{margin-bottom:1.25rem;padding-left:1.5rem;position:relative}.guidance-text li:before{content:"";position:absolute;left:0;top:.5rem;width:8px;height:8px;background-color:var(--accent-teal);border-radius:50%}.guidance-note{margin-top:1.5rem;padding:1rem;background-color:var(--background-light);border-radius:8px;font-size:.875rem;color:#666}.guidance-text>p{margin-bottom:1.5rem}.guidance-text em{font-style:italic}.example-box{background-color:var(--background-light);border-radius:8px;padding:1.5rem;margin-top:1.5rem;border-left:4px solid var(--accent-teal)}.example-label{font-weight:500;color:var(--primary-dark);margin-bottom:1rem}.example-question{margin-bottom:.75rem}.example-response{background-color:var(--background-white);padding:1rem;border-radius:6px;margin-bottom:1rem;font-style:italic}.example-note{font-size:.875rem;color:#666;margin-bottom:0}.progress-container{margin-bottom:1.5rem}.progress-text{font-size:.875rem;color:#666;margin-bottom:.5rem;text-align:center}.progress-bar{height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--accent-teal);border-radius:4px;transition:width .3s ease}.section-title{color:var(--primary-dark);font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--accent-teal)}.questions-container{display:flex;flex-direction:column;gap:2rem}.question-block{display:flex;flex-direction:column}.question-text{font-size:1.0625rem;font-weight:500;color:var(--primary-dark);margin-bottom:.75rem}.question-input{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.question-input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #4fbaad26}.question-input.error{border-color:var(--error-color)}.question-input.valid{border-color:var(--success-color)}.question-input::placeholder{color:#999}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem}.char-count{color:#999}.char-count.warning{color:var(--accent-warm)}.char-count.valid{color:var(--success-color)}.error-message{color:var(--error-color);font-size:.875rem}.validation-hint{text-align:center;color:#666;font-size:.875rem;margin-top:1rem}.navigation-buttons{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent-warm);color:var(--text-light)}.btn-primary:hover:not(:disabled){background-color:#e55d4a;transform:translateY(-1px)}.btn-secondary{background-color:transparent;color:var(--primary-dark);border:2px solid var(--primary-dark)}.btn-secondary:hover:not(:disabled){background-color:var(--primary-dark);color:var(--text-light)}.email-screen h2{color:var(--primary-dark);font-size:1.75rem;margin-bottom:1.5rem}.email-text{margin-bottom:2rem}.email-text p{margin-bottom:1rem}.email-form{max-width:400px;margin:0 auto}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--primary-dark)}.form-group input{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--accent-teal)}.form-group input.error{border-color:var(--error-color)}.privacy-note{font-size:.8125rem;color:#666;text-align:center;margin:1.5rem 0}.spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.confirmation-screen .screen-content{text-align:center}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--success-color)}.success-icon svg{width:100%;height:100%}.confirmation-screen h2{color:var(--primary-dark);font-size:1.75rem;margin-bottom:1.5rem}.email-display{background-color:var(--background-light);padding:1rem;border-radius:8px;font-size:1.125rem}.next-steps{text-align:left;background-color:var(--background-light);padding:1.5rem;border-radius:8px;margin:1.5rem 0}.next-steps h3{color:var(--primary-dark);font-size:1rem;margin-bottom:.75rem}.next-steps ul{margin:0;padding-left:1.25rem}.next-steps li{margin-bottom:.5rem}.confirmation-text a{color:var(--accent-teal)}.cta-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.cta-section h3{color:var(--primary-dark);font-size:1.125rem;margin-bottom:1rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.business-notice{margin-top:2rem;padding:1.25rem;background-color:var(--background-light);border-radius:8px;border-left:4px solid var(--accent-teal);text-align:left}.business-notice p{margin:0;font-size:.9375rem;line-height:1.6;color:var(--text-dark)}.dictation-instruction{margin-bottom:.5rem}.dictation-instruction strong{color:var(--primary-dark)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal{background-color:var(--background-white);border-radius:12px;padding:2rem;max-width:450px;width:100%;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{color:var(--primary-dark);font-size:1.5rem;margin-bottom:1rem}.modal p{margin-bottom:1.5rem;line-height:1.6;color:var(--text-dark)}.modal-buttons{display:flex;gap:1rem}.modal-buttons .btn{flex:1}@media(max-width:600px){.questionnaire-header{padding:.75rem 1rem}.screen-content{padding:1.5rem}.intro-screen h1{font-size:1.75rem}.intro-screen h2{font-size:1.125rem}.section-title{font-size:1.25rem}.navigation-buttons{flex-direction:column}.btn{width:100%}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}.input-footer{flex-direction:column;align-items:flex-start;gap:.25rem}.modal{padding:1.5rem}.modal-buttons{flex-direction:column}}
