.equipment-page { max-width: 820px; }
.equipment-page .page-heading { gap: 16px; margin-bottom: 24px; }
.equipment-heading { display: flex; align-items: center; gap: 14px; min-width: 0; }
.equipment-heading .icon-button { flex-shrink: 0; }
.equipment-heading h1 { margin: 0; font-size: clamp(var(--text-24), 3vw, var(--text-28)); line-height: 1.2; }
.equipment-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.equipment-tools .button { white-space: nowrap; }
.equipment-count, .equipment-note { color: var(--muted); font-size: var(--text-13); line-height: 1.6; }
.equipment-count { margin: 20px 0 10px; }
.equipment-list { border-top: 1px solid var(--line); }
.equipment-row { display: flex; align-items: center; gap: 18px; min-height: 72px; padding: 17px 4px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.equipment-row > span { display: grid; gap: 5px; min-width: 0; flex: 1; }
.equipment-row strong { font-size: var(--text-15); font-weight: 600; overflow-wrap: anywhere; }
.equipment-row small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--muted); font-size: var(--text-12); line-height: 1.5; overflow-wrap: anywhere; }
.equipment-row > svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--muted); }
.equipment-row:hover { background: var(--surface); }
.equipment-row:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#equipment-editor { max-width: 600px; }
#equipment-editor fieldset { display: grid; gap: 20px; border: 0; padding: 0; margin: 0; min-width: 0; }
#equipment-editor .form-field { display: grid; gap: 8px; margin: 0; }
#equipment-editor textarea { resize: vertical; line-height: 1.6; min-height: 140px; }
#equipment-editor .equipment-note { margin: 0; }
.equipment-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.equipment-error { color: #a13d38; font-size: var(--text-14); line-height: 1.6; }
.equipment-success { color: var(--success); font-size: var(--text-14); line-height: 1.6; }
@media (max-width: 480px) {
  .equipment-heading { gap: 10px; }
  .equipment-heading h1 { font-size: var(--text-24); }
  .equipment-tools { gap: 8px; }
  .equipment-tools .button { padding: 12px; font-size: var(--text-13); }
  .equipment-tools .form-input { padding-left: 12px; }
}
