.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}.page-break{margin:2rem 0;padding:1rem 0;border-top:2px dashed #ccc;text-align:center;color:#999;font-size:.9rem;page-break-before:always;break-before:page}@media print{.page-break{page-break-before:always;break-before:page;border-top:none;margin-top:0}}.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}.page-navigation{background:#fff;padding:1rem 2rem;margin:1rem auto;max-width:800px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-navigation-bottom{margin-top:2rem}.page-navigation-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem}.page-nav-btn{padding:.75rem 1.5rem;font-size:1rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s;min-width:120px}.page-nav-btn:hover:not(:disabled){background:#5568d3}.page-nav-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.page-index{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.page-index-text{font-size:1.1rem;font-weight:600;color:#333}.page-title{font-size:.9rem;color:#666;font-weight:400}.page-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-height:400px}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.page-title-header{font-size:1.5rem;font-weight:600;color:#333;margin:0}.page-content{display:flex;flex-direction:column;gap:1.5rem}.accessible-mode .page-nav-btn{font-size:1.2rem;padding:1rem 2rem;min-width:150px}.accessible-mode .page-index-text{font-size:1.3rem}.accessible-mode .page-title{font-size:1.1rem}.accessible-mode .page-title-header{font-size:1.8rem}.markdown-content{line-height:1.6;color:#333}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600;color:#222}.markdown-content h1{font-size:1.75rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.markdown-content h2{font-size:1.5rem;border-bottom:1px solid #e0e0e0;padding-bottom:.25rem}.markdown-content h3{font-size:1.25rem}.markdown-content h4{font-size:1.1rem}.markdown-content p{margin-bottom:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:2rem}.markdown-content li{margin-bottom:.5rem}.markdown-content a{color:#06c;text-decoration:underline}.markdown-content a:hover{color:#0052a3}.markdown-content code{background-color:#f4f4f4;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.markdown-content pre{background-color:#f4f4f4;padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1rem}.markdown-content pre code{background-color:transparent;padding:0}.markdown-content blockquote{border-left:4px solid #ddd;padding-left:1rem;margin-left:0;margin-bottom:1rem;color:#666;font-style:italic}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:1rem}.markdown-content table th,.markdown-content table td{border:1px solid #ddd;padding:.5rem;text-align:left}.markdown-content table th{background-color:#f8f9fa;font-weight:600}.markdown-content hr{border:none;border-top:1px solid #ddd;margin:1.5rem 0}.markdown-content img{max-width:100%;height:auto;border-radius:4px;margin:1rem 0}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:#f5f5f5;position:relative}.landing-page-content{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:2rem}.landing-page-title{font-size:2rem;font-weight:600;color:#333;text-align:center;margin:0}.landing-page-description{font-size:1.1rem;color:#666;text-align:center;margin:0}.qr-reader-container{width:100%;max-width:500px;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a;background-color:#fff}.landing-page-error{padding:1rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;text-align:center;width:100%;max-width:500px}.landing-page-scanning{color:#666;font-size:.9rem;text-align:center;margin:0}.landing-page-footer{margin-top:auto;padding:1.5rem 2rem;text-align:center;font-size:.875rem;color:#666;width:100%;border-top:1px solid #e0e0e0;background-color:#fff}.landing-page-footer p{margin:0}.landing-page-footer a{color:#06c;text-decoration:none;transition:color .2s ease}.landing-page-footer a:hover{color:#0052a3;text-decoration:underline}.landing-page-footer a:visited{color:#06c}@media (max-width: 768px){.landing-page{padding:1rem}.landing-page-title{font-size:1.5rem}.landing-page-description{font-size:1rem}.qr-reader-container{max-width:100%}.landing-page-footer{padding:1rem;font-size:.75rem}}.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}
