.mobile-order-entry { display: grid; gap: .55rem; margin: .75rem 0; }
.mobile-order-entry button { min-height: 48px; white-space: normal; }
.mobile-order-draft-list { display: grid; gap: .5rem; }
.mobile-order-editor { width: min(42rem, calc(100vw - 1rem)); max-height: calc(100dvh - 1rem); padding: 0; border: 1px solid #d7d9d4; border-radius: 1rem; background: #fff; color: #172126; overflow: auto; overscroll-behavior: contain; }
.mobile-order-editor::backdrop { background: #17212699; }
.mobile-order-editor form { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.mobile-order-editor .dialog-header, .mobile-order-editor .dialog-actions { padding: .85rem 1rem; background: #fff; flex-shrink: 0; }
.mobile-order-editor .dialog-header { border-bottom: 1px solid #e5e7e2; }
.mobile-order-editor .dialog-header h2 { margin: 0; font-size: 1.25rem; }
.mobile-order-editor .dialog-actions { position: sticky; bottom: 0; display: flex; gap: .6rem; flex-wrap: wrap; border-top: 1px solid #e5e7e2; padding-bottom: max(.85rem, env(safe-area-inset-bottom)); z-index: 1; }
.mobile-order-editor .dialog-actions button { flex: 1 1 9rem; }
.mobile-order-editor button, .mobile-order-editor input, .mobile-order-editor select, .mobile-order-vitals input, .mobile-order-vitals select { min-height: 48px; }
.mobile-order-editor button, .mobile-order-editor summary, .mobile-order-editor legend { white-space: normal; overflow-wrap: anywhere; }
.mobile-order-editor label, .mobile-order-vitals label { display: grid; gap: .4rem; min-width: 0; }
.mobile-order-editor textarea { min-height: 5rem; resize: vertical; }
.mobile-order-editor input, .mobile-order-editor select, .mobile-order-editor textarea, .mobile-order-vitals input, .mobile-order-vitals select { width: 100%; min-width: 0; box-sizing: border-box; }
.mobile-order-body { display: grid; gap: .85rem; padding: 1rem; min-width: 0; }
.mobile-order-progress { margin: 0; color: #706135; font-weight: 650; }
.mobile-order-options { display: grid; gap: .55rem; max-height: 19rem; overflow-y: auto; border: 1px solid #d7d9d4; border-radius: .7rem; padding: .5rem; }
.mobile-order-option { display: flex; gap: .7rem; align-items: center; text-align: left; padding: .65rem; background: #fff; border: 1px solid #d7d9d4; border-radius: .6rem; }
.mobile-order-option input { width: 1.25rem; min-height: 1.25rem; flex: 0 0 1.25rem; }
.mobile-order-option span { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; }
.mobile-order-option small, .mobile-order-hint { color: #5f6463; font-size: .9rem; line-height: 1.5; }
.mobile-order-line { display: grid; grid-template-columns: 1fr auto; gap: .65rem; padding: .8rem; border: 1px solid #d7d9d4; border-radius: .7rem; }
.mobile-order-line strong, .mobile-order-line p { grid-column: 1 / -1; margin: 0; overflow-wrap: anywhere; }
.mobile-order-line .mobile-order-quantity { display: grid; grid-template-columns: minmax(5rem, .7fr) minmax(5rem, 1fr); gap: .6rem; }
.mobile-order-line .mobile-order-remove { align-self: end; }
.mobile-order-review { margin: 0; padding-left: 1.25rem; display: grid; gap: .8rem; }
.mobile-order-review li, .mobile-order-history p { white-space: pre-wrap; overflow-wrap: anywhere; }
.mobile-order-feedback, .mobile-order-error { margin: 0; padding: 0 1rem .8rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.mobile-order-feedback { color: #275e4d; }
.mobile-order-error { color: #9b2332; }
.mobile-order-error:empty, .mobile-order-feedback:empty { display: none; }
.mobile-order-vitals { margin-top: .9rem; border: 1px solid #d7d9d4; border-radius: .7rem; padding: .8rem; }
.mobile-order-vitals summary { min-height: 44px; align-content: center; cursor: pointer; font-weight: 650; }
.mobile-order-vitals-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.mobile-order-vitals-grid .full { grid-column: 1 / -1; }
.mobile-order-draft-status { font-size: .9rem; color: #5f6463; line-height: 1.45; }
.mobile-order-history { display: grid; gap: .6rem; }
.mobile-order-history article { border-top: 1px solid #d7d9d4; padding-top: .6rem; }
@media (max-width: 430px) {
  #assistant-screen .assistant-summary > span { flex-direction: column; align-items: stretch; gap: .3rem; overflow-wrap: normal; word-break: normal; }
  #assistant-screen .assistant-summary > span > strong { text-align: left; overflow-wrap: break-word; word-break: normal; }
}
@media (max-width: 360px) {
  .mobile-order-vitals-grid { grid-template-columns: minmax(0, 1fr); }
  .mobile-order-line { grid-template-columns: minmax(0, 1fr); }
  .mobile-order-editor .dialog-actions button { flex-basis: 100%; }
}
