/* 現場選択（折りたたみ式・検索付き）共通スタイル。libs/site_picker.php とセットで使う */
.sitepick { position: relative; }
.sp-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: #fff; cursor: pointer; font-size: 15px; min-height: 38px; }
.sp-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-arrow { color: #8a94a3; font-size: 11px; flex-shrink: 0; }
.sp-panel { position: absolute; top: 100%; left: 0; right: 0; margin-top: 4px; background: #fff; border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.18); z-index: 30; display: none; }
.sp-panel.show { display: block; }
.sp-panel input[type=text].sp-search { width: calc(100% - 16px); margin: 8px; padding: 8px; border: 1px solid var(--border); border-radius: 6px; font-size: 15px; box-sizing: border-box; }
.sp-list { max-height: 260px; overflow-y: auto; }
.sp-item { padding: 10px 12px; cursor: pointer; border-top: 1px solid #eef1f5; font-size: 15px; }
.sp-item:hover { background: #f0f6fd; }
.sp-item.on { background: #e7f1fb; font-weight: bold; }
.sp-item .sp-code { color: #1a528e; font-weight: bold; margin-right: 6px; }
.sp-group { padding: 8px 12px; background: #f2f5f9; font-size: 12px; font-weight: bold; color: #55657a; border-top: 1px solid #e2e7ee; cursor: pointer; user-select: none; }
.sp-group .sp-toggle { float: right; color: #8a94a3; }
.sp-msg { padding: 10px 12px; font-size: 13px; color: #888; }