:root { color-scheme: light; font-family: system-ui, sans-serif; background: #f2f4f7; color: #17202a; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(100%, 34rem); margin: 0 auto; padding: 1rem; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 4rem; }
.card { background: white; border-radius: 1rem; padding: 1rem; margin: 1rem 0; box-shadow: 0 .15rem .6rem #0001; }
.scanner-card { text-align: center; padding-block: 2.5rem; }
.scanner-input { width: 100%; min-height: 3.5rem; font-size: 1.25rem; border: 3px solid #2864dc; border-radius: .75rem; }
button { min-height: 3.5rem; width: 100%; border: 0; border-radius: .75rem; background: #176b39; color: white; font-size: 1.1rem; font-weight: 700; }
button.secondary { background: #34495e; }
.message.error { padding: 1rem; background: #b00020; color: white; font-size: 1.4rem; font-weight: 800; }
.message.success { padding: 1rem; background: #176b39; color: white; font-size: 1.4rem; font-weight: 800; }
.message.paused { padding: 1rem; background: #fff3cd; color: #5f4800; font-weight: 800; }
.session { display: flex; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid #ddd; }
.muted { color: #5f6b76; }
.primary-link { display: block; padding: 1rem; border-radius: .75rem; background: #176b39; color: white; text-align: center; text-decoration: none; font-weight: 800; }
.filters { display: grid; gap: .8rem; }
label { display: grid; gap: .35rem; font-weight: 700; }
select, input { width: 100%; min-height: 3rem; padding: .5rem; font-size: 1rem; }
.order-card { display: grid; grid-template-columns: 1fr auto; gap: .45rem 1rem; color: inherit; text-decoration: none; }
.wide { grid-column: 1 / -1; }
.pager { display: flex; justify-content: space-between; padding: 1rem 0; }
.product-card { display: grid; grid-template-columns: minmax(7rem, 42%) 1fr; gap: 1rem; }
.product-card img, .image-placeholder { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: .75rem; background: #eef1f4; }
.image-placeholder { display: grid; place-items: center; color: #68737d; }
pre { white-space: pre-wrap; font: inherit; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.quantity { font-size: 1.5rem; }
.progress-incomplete, .progress-error { color: #b00020; font-weight: 900; }
.progress-complete { color: #176b39; font-weight: 900; }
.packaging-items { display: grid; gap: .75rem; }
.packaging-item { padding: .85rem; border: 1px solid #d8dee4; border-radius: .75rem; background: #f8fafb; }
.packaging-item h3 { margin-top: 0; }
.product-card.picked { border: 3px solid #176b39; }
.warning { color: #8a4b00; font-weight: 700; }
button.not-found { grid-column: 1 / -1; background: #8a4b00; }
button:disabled { opacity: .6; }
.market-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin: 1rem 0; }
.market-tabs.with-picking { grid-template-columns: repeat(4, 1fr); }
.market-tabs a { padding: .85rem .5rem; border-radius: .75rem; background: #fff; color: inherit; text-align: center; text-decoration: none; font-weight: 800; }
.market-tabs a.active { background: #176b39; color: white; }
.market-tabs a.picking-tab { background: #b00020; color: white; }
.market-tabs a.picking-tab.active { outline: 4px solid #ffb3be; }
.current-product img, .current-product .image-placeholder { width: 100%; max-height: 20rem; object-fit: contain; border-radius: .75rem; background: #eef1f4; }
.position-counter { font-size: 1.1rem; font-weight: 800; color: #2864dc; }
.completed-state { text-align: center; border: 3px solid #176b39; }
.conflict-message button { margin-top: .75rem; background: white; color: #b00020; }
.order-number { font-size: 1.2rem; }
.picking-order-card { border-left: .5rem solid #2864dc; }

.slot-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.slot-choice { min-height: 4rem; font-size: 1.15rem; }
.verification-card img { width: 100%; max-height: 24rem; object-fit: contain; }
.bundle-confirmation { display: flex; gap: .75rem; align-items: center; padding: 1rem 0; font-size: 1.1rem; }
.problem-panel { margin-top: 1.5rem; padding: 1rem; border: 2px solid #b42318; border-radius: .75rem; background: #fff5f5; }
.problem-panel h3 { color: #b42318; margin-top: 0; }
.problem-link { background: transparent; color: #b42318; border: 1px solid #b42318; min-height: 2.75rem; }
.incident-dialog { max-width: 32rem; border: 3px solid #b42318; border-radius: .75rem; }
.incident-dialog::backdrop { background: rgba(0, 0, 0, .55); }
.danger { background: #b42318; color: white; }
.label-verified-state { border-color: #176b39; }
