@charset "utf-8";
/* ============================================================
   Notion 스타일 검색 위젯 (customer-guide / glmsmanual 공용)
   inject-search.mjs 가 자동 생성. 수동 편집 시 재실행하면 덮어써질 수 있음.
   ============================================================ */
.search-trigger {
  position: fixed;
  top: 14px;
  right: 22px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.96);
  color: #2b4c7e;
  border: 1px solid #c9d6e8;
  border-radius: 20px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(30,53,87,.22);
  font-family: "Pretendard", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", -apple-system, "Segoe UI", Roboto, sans-serif;
}
.search-trigger:hover { background: #fff; border-color: #3f6aa8; }
.search-trigger-icon { font-size: 13px; }
.search-trigger-label { white-space: nowrap; }
.search-trigger-kbd {
  font-size: 11px; color: #7c8794; border: 1px solid #d9dfe7; border-radius: 4px;
  padding: 1px 5px; background: #eef1f5; line-height: 1.4;
}

.search-overlay {
  position: fixed; inset: 0; background: rgba(20,30,45,.55);
  z-index: 10000; display: flex; align-items: flex-start; justify-content: center;
  padding: 10vh 20px 20px;
}
.search-overlay[hidden] { display: none; }

.search-modal {
  background: #fff; width: 100%; max-width: 640px; border-radius: 10px;
  box-shadow: 0 12px 44px rgba(0,0,0,.32); overflow: hidden;
  display: flex; flex-direction: column; max-height: 72vh;
  font-family: "Pretendard", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", -apple-system, "Segoe UI", Roboto, sans-serif;
}
.search-modal-header {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-bottom: 1px solid #e2e9f3; flex: 0 0 auto;
}
.search-modal-icon { font-size: 16px; }
.search-input {
  flex: 1; border: none; outline: none; font-size: 16px; color: #313a45;
  font-family: inherit; background: transparent;
}
.search-modal-close {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; flex: 0 0 auto;
  border: none; border-radius: 50%; background: transparent; color: #7c8794;
  cursor: pointer; padding: 0; transition: background .15s, color .15s;
}
.search-modal-close:hover, .search-modal-close:focus-visible {
  background: #eef1f5; color: #33404e; outline: none;
}
.search-modal-close svg { display: block; pointer-events: none; }

.search-results { overflow-y: auto; padding: 8px; }
.search-result {
  display: block; padding: 10px 12px; border-radius: 8px; cursor: pointer;
  text-decoration: none; color: #313a45;
}
.search-result:hover, .search-result.active { background: #eef2f8; text-decoration: none; }
.search-result .sr-title { font-weight: 700; color: #2b4c7e; font-size: 14px; }
.search-result .sr-breadcrumb { font-size: 11.5px; color: #7c8794; margin-top: 1px; }
.search-result .sr-snippet { font-size: 13px; color: #55606d; margin-top: 4px; line-height: 1.55; }
.search-result mark { background: #fde9b0; color: #5a3d00; padding: 0 1px; border-radius: 2px; }

.search-empty, .search-hint {
  padding: 34px 12px; text-align: center; color: #9aa4b0; font-size: 13.5px;
}

@media (max-width: 640px) {
  .search-trigger-label, .search-trigger-kbd { display: none; }
  .search-overlay { padding: 4vh 10px 10px; }
}

@media print {
  .search-trigger, .search-overlay { display: none !important; }
}
