:root{font-family:PingFang SC,Microsoft Yahei,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;color:#0f172a;background-color:#f3f4f8;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f3f4f8}a{color:inherit}#root{min-height:100vh}.app-shell{max-width:1120px;margin:0 auto;padding:32px 20px 64px}.app-header{background:linear-gradient(120deg,#f0f4ff,#fef6ef);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:24px;box-shadow:0 20px 50px #0f172a14}.badge{display:inline-flex;font-size:14px;letter-spacing:.04em;color:#2563eb;font-weight:600;margin-bottom:8px}.app-header h1{margin:0;font-size:32px;color:#0f172a}.subtitle{margin:4px 0 0;color:#475569;font-size:18px}.questionnaire-switch{display:flex;flex-wrap:wrap;gap:12px}.questionnaire-switch button{border:1px solid rgba(37,99,235,.2);background:transparent;border-radius:999px;padding:10px 20px;font-size:14px;color:#1d4ed8;cursor:pointer;transition:all .2s ease}.questionnaire-switch button.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 10px 25px #2563eb40}.questionnaire-form{background:#fff;margin-top:32px;padding:32px;border-radius:24px;box-shadow:0 25px 60px #0f172a14}.questionnaire-meta{font-size:15px;color:#2563eb;font-weight:600;margin:0 0 12px}.questionnaire-intro{margin:0 0 12px;color:#475569}.question-section+.question-section{margin-top:40px;padding-top:32px;border-top:1px solid #e2e8f0}.section-head h3{margin:0;font-size:22px;color:#0f172a}.section-description{margin:6px 0 0;color:#64748b}.questions-grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.question-card{border:1px solid #e2e8f0;border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:12px}.question-card h4{margin:0;font-size:16px;color:#0f172a}.question-desc{margin:0;font-size:14px;color:#64748b}.required{margin-left:6px;color:#dc2626}.question-card input[type=text],.question-card textarea{width:100%;border-radius:12px;border:1px solid #cbd5f5;padding:10px 14px;font-size:15px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.question-card textarea{min-height:120px;resize:vertical}.question-card input:focus,.question-card textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.options-list{display:flex;flex-direction:column;gap:10px}.option{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-radius:12px;background:#f8fafc;border:1px solid transparent}.option-main{display:flex;align-items:center;gap:10px}.option input[type=radio],.option input[type=checkbox]{margin-right:8px;accent-color:#2563eb}.option span{flex:1}.detail-input{margin-left:28px;margin-bottom:4px}.form-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}.form-actions button{border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.form-actions button[type=submit]{background:#2563eb;color:#fff;box-shadow:0 15px 30px #2563eb59}.form-actions button[type=submit]:hover{transform:translateY(-1px)}.ghost-button{background:#fff;color:#1e293b;border:1px solid #cbd5f5}.form-hint{margin-top:16px;color:#059669;font-size:14px}.form-error{margin-top:16px;color:#dc2626;font-size:14px}.prefill-toolbar{margin:20px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#475569}.prefill-toolbar__buttons{display:flex;gap:8px;flex-wrap:wrap}.prefill-toolbar button{border:1px dashed #cbd5f5;background:#fff;border-radius:999px;padding:6px 16px;font-size:13px;cursor:pointer;transition:all .2s ease}.prefill-toolbar button:hover{border-color:#2563eb;color:#2563eb}.submission-trace{margin-top:20px;padding:12px 16px;border-radius:12px;background:#f8fafc;color:#64748b;font-size:12px;border:1px dashed #cbd5f5}@media(max-width:768px){.app-shell{padding:20px 16px 48px}.app-header,.questionnaire-form{padding:24px}.questions-grid{grid-template-columns:1fr}}.app-footer{margin-top:32px;padding:24px 20px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:14px;text-align:center}.app-footer small{display:block;margin-top:8px;font-size:12px;color:#cbd5f5}
