.app-container{justify-content:center;min-height:100vh;padding:2rem}.app-container,.scan-view{align-items:center;box-sizing:border-box;display:flex;flex-direction:column}.scan-view{height:100vh;justify-content:space-between;overflow:hidden;padding:1.5rem 1rem;width:100%}.scan-view--hidden{display:none}.scan-view--visible{display:flex}.scan-logo{flex-shrink:0;max-height:80px;max-width:70%;object-fit:contain;width:auto}.camera-container{flex:1 1;overflow:hidden;padding:.75rem 0}.camera-wrapper--portrait{background:#000;border-radius:20px;box-shadow:0 10px 30px #0003;flex:1 1;max-width:420px;overflow:hidden;position:relative;width:75%}.webcam-view--portrait{height:100%!important;left:50%;object-fit:cover;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%!important}.capture-button{flex-shrink:0}.greeting-card{background:#fff;border-radius:20px;box-shadow:0 10px 25px #0000000d;margin-bottom:2rem;max-width:600px;padding:2.5rem;text-align:center;width:100%}.greeting-title{color:#1a202c;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.time-display{color:#4a5568;font-size:2rem;font-weight:500;margin-bottom:1rem}.task-display{background-color:#e2e8f0;border-radius:12px;color:#2d3748;display:inline-block;font-size:1.5rem;font-weight:500;padding:.75rem 1.5rem}.visual-context{display:flex;gap:3rem;justify-content:center;max-width:800px;width:100%}.context-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;padding:1.5rem;transition:transform .2s ease}.context-card:hover{transform:translateY(-5px)}.context-image{border-radius:12px;box-shadow:0 2px 4px #0000001a;height:220px;margin-bottom:1rem;object-fit:cover;width:220px}.context-label{color:#4a5568;font-size:1.25rem;font-weight:600;margin:0}.start-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:600;letter-spacing:.5px;margin-top:3rem;padding:1rem 3rem;transition:all .3s ease}.start-button:hover{box-shadow:0 6px 20px #00000040;transform:scale(1.05)}.start-button:active{transform:scale(.98)}.result-action-btn{align-items:center;border:none;border-radius:50px;box-shadow:0 4px 10px #0000001a;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;letter-spacing:.5px;min-width:220px;padding:1rem 2rem;transition:all .3s ease}.result-action-btn:hover{box-shadow:0 6px 15px #00000026;transform:scale(1.05)}.result-action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.result-action-btn.secondary{background:#e2e8f0;color:#2d3748}.result-action-btn.secondary:hover{background:#cbd5e0}.secondary-button{background:#fff;border:2px solid #cbd5e0;border-radius:50px;color:#4a5568;cursor:pointer;font-size:1.2rem;margin-top:1rem;padding:.8rem 2rem;transition:all .2s}.secondary-button:hover{background:#f7fafc;border-color:#a0aec0}.camera-container{align-items:center;display:flex;flex-direction:column;max-width:900px;width:100%}.camera-wrapper{background:#000;border-radius:20px;box-shadow:0 10px 30px #0003;margin-bottom:2rem;overflow:hidden;position:relative;width:100%}.webcam-view{display:block;height:auto;width:100%}.camera-overlay{background:#00000080;bottom:0;color:#fff;left:0;padding:1rem;position:absolute;right:0;text-align:center}.camera-instruction{font-size:1.2rem;font-weight:500;margin:0}.camera-controls{align-items:center;display:flex;gap:2rem;justify-content:center}.capture-button{background:#e53e3e;border:none;border-radius:50px;box-shadow:0 4px 15px #e53e3e66;color:#fff;cursor:pointer;font-size:1.5rem;padding:1rem 3rem;transition:transform .2s}.capture-button:hover{transform:scale(1.05)}.capture-button:disabled{background:#feb2b2;cursor:not-allowed;transform:none}.loading-spinner{animation:spin 1s linear infinite;border:8px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:60px;margin:2rem auto;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.app-container{justify-content:flex-start;padding:0}.scan-view{height:100vh;padding:1.25rem 1rem}.scan-logo{max-height:70px}.camera-wrapper--portrait{max-width:100%;width:80%}.greeting-card{margin-bottom:1.25rem;max-width:100%;padding:1.5rem}.greeting-title{font-size:1.8rem}.time-display{font-size:1.4rem}.task-display{font-size:1.1rem;padding:.6rem 1rem}.visual-context{flex-wrap:wrap;gap:1rem;max-width:100%}.context-card{flex:1 1;min-width:120px;padding:.75rem}.context-image{height:130px;width:130px}.context-label{font-size:1rem}.camera-container{max-width:100%}.camera-instruction{font-size:1rem}.capture-button{font-size:1.1rem;padding:.8rem 2rem}.start-button{font-size:1.2rem;margin-top:1.5rem;padding:.9rem 2rem}.result-action-btn{font-size:.95rem;min-width:160px;padding:.8rem 1.25rem}}@media (max-width:480px){.greeting-title{font-size:1.4rem}.time-display{font-size:1.1rem}.task-display{font-size:.95rem}.context-image{height:100px;width:100px}.visual-context{gap:.5rem}}.admin-btn{background:none;border:none;border-radius:50%;bottom:1rem;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.2;padding:.5rem;position:fixed;right:1rem;transition:opacity .2s;z-index:900}.admin-btn:hover{background:#0000001a;opacity:.6}.admin-password-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.admin-password-modal{background:#fff;border-radius:1rem;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:1rem;padding:2rem;width:320px}.admin-password-modal h3{color:#333;font-size:1.3rem;margin:0;text-align:center}.admin-password-modal input{border:2px solid #ddd;border-radius:.5rem;box-sizing:border-box;font-size:1.1rem;padding:.75rem 1rem;width:100%}.admin-password-modal input:focus{border-color:#667eea;outline:none}.admin-password-error{color:#e53e3e;font-size:.95rem;margin:0;text-align:center}.admin-password-actions{display:flex;gap:.75rem}.admin-password-actions button{border:none;border-radius:.5rem;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem}.admin-password-actions .btn-enter{background:#667eea;color:#fff}.admin-password-actions .btn-enter:hover{background:#5a67d8}.admin-password-actions .btn-cancel{background:#edf2f7;color:#4a5568}.admin-password-actions .btn-cancel:hover{background:#e2e8f0}.admin-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.admin-panel{background:#fff;border-radius:1rem;box-shadow:0 16px 48px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:680px;overflow:hidden;width:100%}.admin-panel-header{align-items:center;background:#f7fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.admin-panel-header h2{color:#2d3748;font-size:1.3rem;margin:0}.admin-close-btn{background:none;border:none;border-radius:.25rem;color:#718096;cursor:pointer;font-size:1.4rem;line-height:1;padding:.25rem .5rem}.admin-close-btn:hover{background:#e2e8f0;color:#2d3748}.admin-tabs{border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0}.admin-tab{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem 1rem;transition:all .15s}.admin-tab:hover{background:#f7fafc;color:#4a5568}.admin-tab.active{border-bottom-color:#667eea;color:#667eea}.admin-panel-content{flex:1 1;overflow-y:auto;padding:1.5rem}.config-section{margin-bottom:1.75rem}.config-section-title{color:#a0aec0;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.config-field{margin-bottom:1.25rem}.config-field label{color:#4a5568;display:block;font-size:1rem;font-weight:600;margin-bottom:.4rem}.config-field .field-hint{color:#a0aec0;font-size:.85rem;margin-bottom:.5rem}.config-field input[type=number],.config-field input[type=password],.config-field input[type=text],.config-field select{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;box-sizing:border-box;color:#2d3748;font-size:1rem;padding:.65rem .9rem;width:100%}.config-field input:focus,.config-field select:focus{border-color:#667eea;outline:none}.slider-row{align-items:center;display:flex;gap:1rem}.config-field input[type=range]{accent-color:#667eea;flex:1 1}.toggle-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.4rem}.toggle-label{color:#a0aec0;font-size:.95rem;font-weight:600}.toggle-label.active{color:#667eea}.toggle-btn{border:none;border-radius:14px;cursor:pointer;flex-shrink:0;height:28px;padding:0;position:relative;transition:background .2s;width:52px}.toggle-btn.on{background:#667eea}.toggle-btn.off{background:#cbd5e0}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;height:22px;position:absolute;top:3px;transition:left .2s;width:22px}.toggle-btn.on .toggle-thumb{left:27px}.toggle-btn.off .toggle-thumb{left:3px}.slider-value{color:#667eea;font-size:.95rem;font-weight:700;min-width:2.5rem;text-align:right}.config-save-btn{background:#667eea;border:none;border-radius:.6rem;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:.5rem;padding:.9rem;transition:background .15s;width:100%}.config-save-btn:hover{background:#5a67d8}.config-saved-msg{color:#38a169;font-size:.95rem;font-weight:600;margin-top:.5rem;text-align:center}.activities-sheet-link{align-items:center;background:#ebf8ff;border:2px solid #bee3f8;border-radius:.75rem;color:#2b6cb0;display:flex;font-size:1rem;font-weight:700;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;text-decoration:none;transition:background .15s}.activities-sheet-link:hover{background:#bee3f8}.activities-notice{background:#fffbeb;border:2px solid #fbd38d;border-radius:.75rem;color:#744210;font-size:.95rem;line-height:1.5;padding:1rem 1.25rem}.activities-notice strong{display:block;margin-bottom:.3rem}.users-webcam-container{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.users-preview,.users-webcam{border-radius:.5rem;max-width:400px;width:100%}.users-capture-btn{background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.65rem 1.5rem}.users-capture-btn:hover{background:#5a67d8}.users-retake-btn{background:#edf2f7;border:none;border-radius:.5rem;color:#4a5568;cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1.25rem}.users-retake-btn:hover{background:#e2e8f0}.users-error-msg{color:#e53e3e;font-size:.95rem;margin-top:.5rem;text-align:center}.users-load-btn{background:#edf2f7;border:none;border-radius:.5rem;color:#4a5568;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:.75rem;padding:.65rem 1.25rem}.users-load-btn:hover{background:#e2e8f0}.users-load-btn:disabled{cursor:default;opacity:.6}.users-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.users-list-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem 1rem}.users-patient-id{color:#2d3748;display:block;font-size:1rem;font-weight:700}.users-face-id{color:#a0aec0;font-family:monospace;font-size:.8rem}.users-delete-btn{background:none;border:none;border-radius:.25rem;cursor:pointer;font-size:1.2rem;opacity:.6;padding:.25rem .5rem;transition:opacity .15s}.users-delete-btn:hover{background:#fff5f5;opacity:1}.users-delete-btn:disabled{cursor:default;opacity:.3}.activities-section-title{color:#4a5568;font-size:1rem;font-weight:700;margin:1.25rem 0 .75rem}@media (max-width:1024px){.admin-password-modal{padding:1.5rem;width:min(320px,90vw)}.admin-panel{max-height:95vh;max-width:95vw}.admin-panel-content{padding:1rem}.admin-tab{font-size:.9rem;padding:.75rem .5rem}.config-field input[type=number],.config-field input[type=password],.config-field input[type=text],.config-field select{font-size:16px}.users-preview,.users-webcam{max-width:100%}.users-webcam-container{padding:.75rem}.config-save-btn{font-size:1rem;padding:.8rem}.activities-sheet-link{font-size:.95rem;padding:.85rem 1rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f4f8;color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.5da15542.css.map*/