/* Tooloo Checklist v3 — CSS */
#tooloo-app * { box-sizing: border-box; }
.tl-step { padding: 0 0 32px; }
.tl-header { margin-bottom: 16px; }
.tl-step-badge { display:inline-block;font-size:11px;font-weight:600;background:#E1F5EE;color:#085041;padding:3px 10px;border-radius:20px;margin-bottom:8px;letter-spacing:.04em; }
.tl-title  { font-size:20px;font-weight:600;margin:0 0 4px;color:#1a1a18; }
.tl-subtitle { font-size:13px;color:#888;margin:0;line-height:1.5; }
.tl-card  { background:#fff;border:1px solid #e8e6e0;border-radius:12px;padding:14px 16px;margin-bottom:10px; }
.tl-card-title { font-size:13px;font-weight:600;color:#333;margin:0 0 12px; }
.tl-field-row { margin-bottom:12px; }
.tl-field-row:last-child { margin-bottom:0; }
.tl-label { display:block;font-size:12px;font-weight:500;color:#555;margin-bottom:5px; }
.tl-req   { color:#E24B4A; }
.tl-input { width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;color:#1a1a18;background:#fafaf8;outline:none;transition:border .15s; }
.tl-input:focus { border-color:#1D9E75;background:#fff; }
textarea.tl-input { resize:vertical; }
.tl-toggle-group { display:flex;gap:8px; }
.tl-toggle { flex:1;padding:10px 8px;border:1.5px solid #ddd;border-radius:8px;background:#fafaf8;font-size:12px;font-weight:500;color:#555;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:5px; }
.tl-toggle.active { border-color:#1D9E75;background:#E1F5EE;color:#085041; }
/* Order status */
.tl-order-ok   { color:#1D9E75; }
.tl-order-warn { color:#BA7517; }
/* Checklist items */
.tl-check-item { background:#fff;border:1px solid #e8e6e0;border-radius:10px;padding:12px 14px;margin-bottom:8px;transition:border .15s; }
.tl-check-item.nok { border-color:#F09595;background:#fff8f8; }
.tl-check-row { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.tl-check-nome { font-size:14px;font-weight:500;color:#1a1a18;flex:1; }
.tl-check-desc { font-size:11px;color:#aaa;margin:2px 0 0; }
.tl-btns { display:flex;gap:6px; }
.tl-btn-ok,.tl-btn-nok { padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;border:1.5px solid #ddd;background:#fafaf8;color:#888;cursor:pointer;transition:all .15s; }
.tl-btn-ok.ativo  { border-color:#1D9E75;background:#E1F5EE;color:#085041; }
.tl-btn-nok.ativo { border-color:#E24B4A;background:#fff0f0;color:#A32D2D; }
.tl-obs-input { width:100%;margin-top:8px;padding:7px 10px;border:1px solid #F09595;border-radius:6px;font-size:12px;color:#1a1a18;background:#fff8f8;outline:none; }
/* Upload */
.tl-upload-area { display:flex;flex-direction:column;align-items:center;border:2px dashed #ccc;border-radius:10px;padding:20px;cursor:pointer;transition:border .15s;text-align:center;color:#888; }
.tl-upload-area:hover { border-color:#1D9E75; }
.tl-upload-icon { margin-bottom:8px;color:#bbb; }
.tl-upload-text { font-size:13px;margin:0; }
.tl-tag { display:inline-block;font-size:11px;background:#f0f0ec;color:#666;padding:3px 9px;border-radius:20px; }
.foto-thumb { width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #eee; }
.foto-wrap { position:relative;width:80px;height:80px; }
.foto-del { position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#E24B4A;color:#fff;border:none;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1; }
/* Canvas */
.tl-canvas { width:100%;max-width:400px;height:130px;border:1.5px solid #ddd;border-radius:8px;background:#fafaf8;cursor:crosshair;display:block;touch-action:none; }
.tl-btn-clear { font-size:11px;color:#888;background:none;border:none;cursor:pointer;padding:4px 0;text-decoration:underline; }
/* Radio */
.tl-radio-label { display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;border:1.5px solid #eee;cursor:pointer;transition:all .15s; }
.tl-radio-label.active { border-color:#1D9E75;background:#f5fdf9; }
.tl-radio-dot { width:12px;height:12px;border-radius:50%;margin-top:4px;flex-shrink:0; }
.tl-radio-title { font-size:13px;font-weight:600;color:#1a1a18;margin:0 0 2px; }
.tl-radio-sub   { font-size:11px;color:#888;margin:0;line-height:1.4; }
/* Botões */
.tl-btn-primary { width:100%;padding:13px;background:#1D9E75;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s; }
.tl-btn-primary:hover    { background:#0F6E56; }
.tl-btn-primary:disabled { background:#aaa;cursor:not-allowed; }
.tl-btn-secondary { padding:13px 20px;background:#fff;color:#555;border:1px solid #ddd;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer; }
/* Resumo */
.tl-resumo-row { display:flex;justify-content:space-between;align-items:flex-start;padding:7px 0;border-bottom:1px solid #f0ede8;font-size:13px; }
.tl-resumo-row:last-child { border-bottom:none; }
.tl-resumo-label { color:#888; }
.tl-resumo-val   { font-weight:500;color:#1a1a18; }
/* Spinner */
.tl-spinner { width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1D9E75;border-radius:50%;animation:tl-spin .8s linear infinite;margin:0 auto; }
@keyframes tl-spin { to { transform:rotate(360deg); } }
