/* Shared chrome is isolated from each tool's own control styles. */
body > .dashboard > .sidebar #section-nav .nav-group-items .nav-button { padding-left:26px; }
body > .dashboard > .sidebar { font: 16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; background:#fff; color:#40566d; }
body > .dashboard > .sidebar #section-nav { display:grid; gap:4px; }
body > .dashboard > .sidebar #section-nav .nav-button { display:block; width:100%; margin:0; padding:10px 12px; border:0; border-radius:9px; background:transparent; color:#40566d; font:600 14px/1.35 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; text-align:left; text-decoration:none; box-shadow:none; }
body > .dashboard > .sidebar #section-nav .nav-button:hover { background:#eef5f7; color:#0b315c; }
body > .dashboard > .sidebar #section-nav .nav-button.active { background:#dff7f3; color:#075e60; box-shadow:inset 3px 0 #0ba69a; }
body > .dashboard > .sidebar #section-nav .nav-label { margin:0; padding:8px 12px 5px; color:#627488; font:800 12px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
body > .dashboard > .sidebar #section-nav .nav-group { display:block; margin:0; padding:0; }
body > .dashboard > .sidebar #section-nav .nav-group-items { display:grid; gap:4px; }
body > .dashboard > .sidebar #section-nav details:not([open]) > .nav-group-items { display:none; }
body > .dashboard > .sidebar #section-nav summary { display:flex; cursor:pointer; }
body > .dashboard > .sidebar #section-nav .nav-group.has-active > summary { padding-left:9px; border-left:3px solid #0ba69a; border-radius:8px; background:#eaf8f6; color:#075e60; }
body > .topbar { font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
body > .topbar .brand small { font-size:12px; }
body > .topbar .nav-toggle { font:16px/1 system-ui,sans-serif; }
body > .topbar .nav-toggle { display:flex; align-items:center; justify-content:center; gap:8px; }
body > .topbar .nav-toggle-text { display:none; }
@media(max-width:900px){body > .dashboard > .sidebar { max-height:60vh; overflow:auto; }body > .dashboard > .sidebar #section-nav { min-width:0; }body > .dashboard > .sidebar #section-nav .nav-button { white-space:normal; }}

/* Mobile navigation: clear menu control, compact accordion groups, and comfortable touch targets. */
@media(max-width:900px){
  body > .topbar .nav-toggle { width:auto; min-width:92px; height:44px; padding:0 12px; border-color:#537493; border-radius:10px; font:700 14px/1 system-ui,sans-serif; }
  body > .topbar .nav-toggle-text { display:inline; }
  body > .dashboard > .sidebar { max-height:min(66vh,520px); padding:10px 12px; background:#f7fafc; }
  body > .dashboard > .sidebar #section-nav { gap:5px; }
  body > .dashboard > .sidebar #section-nav .nav-group { overflow:hidden; border:1px solid #dce6ed; border-radius:11px; background:#fff; }
  body > .dashboard > .sidebar #section-nav .nav-group>summary { min-height:46px; align-items:center; justify-content:space-between; padding:10px 13px; cursor:pointer; list-style:none; }
  body > .dashboard > .sidebar #section-nav .nav-group>summary::-webkit-details-marker { display:none; }
  body > .dashboard > .sidebar #section-nav .nav-group>summary::after { content:'+'; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#eef5f7; color:#08716b; font-size:18px; line-height:1; }
  body > .dashboard > .sidebar #section-nav .nav-group[open]>summary::after { content:'−'; }
  body > .dashboard > .sidebar #section-nav .nav-group-items { padding:2px 8px 8px; }
  body > .dashboard > .sidebar #section-nav .nav-group-items .nav-button { min-height:44px; padding:10px 12px; }
  body > .dashboard > .sidebar #section-nav>.nav-button { min-height:44px; padding:11px 13px; }
}

/* Contact tables become readable stacked cards on narrow screens. */
@media(max-width:760px){
  body[data-tool="lab-contacts"] #content-view .data-table-wrap{overflow:visible;max-height:none}
  body[data-tool="lab-contacts"] #content-view .data-table{display:block;width:100%;min-width:0}
  body[data-tool="lab-contacts"] #content-view .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  body[data-tool="lab-contacts"] #content-view .data-table tbody{display:grid;gap:10px}
  body[data-tool="lab-contacts"] #content-view .data-table tr{display:grid;min-width:0;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}
  body[data-tool="lab-contacts"] #content-view .data-table td{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);gap:8px;min-width:0;max-width:none;width:100%;padding:6px 0;border:0;overflow-wrap:anywhere}
  body[data-tool="lab-contacts"] #content-view .data-table td::before{content:attr(data-label);font-weight:700;color:var(--muted)}
  body[data-tool="lab-contacts"] .data-panel .data-table td:nth-child(1)::before{content:"Lab member"}
  body[data-tool="lab-contacts"] .data-panel .data-table td:nth-child(2)::before{content:"Phone number"}
  body[data-tool="lab-contacts"] .data-panel .data-table td:nth-child(3)::before{content:"Email"}
  body[data-tool="lab-contacts"] .data-panel .data-table td:nth-child(4)::before{content:"KID"}
  body[data-tool="lab-contacts"] .data-panel .data-table td:nth-child(5)::before{content:"Birthday"}
  body[data-tool="lab-contacts"] #content-view .data-table a{overflow-wrap:anywhere;word-break:break-word}
}
