.dujin-article .sfm-figure {
  margin: 32px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #18334b;
}
.dujin-article .sfm-figure figcaption {
  margin: 0 0 12px;
  color: #18334b;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.5;
}
.dujin-article .sfm-figure p { margin: 8px 0 14px; line-height: 1.6; }
.sfm-axis {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 8px;
  color: #365672;
  font-size: .82rem;
  font-weight: 700;
}
.sfm-axis span:last-child { text-align: right; }
.sfm-frame,
.sfm-capacity {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.sfm-frame { grid-template-columns: 1fr 3fr; }
.sfm-capacity { grid-template-columns: 3fr 2fr; margin: 8px 0 0 25%; padding-left: 4px; }
.sfm-frame > div,
.sfm-capacity > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid #aec2d4;
  border-radius: 8px;
  background: #e7eef5;
}
.sfm-frame .sfm-reserved { background: #e6f0e9; border-color: #91bda7; }
.sfm-capacity .sfm-usable { background: #dceee5; border-color: #91bda7; }
.sfm-capacity .sfm-held { background: #f8edda; border: 2px dashed #c69d57; }
.sfm-frame small,
.sfm-capacity small {
  display: block;
  margin-bottom: 7px;
  color: #244059;
  font-size: .77rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.sfm-frame strong,
.sfm-capacity strong { display: block; font-size: .92rem; line-height: 1.45; }
.sfm-frame span,
.sfm-capacity span { display: block; margin-top: 6px; font-size: .81rem; line-height: 1.5; }
.dujin-article .sfm-figure .sfm-budget-title { margin: 17px 0 6px; font-weight: 700; }
.sfm-deductions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sfm-deductions li {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d5c19d;
  border-radius: 8px;
  background: #fff7e9;
  font-size: .85rem;
  line-height: 1.5;
}
.sfm-deductions code { white-space: normal; overflow-wrap: anywhere; }
.dujin-article .sfm-figure .sfm-formula {
  margin: 16px 0 8px;
  padding: 10px 12px;
  border-left: 3px solid #4b779b;
  background: #fff;
}
.sfm-formula code { white-space: normal; overflow-wrap: anywhere; }
.dujin-article .sfm-figure .sfm-note { margin-bottom: 0; font-size: .85rem; }
@media (max-width: 640px) {
  .sfm-frame,
  .sfm-capacity,
  .sfm-deductions { grid-template-columns: 1fr; }
  .sfm-capacity { margin-left: 0; padding-left: 0; }
  .sfm-axis { align-items: flex-start; }
}
@media print {
  .dujin-article .sfm-figure { break-inside: avoid; background: #fff; }
}
