.bo-lookup { margin: 24px 0; padding: 24px; border: 1px solid #b7cddf; border-radius: 8px; background: #f5faff; }
.bo-lookup h2 { margin: 0 0 20px; font-size: 24px; }
.bo-lookup label { display: block; margin-bottom: 8px; font-weight: 600; }
.bo-search { display: flex; gap: 10px; }
.bo-search input { width: 100%; min-width: 0; padding: 12px; font: inherit; font-size: 16px; border: 1px solid #8ba6bd; border-radius: 4px; background: white; }
.bo-search .btn { flex-shrink: 0; }
.bo-service-action { margin: 18px 0; }
.bo-service-action .btn { max-width: 100%; min-height: 48px; white-space: normal; text-align: center; }
.bo-source { font-size: 13px; color: #526170; line-height: 1.6; }
#bo-status { line-height: 1.6; white-space: pre-line; }
#bo-status[data-state] { padding: 18px 20px; border: 1px solid; border-left-width: 5px; border-radius: 6px; font-size: 17px; font-weight: 700; text-align: justify; text-align-last: left; text-justify: inter-word; }
#bo-status[data-state="found"] { color: #a41422; background: #fff0f1; border-color: #ce3444; }
#bo-status[data-state="clear"] { color: #11603b; background: #edf9f1; border-color: #268855; }
.bo-result { border-top: 1px solid #b7cddf; padding: 20px 0; }
.bo-result h3 { margin: 0 0 12px; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; text-align: left; }
.bo-result dl { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 14px; line-height: 1.6; }
.bo-result dt { color: #526170; }
.bo-result dd { margin: 0; overflow-wrap: anywhere; text-align: left; }
.bo-source, .bo-result h3, .bo-result dd:nth-of-type(5) { text-align: justify; text-align-last: left; text-justify: inter-word; }
.bo-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; }
.bo-pagination[hidden] { display: none; }
.bo-pagination button { width: 44px; height: 44px; border: 1px solid #8ba6bd; background: white; border-radius: 4px; font-size: 22px; cursor: pointer; }
.bo-pagination button:disabled { opacity: .4; cursor: default; }
.bo-lookup :focus-visible { outline: 3px solid #1477ad; outline-offset: 3px; }
@media (max-width: 600px) {
  .bo-lookup { padding: 16px; }
  .bo-search { flex-direction: column; }
  .bo-result dl { grid-template-columns: 1fr; gap: 3px; }
  .bo-result dd { margin-bottom: 9px; }
}
