.printsol-trophies {
    display: grid;
    gap: 0.7em;
    margin: 0 0 1.2em;
}
.printsol-trophies fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}
.printsol-trophies legend,
.printsol-trophies .ps-field > label {
    font-weight: 600;
    margin-bottom: 0.25em;
    display: block;
}
.printsol-trophies .ps-choice label {
    display: inline-block;
    margin: 0 1em 0.3em 0;
    font-weight: 400;
}
.printsol-trophies .ps-swatch {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    margin: 0 0.9em 0.3em 0;
    cursor: pointer;
    position: relative;
}
.printsol-trophies .ps-swatch span {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.3);
    display: inline-block;
}
.printsol-trophies .ps-swatch input {
    position: absolute;
    opacity: 0;
}
.printsol-trophies .ps-swatch input:checked + span {
    outline: 2px solid #111;
    outline-offset: 2px;
}
.printsol-trophies input[type='text'] {
    width: 100%;
    max-width: 320px;
}
.printsol-trophies .ps-summary {
    margin: 0;
    font-size: 1.05em;
}

/* A team order: a row per trophy. */
.printsol-trophies .ps-team-on { display: flex; align-items: center; gap: 0.5em; font-weight: 600; }
.printsol-trophies .ps-team-rows { display: flex; flex-direction: column; gap: 0.4em; margin-top: 0.5em; }
.printsol-trophies .ps-team-row { display: flex; align-items: center; gap: 0.5em; margin: 0; }
.printsol-trophies .ps-team-n { min-width: 1.6em; font-variant-numeric: tabular-nums; opacity: 0.7; }
.printsol-trophies .ps-team-row input { flex: 1; min-width: 0; }
.printsol-trophies .ps-team-del { border: 0; background: none; font-size: 1.2em; cursor: pointer; line-height: 1; padding: 0 0.3em; }
.printsol-trophies .ps-team-add { align-self: flex-start; }
