/* Client directory: calm surfaces, purposeful color and consistent icon badges. */
.lab-connected { display:inline-flex; align-items:center; gap:7px; color:#587149; font-size:12px; white-space:nowrap; font-weight:600; }
.lab-connected .i { width:16px; height:16px; }
.lab-client-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.lab-client-card { padding:26px 26px 0; border:1px solid var(--border); background:var(--surface); border-radius:17px; box-shadow:0 2px 4px #243c2803; transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease; min-width:0; }
.lab-client-card:hover { border-color:#d7dbce; box-shadow:0 10px 24px #243c2808; transform:translateY(-3px); }
.lab-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:22px; }
.lab-client-avatar { display:grid; place-items:center; width:52px; height:52px; flex:none; border-radius:15px; background:#edf1e6; color:#546b44; font-size:22px; font-weight:600; }
.lab-client-card:nth-child(2n) .lab-client-avatar { background:var(--accent-soft); color:var(--accent-fg); }
.lab-client-card h3 { font-size:21px; font-weight:700; margin-bottom:7px; overflow-wrap:anywhere; }
.lab-client-card>p { font-size:14px; color:var(--text-2); }
.lab-card-meta { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:24px 0; }
.lab-card-meta>span { display:flex; align-items:center; gap:7px; color:var(--text-2); font-size:12px; font-weight:600; }
.lab-card-meta .i { width:16px; height:16px; color:var(--muted); }
.lab-card-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border); padding:17px 0 19px; color:var(--accent-fg); font-size:14px; font-weight:600; text-decoration:none!important; }
.lab-card-link .i { transition:transform .2s ease; }
.lab-card-link:hover .i { transform:translateX(4px); }
.lab-info-note { display:flex; align-items:flex-start; gap:10px; margin-top:24px; padding:16px 0; color:var(--text-2); font-size:12px; line-height:1.7; font-weight:600; }
.lab-info-note>.i { width:16px; height:16px; margin-top:2px; }
.lab-account-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:26px; }
.lab-account-panel .ma-panel-intro { margin-bottom:0; }
.lab-account-panel .ma-actions { justify-content:flex-end; max-width:450px; }
.lab-client-subtitle { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:10px; }
.lab-rest-card { padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.lab-rest-card .ma-panel-intro { margin-bottom:22px; }
.lab-rest-card .ma-panel-intro>div:last-child { min-width:0; }
.lab-rest-card h3 { font-size:18px; overflow-wrap:anywhere; margin-bottom:8px; }
.lab-rest-card .ma-actions { border-top:1px solid var(--border); padding-top:20px; }
.lab-entry { max-width:760px; padding-top:12vh; }
.lab-entry section { padding:36px; background:var(--surface,#fff); border:1px solid var(--border); border-radius:20px; }
.lab-entry h1 { font-size:clamp(28px,5vw,40px); line-height:1.25; margin:20px 0; }
.lab-entry p { line-height:1.8; margin-bottom:24px; }
.lab-entry .ma-eyebrow { letter-spacing:.15em; font-size:11px; font-weight:600; }
@media(max-width:1150px) { .lab-account-panel { grid-template-columns:1fr; } .lab-account-panel .ma-actions { justify-content:flex-start; max-width:none; } }
@media(max-width:900px) { .lab-client-grid { grid-template-columns:1fr; } }
@media(max-width:650px) { .lab-client-card { padding:22px 22px 0; } .lab-entry { padding-top:24px; } .lab-entry section { padding:24px; } .lab-rest-card { padding:22px; } }
.lab-nav { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

.lab-client-card,.lab-rest-card {
  border-color:#ffffffed;
  box-shadow:0 3px 8px #34422e0c,0 20px 34px -22px #34422e55;
  background:linear-gradient(145deg,#fff 55%,#fdfcf7);
}
.lab-client-card:hover { border-color:#e2e5d8; box-shadow:0 6px 16px #34422e15,0 26px 44px -22px #34422e5c; }
.lab-client-card h3,.lab-rest-card h3 { color:#293d2f; font-weight:700; }
.lab-client-avatar { background:linear-gradient(145deg,#f1f5e9,#e1e9d6); box-shadow:inset 0 1px 0 #fff,0 6px 12px -8px #4d643c70; }
.lab-client-card:nth-child(2n) .lab-client-avatar { background:linear-gradient(145deg,#fff2e7,#f3ddce); box-shadow:inset 0 1px 0 #fff,0 6px 12px -8px #9e533d60; }
.lab-card-link { color:#aa4724; }
.lab-info-note { color:#52604d; font-weight:600; }

/* Compact client cards share their content with the optional list layout. */
.lab-directory-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:16px; }
.lab-view-switch { display:inline-flex; flex:none; gap:3px; padding:4px; border:1px solid #e0e3d7; border-radius:10px; background:#f1f2e9; }
.lab-view-switch button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 12px; border:1px solid transparent; border-radius:7px; background:transparent; color:#5b6754; font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background .18s ease,color .18s ease,box-shadow .18s ease; }
.lab-view-switch button .i { width:16px; height:16px; }
.lab-view-switch button:hover { background:#fff9; color:#293d2f; }
.lab-view-switch button[aria-pressed="true"] { background:#fffdf8; border-color:#e3e5da; color:#a64020; box-shadow:0 2px 5px #293d2f12; }
.lab-view-switch button:focus-visible,.lab-client-directory .lab-card-link:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.lab-client-directory .lab-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lab-client-directory .lab-client-card { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"identity identity" "meta meta" "status action"; gap:14px 12px; align-items:center; padding:18px; border-radius:14px; }
.lab-client-identity { grid-area:identity; display:flex; align-items:center; gap:12px; min-width:0; }
.lab-client-identity>div { min-width:0; }
.lab-client-directory .lab-client-avatar { width:42px; height:42px; border-radius:12px; font-size:18px; }
.lab-client-directory h3 { margin:0 0 4px; font-size:17px; line-height:1.35; }
.lab-client-identity p { color:var(--text-2); font-size:13px; line-height:1.4; overflow-wrap:anywhere; font-weight:600; }
.lab-client-directory .lab-card-meta { grid-area:meta; gap:8px 16px; margin:0; padding-bottom:14px; border-bottom:1px solid var(--border); }
.lab-client-directory .lab-card-meta>span { gap:6px; font-size:12px; font-weight:600; }
.lab-client-directory .ma-status { grid-area:status; justify-self:start; max-width:100%; font-size:11px; padding:4px 7px; }
.lab-client-directory .lab-card-link { grid-area:action; justify-self:end; gap:8px; min-height:32px; padding:4px 0 4px 8px; border:0; font-size:13px; white-space:nowrap; }
.lab-client-directory .lab-card-link .i { width:17px; height:17px; }
.lab-client-directory .ma-empty { grid-column:1/-1; }
.lab-client-directory[data-view="list"] .lab-client-grid { grid-template-columns:1fr; gap:10px; }
.lab-client-directory[data-view="list"] .lab-client-card { grid-template-columns:minmax(170px,1fr) minmax(210px,.9fr) auto auto; grid-template-areas:"identity meta status action"; gap:24px; padding:16px 20px; border-radius:12px; box-shadow:0 2px 5px #34422e08,0 10px 22px -18px #34422e45; }
.lab-client-directory[data-view="list"] .lab-client-card:hover { transform:none; box-shadow:0 3px 8px #34422e0c,0 12px 25px -18px #34422e50; }
.lab-client-directory[data-view="list"] .lab-card-meta { padding:0; border:0; }
@media(max-width:1250px) {
  .lab-directory-tools { gap:10px; }
  .lab-client-directory[data-view="list"] .lab-client-card { grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"identity status action" "meta meta meta"; gap:12px 20px; }
}
@media(max-width:1180px) { .lab-client-directory .lab-client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) {
  .lab-client-directory .ma-section-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .lab-directory-tools { width:100%; justify-content:space-between; }
}
@media(max-width:650px) {
  .lab-client-directory .lab-client-grid { grid-template-columns:1fr; gap:12px; }
  .lab-directory-tools { flex-wrap:wrap; }
  .lab-connected { white-space:normal; font-weight:600; }
  .lab-client-directory .lab-client-card { padding:16px; }
  .lab-client-directory[data-view="list"] .lab-client-card { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"identity identity" "meta meta" "status action"; padding:14px 16px; gap:10px 12px; }
  .lab-client-directory[data-view="list"] .lab-client-avatar { width:36px; height:36px; border-radius:10px; font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .lab-client-card,.lab-card-link .i,.lab-view-switch button { transition:none; }
  .lab-client-card:hover { transform:none; }
}
