/* CHECKLIST */
.checklist-section { margin-bottom:1.25rem; }
.checklist-section-title { font-size:0.85rem; font-weight:700; color:var(--text); padding:0.5rem 0; border-bottom:2px solid var(--border); margin-bottom:0.625rem; display:flex; align-items:center; gap:0.5rem; }
.checklist-section-title .sec-num { font-size:0.7rem; font-weight:700; color:var(--primary); background:var(--primary-50); padding:0.2rem 0.5rem; border-radius:4px; }
.checklist-item { background:white; border:1.5px solid var(--border); border-radius:var(--radius); padding:0.875rem; margin-bottom:0.5rem; transition:border-color 0.2s; }
.checklist-item.nao-conforme { border-color:var(--red); background:var(--red-50); }
.checklist-item.conforme { border-color:var(--green); }
.checklist-item-header { display:flex; align-items:flex-start; gap:0.5rem; margin-bottom:0.5rem; }
.checklist-item-code { font-size:0.69rem; font-weight:700; color:var(--primary); text-transform:uppercase; flex-shrink:0; margin-top:2px; }
.checklist-item-text { font-size:0.85rem; font-weight:500; color:var(--text); line-height:1.4; flex:1; }
.checklist-toggle { display:flex; gap:0.375rem; }
.checklist-btn { flex:1; padding:0.5rem; border-radius:8px; border:1.5px solid var(--border); background:white; font-size:0.75rem; font-weight:600; cursor:pointer; text-align:center; transition:all 0.15s; font-family:inherit; }
.checklist-btn:active { transform:scale(0.97); }
.checklist-btn.btn-conforme.active { background:#ecfdf5; border-color:#10b981; color:#065f46; }
.checklist-btn.btn-nao-conforme.active { background:#fef2f2; border-color:#ef4444; color:#991b1b; }
.checklist-btn.btn-na.active { background:#f8fafc; border-color:#94a3b8; color:#475569; }
.checklist-obs { margin-top:0.5rem; }
.checklist-obs textarea { width:100%; padding:0.5rem 0.625rem; border:1.5px solid var(--border); border-radius:6px; font-size:0.8rem; font-family:inherit; resize:vertical; min-height:48px; }
.checklist-obs textarea:focus { outline:none; border-color:var(--primary); }
.checklist-linked { font-size:0.7rem; color:var(--red); font-weight:500; margin-top:0.3rem; display:none; }
.checklist-item.nao-conforme .checklist-linked { display:block; }
.checklist-summary { background:var(--bg); border-radius:var(--radius); padding:0.75rem 1rem; margin-bottom:1rem; display:flex; gap:1rem; flex-wrap:wrap; }
.checklist-summary-item { text-align:center; }
.checklist-summary-val { font-size:1.1rem; font-weight:700; }
.checklist-summary-val.val-conforme { color:#059669; }
.checklist-summary-val.val-nao-conforme { color:#ef4444; }
.checklist-summary-val.val-na { color:#94a3b8; }
.checklist-summary-val.val-pendente { color:#f59e0b; }
.checklist-summary-lbl { font-size:0.69rem; color:var(--text-muted); text-transform:uppercase; }
/* Achados vindos do checklist */
.achados-auto-section { margin-bottom:1.25rem; }
.achados-auto-label { font-size:0.75rem; font-weight:600; color:var(--red); background:var(--red-50); padding:0.3rem 0.625rem; border-radius:6px; display:inline-block; margin-bottom:0.5rem; }
.achados-manual-label { font-size:0.75rem; font-weight:600; color:var(--primary); background:var(--primary-50); padding:0.3rem 0.625rem; border-radius:6px; display:inline-block; margin-bottom:0.5rem; }

/* Campo-mode checklist overrides */
body.campo-mode .checklist-btn { padding:0.65rem; font-size:0.82rem; border-radius:10px; }
body.campo-mode .checklist-item { border-radius:12px; padding:1rem; }
body.campo-mode .checklist-btn.btn-conforme.active { border-color:var(--campo); background:var(--campo-50); color:var(--campo-dark); }
body.campo-mode .checklist-section-title .sec-num { color:var(--campo); background:var(--campo-50); }
body.campo-mode .checklist-item-code { color:var(--campo); }

/* SCROLLBAR */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--text-muted); }
.sidebar-nav::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.15); }

/* RESPONSIVE */
@media (max-width:768px) {
  .sidebar { transform:translateX(-100%); }
  .sidebar.open { transform:translateX(0); }
  .main-content { margin-left:0; }
  .hamburger { display:flex; }
  .form-row { grid-template-columns:1fr; }
  .tpl-grid { grid-template-columns:1fr; }
  .role-grid { grid-template-columns:1fr; }
  .progress-label { display:none; }
}
@media (min-width:769px) {
  .tpl-grid { grid-template-columns:1fr 1fr; }
}

