/* ═══ AUDIT LIST ═══ */
.audit-table{width:100%;border-collapse:separate;border-spacing:0}
.audit-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--gray-200)}
.audit-table td{padding:10px 12px;border-bottom:1px solid var(--gray-100);font-size:13px}
.audit-table tr{cursor:pointer;transition:background .15s}
.audit-table tbody tr:hover{background:var(--gray-50)}
.score-badge{padding:3px 10px;border-radius:var(--radius);font-weight:700;font-size:13px}
.score-high{background:var(--green-light);color:#166534}
.score-mid{background:var(--yellow-light);color:#854D0E}
.score-low{background:var(--red-light);color:#991B1B}
.nc-badge{background:var(--red);color:#fff}

/* ═══ NEW AUDIT WIZARD ═══ */
.wizard{max-width:700px;margin:0 auto}
.wizard-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px}
.wizard-step{display:flex;align-items:center;gap:8px}
.wizard-step .step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid var(--gray-300);color:var(--gray-400);transition:all .3s}
.wizard-step.active .step-num{background:var(--teal);border-color:var(--teal);color:#fff}
.wizard-step.done .step-num{background:var(--green);border-color:var(--green);color:#fff}
.wizard-step .step-label{font-size:13px;color:var(--gray-500);font-weight:500}
.wizard-step.active .step-label{color:var(--gray-800);font-weight:600}
.wizard-connector{width:40px;height:2px;background:var(--gray-300)}
.wizard-connector.done{background:var(--green)}
.center-list{display:grid;gap:8px;margin-bottom:20px}
.center-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s}
.center-option:hover{border-color:var(--teal-dark);background:var(--teal-50)}
.center-option.selected{border-color:var(--teal);background:var(--teal-50)}
.center-option .center-name{font-weight:600;font-size:14px}
.center-option .center-city{font-size:12px;color:var(--gray-500)}
.center-option .center-type{font-size:11px}
.template-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.template-card{padding:20px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;text-align:center}
.template-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.template-card.selected{border-color:var(--teal);background:var(--teal-50)}
.template-card h4{font-size:16px;margin-bottom:4px}
.template-card .item-count{color:var(--teal);font-weight:700;font-size:14px;margin-bottom:8px}
.template-card p{font-size:12px;color:var(--gray-500)}
.confirm-summary{padding:24px;border:2px solid var(--teal);border-radius:var(--radius-lg);background:var(--teal-50);margin-bottom:20px}
.confirm-summary dl{display:grid;grid-template-columns:120px 1fr;gap:8px 16px}
.confirm-summary dt{font-weight:600;color:var(--gray-600);font-size:13px}
.confirm-summary dd{font-size:14px}
.wizard-actions{display:flex;justify-content:space-between;margin-top:24px}

/* ═══ CHECKLIST ═══ */
.checklist-header{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px 24px;margin-bottom:20px;display:flex;align-items:center;gap:20px}
.checklist-header .center-info h3{font-size:16px;font-weight:700}
.checklist-header .center-info p{font-size:12px;color:var(--gray-500)}
.progress-section{flex:1}
.progress-bar-track{height:8px;background:var(--gray-200);border-radius:999px;overflow:hidden}
.progress-bar-fill{height:100%;background:var(--teal);border-radius:999px;transition:width .4s ease}
.progress-text{display:flex;justify-content:space-between;font-size:12px;color:var(--gray-500);margin-top:4px}
.checklist-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}
.checklist-nav{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:12px;max-height:calc(100vh - 220px);overflow-y:auto}
.checklist-nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;font-size:12px;transition:all .15s;margin-bottom:2px}
.checklist-nav-item:hover{background:var(--gray-100)}
.checklist-nav-item.active{background:var(--teal-50);font-weight:600}
.checklist-nav-item .item-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--gray-300);flex-shrink:0}
.checklist-nav-item .item-dot.answered-conforme{background:var(--green);border-color:var(--green)}
.checklist-nav-item .item-dot.answered-nc{background:var(--red);border-color:var(--red)}
.checklist-nav-item .item-dot.answered-na{background:var(--gray-400);border-color:var(--gray-400)}
.checklist-nav-item .item-dot.answered-nv{background:var(--yellow);border-color:var(--yellow)}
.checklist-main{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}
.item-header{margin-bottom:20px}
.item-header .item-num{font-size:13px;color:var(--teal);font-weight:700;margin-bottom:4px}
.item-header h3{font-size:18px;font-weight:600}
.compliance-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.compliance-opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;text-align:center}
.compliance-opt:hover{transform:translateY(-2px)}
.compliance-opt.sel-conforme{border-color:var(--green);background:var(--green-light);color:#166534}
.compliance-opt.sel-nc{border-color:var(--red);background:var(--red-light);color:#991B1B}
.compliance-opt.sel-na{border-color:var(--gray-400);background:var(--gray-100);color:var(--gray-600)}
.compliance-opt.sel-nv{border-color:var(--yellow);background:var(--yellow-light);color:#854D0E}
.compliance-opt .opt-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}
.nc-details{border:1px solid var(--red-light);background:var(--red-light);border-radius:var(--radius);padding:16px;margin-bottom:16px;animation:fadeIn .3s}
.nc-details h4{font-size:14px;color:#991B1B;margin-bottom:12px}
.item-notes{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius);padding:16px;margin-bottom:16px;animation:fadeIn .3s}
.item-notes.notes-conforme{border-color:var(--green-light);background:#F0FDF4}
.item-notes.notes-na{border-color:var(--gray-200);background:var(--gray-100)}
.item-notes.notes-nv{border-color:var(--yellow-light);background:#FEFCE8}
.item-notes h4{font-size:14px;margin-bottom:12px}
.item-notes.notes-conforme h4{color:#166534}
.item-notes.notes-na h4{color:var(--gray-600)}
.item-notes.notes-nv h4{color:#854D0E}
.item-notes .field{margin-bottom:12px}
.item-notes .field label{display:block;font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:4px}
.item-notes textarea{width:100%;min-height:60px;resize:vertical}
.add-note-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);cursor:pointer;padding:6px 0;transition:color .2s}
.add-note-toggle:hover{color:var(--teal)}
.severity-options{display:flex;gap:8px;margin-bottom:12px}
.severity-opt{padding:6px 14px;border:2px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}
.nc-details .field{margin-bottom:12px}
.nc-details .field label{display:block;font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:4px}
.nc-details textarea{width:100%;min-height:60px;resize:vertical}
.photo-upload{display:flex;align-items:center;gap:8px;padding:12px;border:2px dashed var(--gray-300);border-radius:var(--radius);cursor:pointer;font-size:13px;color:var(--gray-500);transition:all .2s}
.photo-upload:hover{border-color:var(--teal);color:var(--teal)}
.photo-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.photo-thumb{position:relative;width:80px;height:80px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200);animation:fadeIn .3s}
.photo-thumb canvas{width:100%;height:100%;display:block}
.photo-thumb .photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;line-height:1;opacity:0;transition:opacity .2s}
.photo-thumb:hover .photo-remove{opacity:1}
.photo-thumb .photo-time{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.5);color:#fff;font-size:9px;text-align:center;padding:2px}
.checklist-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200)}
.item-nav-btns{display:flex;gap:8px}

/* ═══ AUDIT SUMMARY ═══ */
.summary-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.summary-header .back-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-600);cursor:pointer;transition:all .2s}
.summary-header .back-btn:hover{background:var(--gray-200)}
.summary-info h2{font-size:20px;font-weight:700}
.summary-info p{font-size:13px;color:var(--gray-500)}
.score-gauge{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;position:relative}
.score-gauge .score-inner{width:120px;height:120px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}
.score-gauge .score-num{font-size:36px;font-weight:800}
.score-gauge .score-label{font-size:12px;color:var(--gray-500)}
.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.stat-box{padding:16px;border-radius:var(--radius);text-align:center}
.stat-box .stat-val{font-size:28px;font-weight:700}
.stat-box .stat-lbl{font-size:12px;margin-top:2px}
.nc-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;border-left:4px solid var(--red)}
.nc-card h4{font-size:14px;font-weight:600;margin-bottom:8px}
.nc-card .nc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.nc-card .evidence{font-size:13px;color:var(--gray-600);background:var(--gray-100);padding:8px 12px;border-radius:var(--radius);margin-bottom:8px}
.nc-card .nc-footer{display:flex;align-items:center;justify-content:space-between}
.signature-area{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:20px;text-align:center;margin:20px 0}
.signature-area canvas{border:1px solid var(--gray-200);border-radius:var(--radius);cursor:crosshair;display:block;margin:8px auto}
.summary-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}

/* ═══ NC RESPONSE (post-audit routing) ═══ */
.nc-routing-flow{display:grid;gap:16px;margin-bottom:24px}
.nc-routing-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:#fff}
.nc-routing-card .routing-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nc-routing-card .routing-info h4{font-size:14px;font-weight:600;margin-bottom:2px}
.nc-routing-card .routing-info p{font-size:12px;color:var(--gray-500)}
.nc-offices-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.nc-office-card{padding:16px;border-radius:var(--radius-lg);border:1px solid var(--gray-200);text-align:center}
.nc-office-card .office-icon{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.nc-office-card h4{font-size:13px;font-weight:600;margin-bottom:4px}
.nc-office-card p{font-size:11px;color:var(--gray-500)}
.nc-response-form{margin-top:24px}
.nc-response-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;border-left:4px solid var(--red)}
.nc-response-item h4{font-size:14px;font-weight:600;margin-bottom:12px}
.nc-response-item .response-fields{display:grid;gap:12px}
.nc-response-item .response-fields .field{display:flex;flex-direction:column;gap:4px}
.nc-response-item .response-fields .field label{font-size:12px;font-weight:600;color:var(--gray-700)}

/* ═══ FIRMA OTP ═══ */
.firma-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.firma-option{padding:16px;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:all .2s}
.firma-option:hover{border-color:var(--teal);background:var(--teal-50)}
.firma-option.active{border-color:var(--teal);background:var(--teal-50)}
.firma-option .firma-icon{font-size:24px;margin-bottom:8px}
.firma-option h4{font-size:14px;font-weight:600}
.firma-option p{font-size:12px;color:var(--gray-500)}
.otp-flow{text-align:center;padding:20px}
.otp-flow .phone-display{font-size:16px;font-weight:600;color:var(--gray-700);margin-bottom:12px}
.otp-input{display:flex;gap:8px;justify-content:center;margin:16px 0}
.otp-input input{width:44px;height:52px;text-align:center;font-size:20px;font-weight:700;border-radius:var(--radius)}
.firma-digital-badge{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--green-light);color:#166534;border-radius:var(--radius-lg);font-weight:600;font-size:14px;margin:12px 0}
