.signature-container{width:100%;margin-top:1rem}.signature-canvas-wrapper{border:2px solid #ddd;border-radius:8px;background:#fff;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.signature-canvas{display:block;width:100%;height:200px;cursor:crosshair;touch-action:none}.signature-canvas-wrapper:focus-within{border-color:#667eea}.signature-actions{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.signature-clear-btn{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;transition:background .2s}.signature-clear-btn:hover:not(:disabled){background:#c0392b}.signature-clear-btn:disabled{background:#ccc;cursor:not-allowed}.signature-required-hint{color:#e74c3c;font-size:.9rem}.questionnaire-container{min-height:100vh;background:#f5f5f5;padding-bottom:100px}.questionnaire-header{background:#fff;padding:2rem;box-shadow:0 2px 4px #0000001a;text-align:center}.questionnaire-header h1{color:#333;font-size:2rem;margin-bottom:.5rem}.patient-id{color:#666;font-size:1rem}.questionnaire-content{max-width:800px;margin:2rem auto;padding:0 2rem}.question-item{background:#fff;padding:1.5rem;margin-bottom:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.question-label{display:block;font-size:1.2rem;font-weight:600;color:#333;margin-bottom:.5rem}.required{color:#e74c3c;margin-left:.25rem}.question-description{color:#666;font-size:.95rem;margin-bottom:1rem}.question-input,.question-select{width:100%;padding:1rem;font-size:1.1rem;border:2px solid #ddd;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.question-input:focus,.question-select:focus{outline:none;border-color:#667eea}.question-checkbox,.question-radio{width:24px;height:24px;margin-right:.75rem;cursor:pointer}.options-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.option-label{display:flex;align-items:center;padding:1rem;background:#f9f9f9;border-radius:8px;cursor:pointer;font-size:1.1rem;transition:background .2s}.option-label:hover{background:#f0f0f0}.section{margin:2rem 0}.section-header{font-size:1.3rem;font-weight:600;color:#667eea;padding:1rem;background:#f0f4ff;border-radius:8px;margin-bottom:1rem}.questionnaire-footer{text-align:center;padding:1.5rem;margin-top:2rem}.submit-btn{padding:1.25rem 3rem;font-size:1.3rem;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;min-width:200px;transition:background .2s}.submit-btn:hover:not(:disabled){background:#229954}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.loading,.error{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.error{color:#e74c3c}.success-message{text-align:center;padding:4rem 2rem;background:#fff;margin:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.success-message h1{color:#27ae60;font-size:2.5rem;margin-bottom:1rem}.success-message p{color:#666;font-size:1.2rem}.accessible-mode .question-label{font-size:1.35rem}.accessible-mode .question-item{padding:1.75rem}.accessible-mode .question-input,.accessible-mode .question-select{font-size:1.25rem;padding:1.1rem 1.2rem}.accessible-mode .option-label{font-size:1.25rem}.accessible-mode .submit-btn{font-size:1.4rem;padding:1.4rem 3.2rem}.accessible-mode .question-checkbox,.accessible-mode .question-radio{width:28px;height:28px}.accessible-toggle-btn{padding:.75rem 1.5rem;font-size:1rem;border-radius:999px;border:2px solid #2563eb;background:#fff;color:#2563eb;cursor:pointer;font-weight:600}.accessible-toggle-btn[aria-pressed=true]{background:#2563eb;color:#fff}.questionnaire-container :focus-visible{outline:3px solid #2563eb;outline-offset:2px}.validation-error{border-left:3px solid #e74c3c;padding-left:.5rem}.input-error{border-color:#e74c3c!important;background-color:#fee}.input-error:focus{outline:2px solid #e74c3c;outline-offset:2px}.validation-error-message{color:#e74c3c;font-size:.9rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.validation-error-message:before{content:"⚠️";font-size:1rem}.validating-indicator{color:#667eea;font-size:.85rem;margin-top:.25rem;font-style:italic}.format-hint{color:#666;font-size:.85rem;margin-top:.5rem;font-style:italic;display:flex;align-items:center;gap:.25rem}.format-hint:before{content:"ℹ️";font-size:.9rem}.accessible-mode .validation-error-message{font-size:1rem}.accessible-mode .validating-indicator{font-size:.95rem}.accessible-mode .format-hint{font-size:1.1rem;margin-top:.75rem;color:#555;font-weight:500;font-style:normal;padding:.5rem;background-color:#f0f4ff;border-left:3px solid #667eea;border-radius:4px}.accessible-mode .format-hint:before{font-size:1.1rem;margin-right:.25rem}.error-page{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:#666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}#root{width:100%;min-height:100vh}
