:root { font-family: system-ui, -apple-system, "Noto Sans KR", sans-serif; color: #172033; background: #f5f6fa; }
* { box-sizing: border-box; }
body { margin: 0; padding: 12px 12px 28px; }
[hidden] { display: none !important; }
main { width: 100%; max-width: 560px; margin: 0 auto; }
header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 14px; }
h1 { font-size: 23px; margin: 0; }
header a { font-size: 14px; padding: 10px 14px; color: #334155; background: white; border: 1px solid #cbd5e1; border-radius: 9px; text-decoration: none; }
.card { margin: 10px 0; padding: 14px; border: 1px solid #dce2ea; border-radius: 12px; background: white; }
.field-label { display: block; font-size: 14px; font-weight: 700; margin: 0 0 7px; }
.input-row { display: flex; align-items: stretch; gap: 8px; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; min-width: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: white; padding: 11px 10px; font-size: 17px; color: #172033; }
input[readonly] { background: #f1f5f9; font-weight: 700; }
input:focus, select:focus, textarea:focus, button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 1px; }
input:disabled, select:disabled, textarea:disabled { background: #f1f5f9; color: #64748b; }
button { border: 0; border-radius: 8px; padding: 11px 14px; min-height: 46px; background: #334155; color: white; font-size: 15px; font-weight: 700; cursor: pointer; }
.input-row button { flex: 0 0 auto; }
button:disabled { opacity: .5; cursor: default; }
.notice { margin: 8px 0; padding: 11px 12px; background: #eaf1f9; border-radius: 8px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.notice.error { background: #fff1f2; color: #9f1239; }
.notice p { margin: 5px 0; }
.success { background: #ecfdf5; border-color: #86d8b1; }
.success h2 { font-size: 17px; margin: 0 0 7px; color: #166534; }
.success p { margin: 5px 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.item-line { margin: 0 0 7px; font-size: 14px; }
#product-name { margin: 0 0 6px; font-size: 16px; font-weight: 700; line-height: 1.45; }
#pack-info { color: #64748b; font-size: 13px; margin: 0 0 12px; }
.stock-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.stock-grid div { padding: 11px; border-radius: 8px; background: #f1f5f9; }
.stock-grid span { display: block; color: #475569; font-size: 12px; margin-bottom: 5px; }
.stock-grid strong { font-size: 21px; color: #b45309; }
.quantity-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; margin-bottom: 12px; }
.conversion { display: flex; justify-content: space-between; align-items: center; margin: 10px 0 4px; font-size: 14px; }
.conversion strong { font-size: 22px; }
#quantity-hint { color: #b91c1c; font-size: 13px; margin: 8px 0; }
textarea { font-size: 15px; resize: vertical; }
#submit-movement, #retry-movement { width: 100%; font-size: 17px; padding: 14px; }
body[data-defect-mode="inbound"] #submit-movement { background: #c73e45; }
body[data-defect-mode="outbound"] #submit-movement { background: #b32d3c; }
#retry-movement { background: #9a3412; margin-top: 8px; }
