body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard-container{background:#f8fafc;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1400px}.header-content,.logo-section{align-items:center;display:flex}.logo-section{gap:12px}.logo-icon{color:#2563eb}.dashboard-header h1{color:#1e293b;font-size:24px;font-weight:700}.header-actions{display:flex;gap:12px}.action-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.action-button.primary{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff}.action-button.primary:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-2px)}.action-button.secondary{background:#fff;border:1px solid #e2e8f0;color:#1e293b}.action-button.secondary:hover{background:#f8fafc}.action-button.logout{background:#fef2f2;color:#ef4444;padding:10px}.action-button.logout:hover{background:#fee2e2}.dashboard-content{margin:0 auto;max-width:1400px;padding:32px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px}.stat-card.primary{border-left:4px solid #2563eb}.stat-card.warning{border-left:4px solid #f59e0b}.stat-card.success{border-left:4px solid #10b981}.stat-card.danger{border-left:4px solid #ef4444}.stat-icon{align-items:center;background:#f8fafc;border-radius:12px;display:flex;height:56px;justify-content:center;width:56px}.stat-card.primary .stat-icon{background:#dbeafe;color:#2563eb}.stat-card.warning .stat-icon{background:#fef3c7;color:#f59e0b}.stat-card.success .stat-icon{background:#d1fae5;color:#10b981}.stat-card.danger .stat-icon{background:#fee2e2;color:#ef4444}.stat-content{flex:1 1}.stat-label{color:#64748b;font-size:14px;margin-bottom:4px}.stat-value{color:#1e293b;font-size:32px;font-weight:700}.charts-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:32px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.chart-card h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin-bottom:24px}.recent-inspections{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.recent-inspections h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:24px}.inspections-table{overflow-x:auto}.inspections-table table{border-collapse:collapse;width:100%}.inspections-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:14px;font-weight:600;padding:12px;text-align:left}.inspections-table td{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:14px;padding:12px}.inspections-table tr:hover{background:#f8fafc}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge.pdi{background:#dbeafe;color:#1e40af}.badge.epod{background:#fef3c7;color:#92400e}.status{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status.pass{background:#d1fae5;color:#065f46}.status.fail{background:#fee2e2;color:#991b1b}.view-button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 16px;transition:all .2s}.view-button:hover{background:#1e40af}.loading{align-items:center;color:#64748b;display:flex;font-size:18px;justify-content:center;min-height:100vh}.stat-card.critical{border-left:4px solid #dc2626}.stat-card.critical .stat-icon{background:#fef2f2;color:#dc2626}.stat-card.critical .stat-value{color:#dc2626}.chart-card.full-width{grid-column:1/-1}.qr-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.qr-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #00000040;padding:24px;width:380px}.qr-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.qr-modal-header h3{align-items:center;color:#1e293b;display:flex;font-size:17px;font-weight:700;gap:8px;margin:0}.qr-close-btn{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;padding:4px;transition:background .2s}.qr-close-btn:hover{background:#f1f5f9;color:#475569}.qr-scanner-area{margin-bottom:20px;text-align:center}.qr-frame{align-items:center;background:#0f172a;border:3px solid #3b82f6;border-radius:12px;display:flex;height:170px;justify-content:center;margin:0 auto 12px;overflow:hidden;position:relative;transition:border-color .4s;width:220px}.qr-frame--detected{background:#ecfdf5;border-color:#10b981}.qr-frame:after,.qr-frame:before{border-color:#60a5fa;border-style:solid;content:"";height:20px;position:absolute;width:20px}.qr-frame:before{border-width:3px 0 0 3px;left:8px;top:8px}.qr-frame:after{border-width:0 3px 3px 0;bottom:8px;right:8px}.qr-scan-line{animation:scanMove 1.4s linear infinite;background:linear-gradient(90deg,#0000,#10b981,#0000);box-shadow:0 0 10px #10b981;height:2px;left:0;position:absolute;right:0}@keyframes scanMove{0%{top:0}to{top:100%}}.qr-scan-status{color:#475569;font-size:14px;font-weight:600;margin:0}.qr-vehicle-info{border-top:1px solid #e2e8f0;padding-top:16px}.qr-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.qr-info-item{display:flex;flex-direction:column;gap:3px}.qr-info-label{color:#94a3b8;font-size:11px;letter-spacing:.6px;text-transform:uppercase}.qr-info-value{color:#1e293b;font-size:13px;font-weight:600}.qr-actions{display:flex;gap:10px}.qr-btn-secondary{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:10px;transition:background .2s}.qr-btn-secondary:hover{background:#e2e8f0}.qr-btn-primary{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:2 1;font-size:13px;font-weight:600;padding:10px;transition:background .2s}.qr-btn-primary:hover{background:#1d4ed8}.ai-results-panel{margin:12px 0}.ai-summary-bar{padding:12px 16px}.ai-icon{font-size:26px}.ai-summary-title{font-size:14px}.ai-summary-sub{font-size:11px}.ai-image-strip{gap:10px;padding:12px 14px}.ai-image-card{width:240px}.ai-image-card img{height:155px}.ai-image-overlay{font-size:12px}.ai-image-footer{padding:6px 8px}.ai-image-name{max-width:150px}.ai-defect-section{padding:14px 16px}.ai-defect-heading{margin-bottom:10px}.ai-defect-grid{gap:8px}.ai-defect-card{box-shadow:0 2px 8px #00000012}.ai-defect-body{padding:12px 14px}.ai-defect-part{font-size:15px}.ai-defect-type{font-size:12px}.ai-defect-meta{gap:5px;padding:10px 14px 10px 0}.sev-chip{font-size:11px;padding:3px 10px}.conf-chip{padding:2px 7px}.ai-no-defects{font-size:14px;gap:10px;padding:16px}.ai-no-defects span{font-size:20px}.ai-lightbox-close{z-index:2}.image-grid{grid-gap:8px;gap:8px}.remove-image{background:#ef4444;font-size:15px;line-height:1;right:4px;top:4px;z-index:3}.epod-container{background:#f8fafc;min-height:100vh}.page-header h1{align-items:center;display:flex;gap:12px}.epod-content{margin:0 auto;max-width:900px;padding:28px 20px}.progress-steps{align-items:flex-start;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:0;justify-content:center;overflow-x:auto;padding:16px 8px 24px}.step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:64px;position:relative}.step:not(:last-child):after{background:#e2e8f0;content:"";height:2px;left:60%;position:absolute;top:18px;width:80%;z-index:0}.step.completed:not(:last-child):after{background:#10b981}.step-number{align-items:center;background:#e2e8f0;border-radius:50%;color:#64748b;display:flex;font-size:13px;font-weight:600;height:36px;justify-content:center;width:36px;z-index:1}.step.active .step-number{background:#2563eb;box-shadow:0 0 0 3px #dbeafe;color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step-label{color:#64748b;font-size:11px;font-weight:600;text-align:center}.step.active .step-label{color:#2563eb}.form-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:28px}.form-card h2{color:#1e293b;font-size:20px;font-weight:700;margin-bottom:20px}.card-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-header-row h2{margin-bottom:0}.section-label{border-bottom:1px solid #f1f5f9;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.08em;margin:20px 0 10px;padding-bottom:6px;text-transform:uppercase}.section-header{align-items:center;display:flex;gap:10px;margin-bottom:16px}.section-header h2{margin-bottom:0}.primary-button{align-items:center;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 22px}.primary-button:hover:not(:disabled){box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.5}.secondary-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 22px}.secondary-button:hover{background:#f8fafc}.ai-button{align-items:center;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 22px}.ai-button:disabled{cursor:not-allowed;opacity:.5}.stop-button{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 22px}.stop-button:hover{filter:brightness(1.05)}.photo-progress{background:linear-gradient(0deg,#020617f0,#02061773);bottom:0;color:#fff;left:0;padding:8px 8px 10px;position:absolute;right:0;z-index:2}.pp-label{align-items:baseline;display:flex;font-size:11px;font-weight:800;gap:6px;justify-content:space-between;margin-bottom:5px;text-shadow:0 1px 2px #000000b3}.pp-pct{font-size:13px;font-weight:900;letter-spacing:.2px}.pp-track{background:#0009;border:1px solid #ffffff4d;height:9px;overflow:hidden}.pp-fill,.pp-track{border-radius:999px}.pp-fill{box-shadow:0 0 6px #ffffff73;height:100%;transition:width .15s ease}.pp-fill.uploading{background:linear-gradient(90deg,#22d3ee,#2563eb)}.pp-fill.analysing{background:linear-gradient(90deg,#c084fc,#7c3aed)}.pp-fill.analysing,.pp-fill.retrying{animation:pp-pulse 1s ease-in-out infinite}.pp-fill.retrying{background:linear-gradient(90deg,#fbbf24,#d97706)}@keyframes pp-pulse{0%,to{opacity:1}50%{opacity:.6}}.photo-badge{border-radius:999px;box-shadow:0 1px 4px #0000004d;color:#fff;font-size:11px;font-weight:700;left:6px;padding:3px 8px;position:absolute;top:6px;z-index:2}.photo-badge.done{background:#16a34a}.photo-badge.failed{background:#dc2626}.photo-badge.stopped{background:#64748b}.mock-btn{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.mock-btn:hover{background:#dcfce7}.qr-btn{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.qr-btn:hover{background:#e0f2fe}.button-group{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#374151;font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 14px}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.field-note{color:#94a3b8;font-size:11px;margin-top:2px}.upload-area{margin:16px 0}.upload-button{align-items:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:28px 48px;text-align:center;transition:all .2s}.upload-button:hover{background:#dbeafe;border-color:#2563eb}.upload-button span{color:#374151;font-size:16px;font-weight:600}.upload-hint{color:#94a3b8;font-size:12px;margin-top:6px}.image-preview{margin-top:16px}.image-preview h3{font-size:15px;font-weight:600;margin-bottom:12px}.image-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.image-item{aspect-ratio:1}.remove-image{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:22px;justify-content:center;position:absolute;right:6px;top:6px;width:22px}.success-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13px;margin-bottom:14px;padding:10px 14px}.disabled-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:13px;margin:10px 0;padding:8px 12px}.checklist-section{margin-bottom:24px}.checklist-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:14px 16px}.checklist-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.checklist-label{color:#1e293b;flex:1 1;font-size:14px}.ai-badge{background:#ede9fe;border-radius:20px;color:#6d28d9;font-size:11px;font-weight:700;margin-left:8px;padding:2px 8px;white-space:nowrap}.checklist-status-btns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.status-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:6px 12px}.status-btn.active-ok{background:#f0fdf4;border-color:#86efac;color:#16a34a}.status-btn.active-damaged,.status-btn.active-fail{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.status-btn.active-na{background:#f8fafc;border-color:#cbd5e1;color:#64748b}.checklist-detail{margin-top:8px}.failure-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px}.chip-active{background:#fef2f2;border-color:#fca5a5;color:#dc2626;font-weight:600}.notes-input{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:13px;margin-top:8px;padding:8px 12px;width:100%}.ai-lightbox{align-items:center;background:#000000eb;display:flex;flex-direction:column;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.ai-lightbox img{border-radius:8px;box-shadow:0 0 60px #000c;max-height:calc(100vh - 80px);max-width:100%;object-fit:contain}.ai-lightbox-close{background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;position:absolute;right:24px;top:18px}.ai-lightbox-close:hover{background:#ffffff40}.ai-fs{align-items:stretch;display:flex;gap:16px;height:calc(100vh - 90px);max-width:1500px;width:100%}.ai-fs-imgwrap{align-items:center;display:flex;flex:1 1 auto;justify-content:center;min-width:0;position:relative}.ai-fs-imgwrap img{border-radius:8px;box-shadow:0 0 60px #000c;max-height:100%;max-width:100%;object-fit:contain}.ai-fs-nav{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:34px;font-weight:700;height:64px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);width:48px}.ai-fs-nav:hover{background:#ffffff4d}.ai-fs-nav.prev{left:8px}.ai-fs-nav.next{right:8px}.ai-fs-panel{background:#fff;border-radius:10px;display:flex;flex:0 0 340px;flex-direction:column;overflow-y:auto;padding:18px}.ai-fs-title{color:#111;font-size:15px;font-weight:700;word-break:break-word}.ai-fs-sub{color:#666;font-size:13px;margin:4px 0 14px}.ai-fs-defects{display:flex;flex-direction:column;gap:10px}@media (max-width:800px){.ai-fs{flex-direction:column;height:calc(100vh - 90px)}.ai-fs-panel{flex:0 0 auto;max-height:38%}}.ai-summary-actions{align-items:center;display:flex;gap:8px}.ai-viewall-btn{background:#ffffff2e;border:1px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;white-space:nowrap}.ai-viewall-btn:hover{background:#ffffff4d}.ai-grid-wrap{display:flex;flex-direction:column;height:calc(100vh - 90px);max-width:1500px;width:100%}.ai-grid-head{color:#fff;font-size:15px;font-weight:600;margin-bottom:14px}.ai-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow-y:auto;padding-right:6px}.ai-grid-card{background:#fff;border-radius:10px;box-shadow:0 4px 16px #0006;cursor:pointer;overflow:hidden;transition:transform .12s}.ai-grid-card:hover{transform:translateY(-3px)}.ai-grid-card img{aspect-ratio:4/3;display:block;object-fit:cover;width:100%}.ai-grid-foot{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.ai-grid-name{color:#333;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-results-panel{border:1px solid #c4b5fd;border-radius:12px;margin:16px 0;overflow:hidden}.ai-summary-bar{align-items:center;background:linear-gradient(135deg,#4338ca,#6d28d9);display:flex;justify-content:space-between;padding:14px 18px}.ai-summary-left{align-items:center;display:flex;gap:12px}.ai-icon{font-size:28px;line-height:1}.ai-summary-title{color:#fff;font-size:15px;font-weight:700}.ai-summary-sub{color:#c4b5fd;font-size:12px;margin-top:2px}.retry-btn{background:#ffffff1f;border:1px solid #fff6;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background .15s;white-space:nowrap}.retry-btn:hover{background:#ffffff38}.ai-image-strip{background:#0f172a;display:flex;gap:12px;overflow-x:auto;padding:14px 16px;scrollbar-color:#4338ca #0f172a;scrollbar-width:thin}.ai-image-strip::-webkit-scrollbar{height:4px}.ai-image-strip::-webkit-scrollbar-track{background:#0f172a}.ai-image-strip::-webkit-scrollbar-thumb{background:#4338ca;border-radius:2px}.ai-image-card{border:2px solid #312e81;border-radius:8px;cursor:pointer;flex:0 0 auto;overflow:hidden;position:relative;transition:border-color .15s,transform .15s;width:260px}.ai-image-card:hover{border-color:#818cf8;transform:translateY(-2px)}.ai-image-card img{display:block;height:170px;object-fit:cover;width:100%}.ai-image-overlay{align-items:center;background:#4f46e500;color:#fff;display:flex;font-size:13px;font-weight:600;inset:0 0 32px 0;justify-content:center;opacity:0;position:absolute;transition:opacity .15s,background .15s}.ai-image-card:hover .ai-image-overlay{background:#4f46e573;opacity:1}.ai-image-footer{align-items:center;background:#1e1b4b;display:flex;justify-content:space-between;padding:7px 10px}.ai-image-name{color:#a5b4fc;font-size:11px;font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.img-badge{border-radius:10px;font-size:10px;font-weight:700;padding:2px 8px;white-space:nowrap}.img-badge.ok{background:#14532d;color:#86efac}.img-badge.warn{background:#92400e;color:#fde68a}.img-badge.fail{background:#7f1d1d;color:#fca5a5}.ai-defect-section{background:#f8fafc;padding:16px 18px}.ai-defect-heading{color:#4338ca;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.ai-defect-grid{display:flex;flex-direction:column;gap:10px}.ai-defect-card{align-items:stretch;background:#fff;border:1px solid #0000;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;overflow:hidden;transition:box-shadow .15s}.ai-defect-card:hover{box-shadow:0 4px 16px #0000001f}.ai-defect-sev-bar{flex-shrink:0;width:6px}.ai-defect-card.sev-critical{border-color:#fecaca}.ai-defect-card.sev-critical .ai-defect-sev-bar{background:#dc2626}.ai-defect-card.sev-large{border-color:#fed7aa}.ai-defect-card.sev-large .ai-defect-sev-bar{background:#ea580c}.ai-defect-card.sev-medium{border-color:#fde68a}.ai-defect-card.sev-medium .ai-defect-sev-bar{background:#d97706}.ai-defect-card.sev-small{border-color:#bbf7d0}.ai-defect-card.sev-small .ai-defect-sev-bar{background:#16a34a}.ai-defect-card.sev-tiny{border-color:#a5f3fc}.ai-defect-card.sev-tiny .ai-defect-sev-bar{background:#0891b2}.ai-defect-body{flex:1 1;min-width:0;padding:14px 16px}.ai-defect-part{color:#0f172a;font-size:16px;font-weight:700;letter-spacing:-.01em}.ai-defect-part,.ai-defect-type{display:block;text-transform:capitalize}.ai-defect-type{color:#475569;font-size:13px;font-weight:500;margin-top:3px}.ai-defect-meta{align-items:flex-end;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:12px 16px 12px 0}.sev-chip{border-radius:20px;font-size:12px;font-weight:700;padding:4px 12px;white-space:nowrap}.sev-chip.sev-critical{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.sev-chip.sev-large{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.sev-chip.sev-medium{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.sev-chip.sev-small{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.sev-chip.sev-tiny{background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490}.conf-chip{background:#f1f5f9;border-radius:10px;color:#94a3b8;font-size:11px;font-weight:600;padding:2px 8px}.ai-no-defects{align-items:center;background:#f0fdf4;color:#15803d;display:flex;font-size:15px;font-weight:600;gap:12px;padding:20px 18px}.ai-no-defects span{font-size:22px}.a3-ai-block{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;margin-bottom:10px;padding:12px}.ai-mini-results{margin-top:10px}.defect-item{align-items:center;background:#fff;border-radius:6px;display:flex;gap:10px;margin-bottom:6px;padding:8px 12px}.defect-label{color:#1e293b;flex:1 1;font-size:13px;font-weight:600;text-transform:capitalize}.severity-badge{border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 10px;white-space:nowrap}.conf-pct{color:#64748b;font-size:12px}.step-desc{color:#64748b;font-size:14px;margin-bottom:20px}.attribution-list{display:flex;flex-direction:column;gap:16px}.attribution-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.attribution-defect-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.attribution-choices{display:flex;flex-direction:column;gap:8px}.attr-option{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 14px}.attr-option input[type=radio]{cursor:pointer;margin-top:3px}.attr-active{background:#eff6ff;border-color:#2563eb}.attr-label{color:#1e293b;font-size:13px;font-weight:600}.attr-desc{color:#64748b;font-size:12px;margin-left:4px}.no-defects-notice{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;padding:32px;text-align:center}.summary-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:16px}.summary-box h3{font-size:15px;font-weight:700;margin-bottom:10px}.summary-grid{grid-gap:8px;color:#475569;display:grid;font-size:14px;gap:8px;grid-template-columns:1fr 1fr}.decision-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.decision-option{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:14px 16px}.decision-option input[type=radio]{cursor:pointer;margin-top:3px}.decision-active{background:#eff6ff;border-color:#2563eb}.decision-label{color:#1e293b;display:block;font-size:14px;font-weight:700}.decision-desc{color:#64748b;display:block;font-size:13px;margin-top:2px}.checkbox-row{align-items:flex-start;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;margin:12px 0}.checkbox-row input{cursor:pointer;height:16px;margin-top:3px;width:16px}.summary-sections{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.summary-section-row{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 14px}.summary-section-row.pass{background:#f0fdf4;color:#166534}.summary-section-row.fail{background:#fef2f2;color:#dc2626}.summary-section-label{flex:1 1}.fail-detail{color:#ef4444;font-size:12px;font-weight:400}.final-result{align-items:center;border-radius:12px;display:flex;gap:16px;margin:20px 0;padding:20px 24px}.result-pass{background:#f0fdf4;border:2px solid #86efac}.result-pass h3{color:#15803d}.result-fail{background:#fef2f2;border:2px solid #fca5a5}.result-fail h3{color:#dc2626}.obd-disabled-box{align-items:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;color:#64748b;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:32px;text-align:center}.epod-results{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden}.epod-result-row{align-items:center;border-bottom:1px solid #f1f5f9;color:#1e293b;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px}.epod-result-row:last-child{border-bottom:none}.epod-result-row:hover{background:#f0f9ff}.decision-chip{background:#f1f5f9;border-radius:20px;color:#475569;font-size:11px;font-weight:700;padding:2px 10px}.decision-chip.accepted{background:#dcfce7;color:#15803d}.decision-chip.accepted-with-damage{background:#fef9c3;color:#a16207}.decision-chip.rejected{background:#fee2e2;color:#dc2626}.epod-ref-note{background:#fef9c3;border-radius:6px;color:#b45309;font-size:12px;margin-top:8px;padding:6px 10px}.radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.radio-option{align-items:center;border:1px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px}.radio-active{background:#eff6ff;border-color:#2563eb;color:#1e40af;font-weight:600}.radio-option input[type=radio],.verify-btn{cursor:pointer}.verify-btn{border:none;border-radius:6px;font-size:14px;font-weight:700;height:26px;line-height:1;margin-left:4px;width:26px}.verify-btn.accept{background:#dcfce7;color:#16a34a}.verify-btn.accept:hover{background:#16a34a;color:#fff}.verify-btn.reject{background:#fee2e2;color:#dc2626}.verify-btn.reject:hover{background:#dc2626;color:#fff}.ai-defect-card.is-rejected{filter:grayscale(.7);opacity:.45}.ai-defect-card.is-accepted{outline:2px solid #16a34a}.ai-defect-card.possible{background:#fffbeb;border:1px dashed #f59e0b}.ai-defect-heading.possible{color:#b45309}.possible-hint{color:#92744a;font-size:11px;font-weight:400;margin-left:8px}.ai-decision-bar{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-top:16px;padding:12px 14px}.ai-decision-label{color:#334155;font-size:14px}.ai-decision-label em{color:#b45309;font-style:italic}.ai-decision-toggle{display:flex;gap:8px}.decision-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:700;padding:8px 18px}.decision-btn.pass.active{background:#16a34a;border-color:#16a34a;color:#fff}.decision-btn.fail.active{background:#dc2626;border-color:#dc2626;color:#fff}.decision-btn.auto{font-size:12px;font-weight:500;padding:8px 12px}.ai-defect-photo{color:#2563eb;cursor:pointer;display:inline-block;font-size:11px;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-defect-photo:hover{text-decoration:underline}.ai-fs-possible-head{color:#b45309;font-size:12px;font-weight:700;margin:10px 0 4px}.manual-add-btn{background:#eff6ff;border:1px dashed #2563eb;border-radius:8px;color:#1d4ed8;cursor:pointer;font-size:13px;font-weight:700;margin:6px 0 10px;padding:9px 12px;width:100%}.manual-add-btn.on{background:#1d4ed8;border-style:solid;color:#fff}.manual-form{background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px}.manual-form-row{align-items:center;display:flex;gap:8px}.manual-form-row label{color:#334155;font-size:12px;font-weight:700;width:64px}.manual-form-row select{border:1px solid #cbd5e1;border-radius:6px;flex:1 1;font-size:13px;padding:6px 8px}.manual-form-actions{display:flex;gap:8px;justify-content:flex-end}.ai-defect-card.is-manual{outline:2px solid #2563eb}.ai-defect-card.is-hovered{box-shadow:0 0 0 3px #4f46e540,0 6px 20px #00000026;outline:2px solid #4f46e5;position:relative;transform:scale(1.02);transition:all .12s ease;z-index:2}.save-set-btn{background:#ecfdf5;border:1px solid #059669;border-radius:8px;color:#047857;cursor:pointer;font-size:13px;font-weight:700;margin:0 0 8px;padding:9px 12px;width:100%}.save-set-btn:hover:not(:disabled){background:#059669;color:#fff}.save-set-btn:disabled{cursor:not-allowed;opacity:.6}.part-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#0f172a;font-size:13px;font-weight:700;max-width:170px;padding:2px 6px}.manual-parts-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.manual-part-chip{align-items:center;background:#dcfce7;border:1px solid #86efac;border-radius:999px;color:#166534;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:3px 10px}.manual-part-chip button{background:#0000;border:none;color:#166534;cursor:pointer;font-size:13px;font-weight:900}.combo-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1 1;font-size:14px;min-width:140px;padding:8px 12px}.combo-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.class-combo{align-items:stretch;display:inline-flex;max-width:220px;position:relative;width:100%}.class-combo .cc-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px 0 0 8px;border-right:none;flex:1 1;font-size:14px;min-width:0;padding:7px 10px}.class-combo .cc-input:focus{border-color:#2563eb;outline:none}.class-combo .cc-arrow{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:0 8px 8px 0;color:#475569;cursor:pointer;font-size:12px;width:30px}.class-combo .cc-arrow:hover{background:#e2e8f0}.cc-list{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 28px #00000038;overflow-y:auto;z-index:3000}.cc-list .cc-opt{color:#0f172a;cursor:pointer;font-size:13px;padding:7px 12px}.cc-list .cc-opt:hover{background:#eff6ff}.cc-list .cc-opt.sel{background:#dbeafe;font-weight:700}.cc-list .cc-opt.custom{border-top:1px solid #e2e8f0;color:#166534;font-weight:700}.cc-list .cc-empty{color:#94a3b8;font-size:12px;padding:8px 12px}.class-combo .cc-opt{color:#0f172a;cursor:pointer;font-size:13px;padding:7px 12px}.class-combo .cc-opt:hover{background:#eff6ff}.class-combo .cc-opt.sel{background:#dbeafe;font-weight:700}.class-combo .cc-opt.custom{border-top:1px solid #e2e8f0;color:#166534;font-weight:700}.class-combo .cc-empty{color:#94a3b8;font-size:12px;padding:8px 12px}.class-combo.part-combo{max-width:180px}.class-combo.part-combo .cc-input{font-size:13px;font-weight:700;padding:4px 8px}.inspection-details-container{background:#f8fafc;min-height:100vh}.page-header{background:#fff;border-bottom:1px solid #e2e8f0;gap:16px;padding:16px 32px}.page-header,.pdf-download-btn{align-items:center;display:flex}.pdf-download-btn{background:#1e40af;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;gap:8px;margin-left:auto;padding:8px 18px;transition:background .2s,opacity .2s}.pdf-download-btn:hover{background:#1d4ed8}.pdf-download-btn:disabled{cursor:not-allowed;opacity:.65}.back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s}.back-button:hover{background:#e2e8f0}.page-header h1{color:#1e293b;font-size:24px;font-weight:700}.details-content{margin:0 auto;max-width:1200px;padding:32px}.status-banner{align-items:center;border-radius:12px;display:flex;gap:16px;margin-bottom:32px;padding:24px 32px}.status-banner.pass{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-banner.fail{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.status-banner h2{font-size:24px;font-weight:700;margin-bottom:4px}.status-banner p{font-size:14px;opacity:.8}.detail-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.detail-card h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin-bottom:20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#64748b;font-size:12px;font-weight:600;text-transform:uppercase}.info-item span{color:#1e293b;font-size:16px;font-weight:500}.type-badge{background:#dbeafe;border-radius:8px;color:#1e40af;display:inline-block;font-size:14px;font-weight:600;padding:8px 16px}.checklist-results{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checklist-result{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px}.checklist-result.pass{background:#d1fae5;color:#065f46}.checklist-result.fail{background:#fee2e2;color:#991b1b}.defects-list{display:flex;flex-direction:column;gap:12px}.defect-card{border-left:4px solid;border-radius:8px;padding:16px}.defect-card.minor{background:#f0fdf4;border-color:#10b981}.defect-card.major{background:#fffbeb;border-color:#f59e0b}.defect-card.critical{background:#fef2f2;border-color:#ef4444}.defect-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.defect-type{font-size:16px;font-weight:600;text-transform:capitalize}.severity-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.defect-card.minor .severity-badge{background:#10b981;color:#fff}.defect-card.major .severity-badge{background:#f59e0b;color:#fff}.defect-card.critical .severity-badge{background:#ef4444;color:#fff}.defect-details{color:#64748b;display:flex;font-size:13px;gap:16px}.bbox,.confidence{align-items:center;display:flex;gap:4px}.no-defects{background:#f8fafc;border-radius:8px;color:#64748b;font-size:14px;font-style:italic;padding:16px;text-align:center}.images-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.image-item{aspect-ratio:4/3;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;position:relative}.image-item img{height:100%;object-fit:cover;width:100%}.download-button{align-items:center;background:#000000b3;border:none;border-radius:8px;bottom:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:8px;transition:all .2s;width:36px}.download-button:hover{background:#000000e6}.notes-text{color:#374151;font-size:14px;line-height:1.6;white-space:pre-wrap}.error,.loading{align-items:center;color:#64748b;display:flex;font-size:18px;justify-content:center;min-height:100vh}.error{color:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}:root{--primary-color:#2563eb;--secondary-color:#1e40af;--success-color:#10b981;--danger-color:#ef4444;--warning-color:#f59e0b;--background-color:#f8fafc;--card-background:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0}
/*# sourceMappingURL=main.528cbb1d.css.map*/