/* kaigoForm.css — 介護事業所版イチサンフォーム ウィジェット */
.kf-input.kf-loading {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><circle cx='8' cy='8' r='6' fill='none' stroke='%239aa0a6' stroke-width='2' stroke-dasharray='28' stroke-dashoffset='10'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.kf-dropdown {
  position: absolute;
  z-index: 2147483000;
  box-sizing: border-box;
  max-width: min(560px, calc(100vw - 16px));
  max-height: 360px;
  overflow-y: auto;
  background: #fff;
  color: #1f2328;
  border: 1px solid #d0d7de;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Segoe UI", Roboto, sans-serif;
  text-align: left;
}
.kf-dropdown[hidden] { display: none; }
.kf-dropdown.kf-inline { position: static; width: 100%; max-width: none; margin-top: 4px; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }
.kf-item { padding: 9px 12px; cursor: pointer; border-top: 1px solid #f0f2f4; }
.kf-item:first-child { border-top: 0; }
.kf-item[aria-selected="true"] { background: #eef4ff; }
.kf-line1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kf-name { font-weight: 600; }
.kf-name mark { background: #fff2a8; color: inherit; padding: 0 1px; border-radius: 2px; }
.kf-badge { display: inline-block; font-size: 11px; line-height: 1.2; padding: 3px 7px; border-radius: 999px; background: #e7f0ff; color: #1f4ea1; white-space: nowrap; }
.kf-badge-more { background: #f1f3f5; color: #57606a; }
.kf-line2 { color: #57606a; font-size: 12.5px; margin-top: 2px; }
.kf-line3 { display: flex; gap: 12px; flex-wrap: wrap; color: #6e7781; font-size: 11.5px; margin-top: 2px; }
.kf-no { font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }
/* 入力欄にフォーカスしたときだけ出る案内。既定は非表示 */
.kf-hint { display: none; margin-top: 4px; padding: 8px 11px; font-size: 12.5px; line-height: 1.5; color: #0b4f9e; background: #eaf3ff; border: 1px solid #cfe2ff; border-radius: 6px; }
.kf-hint-on { display: block; }

.kf-empty { padding: 12px; color: #57606a; font-size: 13px; }
.kf-empty small { display: block; margin-top: 4px; font-size: 11.5px; color: #8c959f; }
.kf-footer { padding: 6px 12px; font-size: 10.5px; color: #8c959f; border-top: 1px solid #f0f2f4; background: #fafbfc; position: sticky; bottom: 0; }
.sf_status { font-size: 13px; }
.sf_status[data-state="found"] { color: #1a7f37; }
.sf_status[data-state="new"] { color: #0969da; }
.sf_status[data-state="related"] { color: #9a6700; }
.sf_status[data-state="error"] { color: #cf222e; }
.sf_status[data-state="loading"] { color: #6e7781; }
@media (prefers-color-scheme: dark) {
  .kf-dropdown { background: #1c2128; color: #e6edf3; border-color: #3d444d; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5); }
  .kf-item { border-top-color: #2d333b; }
  .kf-item[aria-selected="true"] { background: #1f3555; }
  .kf-name mark { background: #7a5b00; }
  .kf-badge { background: #1f3555; color: #9ec1ff; }
  .kf-badge-more { background: #2d333b; color: #adbac7; }
  .kf-hint { color: #a9c9f5; background: #15243a; border-color: #26405f; }
  .kf-line2, .kf-empty { color: #adbac7; }
  .kf-line3 { color: #8b949e; }
  .kf-footer { background: #161b22; border-top-color: #2d333b; color: #8b949e; }
}
