/* ClinicOS Equipment — workspace (Stage 6, Equipment CP3b). Every selector is scoped to #page-equipment and uses NEW class names (eq2-*): nothing here touches the
   shared .tbl / .card / .badge / .kpi styling used by other pages. Tokens come from the Shell 2 design system with classic-shell fallbacks, so Light is primary and
   Dark follows the tokens. Status is never colour alone: a dot AND a word, and each status has its own treatment (the old page drew all four in one amber pill). */
#page-equipment {
  --eq2-ink: var(--cos-color-text-primary, var(--ink, #14202b));
  --eq2-ink-2: var(--cos-color-text-secondary, var(--ink-3, #4a5a68));
  --eq2-muted: var(--cos-color-text-muted, var(--ink-3, #6b7a88));
  --eq2-line: var(--cos-color-border-subtle, rgba(127, 140, 152, .22));
  --eq2-line-strong: var(--cos-color-border, rgba(127, 140, 152, .38));
  --eq2-surface: var(--cos-color-bg-surface, var(--bg2, #fff));
  --eq2-brand: var(--cos-color-brand-primary, var(--teal, #0f766e));
  --eq2-tint: color-mix(in srgb, var(--cos-color-brand-accent, #19b6a2) 7%, var(--eq2-surface));
  --eq2-ok: var(--cos-tone-teal, #1fa58f);
  --eq2-ok-ink: var(--cos-tone-teal-ink, #0f766e);
  --eq2-warn: var(--cos-tone-amber, #d99a1e);
  --eq2-warn-ink: var(--cos-color-warning, #9a6700);
  --eq2-danger: var(--cos-color-danger, #c0392b);
  --eq2-info: var(--cos-color-focus, #2563eb);
  --eq2-focus: var(--cos-color-focus, #2563eb);
}
#page-equipment .eq2-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── header, lenses, context ────────────────────────────────────────────────────────────────────────────────────────────────── */
#page-equipment .eq2-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 14px; }
#page-equipment .eq2-eyebrow { font: 700 0.6875rem/1.2 inherit; font-family: inherit; letter-spacing: .14em; color: var(--eq2-brand); }
#page-equipment .eq2-head h1 { margin: 4px 0 2px; font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.1; letter-spacing: -.03em; color: var(--eq2-ink); }
#page-equipment .eq2-head p { margin: 0; font-size: 0.875rem; color: var(--eq2-muted); max-width: 60ch; }
#page-equipment .eq2-tabs { display: flex; gap: 2px; margin: 0 0 16px; border-bottom: 1px solid var(--eq2-line); }
#page-equipment .eq2-tab { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; background: transparent; color: var(--eq2-ink-2); font: 600 0.875rem/1 inherit; font-family: inherit; cursor: pointer; }
#page-equipment .eq2-tab:hover { color: var(--eq2-ink); background: var(--eq2-tint); }
#page-equipment .eq2-tab:focus-visible { outline: 2px solid var(--eq2-focus); outline-offset: -2px; }
#page-equipment .eq2-tab.is-active { color: var(--eq2-brand); }
#page-equipment .eq2-tab.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--eq2-brand); }
#page-equipment .eq2-tabcount { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--eq2-danger); color: #fff; font-size: 0.6875rem; font-weight: 700; }
#page-equipment .eq2-tabcount[hidden] { display: none; }
#page-equipment .eq2-context { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin: 0 0 12px; }
#page-equipment .eq2-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
#page-equipment .eq2-field > span { font: 600 0.6875rem/1.2 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; color: var(--eq2-muted); }
#page-equipment .eq2-field select { min-width: 180px; max-width: 100%; }
#page-equipment .eq2-device { align-self: center; display: inline-flex; align-items: center; height: 22px; padding: 0 10px; border-radius: 999px; background: var(--cos-color-neutral-bg, rgba(127, 140, 152, .16)); color: var(--eq2-ink-2); font: 600 0.6875rem/1 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; }
#page-equipment .eq2-countline { margin-left: auto; align-self: center; font-size: 0.8125rem; color: var(--eq2-muted); }

/* ── attention / filter chips ───────────────────────────────────────────────────────────────────────────────────────────────── */
#page-equipment .eq2-chips[hidden] { display: none; }
#page-equipment .eq2-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
#page-equipment .eq2-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 12px; border: 1px solid var(--eq2-line-strong); border-radius: 999px; background: transparent; color: var(--eq2-ink-2); font: 600 0.8125rem/1 inherit; font-family: inherit; cursor: pointer; }
#page-equipment .eq2-chip b { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--eq2-muted); }
#page-equipment .eq2-chip:hover { background: var(--eq2-tint); }
#page-equipment .eq2-chip:focus-visible { outline: 2px solid var(--eq2-focus); outline-offset: 2px; }
#page-equipment .eq2-chip[aria-pressed="true"] { border-color: var(--eq2-brand); background: color-mix(in srgb, var(--eq2-brand) 11%, var(--eq2-surface)); color: var(--eq2-brand); }
#page-equipment .eq2-chip[aria-pressed="true"] b { color: inherit; }

/* ── layout: list + contextual detail ───────────────────────────────────────────────────────────────────────────────────────── */
#page-equipment .eq2-split { display: block; }
@media (min-width: 1100px) { #page-equipment .eq2-split.has-detail { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; align-items: start; } #page-equipment .eq2-split.has-detail .eq2-detail { position: sticky; top: 76px; } }
@media (min-width: 1500px) { #page-equipment .eq2-split.has-detail { grid-template-columns: minmax(0, 1fr) 420px; gap: 24px; } }
#page-equipment .eq2-main { min-width: 0; }
#page-equipment .eq2-row--pick { cursor: pointer; }
/* tablets: "Where" moves under the name (a third line) so the table keeps room for status, warranty and next maintenance */
#page-equipment .eq2-sub.eq2-whereline { display: none; }
@media (min-width: 720px) and (max-width: 1099px) { #page-equipment .eq2-sub.eq2-whereline { display: block; } #page-equipment #eq-lens-register .eq2-table th:nth-child(2), #page-equipment #eq-lens-register .eq2-table td:nth-child(2) { display: none; } }
/* with the detail panel open the list keeps what identifies and ranks a machine (name, status, next maintenance); Where and Warranty are in the panel */
@media (min-width: 1100px) { #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-actions .eq2-btn--primary { display: none; } }
@media (min-width: 1100px) and (max-width: 1599px) { #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table th:nth-child(2), #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table td:nth-child(2), #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table th:nth-child(4), #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table td:nth-child(4) { display: none; } }
#page-equipment .eq2-tablewrap { overflow-x: auto; }
#page-equipment .eq2-table { width: 100%; border-collapse: separate; border-spacing: 0; font: 0.875rem/1.4 inherit; font-family: inherit; }
#page-equipment .eq2-table thead th { padding: 0 12px 8px 0; text-align: left; font: 600 0.6875rem/1.3 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; color: var(--eq2-muted); border-bottom: 1px solid var(--eq2-line-strong); white-space: nowrap; }
#page-equipment .eq2-table tbody th, #page-equipment .eq2-table tbody td { padding: 12px 12px 12px 0; vertical-align: middle; text-align: left; border-bottom: 1px solid var(--eq2-line); background: transparent; }
#page-equipment .eq2-table tbody tr:hover > * { background: var(--eq2-tint); }
#page-equipment .eq2-table tbody tr:last-child > * { border-bottom: 0; }
/* column rhythm (wide screens only: below 1100px the table scrolls or reflows instead): Status / Warranty / Next maintenance get room so "Out of Service" never touches "Expired" */
@media (min-width: 1100px) {
  #page-equipment .eq2-table th:nth-child(3), #page-equipment .eq2-table td:nth-child(3), #page-equipment .eq2-table th:nth-child(4), #page-equipment .eq2-table td:nth-child(4) { min-width: 132px; padding-right: 20px; }
  #page-equipment .eq2-table th:nth-child(5), #page-equipment .eq2-table td:nth-child(5) { min-width: 140px; padding-right: 16px; }
  #page-equipment .eq2-actcell .eq2-actions { flex-wrap: nowrap; }
  #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table th:nth-child(3), #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table td:nth-child(3) { min-width: 118px; padding-right: 12px; }
  #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table th:nth-child(5), #page-equipment .eq2-split.has-detail #eq-lens-register .eq2-table td:nth-child(5) { min-width: 128px; padding-right: 8px; }
}
@media (min-width: 1500px) {
  #page-equipment .eq2-table th:nth-child(3), #page-equipment .eq2-table td:nth-child(3), #page-equipment .eq2-table th:nth-child(4), #page-equipment .eq2-table td:nth-child(4) { min-width: 150px; padding-right: 24px; }
  #page-equipment .eq2-table th:nth-child(5), #page-equipment .eq2-table td:nth-child(5) { min-width: 170px; padding-right: 20px; }
}
#page-equipment .eq2-row.is-selected > * { background: color-mix(in srgb, var(--eq2-brand) 9%, var(--eq2-surface)); }
#page-equipment .eq2-row.is-retired { opacity: .66; }
#page-equipment .eq2-row.is-retired .eq2-name { font-weight: 500; }
#page-equipment .eq2-name { display: block; font-weight: 600; font-size: 0.9375rem; color: var(--eq2-ink); overflow-wrap: anywhere; }
#page-equipment .eq2-sub { display: block; margin-top: 2px; font-weight: 400; font-size: 0.75rem; line-height: 1.35; color: var(--eq2-muted); }
#page-equipment .eq2-note { display: block; margin-top: 4px; font-size: 0.75rem; color: var(--eq2-ink-2); overflow-wrap: anywhere; }
#page-equipment .eq2-quiet, #page-equipment .eq2-quiet-line { color: var(--eq2-muted); font-size: 0.8125rem; }
#page-equipment .eq2-quiet-line { margin: 0 0 6px; padding: 8px 0; }

/* status: a dot and a word, one treatment per status */
#page-equipment .eq2-status { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 0.8125rem; color: var(--eq2-ink-2); white-space: nowrap; }
#page-equipment .eq2-status i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--eq2-ok); }
#page-equipment .eq2-status[data-tone="ok"] { color: var(--eq2-ok-ink); }
#page-equipment .eq2-status[data-tone="warn"] { color: var(--eq2-warn-ink); } #page-equipment .eq2-status[data-tone="warn"] i { background: var(--eq2-warn); }
#page-equipment .eq2-status[data-tone="danger"] { color: var(--eq2-danger); } #page-equipment .eq2-status[data-tone="danger"] i { background: var(--eq2-danger); width: 11px; height: 11px; }
#page-equipment .eq2-status[data-tone="info"] { color: var(--eq2-info); } #page-equipment .eq2-status[data-tone="info"] i { background: transparent; border: 2px solid var(--eq2-info); width: 11px; height: 11px; }
#page-equipment .eq2-status[data-tone="mute"] { color: var(--eq2-muted); font-weight: 500; } #page-equipment .eq2-status[data-tone="mute"] i { background: transparent; border: 2px dashed var(--eq2-muted); width: 11px; height: 11px; }
#page-equipment .eq2-tone { display: block; font-weight: 600; font-size: 0.8125rem; } #page-equipment .eq2-tone[data-tone="danger"] { color: var(--eq2-danger); } #page-equipment .eq2-tone[data-tone="warn"] { color: var(--eq2-warn-ink); }
#page-equipment .eq2-nextline .eq2-tone { display: inline; }
#page-equipment .eq2-cell-warranty.is-focus, #page-equipment .eq2-dl .is-focus { box-shadow: inset 3px 0 0 var(--eq2-warn); padding-left: 8px; }
#page-equipment .eq2-ro { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 6px; background: var(--cos-color-neutral-bg, rgba(127, 140, 152, .14)); color: var(--eq2-ink-2); font-weight: 600; font-size: 0.75rem; white-space: nowrap; }

/* actions */
#page-equipment .eq2-actcell { text-align: right; white-space: nowrap; }
#page-equipment .eq2-actions { display: inline-flex; align-items: center; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
#page-equipment .eq2-btn { min-height: 32px; padding: 0 12px; border: 1px solid var(--eq2-line-strong); border-radius: 8px; background: transparent; color: var(--eq2-ink); font: 600 0.8125rem/1 inherit; font-family: inherit; cursor: pointer; }
#page-equipment .eq2-btn:hover { background: var(--eq2-tint); }
#page-equipment .eq2-btn:focus-visible { outline: 2px solid var(--eq2-focus); outline-offset: 2px; }
#page-equipment .eq2-btn:disabled { opacity: .55; cursor: default; }
#page-equipment .eq2-btn--primary { border-color: var(--eq2-brand); background: var(--eq2-brand); color: #fff; }
#page-equipment .eq2-btn--primary:hover { background: color-mix(in srgb, var(--eq2-brand) 88%, #000); }
#page-equipment .eq2-btn--danger { border-color: color-mix(in srgb, var(--eq2-danger) 55%, transparent); color: var(--eq2-danger); }
#page-equipment .eq2-link { padding: 0; border: 0; background: none; color: var(--eq2-ink); font: 600 0.9375rem/1.3 inherit; font-family: inherit; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
#page-equipment .eq2-link:hover { color: var(--eq2-brand); text-decoration: underline; }
#page-equipment .eq2-more { position: relative; }
#page-equipment .eq2-more > summary { display: inline-flex; align-items: center; min-height: 32px; padding: 0 8px; list-style: none; cursor: pointer; color: var(--eq2-muted); font: 600 0.8125rem/1 inherit; font-family: inherit; border-radius: 8px; }
#page-equipment .eq2-more > summary::-webkit-details-marker { display: none; }
#page-equipment .eq2-more > summary:hover { color: var(--eq2-ink); background: var(--eq2-tint); }
#page-equipment .eq2-menu { position: absolute; right: 0; z-index: 20; top: calc(100% + 4px); display: flex; flex-direction: column; gap: 2px; min-width: 190px; padding: 6px; border: 1px solid var(--eq2-line-strong); border-radius: 10px; background: var(--eq2-surface); box-shadow: 0 8px 24px rgba(0, 0, 0, .16); }
#page-equipment .eq2-menu .eq2-btn { border: 0; text-align: left; width: 100%; }

/* states */
#page-equipment .eq2-empty { padding: 28px 8px; text-align: center; color: var(--eq2-ink-2); font-size: 0.9375rem; line-height: 1.5; }
#page-equipment .eq2-empty .eq2-btn { margin-left: 8px; }

/* ── Maintenance lens ───────────────────────────────────────────────────────────────────────────────────────────────────────── */
#page-equipment .eq2-sec { margin: 0 0 30px; }
/* every section of the Maintenance lens shares one column grid, so Equipment / Type / When / Technician / actions line up from Overdue down to History */
@media (min-width: 720px) {
  #page-equipment .eq2-table--maint { table-layout: fixed; }
  #page-equipment .eq2-table--maint th:nth-child(1) { width: 33%; } #page-equipment .eq2-table--maint th:nth-child(2) { width: 15%; } #page-equipment .eq2-table--maint th:nth-child(3) { width: 17%; } #page-equipment .eq2-table--maint th:nth-child(4) { width: 13%; } #page-equipment .eq2-table--maint th:nth-child(5) { width: 22%; }
  #page-equipment .eq2-table--maint td, #page-equipment .eq2-table--maint th { overflow-wrap: anywhere; }
}
#page-equipment .eq2-sec-head { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
#page-equipment .eq2-sec-head h3 { margin: 0; font: 700 1.0625rem/1.3 inherit; font-family: inherit; letter-spacing: -.01em; color: var(--eq2-ink); }
#page-equipment .eq2-count-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; background: var(--cos-color-neutral-bg, rgba(127, 140, 152, .16)); color: var(--eq2-ink-2); font-size: 0.75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
#page-equipment .eq2-sec[data-bucket="overdue"] .eq2-count-pill:not(:empty) { color: var(--eq2-danger); }
#page-equipment .eq2-sec--fold { margin-bottom: 14px; border-top: 1px solid var(--eq2-line); padding-top: 10px; }
#page-equipment .eq2-sec--fold > summary { cursor: pointer; list-style: none; } #page-equipment .eq2-sec--fold > summary::-webkit-details-marker { display: none; }
#page-equipment .eq2-sec--fold > summary .eq2-sec-head { margin: 0; } #page-equipment .eq2-sec--fold > summary .eq2-sec-head::before { content: "▸"; color: var(--eq2-muted); font-size: 0.75rem; } #page-equipment .eq2-sec--fold[open] > summary .eq2-sec-head::before { content: "▾"; }

/* ── detail panel ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
#page-equipment .eq2-detail { margin: 18px 0 0; padding: 16px 18px; border: 1px solid var(--eq2-line); border-radius: 12px; background: var(--eq2-surface); min-width: 0; scroll-margin-top: 80px; }
#page-equipment .eq2-split.has-detail .eq2-detail { margin-top: 0; }
#page-equipment .eq2-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
#page-equipment .eq2-detail-head h2 { margin: 0; font: 700 1.25rem/1.25 inherit; font-family: inherit; letter-spacing: -.01em; color: var(--eq2-ink); overflow-wrap: anywhere; }
#page-equipment .eq2-detail-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px; }
#page-equipment .eq2-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0 0 12px; }
#page-equipment .eq2-dl dt { font: 600 0.6875rem/1.2 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; color: var(--eq2-muted); }
#page-equipment .eq2-dl dd { margin: 2px 0 0; font-size: 0.875rem; color: var(--eq2-ink); overflow-wrap: anywhere; }
#page-equipment .eq2-dl .eq2-dl-wide { grid-column: 1 / -1; }
#page-equipment .eq2-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
#page-equipment .eq2-detail-sec { border-top: 1px solid var(--eq2-line); padding-top: 12px; }
#page-equipment .eq2-detail-sec .eq2-sec-head { justify-content: space-between; }
#page-equipment .eq2-nextline { margin: 0 0 10px; font-size: 0.8125rem; color: var(--eq2-ink-2); }

/* history inside the detail panel: record + status on one line, actions underneath (the panel is narrow, so no columns) */
#page-equipment .eq2-table--detail thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#page-equipment .eq2-table--detail, #page-equipment .eq2-table--detail tbody, #page-equipment .eq2-table--detail tr { display: block; }
#page-equipment .eq2-table--detail tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid var(--eq2-line); }
#page-equipment .eq2-table--detail tbody tr:last-child { border-bottom: 0; }
#page-equipment .eq2-table--detail tbody td { display: block; padding: 0; border: 0; }
#page-equipment .eq2-table--detail tbody tr:hover > * { background: transparent; }
#page-equipment .eq2-table--detail td:first-child { grid-column: 1; grid-row: 1; } #page-equipment .eq2-table--detail td[data-label="Status"] { grid-column: 2; grid-row: 1; text-align: right; }
#page-equipment .eq2-table--detail .eq2-actcell { grid-column: 1 / -1; grid-row: 2; text-align: left; white-space: normal; } #page-equipment .eq2-table--detail .eq2-actions { justify-content: flex-start; }
#page-equipment .eq2-table--detail .eq2-actcell:has(.eq2-actions:empty) { display: none; }

/* ── forms (Add / Edit equipment, Schedule / Edit maintenance) ───────────────────────────────────────────────────────────────── */
#page-equipment .eq2-form { margin: 18px 0 0; padding: 16px 18px; border: 1px solid var(--eq2-line); border-radius: 12px; background: var(--eq2-surface); }
#page-equipment .eq2-form-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
#page-equipment .eq2-form-head h3 { margin: 0; font: 700 1.0625rem/1.3 inherit; font-family: inherit; color: var(--eq2-ink); }
#page-equipment .eq2-formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
#page-equipment .eq2-formgrid .eq2-span2 { grid-column: span 2; } #page-equipment .eq2-formgrid .eq2-span-all { grid-column: 1 / -1; }
#page-equipment .eq2-formgrid input, #page-equipment .eq2-formgrid select { width: 100%; min-width: 0; }
#page-equipment .eq2-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin: 14px 0 0; }

/* ── responsive: phones turn rows into compact operational rows (not cards) ─────────────────────────────────────────────────── */
@media (max-width: 899px) { #page-equipment .eq2-countline { margin-left: 0; } }
@media (max-width: 719px) {
  #page-equipment .eq2-field { flex: 1 1 100%; } #page-equipment .eq2-field select { width: 100%; }
  #page-equipment .eq2-add { width: 100%; }
  #page-equipment .eq2-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; } #page-equipment .eq2-chip { flex: none; }
  #page-equipment .eq2-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  #page-equipment .eq2-table, #page-equipment .eq2-table tbody, #page-equipment .eq2-table tr { display: block; }
  #page-equipment .eq2-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--eq2-line); }
  #page-equipment .eq2-table tbody tr:last-child { border-bottom: 0; }
  #page-equipment .eq2-table tbody th, #page-equipment .eq2-table tbody td { display: block; padding: 0; border: 0; }
  #page-equipment .eq2-table tbody tr:hover > * { background: transparent; }
  #page-equipment .eq2-table tbody th { grid-column: 1; grid-row: 1; }
  #page-equipment .eq2-table td[data-label="Status"] { grid-column: 2; grid-row: 1; text-align: right; }
  #page-equipment .eq2-table td[data-label="Where"] { grid-column: 1 / -1; grid-row: 2; }
  #page-equipment .eq2-table td[data-label="Warranty"] { grid-column: 1; grid-row: 3; } #page-equipment .eq2-table td[data-label="Next maintenance"] { grid-column: 2; grid-row: 3; text-align: right; }
  #page-equipment .eq2-table td[data-label="Warranty"]::before, #page-equipment .eq2-table td[data-label="Next maintenance"]::before { content: attr(data-label); display: block; font: 600 0.625rem/1.2 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; color: var(--eq2-muted); }
  #page-equipment .eq2-table .eq2-actcell { grid-column: 1 / -1; text-align: left; margin-top: 6px; } #page-equipment .eq2-actions { justify-content: flex-start; } #page-equipment .eq2-menu { right: auto; left: 0; }
  /* maintenance lens + detail history */
  #page-equipment .eq2-table--maint td[data-label="Type"], #page-equipment .eq2-table--maint td[data-label="Technician"] { grid-column: 1; } #page-equipment .eq2-table--maint td[data-label="When"] { grid-column: 2; grid-row: 1; text-align: right; }
  #page-equipment .eq2-table--maint th { grid-row: 1; } #page-equipment .eq2-table--maint td[data-label="Type"] { grid-row: 2; } #page-equipment .eq2-table--maint td[data-label="Technician"] { grid-row: 3; grid-column: 1 / -1; }
  #page-equipment .eq2-table--detail tbody tr { grid-template-columns: minmax(0, 1fr) auto; } #page-equipment .eq2-table--detail td:first-child { grid-column: 1; grid-row: 1; } #page-equipment .eq2-table--detail td[data-label="Status"] { grid-column: 2; grid-row: 1; }
  #page-equipment .eq2-dl { grid-template-columns: 1fr 1fr; }
  #page-equipment .eq2-formgrid .eq2-span2 { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { #page-equipment .eq2-tab, #page-equipment .eq2-btn, #page-equipment .eq2-chip { transition: none; } }
