.global-search { width: min(720px, calc(100vw - 32px)); max-height: min(76vh, 720px); margin: 10vh auto auto; padding: 0; border: 1px solid #d9e0eb; border-radius: 12px; color: #242b38; background: #fff; box-shadow: 0 20px 70px rgb(20 30 50 / 20%); }
.global-search::backdrop { background: rgb(20 30 50 / 40%); }
.search-header { padding: 20px 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.search-header h2 { margin: 0; font-size: 18px; }
.search-header button { padding: 7px 10px; color: #687386; font-size: 13px; }
.search-field { display: grid; gap: 8px; padding: 12px 22px; font-size: 13px; color: #687386; }
.search-field input { width: 100%; padding: 12px; border: 1px solid #ccd5e1; border-radius: 7px; font: inherit; font-size: 16px; color: #242b38; }
.search-field input:focus-visible { outline: 2px solid #285ccc; outline-offset: 2px; }
.search-status { margin: 0; padding: 0 22px 12px; min-height: 30px; font-size: 13px; color: #687386; }
.search-results { list-style: none; padding: 0 10px 12px; margin: 0; max-height: 48vh; overflow-y: auto; }
.search-results li + li { border-top: 1px solid #eef1f5; }
.search-result { width: 100%; display: flex; align-items: flex-start; gap: 14px; padding: 13px 12px; line-height: 1.65; }
.search-result:focus-visible { outline-offset: -2px; }
.search-module { flex-shrink: 0; min-width: 65px; text-align: center; padding: 2px 6px; border-radius: 4px; background: #edf2fb; color: #285ccc; font-size: 12px; margin-top: 2px; }
.search-text { min-width: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.search-text mark { background: #fff0b5; color: inherit; border-radius: 2px; font-weight: 600; }
@media (max-width: 600px) { .global-search { margin-top: 5vh; max-height: 85vh; } .search-results { max-height: 58vh; } .search-header, .search-field { padding-left: 16px; padding-right: 16px; } }
