:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #122b36; --results-height: 320px; }
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; min-width: 0; background: transparent; }
body { overflow-x: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
#header-search { display: flow-root; width: 100%; min-width: 0; }
.search-field { display: flex; align-items: center; height: 56px; width: 100%; min-width: 0; gap: 10px; border: 1px solid #bcc7cc; border-radius: 8px; background: #fff; padding: 0 6px 0 16px; }
.search-field:focus-within { border-color: #0b6876; box-shadow: inset 0 0 0 1px #0b6876; }
.search-icon { width: 21px; height: 21px; flex: 0 0 21px; color: #365661; }
#package-query { width: 100%; min-width: 0; height: 52px; border: 0; outline: 0; background: transparent; color: #122b36; font-size: 16px; line-height: 1.25; padding: 0; }
#package-query::placeholder { color: #5a6d75; opacity: 1; }
#package-query::-webkit-search-cancel-button { display: none; }
#clear-query { flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 0 8px; color: #255361; background: transparent; border: 0; border-radius: 5px; font-size: 14px; }
#clear-query:hover { background: #edf3f4; }
button:focus-visible, .package-result:focus-visible { outline: 2px solid #0b6876; outline-offset: -3px; }
.search-panel { display: flex; flex-direction: column; min-height: 0; max-height: var(--results-height); margin-top: 8px; margin-bottom: 12px; background: #fff; border: 1px solid #d5dfe2; border-radius: 8px; box-shadow: 0 4px 10px #122b3626; overflow: hidden; }
.result-status { margin: 0; padding: 12px 16px 10px; font-size: 12px; font-weight: 700; color: #5a6d75; flex: 0 0 auto; }
.results-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.package-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 12px 16px; border-top: 1px solid #e7edef; color: #122b36; text-decoration: none; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.package-result::after { content: '↗'; flex: 0 0 auto; color: #63808a; font-size: 15px; }
.package-result:hover, .package-result[aria-selected="true"] { background: #eef5f6; color: #064f5d; }
.state-message { margin: 0; padding: 12px 16px 20px; font-size: 14px; line-height: 1.5; }
.panel-action { flex: 0 0 auto; width: 100%; min-height: 44px; border: 0; border-top: 1px solid #dce6e8; background: #f5f8f8; color: #255361; font-size: 14px; font-weight: 700; }
.panel-action:hover { background: #e9f0f1; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 380px) { .search-field { padding-left: 12px; gap: 8px; } .package-result { padding-left: 12px; padding-right: 12px; } }
