.io-printer-lookup {
    --io-ink: #182d49;
    --io-blue: #234a85;
    --io-border: #ccd7e4;
    box-sizing: border-box;
    border: 1px solid var(--io-border);
    background: #fff;
    color: var(--io-ink);
    font-family: Inter, system-ui, sans-serif;
}
.io-printer-lookup .io-lookup-panel {
    padding: clamp(1.25rem, 4vw, 2.25rem);
    background: var(--io-blue);
    color: #fff;
}
.io-printer-lookup .io-lookup-body {
    padding: 1rem clamp(1.25rem, 4vw, 2.25rem);
}
.io-printer-lookup .io-lookup-kicker {
    margin: 0 0 .35rem;
    font-size: .83rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.io-printer-lookup h2 {
    margin: 0 0 .45rem;
    font-size: clamp(1.55rem, 4vw, 2rem);
    line-height: 1.15;
    color: #fff;
}
.io-printer-lookup form { margin: 1.25rem 0 0; }
.io-printer-lookup label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 650;
}
.io-printer-lookup input,
.io-printer-lookup button {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: .6rem .75rem;
    border: 1px solid var(--io-border);
    border-radius: 0;
    background: #fff;
    color: var(--io-ink);
    font: inherit;
}
.io-printer-lookup .io-lookup-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .6rem;
}
.io-printer-lookup button {
    border-color: #fff;
    background: var(--io-ink);
    color: #fff;
    font-weight: 650;
    cursor: pointer;
}
.io-printer-lookup button:disabled { opacity: .55; cursor: default; }
.io-printer-lookup .io-lookup-suggestions {
    grid-column: 1 / -1;
    max-height: 15rem;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    color: var(--io-ink);
    border: 1px solid var(--io-border);
}
.io-printer-lookup .io-lookup-suggestions[hidden] { display: none; }
.io-printer-lookup .io-lookup-suggestions li {
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    padding: .65rem .75rem;
    border-bottom: 1px solid var(--io-border);
    overflow-wrap: anywhere;
    cursor: pointer;
}
.io-printer-lookup .io-lookup-suggestions li:last-child { border-bottom: 0; }
.io-printer-lookup .io-lookup-suggestions li[aria-selected="true"],
.io-printer-lookup .io-lookup-suggestions li:hover { background: #e6eef9; }
.io-printer-lookup .io-lookup-panel :focus-visible { outline-color: #fff; }
.io-printer-lookup :focus-visible { outline: 2px solid var(--io-blue); outline-offset: 2px; }
.io-printer-lookup .io-lookup-status:empty { margin: 0; }
.io-printer-lookup .io-lookup-status { margin: 1rem 0 .6rem; font-weight: 650; }
.io-printer-lookup .io-lookup-results h3 {
    margin: 1rem 0 .45rem;
    padding: .55rem .75rem;
    background: #18365f;
    color: #fff;
    font-size: 1.08rem;
    line-height: 1.35;
}
.io-printer-lookup .io-lookup-results ul,
.io-printer-lookup .io-lookup-supplies ul {
    display: grid;
    gap: .45rem;
    padding: 0;
    margin: 0;
    list-style: none;
}
.io-printer-lookup .io-lookup-results ul {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr));
}
.io-printer-lookup .io-lookup-results li,
.io-printer-lookup .io-lookup-supplies li { margin: 0; min-width: 0; display: flex; }
.io-printer-lookup .io-lookup-results a,
.io-printer-lookup .io-lookup-supplies a {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    padding: .68rem .75rem;
    border: 1px solid var(--io-border);
    background: #fff;
    overflow-wrap: anywhere;
}
.io-printer-lookup a > span[aria-hidden="true"] { flex: none; }
.io-printer-lookup a { color: var(--io-blue); text-decoration: underline; text-underline-offset: .15em; }
.io-printer-lookup .io-lookup-note { margin: 1rem 0 0; font-size: .93rem; }
.io-printer-lookup .io-lookup-supplies {
    margin-top: 1rem;
    padding: .9rem;
    border: 1px solid var(--io-border);
    background: #eef4fc;
}
.io-printer-lookup .io-lookup-supplies h3 {
    margin: 0 0 .6rem;
    color: var(--io-ink);
    font-size: 1.08rem;
    line-height: 1.35;
}
.io-printer-lookup .io-lookup-supplies ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.io-printer-lookup .io-lookup-supplies a { font-weight: 650; }
@media (max-width: 760px) {
    .io-printer-lookup .io-lookup-supplies ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
    .io-printer-lookup .io-lookup-controls,
    .io-printer-lookup .io-lookup-results ul { grid-template-columns: minmax(0, 1fr); }
}
