.patient-form-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100vw;padding:0;background:linear-gradient(135deg,#f0f9ff,#e0f7ff);overflow-y:auto}.patient-form{width:80vw;max-width:100%;padding:2rem;background-color:#fff;border-radius:0;box-shadow:none;margin:0;border-top:6px solid #006BB3}.patient-form h2{text-align:center;margin-bottom:2rem;color:#006bb3;font-size:1.8rem;font-weight:700;border-bottom:3px solid #4ECDC4;padding-bottom:1rem}.form-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.form-group{flex:1;min-width:calc(33.333% - 1.5rem);display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:700;color:#006bb3;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group select,.form-group input[type=file]{width:100%;padding:.75rem;border:2px solid #E0E0E0;border-radius:6px;font-size:1rem;box-sizing:border-box;text-transform:uppercase;background-color:#f9f9f9;color:#333;transition:all .3s ease}.form-group select{background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006BB3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/csvg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5em 1.5em;padding-right:2.75rem;appearance:none;cursor:pointer}.form-group select option{color:#333;background-color:#fff;padding:.5rem}.form-group select option:hover{background-color:#4ecdc4;color:#fff}.form-group select option:checked{background:linear-gradient(#4ecdc4,#4ecdc4);background-color:#006bb3;color:#fff}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group input[type=email]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group input[type=file]:focus{outline:none;border-color:#4ecdc4;background-color:#fff;box-shadow:0 0 0 3px #4ecdc41a}.radio-group{display:flex;gap:2rem;align-items:center;padding-top:.75rem}.radio-group label{font-weight:600;color:#333;display:flex;align-items:center;gap:.5rem;cursor:pointer}.radio-group input[type=radio]{accent-color:#006BB3;cursor:pointer;width:18px;height:18px}.signature-container{border:2px solid #4ECDC4;border-radius:8px;width:100%;height:280px;max-width:100%;box-sizing:border-box;background-color:#f9f9f9}.signature-canvas{width:100%;height:100%}.camera-section{flex:1;display:flex;flex-direction:column;align-items:center}.webcam-view,.camera-section img,.form-group img,.form-group .webcam-view{width:100%;height:280px;border-radius:8px;border:2px solid #4ECDC4;box-shadow:0 4px 8px #4ecdc433;object-fit:cover}.camera-buttons{margin-top:.5rem;display:flex;gap:.5rem;width:100%}.camera-buttons button{flex:1;padding:.75rem 1.25rem;border:2px solid #4ECDC4;border-radius:6px;cursor:pointer;font-size:1rem;background-color:#4ecdc4;color:#fff;font-weight:600;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #4ecdc433}.camera-buttons button:hover{background-color:#3ba39c;border-color:#3ba39c;transform:translateY(-2px);box-shadow:0 6px 12px #4ecdc466}.camera-buttons button:active{transform:translateY(0);box-shadow:0 2px 4px #4ecdc433}.form-group .g-recaptcha{display:flex!important;justify-content:center;align-items:center;height:100%;margin-top:0}.form-group:has(.g-recaptcha){display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding-top:1.95rem}.form-row:has(.signature-container) .form-group{display:flex;flex-direction:column}.clear-button,.submit-button{display:block;width:100%;padding:.75rem 1.25rem;border:2px solid transparent;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.clear-button{padding:.75rem 1.25rem;background-color:#e8e8e8;color:#006bb3;margin-top:.5rem;border-color:#006bb3;box-shadow:0 2px 4px #006bb326}.clear-button:hover{background-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 6px 12px #006bb340}.clear-button:active{transform:translateY(0);box-shadow:0 2px 4px #006bb326}.submit-button{background-color:#006bb3;color:#fff;margin-top:1.5rem;font-size:1.1rem;width:100%;border-color:#006bb3;box-shadow:0 4px 8px #006bb333}.submit-button:hover:not(:disabled){background-color:#004d7a;border-color:#004d7a;transform:translateY(-2px);box-shadow:0 8px 16px #006bb366}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 8px #006bb333}.submit-button:disabled{opacity:.6;cursor:not-allowed;background-color:#ccc;border-color:#ccc;box-shadow:none}.form-row>.form-group:last-child{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-width:auto}@media (max-width: 1024px){.form-group{min-width:calc(50% - 1.5rem)}.patient-form{max-width:100%;padding:1.5rem}.form-row:has(.signature-container){display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.form-row:has(.signature-container)>.form-group:last-child{min-width:auto}}@media (max-width: 768px){.form-row{flex-direction:column;gap:1rem}.form-row:has(.signature-container){display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row:has(.signature-container)>.form-group:last-child{grid-column:1 / -1;display:flex;justify-content:center}.form-group{min-width:100%}.patient-form-container{padding:0}.patient-form{padding:1rem;border-radius:0}.patient-form-header{border-radius:0}.patient-form h2{font-size:1.4rem;padding-bottom:.75rem;margin-bottom:1.5rem}.radio-group{flex-direction:column;gap:1rem;align-items:flex-start}.form-group label{font-size:.9rem}}@media (max-width: 480px){.patient-form-container{padding:0}.patient-form{padding:.75rem;border-radius:0;box-shadow:none}.patient-form-header{border-radius:0;padding:20px 1rem}.patient-form h2{font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.form-row{gap:.75rem;margin-bottom:1rem}.form-row:has(.signature-container){display:flex;flex-direction:column;gap:.75rem}.form-row:has(.signature-container)>.form-group:last-child{grid-column:auto;display:flex;justify-content:center;width:100%}.form-group{margin-bottom:.5rem}.form-group label{font-size:.85rem}.form-group input[type=text],.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group select,.form-group input[type=file]{padding:.6rem;font-size:16px}.signature-container,.webcam-view,.camera-section img{height:150px}.camera-buttons{flex-direction:column;gap:.75rem}.camera-buttons button{width:100%}.submit-button{padding:.9rem;font-size:1rem;margin-top:1rem}.clear-button{padding:.6rem}.radio-group{gap:1rem}}.patient-form-header{width:100%;max-width:100%;margin:0;padding:30px 2rem;background:linear-gradient(135deg,#006bb3,#4ecdc4);border-radius:0;box-shadow:0 4px 12px #006bb326;display:flex;flex-direction:column;align-items:center;gap:10px;box-sizing:border-box}.client-logo{max-height:100px;max-width:280px;object-fit:contain}.patient-form-header h1{margin:0;color:#fff;font-size:2rem;text-align:center;font-weight:700;letter-spacing:.5px}.patient-form-header a{color:#fff;text-decoration:none;font-weight:600;transition:all .3s ease}.patient-form-header a:hover{text-decoration:underline;opacity:.9}.input-with-indicator{position:relative;display:flex;align-items:center}.input-with-indicator input{flex-grow:1}.loading-indicator{position:absolute;right:10px;color:#4ecdc4;font-size:.9rem;font-weight:600}.verification-message{color:#d32f2f;font-size:.9rem;margin-top:5px;font-weight:600;border-left:3px solid #d32f2f;padding:.5rem .5rem .5rem .75rem}.grecaptcha-badge{visibility:hidden}@media (max-width: 768px){.patient-form-header{margin:0;padding:20px 1rem;border-radius:0}.patient-form-header h1{font-size:1.5rem}.client-logo{max-height:80px;max-width:200px}}.validator-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100vw;padding:2rem;text-align:center;background:linear-gradient(135deg,#f0f9ff,#e0f7ff);overflow-y:auto}.validator-card{background-color:#fff;padding:3rem 2.5rem;border-radius:8px;box-shadow:0 8px 24px #006bb326;max-width:600px;width:90%;border-top:6px solid #006BB3;border-bottom:3px solid #4ECDC4;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 24px #006bb326}50%{transform:scale(1.02);box-shadow:0 12px 32px #006bb340}}.validator-card h2{color:#006bb3;font-size:2rem;font-weight:700;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:1px}.validator-spinner{margin:2rem auto;width:60px;height:60px;border:6px solid #e0f7ff;border-top:6px solid #4ECDC4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.validator-message{color:#333;font-size:1.1rem;line-height:1.6;margin-top:1rem}@media (max-width: 768px){.validator-card{padding:2rem 1.5rem;width:95%}.validator-card h2{font-size:1.6rem}.validator-message{font-size:1rem}}.invalid-link-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100vw;padding:2rem;text-align:center;background:linear-gradient(135deg,#f0f9ff,#e0f7ff);overflow-y:auto}.invalid-link-card{background-color:#fff;padding:3rem 2.5rem;border-radius:8px;box-shadow:0 8px 24px #006bb326;max-width:600px;width:90%;border-top:6px solid #dc3545;border-bottom:3px solid #4ECDC4;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:4rem;margin-bottom:1rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px) rotate(-5deg)}75%{transform:translate(10px) rotate(5deg)}}.invalid-link-card h1{color:#dc3545;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:1px}.invalid-link-card p{color:#333;font-size:1.1rem;line-height:1.8;margin-bottom:1rem}.invalid-link-card p:last-child{margin-top:1.5rem;color:#006bb3;font-weight:600}@media (max-width: 768px){.invalid-link-card{padding:2rem 1.5rem;width:95%}.invalid-link-card h1{font-size:2rem}.invalid-link-card p{font-size:1rem}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;--primary-color: #006BB3;--secondary-color: #4ECDC4;--error-color: #dc3545;--success-color: #28a745;--text-color: #333;--bg-gradient-start: #f0f9ff;--bg-gradient-end: #e0f7ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;width:100%;min-height:100vh;color:var(--text-color);background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%)}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--secondary-color)}h1,h2,h3,h4,h5,h6{color:var(--primary-color);margin:0}button{border-radius:6px;border:2px solid transparent;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px #4ecdc44d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-gradient-start)}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}
