/* Paired local surface/text colors also protect against inherited theme heading rules. */
.equipment-browser { --paper:var(--bg-elev,#fff); --wash:var(--bg-subtle,#f8f9fb); }
.equipment-browser h2,.equipment-browser h3,.equipment-browser label,.equipment-browser .equipment-status,.equipment-browser .equipment-summary-text,.equipment-browser .equipment-reasons,.equipment-browser .equipment-pagination { color:var(--ink); }
.equipment-browser a { color:var(--accent); }
.equipment-browser { margin: 0 0 28px; padding: 22px; border: 1px solid var(--line,#d5dfe9); border-radius: 14px; background: var(--paper,#fff); color: var(--ink,#172c43); }
.equipment-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.equipment-heading h2 { margin:0 0 12px; font-size:1.35rem; }
.equipment-kicker { color:var(--accent,#225c89); margin:0 0 5px; font-size:.8rem; font-weight:700; }
.equipment-note,.equipment-meta,.equipment-match-note { color:var(--ink-2,#52657a); font-size:.88rem; line-height:1.65; }
.equipment-devices,.equipment-branches { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.equipment-browser button,.equipment-browser select,.equipment-browser input,.equipment-server-link,.equipment-read { min-height:44px; }
.equipment-browser button { padding:8px 12px; border:1px solid var(--line,#ccd8e4); background:var(--paper,#fff); color:var(--ink,#172c43); border-radius:7px; font:inherit; cursor:pointer; }
.equipment-browser button[aria-pressed="true"] { background:#225c89; border-color:#225c89; color:#fff; }
.equipment-browser button:disabled { opacity:.45; cursor:default; }
.equipment-controls { display:flex; gap:16px; flex-wrap:wrap; }
.equipment-controls label { display:flex; flex-direction:column; gap:6px; font-size:.88rem; flex:1 1 200px; min-width:0; }
.equipment-controls label:last-child { flex:0 1 160px; }
.equipment-controls input,.equipment-controls select { width:100%; min-width:0; box-sizing:border-box; font:inherit; padding:8px 10px; color:var(--ink,#172c43); background:var(--paper,#fff); border:1px solid var(--line,#ccd8e4); border-radius:7px; }
.equipment-status { line-height:1.6; font-size:.88rem; }
.equipment-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; scroll-margin-top:90px; }
.equipment-card { min-width:0; border:1px solid var(--line,#ccd8e4); border-radius:10px; padding:18px; overflow-wrap:anywhere; }
.equipment-card h3 { margin:0 0 8px; font-size:1rem; line-height:1.6; }
.equipment-summary,.catalog-summary-fallback { display:flex; flex-direction:column; gap:7px; line-height:1.65; }
.catalog-summary-fallback[hidden] { display:none; }
.equipment-summary-label { font-size:.76rem; align-self:flex-start; padding:3px 7px; border-radius:4px; color:var(--accent,#225c89); background:var(--wash,#edf3f8); }
.equipment-summary-text { font-size:.9rem; overflow-wrap:anywhere; }
.equipment-reasons summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-size:.85rem; }
.equipment-reasons ul { margin:0 0 12px; padding-left:20px; font-size:.82rem; line-height:1.65; }
.equipment-read,.equipment-server-link { display:inline-flex; align-items:center; font-weight:600; }
.equipment-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; margin:20px 0 0; }
.equipment-empty { grid-column:1/-1; padding:20px; background:var(--wash,#edf3f8); border-radius:8px; }
.equipment-browser :focus-visible { outline:3px solid var(--accent,#225c89); outline-offset:3px; }
@media(max-width:700px) { .equipment-browser { padding:16px 12px; } .equipment-results { grid-template-columns:minmax(0,1fr); } .equipment-controls label:last-child { flex:1 1 160px; } .equipment-card { padding:14px; } .equipment-browser button { flex:1 0 auto; max-width:100%; overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { .equipment-browser * { scroll-behavior:auto; animation:none; transition:none; } }

.equipment-explanation summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--ink); font-size:.88rem; }
