body {
  font-family: Arial, Helvetica, sans-serif;
  color: #000;
  background: #fff;
  max-width: 64em;
  margin: 1em auto;
  padding: 0 1em 2em;
  line-height: 1.45;
}
h1, h2 { color: #000080; font-weight: bold; }
h1 img { vertical-align: middle; margin-right: 0.25em; }
h2 { font-size: 1.15em; margin-top: 1.2em; }
a { color: #0000ee; }
a:visited { color: #551a8b; }
input, button, select, textarea {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}
#officer-roster { overflow-x: auto; margin: 0.8em 0; }
#officer-roster table { width: 100%; font-size: 0.95em; }
#officer-roster tr[data-index] { cursor: pointer; }
#officer-roster tr[data-index]:hover { background: #f4f4f4; }
#officer-roster tr.selected { background: #e8eef8; }
#officer-roster td:nth-child(4),
#officer-roster td:nth-child(5),
#officer-roster td:nth-child(6) { word-break: break-word; }
#institution-list {
  width: 100%;
  min-height: 6em;
  box-sizing: border-box;
  padding: 0.4em 0.5em;
}
label { display: inline-block; margin-right: 1em; }
hr { border: 0; border-top: 1px solid #808080; }
table { border-collapse: collapse; }
th, td { border: 1px solid #808080; padding: 2px 8px; text-align: left; }
th { background: #e0e0e0; }
.good { color: #006400; }
.mid { color: #804000; }
.none { color: #666; }
button:disabled { cursor: wait; }
details { margin: 1em 0; }
.connect-cmd {
  white-space: pre-wrap;
  word-break: break-word;
  border: 1px solid #808080;
  background: #f4f4f4;
  padding: 0.5em 0.7em;
  font-size: 0.9em;
  overflow: auto;
}
#connect-claude ol { padding-left: 1.3em; }
#connect-claude li { margin: 0.45em 0; }
#connect-claude button { margin-left: 0.4em; }
#reach-list[hidden] { display: none; }
#reach-list a { word-break: break-word; }
#thought-log {
  white-space: pre-wrap;
  word-break: break-word;
  border: 1px solid #808080;
  background: #f4f4f4;
  padding: 0.6em 0.8em;
  max-height: 28em;
  overflow: auto;
  font-size: 0.95em;
  line-height: 1.4;
}
