/* Exames laboratoriais — complementa web/css/app.css */

.labs-rows { display: flex; flex-direction: column; }
.labs-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 11px 8px; margin: 0 -8px;
  border: 0; border-bottom: 1px solid var(--border); background: transparent; color: inherit; text-align: left; cursor: pointer;
  border-radius: 10px; font: inherit; transition: background .15s; width: calc(100% + 16px);
}
.labs-row:last-child { border-bottom: 0; }
.labs-row:hover, .labs-row:focus-visible { background: var(--surface-2); }
.labs-row-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.labs-row-name { font-weight: 600; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.labs-row-right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.labs-row-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.labs-row-value { font-weight: 600; white-space: nowrap; font-size: 14px; }
.labs-row-bottom { display: flex; align-items: center; gap: 10px; }

.labs-dropzone {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; cursor: pointer;
  padding: 34px 20px; border-radius: var(--r); border: 1.5px dashed var(--border-2); background: var(--surface); color: var(--text-3);
  transition: border-color .15s, background .15s, color .15s;
}
.labs-dropzone strong { color: var(--text); font-weight: 600; }
.labs-dropzone:hover, .labs-dropzone:focus-visible, .labs-dropzone.dragover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-text); }

.labs-review-table td { vertical-align: top; }
.labs-review-table tr.labs-attention td { background: color-mix(in srgb, var(--warning) 7%, transparent); }
.labs-review-table tr.labs-attention td:first-child { box-shadow: inset 3px 0 0 var(--warning); }
.labs-review-table input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--accent-strong); }
.labs-review-table tr.labs-excluded td:not(:first-child) { opacity: .45; text-decoration: line-through; text-decoration-color: var(--text-5); }
.labs-reftext { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.labs-notes { margin-top: 6px; }
.labs-notes summary { cursor: pointer; }
.labs-notes ul { margin: 4px 0 0; padding-left: 16px; max-width: 260px; white-space: normal; }

.labs-doc-preview { border-radius: var(--r-sm); overflow: hidden; border: 1px solid var(--border); background: var(--surface); }
.labs-doc-img { width: 100%; height: auto; display: block; border-radius: var(--r-sm); }
.labs-rawtext {
  margin: 0; max-height: 520px; overflow: auto; padding: 12px; border-radius: var(--r-sm); background: var(--surface); border: 1px solid var(--border);
  font-family: var(--font-mono); font-size: 11.5px; line-height: 1.55; color: var(--text-2); white-space: pre-wrap; word-break: break-word;
}

.labs-manual-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, .8fr) auto; gap: 8px; align-items: end; }
.labs-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.labs-cat summary { cursor: pointer; list-style: none; gap: 12px; }
.labs-cat summary::-webkit-details-marker { display: none; }
.labs-pending .list-item .btn { flex: none; }

@media (max-width: 1100px) {
  .labs-row-bottom > div { display: none; }
}
@media (max-width: 720px) {
  .labs-row { gap: 8px; }
  .labs-row-top { gap: 4px; }
  .labs-manual-row { grid-template-columns: 1fr 1fr; }
  .labs-manual-row .field:first-child { grid-column: 1 / -1; }
  .labs-review-table .labs-review-table tr.labs-excluded td:not(:first-child) { opacity: .45; text-decoration: line-through; text-decoration-color: var(--text-5); }
.labs-reftext { max-width: 140px; }
}
