.annotation-canvas-wrapper{display:flex;align-items:center;justify-content:center;position:relative;min-width:100%;min-height:100%;width:fit-content;height:fit-content}.annotation-canvas{display:block}.annotation-toolbar{display:flex;align-items:center;gap:1rem;padding:.5rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:8px;flex-wrap:wrap}.toolbar-section{display:flex;align-items:center;gap:.5rem}.toolbar-label{font-size:.875rem;font-weight:500;color:#555}.tool-selection{flex:1;min-width:250px}.tool-buttons{display:flex;gap:.5rem}.tool-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s}.tool-button:hover{border-color:#999;background-color:#f9f9f9}.tool-button.active{border-color:#3b82f6;background-color:#eff6ff}.tool-icon{font-size:1.25rem}.tool-label{font-size:.75rem;color:#666}.tool-button.active .tool-label{color:#3b82f6;font-weight:600}.color-selection{min-width:150px}.color-input{width:50px;height:40px;border:2px solid #ddd;border-radius:6px;cursor:pointer}.color-value{font-size:.875rem;font-family:monospace;color:#666}.stroke-width-selection{min-width:140px}.stroke-width-select{padding:.5rem;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;font-size:.875rem}.stroke-width-select:focus{outline:none;border-color:#3b82f6}.zoom-level-display{color:#111827!important;font-weight:700;background-color:#fff!important;padding:.25rem .5rem;border:1px solid #9ca3af;border-radius:4px;min-width:3.5rem;display:inline-block}.zoom-controls{display:flex;gap:.25rem;align-items:center}.actions{gap:.75rem;margin-left:auto}.action-button{padding:.5rem 1rem;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;font-size:.875rem;transition:all .2s}.action-button:hover:not(:disabled){border-color:#999;background-color:#f9f9f9}.clear-button:hover:not(:disabled){border-color:#ef4444;color:#ef4444}@media(max-width:768px){.annotation-toolbar{flex-direction:column;align-items:stretch}.toolbar-section{flex-direction:column;align-items:flex-start}.tool-selection,.color-selection,.stroke-width-selection{min-width:100%}.actions{margin-left:0;flex-direction:row;justify-content:space-between}}.ai-suggestions-panel{border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.panel-title{margin:0;font-size:14px;font-weight:600;color:#111827}.header-badges{display:flex;gap:8px;align-items:center}.provider-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;text-transform:uppercase;border-radius:4px;background-color:#e0e7ff;color:#4f46e5}.status-badge{padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px}.status-accepted{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.panel-content{padding:16px}.no-defect-message{display:flex;flex-direction:column;align-items:center;padding:24px 16px;color:#059669}.no-defect-icon{font-size:48px;margin-bottom:8px}.no-defect-message p{margin:0;font-size:14px;font-weight:500}.analysis-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.analysis-row:last-child{border-bottom:none}.row-label{font-size:13px;font-weight:500;color:#6b7280}.row-value{font-size:13px;color:#111827}.defect-type{font-weight:600;text-transform:capitalize}.severity-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:12px}.severity-none{background-color:#e5e7eb;color:#6b7280}.severity-low{background-color:#dbeafe;color:#1e40af}.severity-medium{background-color:#fed7aa;color:#92400e}.severity-high{background-color:#fecaca;color:#991b1b}.severity-critical{background-color:#fca5a5;color:#7f1d1d;font-weight:700}.confidence-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:1;max-width:150px}.confidence-value{font-size:13px;font-weight:600}.confidence-value.confidence-high{color:#059669}.confidence-value.confidence-medium{color:#d97706}.confidence-value.confidence-low{color:#dc2626}.confidence-bar{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.confidence-fill{height:100%;transition:width .3s ease;border-radius:3px}.confidence-fill.confidence-high{background-color:#10b981}.confidence-fill.confidence-medium{background-color:#f59e0b}.confidence-fill.confidence-low{background-color:#ef4444}.analysis-section{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.section-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#374151}.section-text{margin:0;font-size:13px;line-height:1.6;color:#4b5563}.panel-actions{display:flex;gap:8px;padding:12px 16px;background-color:#f9fafb;border-top:1px solid #e5e7eb}.action-button{flex:1;padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.action-button:disabled{opacity:.5;cursor:not-allowed}.reject-button{background-color:#fff;color:#6b7280;border:1px solid #d1d5db}.reject-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.accept-button{background-color:#10b981;color:#fff}.accept-button:hover:not(:disabled){background-color:#059669}@media(max-width:640px){.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.analysis-row{flex-direction:column;align-items:flex-start;gap:4px}.confidence-container{align-items:flex-start;max-width:100%}}.photo-annotation-modal{position:fixed;inset:0;background-color:#000000f2;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background-color:#fff;border-radius:12px;max-width:98vw;width:100%;max-height:98vh;height:98vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a;overflow:hidden}.modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.close-button{font-size:1.5rem;color:#6b7280;background:none;border:none;cursor:pointer;padding:.25rem;line-height:1;border-radius:4px}.close-button:hover{color:#111827;background-color:#f3f4f6}.modal-body{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.annotation-main{flex:1;display:flex;flex-direction:column;min-width:0;background-color:#f9fafb}.toolbar-container{flex-shrink:0;padding:.5rem;border-bottom:1px solid #e5e7eb;background-color:#fff}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;overflow:auto}.annotation-sidebar{width:320px;flex-shrink:0;border-left:1px solid #e5e7eb;background-color:#fff;display:flex;flex-direction:column;overflow-y:auto}.ai-analysis-section,.notes-section{padding:1rem;border-bottom:1px solid #e5e7eb}.notes-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.notes-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;resize:vertical;min-height:100px}.character-count{text-align:right;font-size:.75rem;color:#6b7280;margin-top:.25rem}.metadata-section{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;font-size:.875rem}.metadata-item{color:#6b7280}.metadata-item strong{color:#374151}.modal-actions{flex-shrink:0;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#fff}.cancel-button,.save-button{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background-color:#f9fafb}.save-button{background-color:#3b82f6;color:#fff;border:none}.save-button:hover{background-color:#2563eb}.trigger-ai-button{width:100%;padding:.75rem;background-color:#8b5cf6;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.5rem}.trigger-ai-button:hover:not(:disabled){background-color:#7c3aed}.ai-loading{text-align:center;padding:1rem;color:#6b7280}.loading-spinner{display:inline-block;font-size:1.5rem;margin-bottom:.5rem;animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-error{padding:.75rem;background-color:#fee2e2;color:#991b1b;border-radius:6px;font-size:.875rem}@media(max-width:1024px){.modal-content{max-width:95vw}}@media(max-width:768px){.photo-annotation-modal{padding:0;align-items:flex-end}.modal-content{height:100vh;max-height:100vh;border-radius:0}.modal-body{flex-direction:column;overflow-y:auto}.annotation-main{flex:none;height:60vh}.annotation-sidebar{width:100%;border-left:none;border-top:1px solid #e5e7eb;height:auto;overflow-y:visible}.canvas-container{padding:.5rem}}.edit-inspection-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.edit-inspection-modal-content{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.edit-inspection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.edit-inspection-modal-header h2{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.edit-inspection-modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background-color .2s}.edit-inspection-modal-close:hover{background-color:#f3f4f6;color:#111827}.edit-inspection-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.edit-inspection-field{display:flex;flex-direction:column;gap:.5rem}.edit-inspection-label{font-size:.875rem;font-weight:500;color:#374151}.edit-inspection-value{font-size:.875rem;color:#6b7280;margin:0;padding:.5rem .75rem;background-color:#f9fafb;border-radius:.375rem}.edit-inspection-input,.edit-inspection-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s}.edit-inspection-input:focus,.edit-inspection-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-inspection-input::placeholder{color:#9ca3af}.edit-inspection-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.edit-inspection-button{padding:.625rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.edit-inspection-button-cancel{background-color:#fff;color:#374151;border:1px solid #d1d5db}.edit-inspection-button-cancel:hover{background-color:#f9fafb}.edit-inspection-button-save{background-color:#3b82f6;color:#fff}.edit-inspection-button-save:hover:not(:disabled){background-color:#2563eb}.edit-inspection-button-save:disabled{background-color:#9ca3af;cursor:not-allowed}.edit-inspection-error{padding:.75rem 1.5rem;background-color:#fee2e2;color:#991b1b;font-size:.875rem;border-top:1px solid #fecaca}@media(max-width:640px){.edit-inspection-modal-content{max-height:95vh}.edit-inspection-modal-header,.edit-inspection-modal-body{padding:1rem}.edit-inspection-modal-footer{padding:1rem;flex-direction:column}.edit-inspection-button{width:100%}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.app-header h1{font-size:3.2em;line-height:1.1;margin-bottom:.5rem}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}code{background-color:#1a1a1a;padding:2px 6px;border-radius:4px}
