/* MyLabs v3.2 · tela "Registros": acompanhamento em tempo real e relatório por período. */
.records-page { display:grid; gap:14px; padding:4px 0 24px; color:var(--pro-text, #e6edf6); }
.records-page[hidden] { display:none !important; }
.records-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.records-head h2 { margin:0; font-size:1.35rem; }
.records-live { margin:0; font-size:.82rem; color:#86efac; display:flex; align-items:center; gap:8px; }
.records-live::before { content:""; width:9px; height:9px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:records-pulse 2s infinite; flex:0 0 auto; }
@keyframes records-pulse { 0% { box-shadow:0 0 0 0 rgba(34,197,94,.55); } 70% { box-shadow:0 0 0 9px rgba(34,197,94,0); } 100% { box-shadow:0 0 0 0 rgba(34,197,94,0); } }
#records-export { min-height:42px; padding:0 16px; border-radius:10px; font-weight:700; }

.records-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; padding:12px; border-radius:14px; background:rgba(15,29,51,.7); border:1px solid rgba(148,163,184,.2); }
.records-filters label { display:grid; gap:4px; font-size:.78rem; font-weight:600; color:var(--pro-muted, #94a3b8); }
.records-filters input, .records-filters select { min-height:38px; border-radius:9px; }
.records-search { flex:1 1 200px; }
.records-search input { width:100%; }
.records-presets { display:flex; flex-wrap:wrap; gap:6px; flex:1 1 100%; }
.records-presets button { min-height:34px; padding:0 14px; border-radius:999px; border:1px solid rgba(148,163,184,.35); background:transparent; color:inherit; font-weight:600; cursor:pointer; }
.records-presets button[aria-pressed="true"] { background:#2563eb !important; border-color:#2563eb !important; color:#fff !important; }

.records-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; }
.records-summary article { padding:12px; border-radius:12px; background:rgba(15,29,51,.75); border:1px solid rgba(148,163,184,.18); display:grid; gap:2px; }
.records-summary strong { font-size:1.45rem; line-height:1.1; }
.records-summary span { font-size:.78rem; color:var(--pro-muted, #94a3b8); }
.records-summary .is-ok strong { color:#4ade80; }
.records-summary .is-bad strong { color:#f87171; }
.records-summary .is-warn strong { color:#fbbf24; }

.records-table { width:100%; border-collapse:collapse; font-size:.85rem; border-radius:12px; overflow:hidden; background:rgba(15,29,51,.6); }
.records-table th, .records-table td { padding:8px 10px; text-align:right; border-bottom:1px solid rgba(148,163,184,.15); }
.records-table th:first-child, .records-table thead th:first-child { text-align:left; }
.records-table thead th { font-size:.75rem; color:var(--pro-muted, #94a3b8); font-weight:600; }
.records-table tbody th button { background:none; border:0; padding:0; color:#93c5fd; font-weight:700; cursor:pointer; text-decoration:underline; }
.records-operators { overflow-x:auto; }

.records-day { display:grid; gap:8px; }
.records-day h3 { margin:8px 0 2px; font-size:1rem; }
.records-day h3 small { font-weight:500; color:var(--pro-muted, #94a3b8); margin-left:6px; }
.record-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; padding:12px 14px; border-radius:14px; background:rgba(15,29,51,.8); border:1px solid rgba(148,163,184,.2); border-left:4px solid #64748b; }
.record-card.is-completed { border-left-color:#22c55e; }
.record-card.is-not_completed { border-left-color:#ef4444; }
.record-card.is-in_progress { border-left-color:#f59e0b; }
.record-card.is-cancelled { opacity:.65; }
.record-card.is-new { animation:record-new 6s ease-out; }
@keyframes record-new { 0% { background:rgba(37,99,235,.45); } 100% { background:rgba(15,29,51,.8); } }
.record-badge { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-weight:800; color:#fff; background:#64748b; }
.is-completed .record-badge { background:#16a34a; }
.is-not_completed .record-badge { background:#dc2626; }
.is-in_progress .record-badge { background:#f59e0b; color:#111827; }
.record-body { display:grid; gap:3px; min-width:0; }
.record-body header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 10px; }
.record-body header strong { font-size:1rem; overflow-wrap:anywhere; }
.record-status { font-size:.75rem; font-weight:700; padding:2px 9px; border-radius:999px; background:rgba(148,163,184,.2); }
.is-completed .record-status { background:rgba(34,197,94,.2); color:#86efac; }
.is-not_completed .record-status { background:rgba(239,68,68,.2); color:#fca5a5; }
.is-in_progress .record-status { background:rgba(245,158,11,.2); color:#fcd34d; }
.record-body small { color:var(--pro-muted, #94a3b8); font-size:.8rem; }
.record-devices, .record-reason, .record-obs, .record-note { margin:4px 0 0; font-size:.86rem; }
.record-devices b.is-ok { color:#4ade80; }
.record-devices b.is-bad { color:#f87171; }
.record-obs { font-style:italic; color:#cbd5e1; overflow-wrap:anywhere; }
.record-note { color:var(--pro-muted, #94a3b8); }
.record-photos { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.record-photos img { width:120px; height:90px; object-fit:cover; border-radius:10px; border:1px solid rgba(148,163,184,.35); display:block; }
.records-empty { padding:24px; text-align:center; border-radius:14px; border:1px dashed rgba(148,163,184,.4); color:var(--pro-muted, #94a3b8); }
.operator-stop-blocked { margin:6px 0 0; font-size:.85rem; color:#fcd34d; }

@media (max-width:560px) {
  .records-filters label { flex:1 1 140px; }
  .records-filters input, .records-filters select { width:100%; }
  #records-export { width:100%; }
}
@media print {
  .records-filters, #records-export { display:none !important; }
}
