.receipt-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; list-style: none; padding: 0; margin: 1.5rem 0; }
.receipt-date-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.receipt-date-fields label { min-width: 0; }
.receipt-steps li { display: flex; flex-direction: column; gap: .4rem; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .7rem; background: #f5f7fa; color: #334155; }
.receipt-steps li.complete { border-color: #168454; background: #edf8f1; }
.receipt-steps li[aria-current="step"] { border: 2px solid #346797; }
.receipt-steps span { font-size: .82rem; }
.receipt-saved { border-top: 4px solid #238458; }
.receipt-editor { border: 2px solid #6593bc; background: #f4f8fd; }
.receipt-quantities { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; }
.receipt-quantities div { background: #f2f5f8; padding: 1rem; border-radius: .5rem; }
.receipt-quantities dt { font-size: .85rem; color: #475569; }
.receipt-quantities dd { margin: .4rem 0 0; font-size: 1.15rem; font-weight: 700; }
.criterion-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 1rem; margin: 1.5rem 0; }
.criterion-card { min-width: 0; padding: 1.1rem; border-radius: .65rem; border: 2px solid #8794a4; background: #f4f5f7; }
.criterion-card legend { padding: .3rem .5rem; font-weight: 700; font-size: 1.1rem; }
.criterion-card.conforming { border-color: #138451; background: #effaf3; }
.criterion-card.conforming legend { color: #09683e; }
.criterion-card.blocking { border-color: #c94343; background: #fff5f5; }
.criterion-card.blocking legend { color: #a82121; }
.criterion-card p { margin: .5rem 0 1rem; }
.criterion-card label { display: block; margin: .6rem 0; }
.criterion-card input:not([type="radio"]), .criterion-card textarea { display: block; max-width: 100%; width: 100%; padding: .6rem; }
.criterion-card input[type="radio"] { accent-color: #167a50; }
.criterion-card [data-criterion-status] { font-weight: 700; }
.receipt-blockers { background: #fff3f0; border-left: 4px solid #c94343; padding: 1rem; margin: 1rem 0; }
[data-document-fields] { display: grid; gap: .8rem; }
[aria-invalid="true"] { outline: 2px solid #ba2929; }
.receipt-saved td small { display: block; margin-top: .35rem; }
[data-value-row][hidden] { display: none !important; }
@media (max-width: 750px) { .receipt-steps, .receipt-date-fields { grid-template-columns: 1fr; } .receipt-steps li { flex-direction: row; justify-content: space-between; } }
