/* Labo TP Manager — assets/labo.css */

.labo-wrap, .labo-form, .labo-tp-list, .labo-tpmeta { font-family: inherit; }
.labo-bar{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin: 8px 0 12px; }
.labo-bar input[type="text"], .labo-form input[type="text"], .labo-form input[type="datetime-local"], .labo-form input[type="number"],
.labo-tpmeta input[type="text"], .labo-tpmeta input[type="number"]{
  border:1px solid #d0d0d0; border-radius:10px; padding:.45rem .6rem; background:#fff;
}
.labo-bar select{ border:1px solid #d0d0d0; border-radius:10px; padding:.45rem .6rem; background:#fff; }
.labo-btn{ cursor:pointer; border:1px solid #cfcfcf; background:#fff; padding:.45rem .7rem; border-radius:12px; }
.labo-btn:hover{ border-color:#9b9b9b; }
.labo-btn.primary{ border-color:#111; background:#111; color:#fff; }
.labo-pill{ display:inline-block; padding:.15rem .55rem; border-radius:999px; font-size:.85rem; border:1px solid #ddd; background:#fff; }
.labo-pill.low{ border-color:#b30000; color:#b30000; }
.labo-count{ margin: 6px 0 10px; opacity:.9; }

.labo-name{ font-weight:700; line-height:1.2; }
.labo-sub{ opacity:.75; font-size:.92rem; }

.labo-actions{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.labo-file{ display:none; }

.labo-thumb{ width:72px; height:72px; object-fit:cover; border-radius:14px; border:1px solid #ddd; cursor:pointer; }
.labo-thumb-big{ width:92px; height:92px; }
.labo-thumb-placeholder{ width:92px; height:92px; border-radius:14px; border:1px dashed #bbb; display:flex; align-items:center; justify-content:center; font-size:28px; opacity:.65; }

.labo-table th, .labo-table td{ vertical-align:top; }
.labo-col-photo{ width:90px; }
.labo-col-actions{ width:220px; }

.labo-mobile{ display:none; }
.labo-desktop{ display:block; }

@media (max-width: 820px){
  .labo-desktop{ display:none; }
  .labo-mobile{ display:block; }
  .labo-bar input[type="text"]{ width:100%; min-width: unset; }
  .labo-bar select{ flex:1 1 48%; }
}

.labo-card{
  border:1px solid #e5e5e5; border-radius:16px; padding:12px; margin:10px 0; background:#fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}
.labo-card-top{ display:flex; gap:12px; align-items:flex-start; }
.labo-card-main{ flex:1; }
.labo-card-actions{ display:flex; gap:.5rem; flex-wrap:wrap; margin-top:10px; }

.labo-pages{ margin-top:12px; display:flex; gap:6px; flex-wrap:wrap; }
.labo-page{ border:1px solid #ddd; padding:.25rem .55rem; border-radius:10px; text-decoration:none; }
.labo-page.is-current{ font-weight:700; text-decoration:underline; }

.labo-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.70); z-index:99999; padding:14px; }
.labo-modal.open{ display:flex; }
.labo-modal-card{ background:#fff; border-radius:16px; max-width:980px; width:100%; max-height:90vh; overflow:auto; padding:14px; }
.labo-modal-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.labo-modal-body{ margin-top:12px; }
.labo-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:10px; }
.labo-grid img{ width:100%; height:130px; object-fit:cover; border-radius:12px; border:1px solid #eee; cursor:pointer; }
.labo-viewer{ margin:10px 0 12px; display:flex; justify-content:center; }
.labo-viewer img{ max-width:100%; max-height:56vh; border-radius:14px; border:1px solid #eee; }
.labo-msg{ margin-top:10px; }
.labo-location{ padding:10px 12px; border:1px solid #eee; border-radius:12px; background:#fafafa; }

.labo-form-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; }
.labo-form-grid label{ display:flex; flex-direction:column; gap:6px; }
@media (max-width:820px){
  .labo-form-grid{ grid-template-columns: 1fr; }
}
.labo-scroll{ overflow:auto; }
.labo-table2{ width:100%; border-collapse:collapse; }
.labo-table2 th, .labo-table2 td{ border-bottom:1px solid #eee; padding:8px; vertical-align:top; }
.labo-rowline{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.labo-warn{ margin-top:10px; }
