:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--primary: #2563eb;--primary-hover: #1d4ed8;--success: #16a34a;--success-bg: #dcfce7;--warning: #ca8a04;--warning-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 4px rgba(0,0,0,.06);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;color:var(--gray-800);background-color:var(--gray-100);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;width:100%}body{background:var(--gray-100);font-size:var(--text-base)}a{font-weight:500;color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}button{font-family:inherit;font-size:var(--text-base);cursor:pointer;transition:all .15s ease}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:var(--text-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.supervisor-dashboard{padding:var(--space-3);max-width:800px;margin:0 auto}@media(min-width:640px){.supervisor-dashboard{padding:var(--space-4)}}.supervisor-header{background:#4c1d95;color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.supervisor-header h2{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:600}.supervisor-header p{margin:0;font-size:var(--text-xs);color:#c4b5fd}.tab.active{background:#fff;color:#4c1d95;box-shadow:var(--shadow-sm)}.tab.active .tab-badge{background:#4c1d95;color:#fff}.alert{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500}.alert-success{background:var(--success-bg);color:#166534}.alert-error{background:var(--danger-bg);color:#991b1b}.section-header h2{font-size:var(--text-sm);font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin:0}.checklist-card:hover{border-color:#4c1d95;box-shadow:var(--shadow-sm)}.checklist-card.verified{background:#f0fdf4;border-color:#bbf7d0}.checklist-card.verified:hover{border-color:#166534;box-shadow:var(--shadow-sm)}.verified-time{font-size:var(--text-xs);color:var(--gray-500)}.checklist-card:hover .view-text{color:#4c1d95}.checklist-title{font-size:var(--text-base);font-weight:500;color:var(--gray-900);margin:0 0 var(--space-2) 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--gray-500)}.checklist-meta span{display:flex;align-items:center;gap:4px}.status-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-pending{background:var(--warning-bg);color:#92400e}.status-verified{background:var(--success-bg);color:#166534}.countdown-warning{color:#92400e;background:var(--warning-bg);padding:2px var(--space-2);border-radius:var(--radius-sm)}.countdown-critical{color:var(--danger);background:var(--danger-bg);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:600}.signature-info{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);background:var(--gray-100);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--gray-600)}.btn-primary{background:#4c1d95;color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:hover{background:#5b21b6}.empty-state{text-align:center;padding:var(--space-6) var(--space-4);background:#fff;border:1px dashed var(--gray-300);border-radius:var(--radius-md)}.empty-state-icon{font-size:32px;margin-bottom:var(--space-2)}.empty-state p{margin:0 0 var(--space-1) 0;color:var(--gray-700);font-weight:500;font-size:var(--text-sm)}.empty-state-sub{margin:0;font-size:var(--text-xs);color:var(--gray-500)}.verification-detail{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-200)}.btn-back{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s}.btn-back:hover{background:var(--gray-200)}.info-panel{padding:var(--space-4);border-bottom:1px solid var(--gray-200)}.info-panel h3{font-size:var(--text-lg);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-3) 0}.info-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-2)}.info-row:last-child{margin-bottom:0}.info-row strong{color:var(--gray-900)}.items-panel{padding:var(--space-4);border-bottom:1px solid var(--gray-200)}.items-panel h4{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.item-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.item-status{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.item-status.checked{background:var(--success);color:#fff}.item-status.unchecked{background:var(--danger);color:#fff}.item-content{flex:1;min-width:0}.item-text{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);color:var(--gray-800);line-height:1.4}.item-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500}.tag-response{background:#dbeafe;color:#1e40af}.tag-notes{background:var(--warning-bg);color:#92400e}.tag-photo{background:#dbeafe;color:#1e40af}.tag-yes{background:var(--success-bg);color:#166534}.tag-no{background:var(--danger-bg);color:#991b1b}.tag-na{background:var(--gray-200);color:var(--gray-600)}.tag-number,.tag-text{background:#dbeafe;color:#1e40af}.tag-empty{background:var(--gray-100);color:var(--gray-400);font-style:italic}.item-row.has-photo{background:#f0f9ff;border-color:#bae6fd}.item-photo-response{display:flex;align-items:center;gap:var(--space-2)}.item-photo-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--gray-300);cursor:pointer;transition:all .15s}.item-photo-thumbnail:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.photo-modal{background:#fff;border-radius:var(--radius-lg);padding:var(--space-3);max-width:90vw;max-height:90vh;position:relative;display:flex;flex-direction:column;align-items:center}.photo-modal img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-md)}.photo-modal-close{position:absolute;top:var(--space-2);right:var(--space-2);width:32px;height:32px;border:none;background:var(--gray-100);border-radius:50%;cursor:pointer;font-size:var(--text-base);color:var(--gray-600);display:flex;align-items:center;justify-content:center;transition:all .15s}.photo-modal-close:hover{background:var(--gray-200);color:var(--gray-800)}.photo-modal-hint{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--gray-400)}.signature-display{padding:var(--space-4);border-bottom:1px solid var(--gray-200)}.signature-display:last-of-type{border-bottom:none}.signature-display h4{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.signature-display img{max-width:100%;max-height:100px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-2);display:block}.signature-display p{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--gray-500)}.verification-panel{padding:var(--space-4);background:var(--gray-50);border-top:1px solid var(--gray-200)}.verification-panel h4{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.form-group{margin-bottom:var(--space-3)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}.form-input{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color .15s;font-family:inherit}.form-input:focus{outline:none;border-color:#4c1d95}.btn-verify{width:100%;padding:var(--space-3);background:#4c1d95;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background .15s}.btn-verify:hover:not(:disabled){background:#5b21b6}.btn-verify:disabled{background:var(--gray-400);cursor:not-allowed}.disclaimer{margin:var(--space-3) 0 0 0;font-size:var(--text-xs);color:var(--gray-500);text-align:center}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;padding:var(--space-4)}.loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:#4c1d95;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-3)}@media(max-width:480px){.checklist-card-inner{grid-template-columns:1fr;gap:var(--space-2)}.checklist-status-col{flex-direction:row;justify-content:flex-start;align-items:center}.detail-header{flex-wrap:wrap;gap:var(--space-2)}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--primary: #2563eb;--primary-hover: #1d4ed8;--success: #16a34a;--success-bg: #dcfce7;--warning: #ca8a04;--warning-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 4px rgba(0,0,0,.06)}.app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--gray-50)}@media(min-width:640px){.app{max-width:640px}}@media(min-width:900px){.app{max-width:800px}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--gray-900);color:#fff;position:sticky;top:0;z-index:100}.app-header h1{font-size:var(--text-base);font-weight:600;margin:0;letter-spacing:-.3px}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.team-name{font-size:var(--text-xs);color:var(--gray-400);display:none}@media(min-width:400px){.team-name{display:block}}.btn-logout{background:transparent;border:1px solid var(--gray-600);color:var(--gray-300);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s ease}.btn-logout:hover{background:var(--gray-800);border-color:var(--gray-500);color:#fff}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gray-100);padding:var(--space-4)}.login-card{background:#fff;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);width:100%;max-width:280px;text-align:center;box-shadow:var(--shadow-md)}.login-card h2{margin:0 0 var(--space-2) 0;color:var(--gray-900);font-size:var(--text-lg);font-weight:600}.passcode-input{width:100%;padding:var(--space-4);font-size:24px;text-align:center;letter-spacing:8px;border:2px solid var(--gray-200);border-radius:var(--radius-md);margin:var(--space-4) 0;transition:border-color .15s;font-weight:600;color:var(--gray-900)}.passcode-input:focus{outline:none;border-color:var(--primary)}.btn-login{width:100%;padding:var(--space-3) var(--space-4);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .15s}.btn-login:hover:not(:disabled){background:var(--primary-hover)}.btn-login:disabled{background:var(--gray-300);cursor:not-allowed}.error{color:var(--danger);margin:0 0 var(--space-3) 0;font-size:var(--text-sm);background:var(--danger-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.dashboard{padding:var(--space-3)}@media(min-width:640px){.dashboard{padding:var(--space-4)}}.section{margin-bottom:var(--space-5)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--gray-200)}.section-title{font-size:var(--text-sm);font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin:0}.badge-count{background:var(--primary);color:#fff;padding:var(--space-1) var(--space-2);border-radius:10px;font-size:var(--text-xs);font-weight:600;min-width:20px;text-align:center}.tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--gray-200);padding-bottom:var(--space-1)}.tab{flex:1;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .15s ease;position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.tab:hover{background:var(--gray-100);color:var(--gray-700)}.tab.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.tab-badge{background:var(--gray-300);color:var(--gray-600);padding:2px 6px;border-radius:10px;font-size:var(--text-xs);font-weight:600;min-width:18px;text-align:center}.tab.active .tab-badge{background:var(--primary);color:#fff}.empty{color:var(--gray-500);text-align:center;padding:var(--space-6) var(--space-4);background:#fff;border:1px dashed var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-sm)}.checklist-list{display:flex;flex-direction:column;gap:var(--space-2)}.checklist-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:all .15s ease}.checklist-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.checklist-card-inner{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:start}.checklist-main{min-width:0}.checklist-title{font-size:var(--text-base);font-weight:500;color:var(--gray-900);margin:0 0 var(--space-1) 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--gray-500)}.checklist-meta-separator{color:var(--gray-300)}.checklist-status-col{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-pending{background:var(--warning-bg);color:var(--warning)}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-pending-verification{background:var(--warning-bg);color:var(--warning)}.badge-verified{background:#dbeafe;color:#1e40af}.badge-expired{background:var(--danger-bg);color:var(--danger)}.checklist-card.completed{background:var(--gray-50);border-color:var(--gray-200)}.checklist-card.completed:hover{border-color:var(--success);box-shadow:var(--shadow-sm)}.checklist-card.completed.verified{background:#f0f9ff;border-color:#bae6fd}.checklist-card.completed.verified:hover{border-color:#0284c7;box-shadow:var(--shadow-sm)}.view-text{font-size:var(--text-xs);color:var(--gray-400);font-weight:500}.checklist-card:hover .view-text{color:var(--primary)}.countdown-timer{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:500}.countdown-normal{color:var(--success)}.countdown-warning{color:var(--warning)}.countdown-critical{color:var(--danger);font-weight:600}.countdown-expired{color:var(--gray-400);text-decoration:line-through}.btn-sync{width:100%;padding:var(--space-3) var(--space-4);background:var(--success);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;margin-top:var(--space-3);transition:background .15s}.btn-sync:hover:not(:disabled){background:#15803d}.btn-sync:disabled{background:var(--gray-400);cursor:not-allowed}.sync-message{background:var(--success);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);text-align:center;font-size:var(--text-sm);font-weight:500}.sync-message.error{background:var(--danger)}.checklist-form{padding:var(--space-3)}@media(min-width:640px){.checklist-form{padding:var(--space-4)}}.form-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.btn-back{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:none;color:var(--primary);font-size:var(--text-sm);font-weight:500;padding:var(--space-1) 0;cursor:pointer}.btn-back:hover{color:var(--primary-hover)}.form-header-title{flex:1;min-width:0}.form-header-title h2{font-size:var(--text-lg);font-weight:600;color:var(--gray-900);margin:0 0 var(--space-1) 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-label{font-size:var(--text-xs);color:var(--gray-500);margin:0}.deadline-banner{background:var(--warning-bg);border:1px solid #fcd34d;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.deadline-banner.expired{background:var(--danger-bg);border-color:#fca5a5}.deadline-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.deadline-main{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:#92400e}.deadline-banner.expired .deadline-main{color:var(--danger)}.deadline-time{font-size:var(--text-xs);font-weight:600;padding:2px var(--space-2);background:#fff;border-radius:var(--radius-sm)}.deadline-sub{font-size:var(--text-xs);color:#a16207;margin:var(--space-1) 0 0 0}.deadline-banner.expired .deadline-sub{color:#b91c1c}.progress-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.progress-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.progress-percent{font-size:var(--text-base);font-weight:700;color:var(--primary)}.progress-percent.complete{color:var(--success)}.progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.progress-fill.complete{background:var(--success)}.progress-footer{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--gray-500)}.progress-hint{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-2);background:var(--warning-bg);border-radius:var(--radius-sm);font-size:var(--text-xs);color:#92400e}.items-list{display:flex;flex-direction:column;gap:var(--space-2)}.item-row{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3);transition:all .15s ease;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.item-row:hover{border-color:var(--gray-300)}.item-row.complete{background:var(--success-bg);border-color:#86efac}.item-main{display:flex;align-items:flex-start;gap:var(--space-2);flex:1;min-width:0}.item-number{font-size:var(--text-xs);font-weight:700;color:var(--gray-400);min-width:20px;padding-top:2px}.item-text{flex:1;font-size:var(--text-sm);color:var(--gray-800);line-height:1.4;margin:0}.item-row.complete .item-text{color:var(--success)}.item-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.photo-controls{display:flex;align-items:center;gap:var(--space-2)}.btn-photo-capture{padding:var(--space-2) var(--space-3);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-photo-capture:hover:not(:disabled){background:var(--primary-hover)}.btn-photo-capture:disabled{opacity:.6;cursor:not-allowed}.photo-preview-inline{display:flex;align-items:center;gap:var(--space-2)}.photo-preview-inline img{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.btn-photo-retake{padding:var(--space-1) var(--space-2);background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-photo-retake:hover:not(:disabled){background:var(--gray-200)}.btn-photo-retake:disabled{opacity:.6;cursor:not-allowed}.btn-response{flex:1;height:36px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:#fff;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.btn-response:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50)}.btn-response:disabled{opacity:.5;cursor:not-allowed}.btn-response.yes.selected{background:var(--success);border-color:var(--success);color:#fff}.btn-response.no.selected{background:var(--danger);border-color:var(--danger);color:#fff}.btn-response.na.selected{background:var(--gray-600);border-color:var(--gray-600);color:#fff}.item-input{flex:1;height:36px;padding:0 var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:border-color .15s}.item-input:focus{outline:none;border-color:var(--primary)}.item-input.complete{border-color:var(--success);background:var(--success-bg)}.btn-note{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:16px;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-note:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50)}.btn-note.has-note{background:var(--warning-bg);border-color:#fcd34d}.btn-note:disabled{opacity:.4;cursor:not-allowed}.signature-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-4)}.signature-section h3{font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin:0 0 var(--space-3) 0}.btn-signature{width:100%;padding:var(--space-3);border:2px dashed var(--gray-300);border-radius:var(--radius-md);background:var(--gray-50);color:var(--gray-600);font-size:var(--text-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all .15s}.btn-signature:hover{border-color:var(--primary);color:var(--primary);background:#eff6ff}.signature-preview{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3)}.signature-preview img{max-width:100%;max-height:80px;display:block}.signature-meta{font-size:var(--text-xs);color:var(--gray-500);margin-top:var(--space-2)}.signature-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.btn-secondary{flex:1;padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-danger{color:var(--danger);border-color:#fca5a5}.btn-danger:hover{background:var(--danger-bg)}.form-actions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--gray-200)}.btn-save{width:100%;padding:var(--space-3) var(--space-4);background:var(--gray-900);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .15s}.btn-save:hover:not(:disabled){background:var(--gray-800)}.btn-save:disabled{background:var(--gray-400);cursor:not-allowed}.btn-save.saved{background:var(--success)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);width:100%;max-width:360px;max-height:90vh;overflow-y:auto}.modal h3{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-3) 0;color:var(--gray-900)}.modal textarea{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);resize:vertical;min-height:100px;font-family:inherit}.modal textarea:focus{outline:none;border-color:var(--primary)}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--gray-500)}.loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.version-footer{text-align:center;padding:var(--space-4) var(--space-3);font-size:var(--text-xs);color:var(--gray-400)}
