.deck-fulfillment { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #75b3ad66; color: inherit; min-width: 0; }
.deck-fulfillment, .deck-fulfillment * { box-sizing: border-box; letter-spacing: 0; }
.deck-fulfillment h3 { margin: 1rem 0 .75rem; font-size: 21px; }
.deck-fulfillment h4 { margin: .75rem 0; font-size: 17px; }
.deck-fulfillment section { padding: .5rem 0 1rem; border-bottom: 1px solid #75b3ad44; }
.deck-fulfillment-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.deck-fulfillment .btn { min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; border-radius: 6px; }
.deck-fulfillment-status { min-height: 1.5em; overflow-wrap: anywhere; }
.deck-fulfillment-status[data-kind=error] { color: #ffbbc5; }
.deck-build-timeline { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: .75rem 0; gap: .5rem 1rem; }
.deck-build-timeline li { flex: 1 1 110px; font-size: 13px; border-top: 3px solid #718491; padding: .65rem .25rem; min-width: 0; overflow-wrap: anywhere; }
.deck-build-timeline li[data-state=current] { border-color: #f5e27c; font-weight: 800; }
.deck-build-timeline li[data-state=complete] { border-color: #87dfba; }
.deck-fulfillment-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.deck-fulfillment-fact { min-width: 0; }
.deck-fulfillment-fact dt { font-size: 12px; opacity: .8; }
.deck-fulfillment-fact dd { margin: .2rem 0 0; font-size: 15px; font-weight: 650; overflow-wrap: anywhere; }
.deck-fulfillment-card-list { padding: 0; list-style: none; max-height: 420px; overflow: auto; margin: .6rem 0; }
.deck-fulfillment-card-list li { padding: .65rem 0; border-bottom: 1px solid #75b3ad44; overflow-wrap: anywhere; }
.deck-fulfillment-card-list strong,.deck-fulfillment-card-list small { display: block; }
.deck-fulfillment-card-list small { margin-top: .25rem; opacity: .85; font-size: 12px; }
.deck-fulfillment details > summary { min-height: 44px; cursor: pointer; padding: .65rem 0; font-weight: 650; }
.deck-fulfillment-form { display: grid; gap: .8rem; padding: 1rem 0; min-width: 0; }
.deck-fulfillment-form label { display: grid; gap: .35rem; min-width: 0; font-size: 14px; }
.deck-fulfillment-form label:not(.deck-fulfillment-check) > input { order: 1; }
.deck-fulfillment-form input:not([type=checkbox]),.deck-fulfillment-form select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #a0c9ca; border-radius: 6px; padding: .6rem; background: #fff; color: #132e37; font: inherit; }
.deck-fulfillment-form input[type=checkbox] { flex: 0 0 22px; width: 22px; height: 22px; accent-color: #73d7b7; }
.deck-fulfillment-form .deck-fulfillment-check { display: flex; align-items: flex-start; gap: .6rem; line-height: 1.5; }
.deck-fulfillment-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.deck-received-counts { display: grid; grid-template-columns: minmax(0,1fr); gap: .5rem; max-height: 400px; overflow: auto; }
.deck-received-counts label { display: grid; grid-template-columns: minmax(0,1fr) 90px; align-items: center; gap: .75rem; }
.deck-received-counts label input { order: 1; }
.deck-printing-changes fieldset { border: 1px solid #75b3ad66; border-radius: 6px; padding: .75rem; margin: .75rem 0; min-width: 0; }
.deck-printing-changes legend { max-width: 100%; overflow-wrap: anywhere; }
.deck-passport-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: .75rem; }
.deck-passport-photos img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #090d12; border: 1px solid #75b3ad66; border-radius: 4px; }
.deck-checkout-blockers { line-height: 1.5; padding-left: 1.25rem; }
.deck-fulfillment-note { border-left: 3px solid #f5e27c; padding-left: .75rem; overflow-wrap: anywhere; }
.deck-fulfillment :focus-visible { outline: 3px solid #f5e27c; outline-offset: 3px; }
.deck-fulfillment [hidden] { display: none !important; }
@media (max-width:600px) { .deck-fulfillment-facts,.deck-fulfillment-fields,.deck-passport-photos { grid-template-columns: minmax(0,1fr); } .deck-build-timeline li { flex-basis: 90px; } .deck-received-counts label { grid-template-columns: minmax(0,1fr) 76px; } .deck-fulfillment h3 { font-size: 19px; } }
