/* Public styles - Arabic RTL + configurable Cards */
:root { --lab-primary:#0E7490; --lab-card-max:980px; --lab-radius:18px; --lab-shadow:none; --lab-header-start:#0E7490; --lab-header-end:#1f2937; --lab-header-text:#fff; }
.lab-card { border:1px solid #eef2f7; border-radius: var(--lab-radius); overflow:hidden; margin:16px auto; background:#fff; box-shadow: var(--lab-shadow); max-width: var(--lab-card-max); }
@media (max-width: 1200px){ .lab-card { max-width:92%; } }
.lab-card-header { background:linear-gradient(135deg, var(--lab-header-start), var(--lab-header-end)); color: var(--lab-header-text); padding:18px; display:flex; flex-direction:column; gap:4px; }
.lab-card-header h3, .lab-card-header h4 { margin:0 0 2px; font-weight:800; letter-spacing:.2px; color: var(--lab-header-text); }
.lab-card-header p { margin:0; opacity:.9; color: var(--lab-header-text); }
.lab-form { padding:18px; direction: rtl; text-align: right; max-width: var(--lab-card-max); margin: 0 auto; }
@media (max-width: 1200px){ .lab-form { max-width:92%; } }
.lab-form .grid2 { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
@media (max-width: 840px){ .lab-form .grid2 { grid-template-columns: 1fr; } }
.lab-form .grid2 .full { grid-column: 1 / -1; }
.lab-form label { display:block; font-weight:700; margin-bottom:6px; color:#0f172a; }
.lab-form input[type=text], .lab-form input[type=date], .lab-form textarea, .lab-form select {
  width:100%; border:1px solid #e5e7eb; border-radius: var(--lab-radius); padding:12px 14px; background:#fcfdff;
  transition: box-shadow .2s, border-color .2s, transform .06s;
  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset;
}
.lab-form input:focus, .lab-form textarea:focus, .lab-form select:focus{ outline:none; border-color:#a5f3fc; box-shadow: 0 0 0 4px rgba(13,148,136,.12); }
.lab-form input:hover, .lab-form textarea:hover, .lab-form select:hover { border-color:#d1d5db; }

/* Buttons */
.lab-btn { background:var(--lab-primary); border:none; color:#fff; padding:12px 18px; border-radius:14px; cursor:pointer; font-weight:800;
  box-shadow: 0 8px 20px rgba(13,148,136,.15); transition: transform .06s, box-shadow .2s, opacity .2s; }
.lab-btn:hover { opacity:.98; box-shadow: 0 10px 24px rgba(13,148,136,.2); }
.lab-btn:active { transform: translateY(1px); }

/* Section Cards */
.lab-section-card { border:1px solid #eef2f7; border-radius: var(--lab-radius); overflow:hidden; margin:14px 0; background:#fff; box-shadow: var(--lab-shadow); }
.lab-section-head { background:linear-gradient(135deg, var(--lab-header-start), var(--lab-header-end)); color: var(--lab-header-text); padding:14px 16px; }
.lab-section-head h3, .lab-section-head h4 { margin:0 0 4px; font-weight:800; color: var(--lab-header-text); }
.lab-section-head p { margin:0; opacity:.92; color: var(--lab-header-text); }
.lab-section-body { padding:16px; background:#fff; }

/* Lists & misc */
#lab-lookup-result, #lab-home-visit-result, #lab-visit-lookup-result { margin-top:12px; }
.lab-result-view { background:#fff; padding:16px; border:1px solid #eef2f7; border-radius: var(--lab-radius); }
.muted { color:#64748b; font-size:13px; }
.lab-list { display:grid; gap:10px; }
.lab-list .item { padding:12px; border:1px solid #eef2f7; border-radius:14px; display:flex; justify-content:space-between; align-items:center; background:#fff; }
.lab-badge { background:#f1f5f9; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; color:#0f172a; }

.lab-result .contact{margin-top:6px;font-size:12px;color:#0f172a;}
.lab-result .contact div{opacity:.85;}


/* === Lab Suite: Global modern UI (RTL-friendly) === */
.lsa-wrap, .lab-container, .lab-card, .lab-card__head, .lab-card__body { direction: rtl; }

:root{
  --lab-primary:#0d6e78;
  --lab-primary-2:#0f8c97;
  --lab-accent:#21c4d3;
  --lab-bg:#f5f7fa;
  --lab-text:#1f2937;
  --lab-muted:#6b7280;
  --lab-shadow: 0 10px 30px rgba(0,0,0,.07);
  --lab-radius:18px;
}

.lab-card{
  background:#fff;
  border-radius:var(--lab-radius);
  box-shadow:var(--lab-shadow);
  margin:16px 0;
  overflow:hidden;
  border:1px solid #eef2f7;
}
.lab-card__head{
  padding:14px 18px;
  background:linear-gradient(135deg,var(--lab-primary),var(--lab-primary-2));
  color:#fff;
  font-weight:700;
  letter-spacing:.3px;
}
.lab-card__body{ padding:18px; }

.lab-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
@media (max-width:760px){ .lab-grid{ grid-template-columns:1fr; } }

.field label{ display:block; font-size:.9rem; color:var(--lab-muted); margin-bottom:6px; }
.field input[type="text"],
.field input[type="number"],
.field input[type="date"],
.field select, .field textarea{
  width:100%; padding:10px 12px; border-radius:12px; border:1px solid #e5e7eb; background:#fafafa; color:var(--lab-text);
}
.field textarea{ resize:vertical; }

.actions .button, .btn-primary, .button.btn-primary{
  background:var(--lab-primary);
  border:none; color:#fff; padding:10px 16px; border-radius:12px; cursor:pointer;
}
.actions .button:hover, .btn-primary:hover{ filter:brightness(.95); }

.table-wrap{ overflow:auto; border-radius:12px; border:1px solid #eef2f7; }
.table{ width:100%; border-collapse:separate; border-spacing:0; }
.table thead th{
  background:linear-gradient(180deg,#0d6e78 0%, #0f8c97 100%);
  color:#fff; padding:10px; font-weight:600; text-align:center;
}
.table tbody td{ padding:10px; border-top:1px solid #eef2f7; text-align:center; }

/* Tabs */
.lab-tabs{ display:flex; gap:8px; margin-bottom:10px; }
.lab-tab{
  border:1px solid #dbe3ea; background:#fff; color:var(--lab-text); padding:8px 14px; border-radius:999px; cursor:pointer;
}
.lab-tab.active{ background:var(--lab-primary); color:#fff; border-color:transparent; }

/* Modal */
.lab-modal img{ box-shadow:var(--lab-shadow); border-radius:12px; }

/* Inputs filter for selects */
.lsa-staff-filter{ width:100%; padding:8px 10px; border:1px solid #e5e7eb; border-radius:10px; margin-bottom:6px; }


/* === Toasts === */
#lsa-toast-wrap{ position:fixed; inset:20px 20px auto auto; z-index:99999; display:flex; flex-direction:column; gap:8px; }
.lsa-toast{ min-width:260px; max-width:360px; padding:10px 14px; border-radius:12px; color:#0b2; background:#ecfdf5; border:1px solid #a7f3d0; box-shadow:var(--lab-shadow); animation:lsaSlide .3s ease-out; direction:rtl }
.lsa-toast.error{ color:#721c24; background:#fef2f2; border-color:#fecaca; }
.lsa-toast.info{ color:#1e3a8a; background:#eff6ff; border-color:#bfdbfe; }
@keyframes lsaSlide{ from{ opacity:0; transform:translateY(-8px)} to{opacity:1; transform:translateY(0)} }

/* === Daily timer card === */
.lsa-timer{ display:flex; gap:14px; align-items:center; padding:12px; border:1px dashed #d1e3ea; border-radius:14px; background:#f8fafc; }
.lsa-timer .pill{ padding:6px 10px; border-radius:999px; background:#fff; border:1px solid #e5e7eb; font-weight:600; }
