.body-diagram-container{display:flex;flex-direction:column;align-items:center;width:100%;padding:5px}.view-selector{display:flex;gap:10px;justify-content:center}.view-selector button{padding:8px 16px;border:1px solid #ccc;background:#f5f5f5;cursor:pointer;border-radius:4px}.view-selector button.active{background:#2c3e50;color:#fff;border-color:#2c3e50}.diagram-container{width:100%;height:60vh;border:1px solid #ccc;position:relative;overflow:hidden}.body-diagram{position:relative;border:1px solid #ccc;background:#fff;width:400px;height:600px;transform-origin:top left;transition:transform .3s ease;cursor:crosshair}.body-diagram.anterior{background-image:url(/assets/body-diagrams/anterior.svg)}.body-diagram.posterior{background-image:url(/assets/body-diagrams/posterior.svg)}.body-diagram.left{background-image:url(/assets/body-diagrams/lateral-left.svg)}.body-diagram.right{background-image:url(/assets/body-diagrams/lateral-right.svg)}.lesion-marker{position:absolute;width:12px;height:12px;background-color:red;border-radius:50%;transform:translate(-50%,-50%);border:2px solid white;cursor:pointer;transition:transform .2s ease}.lesion-marker:hover{transform:translate(-50%,-50%) scale(1.5);z-index:10}.body-svg{width:100%;height:100%;object-fit:contain}.zoom-controls{display:flex;align-items:center;margin-bottom:15px;gap:10px}.zoom-controls button{width:30px;height:30px;border-radius:50%;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.zoom-controls span{font-size:14px;min-width:50px;text-align:center}.surface-selector{display:flex;gap:10px;margin-bottom:10px}.surface-selector button{padding:8px 15px;border:1px solid #ccc;background:#f5f5f5;border-radius:4px;cursor:pointer}.surface-selector button:hover{background:#e9e9e9}.surface-selector button.active{background:#2c3e50;color:#fff;border-color:#2c3e50}.body-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:24px;color:#aaa;background-color:#f9f9f9}.lesion{position:absolute;width:16px;height:16px;border-radius:50%;background-color:#ff0000b3;border:2px solid darkred;transform:translate(-50%,-50%);cursor:pointer;display:flex;align-items:center;justify-content:center}.lesion span{position:absolute;white-space:nowrap;font-size:12px;background:#fff;padding:2px 4px;border-radius:2px;border:1px solid #ccc;top:-25px;visibility:hidden}.lesion:hover span{visibility:visible}.lesion-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.lesion-form-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0003;max-width:500px;width:100%}.lesion-form-container h2{margin-bottom:20px;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:10px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:16px}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-actions button{padding:8px 16px;border:1px solid #ccc;background:#f5f5f5;border-radius:4px;cursor:pointer}.form-actions button.primary{background:#2c3e50;color:#fff;border-color:#2c3e50}.resolve-button{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:10px}.form-group input[type=checkbox]{margin-right:8px}.timeline-container{background-color:#f9f9f9;border-radius:8px;padding:5px;margin:5px 0;border:1px solid #eee}.timeline-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:10px}.date-range-inputs{display:flex;align-items:center;gap:10px;flex-grow:1}.input-group{display:flex;align-items:center;gap:5px}.input-group label{font-size:14px;white-space:nowrap}.input-group input{padding:6px;border:1px solid #ddd;border-radius:4px;width:140px}.timeline-controls button{padding:6px 12px;background:#2c3e50;color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap;font-size:14px;height:32px}.quick-filters{display:flex;gap:10px}.quick-filters button{background:#f5f5f5;color:#333;border:1px solid #ddd}.timeline-visualization{margin:10px;padding:5px;position:relative;height:30px}.timeline-axis{display:flex;align-items:center;justify-content:space-between;height:20px}.timeline-line{flex-grow:1;height:2px;background-color:#ccc;margin:0 10px;position:relative}.timeline-start,.timeline-end{font-size:11px;color:#666}.lesion-markers{position:relative;height:10px}.timeline-marker{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);top:5px;cursor:pointer}.timeline-marker.active{background-color:#e74c3c}.timeline-marker.resolved{background-color:#3498db}.timeline-marker:hover{transform:translate(-50%,-50%) scale(1.5);z-index:10}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start}.date-range-inputs{width:100%}.quick-filters{width:100%;justify-content:space-between}}.auth-container{max-width:500px;margin:2rem auto}.auth-card{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;overflow:hidden}.auth-tabs{display:flex;border-bottom:1px solid #eee}.auth-tab{flex:1;padding:15px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .3s}.auth-tab.active{color:#2c3e50;border-bottom:3px solid #2c3e50}.auth-form{padding:25px}.auth-form h2{margin-top:0;margin-bottom:20px;color:#2c3e50}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#444}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.auth-button{width:100%;padding:12px 20px;background-color:#2c3e50;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;margin-top:20px;transition:background-color .3s}.auth-button:hover:not(:disabled){background-color:#1a252f}.auth-button:disabled{background-color:#95a5a6;cursor:not-allowed}.webauthn-info{background-color:#f9f9f9;padding:15px 25px;font-size:14px;color:#666;border-top:1px solid #eee}.webauthn-info p{margin:8px 0}.auth-error{background-color:#ffebee;color:#c62828;padding:10px 15px;border-radius:4px;margin-bottom:20px;font-size:14px}.auth-success{background-color:#e8f5e9;color:#2e7d32;padding:10px 15px;border-radius:4px;margin-bottom:20px;font-size:14px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.app{max-width:1200px;margin:0 auto;padding:1rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;min-height:90vh}header{margin-bottom:1rem;border-bottom:1px solid #eee;padding-bottom:.25rem}h1,h2,h3{color:#2c3e50}main{min-height:60vh}.container{max-width:1200px;margin:auto;padding:20px}.app-container{display:flex;gap:20px}.diagram-section{flex:2}.info-section{flex:1;padding:20px;background:#f9f9f9;border-radius:8px;border:1px solid #eee}h2,h3{color:#333}.body-diagram{position:relative;width:100%;height:auto;overflow:hidden}.lesion{position:absolute;border-radius:50%;border:2px solid red;background-color:#ff000080}.lesion.active{border-color:green}.lesion:hover{cursor:pointer;opacity:.8}.lesion-details{margin-top:20px;padding:10px;background-color:#fff;border:1px solid #ccc;border-radius:5px}.lesion-detail{margin-top:15px}.timeline{margin:20px 0}.zoom-controls{display:flex;justify-content:space-between;margin:10px 0}.button{padding:10px 15px;border:none;border-radius:5px;background-color:#007bff;color:#fff;cursor:pointer}.button:hover{background-color:#0056b3}@media (max-width: 768px){.app-container{flex-direction:column}}.lesions-list{max-height:400px;overflow-y:auto;margin-top:15px;border-top:1px solid #eee}.lesion-list-item{padding:12px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column;gap:5px}.lesion-list-item:hover{background-color:#f0f0f0}.lesion-list-item.active{border-left:4px solid #27ae60}.lesion-list-item.resolved{border-left:4px solid #7f8c8d;opacity:.8}.lesion-list-date{font-size:14px;color:#666}.lesion-list-details{display:flex;gap:10px}.lesion-surface{font-weight:500}.lesion-diameter{color:#666}.lesion-color{padding:2px 6px;border-radius:4px;background-color:#f0f0f0;font-size:12px}.lesion-list-status{font-size:12px;padding:2px 6px;border-radius:10px;align-self:flex-start;margin-top:4px}.lesion-list-item.active .lesion-list-status{background-color:#27ae6033;color:#27ae60}.lesion-list-item.resolved .lesion-list-status{background-color:#7f8c8d33;color:#7f8c8d}.edit-button{background-color:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:15px;margin-right:10px}.back-button{background-color:#f5f5f5;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer}.info-text{margin-bottom:15px;font-style:italic;color:#666}.no-lesions{margin-top:20px;color:#666;font-style:italic;text-align:center;padding:20px;background-color:#f5f5f5;border-radius:4px}.lesion-detail{padding-top:10px}.lesion-detail h3{margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #eee}.lesion-detail p{margin-bottom:8px}
