/* ===== Global Search ===== */
.gsearch-wrap { position: relative; display: flex; align-items: center }
.gsearch-input { height: 30px; border: 1.5px solid var(--gray-200); border-radius: 20px; padding: 0 10px 0 32px; font-size: 12px; font-family: "DM Sans", sans-serif; color: var(--gray-800); outline: none; transition: all .2s; background: #fff; width: 160px }
.gsearch-input:focus { border-color: var(--purple); width: 240px; box-shadow: 0 0 0 3px rgba(92,26,107,.1) }
.gsearch-ico { position: absolute; left: 10px; color: var(--gray-400); pointer-events: none }
.gsearch-panel { position: absolute; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.12); width: 340px; max-height: 340px; overflow-y: auto; z-index: 700; display: none }
.gsearch-panel.open { display: block }
.sr-group-label { padding: 7px 14px 3px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--gray-400) }
.sr-item { padding: 9px 14px; cursor: pointer; border-bottom: 1px solid var(--gray-100); display: flex; align-items: center; gap: 10px; transition: background .1s }
.sr-item:last-child { border-bottom: none }
.sr-item:hover { background: var(--gray-50) }
.sr-name { font-size: 12px; font-weight: 600; color: var(--gray-800) }
.sr-meta { font-size: 10px; color: var(--gray-400); margin-top: 1px }
.sr-empty { padding: 18px; text-align: center; font-size: 12px; color: var(--gray-400) }

/* Search Banner */
.search-banner { background: #ede9fe; border: 1px solid #c4b5fd; border-radius: 8px; padding: 6px 12px; font-size: 11px; color: #6d28d9; display: none; align-items: center; gap: 8px; font-weight: 500; margin-bottom: 10px; flex-wrap: wrap }
.search-banner.on { display: flex }
